summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-07-20 00:01:55 +0000
committerroot <root@rshg054.dnsready.net>2012-07-20 00:01:55 +0000
commit226ac092dca4754b7b5a421e226c5971e3b607b2 (patch)
tree796c17bdf61c132bbe79e010febb2bca54e85c0e /libre
parent6b87f8519dc037f4fd4c19d8f36b7d7565559bd3 (diff)
Fri Jul 20 00:01:55 UTC 2012
Diffstat (limited to 'libre')
-rw-r--r--libre/blender-libre/PKGBUILD2
-rw-r--r--libre/cups-filters-libre/PKGBUILD34
-rw-r--r--libre/cups-filters-libre/buildfix_dlopen.diff31
-rw-r--r--libre/cups-filters-libre/buildfix_poppler.diff224
-rw-r--r--libre/icecat/PKGBUILD4
-rw-r--r--libre/icecat/libre.patch412
-rw-r--r--libre/iceweasel-i18n/PKGBUILD176
-rw-r--r--libre/iceweasel-libre/PKGBUILD8
-rw-r--r--libre/iceweasel-libre/libre.patch424
-rw-r--r--libre/luxrender-libre/PKGBUILD14
-rw-r--r--libre/luxrender-libre/boost_1.50_fix.diff131
-rw-r--r--libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch152
-rw-r--r--libre/pacman/0002-Check-empty-subdirectory-ownership.patch61
-rw-r--r--libre/pacman/PKGBUILD36
-rw-r--r--libre/pacman/pacman.conf25
-rw-r--r--libre/pacman/pacman.conf.mips64el31
-rw-r--r--libre/pacman/pacman.conf.x86_6427
-rw-r--r--libre/pacman/pacman.install11
-rw-r--r--libre/pacman/rePKGBUILD37
-rw-r--r--libre/parabola-keyring/PKGBUILD20
-rw-r--r--libre/parabola-keyring/parabola-keyring.install11
-rw-r--r--libre/sdl-libre/PKGBUILD6
-rw-r--r--libre/virtualbox-modules/PKGBUILD2
23 files changed, 955 insertions, 924 deletions
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
index b4ba9f827..2788e21d9 100644
--- a/libre/blender-libre/PKGBUILD
+++ b/libre/blender-libre/PKGBUILD
@@ -4,7 +4,7 @@
_pkgname=blender
pkgname=blender-libre
pkgver=2.63a
-pkgrel=3
+pkgrel=4
epoch=4
pkgdesc="A fully integrated 3D graphics creation suite (without nonfree cuda-toolkit support)"
arch=('i686' 'x86_64' 'mips64el')
diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD
index 662ed4d1a..1f4ba1f6e 100644
--- a/libre/cups-filters-libre/PKGBUILD
+++ b/libre/cups-filters-libre/PKGBUILD
@@ -1,37 +1,51 @@
-# $Id$
+# $Id: PKGBUILD 163769 2012-07-19 15:52:39Z andyrtr $
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
pkgname=cups-filters-libre
_pkgname=cups-filters
-pkgver=1.0.18
-pkgrel=3
+pkgver=1.0.19
+pkgrel=1
pkgdesc="OpenPrinting CUPS Filters"
arch=('i686' 'x86_64')
url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting"
license=('GPL')
depends=('lcms2' 'poppler>=0.20.1')
-makedepends=('ghostscript')
+makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check
optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images'
'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly'
'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly')
backup=(etc/fonts/conf.d/99pdftoopvp.conf)
-source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz)
-md5sums=(63972b426b7224915cdbb42b2a937374'')
-
+options=(!libtool)
+source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz
+ buildfix_poppler.diff
+ buildfix_dlopen.diff)
+md5sums=('e3c9ad58ec005eda2f0ac2f3190a63b3'
+ 'b3d5b60a50568d06d1ef43c285ce7802'
+ '8b0c8874ef5c985287cada55db75d8d1')
replaces=("${_pkgname}")
conflicts=("${_pkgname}")
provides=("${_pkgname}=${pkgver}")
build() {
cd "$srcdir/$_pkgname-$pkgver"
- ./configure --prefix=/usr --sysconfdir=/etc
+ # https://bugs.linuxfoundation.org/show_bug.cgi?id=1055
+ patch -Np0 -i ${srcdir}/buildfix_poppler.diff
+ patch -Np0 -i ${srcdir}/buildfix_dlopen.diff
+ autoreconf -v
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf
make
}
+check() {
+ cd "$srcdir/$_pkgname-$pkgver"
+ make -k check
+}
+
package() {
cd "$srcdir/$_pkgname-$pkgver"
- #make DESTDIR="$pkgdir/" install
- make install BUILDROOT="$pkgdir/"
+ make DESTDIR="$pkgdir/" install
# drop static lib
rm -f ${pkgdir}/usr/lib/*.a
}
diff --git a/libre/cups-filters-libre/buildfix_dlopen.diff b/libre/cups-filters-libre/buildfix_dlopen.diff
new file mode 100644
index 000000000..eea5f506c
--- /dev/null
+++ b/libre/cups-filters-libre/buildfix_dlopen.diff
@@ -0,0 +1,31 @@
+=== modified file 'Makefile.am'
+--- Makefile.am 2012-06-22 15:40:53 +0000
++++ Makefile.am 2012-07-19 09:36:30 +0000
+@@ -329,7 +329,8 @@
+ $(FREETYPE_LIBS) \
+ $(FONTCONFIG_LIBS) \
+ $(LIBPNG_LIBS) \
+- $(POPPLER_LIBS)
++ $(POPPLER_LIBS) \
++ $(DLOPEN_LIBS)
+
+ EXTRA_DIST += $(pkgfontconfig_DATA)
+
+=== modified file 'configure.ac'
+--- configure.ac 2012-07-19 14:02:32 +0000
++++ configure.ac 2012-07-19 14:39:25 +0000
+@@ -110,6 +110,13 @@
+ AC_DEFINE(PDFTOPDF, [], [Needed for pdftopdf filter compilation])
+ AC_DEFINE_DIR(BANNERTOPDF_DATADIR, "{CUPS_DATADIR}/data", [Directory where bannertopdf finds its data files (PDF templates)])
+
++AC_SEARCH_LIBS([dlopen],
++ [dl],
++ DLOPEN_LIBS="-ldl",
++ AC_MSG_ERROR([unable to find the dlopen() function])
++)
++AC_SUBST(DLOPEN_LIBS)
++
+ # ======================
+ # Check system functions
+ # ======================
+
diff --git a/libre/cups-filters-libre/buildfix_poppler.diff b/libre/cups-filters-libre/buildfix_poppler.diff
new file mode 100644
index 000000000..6f3cbc0b3
--- /dev/null
+++ b/libre/cups-filters-libre/buildfix_poppler.diff
@@ -0,0 +1,224 @@
+=== modified file 'NEWS'
+--- NEWS 2012-07-11 19:48:23 +0000
++++ NEWS 2012-07-19 14:02:32 +0000
+@@ -1,6 +1,11 @@
+-NEWS - OpenPrinting CUPS Filters v1.0.19 - 2012-07-11
++NEWS - OpenPrinting CUPS Filters v1.0.20 - 2012-07-19
+ -----------------------------------------------------
+
++CHANGES IN V1.0.20
++
++ - Made the Poppler-based filters pdftopdf and pdftoopvp build with
++ both Poppler 0.18.x and 0.20.x (Bug #1055).
++
+ CHANGES IN V1.0.19
+
+ - Fixes according to Coverity scan results (Bug #1054).
+
+=== modified file 'configure.ac'
+--- configure.ac 2012-07-11 19:48:23 +0000
++++ configure.ac 2012-07-19 14:02:32 +0000
+@@ -202,6 +202,7 @@
+ # ================
+ POPPLER_INCLUDEDIR=`pkg-config poppler --variable includedir`
+ AC_CHECK_HEADER([UGooString.h], [AC_DEFINE([HAVE_UGOOSTRING_H],,[Have UGooString.h])], [])
++AC_CHECK_HEADER([poppler/cpp/poppler-version.h], [AC_DEFINE([HAVE_CPP_POPPLER_VERSION_H],,[Define if you have Poppler's "cpp/poppler-version.h" header file.])], [])
+ # FIXME:
+ # Use proper c compile check not greps and then just link again poppler with all the features
+ # instead of this and all the libs.
+
+=== modified file 'filter/PDFError.h'
+--- filter/PDFError.h 2012-03-29 14:06:07 +0000
++++ filter/PDFError.h 2012-07-19 14:02:32 +0000
+@@ -31,6 +31,9 @@
+ #include <config.h>
+ #include <stdarg.h>
+ #include <Error.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+
+ #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
+ #define pdfError(pos,...) error(errInternal,pos,__VA_ARGS__)
+
+=== modified file 'filter/pdftoijs.cxx'
+--- filter/pdftoijs.cxx 2012-06-04 16:46:44 +0000
++++ filter/pdftoijs.cxx 2012-07-19 14:02:32 +0000
+@@ -30,6 +30,9 @@
+ #include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include <goo/GooString.h>
+ #include <goo/gmem.h>
+ #include <Object.h>
+
+=== modified file 'filter/pdftoopvp/OPVPError.h'
+--- filter/pdftoopvp/OPVPError.h 2012-03-29 14:06:07 +0000
++++ filter/pdftoopvp/OPVPError.h 2012-07-19 14:02:32 +0000
+@@ -31,6 +31,9 @@
+ #include <config.h>
+ #include <stdarg.h>
+ #include <Error.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+
+ #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
+ #define opvpError(pos,...) error(errInternal,pos,__VA_ARGS__)
+
+=== modified file 'filter/pdftoopvp/OPVPOutputDev.cxx'
+--- filter/pdftoopvp/OPVPOutputDev.cxx 2012-03-29 09:42:35 +0000
++++ filter/pdftoopvp/OPVPOutputDev.cxx 2012-07-19 14:02:32 +0000
+@@ -8,6 +8,9 @@
+ //========================================================================
+
+ #include <config.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+
+ #ifdef USE_GCC_PRAGMAS
+ #pragma implementation
+
+=== modified file 'filter/pdftoopvp/oprs/OPVPSplash.cxx'
+--- filter/pdftoopvp/oprs/OPVPSplash.cxx 2012-03-29 09:42:35 +0000
++++ filter/pdftoopvp/oprs/OPVPSplash.cxx 2012-07-19 14:02:32 +0000
+@@ -5,6 +5,9 @@
+ //========================================================================
+
+ #include <config.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+
+ #ifdef USE_GCC_PRAGMAS
+ #pragma implementation
+
+=== modified file 'filter/pdftoopvp/oprs/OPVPSplashState.cxx'
+--- filter/pdftoopvp/oprs/OPVPSplashState.cxx 2012-03-29 09:42:35 +0000
++++ filter/pdftoopvp/oprs/OPVPSplashState.cxx 2012-07-19 14:02:32 +0000
+@@ -11,6 +11,9 @@
+ #endif
+
+ #include <string.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "goo/gmem.h"
+ #include "splash/SplashPattern.h"
+ #include "splash/SplashScreen.h"
+
+=== modified file 'filter/pdftoopvp/oprs/OPVPSplashState.h'
+--- filter/pdftoopvp/oprs/OPVPSplashState.h 2012-03-29 09:42:35 +0000
++++ filter/pdftoopvp/oprs/OPVPSplashState.h 2012-07-19 14:02:32 +0000
+@@ -11,6 +11,9 @@
+ #pragma interface
+ #endif
+
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "splash/SplashTypes.h"
+ #include "splash/SplashState.h"
+ #include "splash/Splash.h"
+
+=== modified file 'filter/pdftoopvp/oprs/OPVPSplashXPath.cxx'
+--- filter/pdftoopvp/oprs/OPVPSplashXPath.cxx 2012-03-29 09:42:35 +0000
++++ filter/pdftoopvp/oprs/OPVPSplashXPath.cxx 2012-07-19 14:02:32 +0000
+@@ -1,5 +1,8 @@
+ #include <config.h>
+ #include <stdio.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "splash/Splash.h"
+ #include "splash/SplashMath.h"
+ #include "OPVPSplashClip.h"
+
+=== modified file 'filter/pdftoopvp/oprs/OPVPSplashXPath.h'
+--- filter/pdftoopvp/oprs/OPVPSplashXPath.h 2012-03-29 09:42:35 +0000
++++ filter/pdftoopvp/oprs/OPVPSplashXPath.h 2012-07-19 14:02:32 +0000
+@@ -2,6 +2,9 @@
+ #define OPVPSPLASHXPATH_H
+
+ #include <config.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "splash/SplashXPath.h"
+ #include "OPVPSplashPath.h"
+ #include "OPVPSplashState.h"
+
+=== modified file 'filter/pdftoopvp/pdftoopvp.cxx'
+--- filter/pdftoopvp/pdftoopvp.cxx 2012-06-04 16:46:44 +0000
++++ filter/pdftoopvp/pdftoopvp.cxx 2012-07-19 14:02:32 +0000
+@@ -13,6 +13,9 @@
+ #include <unistd.h>
+ #include <ctype.h>
+ #include <math.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "goo/GooString.h"
+ #define GSTRING_H // for old GooString.h
+ #include "goo/gmem.h"
+
+=== modified file 'filter/pdftopdf/P2PError.h'
+--- filter/pdftopdf/P2PError.h 2012-03-29 14:06:07 +0000
++++ filter/pdftopdf/P2PError.h 2012-07-19 14:02:32 +0000
+@@ -31,6 +31,9 @@
+ #include <config.h>
+ #include <stdarg.h>
+ #include <Error.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+
+ #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
+ #define p2pError(pos,...) error(errInternal,pos,__VA_ARGS__)
+
+=== modified file 'filter/pdftopdf/P2PFont.cxx'
+--- filter/pdftopdf/P2PFont.cxx 2012-03-29 09:42:35 +0000
++++ filter/pdftopdf/P2PFont.cxx 2012-07-19 14:02:32 +0000
+@@ -32,6 +32,9 @@
+ #include <sys/types.h>
+ #include <unistd.h>
+ #include <fcntl.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "goo/gmem.h"
+ #include "P2PFont.h"
+ #include "GfxFont.h"
+
+=== modified file 'filter/pdftopdf/pdftopdf.cxx'
+--- filter/pdftopdf/pdftopdf.cxx 2012-06-04 16:46:44 +0000
++++ filter/pdftopdf/pdftopdf.cxx 2012-07-19 14:02:32 +0000
+@@ -29,6 +29,9 @@
+ #include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "goo/GooString.h"
+ #include "goo/gmem.h"
+ #include "Object.h"
+
+=== modified file 'filter/pdftoraster.cxx'
+--- filter/pdftoraster.cxx 2012-06-04 16:46:44 +0000
++++ filter/pdftoraster.cxx 2012-07-19 14:02:32 +0000
+@@ -31,6 +31,9 @@
+ #include <config.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#ifdef HAVE_CPP_POPPLER_VERSION_H
++#include "cpp/poppler-version.h"
++#endif
+ #include "goo/GooString.h"
+ #include "goo/gmem.h"
+ #include "Object.h"
+
diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD
index 9347d3785..88bd70c09 100644
--- a/libre/icecat/PKGBUILD
+++ b/libre/icecat/PKGBUILD
@@ -17,7 +17,7 @@ _pgo=false
_pkgname=icecat
pkgver=13.0.1
-pkgrel=1
+pkgrel=2
if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi
if $_pgo; then
@@ -81,7 +81,7 @@ md5sums=('ba249f3e889089dc64615333dd324791'
'3117865902d1a20ab61d75707be9888e'
'ac29b01c189f20abae2f3eef1618ffc0'
'683c4540ab84c220937feb7d1a1450ee'
- 'bae9a078edc6797f9de9ab68e5f4827e'
+ 'cd52a6e3f138fa92267600cc53ff4247'
'e81ad01dbc16ba28bf92ba4b7c309ca7'
'd93fe402b87cd000a869e1fd6badc6c9'
'268e65c8fcae6152e156c09760a18dfd'
diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch
index b7bb7cd50..a4c76b6f5 100644
--- a/libre/icecat/libre.patch
+++ b/libre/icecat/libre.patch
@@ -27,16 +27,18 @@ diff -Naur icecat-13.0.1/browser/app/profile/firefox.js icecat-13.0.1-libre/brow
// This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
// this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
-diff -Naur icecat-13.0.1/browser/base/content/abouthome/aboutHome.js icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js
+diff -Naur icecat-13.0.1/browser/base/content/aboutHome.js icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js
--- icecat-13.0.1/browser/base/content/abouthome/aboutHome.js 2012-07-12 14:27:37.000000000 -0300
+++ icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js 2012-07-17 23:19:05.593724417 -0300
-@@ -41,99 +41,348 @@
- // If a definition requires additional params, check that the final search url
- // is handled correctly by the engine.
- const SEARCH_ENGINES = {
+@@ -37,104 +37,6 @@
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+-// If a definition requires additional params, check that the final search url
+-// is handled correctly by the engine.
+-const SEARCH_ENGINES = {
- "Google": {
-+ "Duck Duck Go (Lite)": {
- image: "data:image/png;base64," +
+- image: "data:image/png;base64," +
- "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAcCAYAAADcO8kVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" +
- "bWFnZVJlYWR5ccllPAAADHdJREFUeNrsWQl0VNUZvve9NzNJJpnsIkuEJMoqAVJAodCKoFUsAUFQ" +
- "qhig0npaRUE8Viv1FFtQWxSwLXVhEawbhOWobOICFCGiEIIQRGIgCSFjMslsb9567+1/Z+7gmIYK" +
@@ -96,159 +98,11 @@ diff -Naur icecat-13.0.1/browser/base/content/abouthome/aboutHome.js icecat-13.0
- "7K/7IvC/CRhZ6Ep6evGGyXJS3kAsp3SGcgLKc7uSktBhrW7ZFq32r/HHCVbb0P9fBSYOTpIoJ5SE" +
- "7GUnpHbrbG8EzsfWfwgwAEfC/ToQIhkhAAAAAElFTkSuQmCC"
- , params: "source=hp&channel=np"
-+ "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" +
-+ "RU5ErkJggg%3D%3D"
- }
-
+- }
+-
-, "Яндекс":
- {
-+ "Seeks Search": {
- image: "data:image/png;base64," +
+- image: "data:image/png;base64," +
- "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAcCAYAAADcO8kVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" +
- "bWFnZVJlYWR5ccllPAAABWFJREFUeNrsWWtsVEUUnltLH7tbaeuDbfCBojUoBTGmooLE+Igx+gON" +
- "RvEJhEQNUdEYA0Ji4xNf2Bg1iBJJrGBC+CEBNYoxxmh94CMKRE2MitBqoZRi6bbdZT3TfhM/TmZ2" +
@@ -275,199 +129,13 @@ diff -Naur icecat-13.0.1/browser/base/content/abouthome/aboutHome.js icecat-13.0
- "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%3D%3D"
- }
-+
-+ "YaCy": {
-+ }
-+
- };
-
+- }
+-};
+-
// The process of adding a new default snippet involves:
-@@ -143,7 +392,7 @@
+ // * add a new entity to aboutHome.dtd
+ // * add a <span/> for it in aboutHome.xhtml
+@@ -142,7 +44,7 @@
// The <a/> part of the snippet will be linked to the corresponding url.
const DEFAULT_SNIPPETS_URLS = [
"http://www.mozilla.com/firefox/features/?WT.mc_ID=default1"
@@ -479,7 +147,7 @@ diff -Naur icecat-13.0.1/browser/base/content/abouthome/aboutHome.js icecat-13.0
diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.properties icecat-13.0.1-libre/browser/locales/en-US/chrome/browser-region/region.properties
--- icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.properties 2012-07-12 14:27:37.000000000 -0300
+++ icecat-13.0.1-libre/browser/locales/en-US/chrome/browser-region/region.properties 2012-07-17 22:01:56.786224684 -0300
-@@ -1,28 +1,24 @@
+@@ -1,28 +1,28 @@
# Default search engine
-browser.search.defaultenginename=Google
+browser.search.defaultenginename=Duck Duck Go (Lite)
@@ -500,8 +168,12 @@ diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.prop
-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
-browser.contentHandlers.types.2.title=Google
-browser.contentHandlers.types.2.uri=http://fusion.google.com/add?feedurl=%s
-+#browser.contentHandlers.types.0.title=
-+#browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.0.title=
++browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.1.title=
++browser.contentHandlers.types.1.uri=about:blank
++browser.contentHandlers.types.2.title=
++browser.contentHandlers.types.2.uri=about:blank
# Keyword URL (for location bar searches)
-keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
@@ -516,18 +188,20 @@ diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.prop
# increment this number when anything gets changed in the list below. This will
# cause Firefox to re-read these prefs and inject any new handlers into the
-@@ -30,3 +26,19 @@
+@@ -30,3 +30,21 @@
# means that it's not possible to update the name of existing handler, so
# don't make any spelling errors here.
gecko.handlerService.defaultHandlersVersion=3
+
+# The default set of protocol handlers for webcal:
-+#gecko.handlerService.schemes.webcal.0.name=
-+#gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
++gecko.handlerService.schemes.webcal.0.name=
++gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
+
+# The default set of protocol handlers for mailto:
-+#gecko.handlerService.schemes.mailto.0.name=
-+#gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.0.name=
++gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.1.name=
++gecko.handlerService.schemes.mailto.1.uriTemplate=about:blank
+
+# The default set of protocol handlers for irc:
+gecko.handlerService.schemes.irc.0.name=Freenode
@@ -560,7 +234,7 @@ diff -Naur icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in iceca
+ </DL><p>
+ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3>
+ <DL><p>
-+ <DT><A HREF="http://www.fsf.org/" ICON="data:text/html;base64,Cgk8IURPQ1RZUEUgaHRtbD4KCgk8aHRtbCBsYW5nPSJlbiI+CgoJICAgIAogICAgCiAgICAKICAgIAogICAgCgoJICA8aGVhZD4KCSAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KCgkKCgkgICAgCgkgICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPgoKCSAgICAKCQk8YmFzZSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvZnJlZS1zb2Z0d2FyZS1mb3VuZGF0aW9uIiAvPjwhLS1baWYgbHQgSUUgN10+PC9iYXNlPjwhW2VuZGlmXS0tPgoJICAgIAoKCSAgICAKCQk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoOyBpbml0aWFsLXNjYWxlPTAuNjY2NjsgbWF4aW11bS1zY2FsZT0xLjA7IG1pbmltdW0tc2NhbGU9MC42NjY2IiAvPgoJCTxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iUGxvbmUgLSBodHRwOi8vcGxvbmUub3JnIiAvPgoJICAgIAoKICAgICAgICAKCgkgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIgLz4KCSAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IlBsb25lIC0gaHR0cDovL3Bsb25lLm9yZyIgLz4KCgoJICAgPHRpdGxlPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiAmbWRhc2g7IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiAmbWRhc2g7IHdvcmtpbmcgdG9nZXRoZXIgZm9yIGZyZWUgc29mdHdhcmU8L3RpdGxlPgoKCgkgICAgCgkgICAgCgoJICAgIAoJICAgIAo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoucG9ydGxldC1zdGF0aWMtc3VwcG9ydGVyLC5wb3J0bGV0LXN0YXRpYy1hcHBlYWwtcG9ydGxldCB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O30KI2ZzZi1zaWRlYmFyIHttYXJnaW4tdG9wOiAxMHB4O30KI2JyZWFkY3J1bWJzLXlvdS1hcmUtaGVyZSB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O30KdGFibGUsIHRkLCB0ciwgdGJvZHksIHRoZWFke2JvcmRlcjogMCAhaW1wb3J0YW50O30KPC9zdHlsZT4KCgoJICAgIAoJICAgIAoKCSAgICAKCSAgICAKCgkgICAgPGxpbmsgcmVsPSJjb3B5cmlnaHQiIHRpdGxlPSJDb3B5cmlnaHQgaW5mb3JtYXRpb24iIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5kLzMuMC9yZGYiIC8+CgkgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJBdXRob3IgaW5mb3JtYXRpb24iIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9hYm91dC9zdGFmZi8iIC8+CgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIGhyZWY9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vcGxvbmUzL2Nzcy9wcmludC0yMDExLTEwLTEzLmNzcyIgLz4KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+IEBpbXBvcnQgdXJsKCcvL3N0YXRpYy5mc2Yub3JnL25vc3ZuL3Bsb25lNC9jc3MvZnNmLTIwMTItMDQtMjMuY3NzJyk7PC9zdHlsZT4KCgoJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGU0YgTmV3cyIgaHJlZj0iLy9zdGF0aWMuZnNmLm9yZy9mc2ZvcmcvcnNzL25ld3MueG1sIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIiAvPgoJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGU0YgRXZlbnRzIiBocmVmPSIvL3N0YXRpYy5mc2Yub3JnL2ZzZm9yZy9yc3MvZXZlbnRzLnhtbCIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgLz4KCTxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRlNGIEJsb2dzIiBocmVmPSIvL3N0YXRpYy5mc2Yub3JnL2ZzZm9yZy9yc3MvYmxvZ3MueG1sIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIiAvPgoJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmVlIFNvZnR3YXJlIEpvYnMiIGhyZWY9Ii8vc3RhdGljLmZzZi5vcmcvZnNmb3JnL3Jzcy9qb2JzLnhtbCIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgLz4KCTxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iR05VIFByb2plY3QgTmV3cyIgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3Jzcy93aGF0c25ldy5yc3MiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+Cgk8bGluayByZWw9ImFsdGVybmF0ZSIgdGl0bGU9Ik5ldyBGcmVlIFNvZnR3YXJlIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvcnNzL3F1YWdnYS5yc3MiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+CgoJPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCIgLz4KCgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojYnJlYWRjcnVtYnMteW91LWFyZS1oZXJlLAojYnJlYWRjcnVtYnMtaG9tZSwKI2JyZWFkY3J1bWJzLWN1cnJlbnQsCiNicmVhZGNydW1icy0xIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5HTlVyZWxlYXNlc3sKCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZTM7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOwogICAgY29sb3I6IEJsYWNrOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB3aWR0aDogMjAwcHg7CiAgICBwYWRkaW5nOiAxMHB4Owp9CgojcG9ydGFsLWxhbmd1YWdlc2VsZWN0b3Ige2Rpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgYm90dG9tOiAxcHg7IGxlZnQ6IDFweDt9Cgo8L3N0eWxlPgoJICA8L2hlYWQ+CgoKCTxib2R5IGNsYXNzPSJ0ZW1wbGF0ZS1mcm9udHBhZ2VfdmlldyBwb3J0YWx0eXBlLWRvY3VtZW50IHNlY3Rpb24tZnJlZS1zb2Z0d2FyZS1mb3VuZGF0aW9uIGljb25zLW9uIiBkaXI9Imx0ciI+CgoJPGRpdiBpZD0iY29vbGlvIj4gPCEtLSB3cmFwcGVyIGRpdiAtLT4KCgk8cCBjbGFzcz0ib25seU1vYmlsZSI+PGEgdGFiaW5kZXg9IjEiIGhyZWY9IiNjb250ZW50Ij5Ta2lwIHRvIGNvbnRlbnQ8L2E+LCA8YSB0YWJpbmRleD0iMiIgaHJlZj0iL3NpdGVtYXAjY29udGVudCI+c2l0ZW1hcDwvYT4gb3IgPGEgdGFiaW5kZXg9IjMiIGhyZWY9Ii9zZWFyY2hfZm9ybSNjb250ZW50Ij5za2lwIHRvIHNlYXJjaDwvYT4uPC9wPgoKCTxkaXYgaWQ9ImhkIiBjbGFzcz0iY3VzdG9tLWRvYyB2aXN1YWxOb1ByaW50Ij4KCTxoZWFkZXI+CgkgICAgCgoJPGgxPjxhIGhyZWY9Ii8iPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjwvYT48L2gxPgoKCTxkaXYgaWQ9InBvcnRhbC1wZXJzb25hbHRvb2xzLXdyYXBwZXIiPgoKPGRpdiBpZD0iZnNmLWN1c3RvbSI+Cgo8aDUgY2xhc3M9ImhpZGRlblN0cnVjdHVyZSI+UGVyc29uYWwgdG9vbHM8L2g1PgoKPHVsIGlkPSJwb3J0YWwtcGVyc29uYWx0b29scyI+CiAgCgogICAgCiAgICA8bGk+CiAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvY2FzbG9naW4iIGlkPSJwZXJzb25hbHRvb2xzLWxvZ2luIj5Mb2cgaW48L2E+CiAgPC9saT4KICAgIAogICAgCiAgICA8bGk+CiAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvaGVscC1tZW51IiBpZD0icGVyc29uYWx0b29scy1sb2dpbi1wcm9ibGVtcyI+SGVscCE8L2E+CiAgPC9saT4KICAgIAogICAgCiAgICA8bGk+CiAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYXNzb2NpYXRlL2Fib3V0LXRoZS1tZW1iZXJzLWZvcnVtIiBpZD0icGVyc29uYWx0b29scy1mb3J1bS1wcm9tbyI+TWVtYmVycyBmb3J1bTwvYT4KICA8L2xpPgogICAgCgo8L3VsPgo8L2Rpdj4KPC9kaXY+CgogIDxhIGhyZWY9Imh0dHA6Ly9mc2Yub3JnL2pmYiI+PGltZyBzcmM9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vam9pbi5lbi5wbmciIGFsdD0iSm9pbiBub3ciIHN0eWxlPSJmbG9hdDogcmlnaHQ7IiAvPjwvYT4gCgoJPC9oZWFkZXI+Cgk8L2Rpdj4KCgk8ZGl2IGNsYXNzPSJ5dWktZyBmc2YtbmF2LWZvb3RlciIgaWQ9ImZzZi1uYXYiPgoJPGRpdiBjbGFzcz0ibmF2aSI+CjxkaXY+Cgo8ZGl2IGNsYXNzPSJjdXN0b20tZG9jIj4KCjxuYXY+Cjx1bCBjbGFzcz0ibWFpbi1uYXYgbmF2aWdhdGlvbiI+CjxsaT48YSBocmVmPSIvYWJvdXQvIiB0aXRsZT0iIj5BYm91dDwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL2NhbXBhaWducy8iIHRpdGxlPSIiPkNhbXBhaWduczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL2Fzc29jaWF0ZS8iIHRpdGxlPSIiPk1lbWJlcnNoaXA8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9yZXNvdXJjZXMvIiB0aXRsZT0iIj5SZXNvdXJjZXM8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9jb21tdW5pdHkvIiB0aXRsZT0iIj5Db21tdW5pdHk8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9kb25hdGUvIiB0aXRsZT0iIj5Eb25hdGU8L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHA6Ly9zaG9wLmZzZi5vcmcvIiB0aXRsZT0iIj5TaG9wPC9hPjwvbGk+CjxsaSBjbGFzcz0ib25seU1vYmlsZSI+PGEgaHJlZj0iL25ld3MvIj5MYXRlc3QgbmV3czwvYT48L2xpPgo8bGkgY2xhc3M9Im9ubHlNb2JpbGUiPjxhIGhyZWY9Ii9ldmVudHMvIj5VcGNvbWluZyBldmVudHM8L2E+PC9saT4KPGxpIGNsYXNzPSJvbmx5TW9iaWxlIj48YSBocmVmPSIvYmxvZ3MiPkxhdGVzdCBibG9nIHBvc3RzPC9hPjwvbGk+CjxsaSBjbGFzcz0ib25seU1vYmlsZSI+PGEgaHJlZj0iL2ZyZWUtc29mdHdhcmUtc3VwcG9ydGVyLyI+RnJlZSBTb2Z0d2FyZSBTdXBwb3J0ZXIsIG91ciBtb250aGx5IGVtYWlsIG5ld3NsZXR0ZXI8L2E+PC9saT4KPC91bD4KCgoKPC9uYXY+Cgo8L2Rpdj48L2Rpdj4KCjwvZGl2PgoJPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ5dWktZyIgc3R5bGU9Im1hcmdpbi10b3A6IDBweDsiPgombmJzcDsKPC9kaXY+CgoJPGRpdiBjbGFzcz0iY3VzdG9tLWRvYyB5dWktdDUiPgoKCSAgIDxkaXYgaWQ9ImJkIj48ZGl2IGlkPSJ5dWktbWFpbiI+CgoKPGRpdiBjbGFzcz0ieXVpLWciPjxkaXYgY2xhc3M9Inl1aS1iIj4KCgoKICAgICAgICA8ZGl2IGlkPSJwb3J0YWwtY29sdW1uLWNvbnRlbnQiIGNsYXNzPSJjZWxsIHdpZHRoLTM6NCBwb3NpdGlvbi0wIj4KCiAgICAgICAgICAgIDxkaXYgaWQ9InZpZXdsZXQtYWJvdmUtY29udGVudCI+PGRpdiBpZD0icG9ydGFsLWJyZWFkY3J1bWJzIj4KCiAgICA8c3BhbiBpZD0iYnJlYWRjcnVtYnMteW91LWFyZS1oZXJlIj5Zb3UKYXJlIGhlcmU6PC9zcGFuPgogICAgPHNwYW4gaWQ9ImJyZWFkY3J1bWJzLWhvbWUiPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZyI+SG9tZTwvYT4KICAgICAgICAKICAgIDwvc3Bhbj4KCjwvZGl2PjwvZGl2PgoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSIiPgoKICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgCgogICAgPGRsIGNsYXNzPSJwb3J0YWxNZXNzYWdlIGluZm8iIGlkPSJrc3NQb3J0YWxNZXNzYWdlIiBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgICAgICA8ZHQ+SW5mbzwvZHQ+CiAgICAgICAgPGRkPjwvZGQ+CiAgICA8L2RsPgoKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGU+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnRlbnQiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgCgogICAgICAgICAgICA8dGFibGUgd2lkdGg9IjY5OSIgY2xhc3M9InBsYWluIj4KICA8dHI+CiAgICA8dGQgd2lkdGg9IjIzMyI+CiAgICAgIDxhIGhyZWY9Ii9uZXdzL2ZzZi1hbm5vdW5jZXMtd2lubmVyLW9mLXJlc3RyaWN0ZWQtYm9vdC13ZWJjb21pYy1jb250ZXN0Ij48aW1nIHNyYz0iLy9zdGF0aWMuZnNmLm9yZy9ub3N2bi9yZXN0cmljdGVkLWJvb3RzLmpwZyIgYWx0PSJSZXN0cmljdGVkIEJvb3RzIC0tIGl0J3MgZm9yIHlvdXIgc2FmZXR5IiB3aWR0aD0iMjMwIiAvPjwvYT4KICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgVGhpcyA8c3BhbiB4bWxuczpkY3Q9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiByZWw9ImRjdDp0eXBlIj53b3JrPC9zcGFuPiBieSA8YSB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiBocmVmPSJodHRwOi8vZXJpa3N0ZWlubWFubi5ubC9zZWN1cmVib290X3dlYmNvbWljLmh0bWwiIHByb3BlcnR5PSJjYzphdHRyaWJ1dGlvbk5hbWUiIHJlbD0iY2M6YXR0cmlidXRpb25VUkwiPkVyaWsgU3RlaW5tYW5uPC9hPiBpcyBsaWNlbnNlZCB1bmRlciBhIDxhIHJlbD0ibGljZW5zZSIgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uCiAgICAgIDwvcD4KICAgIDwvdGQ+CiAgICA8dGQgd2lkdGg9IjQ2NiI+CiAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzoxNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmJjOyBoZWlnaHQ6IDIyNXB4OyBmb250LXNpemU6IDExMCU7Ij4gCiAgICAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6MTc1JTsiPlN0YW5kIHVwIGZvciB5b3VyIGZyZWVkb20gdG8gaW5zdGFsbCBmcmVlIHNvZnR3YXJlPC9zdHJvbmc+PGJyPjxicj4KICAgICAgIDxhIGhyZWY9Ii9jYW1wYWlnbnMvc2VjdXJlLWJvb3QtdnMtcmVzdHJpY3RlZC1ib290L3N0YXRlbWVudCI+PGltZyBzcmM9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vdWVmaV9sb2dvLnBuZyIgYWx0PSIiIC8+PC9hPjxicj48YnI+CiAgICAgICA8YSBocmVmPSIvY2FtcGFpZ25zL3NlY3VyZS1ib290LXZzLXJlc3RyaWN0ZWQtYm9vdC9zdGF0ZW1lbnQiIHN0eWxlPSJmb250LXNpemU6MTEwJSI+Sm9pbiAzMSw4MDAgcGVvcGxlIGluIG9wcG9zaW5nIE1pY3Jvc29mdCdzIFJlc3RyaWN0ZWQgQm9vdCBieSBzaWduaW5nIHRoaXMgc3RhdGVtZW50PC9hPjxicj4KICAgICA8L3A+CiAgICAgPHA+PGEgaHJlZj0iLy93d3cuZnNmLm9yZy93b3JraW5nLXRvZ2V0aGVyL21vdmluZy8iPjxpbWcgc3JjPSIvL3N0YXRpYy5mc2Yub3JnL25vc3ZuL3dvcmtpbmcvdy9nZXRzdGFydC5wbmciIC8+PC9hPgogICAgICAgIDxhIGhyZWY9Ii8vd3d3LmdudS5vcmcvZGlzdHJvcy9mcmVlLWRpc3Ryb3MuaHRtbCI+PGltZyBzcmM9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vZG93bmxvYWQucG5nIiB3aWR0aD0iMTYwIiAvPjwvYT4KICAgICA8L3A+CiAgICA8L3RkPgogIDwvdHI+CjwvdGFibGU+CgoKICAgICAgICA8aDIgaWQ9ImludHJvLXRleHQiPgogICAgICAgICAgICAKICAgICAgICA8c3BhbiBjbGFzcz0iIiBpZD0icGFyZW50LWZpZWxkbmFtZS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiDigJQgd2hhdCB3ZSBkbwogICAgICAgIDwvc3Bhbj4KICAgIAogICAgICAgIDwvaDI+CgogICAgICAgIAoKICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSIiIGlkPSJwYXJlbnQtZmllbGRuYW1lLXRleHQiPgogICAgICAgICAgICA8dWw+DQo8bGk+VGhlIEZTRiBhZHZvY2F0ZXMgZm9yIGZyZWUgc29mdHdhcmUgaWRlYWxzIGFzIG91dGxpbmVkIGluIHRoZSA8YSBocmVmPSIvcGhpbG9zb3BoeS9mcmVlLXN3Lmh0bWwiPkZyZWUgU29mdHdhcmUgRGVmaW5pdGlvbjwvYT4sIHdvcmtzIGZvciBhZG9wdGlvbiBvZiBmcmVlIHNvZnR3YXJlIGFuZCBmcmVlIG1lZGlhIGZvcm1hdHMsIGFuZCBvcmdhbml6ZXMgPGEgaHJlZj0iL2NhbXBhaWducy8iPmFjdGl2aXN0IGNhbXBhaWduczwvYT4gYWdhaW5zdCB0aHJlYXRzIHRvIHVzZXIgZnJlZWRvbSBsaWtlIDxhIGhyZWY9Imh0dHA6Ly93aW5kb3dzN3NpbnMub3JnLyI+V2luZG93cyA3PC9hPiwgQXBwbGUncyA8YSBocmVmPSIvaXBob25lIj5pUGhvbmU8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3Mvcm1zL21hYy1vc3gtbWlzdGFrZXMtYW5kLW1hbGZlYXR1cmVzIj5PUyBYPC9hPiwgPGEgaHJlZj0iaHR0cDovL2RlZmVjdGl2ZWJ5ZGVzaWduLm9yZy8iPkRSTSBvbiBtdXNpYywgZWJvb2tzIGFuZCBtb3ZpZXM8L2E+LCBhbmQgPGEgaHJlZj0iaHR0cDovL2VuZHNvZnRwYXRlbnRzLm9yZy8iPnNvZnR3YXJlIHBhdGVudHM8L2E+LjwvbGk+DQoNCjxsaT5XZSBwcm9tb3RlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9kaXN0cm9zLyI+Y29tcGxldGVseSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbnMgb2YgR05VL0xpbnV4PC9hPiwgYW5kIGFkdm9jYXRlIHRoYXQgdXNlcnMgb2YgdGhlIEdOVS9MaW51eCBvcGVyYXRpbmcgc3lzdGVtIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9kaXN0cm9zL2ZyZWUtc3lzdGVtLWRpc3RyaWJ1dGlvbi1ndWlkZWxpbmVzLmh0bWwiPnN3aXRjaCB0byBhIGRpc3RyaWJ1dGlvbiB3aGljaCByZXNwZWN0cyB0aGVpciBmcmVlZG9tPC9hPi48L2xpPg0KDQo8bGk+V2UgZHJpdmUgZGV2ZWxvcG1lbnQgb2YgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZyI+R05VIG9wZXJhdGluZyBzeXN0ZW08L2E+IGFuZCA8YSBocmVmPSIvY2FtcGFpZ25zL3ByaW9yaXR5Lmh0bWwiPm1haW50YWluIGEgbGlzdCBvZiBoaWdoLXByaW9yaXR5IGZyZWUgc29mdHdhcmUgcHJvamVjdHM8L2E+IHRvIHByb21vdGUgcmVwbGFjZW1lbnRzIGZvciBjb21tb24gcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zLjwvbGk+DQoNCjxsaT5XZSBidWlsZCBhbmQgdXBkYXRlIDxhIGhyZWY9Ii9yZXNvdXJjZXMvIj5yZXNvdXJjZXMgdXNlZnVsIGZvciB0aGUgZnJlZSBzb2Z0d2FyZSBjb21tdW5pdHk8L2E+IGxpa2UgdGhlIDxhIGhyZWY9Imh0dHA6Ly9kaXJlY3RvcnkuZnNmLm9yZy8iPkZyZWUgU29mdHdhcmUgRGlyZWN0b3J5PC9hPiwgYW5kIHRoZSA8YSBocmVmPSIvam9icyI+ZnJlZSBzb2Z0d2FyZSBqb2JzPC9hPiBib2FyZC4gV2UgYWxzbyBwcm92aWRlIDxhIGhyZWY9Ii9saWNlbnNpbmcvbGljZW5zZXMvIj5saWNlbnNlcyBmb3IgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzPC9hPiB0byBzaGFyZSB0aGVpciBjb2RlLCBpbmNsdWRpbmcgdGhlIDxhIGhyZWY9Ii9saWNlbnNpbmcvbGljZW5zZXMvZ3BsLmh0bWwiPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9hPi48L2xpPg0KDQo8L3VsPg0KDQo8cCBjbGFzcz0iYyI+PGEgaHJlZj0iL3dvcmtpbmctdG9nZXRoZXIvIj48aW1nIHNyYz0iL3N0YXRpYy9ub3N2bi93b3JraW5nL3cvZGVzZXJ2ZS5wbmciIGFsdD0iIiAvPjwvYT48L3A+IAogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgIAogICAgCgoKICA8ZGl2IGlkPSJmc3MiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly9jcm0uZnNmLm9yZy9jaXZpY3JtL3Byb2ZpbGUvY3JlYXRlJmFtcDtyZXNldD0xJmFtcDtnaWQ9MzEiIG1ldGhvZD0icG9zdCI+CjxoMz5TaWduIHVwIHRvZGF5IHRvIHJlY2VpdmUgdGhlIG1vbnRobHkgbmV3c2xldHRlciwgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9mcmVlLXNvZnR3YXJlLXN1cHBvcnRlci8iPkZyZWUgU29mdHdhcmUgU3VwcG9ydGVyPC9hPjwvaDM+Cgo8cD48c21hbGw+RW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzIChpZS4gbWF0dEBleGFtcGxlLmNvbSk8L3NtYWxsPjwvcD4KCjxwPjxpbnB1dCBpZD0iZnJtRW1haWwiIHR5cGU9InRleHQiIG5hbWU9ImVtYWlsLVByaW1hcnkiIHNpemU9IjE4IiBtYXhsZW5ndGg9IjgwIiAvPjwvcD4KPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iX3FmX0VkaXRfbmV4dCIgdmFsdWU9IlN1YnNjcmliZSBtZSIgLz48L3A+CjxkaXY+PGlucHV0IG5hbWU9InBvc3RVUkwiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IiIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ3JvdXBbMjVdIiB2YWx1ZT0iMSIgLz4KPGlucHV0IG5hbWU9ImNhbmNlbFVSTCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iaHR0cHM6Ly9jcm0uZnNmLm9yZy9jaXZpY3JtL3Byb2ZpbGU/cmVzZXQ9MSZhbXA7Z2lkPTMxIiAvPgo8aW5wdXQgbmFtZT0iX3FmX2RlZmF1bHQiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IkVkaXQ6Y2FuY2VsIiAvPgo8L2Rpdj4KPC9mb3JtPjwvZGl2PgoKCjxkaXYgaWQ9InF1b3RlLWJveCI+CiA8YmxvY2txdW90ZT48YSBocmVmPSIvYXBwZWFsLzIwMDkvbWFrby8iPkEgc3Ryb25nIGZyZWUgc29mdHdhcmUgbW92ZW1lbnQgZm9jdXNlZCBvbiB0aGUgcHJpbmNpcGxlZCBpc3N1ZXMgb2Ygc29mdHdhcmUgZnJlZWRvbSAmbWRhc2g7IGFuZCBhIHN0cm9uZyBGU0YgaW4gcGFydGljdWxhciAmbWRhc2g7IHdpbGwgZGV0ZXJtaW5lIHdoYXQgZnJlZWRvbXMgdGhlIG5leHQgZ2VuZXJhdGlvbiBvZiBjb21wdXRlciB1c2VycyBlbmpveS4gQXQgc3Rha2UgaXMgbm8gbGVzcyB0aGFuIHRoZSBuZXh0IGdlbmVyYXRpb24ncyBhdXRvbm9teS48L2E+PC9ibG9ja3F1b3RlPgoKICA8cD4mbWRhc2g7IDxhIGhyZWY9Ii9hcHBlYWwvMjAwOS9tYWtvLyI+QmVuamFtaW4gTWFrbyBIaWxsPC9hPiwgd3JpdGVyLCB0ZWNobm9sb2dpc3QgYW5kIEZTRiBib2FyZCBtZW1iZXI8L3A+CjwvZGl2PgoKICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKCiAgICAgICAgICAgIDxkaXYgaWQ9InZpZXdsZXQtYmVsb3ctY29udGVudCI+CgoKCgoKICAgIAoKPC9kaXY+CiAgICAgICAgPC9kaXY+Cgk8L2Rpdj48L2Rpdj48L2Rpdj4KCgoJIDxkaXYgaWQ9ImZzZi1zaWRlYmFyIiBjbGFzcz0ieXVpLWIgdmlzdWFsTm9QcmludCI+CgkgICAgPGFzaWRlPgoJPGRpdiBpZD0ic2VhcmNoIj4KCgkgICAgICA8Zm9ybSBpZD0ic2lkZXNlYXJjaCIgbmFtZT0ic2VhcmNoZm9ybSIgYWN0aW9uPSJodHRwOi8vd3d3LmZzZi5vcmcvc2VhcmNoIj4KCQkgIDxwPjxpbnB1dCBuYW1lPSJTZWFyY2hhYmxlVGV4dCIgdGFiaW5kZXg9IjEiIHR5cGU9InRleHQiIHNpemU9IjMwIiB0aXRsZT0iU2VhcmNoIFNpdGUiIC8+PC9wPgoJCSAgPHA+PGlucHV0IGNsYXNzPSJzZWFyY2hCdXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgLz48L3A+CgkgICAgICA8L2Zvcm0+CgoJPC9kaXY+CgoKCQkgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxQYWRkaW5nIj4KCQkgICAgICAgIAoJCSAgICAgICAgICAKPGRpdiBpZD0icG9ydGxldHdyYXBwZXItNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE3Mzc1NzA3MDZmNzI3NDY1NzIiIGNsYXNzPSJwb3J0bGV0V3JhcHBlciBrc3NhdHRyLXBvcnRsZXRoYXNoLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNzM3NTcwNzA2ZjcyNzQ2NTcyIj48ZGl2IGNsYXNzPSJwb3J0bGV0U3RhdGljVGV4dCBwb3J0bGV0LXN0YXRpYy1zdXBwb3J0ZXIiPjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPg0KPGg1PlNpZ24gdXA8L2g1Pg0KPGZvcm0gYWN0aW9uPSJodHRwczovL2NybS5mc2Yub3JnL2Npdmljcm0vcHJvZmlsZS9jcmVhdGUmYW1wO3Jlc2V0PTEmYW1wO2dpZD0zMSIgbWV0aG9kPSJwb3N0Ij4NCjxwPlNpZ24gdXAgdG9kYXkgdG8gcmVjZWl2ZSB0aGUgbW9udGhseSBuZXdzbGV0dGVyLCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5mc2Yub3JnL2ZyZWUtc29mdHdhcmUtc3VwcG9ydGVyLyI+RnJlZSBTb2Z0d2FyZSBTdXBwb3J0ZXI8L2E+PC9wPg0KDQo8cD48c21hbGw+RW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzIChpZS4gbWF0dEBleGFtcGxlLmNvbSk8L3NtYWxsPjwvcD4NCg0KPHA+PGlucHV0IGlkPSJmcm1FbWFpbCIgdHlwZT0idGV4dCIgbmFtZT0iZW1haWwtUHJpbWFyeSIgc2l6ZT0iMTgiIG1heGxlbmd0aD0iODAiIC8+PC9wPg0KPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iX3FmX0VkaXRfbmV4dCIgdmFsdWU9IlN1YnNjcmliZSBtZSIgLz48L3A+DQo8ZGl2PjxpbnB1dCBuYW1lPSJwb3N0VVJMIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSIiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJncm91cFsyNV0iIHZhbHVlPSIxIiAvPg0KPGlucHV0IG5hbWU9ImNhbmNlbFVSTCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iaHR0cHM6Ly9jcm0uZnNmLm9yZy9jaXZpY3JtL3Byb2ZpbGU/cmVzZXQ9MSZhbXA7Z2lkPTMxIiAvPg0KPGlucHV0IG5hbWU9Il9xZl9kZWZhdWx0IiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJFZGl0OmNhbmNlbCIgLz4NCjwvZGl2Pg0KPC9mb3JtPjwvZGl2PjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGlkPSJwb3J0bGV0d3JhcHBlci03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTY2NzM2NjJkNmU2NTc3NzMyZDcyNzM3MyIgY2xhc3M9InBvcnRsZXRXcmFwcGVyIGtzc2F0dHItcG9ydGxldGhhc2gtNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE2NjczNjYyZDZlNjU3NzczMmQ3MjczNzMiPjxkaXYgY2xhc3M9InBvcnRsZXRTdGF0aWNUZXh0IHBvcnRsZXQtc3RhdGljLWZzZi1uZXdzLXJzcyI+PHAgc3R5bGU9ImZsb2F0OiByaWdodDsiPjxhIGhyZWY9Ii9zdGF0aWMvZnNmb3JnL3Jzcy9uZXdzLnhtbCIgdGl0bGU9IlN1YnNjcmliZSB0byBhbiBSU1MgZmVlZCBvZiBGU0YgbmV3cyI+PGltZyBzcmM9Ii9zdGF0aWMvZnNmb3JnL2Nzcy9pbWcvcnNzLmdpZiIgYWx0PSJSU1MgZmVlZCIgLz48L2E+PC9wPjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGlkPSJwb3J0bGV0d3JhcHBlci03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTZlNjU3NzczIiBjbGFzcz0icG9ydGxldFdyYXBwZXIga3NzYXR0ci1wb3J0bGV0aGFzaC03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTZlNjU3NzczIj48ZGwgY2xhc3M9InBvcnRsZXQgcG9ydGxldE5ld3MiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KCiAgICA8ZHQgY2xhc3M9InBvcnRsZXRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0VG9wTGVmdCI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9uZXdzIiBjbGFzcz0idGlsZSI+TmV3czwvYT4KICAgICAgICA8c3BhbiBjbGFzcz0icG9ydGxldFRvcFJpZ2h0Ij48L3NwYW4+CiAgICA8L2R0PgoKICAgIAogICAgPGRkIGNsYXNzPSJwb3J0bGV0SXRlbSBvZGQiPgoKICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvbmV3cy9mc2YtYW5ub3VuY2VzLXdpbm5lci1vZi1yZXN0cmljdGVkLWJvb3Qtd2ViY29taWMtY29udGVzdCIgY2xhc3M9InRpbGUiIHRpdGxlPSJXaXRoIG92ZXIgMzAsMDAwIHNpZ25hdHVyZXMgdG8gb3VyIHN0YXRlbWVudCBhbmQgb3ZlciBhIGRvemVuIGhpZ2gtcXVhbGl0eSBzdWJtaXNzaW9ucyB0byBvdXIgY29udGVzdCwgSSdtIGNvbmZpZGVudCBvdXIgbWVzc2FnZSB0aGF0IFJlc3RyaWN0ZWQgQm9vdCBpcyBhIG1pc3Rha2UgaGFzIHRoZSBhdHRlbnRpb24gb2YgTWljcm9zb2Z0IGFuZCBjb21wdXRlci1tYWtlcnMgYWxpa2UuIE5vdyB3ZSBuZWVkIHRha2UgdGhlIG5leHQgc3RlcCBvZiB0dXJuaW5nIHRoaXMgc3VwcG9ydCBpbnRvIHRhbmdpYmxlIHJlc3VsdHMuIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJOZXdzIEl0ZW0iIC8+CiAgICAgICAgICAgIEZTRiBhbm5vdW5jZXMgd2lubmVyIG9mIFJlc3RyaWN0ZWQgQm9vdCB3ZWJjb21pYyBjb250ZXN0CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0SXRlbURldGFpbHMiPkp1bCAwNSwgMjAxMjwvc3Bhbj4KICAgICAgICA8L2E+CiAgICA8L2RkPgogICAgCiAgICAKICAgIDxkZCBjbGFzcz0icG9ydGxldEl0ZW0gZXZlbiI+CgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9uZXdzL2ZzZi1wdWJsaXNoZXMtd2hpdGVwYXBlci13aXRoLXJlY29tbWVuZGF0aW9ucy1mb3ItZnJlZS1vcGVyYXRpbmctc3lzdGVtLWRpc3RyaWJ1dGlvbnMtY29uc2lkZXJpbmctc2VjdXJlLWJvb3QiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iSW4gdGhlIHBhcGVyLCB0aGUgRlNGIG91dGxpbmVzIHRoZSBkaWZmaWN1bHRpZXMgU2VjdXJlIEJvb3QgcG9zZXMgZm9yIHRoZSBmcmVlIHNvZnR3YXJlIG1vdmVtZW50IGFuZCBmcmVlIHNvZnR3YXJlIGFkb3B0aW9uLCB3YXJucyBhZ2FpbnN0IHRoZSB0aHJlYXQgb2YgUmVzdHJpY3RlZCBCb290LCBhbmQgZ2l2ZXMgcmVjb21tZW5kYXRpb25zIGZvciBob3cgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIGFuZCB1c2VycyBjYW4gYmVzdCBhZGRyZXNzIHRoZSBpc3N1ZXMuIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJOZXdzIEl0ZW0iIC8+CiAgICAgICAgICAgIEZTRiBwdWJsaXNoZXMgd2hpdGVwYXBlciB3aXRoIHJlY29tbWVuZGF0aW9ucyBmb3IgZnJlZSBvcGVyYXRpbmcgc3lzdGVtIGRpc3RyaWJ1dGlvbnMgY29uc2lkZXJpbmcgU2VjdXJlIEJvb3QKICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRJdGVtRGV0YWlscyI+SnVuIDMwLCAyMDEyPC9zcGFuPgogICAgICAgIDwvYT4KICAgIDwvZGQ+CiAgICAKCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRGb290ZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tTGVmdCI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9uZXdzIj4KICAgICAgICAgIE1vcmUgbmV3cyZoZWxsaXA7CiAgICAgICAgPC9hPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tUmlnaHQiPjwvc3Bhbj4KICAgIDwvZGQ+CiAgICAKPC9kbD48L2Rpdj4KCjxkaXYgaWQ9InBvcnRsZXR3cmFwcGVyLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjY3MzY2MmQ2MjZjNmY2NzczMmQ3MjczNzMiIGNsYXNzPSJwb3J0bGV0V3JhcHBlciBrc3NhdHRyLXBvcnRsZXRoYXNoLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjY3MzY2MmQ2MjZjNmY2NzczMmQ3MjczNzMiPjxkaXYgY2xhc3M9InBvcnRsZXRTdGF0aWNUZXh0IHBvcnRsZXQtc3RhdGljLWZzZi1ibG9ncy1yc3MiPjxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij48YSBocmVmPSIvc3RhdGljL2ZzZm9yZy9yc3MvYmxvZ3MueG1sIiB0aXRsZT0iU3Vic2NyaWJlIHRvIGFuIFJTUyBmZWVkIG9mIEZTRiBibG9ncyI+PGltZyBzcmM9Ii9zdGF0aWMvZnNmb3JnL2Nzcy9pbWcvcnNzLmdpZiIgYWx0PSJSU1MgZmVlZCIgLz48L2E+PC9wPjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGlkPSJwb3J0bGV0d3JhcHBlci03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTcyNjU2MzY1NmU3NDJkNjI2YzZmNjc3MyIgY2xhc3M9InBvcnRsZXRXcmFwcGVyIGtzc2F0dHItcG9ydGxldGhhc2gtNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE3MjY1NjM2NTZlNzQyZDYyNmM2ZjY3NzMiPjxkbCBjbGFzcz0icG9ydGxldCBwb3J0bGV0Q29sbGVjdGlvbiBwb3J0bGV0LWNvbGxlY3Rpb24tcmVjZW50LWJsb2dzIj4KCiAgICA8ZHQgY2xhc3M9InBvcnRsZXRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0VG9wTGVmdCI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9ibG9ncy9yZWNlbnQtYmxvZy1wb3N0cyI+CiAgICAgICAgICAgIDxzcGFuPlJlY2VudCBibG9nczwvc3Bhbj4KICAgICAgICA8L2E+CiAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRUb3BSaWdodCI+PC9zcGFuPgogICAgPC9kdD4KCiAgICAKICAgIDxkZCBjbGFzcz0icG9ydGxldEl0ZW0gb2RkIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3MvY29tbXVuaXR5L2dudS1zcG90bGlnaHQtd2l0aC1rYXJsLWJlcnJ5LWp1bmUtMjAxMiIgY2xhc3M9InRpbGUiIHRpdGxlPSJOZXcgR05VIHJlbGVhc2VzIGFzIG9mIEp1bmUgMjYsIDIwMTIiPgogICAgICAgICAgICA8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3LmZzZi5vcmcvc3RhdGljL2ZzZm9yZy9jc3MvaW1nL25ld3NpdGVtX2ljb24uZ2lmIiBhbHQ9IkJsb2cgRW50cnkiIC8+CiAgICAgICAgICAgIEdOVSBTcG90bGlnaHQgd2l0aCBLYXJsIEJlcnJ5IChKdW5lIDIwMTIpCiAgICAgICAgICAgIAogICAgICAgIDwvYT4KICAgIDwvZGQ+CiAgICAKICAgIAogICAgPGRkIGNsYXNzPSJwb3J0bGV0SXRlbSBldmVuIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3MvZ251LXByZXNzL2ZzZnMtbmV3LW9wZXJhdGlvbnMtYXNzaXN0YW50IiBjbGFzcz0idGlsZSIgdGl0bGU9IkhlbGxvLCBJJ20gQ2hyaXNzaWUgSGltZXMsIHRoZSBuZXcgb3BlcmF0aW9ucyBhc3Npc3RhbnQsIGFuZCBJJ20gZXhjaXRlZCB0byBvZmZpY2lhbGx5IGJlIHdpdGggdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gSSBoYW5kbGUgc2FsZXMsIGRvbmF0aW9ucywgYW5kIGdlbmVyYWwgb2ZmaWNlIG9wZXJhdGlvbnMuIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJCbG9nIEVudHJ5IiAvPgogICAgICAgICAgICBGU0YncyBuZXcgb3BlcmF0aW9ucyBhc3Npc3RhbnQKICAgICAgICAgICAgCiAgICAgICAgPC9hPgogICAgPC9kZD4KICAgIAogICAgCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRJdGVtIG9kZCI+CiAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5mc2Yub3JnL2Jsb2dzL2NvbW11bml0eS9raWxsLWFjdGEiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iS2lsbCBBQ1RBIG9uY2UgKGFuZCBob3BlZnVsbHkpIGZvciBhbGwhIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJCbG9nIEVudHJ5IiAvPgogICAgICAgICAgICBLaWxsIEFDVEEKICAgICAgICAgICAgCiAgICAgICAgPC9hPgogICAgPC9kZD4KICAgIAogICAgCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRJdGVtIGV2ZW4iPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9ibG9ncy9saWNlbnNpbmcvZ251LWdwbHYzLXR1cm5zLTUiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMyB0dXJucyBmaXZlOyBFYmVuIE1vZ2xlbiBzdGF0ZXMsICZxdW90O0dQTHYzIGFudGljaXBhdGVkIHRoZSBpc3N1ZXMgb2YgdG9kYXkgYW5kIHdpbGwgaGVscCB1cyBkZWFsIHdpdGggdGhlIGNoYWxsZW5nZXMgb2YgdG9tb3Jyb3cuJnF1b3Q7Ij4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJCbG9nIEVudHJ5IiAvPgogICAgICAgICAgICBHTlUgR1BMdjMgdHVybnMgNQogICAgICAgICAgICAKICAgICAgICA8L2E+CiAgICA8L2RkPgogICAgCgogICAgPGRkIGNsYXNzPSJwb3J0bGV0Rm9vdGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0icG9ydGxldEJvdHRvbUxlZnQiPjwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3MvcmVjZW50LWJsb2ctcG9zdHMiPgogICAgICAgICAgICBNb3JlJmhlbGxpcDsKICAgICAgICA8L2E+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tUmlnaHQiPjwvc3Bhbj4KICAgIDwvZGQ+Cgo8L2RsPgo8L2Rpdj4KCjxkaXYgaWQ9InBvcnRsZXR3cmFwcGVyLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjY3MzY2MmQ2NTc2NjU2ZTc0NzMyZDcyNzM3MyIgY2xhc3M9InBvcnRsZXRXcmFwcGVyIGtzc2F0dHItcG9ydGxldGhhc2gtNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE2NjczNjYyZDY1NzY2NTZlNzQ3MzJkNzI3MzczIj48ZGl2IGNsYXNzPSJwb3J0bGV0U3RhdGljVGV4dCBwb3J0bGV0LXN0YXRpYy1mc2YtZXZlbnRzLXJzcyI+PHAgc3R5bGU9ImZsb2F0OiByaWdodDsiPjxhIGhyZWY9Ii9zdGF0aWMvZnNmb3JnL3Jzcy9ldmVudHMueG1sIiB0aXRsZT0iU3Vic2NyaWJlIHRvIGFuIFJTUyBmZWVkIG9mIEZTRiBldmVudHMiPjxpbWcgc3JjPSIvc3RhdGljL2ZzZm9yZy9jc3MvaW1nL3Jzcy5naWYiIGFsdD0iUlNTIGZlZWQiIC8+PC9hPjwvcD48L2Rpdj4KCjwvZGl2PgoKPGRpdiBpZD0icG9ydGxldHdyYXBwZXItNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE2NTc2NjU2ZTc0NzMiIGNsYXNzPSJwb3J0bGV0V3JhcHBlciBrc3NhdHRyLXBvcnRsZXRoYXNoLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjU3NjY1NmU3NDczIj4KPGRsIGNsYXNzPSJwb3J0bGV0IHBvcnRsZXRFdmVudHMiPgoKICAgIDxkdCBjbGFzcz0icG9ydGxldEhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRUb3BMZWZ0Ij48L3NwYW4+CiAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5mc2Yub3JnL2V2ZW50cyIgY2xhc3M9InRpbGUiPgogICAgICAgICAgICBVcGNvbWluZyBFdmVudHMKICAgICAgICA8L2E+CiAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRUb3BSaWdodCI+PC9zcGFuPgogICAgPC9kdD4KCiAgICAKICAgIDxkZCBjbGFzcz0icG9ydGxldEl0ZW0gb2RkIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvZXZlbnRzLzIwMTIwNzI3LWNhcmFjYXMiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iQ2FyYWNhcywgVmVuZXp1ZWxhIC0gU2FsYSBQbGVuYXJpYSBkZWwgQ2VudHJvIFNpbcOzbiBCb2zDrXZhci4gRWRpZi4gQW5hdWNvIFBhcnF1ZSBDZW50cmFsDQoiPgogICAgICAgICAgICA8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3LmZzZi5vcmcvc3RhdGljL2ZzZm9yZy9jc3MvaW1nL25ld3NpdGVtX2ljb24uZ2lmIiBhbHQ9IkV2ZW50IiAvPgogICAgICAgICAgICAiRWwgc29mdHdhcmUgbGlicmUgZW4gbGEgw6l0aWNhIHkgZW4gbGEgcHLDoWN0aWNhIgogICAgICAgIDwvYT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRJdGVtRGV0YWlscyI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxzcGFuPkp1bCAyNywgMjAxMiAxMDowMCBBTSAtIDEyOjAwIFBNPC9zcGFuPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8c3Bhbj4gJm1kYXNoOwogICAgICAgICAgICAgICAgICAgIENhcmFjYXMsIFZlbmV6dWVsYQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICA8L2RkPgogICAgCgogICAgPGRkIGNsYXNzPSJwb3J0bGV0Rm9vdGVyIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvZXZlbnRzL2FnZ3JlZ2F0b3IvcHJldmlvdXMiIGNsYXNzPSJ0aWxlIj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICBQcmV2aW91cyBldmVudHMmaGVsbGlwOwogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9hPgogICAgPC9kZD4KCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRGb290ZXIiPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9ldmVudHMiIGNsYXNzPSJ0aWxlIj4KICAgICAgICAgICAgICAgIFVwY29taW5nIGV2ZW50cyZoZWxsaXA7CiAgICAgICAgPC9hPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tTGVmdCI+PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tUmlnaHQiPjwvc3Bhbj4KICAgIDwvZGQ+CjwvZGw+Cgo8L2Rpdj4KCgoKCgkJICAgICAgICAKCQkgICAgICAgICZuYnNwOwoJCSAgICAgIDwvZGl2PgoJICAgICAgCgoJPC9hc2lkZT4KCTwvZGl2PgoKCgoJPC9kaXY+PC9kaXY+CgoJPGRpdiBjbGFzcz0idmlzdWFsTm9QcmludCIgaWQ9Im1pc3Npb24tc3RhdGVtZW50Ij4KCgkgIDxwIGNsYXNzPSJjIj5UaGUgRlNGIGlzIGEgY2hhcml0eSB3aXRoIGEgd29ybGR3aWRlIG1pc3Npb24gdG8gYWR2YW5jZSBzb2Z0d2FyZSBmcmVlZG9tICZtZGFzaDsgPGEgaHJlZj0iL2Fib3V0Ij5sZWFybiBhYm91dCBvdXIgaGlzdG9yeSBhbmQgd29yay48L2E+PC9wPgoKCTwvZGl2PgoKCTxkaXYgaWQ9ImZ0IiBjbGFzcz0idmlzdWFsTm9QcmludCI+Cgk8Zm9vdGVyPgoJPGRpdiBpZD0iZnQtaW5uZXIiIGNsYXNzPSJjdXN0b20tZG9jIj4KCgk8ZGl2IGlkPSJjb3B5cmlnaHQiPgoJIAoKCSAgPHAgY2xhc3M9ImMiPkNvcHlyaWdodCAmY29weTsgMjAwNC0yMDEyIDxhIGhyZWY9Ii9hYm91dC9jb250YWN0Lmh0bWwiIHRpdGxlPSJGaW5kIG91dCBob3cgdG8gY29udGFjdCB1cyI+RnJlZQoJU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jPC9hPi48L3A+CgoJICA8cD5UaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgYSA8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvIj5DcmVhdGl2ZQoJICBDb21tb25zIEF0dHJpYnV0aW9uLU5vIERlcml2YXRpdmUgV29ya3MgMy4wIGxpY2Vuc2UgKG9yIGxhdGVyCgkgIHZlcnNpb24pPC9hPiAmbWRhc2g7IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlLWxpc3QuaHRtbCNPcGluaW9uTGljZW5zZXMiPldoeSB0aGlzIGxpY2Vuc2U/PC9hPi48L3A+IAoKCTwvZGl2PgoJPGRpdiBpZD0iZnNmLWxpbmtzLW91dGVyIj4KCTxkaXYgY2xhc3M9Inl1aS1nIHZpc3VhbE5vUHJpbnQgbm9Nb2JpbGUiIGlkPSJmc2YtbGlua3MiPgoJPGRpdj4KICAgIDxuYXY+CiAgICA8ZGl2IGNsYXNzPSJ5dWktZyBmaXJzdCI+CiAgICAgICAgPGRpdiBjbGFzcz0ieXVpLXUgZmlyc3QiIGlkPSJzaXRlbWFwLTEiPgoKICAgICAgICAgIDxwIGNsYXNzPSJuZXRzY2FwZTQiPjxhIGhyZWY9IiNmdCI+U2tpcCBzaXRlbWFwPC9hPiBvciA8YSBocmVmPSIjc2l0ZW1hcC0yIj5za2lwIHRvIGxpY2Vuc2luZyBpdGVtczwvYT48L3A+CgogICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9hYm91dC8iPkFib3V0PC9hPgoKICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Fib3V0L2xlYWRlcnNoaXAuaHRtbCI+TGVhZGVyc2hpcDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Ii9hYm91dC9zdGFmZiI+U3RhZmY8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSIvYWJvdXQvY29udGFjdC5odG1sIj5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgPC91bD48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vbXkuZnNmLm9yZy9kb25hdGUvcHJpdmFjeXBvbGljeS5odG1sIj5Qcml2YWN5IFBvbGljeTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvY2FtcGFpZ25zIj5DYW1wYWlnbnM8L2E+CiAgICAgICAgPHVsPgoKICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3dpbmRvd3M3c2lucy5vcmcvIj5XaW5kb3dzIDcgU2luczwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvIj5HTlUgT3BlcmF0aW5nIFN5c3RlbTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZGVmZWN0aXZlYnlkZXNpZ24ub3JnLyI+RGVmZWN0aXZlIGJ5IERlc2lnbjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZW5kc29mdHBhdGVudHMub3JnLyI+RW5kIFNvZnR3YXJlIFBhdGVudHM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3BsYXlvZ2cub3JnLyI+UGxheU9nZyAmbWRhc2g7IGZyZWUgbWVkaWEgZm9ybWF0czwvYT48L2xpPgoKICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2xpYnJlcGxhbmV0Lm9yZy8iPkNvbm5lY3Qgd2l0aCBmcmVlIHNvZnR3YXJlIHVzZXJzPC9hPjwvbGk+CiAgICAgIDwvdWw+PC9saT4KICAgICAgPC91bD4KCiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ5dWktdSIgaWQ9InNpdGVtYXAtMiI+CgogICAgICAgICAgPHAgY2xhc3M9Im5ldHNjYXBlNCI+PGEgaHJlZj0iI3NpdGVtYXAtMyI+U2tpcCB0byBnZW5lcmFsIGl0ZW1zPC9hPjwvcD4KCiAgICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9saWNlbnNpbmciPkxpY2Vuc2luZzwvYT4KICAgICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9saWNlbnNpbmcvZWR1Y2F0aW9uIj5FZHVjYXRpb248L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2xpY2Vuc2luZy9saWNlbnNlcyI+TGljZW5zZXM8L2E+CiAgICAgICAgPHVsPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwiPkdOVSBHUEw8L2E+PC9saT4KCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLmh0bWwiPkdOVSBBR1BMPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9sZ3BsLmh0bWwiPkdOVSBMR1BMPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9mZGwuaHRtbCI+R05VIEZETDwvYT48L2xpPjwvdWw+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1mYXEuaHRtbCI+TGljZW5zaW5nIEZBUTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvbGljZW5zaW5nL2NvbXBsaWFuY2UiPkNvbXBsaWFuY2U8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1ob3d0by5odG1sIj5Ib3cgdG8gdXNlIEdOVSBsaWNlbnNlcyBmb3IgeW91ciBvd24gc29mdHdhcmU8L2E+PC9saT48L3VsPjwvbGk+CgogICAgICA8L3VsPgoKICAgIAogICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Inl1aS1nIGZpcnN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ5dWktdSBmaXJzdCIgaWQ9InNpdGVtYXAtMyI+CgogICAgICAgICAgPHAgY2xhc3M9Im5ldHNjYXBlNCI+PGEgaHJlZj0iI3NpdGVtYXAtNCI+U2tpcCB0byBwaGlsb3NvcGhpY2FsIGl0ZW1zPC9hPjwvcD4KICAgIAogICAgICA8dWw+CgogICAgICA8bGk+PGEgaHJlZj0iL25ld3MvIj5MYXRlc3QgTmV3czwvYT48dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9ldmVudHMvIj5VcGNvbWluZyBFdmVudHM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Ii9ibG9ncy8iPkZTRiBCbG9nczwvYT48L2xpPjwvdWw+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Ii92b2x1bnRlZXIiPlZvbHVudGVlcmluZyBhbmQgaW50ZXJuc2hpcHM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Ii9yZXNvdXJjZXMvaHciPkhhcmR3YXJlIERhdGFiYXNlPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZGlyZWN0b3J5LmZzZi5vcmciPkZyZWUgU29mdHdhcmUgRGlyZWN0b3J5PC9hPjwvbGk+CgogICAgICAgIDxsaT48YSBocmVmPSIvcmVzb3VyY2VzLyI+RnJlZSBTb2Z0d2FyZSBSZXNvdXJjZXM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9wYXRyb24uZnNmLm9yZyI+UGF0cm9uczwvYT48L2xpPgogICAgICA8bGk+PGEgaHJlZj0iL2Fzc29jaWF0ZS8iPkFzc29jaWF0ZSBNZW1iZXJzPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIvYXNzb2NpYXRlL2FjY291bnQvIj5NeSBBY2NvdW50PC9hPjwvbGk+CiAgICAgIDxsaSBjbGFzcz0ibm9yaWdodCI+PGEgaHJlZj0iL2Fib3V0L2NvbnRhY3QuaHRtbCI+Q29udGFjdCBVczwvYT48L2xpPgogICAgICA8L3VsPgoKICAgICAgCiAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ5dWktdSIgaWQ9InNpdGVtYXAtNCI+CgogICAgICAgICAgPHAgY2xhc3M9Im5ldHNjYXBlNCI+PGEgaHJlZj0iI2Z0Ij5Ta2lwIGxpc3Q8L2E+PC9wPgoKICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2RvbmF0ZS5mc2Yub3JnIj5Eb25hdGUgdG8gdGhlIEZTRjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvamZiIj5Kb2luIHRoZSBGU0Y8L2E+PC9saT4KCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5LyI+UGhpbG9zb3BoeTwvYT48dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L2ZyZWUtc3cuaHRtbCI+VGhlIEZyZWUgU29mdHdhcmUgRGVmaW5pdGlvbjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvcGhpbG9zb3BoeS9wcmFnbWF0aWMuaHRtbCI+Q29weWxlZnQ6IFByYWdtYXRpYyBJZGVhbGlzbTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvcGhpbG9zb3BoeS9mcmVlLWRvYy5odG1sIj5GcmVlIFNvZnR3YXJlIGFuZCBGcmVlIE1hbnVhbHM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvc2VsbGluZy5odG1sIj5TZWxsaW5nIEZyZWUgU29mdHdhcmU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvZnMtbW90aXZlcy5odG1sIj5Nb3RpdmVzIGZvciBXcml0aW5nIEZyZWUgU29mdHdhcmU8L2E+PC9saT4KCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L3JpZ2h0LXRvLXJlYWQuaHRtbCI+VGhlIFJpZ2h0IFRvIFJlYWQ8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvb3Blbi1zb3VyY2UtbWlzc2VzLXRoZS1wb2ludC5odG1sIj5XaHkgT3BlbiBTb3VyY2UgTWlzc2VzIHRoZSBQb2ludCBvZiBGcmVlIFNvZnR3YXJlPC9hPjwvbGk+PC91bD48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvc2l0ZW1hcCI+Q29tcGxldGUgc2l0ZW1hcDwvYT48L2xpPgogICAgICA8L3VsPgogICAgICAKICAgIDwvZGl2PgogICAgPC9kaXY+CjwvbmF2PgoKPC9kaXY+Cgk8L2Rpdj4KCgk8cCBpZD0iZnNmcyIgY2xhc3M9ImMgdmlzdWFsTm9QcmludCBub01vYmlsZSI+PHNtYWxsPlRoZSBGU0YgYWxzbyBoYXMgc2lzdGVyIG9yZ2FuaXphdGlvbnMgaW4gPGEgaHJlZj0iaHR0cDovL3d3dy5mc2ZmcmFuY2Uub3JnL2luZGV4LmVuLmh0bWwiPkZyYW5jZTwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmbGEub3JnLyI+TGF0aW4gQW1lcmljYTwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmZXVyb3BlLm9yZyI+RXVyb3BlPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL2ZzZi5vcmcuaW4vIj5JbmRpYTwvYT4uPC9zbWFsbD48L3A+CgoJPC9kaXY+CgoJPC9kaXY+CgoKCgoJPC9mb290ZXI+Cgk8L2Rpdj4KCgkgICAgPCEtLQoJPHJkZjpSREYgeG1sbnM9Imh0dHA6Ly93ZWIucmVzb3VyY2Uub3JnL2NjLyIKCQkgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgoJCSB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgoJPFdvcmsgcmRmOmFib3V0PSJodHRwOi8vd3d3LmZzZi5vcmcvIj4KCTxkYzp0aXRsZT5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb248L2RjOnRpdGxlPgoJPGRjOmRlc2NyaXB0aW9uPlRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEZTRikgaXMgYSBub25wcm9maXQgd2l0aCBhIHdvcmxkd2lkZSBtaXNzaW9uIHRvIHByb21vdGUgY29tcHV0ZXIgdXNlciBmcmVlZG9tIGFuZCB0byBkZWZlbmQgdGhlIHJpZ2h0cyBvZiBhbGwgZnJlZSBzb2Z0d2FyZSB1c2Vycy48L2RjOmRlc2NyaXB0aW9uPgoJPGxpY2Vuc2UgcmRmOnJlc291cmNlPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvdXMvIiAvPgoJPC9Xb3JrPgoJPExpY2Vuc2UgcmRmOmFib3V0PSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvdXMvIj4KCTwvTGljZW5zZT4KCTwvcmRmOlJERj4KCS0tPgoKCTxkaXYgY2xhc3M9ImMgdmlzdWFsTm9QcmludCBub01vYmlsZSIgaWQ9InBvd2VyZWQtYnkiPgoKCTxoNSBjbGFzcz0ibmV0c2NhcGU0Ij5mc2Yub3JnIGlzIHBvd2VyZWQgYnk6PC9oNT4KCgk8dWw+Cgk8bGkgaWQ9InBvd2VyZWQtYnktcGxvbmUiPjxhIGhyZWY9Imh0dHA6Ly9wbG9uZS5vcmciIHRpdGxlPSJQbG9uZSBQb3dlcmVkIj5QbG9uZTwvYT48L2xpPgoJPGxpIGlkPSJwb3dlcmVkLWJ5LXpvcGUiPjxhIGhyZWY9Imh0dHA6Ly96b3BlLm9yZyIgdGl0bGU9IlBvd2VyZWQgYnkgWm9wZSI+Wm9wZTwvYT48L2xpPgoJPGxpIGlkPSJwb3dlcmVkLWJ5LXB5dGhvbiI+PGEgaHJlZj0iaHR0cDovL3B5dGhvbi5vcmciIHRpdGxlPSJQb3dlcmVkIGJ5IFB5dGhvbiI+UHl0aG9uPC9hPjwvbGk+Cgk8bGkgaWQ9InBvd2VyZWQtYnktY2l2aWNybSI+PGEgaHJlZj0iaHR0cDovL2Npdmljcm0ub3JnIiB0aXRsZT0iUG93ZXJlZCBieSBDaXZpQ1JNIj5DaXZpQ1JNPC9hPjwvbGk+Cgk8bGkgaWQ9InBvd2VyZWQtYnktaHRtbDUiPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL2h0bWwiPkhUTUw1PC9hPjwvbGk+Cgk8L3VsPgoKCTwvZGl2PgoKICAgICAgICA8cCBjbGFzcz0iYyIgc3R5bGU9Im1hcmdpbi10b3A6IDEycHg7Ij48YSBocmVmPSIvYWJvdXQvZmluYW5jaWFsIj48aW1nIHNyYz0iLy9zdGF0aWMuZnNmLm9yZy9ub3N2bi9wbG9uZTMvY2hhcml0eS80c3Rhcjg4eDMxLmdpZiIgYWx0PSJGb3VyIHN0YXIgY2hhcml0eSIgLz48L2E+PC9wPgoKICAgICAgICA8Zm9ybSBjbGFzcz0iYyIgYWN0aW9uPSIuLyIgbWV0aG9kPSJnZXQiIGlkPSJjaG9vc2UtbGFuZ3VhZ2UiPgo8cD48c2VsZWN0IG5hbWU9InNldF9sYW5ndWFnZSI+CiAgPG9wdGlvbiB2YWx1ZT0iYXIiPkFyYWJpYzwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImJlIj5CZWxhcnVzc2lhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImJnIj5CdWxnYXJpYW48L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJjYSI+Q2F0YWxhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InpoIj5DaGluZXNlPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ia3ciPkNvcm5pc2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJjcyI+Q3plY2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJkYSI+RGFuaXNoPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iZW4iIHNlbGVjdGVkPSJzZWxlY3RlZCI+RW5nbGlzaDwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImZyIj5GcmVuY2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJkZSI+R2VybWFuPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iZWwiPkdyZWVrPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iaGUiPkhlYnJldzwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImhpIj5IaW5kaTwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9Iml0Ij5JdGFsaWFuPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iamEiPkphcGFuZXNlPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ia28iPktvcmVhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9Im5vIj5Ob3J3ZWdpYW48L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJwbCI+UG9saXNoPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0icHQiPlBvcnR1Z3Vlc2U8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJwdC1iciI+UG9ydHVndWVzZSAoQnJhemlsKTwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InJvIj5Sb21hbmlhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InJ1Ij5SdXNzaWFuPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ic2siPlNsb3Zhazwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImVzIj5TcGFuaXNoPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ic3YiPlN3ZWRpc2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJ0ciI+VHVya2lzaDwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InVyIj5VcmR1PC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iY3kiPldlbHNoPC9vcHRpb24+Cjwvc2VsZWN0PiAmbmJzcDsgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlbGVjdCBsYW5ndWFnZSI+PC9wPgo8cD48c21hbGw+U2VuZCB5b3VyIGZlZWRiYWNrIG9uIG91ciB0cmFuc2xhdGlvbnMgYW5kIG5ldyB0cmFuc2xhdGlvbnMgb2YgcGFnZXMgdG8gPGEgaHJlZj0ibWFpbHRvOmNhbXBhaWduc0Bmc2Yub3JnIj5jYW1wYWlnbnNAZnNmLm9yZzwvYT4uPC9zbWFsbD48L3A+CjwvZm9ybT4KCgk8L2Rpdj4gCgoKCgoKCTwvYm9keT4KCTwvaHRtbD4KCgk%3D">Free Software Foundation</A>
++ <DT><A HREF="http://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
+ <DT><A HREF="http://libreplanet.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC/v78AAAAAAPLy9ABsbakA/f3+APn5+QC6ur0A6urqAEpLbQACBLQApKW3AAULuQDMzMwAGBiDAL29vQCgocsAgnzJALu82QA+PpsAAQOvAOjo6ADZ2dkAysrKALS0zwD5+foAAgKRAAYGdQD19fUADhOjAAQJyACrnqIAxMTLAOnp7gDm5uYAzczNACgobwDg2dEAQkaeAA0RkAAUFnEA0MvQAIBzgAANDYsAk5OyAOTk5ADy8vYA1dXVAD8/cADGxsYA+fn7AAMHvgBzZnQApqauAAEGuQDExMQAAAGmAAoLmgADCMQAxMTdAAwPlwD+/v4ABg7MAF5ehADg4OAA0dHRAAAAoQAYEXAAwsLCALCxwQBnadkAAQGWAPz8/ACgoLgAbm6RANvb5wDr6+sA0dHSALe3uQADB8AAzc3NAGFhbAABAZcAOTtlALi4xwAAAJoA/Pz9AAQHnwADBJcACQl4AFVa3AChl6EAAgW2ABscdAABAq4A2NjYAAAAmwDAwMoAAQKmAAcMswDR0eQAAQSxANvX2wB4aXcAAQGpAAAAkwDW1tYAAgSpACIZZAAAAaEA+vr8AKuirAACBbcA8vLyALOztgADBZYAAACcAAACpwAEA6QAAQKnAPT09QD///8AvL3UADIpigDw8PAABwWOAK6dogBub4kAiozDANLS0gAFC8gAAgW4AP39/QAAAJ0A0NDQAMHBwQDp6ewACg2RAAIFqAAKCokA+/v7AAkOnwAAAaMA7OzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4eHh4eHh4eHh4eHh4AXh4eHhlbikzZlooeHh4eAF4eHh4hX1JVFweInh4eHgBeHh4XmlAGXNGSB8VeHh4AXg8LhaGcV9zKg0wQF54eAF4K0NNOGthjXNCUwAMS3gBPC82iW+CCRN2Iz4wTwx4AW0GgCc5OU41VnSKTBoOiwEFTz8hHIF5RANdQVRfNIMBeBUhe0o9jB0Pcjdzc1E8AXgsB3AbUlkQRVtnhHNoeAF4i45wJCAlYjJbdYRfY3gBeDwmEn4XMToKZDd6WDx4AXh4VTsIfwt3FGpsfAR4eAF4eHgEEYhQAodXYDx4eHgBeHh4eHg8GC1HPHh4eHh4AQABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAA%3D">LibrePlanet</A>
+ <DT><A HREF="http://www.gnu.org/software/gnuzilla/addons.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">Free addons</A>
+ <DT><A HREF="http://www.h-node.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC7zrYAWYhNANjj1QA9fEcAEEwBAHTQkwAeVRkAPXMvALvOtwASVQEAHFcUAH/bpgB60p8AKnQmAGO1fgAjaRwALmA1AA5EAQDM2sgAN3ApAG7EjgC5zbQAVJxrAChwIgC0ya8ALmczAHXJmQBNf0EAgd6oADhwKgC8z7cA7vPtANTg0QANPwAARIhSADtyLQBzzpQAus21AEeKVQDC070AieyzALzPuAB93qEALGYvAO/z7gBEiVAAasWFAFuJTwBKil4AXotSAEuKXgAORQEAD0gBABlDFwBWpmoALGYwAGCNVQAbYBAAHGAQABBOAQCI6rIAjPG3AB1bDgAaXg4A////AGaRWwB/2qYAUYJEAEx+PwAZXAwAm7eUAD51MADN28oAJmwhACRiFAAzeTYAasaFAB9eDwBkt34Aus62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09PT09PT09PT09PT09PT09PT0OIjALPRQmMkI9PT09PT09OkcHNQU+Q0oQPT09PT09PToVGDQtI0ABKz09PT09PT06JRg0Nh1ALxk9PT09PT09OiUYIS4TQC83PT09PT09PTpPSDsGG0BEAz09PT09PT06T0BGMRIsTRY9PT09PT09OgACJx8gQwooPT09PT09PToICAkJCUkkPT09PT09PT05HggETio9PT09PT09PT09Px4IERw9PT09PT09PT09PUUpCDMMPT09PT09PT09PT0NOEEEGj09PT09PT09PT09TBcPSzw9PT09PT09PT09PT09PT09PT09PT09PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D">h-node</A>
@@ -636,7 +310,7 @@ diff -Naur icecat-13.0.1/mobile/android/app/mobile.js icecat-13.0.1-libre/mobile
diff -Naur icecat-13.0.1/mobile/locales/en-US/chrome/region.properties icecat-13.0.1-libre/mobile/locales/en-US/chrome/region.properties
--- icecat-13.0.1/mobile/locales/en-US/chrome/region.properties 2012-07-12 14:27:37.000000000 -0300
+++ icecat-13.0.1-libre/mobile/locales/en-US/chrome/region.properties 2012-07-17 22:01:03.952816711 -0300
-@@ -1,18 +1,16 @@
+@@ -1,18 +1,18 @@
# Default search engine
-browser.search.defaultenginename=Google
+browser.search.defaultenginename=Duck Duck Go (Lite)
@@ -651,8 +325,10 @@ diff -Naur icecat-13.0.1/mobile/locales/en-US/chrome/region.properties icecat-13
-browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
-browser.contentHandlers.types.1.title=Google
-browser.contentHandlers.types.1.uri=http://fusion.google.com/add?feedurl=%s
-+#browser.contentHandlers.types.0.title=
-+#browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.0.title=
++browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.1.title=
++browser.contentHandlers.types.1.uri=about:blank
# Keyword URL (for location bar searches)
-keyword.URL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
@@ -660,22 +336,24 @@ diff -Naur icecat-13.0.1/mobile/locales/en-US/chrome/region.properties icecat-13
# increment this number when anything gets changed in the list below. This will
# cause Firefox to re-read these prefs and inject any new handlers into the
-@@ -22,11 +20,9 @@
+@@ -22,11 +20,11 @@
gecko.handlerService.defaultHandlersVersion=2
# The default set of protocol handlers for webcal:
-gecko.handlerService.schemes.webcal.0.name=30 Boxes
-gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s
-+#gecko.handlerService.schemes.webcal.0.name=
-+#gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
++gecko.handlerService.schemes.webcal.0.name=
++gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
# The default set of protocol handlers for mailto:
-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
-gecko.handlerService.schemes.mailto.0.uriTemplate=http://compose.mail.yahoo.com/?To=%s
-gecko.handlerService.schemes.mailto.1.name=Gmail
-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
-+#gecko.handlerService.schemes.mailto.0.name=
-+#gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.0.name=
++gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.1.name=
++gecko.handlerService.schemes.mailto.1.uriTemplate=about:blank
diff -Naur icecat-13.0.1/mobile/xul/app/mobile.js icecat-13.0.1-libre/mobile/xul/app/mobile.js
--- icecat-13.0.1/mobile/xul/app/mobile.js 2012-07-12 14:27:37.000000000 -0300
+++ icecat-13.0.1-libre/mobile/xul/app/mobile.js 2012-07-17 22:08:34.513828987 -0300
diff --git a/libre/iceweasel-i18n/PKGBUILD b/libre/iceweasel-i18n/PKGBUILD
index 9e0469437..2f2c1be72 100644
--- a/libre/iceweasel-i18n/PKGBUILD
+++ b/libre/iceweasel-i18n/PKGBUILD
@@ -9,8 +9,8 @@
# - Run 'make'. It will take care of everything else for you.
_debname=iceweasel
-_debver=13.0.1
-_debrel=2
+_debver=14.0.1
+_debrel=1
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
@@ -20,9 +20,9 @@ pkgbase=iceweasel-i18n
pkgname=($(for lang in ${_langpacks[@]}
do echo $pkgbase-$lang | tr A-Z a-z
done))
-_pkgver=13.0.1
+_pkgver=14.0.1
pkgver=${_debver}.${_debrel}
-pkgrel=1
+pkgrel=2
pkgdesc="Language packs for Debian Iceweasel."
arch=('any')
@@ -56,87 +56,87 @@ package_iceweasel-i18n-$(echo $lang | tr A-Z a-z)() {
"
done
-md5sums=('757e700b430500bd1bc4a32531c9c5c2'
- 'beb404a571e3e666de849e3ccd6887c4'
- '3bef09f6330c11c43eaa3b2349d65172'
- '8abaeec4486169bb85be05f289c0eae9'
- '55d5c50733a1d08acbd85292cb596589'
- '10ed3b7da37259a870507287b026f69c'
- '8ef3e6cea973059a328eb5792a507e5d'
- '64a37cd546b0e092ddd2495e8ee8fb33'
- 'ce9a0bbdc6715ba9350050dcb640201a'
- '5506b1e58bb9e8a100b1c7a527f95dcf'
- '6920f4fb2d266d5839872a254a41c760'
- '73f6d4a70be7b0f0c15627e72685d402'
- '695fb3e883e6949d1ad13460389dbec2'
- 'c0ed06cb371edb89d2c42f4175dd8ab7'
- '074429b21f92d61db196d49d60fef32d'
- '9e4b3ecf3ecc9b577e5f8c33df68c006'
- '8e3b3090910d5d2b40b5deb0ee589359'
- 'a6c969cb9a8c97a548a16422ac4e2664'
- '6394347deb1924c46992eb9d5e9498c9'
- 'de44e8a2e3e8de215fdf6b6f6399f88f'
- '57b8a69ff712d6416160a5c5c61e6ba7'
- 'dd453683292ad2f2181e720a6b834f11'
- '04d2d05e22208106b67cc136d2b66892'
- 'f5474e87498f8da3ed27b11816a64906'
- '6d60eabb499c2e672a5ebc5ea32c6c58'
- '91b86461bfc8f1728d1b4e55d102622c'
- '525e770773177bbdb2c8ad14ffb4534b'
- '98139e2c2c1cc11e6d47a46b2483c290'
- '295ee591cc1480da7b2adacf470c1ab1'
- 'a95c27e109eb5768b1ce4dbf3e58ddca'
- 'b8dccb786a16c6ebf8c015997aa96577'
- 'a647e17fd8c7c9d039c140e36c3e18a7'
- 'd20309e9a6092e9a7a92c1ded0d55f62'
- 'e0e5948c8353d3de76912884edc20297'
- '8d0bf7dbb40e06495d8c749758163246'
- 'f34d9ec431acc2b1178ac3cdbfae3856'
- 'cb68c4036bdb9ac69428a035e04668dc'
- '2949b4e18de48b29c62ef03b3ba4f94d'
- 'aec2a61b12f7e5dac2f46251407c6b47'
- '60285cbb93249fea5d5afba3dbaf115f'
- 'c3f33724ded35468760aac7816b2b591'
- 'dc9b02972a247dc5fbeabcc42942c4ac'
- '512bffe5f782e92da15bc4c9b2035ded'
- '3c04ca7f6d726e417dc1459eaa8bc068'
- 'd8526259b9560e9164862df34db555a7'
- 'af3630dbd3a327ce99edf96b8cb35dce'
- 'ffeb0437949a5e623b12dbcde41b6d39'
- 'c653d9c9101394d29c5f5a3b7bf510e1'
- 'b31c230e4cbf3d1f73b499509ff3e805'
- '548228527e6772ee5f457fff41826b02'
- '40b5e98319effec4f1605a831c393cda'
- '09899eacc5d1e61767a87ecd093267d8'
- '1907de3acaa8e4c99539f99c0442770e'
- 'dc4cdef93b037e40ee6fd3f4c0848e29'
- '409e9fa01c0b2982ba7e335d7001b905'
- 'c30fed12e22cf16ea86374ca541a32aa'
- 'a9cc0798968851f51521399171e1454f'
- '6b53e84454a196870e631db5859fa9f3'
- '7939907fff93c0b984b445d8ea603baf'
- '7370eca015e6ed0289a9db4e5f4cd908'
- '84eaa820922b25b9b16724099a78c139'
- '23f15310ffd0d70d3aaf9b37436a16bb'
- 'a4063289c46317f0d351f11e8a0d1527'
- '012417e2c4b0d2e597273f988b9f877b'
- '3feaddb7edef32adfc561aa3eeedafe8'
- '69fc663f9951867c9139a3a39973e0a5'
- 'a9c3fed813c45fd32b17576a32ccf35a'
- '01fe030c2949facb8512a667e9e6e9ee'
- 'f8d63b2ae7d24753422e266224de32d2'
- '335ce46bda9f0a69414dc180ea780a70'
- 'a0b4ef73ad4322ea536d08918d630c9f'
- '39380afb97827cde59536c81310de562'
- '06930aeffde351d14554de1f0f93728b'
- '3d1fe2feefd0e44c213360c405006a98'
- '3f0af6bbd75b45b7703f35e3e594a7a7'
- '89f90e0a35b81423257b113a37a71681'
- '24fc060c80197d73585902fec40de1bf'
- '7738a9596bf1e198c6de3ec3e694e7eb'
- '8fbf72bb8c1d5cfc7dbcb02af506da3c'
- '8790e5d8e5317fba199bfb3f135847bc'
- 'd768e2190bcea36233625d948d879b39'
- '3bac90764599a61b14f82e9a51d72d36'
- 'eb3d0fa986f6ffd54f2bb48fc482227e'
- '3c8166c380597924871688c8c6bf795c')
+md5sums=('8492bffee2bd98cb7d98a8a53e0f17ae'
+ '5497ed6ceb6e975eba24a5bf05f86a89'
+ '314f16038bdb82e59bf3522efe3a6b70'
+ '20d404c6f61846e7bf5c4d2474d3a394'
+ 'f80eefbad17d03ff38514f3bcc179f1a'
+ '8b2a7ec06160c973a323c38a7a0b25d5'
+ '8b5496a243674eb3960ac6dc5a2f6b88'
+ 'b75cae5fb01515ab9aeb8ca941ce88eb'
+ '89f20e820d1aaf08cef2a59ee3859239'
+ '4431e91bbbe395b86da48b66ac689fb9'
+ '9fab9ef9ad5dd46c8ae51973dfaffaaa'
+ '32f8d7861a46407d76b1310566845afe'
+ 'e000671c0b3fd89e76b763a7980f707e'
+ 'd14e72cddb190f0a58275624b1982e4c'
+ 'd55c847a44918c6fee6bbf4ac8d9e4a7'
+ 'c5a4568e1dac75a863f281bfeb000ead'
+ 'fe51ca24871979a37bcca24d7b3b2da1'
+ 'e702787ad3ff4c1d20dedf55321dc335'
+ 'dfcb47fda64599a5704da757c7c04377'
+ 'b0a1cbb9cfe5265989cf3b26e8109fd8'
+ 'cd060b883cd7586e249c541c26dd642e'
+ '5d23943dff2735703e4995fc8321bf3d'
+ 'e389f9cb80945608c198a890258377cb'
+ '32a1798b0e137097e7f00c27f0e6aa2a'
+ '9003c830b3f8ee4b8950b1f406acf0b0'
+ '5e7e3f5ff49d7070f6de4bc6d64875d6'
+ '891331124222b316a13ba45bc87a7c23'
+ '21aa289ad236bf6849d96b0b9d985fbe'
+ '64c9579f00c738bd824466a7212e76fe'
+ 'b89e729d09c3c54e9849f665bedf60db'
+ 'e40fda3e233e042447a9e10cc0cd0f76'
+ '8c813e20e712dc3d62cde69ee2df2d28'
+ '7fff1d836a0c4f8a5ef41c9f4b56b2a9'
+ '916f163b9e0814bc23f1545d18238c79'
+ '2cdab3c133f7d7d5abc54bed1ac654a9'
+ '2d9d97bbdb568296380cdee5ec61ba88'
+ '43e6ce7d51e734bf3aaff68504d8ebee'
+ 'af8f80eefcf1d795a7aaf25f694b6e97'
+ 'c4336d1a4eb59cc4e415a69d22a682a7'
+ 'be4a6850f76eb144079c7a47de678b66'
+ 'a4826c1b2e19216759224252f09ba552'
+ '47ee1757a64cdfcb9c0ba461fb934377'
+ '4f144397e5235862f90e09a6ebae1571'
+ '16e4bb054604c5cdb583a10456a35a2c'
+ '0dfaf8cc5efaf39b4ed2422497a3043f'
+ 'e5b809e55fe4e3b16229a7e1faa160b6'
+ '8f317ab44eed90cb59be734dd805287b'
+ '3797507f353a6978924a273802d178b9'
+ 'a1a7df582e476a7993ebbcb427835256'
+ 'a833481b7c6d26cc679f1a551014ab7c'
+ 'fb5d99c278d75c30891bae95f8337fd1'
+ '7f02751d991432d72c46247520d3ed67'
+ '96fde2477e2e661794c4ddabe1c9d024'
+ '7b1948761da836466f567ec35b54ff82'
+ '0d8cc6d0b2a53d15e32740a463cff1cc'
+ '571b6d2d461f7cb3ec95632b8d75c65c'
+ 'a01e65b75b8dd78dcaf0ff746fc71b92'
+ 'de2a327304a0f659944e7ae9e39fa877'
+ 'a12943272a14455a19761e4564c2f0f8'
+ '9eca996185f4995dc971f27c22447404'
+ 'cf248c1ea91e55c9aa306437abbcf212'
+ 'f2cbcdf897307bdd95f886d95504264b'
+ '2863ef939be42a0422d7e903122ee89c'
+ '2df4ff00f83b650cf69e8b3a27099c20'
+ 'cda3838e681f461c9ea833ed71fb72b8'
+ 'c6bf73b7e7357e050cbe772cf460f442'
+ '5f61a368a50280f0b293a8b11631c673'
+ '418d85a6fae1e9cdde6e8aaeea594b99'
+ 'e7e145a331920a2fcd1c00a80f3d9279'
+ 'b9bc820720e8fbb1c28229c66310dcbf'
+ 'bb9d826ead65c23bd45090206f0f6f25'
+ '7a72bd76a2087efca618c4cf7cd6ea60'
+ 'a06bf452b96c0dcef7d30a390b5c755d'
+ '0f6605afb8dddab2d2dc4110e3a62c3f'
+ '3dd7cc1afef4d2bfcfadb3093fe979c1'
+ '6a63bd1463f7d75172170e8e18c3443b'
+ '1c9887f019c8ffb71b3d9faa3b2120ba'
+ '38c750ddb41b8d61a2073d0cb67bc6d9'
+ 'e1d6e4b2f34af391c2037b331fd566f8'
+ 'a950f7a77c9ba4fb0142107afdcc4a01'
+ '0fe08f2659b34b1ee8ebd7debf2d9d13'
+ 'af8af0b941b1bd26ee4122f4e99f7f55'
+ 'e3d1f71617331226bbeb4cb829a2c0be'
+ '6623cab16c266630f9f56427d22cb5df')
diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD
index fff9a3a21..23423e428 100644
--- a/libre/iceweasel-libre/PKGBUILD
+++ b/libre/iceweasel-libre/PKGBUILD
@@ -15,14 +15,14 @@ _pgo=false
# We're getting this from Debian Sid
_debname=iceweasel
_debver=14.0.1
-_debrel=1
+_debrel=2
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
_pkgname=iceweasel
pkgname=iceweasel-libre
pkgver=${_debver}.${_debrel}
-pkgrel=1
+pkgrel=2
if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi
if $_pgo; then
@@ -53,11 +53,11 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
shared-libs.patch
Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch)
md5sums=('8e4f3987d37c8e73b168948d0771b872'
- 'fca50bc0a4327c1389349be7939c14bd'
+ '8689c150a4d3a0a688ad2db6044feac6'
'eab149c1994ab14392e55af3abb08e80'
'ac29b01c189f20abae2f3eef1618ffc0'
'a485a2b5dc544a8a2bd40c985d2e5813'
- 'ed909b5b61f36a81a71989b7daeb2545'
+ '6d8816d2577263556d76f1aa4527b55b'
'e529742c0a425648087bc3ce537fe4c5'
'0d053487907de4376d67d8f499c5502b'
'52e52f840a49eb1d14be1c0065b03a93'
diff --git a/libre/iceweasel-libre/libre.patch b/libre/iceweasel-libre/libre.patch
index b136cb4ad..9ffaf3a9a 100644
--- a/libre/iceweasel-libre/libre.patch
+++ b/libre/iceweasel-libre/libre.patch
@@ -66,7 +66,7 @@ diff -urN iceweasel-13.0.orig/browser/app/profile/firefox.js iceweasel-13.0/brow
diff -urN iceweasel-14.0.1.orig/browser/locales/en-US/chrome/browser-region/region.properties iceweasel-14.0.1/browser/locales/en-US/chrome/browser-region/region.properties
--- mozilla-release.orig/browser/locales/en-US/chrome/browser-region/region.properties 2012-06-01 09:03:48.000000000 -0300
+++ mozilla-release/browser/locales/en-US/chrome/browser-region/region.properties 2012-06-15 02:17:00.978636665 -0300
-@@ -1,23 +1,21 @@
+@@ -1,23 +1,23 @@
# Default search engine
-browser.search.defaultenginename=Google
+browser.search.defaultenginename=Duck Duck Go (Lite)
@@ -85,8 +85,10 @@ diff -urN iceweasel-14.0.1.orig/browser/locales/en-US/chrome/browser-region/regi
-browser.contentHandlers.types.0.uri=http://fusion.google.com/add?feedurl=%s
-browser.contentHandlers.types.1.title=My Yahoo!
-browser.contentHandlers.types.1.uri=http://add.my.yahoo.com/rss?url=%s
-+#browser.contentHandlers.types.0.title=
-+#browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.0.title=
++browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.1.title=
++browser.contentHandlers.types.1.uri=about:blank
# URL for site-specific search engines
# TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site
@@ -97,22 +99,24 @@ diff -urN iceweasel-14.0.1.orig/browser/locales/en-US/chrome/browser-region/regi
# increment this number when anything gets changed in the list below. This will
# cause Firefox to re-read these prefs and inject any new handlers into the
-@@ -27,19 +25,17 @@
+@@ -27,19 +27,19 @@
gecko.handlerService.defaultHandlersVersion=3
# The default set of protocol handlers for webcal:
-gecko.handlerService.schemes.webcal.0.name=30 Boxes
-gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s
-+#gecko.handlerService.schemes.webcal.0.name=
-+#gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
++gecko.handlerService.schemes.webcal.0.name=
++gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
# The default set of protocol handlers for mailto:
-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
-gecko.handlerService.schemes.mailto.0.uriTemplate=http://compose.mail.yahoo.com/?To=%s
-gecko.handlerService.schemes.mailto.1.name=Gmail
-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
-+#gecko.handlerService.schemes.mailto.0.name=
-+#gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.0.name=
++gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.1.name=
++gecko.handlerService.schemes.mailto.1.uriTemplate=about:blank
# The default set of protocol handlers for irc:
-gecko.handlerService.schemes.irc.0.name=Mibbit
@@ -127,7 +131,7 @@ diff -urN iceweasel-14.0.1.orig/browser/locales/en-US/chrome/browser-region/regi
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net/
diff -urN iceweasel-13.0.orig/build/pgo/blueprint/elements.html iceweasel-13.0/build/pgo/blueprint/elements.html
--- mozilla-build.orig/build/pgo/blueprint/elements.html 2012-06-01 09:03:49.000000000 -0300
-+++ mozilla-build/build/pgo/blueprint/elements.html 2012-06-05 20:37:22.059133787 -0300
++++ mozilla-build/build/pgo/blueprint/elements.html 2012-06-05 20:37:22.059133787 -0300
@@ -143,7 +143,7 @@
</p>
<p>
@@ -195,7 +199,7 @@ diff -urN iceweasel-13.0.orig/layout/ipc/test-ipcbrowser.xul iceweasel-13.0/layo
diff -urN iceweasel-14.0.1.orig/mobile/xul/app/mobile.js iceweasel-14.0.1/mobile/xul/app/mobile.js
--- mozilla-build.orig/mobile/xul/app/mobile.js 2012-06-01 09:04:14.000000000 -0300
+++ mozilla-build/mobile/xul/app/mobile.js 2012-06-05 20:48:20.193241600 -0300
-@@ -221,13 +221,13 @@
+@@ -221,13 +221,12 @@
/* preferences for the Get Add-ons pane */
pref("extensions.getAddons.cache.enabled", true);
pref("extensions.getAddons.maxResults", 15);
@@ -212,11 +216,10 @@ diff -urN iceweasel-14.0.1.orig/mobile/xul/app/mobile.js iceweasel-14.0.1/mobile
+pref("extensions.getAddons.search.url", "http://www.gnu.org/s/gnuzilla/addons.html");
+pref("extensions.getAddons.browseAddons", "http://www.gnu.org/s/gnuzilla/addons.html");
+pref("extensions.getAddons.get.url", "http://www.gnu.org/s/gnuzilla/addons.html");
-+pref("extensions.getAddons.getWithPerformance.url", "http://www.gnu.org/s/gnuzilla/addons.html");
/* preference for the locale picker */
pref("extensions.getLocales.get.url", "");
-@@ -247,7 +247,7 @@
+@@ -247,7 +246,7 @@
pref("dom.disable_window_open_dialog_feature", true);
pref("keyword.enabled", true);
@@ -228,7 +231,7 @@ diff -urN iceweasel-14.0.1.orig/mobile/xul/app/mobile.js iceweasel-14.0.1/mobile
diff -urN iceweasel-13.0.orig/mobile/locales/en-US/chrome/region.properties iceweasel-13.0/mobile/locales/en-US/chrome/region.properties
--- mozilla-release.orig/mobile/locales/en-US/chrome/region.properties 2012-06-01 09:04:14.000000000 -0300
+++ mozilla-release/mobile/locales/en-US/chrome/region.properties 2012-06-15 02:17:43.446130868 -0300
-@@ -1,18 +1,16 @@
+@@ -1,18 +1,18 @@
# Default search engine
-browser.search.defaultenginename=Google
+browser.search.defaultenginename=Duck Duck Go (Lite)
@@ -243,8 +246,10 @@ diff -urN iceweasel-13.0.orig/mobile/locales/en-US/chrome/region.properties icew
-browser.contentHandlers.types.0.uri=http://add.my.yahoo.com/rss?url=%s
-browser.contentHandlers.types.1.title=Google
-browser.contentHandlers.types.1.uri=http://fusion.google.com/add?feedurl=%s
-+#browser.contentHandlers.types.0.title=
-+#browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.0.title=
++browser.contentHandlers.types.0.uri=about:blank
++browser.contentHandlers.types.1.title=
++browser.contentHandlers.types.1.uri=about:blank
# Keyword URL (for location bar searches)
-keyword.URL=https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=
@@ -252,24 +257,25 @@ diff -urN iceweasel-13.0.orig/mobile/locales/en-US/chrome/region.properties icew
# increment this number when anything gets changed in the list below. This will
# cause Firefox to re-read these prefs and inject any new handlers into the
-@@ -22,11 +20,9 @@
+@@ -22,11 +22,11 @@
gecko.handlerService.defaultHandlersVersion=2
# The default set of protocol handlers for webcal:
-gecko.handlerService.schemes.webcal.0.name=30 Boxes
-gecko.handlerService.schemes.webcal.0.uriTemplate=http://30boxes.com/external/widget?refer=ff&url=%s
-+#gecko.handlerService.schemes.webcal.0.name=
-+#gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
++gecko.handlerService.schemes.webcal.0.name=
++gecko.handlerService.schemes.webcal.0.uriTemplate=about:blank
# The default set of protocol handlers for mailto:
-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail
-gecko.handlerService.schemes.mailto.0.uriTemplate=http://compose.mail.yahoo.com/?To=%s
-gecko.handlerService.schemes.mailto.1.name=Gmail
-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
-+#gecko.handlerService.schemes.mailto.0.name=
-+#gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
-
-diff -urN iceweasel-14.0.1.orig/modules/libpref/src/init/all.js iceweasel-14.0.1/modules/libpref/src/init/all.js
++gecko.handlerService.schemes.mailto.0.name=
++gecko.handlerService.schemes.mailto.0.uriTemplate=about:blank
++gecko.handlerService.schemes.mailto.1.name=
++gecko.handlerService.schemes.mailto.1.uriTemplate=about:blank
+diff -urN iceweasel-14.0.orig/modules/libpref/src/init/all.js iceweasel-14.0/modules/libpref/src/init/all.js
--- mozilla-build.orig/modules/libpref/src/init/all.js 2012-06-01 09:04:16.000000000 -0300
+++ mozilla-build/modules/libpref/src/init/all.js 2012-06-05 20:55:41.569045759 -0300
@@ -47,7 +47,7 @@
@@ -325,22 +331,24 @@ diff -urN iceweasel-14.0.1.orig/browser/locales/generic/profile/bookmarks.html.i
+ </DL><p>
+ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3>
+ <DL><p>
-+ <DT><A HREF="http://www.fsf.org/" ICON="data:text/html;base64,Cgk8IURPQ1RZUEUgaHRtbD4KCgk8aHRtbCBsYW5nPSJlbiI+CgoJICAgIAogICAgCiAgICAKICAgIAogICAgCgoJICA8aGVhZD4KCSAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KCgkKCgkgICAgCgkgICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250ZW50PSJJRT1lZGdlIiAvPgoKCSAgICAKCQk8YmFzZSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvZnJlZS1zb2Z0d2FyZS1mb3VuZGF0aW9uIiAvPjwhLS1baWYgbHQgSUUgN10+PC9iYXNlPjwhW2VuZGlmXS0tPgoJICAgIAoKCSAgICAKCQk8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoOyBpbml0aWFsLXNjYWxlPTAuNjY2NjsgbWF4aW11bS1zY2FsZT0xLjA7IG1pbmltdW0tc2NhbGU9MC42NjY2IiAvPgoJCTxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iUGxvbmUgLSBodHRwOi8vcGxvbmUub3JnIiAvPgoJICAgIAoKICAgICAgICAKCgkgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD11dGYtOCIgLz4KCSAgICA8bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9IlBsb25lIC0gaHR0cDovL3Bsb25lLm9yZyIgLz4KCgoJICAgPHRpdGxlPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiAmbWRhc2g7IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiAmbWRhc2g7IHdvcmtpbmcgdG9nZXRoZXIgZm9yIGZyZWUgc29mdHdhcmU8L3RpdGxlPgoKCgkgICAgCgkgICAgCgoJICAgIAoJICAgIAo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoucG9ydGxldC1zdGF0aWMtc3VwcG9ydGVyLC5wb3J0bGV0LXN0YXRpYy1hcHBlYWwtcG9ydGxldCB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O30KI2ZzZi1zaWRlYmFyIHttYXJnaW4tdG9wOiAxMHB4O30KI2JyZWFkY3J1bWJzLXlvdS1hcmUtaGVyZSB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O30KdGFibGUsIHRkLCB0ciwgdGJvZHksIHRoZWFke2JvcmRlcjogMCAhaW1wb3J0YW50O30KPC9zdHlsZT4KCgoJICAgIAoJICAgIAoKCSAgICAKCSAgICAKCgkgICAgPGxpbmsgcmVsPSJjb3B5cmlnaHQiIHRpdGxlPSJDb3B5cmlnaHQgaW5mb3JtYXRpb24iIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5kLzMuMC9yZGYiIC8+CgkgICAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJBdXRob3IgaW5mb3JtYXRpb24iIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9hYm91dC9zdGFmZi8iIC8+CgoJPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0icHJpbnQiIGhyZWY9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vcGxvbmUzL2Nzcy9wcmludC0yMDExLTEwLTEzLmNzcyIgLz4KCTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+IEBpbXBvcnQgdXJsKCcvL3N0YXRpYy5mc2Yub3JnL25vc3ZuL3Bsb25lNC9jc3MvZnNmLTIwMTItMDQtMjMuY3NzJyk7PC9zdHlsZT4KCgoJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGU0YgTmV3cyIgaHJlZj0iLy9zdGF0aWMuZnNmLm9yZy9mc2ZvcmcvcnNzL25ld3MueG1sIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIiAvPgoJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGU0YgRXZlbnRzIiBocmVmPSIvL3N0YXRpYy5mc2Yub3JnL2ZzZm9yZy9yc3MvZXZlbnRzLnhtbCIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgLz4KCTxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRlNGIEJsb2dzIiBocmVmPSIvL3N0YXRpYy5mc2Yub3JnL2ZzZm9yZy9yc3MvYmxvZ3MueG1sIiB0eXBlPSJhcHBsaWNhdGlvbi9yc3MreG1sIiAvPgoJPGxpbmsgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmVlIFNvZnR3YXJlIEpvYnMiIGhyZWY9Ii8vc3RhdGljLmZzZi5vcmcvZnNmb3JnL3Jzcy9qb2JzLnhtbCIgdHlwZT0iYXBwbGljYXRpb24vcnNzK3htbCIgLz4KCTxsaW5rIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iR05VIFByb2plY3QgTmV3cyIgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3Jzcy93aGF0c25ldy5yc3MiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+Cgk8bGluayByZWw9ImFsdGVybmF0ZSIgdGl0bGU9Ik5ldyBGcmVlIFNvZnR3YXJlIiBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvcnNzL3F1YWdnYS5yc3MiIHR5cGU9ImFwcGxpY2F0aW9uL3Jzcyt4bWwiIC8+CgoJPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCIgLz4KCgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgojYnJlYWRjcnVtYnMteW91LWFyZS1oZXJlLAojYnJlYWRjcnVtYnMtaG9tZSwKI2JyZWFkY3J1bWJzLWN1cnJlbnQsCiNicmVhZGNydW1icy0xIHsKICAgIGRpc3BsYXk6IG5vbmU7Cn0KCi5HTlVyZWxlYXNlc3sKCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZTM7CiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOwogICAgY29sb3I6IEJsYWNrOwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICB3aWR0aDogMjAwcHg7CiAgICBwYWRkaW5nOiAxMHB4Owp9CgojcG9ydGFsLWxhbmd1YWdlc2VsZWN0b3Ige2Rpc3BsYXk6IGJsb2NrOyBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsgYm90dG9tOiAxcHg7IGxlZnQ6IDFweDt9Cgo8L3N0eWxlPgoJICA8L2hlYWQ+CgoKCTxib2R5IGNsYXNzPSJ0ZW1wbGF0ZS1mcm9udHBhZ2VfdmlldyBwb3J0YWx0eXBlLWRvY3VtZW50IHNlY3Rpb24tZnJlZS1zb2Z0d2FyZS1mb3VuZGF0aW9uIGljb25zLW9uIiBkaXI9Imx0ciI+CgoJPGRpdiBpZD0iY29vbGlvIj4gPCEtLSB3cmFwcGVyIGRpdiAtLT4KCgk8cCBjbGFzcz0ib25seU1vYmlsZSI+PGEgdGFiaW5kZXg9IjEiIGhyZWY9IiNjb250ZW50Ij5Ta2lwIHRvIGNvbnRlbnQ8L2E+LCA8YSB0YWJpbmRleD0iMiIgaHJlZj0iL3NpdGVtYXAjY29udGVudCI+c2l0ZW1hcDwvYT4gb3IgPGEgdGFiaW5kZXg9IjMiIGhyZWY9Ii9zZWFyY2hfZm9ybSNjb250ZW50Ij5za2lwIHRvIHNlYXJjaDwvYT4uPC9wPgoKCTxkaXYgaWQ9ImhkIiBjbGFzcz0iY3VzdG9tLWRvYyB2aXN1YWxOb1ByaW50Ij4KCTxoZWFkZXI+CgkgICAgCgoJPGgxPjxhIGhyZWY9Ii8iPkZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjwvYT48L2gxPgoKCTxkaXYgaWQ9InBvcnRhbC1wZXJzb25hbHRvb2xzLXdyYXBwZXIiPgoKPGRpdiBpZD0iZnNmLWN1c3RvbSI+Cgo8aDUgY2xhc3M9ImhpZGRlblN0cnVjdHVyZSI+UGVyc29uYWwgdG9vbHM8L2g1PgoKPHVsIGlkPSJwb3J0YWwtcGVyc29uYWx0b29scyI+CiAgCgogICAgCiAgICA8bGk+CiAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvY2FzbG9naW4iIGlkPSJwZXJzb25hbHRvb2xzLWxvZ2luIj5Mb2cgaW48L2E+CiAgPC9saT4KICAgIAogICAgCiAgICA8bGk+CiAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvaGVscC1tZW51IiBpZD0icGVyc29uYWx0b29scy1sb2dpbi1wcm9ibGVtcyI+SGVscCE8L2E+CiAgPC9saT4KICAgIAogICAgCiAgICA8bGk+CiAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYXNzb2NpYXRlL2Fib3V0LXRoZS1tZW1iZXJzLWZvcnVtIiBpZD0icGVyc29uYWx0b29scy1mb3J1bS1wcm9tbyI+TWVtYmVycyBmb3J1bTwvYT4KICA8L2xpPgogICAgCgo8L3VsPgo8L2Rpdj4KPC9kaXY+CgogIDxhIGhyZWY9Imh0dHA6Ly9mc2Yub3JnL2pmYiI+PGltZyBzcmM9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vam9pbi5lbi5wbmciIGFsdD0iSm9pbiBub3ciIHN0eWxlPSJmbG9hdDogcmlnaHQ7IiAvPjwvYT4gCgoJPC9oZWFkZXI+Cgk8L2Rpdj4KCgk8ZGl2IGNsYXNzPSJ5dWktZyBmc2YtbmF2LWZvb3RlciIgaWQ9ImZzZi1uYXYiPgoJPGRpdiBjbGFzcz0ibmF2aSI+CjxkaXY+Cgo8ZGl2IGNsYXNzPSJjdXN0b20tZG9jIj4KCjxuYXY+Cjx1bCBjbGFzcz0ibWFpbi1uYXYgbmF2aWdhdGlvbiI+CjxsaT48YSBocmVmPSIvYWJvdXQvIiB0aXRsZT0iIj5BYm91dDwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL2NhbXBhaWducy8iIHRpdGxlPSIiPkNhbXBhaWduczwvYT48L2xpPgo8bGk+PGEgaHJlZj0iL2Fzc29jaWF0ZS8iIHRpdGxlPSIiPk1lbWJlcnNoaXA8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9yZXNvdXJjZXMvIiB0aXRsZT0iIj5SZXNvdXJjZXM8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9jb21tdW5pdHkvIiB0aXRsZT0iIj5Db21tdW5pdHk8L2E+PC9saT4KPGxpPjxhIGhyZWY9Ii9kb25hdGUvIiB0aXRsZT0iIj5Eb25hdGU8L2E+PC9saT4KPGxpPjxhIGhyZWY9Imh0dHA6Ly9zaG9wLmZzZi5vcmcvIiB0aXRsZT0iIj5TaG9wPC9hPjwvbGk+CjxsaSBjbGFzcz0ib25seU1vYmlsZSI+PGEgaHJlZj0iL25ld3MvIj5MYXRlc3QgbmV3czwvYT48L2xpPgo8bGkgY2xhc3M9Im9ubHlNb2JpbGUiPjxhIGhyZWY9Ii9ldmVudHMvIj5VcGNvbWluZyBldmVudHM8L2E+PC9saT4KPGxpIGNsYXNzPSJvbmx5TW9iaWxlIj48YSBocmVmPSIvYmxvZ3MiPkxhdGVzdCBibG9nIHBvc3RzPC9hPjwvbGk+CjxsaSBjbGFzcz0ib25seU1vYmlsZSI+PGEgaHJlZj0iL2ZyZWUtc29mdHdhcmUtc3VwcG9ydGVyLyI+RnJlZSBTb2Z0d2FyZSBTdXBwb3J0ZXIsIG91ciBtb250aGx5IGVtYWlsIG5ld3NsZXR0ZXI8L2E+PC9saT4KPC91bD4KCgoKPC9uYXY+Cgo8L2Rpdj48L2Rpdj4KCjwvZGl2PgoJPC9kaXY+Cgo8ZGl2IGNsYXNzPSJ5dWktZyIgc3R5bGU9Im1hcmdpbi10b3A6IDBweDsiPgombmJzcDsKPC9kaXY+CgoJPGRpdiBjbGFzcz0iY3VzdG9tLWRvYyB5dWktdDUiPgoKCSAgIDxkaXYgaWQ9ImJkIj48ZGl2IGlkPSJ5dWktbWFpbiI+CgoKPGRpdiBjbGFzcz0ieXVpLWciPjxkaXYgY2xhc3M9Inl1aS1iIj4KCgoKICAgICAgICA8ZGl2IGlkPSJwb3J0YWwtY29sdW1uLWNvbnRlbnQiIGNsYXNzPSJjZWxsIHdpZHRoLTM6NCBwb3NpdGlvbi0wIj4KCiAgICAgICAgICAgIDxkaXYgaWQ9InZpZXdsZXQtYWJvdmUtY29udGVudCI+PGRpdiBpZD0icG9ydGFsLWJyZWFkY3J1bWJzIj4KCiAgICA8c3BhbiBpZD0iYnJlYWRjcnVtYnMteW91LWFyZS1oZXJlIj5Zb3UKYXJlIGhlcmU6PC9zcGFuPgogICAgPHNwYW4gaWQ9ImJyZWFkY3J1bWJzLWhvbWUiPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZyI+SG9tZTwvYT4KICAgICAgICAKICAgIDwvc3Bhbj4KCjwvZGl2PjwvZGl2PgoKICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSIiPgoKICAgICAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgCgogICAgPGRsIGNsYXNzPSJwb3J0YWxNZXNzYWdlIGluZm8iIGlkPSJrc3NQb3J0YWxNZXNzYWdlIiBzdHlsZT0iZGlzcGxheTpub25lIj4KICAgICAgICA8ZHQ+SW5mbzwvZHQ+CiAgICAgICAgPGRkPjwvZGQ+CiAgICA8L2RsPgoKCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGFydGljbGU+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9ImNvbnRlbnQiPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgCgogICAgICAgICAgICA8dGFibGUgd2lkdGg9IjY5OSIgY2xhc3M9InBsYWluIj4KICA8dHI+CiAgICA8dGQgd2lkdGg9IjIzMyI+CiAgICAgIDxhIGhyZWY9Ii9uZXdzL2ZzZi1hbm5vdW5jZXMtd2lubmVyLW9mLXJlc3RyaWN0ZWQtYm9vdC13ZWJjb21pYy1jb250ZXN0Ij48aW1nIHNyYz0iLy9zdGF0aWMuZnNmLm9yZy9ub3N2bi9yZXN0cmljdGVkLWJvb3RzLmpwZyIgYWx0PSJSZXN0cmljdGVkIEJvb3RzIC0tIGl0J3MgZm9yIHlvdXIgc2FmZXR5IiB3aWR0aD0iMjMwIiAvPjwvYT4KICAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgVGhpcyA8c3BhbiB4bWxuczpkY3Q9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiByZWw9ImRjdDp0eXBlIj53b3JrPC9zcGFuPiBieSA8YSB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiBocmVmPSJodHRwOi8vZXJpa3N0ZWlubWFubi5ubC9zZWN1cmVib290X3dlYmNvbWljLmh0bWwiIHByb3BlcnR5PSJjYzphdHRyaWJ1dGlvbk5hbWUiIHJlbD0iY2M6YXR0cmlidXRpb25VUkwiPkVyaWsgU3RlaW5tYW5uPC9hPiBpcyBsaWNlbnNlZCB1bmRlciBhIDxhIHJlbD0ibGljZW5zZSIgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvMy4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbiAzLjAgVW5wb3J0ZWQgTGljZW5zZTwvYT4uCiAgICAgIDwvcD4KICAgIDwvdGQ+CiAgICA8dGQgd2lkdGg9IjQ2NiI+CiAgICAgPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgcGFkZGluZzoxNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmJjOyBoZWlnaHQ6IDIyNXB4OyBmb250LXNpemU6IDExMCU7Ij4gCiAgICAgICA8c3Ryb25nIHN0eWxlPSJmb250LXNpemU6MTc1JTsiPlN0YW5kIHVwIGZvciB5b3VyIGZyZWVkb20gdG8gaW5zdGFsbCBmcmVlIHNvZnR3YXJlPC9zdHJvbmc+PGJyPjxicj4KICAgICAgIDxhIGhyZWY9Ii9jYW1wYWlnbnMvc2VjdXJlLWJvb3QtdnMtcmVzdHJpY3RlZC1ib290L3N0YXRlbWVudCI+PGltZyBzcmM9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vdWVmaV9sb2dvLnBuZyIgYWx0PSIiIC8+PC9hPjxicj48YnI+CiAgICAgICA8YSBocmVmPSIvY2FtcGFpZ25zL3NlY3VyZS1ib290LXZzLXJlc3RyaWN0ZWQtYm9vdC9zdGF0ZW1lbnQiIHN0eWxlPSJmb250LXNpemU6MTEwJSI+Sm9pbiAzMSw4MDAgcGVvcGxlIGluIG9wcG9zaW5nIE1pY3Jvc29mdCdzIFJlc3RyaWN0ZWQgQm9vdCBieSBzaWduaW5nIHRoaXMgc3RhdGVtZW50PC9hPjxicj4KICAgICA8L3A+CiAgICAgPHA+PGEgaHJlZj0iLy93d3cuZnNmLm9yZy93b3JraW5nLXRvZ2V0aGVyL21vdmluZy8iPjxpbWcgc3JjPSIvL3N0YXRpYy5mc2Yub3JnL25vc3ZuL3dvcmtpbmcvdy9nZXRzdGFydC5wbmciIC8+PC9hPgogICAgICAgIDxhIGhyZWY9Ii8vd3d3LmdudS5vcmcvZGlzdHJvcy9mcmVlLWRpc3Ryb3MuaHRtbCI+PGltZyBzcmM9Ii8vc3RhdGljLmZzZi5vcmcvbm9zdm4vZG93bmxvYWQucG5nIiB3aWR0aD0iMTYwIiAvPjwvYT4KICAgICA8L3A+CiAgICA8L3RkPgogIDwvdHI+CjwvdGFibGU+CgoKICAgICAgICA8aDIgaWQ9ImludHJvLXRleHQiPgogICAgICAgICAgICAKICAgICAgICA8c3BhbiBjbGFzcz0iIiBpZD0icGFyZW50LWZpZWxkbmFtZS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiDigJQgd2hhdCB3ZSBkbwogICAgICAgIDwvc3Bhbj4KICAgIAogICAgICAgIDwvaDI+CgogICAgICAgIAoKICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSIiIGlkPSJwYXJlbnQtZmllbGRuYW1lLXRleHQiPgogICAgICAgICAgICA8dWw+DQo8bGk+VGhlIEZTRiBhZHZvY2F0ZXMgZm9yIGZyZWUgc29mdHdhcmUgaWRlYWxzIGFzIG91dGxpbmVkIGluIHRoZSA8YSBocmVmPSIvcGhpbG9zb3BoeS9mcmVlLXN3Lmh0bWwiPkZyZWUgU29mdHdhcmUgRGVmaW5pdGlvbjwvYT4sIHdvcmtzIGZvciBhZG9wdGlvbiBvZiBmcmVlIHNvZnR3YXJlIGFuZCBmcmVlIG1lZGlhIGZvcm1hdHMsIGFuZCBvcmdhbml6ZXMgPGEgaHJlZj0iL2NhbXBhaWducy8iPmFjdGl2aXN0IGNhbXBhaWduczwvYT4gYWdhaW5zdCB0aHJlYXRzIHRvIHVzZXIgZnJlZWRvbSBsaWtlIDxhIGhyZWY9Imh0dHA6Ly93aW5kb3dzN3NpbnMub3JnLyI+V2luZG93cyA3PC9hPiwgQXBwbGUncyA8YSBocmVmPSIvaXBob25lIj5pUGhvbmU8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3Mvcm1zL21hYy1vc3gtbWlzdGFrZXMtYW5kLW1hbGZlYXR1cmVzIj5PUyBYPC9hPiwgPGEgaHJlZj0iaHR0cDovL2RlZmVjdGl2ZWJ5ZGVzaWduLm9yZy8iPkRSTSBvbiBtdXNpYywgZWJvb2tzIGFuZCBtb3ZpZXM8L2E+LCBhbmQgPGEgaHJlZj0iaHR0cDovL2VuZHNvZnRwYXRlbnRzLm9yZy8iPnNvZnR3YXJlIHBhdGVudHM8L2E+LjwvbGk+DQoNCjxsaT5XZSBwcm9tb3RlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9kaXN0cm9zLyI+Y29tcGxldGVseSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbnMgb2YgR05VL0xpbnV4PC9hPiwgYW5kIGFkdm9jYXRlIHRoYXQgdXNlcnMgb2YgdGhlIEdOVS9MaW51eCBvcGVyYXRpbmcgc3lzdGVtIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9kaXN0cm9zL2ZyZWUtc3lzdGVtLWRpc3RyaWJ1dGlvbi1ndWlkZWxpbmVzLmh0bWwiPnN3aXRjaCB0byBhIGRpc3RyaWJ1dGlvbiB3aGljaCByZXNwZWN0cyB0aGVpciBmcmVlZG9tPC9hPi48L2xpPg0KDQo8bGk+V2UgZHJpdmUgZGV2ZWxvcG1lbnQgb2YgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZyI+R05VIG9wZXJhdGluZyBzeXN0ZW08L2E+IGFuZCA8YSBocmVmPSIvY2FtcGFpZ25zL3ByaW9yaXR5Lmh0bWwiPm1haW50YWluIGEgbGlzdCBvZiBoaWdoLXByaW9yaXR5IGZyZWUgc29mdHdhcmUgcHJvamVjdHM8L2E+IHRvIHByb21vdGUgcmVwbGFjZW1lbnRzIGZvciBjb21tb24gcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zLjwvbGk+DQoNCjxsaT5XZSBidWlsZCBhbmQgdXBkYXRlIDxhIGhyZWY9Ii9yZXNvdXJjZXMvIj5yZXNvdXJjZXMgdXNlZnVsIGZvciB0aGUgZnJlZSBzb2Z0d2FyZSBjb21tdW5pdHk8L2E+IGxpa2UgdGhlIDxhIGhyZWY9Imh0dHA6Ly9kaXJlY3RvcnkuZnNmLm9yZy8iPkZyZWUgU29mdHdhcmUgRGlyZWN0b3J5PC9hPiwgYW5kIHRoZSA8YSBocmVmPSIvam9icyI+ZnJlZSBzb2Z0d2FyZSBqb2JzPC9hPiBib2FyZC4gV2UgYWxzbyBwcm92aWRlIDxhIGhyZWY9Ii9saWNlbnNpbmcvbGljZW5zZXMvIj5saWNlbnNlcyBmb3IgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzPC9hPiB0byBzaGFyZSB0aGVpciBjb2RlLCBpbmNsdWRpbmcgdGhlIDxhIGhyZWY9Ii9saWNlbnNpbmcvbGljZW5zZXMvZ3BsLmh0bWwiPkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlPC9hPi48L2xpPg0KDQo8L3VsPg0KDQo8cCBjbGFzcz0iYyI+PGEgaHJlZj0iL3dvcmtpbmctdG9nZXRoZXIvIj48aW1nIHNyYz0iL3N0YXRpYy9ub3N2bi93b3JraW5nL3cvZGVzZXJ2ZS5wbmciIGFsdD0iIiAvPjwvYT48L3A+IAogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgIAogICAgCgoKICA8ZGl2IGlkPSJmc3MiPjxmb3JtIGFjdGlvbj0iaHR0cHM6Ly9jcm0uZnNmLm9yZy9jaXZpY3JtL3Byb2ZpbGUvY3JlYXRlJmFtcDtyZXNldD0xJmFtcDtnaWQ9MzEiIG1ldGhvZD0icG9zdCI+CjxoMz5TaWduIHVwIHRvZGF5IHRvIHJlY2VpdmUgdGhlIG1vbnRobHkgbmV3c2xldHRlciwgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9mcmVlLXNvZnR3YXJlLXN1cHBvcnRlci8iPkZyZWUgU29mdHdhcmUgU3VwcG9ydGVyPC9hPjwvaDM+Cgo8cD48c21hbGw+RW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzIChpZS4gbWF0dEBleGFtcGxlLmNvbSk8L3NtYWxsPjwvcD4KCjxwPjxpbnB1dCBpZD0iZnJtRW1haWwiIHR5cGU9InRleHQiIG5hbWU9ImVtYWlsLVByaW1hcnkiIHNpemU9IjE4IiBtYXhsZW5ndGg9IjgwIiAvPjwvcD4KPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iX3FmX0VkaXRfbmV4dCIgdmFsdWU9IlN1YnNjcmliZSBtZSIgLz48L3A+CjxkaXY+PGlucHV0IG5hbWU9InBvc3RVUkwiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IiIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZ3JvdXBbMjVdIiB2YWx1ZT0iMSIgLz4KPGlucHV0IG5hbWU9ImNhbmNlbFVSTCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iaHR0cHM6Ly9jcm0uZnNmLm9yZy9jaXZpY3JtL3Byb2ZpbGU/cmVzZXQ9MSZhbXA7Z2lkPTMxIiAvPgo8aW5wdXQgbmFtZT0iX3FmX2RlZmF1bHQiIHR5cGU9ImhpZGRlbiIgdmFsdWU9IkVkaXQ6Y2FuY2VsIiAvPgo8L2Rpdj4KPC9mb3JtPjwvZGl2PgoKCjxkaXYgaWQ9InF1b3RlLWJveCI+CiA8YmxvY2txdW90ZT48YSBocmVmPSIvYXBwZWFsLzIwMDkvbWFrby8iPkEgc3Ryb25nIGZyZWUgc29mdHdhcmUgbW92ZW1lbnQgZm9jdXNlZCBvbiB0aGUgcHJpbmNpcGxlZCBpc3N1ZXMgb2Ygc29mdHdhcmUgZnJlZWRvbSAmbWRhc2g7IGFuZCBhIHN0cm9uZyBGU0YgaW4gcGFydGljdWxhciAmbWRhc2g7IHdpbGwgZGV0ZXJtaW5lIHdoYXQgZnJlZWRvbXMgdGhlIG5leHQgZ2VuZXJhdGlvbiBvZiBjb21wdXRlciB1c2VycyBlbmpveS4gQXQgc3Rha2UgaXMgbm8gbGVzcyB0aGFuIHRoZSBuZXh0IGdlbmVyYXRpb24ncyBhdXRvbm9teS48L2E+PC9ibG9ja3F1b3RlPgoKICA8cD4mbWRhc2g7IDxhIGhyZWY9Ii9hcHBlYWwvMjAwOS9tYWtvLyI+QmVuamFtaW4gTWFrbyBIaWxsPC9hPiwgd3JpdGVyLCB0ZWNobm9sb2dpc3QgYW5kIEZTRiBib2FyZCBtZW1iZXI8L3A+CjwvZGl2PgoKICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPgoKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKCiAgICAgICAgICAgIDxkaXYgaWQ9InZpZXdsZXQtYmVsb3ctY29udGVudCI+CgoKCgoKICAgIAoKPC9kaXY+CiAgICAgICAgPC9kaXY+Cgk8L2Rpdj48L2Rpdj48L2Rpdj4KCgoJIDxkaXYgaWQ9ImZzZi1zaWRlYmFyIiBjbGFzcz0ieXVpLWIgdmlzdWFsTm9QcmludCI+CgkgICAgPGFzaWRlPgoJPGRpdiBpZD0ic2VhcmNoIj4KCgkgICAgICA8Zm9ybSBpZD0ic2lkZXNlYXJjaCIgbmFtZT0ic2VhcmNoZm9ybSIgYWN0aW9uPSJodHRwOi8vd3d3LmZzZi5vcmcvc2VhcmNoIj4KCQkgIDxwPjxpbnB1dCBuYW1lPSJTZWFyY2hhYmxlVGV4dCIgdGFiaW5kZXg9IjEiIHR5cGU9InRleHQiIHNpemU9IjMwIiB0aXRsZT0iU2VhcmNoIFNpdGUiIC8+PC9wPgoJCSAgPHA+PGlucHV0IGNsYXNzPSJzZWFyY2hCdXR0b24iIHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlYXJjaCIgLz48L3A+CgkgICAgICA8L2Zvcm0+CgoJPC9kaXY+CgoKCQkgICAgICA8ZGl2IGNsYXNzPSJ2aXN1YWxQYWRkaW5nIj4KCQkgICAgICAgIAoJCSAgICAgICAgICAKPGRpdiBpZD0icG9ydGxldHdyYXBwZXItNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE3Mzc1NzA3MDZmNzI3NDY1NzIiIGNsYXNzPSJwb3J0bGV0V3JhcHBlciBrc3NhdHRyLXBvcnRsZXRoYXNoLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNzM3NTcwNzA2ZjcyNzQ2NTcyIj48ZGl2IGNsYXNzPSJwb3J0bGV0U3RhdGljVGV4dCBwb3J0bGV0LXN0YXRpYy1zdXBwb3J0ZXIiPjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPg0KPGg1PlNpZ24gdXA8L2g1Pg0KPGZvcm0gYWN0aW9uPSJodHRwczovL2NybS5mc2Yub3JnL2Npdmljcm0vcHJvZmlsZS9jcmVhdGUmYW1wO3Jlc2V0PTEmYW1wO2dpZD0zMSIgbWV0aG9kPSJwb3N0Ij4NCjxwPlNpZ24gdXAgdG9kYXkgdG8gcmVjZWl2ZSB0aGUgbW9udGhseSBuZXdzbGV0dGVyLCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5mc2Yub3JnL2ZyZWUtc29mdHdhcmUtc3VwcG9ydGVyLyI+RnJlZSBTb2Z0d2FyZSBTdXBwb3J0ZXI8L2E+PC9wPg0KDQo8cD48c21hbGw+RW50ZXIgeW91ciBlbWFpbCBhZGRyZXNzIChpZS4gbWF0dEBleGFtcGxlLmNvbSk8L3NtYWxsPjwvcD4NCg0KPHA+PGlucHV0IGlkPSJmcm1FbWFpbCIgdHlwZT0idGV4dCIgbmFtZT0iZW1haWwtUHJpbWFyeSIgc2l6ZT0iMTgiIG1heGxlbmd0aD0iODAiIC8+PC9wPg0KPHA+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0iX3FmX0VkaXRfbmV4dCIgdmFsdWU9IlN1YnNjcmliZSBtZSIgLz48L3A+DQo8ZGl2PjxpbnB1dCBuYW1lPSJwb3N0VVJMIiB0eXBlPSJoaWRkZW4iIHZhbHVlPSIiIC8+DQo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJncm91cFsyNV0iIHZhbHVlPSIxIiAvPg0KPGlucHV0IG5hbWU9ImNhbmNlbFVSTCIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iaHR0cHM6Ly9jcm0uZnNmLm9yZy9jaXZpY3JtL3Byb2ZpbGU/cmVzZXQ9MSZhbXA7Z2lkPTMxIiAvPg0KPGlucHV0IG5hbWU9Il9xZl9kZWZhdWx0IiB0eXBlPSJoaWRkZW4iIHZhbHVlPSJFZGl0OmNhbmNlbCIgLz4NCjwvZGl2Pg0KPC9mb3JtPjwvZGl2PjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGlkPSJwb3J0bGV0d3JhcHBlci03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTY2NzM2NjJkNmU2NTc3NzMyZDcyNzM3MyIgY2xhc3M9InBvcnRsZXRXcmFwcGVyIGtzc2F0dHItcG9ydGxldGhhc2gtNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE2NjczNjYyZDZlNjU3NzczMmQ3MjczNzMiPjxkaXYgY2xhc3M9InBvcnRsZXRTdGF0aWNUZXh0IHBvcnRsZXQtc3RhdGljLWZzZi1uZXdzLXJzcyI+PHAgc3R5bGU9ImZsb2F0OiByaWdodDsiPjxhIGhyZWY9Ii9zdGF0aWMvZnNmb3JnL3Jzcy9uZXdzLnhtbCIgdGl0bGU9IlN1YnNjcmliZSB0byBhbiBSU1MgZmVlZCBvZiBGU0YgbmV3cyI+PGltZyBzcmM9Ii9zdGF0aWMvZnNmb3JnL2Nzcy9pbWcvcnNzLmdpZiIgYWx0PSJSU1MgZmVlZCIgLz48L2E+PC9wPjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGlkPSJwb3J0bGV0d3JhcHBlci03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTZlNjU3NzczIiBjbGFzcz0icG9ydGxldFdyYXBwZXIga3NzYXR0ci1wb3J0bGV0aGFzaC03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTZlNjU3NzczIj48ZGwgY2xhc3M9InBvcnRsZXQgcG9ydGxldE5ld3MiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KCiAgICA8ZHQgY2xhc3M9InBvcnRsZXRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0VG9wTGVmdCI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9uZXdzIiBjbGFzcz0idGlsZSI+TmV3czwvYT4KICAgICAgICA8c3BhbiBjbGFzcz0icG9ydGxldFRvcFJpZ2h0Ij48L3NwYW4+CiAgICA8L2R0PgoKICAgIAogICAgPGRkIGNsYXNzPSJwb3J0bGV0SXRlbSBvZGQiPgoKICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvbmV3cy9mc2YtYW5ub3VuY2VzLXdpbm5lci1vZi1yZXN0cmljdGVkLWJvb3Qtd2ViY29taWMtY29udGVzdCIgY2xhc3M9InRpbGUiIHRpdGxlPSJXaXRoIG92ZXIgMzAsMDAwIHNpZ25hdHVyZXMgdG8gb3VyIHN0YXRlbWVudCBhbmQgb3ZlciBhIGRvemVuIGhpZ2gtcXVhbGl0eSBzdWJtaXNzaW9ucyB0byBvdXIgY29udGVzdCwgSSdtIGNvbmZpZGVudCBvdXIgbWVzc2FnZSB0aGF0IFJlc3RyaWN0ZWQgQm9vdCBpcyBhIG1pc3Rha2UgaGFzIHRoZSBhdHRlbnRpb24gb2YgTWljcm9zb2Z0IGFuZCBjb21wdXRlci1tYWtlcnMgYWxpa2UuIE5vdyB3ZSBuZWVkIHRha2UgdGhlIG5leHQgc3RlcCBvZiB0dXJuaW5nIHRoaXMgc3VwcG9ydCBpbnRvIHRhbmdpYmxlIHJlc3VsdHMuIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJOZXdzIEl0ZW0iIC8+CiAgICAgICAgICAgIEZTRiBhbm5vdW5jZXMgd2lubmVyIG9mIFJlc3RyaWN0ZWQgQm9vdCB3ZWJjb21pYyBjb250ZXN0CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0SXRlbURldGFpbHMiPkp1bCAwNSwgMjAxMjwvc3Bhbj4KICAgICAgICA8L2E+CiAgICA8L2RkPgogICAgCiAgICAKICAgIDxkZCBjbGFzcz0icG9ydGxldEl0ZW0gZXZlbiI+CgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9uZXdzL2ZzZi1wdWJsaXNoZXMtd2hpdGVwYXBlci13aXRoLXJlY29tbWVuZGF0aW9ucy1mb3ItZnJlZS1vcGVyYXRpbmctc3lzdGVtLWRpc3RyaWJ1dGlvbnMtY29uc2lkZXJpbmctc2VjdXJlLWJvb3QiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iSW4gdGhlIHBhcGVyLCB0aGUgRlNGIG91dGxpbmVzIHRoZSBkaWZmaWN1bHRpZXMgU2VjdXJlIEJvb3QgcG9zZXMgZm9yIHRoZSBmcmVlIHNvZnR3YXJlIG1vdmVtZW50IGFuZCBmcmVlIHNvZnR3YXJlIGFkb3B0aW9uLCB3YXJucyBhZ2FpbnN0IHRoZSB0aHJlYXQgb2YgUmVzdHJpY3RlZCBCb290LCBhbmQgZ2l2ZXMgcmVjb21tZW5kYXRpb25zIGZvciBob3cgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIGFuZCB1c2VycyBjYW4gYmVzdCBhZGRyZXNzIHRoZSBpc3N1ZXMuIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJOZXdzIEl0ZW0iIC8+CiAgICAgICAgICAgIEZTRiBwdWJsaXNoZXMgd2hpdGVwYXBlciB3aXRoIHJlY29tbWVuZGF0aW9ucyBmb3IgZnJlZSBvcGVyYXRpbmcgc3lzdGVtIGRpc3RyaWJ1dGlvbnMgY29uc2lkZXJpbmcgU2VjdXJlIEJvb3QKICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRJdGVtRGV0YWlscyI+SnVuIDMwLCAyMDEyPC9zcGFuPgogICAgICAgIDwvYT4KICAgIDwvZGQ+CiAgICAKCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRGb290ZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tTGVmdCI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9uZXdzIj4KICAgICAgICAgIE1vcmUgbmV3cyZoZWxsaXA7CiAgICAgICAgPC9hPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tUmlnaHQiPjwvc3Bhbj4KICAgIDwvZGQ+CiAgICAKPC9kbD48L2Rpdj4KCjxkaXYgaWQ9InBvcnRsZXR3cmFwcGVyLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjY3MzY2MmQ2MjZjNmY2NzczMmQ3MjczNzMiIGNsYXNzPSJwb3J0bGV0V3JhcHBlciBrc3NhdHRyLXBvcnRsZXRoYXNoLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjY3MzY2MmQ2MjZjNmY2NzczMmQ3MjczNzMiPjxkaXYgY2xhc3M9InBvcnRsZXRTdGF0aWNUZXh0IHBvcnRsZXQtc3RhdGljLWZzZi1ibG9ncy1yc3MiPjxwIHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij48YSBocmVmPSIvc3RhdGljL2ZzZm9yZy9yc3MvYmxvZ3MueG1sIiB0aXRsZT0iU3Vic2NyaWJlIHRvIGFuIFJTUyBmZWVkIG9mIEZTRiBibG9ncyI+PGltZyBzcmM9Ii9zdGF0aWMvZnNmb3JnL2Nzcy9pbWcvcnNzLmdpZiIgYWx0PSJSU1MgZmVlZCIgLz48L2E+PC9wPjwvZGl2PgoKPC9kaXY+Cgo8ZGl2IGlkPSJwb3J0bGV0d3JhcHBlci03MDZjNmY2ZTY1MmU3MjY5Njc2ODc0NjM2ZjZjNzU2ZDZlMGE2MzZmNmU3NDY1Nzg3NDBhMmY2NjczNjYwYTcyNjU2MzY1NmU3NDJkNjI2YzZmNjc3MyIgY2xhc3M9InBvcnRsZXRXcmFwcGVyIGtzc2F0dHItcG9ydGxldGhhc2gtNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE3MjY1NjM2NTZlNzQyZDYyNmM2ZjY3NzMiPjxkbCBjbGFzcz0icG9ydGxldCBwb3J0bGV0Q29sbGVjdGlvbiBwb3J0bGV0LWNvbGxlY3Rpb24tcmVjZW50LWJsb2dzIj4KCiAgICA8ZHQgY2xhc3M9InBvcnRsZXRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0VG9wTGVmdCI+PC9zcGFuPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9ibG9ncy9yZWNlbnQtYmxvZy1wb3N0cyI+CiAgICAgICAgICAgIDxzcGFuPlJlY2VudCBibG9nczwvc3Bhbj4KICAgICAgICA8L2E+CiAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRUb3BSaWdodCI+PC9zcGFuPgogICAgPC9kdD4KCiAgICAKICAgIDxkZCBjbGFzcz0icG9ydGxldEl0ZW0gb2RkIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3MvY29tbXVuaXR5L2dudS1zcG90bGlnaHQtd2l0aC1rYXJsLWJlcnJ5LWp1bmUtMjAxMiIgY2xhc3M9InRpbGUiIHRpdGxlPSJOZXcgR05VIHJlbGVhc2VzIGFzIG9mIEp1bmUgMjYsIDIwMTIiPgogICAgICAgICAgICA8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3LmZzZi5vcmcvc3RhdGljL2ZzZm9yZy9jc3MvaW1nL25ld3NpdGVtX2ljb24uZ2lmIiBhbHQ9IkJsb2cgRW50cnkiIC8+CiAgICAgICAgICAgIEdOVSBTcG90bGlnaHQgd2l0aCBLYXJsIEJlcnJ5IChKdW5lIDIwMTIpCiAgICAgICAgICAgIAogICAgICAgIDwvYT4KICAgIDwvZGQ+CiAgICAKICAgIAogICAgPGRkIGNsYXNzPSJwb3J0bGV0SXRlbSBldmVuIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3MvZ251LXByZXNzL2ZzZnMtbmV3LW9wZXJhdGlvbnMtYXNzaXN0YW50IiBjbGFzcz0idGlsZSIgdGl0bGU9IkhlbGxvLCBJJ20gQ2hyaXNzaWUgSGltZXMsIHRoZSBuZXcgb3BlcmF0aW9ucyBhc3Npc3RhbnQsIGFuZCBJJ20gZXhjaXRlZCB0byBvZmZpY2lhbGx5IGJlIHdpdGggdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gSSBoYW5kbGUgc2FsZXMsIGRvbmF0aW9ucywgYW5kIGdlbmVyYWwgb2ZmaWNlIG9wZXJhdGlvbnMuIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJCbG9nIEVudHJ5IiAvPgogICAgICAgICAgICBGU0YncyBuZXcgb3BlcmF0aW9ucyBhc3Npc3RhbnQKICAgICAgICAgICAgCiAgICAgICAgPC9hPgogICAgPC9kZD4KICAgIAogICAgCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRJdGVtIG9kZCI+CiAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5mc2Yub3JnL2Jsb2dzL2NvbW11bml0eS9raWxsLWFjdGEiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iS2lsbCBBQ1RBIG9uY2UgKGFuZCBob3BlZnVsbHkpIGZvciBhbGwhIj4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJCbG9nIEVudHJ5IiAvPgogICAgICAgICAgICBLaWxsIEFDVEEKICAgICAgICAgICAgCiAgICAgICAgPC9hPgogICAgPC9kZD4KICAgIAogICAgCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRJdGVtIGV2ZW4iPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9ibG9ncy9saWNlbnNpbmcvZ251LWdwbHYzLXR1cm5zLTUiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMyB0dXJucyBmaXZlOyBFYmVuIE1vZ2xlbiBzdGF0ZXMsICZxdW90O0dQTHYzIGFudGljaXBhdGVkIHRoZSBpc3N1ZXMgb2YgdG9kYXkgYW5kIHdpbGwgaGVscCB1cyBkZWFsIHdpdGggdGhlIGNoYWxsZW5nZXMgb2YgdG9tb3Jyb3cuJnF1b3Q7Ij4KICAgICAgICAgICAgPGltZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHNyYz0iaHR0cDovL3d3dy5mc2Yub3JnL3N0YXRpYy9mc2ZvcmcvY3NzL2ltZy9uZXdzaXRlbV9pY29uLmdpZiIgYWx0PSJCbG9nIEVudHJ5IiAvPgogICAgICAgICAgICBHTlUgR1BMdjMgdHVybnMgNQogICAgICAgICAgICAKICAgICAgICA8L2E+CiAgICA8L2RkPgogICAgCgogICAgPGRkIGNsYXNzPSJwb3J0bGV0Rm9vdGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0icG9ydGxldEJvdHRvbUxlZnQiPjwvc3Bhbj4KICAgICAgICA8c3Bhbj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvYmxvZ3MvcmVjZW50LWJsb2ctcG9zdHMiPgogICAgICAgICAgICBNb3JlJmhlbGxpcDsKICAgICAgICA8L2E+CiAgICAgICAgPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tUmlnaHQiPjwvc3Bhbj4KICAgIDwvZGQ+Cgo8L2RsPgo8L2Rpdj4KCjxkaXYgaWQ9InBvcnRsZXR3cmFwcGVyLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjY3MzY2MmQ2NTc2NjU2ZTc0NzMyZDcyNzM3MyIgY2xhc3M9InBvcnRsZXRXcmFwcGVyIGtzc2F0dHItcG9ydGxldGhhc2gtNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE2NjczNjYyZDY1NzY2NTZlNzQ3MzJkNzI3MzczIj48ZGl2IGNsYXNzPSJwb3J0bGV0U3RhdGljVGV4dCBwb3J0bGV0LXN0YXRpYy1mc2YtZXZlbnRzLXJzcyI+PHAgc3R5bGU9ImZsb2F0OiByaWdodDsiPjxhIGhyZWY9Ii9zdGF0aWMvZnNmb3JnL3Jzcy9ldmVudHMueG1sIiB0aXRsZT0iU3Vic2NyaWJlIHRvIGFuIFJTUyBmZWVkIG9mIEZTRiBldmVudHMiPjxpbWcgc3JjPSIvc3RhdGljL2ZzZm9yZy9jc3MvaW1nL3Jzcy5naWYiIGFsdD0iUlNTIGZlZWQiIC8+PC9hPjwvcD48L2Rpdj4KCjwvZGl2PgoKPGRpdiBpZD0icG9ydGxldHdyYXBwZXItNzA2YzZmNmU2NTJlNzI2OTY3Njg3NDYzNmY2Yzc1NmQ2ZTBhNjM2ZjZlNzQ2NTc4NzQwYTJmNjY3MzY2MGE2NTc2NjU2ZTc0NzMiIGNsYXNzPSJwb3J0bGV0V3JhcHBlciBrc3NhdHRyLXBvcnRsZXRoYXNoLTcwNmM2ZjZlNjUyZTcyNjk2NzY4NzQ2MzZmNmM3NTZkNmUwYTYzNmY2ZTc0NjU3ODc0MGEyZjY2NzM2NjBhNjU3NjY1NmU3NDczIj4KPGRsIGNsYXNzPSJwb3J0bGV0IHBvcnRsZXRFdmVudHMiPgoKICAgIDxkdCBjbGFzcz0icG9ydGxldEhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRUb3BMZWZ0Ij48L3NwYW4+CiAgICAgICAgPGEgaHJlZj0iaHR0cDovL3d3dy5mc2Yub3JnL2V2ZW50cyIgY2xhc3M9InRpbGUiPgogICAgICAgICAgICBVcGNvbWluZyBFdmVudHMKICAgICAgICA8L2E+CiAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRUb3BSaWdodCI+PC9zcGFuPgogICAgPC9kdD4KCiAgICAKICAgIDxkZCBjbGFzcz0icG9ydGxldEl0ZW0gb2RkIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvZXZlbnRzLzIwMTIwNzI3LWNhcmFjYXMiIGNsYXNzPSJ0aWxlIiB0aXRsZT0iQ2FyYWNhcywgVmVuZXp1ZWxhIC0gU2FsYSBQbGVuYXJpYSBkZWwgQ2VudHJvIFNpbcOzbiBCb2zDrXZhci4gRWRpZi4gQW5hdWNvIFBhcnF1ZSBDZW50cmFsDQoiPgogICAgICAgICAgICA8aW1nIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgc3JjPSJodHRwOi8vd3d3LmZzZi5vcmcvc3RhdGljL2ZzZm9yZy9jc3MvaW1nL25ld3NpdGVtX2ljb24uZ2lmIiBhbHQ9IkV2ZW50IiAvPgogICAgICAgICAgICAiRWwgc29mdHdhcmUgbGlicmUgZW4gbGEgw6l0aWNhIHkgZW4gbGEgcHLDoWN0aWNhIgogICAgICAgIDwvYT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBvcnRsZXRJdGVtRGV0YWlscyI+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxzcGFuPkp1bCAyNywgMjAxMiAxMDowMCBBTSAtIDEyOjAwIFBNPC9zcGFuPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8c3Bhbj4gJm1kYXNoOwogICAgICAgICAgICAgICAgICAgIENhcmFjYXMsIFZlbmV6dWVsYQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICA8L2RkPgogICAgCgogICAgPGRkIGNsYXNzPSJwb3J0bGV0Rm9vdGVyIj4KICAgICAgICA8YSBocmVmPSJodHRwOi8vd3d3LmZzZi5vcmcvZXZlbnRzL2FnZ3JlZ2F0b3IvcHJldmlvdXMiIGNsYXNzPSJ0aWxlIj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICBQcmV2aW91cyBldmVudHMmaGVsbGlwOwogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9hPgogICAgPC9kZD4KCiAgICA8ZGQgY2xhc3M9InBvcnRsZXRGb290ZXIiPgogICAgICAgIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy9ldmVudHMiIGNsYXNzPSJ0aWxlIj4KICAgICAgICAgICAgICAgIFVwY29taW5nIGV2ZW50cyZoZWxsaXA7CiAgICAgICAgPC9hPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tTGVmdCI+PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJwb3J0bGV0Qm90dG9tUmlnaHQiPjwvc3Bhbj4KICAgIDwvZGQ+CjwvZGw+Cgo8L2Rpdj4KCgoKCgkJICAgICAgICAKCQkgICAgICAgICZuYnNwOwoJCSAgICAgIDwvZGl2PgoJICAgICAgCgoJPC9hc2lkZT4KCTwvZGl2PgoKCgoJPC9kaXY+PC9kaXY+CgoJPGRpdiBjbGFzcz0idmlzdWFsTm9QcmludCIgaWQ9Im1pc3Npb24tc3RhdGVtZW50Ij4KCgkgIDxwIGNsYXNzPSJjIj5UaGUgRlNGIGlzIGEgY2hhcml0eSB3aXRoIGEgd29ybGR3aWRlIG1pc3Npb24gdG8gYWR2YW5jZSBzb2Z0d2FyZSBmcmVlZG9tICZtZGFzaDsgPGEgaHJlZj0iL2Fib3V0Ij5sZWFybiBhYm91dCBvdXIgaGlzdG9yeSBhbmQgd29yay48L2E+PC9wPgoKCTwvZGl2PgoKCTxkaXYgaWQ9ImZ0IiBjbGFzcz0idmlzdWFsTm9QcmludCI+Cgk8Zm9vdGVyPgoJPGRpdiBpZD0iZnQtaW5uZXIiIGNsYXNzPSJjdXN0b20tZG9jIj4KCgk8ZGl2IGlkPSJjb3B5cmlnaHQiPgoJIAoKCSAgPHAgY2xhc3M9ImMiPkNvcHlyaWdodCAmY29weTsgMjAwNC0yMDEyIDxhIGhyZWY9Ii9hYm91dC9jb250YWN0Lmh0bWwiIHRpdGxlPSJGaW5kIG91dCBob3cgdG8gY29udGFjdCB1cyI+RnJlZQoJU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jPC9hPi48L3A+CgoJICA8cD5UaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgYSA8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvIj5DcmVhdGl2ZQoJICBDb21tb25zIEF0dHJpYnV0aW9uLU5vIERlcml2YXRpdmUgV29ya3MgMy4wIGxpY2Vuc2UgKG9yIGxhdGVyCgkgIHZlcnNpb24pPC9hPiAmbWRhc2g7IDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlLWxpc3QuaHRtbCNPcGluaW9uTGljZW5zZXMiPldoeSB0aGlzIGxpY2Vuc2U/PC9hPi48L3A+IAoKCTwvZGl2PgoJPGRpdiBpZD0iZnNmLWxpbmtzLW91dGVyIj4KCTxkaXYgY2xhc3M9Inl1aS1nIHZpc3VhbE5vUHJpbnQgbm9Nb2JpbGUiIGlkPSJmc2YtbGlua3MiPgoJPGRpdj4KICAgIDxuYXY+CiAgICA8ZGl2IGNsYXNzPSJ5dWktZyBmaXJzdCI+CiAgICAgICAgPGRpdiBjbGFzcz0ieXVpLXUgZmlyc3QiIGlkPSJzaXRlbWFwLTEiPgoKICAgICAgICAgIDxwIGNsYXNzPSJuZXRzY2FwZTQiPjxhIGhyZWY9IiNmdCI+U2tpcCBzaXRlbWFwPC9hPiBvciA8YSBocmVmPSIjc2l0ZW1hcC0yIj5za2lwIHRvIGxpY2Vuc2luZyBpdGVtczwvYT48L3A+CgogICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9hYm91dC8iPkFib3V0PC9hPgoKICAgICAgICA8dWw+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iL2Fib3V0L2xlYWRlcnNoaXAuaHRtbCI+TGVhZGVyc2hpcDwvYT48L2xpPgogICAgICAgICAgPGxpPjxhIGhyZWY9Ii9hYm91dC9zdGFmZiI+U3RhZmY8L2E+PC9saT4KICAgICAgICAgIDxsaT48YSBocmVmPSIvYWJvdXQvY29udGFjdC5odG1sIj5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgPC91bD48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vbXkuZnNmLm9yZy9kb25hdGUvcHJpdmFjeXBvbGljeS5odG1sIj5Qcml2YWN5IFBvbGljeTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvY2FtcGFpZ25zIj5DYW1wYWlnbnM8L2E+CiAgICAgICAgPHVsPgoKICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3dpbmRvd3M3c2lucy5vcmcvIj5XaW5kb3dzIDcgU2luczwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvIj5HTlUgT3BlcmF0aW5nIFN5c3RlbTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZGVmZWN0aXZlYnlkZXNpZ24ub3JnLyI+RGVmZWN0aXZlIGJ5IERlc2lnbjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZW5kc29mdHBhdGVudHMub3JnLyI+RW5kIFNvZnR3YXJlIFBhdGVudHM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3BsYXlvZ2cub3JnLyI+UGxheU9nZyAmbWRhc2g7IGZyZWUgbWVkaWEgZm9ybWF0czwvYT48L2xpPgoKICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2xpYnJlcGxhbmV0Lm9yZy8iPkNvbm5lY3Qgd2l0aCBmcmVlIHNvZnR3YXJlIHVzZXJzPC9hPjwvbGk+CiAgICAgIDwvdWw+PC9saT4KICAgICAgPC91bD4KCiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJ5dWktdSIgaWQ9InNpdGVtYXAtMiI+CgogICAgICAgICAgPHAgY2xhc3M9Im5ldHNjYXBlNCI+PGEgaHJlZj0iI3NpdGVtYXAtMyI+U2tpcCB0byBnZW5lcmFsIGl0ZW1zPC9hPjwvcD4KCiAgICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9saWNlbnNpbmciPkxpY2Vuc2luZzwvYT4KICAgICAgICA8dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9saWNlbnNpbmcvZWR1Y2F0aW9uIj5FZHVjYXRpb248L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iL2xpY2Vuc2luZy9saWNlbnNlcyI+TGljZW5zZXM8L2E+CiAgICAgICAgPHVsPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwiPkdOVSBHUEw8L2E+PC9saT4KCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLmh0bWwiPkdOVSBBR1BMPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9sZ3BsLmh0bWwiPkdOVSBMR1BMPC9hPjwvbGk+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9mZGwuaHRtbCI+R05VIEZETDwvYT48L2xpPjwvdWw+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1mYXEuaHRtbCI+TGljZW5zaW5nIEZBUTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvbGljZW5zaW5nL2NvbXBsaWFuY2UiPkNvbXBsaWFuY2U8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC1ob3d0by5odG1sIj5Ib3cgdG8gdXNlIEdOVSBsaWNlbnNlcyBmb3IgeW91ciBvd24gc29mdHdhcmU8L2E+PC9saT48L3VsPjwvbGk+CgogICAgICA8L3VsPgoKICAgIAogICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9Inl1aS1nIGZpcnN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ5dWktdSBmaXJzdCIgaWQ9InNpdGVtYXAtMyI+CgogICAgICAgICAgPHAgY2xhc3M9Im5ldHNjYXBlNCI+PGEgaHJlZj0iI3NpdGVtYXAtNCI+U2tpcCB0byBwaGlsb3NvcGhpY2FsIGl0ZW1zPC9hPjwvcD4KICAgIAogICAgICA8dWw+CgogICAgICA8bGk+PGEgaHJlZj0iL25ld3MvIj5MYXRlc3QgTmV3czwvYT48dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Ii9ldmVudHMvIj5VcGNvbWluZyBFdmVudHM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Ii9ibG9ncy8iPkZTRiBCbG9nczwvYT48L2xpPjwvdWw+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Ii92b2x1bnRlZXIiPlZvbHVudGVlcmluZyBhbmQgaW50ZXJuc2hpcHM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Ii9yZXNvdXJjZXMvaHciPkhhcmR3YXJlIERhdGFiYXNlPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vZGlyZWN0b3J5LmZzZi5vcmciPkZyZWUgU29mdHdhcmUgRGlyZWN0b3J5PC9hPjwvbGk+CgogICAgICAgIDxsaT48YSBocmVmPSIvcmVzb3VyY2VzLyI+RnJlZSBTb2Z0d2FyZSBSZXNvdXJjZXM8L2E+PC9saT4KICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly9wYXRyb24uZnNmLm9yZyI+UGF0cm9uczwvYT48L2xpPgogICAgICA8bGk+PGEgaHJlZj0iL2Fzc29jaWF0ZS8iPkFzc29jaWF0ZSBNZW1iZXJzPC9hPjwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIvYXNzb2NpYXRlL2FjY291bnQvIj5NeSBBY2NvdW50PC9hPjwvbGk+CiAgICAgIDxsaSBjbGFzcz0ibm9yaWdodCI+PGEgaHJlZj0iL2Fib3V0L2NvbnRhY3QuaHRtbCI+Q29udGFjdCBVczwvYT48L2xpPgogICAgICA8L3VsPgoKICAgICAgCiAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ5dWktdSIgaWQ9InNpdGVtYXAtNCI+CgogICAgICAgICAgPHAgY2xhc3M9Im5ldHNjYXBlNCI+PGEgaHJlZj0iI2Z0Ij5Ta2lwIGxpc3Q8L2E+PC9wPgoKICAgICAgPHVsPgogICAgICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL2RvbmF0ZS5mc2Yub3JnIj5Eb25hdGUgdG8gdGhlIEZTRjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvamZiIj5Kb2luIHRoZSBGU0Y8L2E+PC9saT4KCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5LyI+UGhpbG9zb3BoeTwvYT48dWw+CiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L2ZyZWUtc3cuaHRtbCI+VGhlIEZyZWUgU29mdHdhcmUgRGVmaW5pdGlvbjwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvcGhpbG9zb3BoeS9wcmFnbWF0aWMuaHRtbCI+Q29weWxlZnQ6IFByYWdtYXRpYyBJZGVhbGlzbTwvYT48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvcGhpbG9zb3BoeS9mcmVlLWRvYy5odG1sIj5GcmVlIFNvZnR3YXJlIGFuZCBGcmVlIE1hbnVhbHM8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvc2VsbGluZy5odG1sIj5TZWxsaW5nIEZyZWUgU29mdHdhcmU8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvZnMtbW90aXZlcy5odG1sIj5Nb3RpdmVzIGZvciBXcml0aW5nIEZyZWUgU29mdHdhcmU8L2E+PC9saT4KCiAgICAgICAgPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9waGlsb3NvcGh5L3JpZ2h0LXRvLXJlYWQuaHRtbCI+VGhlIFJpZ2h0IFRvIFJlYWQ8L2E+PC9saT4KICAgICAgICA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvb3Blbi1zb3VyY2UtbWlzc2VzLXRoZS1wb2ludC5odG1sIj5XaHkgT3BlbiBTb3VyY2UgTWlzc2VzIHRoZSBQb2ludCBvZiBGcmVlIFNvZnR3YXJlPC9hPjwvbGk+PC91bD48L2xpPgogICAgICAgIDxsaT48YSBocmVmPSIvc2l0ZW1hcCI+Q29tcGxldGUgc2l0ZW1hcDwvYT48L2xpPgogICAgICA8L3VsPgogICAgICAKICAgIDwvZGl2PgogICAgPC9kaXY+CjwvbmF2PgoKPC9kaXY+Cgk8L2Rpdj4KCgk8cCBpZD0iZnNmcyIgY2xhc3M9ImMgdmlzdWFsTm9QcmludCBub01vYmlsZSI+PHNtYWxsPlRoZSBGU0YgYWxzbyBoYXMgc2lzdGVyIG9yZ2FuaXphdGlvbnMgaW4gPGEgaHJlZj0iaHR0cDovL3d3dy5mc2ZmcmFuY2Uub3JnL2luZGV4LmVuLmh0bWwiPkZyYW5jZTwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmbGEub3JnLyI+TGF0aW4gQW1lcmljYTwvYT4sIDxhIGhyZWY9Imh0dHA6Ly93d3cuZnNmZXVyb3BlLm9yZyI+RXVyb3BlPC9hPiBhbmQgPGEgaHJlZj0iaHR0cDovL2ZzZi5vcmcuaW4vIj5JbmRpYTwvYT4uPC9zbWFsbD48L3A+CgoJPC9kaXY+CgoJPC9kaXY+CgoKCgoJPC9mb290ZXI+Cgk8L2Rpdj4KCgkgICAgPCEtLQoJPHJkZjpSREYgeG1sbnM9Imh0dHA6Ly93ZWIucmVzb3VyY2Uub3JnL2NjLyIKCQkgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgoJCSB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgoJPFdvcmsgcmRmOmFib3V0PSJodHRwOi8vd3d3LmZzZi5vcmcvIj4KCTxkYzp0aXRsZT5GcmVlIFNvZnR3YXJlIEZvdW5kYXRpb248L2RjOnRpdGxlPgoJPGRjOmRlc2NyaXB0aW9uPlRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gKEZTRikgaXMgYSBub25wcm9maXQgd2l0aCBhIHdvcmxkd2lkZSBtaXNzaW9uIHRvIHByb21vdGUgY29tcHV0ZXIgdXNlciBmcmVlZG9tIGFuZCB0byBkZWZlbmQgdGhlIHJpZ2h0cyBvZiBhbGwgZnJlZSBzb2Z0d2FyZSB1c2Vycy48L2RjOmRlc2NyaXB0aW9uPgoJPGxpY2Vuc2UgcmRmOnJlc291cmNlPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvdXMvIiAvPgoJPC9Xb3JrPgoJPExpY2Vuc2UgcmRmOmFib3V0PSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvdXMvIj4KCTwvTGljZW5zZT4KCTwvcmRmOlJERj4KCS0tPgoKCTxkaXYgY2xhc3M9ImMgdmlzdWFsTm9QcmludCBub01vYmlsZSIgaWQ9InBvd2VyZWQtYnkiPgoKCTxoNSBjbGFzcz0ibmV0c2NhcGU0Ij5mc2Yub3JnIGlzIHBvd2VyZWQgYnk6PC9oNT4KCgk8dWw+Cgk8bGkgaWQ9InBvd2VyZWQtYnktcGxvbmUiPjxhIGhyZWY9Imh0dHA6Ly9wbG9uZS5vcmciIHRpdGxlPSJQbG9uZSBQb3dlcmVkIj5QbG9uZTwvYT48L2xpPgoJPGxpIGlkPSJwb3dlcmVkLWJ5LXpvcGUiPjxhIGhyZWY9Imh0dHA6Ly96b3BlLm9yZyIgdGl0bGU9IlBvd2VyZWQgYnkgWm9wZSI+Wm9wZTwvYT48L2xpPgoJPGxpIGlkPSJwb3dlcmVkLWJ5LXB5dGhvbiI+PGEgaHJlZj0iaHR0cDovL3B5dGhvbi5vcmciIHRpdGxlPSJQb3dlcmVkIGJ5IFB5dGhvbiI+UHl0aG9uPC9hPjwvbGk+Cgk8bGkgaWQ9InBvd2VyZWQtYnktY2l2aWNybSI+PGEgaHJlZj0iaHR0cDovL2Npdmljcm0ub3JnIiB0aXRsZT0iUG93ZXJlZCBieSBDaXZpQ1JNIj5DaXZpQ1JNPC9hPjwvbGk+Cgk8bGkgaWQ9InBvd2VyZWQtYnktaHRtbDUiPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL2h0bWwiPkhUTUw1PC9hPjwvbGk+Cgk8L3VsPgoKCTwvZGl2PgoKICAgICAgICA8cCBjbGFzcz0iYyIgc3R5bGU9Im1hcmdpbi10b3A6IDEycHg7Ij48YSBocmVmPSIvYWJvdXQvZmluYW5jaWFsIj48aW1nIHNyYz0iLy9zdGF0aWMuZnNmLm9yZy9ub3N2bi9wbG9uZTMvY2hhcml0eS80c3Rhcjg4eDMxLmdpZiIgYWx0PSJGb3VyIHN0YXIgY2hhcml0eSIgLz48L2E+PC9wPgoKICAgICAgICA8Zm9ybSBjbGFzcz0iYyIgYWN0aW9uPSIuLyIgbWV0aG9kPSJnZXQiIGlkPSJjaG9vc2UtbGFuZ3VhZ2UiPgo8cD48c2VsZWN0IG5hbWU9InNldF9sYW5ndWFnZSI+CiAgPG9wdGlvbiB2YWx1ZT0iYXIiPkFyYWJpYzwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImJlIj5CZWxhcnVzc2lhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImJnIj5CdWxnYXJpYW48L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJjYSI+Q2F0YWxhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InpoIj5DaGluZXNlPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ia3ciPkNvcm5pc2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJjcyI+Q3plY2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJkYSI+RGFuaXNoPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iZW4iIHNlbGVjdGVkPSJzZWxlY3RlZCI+RW5nbGlzaDwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImZyIj5GcmVuY2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJkZSI+R2VybWFuPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iZWwiPkdyZWVrPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iaGUiPkhlYnJldzwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImhpIj5IaW5kaTwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9Iml0Ij5JdGFsaWFuPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iamEiPkphcGFuZXNlPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ia28iPktvcmVhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9Im5vIj5Ob3J3ZWdpYW48L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJwbCI+UG9saXNoPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0icHQiPlBvcnR1Z3Vlc2U8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJwdC1iciI+UG9ydHVndWVzZSAoQnJhemlsKTwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InJvIj5Sb21hbmlhbjwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InJ1Ij5SdXNzaWFuPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ic2siPlNsb3Zhazwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9ImVzIj5TcGFuaXNoPC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0ic3YiPlN3ZWRpc2g8L29wdGlvbj4KICA8b3B0aW9uIHZhbHVlPSJ0ciI+VHVya2lzaDwvb3B0aW9uPgogIDxvcHRpb24gdmFsdWU9InVyIj5VcmR1PC9vcHRpb24+CiAgPG9wdGlvbiB2YWx1ZT0iY3kiPldlbHNoPC9vcHRpb24+Cjwvc2VsZWN0PiAmbmJzcDsgPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IlNlbGVjdCBsYW5ndWFnZSI+PC9wPgo8cD48c21hbGw+U2VuZCB5b3VyIGZlZWRiYWNrIG9uIG91ciB0cmFuc2xhdGlvbnMgYW5kIG5ldyB0cmFuc2xhdGlvbnMgb2YgcGFnZXMgdG8gPGEgaHJlZj0ibWFpbHRvOmNhbXBhaWduc0Bmc2Yub3JnIj5jYW1wYWlnbnNAZnNmLm9yZzwvYT4uPC9zbWFsbD48L3A+CjwvZm9ybT4KCgk8L2Rpdj4gCgoKCgoKCTwvYm9keT4KCTwvaHRtbD4KCgk%3D">Free Software Foundation</A>
++ <DT><A HREF="http://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A>
+ <DT><A HREF="http://libreplanet.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC/v78AAAAAAPLy9ABsbakA/f3+APn5+QC6ur0A6urqAEpLbQACBLQApKW3AAULuQDMzMwAGBiDAL29vQCgocsAgnzJALu82QA+PpsAAQOvAOjo6ADZ2dkAysrKALS0zwD5+foAAgKRAAYGdQD19fUADhOjAAQJyACrnqIAxMTLAOnp7gDm5uYAzczNACgobwDg2dEAQkaeAA0RkAAUFnEA0MvQAIBzgAANDYsAk5OyAOTk5ADy8vYA1dXVAD8/cADGxsYA+fn7AAMHvgBzZnQApqauAAEGuQDExMQAAAGmAAoLmgADCMQAxMTdAAwPlwD+/v4ABg7MAF5ehADg4OAA0dHRAAAAoQAYEXAAwsLCALCxwQBnadkAAQGWAPz8/ACgoLgAbm6RANvb5wDr6+sA0dHSALe3uQADB8AAzc3NAGFhbAABAZcAOTtlALi4xwAAAJoA/Pz9AAQHnwADBJcACQl4AFVa3AChl6EAAgW2ABscdAABAq4A2NjYAAAAmwDAwMoAAQKmAAcMswDR0eQAAQSxANvX2wB4aXcAAQGpAAAAkwDW1tYAAgSpACIZZAAAAaEA+vr8AKuirAACBbcA8vLyALOztgADBZYAAACcAAACpwAEA6QAAQKnAPT09QD///8AvL3UADIpigDw8PAABwWOAK6dogBub4kAiozDANLS0gAFC8gAAgW4AP39/QAAAJ0A0NDQAMHBwQDp6ewACg2RAAIFqAAKCokA+/v7AAkOnwAAAaMA7OzsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4eHh4eHh4eHh4eHh4AXh4eHhlbikzZlooeHh4eAF4eHh4hX1JVFweInh4eHgBeHh4XmlAGXNGSB8VeHh4AXg8LhaGcV9zKg0wQF54eAF4K0NNOGthjXNCUwAMS3gBPC82iW+CCRN2Iz4wTwx4AW0GgCc5OU41VnSKTBoOiwEFTz8hHIF5RANdQVRfNIMBeBUhe0o9jB0Pcjdzc1E8AXgsB3AbUlkQRVtnhHNoeAF4i45wJCAlYjJbdYRfY3gBeDwmEn4XMToKZDd6WDx4AXh4VTsIfwt3FGpsfAR4eAF4eHgEEYhQAodXYDx4eHgBeHh4eHg8GC1HPHh4eHh4AQABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAA%3D">LibrePlanet</A>
+ <DT><A HREF="http://www.gnu.org/software/gnuzilla/addons.html" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">Free addons</A>
+ <DT><A HREF="http://www.h-node.org/" ICON="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAC7zrYAWYhNANjj1QA9fEcAEEwBAHTQkwAeVRkAPXMvALvOtwASVQEAHFcUAH/bpgB60p8AKnQmAGO1fgAjaRwALmA1AA5EAQDM2sgAN3ApAG7EjgC5zbQAVJxrAChwIgC0ya8ALmczAHXJmQBNf0EAgd6oADhwKgC8z7cA7vPtANTg0QANPwAARIhSADtyLQBzzpQAus21AEeKVQDC070AieyzALzPuAB93qEALGYvAO/z7gBEiVAAasWFAFuJTwBKil4AXotSAEuKXgAORQEAD0gBABlDFwBWpmoALGYwAGCNVQAbYBAAHGAQABBOAQCI6rIAjPG3AB1bDgAaXg4A////AGaRWwB/2qYAUYJEAEx+PwAZXAwAm7eUAD51MADN28oAJmwhACRiFAAzeTYAasaFAB9eDwBkt34Aus62AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09PT09PT09PT09PT09PT09PT0OIjALPRQmMkI9PT09PT09OkcHNQU+Q0oQPT09PT09PToVGDQtI0ABKz09PT09PT06JRg0Nh1ALxk9PT09PT09OiUYIS4TQC83PT09PT09PTpPSDsGG0BEAz09PT09PT06T0BGMRIsTRY9PT09PT09OgACJx8gQwooPT09PT09PToICAkJCUkkPT09PT09PT05HggETio9PT09PT09PT09Px4IERw9PT09PT09PT09PUUpCDMMPT09PT09PT09PT0NOEEEGj09PT09PT09PT09TBcPSzw9PT09PT09PT09PT09PT09PT09PT09PQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D">h-node</A>
</DL><p>
</DL><p>
-diff -Naur iceweasel-14.0.1.orig/browser/base/content/abouthome/aboutHome.js iceweasel-14.0.1/browser/base/content/abouthome/aboutHome.js
---- mozilla-build.orig/browser/base/content/abouthome/aboutHome.js 2012-07-12 14:27:37.000000000 -0300
-+++ mozilla-build/browser/base/content/abouthome/aboutHome.js 2012-07-17 23:19:05.593724417 -0300
-@@ -41,99 +41,348 @@
- // If a definition requires additional params, check that the final search url
- // is handled correctly by the engine.
- const SEARCH_ENGINES = {
+diff -urN iceweasel-13.0.orig/browser/base/content/abouthome/aboutHome.js iceweasel-13.0/browser/base/content/abouthome/aboutHome.js
+--- mozilla-release.orig/browser/base/content/abouthome/aboutHome.js 2012-06-01 09:03:47.000000000 -0300
++++ mozilla-release/browser/base/content/abouthome/aboutHome.js 2012-06-13 18:07:51.217531774 -0300
+@@ -38,104 +38,6 @@
+ *
+ * ***** END LICENSE BLOCK ***** */
+
+-// If a definition requires additional params, check that the final search url
+-// is handled correctly by the engine.
+-const SEARCH_ENGINES = {
- "Google": {
-+ "Duck Duck Go (Lite)": {
- image: "data:image/png;base64," +
+- image: "data:image/png;base64," +
- "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAcCAYAAADcO8kVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" +
- "bWFnZVJlYWR5ccllPAAADHdJREFUeNrsWQl0VNUZvve9NzNJJpnsIkuEJMoqAVJAodCKoFUsAUFQ" +
- "qhig0npaRUE8Viv1FFtQWxSwLXVhEawbhOWobOICFCGiEIIQRGIgCSFjMslsb9567+1/Z+7gmIYK" +
@@ -400,159 +408,11 @@ diff -Naur iceweasel-14.0.1.orig/browser/base/content/abouthome/aboutHome.js ice
- "7K/7IvC/CRhZ6Ep6evGGyXJS3kAsp3SGcgLKc7uSktBhrW7ZFq32r/HHCVbb0P9fBSYOTpIoJ5SE" +
- "7GUnpHbrbG8EzsfWfwgwAEfC/ToQIhkhAAAAAElFTkSuQmCC"
- , params: "source=hp&channel=np"
-+ "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" +
-+ "RU5ErkJggg%3D%3D"
- }
-
+- }
+-
-, "Яндекс":
- {
-+ "Seeks Search": {
- image: "data:image/png;base64," +
+- image: "data:image/png;base64," +
- "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAcCAYAAADcO8kVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ" +
- "bWFnZVJlYWR5ccllPAAABWFJREFUeNrsWWtsVEUUnltLH7tbaeuDbfCBojUoBTGmooLE+Igx+gON" +
- "RvEJhEQNUdEYA0Ji4xNf2Bg1iBJJrGBC+CEBNYoxxmh94CMKRE2MitBqoZRi6bbdZT3TfhM/TmZ2" +
@@ -579,199 +439,13 @@ diff -Naur iceweasel-14.0.1.orig/browser/base/content/abouthome/aboutHome.js ice
- "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%3D%3D"
- }
-+
-+ "YaCy": {
-+ }
-+
- };
-
+- }
+-};
+-
// The process of adding a new default snippet involves:
-@@ -143,7 +392,7 @@
+ // * add a new entity to aboutHome.dtd
+ // * add a <span/> for it in aboutHome.xhtml
+@@ -143,7 +45,7 @@
// The <a/> part of the snippet will be linked to the corresponding url.
const DEFAULT_SNIPPETS_URLS = [
"http://www.mozilla.com/firefox/features/?WT.mc_ID=default1"
diff --git a/libre/luxrender-libre/PKGBUILD b/libre/luxrender-libre/PKGBUILD
index c802e1200..1430ae826 100644
--- a/libre/luxrender-libre/PKGBUILD
+++ b/libre/luxrender-libre/PKGBUILD
@@ -2,11 +2,11 @@
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Initial contributor: flixie <69one@gmx.net>
# Contributor: Imanol Celaya <ornitorrincos@archlinux-es.org>
-# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
pkgname=luxrender-libre
pkgver=1.0rc2
_pkgver=008805644181
-pkgrel=1
+pkgrel=2
pkgdesc="Rendering system for physically correct, unbiased image synthesis (without OpenCL)"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.luxrender.net/"
@@ -18,12 +18,18 @@ makedepends=('cmake' 'boost' 'qt' 'luxrays-libre' 'python')
replaces=('luxrender')
conflicts=('luxrender')
provides=("luxrender=$pkgver")
-source=(https://bitbucket.org/luxrender/lux/get/"$_pkgver".tar.bz2)
-md5sums=('1922ccce6f70e7d707b340e2415875cd')
+source=(https://bitbucket.org/luxrender/lux/get/$_pkgver.tar.bz2 \
+ boost_1.50_fix.diff)
+md5sums=('1922ccce6f70e7d707b340e2415875cd'
+ '8c7774bb0c97aadd77d9e665d8fa4aab')
build() {
cd "$srcdir"/luxrender-lux-$_pkgver
+ # fix for boost 1.50
+ # the boost::TIME_UTC has been renamed due to the conflict with C++11
+ patch -Np1 < "$srcdir"/boost_1.50_fix.diff || true
+
export CXXFLAGS="$CXXFLAGS -lpthread"
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DLUXRAYS_DISABLE_OPENCL=ON \
diff --git a/libre/luxrender-libre/boost_1.50_fix.diff b/libre/luxrender-libre/boost_1.50_fix.diff
new file mode 100644
index 000000000..c1aa0a8e2
--- /dev/null
+++ b/libre/luxrender-libre/boost_1.50_fix.diff
@@ -0,0 +1,131 @@
+diff -rup luxrender-lux-008805644181/core/film.cpp luxrender-lux-008805644181.new/core/film.cpp
+--- luxrender-lux-008805644181/core/film.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/film.cpp 2012-07-07 15:44:59.867492295 +0200
+@@ -618,7 +618,7 @@ Film::Film(u_int xres, u_int yres, Filte
+ int yRealHeight = Floor2Int(yPixelStart + .5f + yPixelCount + filter->yWidth) - Floor2Int(yPixelStart + .5f - filter->yWidth);
+ samplePerPass = xRealWidth * yRealHeight;
+
+- boost::xtime_get(&creationTime, boost::TIME_UTC);
++ boost::xtime_get(&creationTime, boost::TIME_UTC_);
+
+ //Queryable parameters
+ AddIntAttribute(*this, "xResolution", "Horizontal resolution (pixels)", &Film::GetXResolution);
+@@ -855,7 +855,7 @@ void Film::AddSampleCount(float count) {
+ if (haltTime > 0) {
+ // Check if we have met the enough rendering time condition
+ boost::xtime t;
+- boost::xtime_get(&t, boost::TIME_UTC);
++ boost::xtime_get(&t, boost::TIME_UTC_);
+ if (t.sec - creationTime.sec > haltTime)
+ enoughSamplesPerPixel = true;
+ }
+diff -rup luxrender-lux-008805644181/core/photonmap.cpp luxrender-lux-008805644181.new/core/photonmap.cpp
+--- luxrender-lux-008805644181/core/photonmap.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/photonmap.cpp 2012-07-07 15:44:59.870825579 +0200
+@@ -474,13 +474,13 @@ void PhotonMapPreprocess(const RandomGen
+
+ boost::xtime photonShootingStartTime;
+ boost::xtime lastUpdateTime;
+- boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC);
+- boost::xtime_get(&lastUpdateTime, boost::TIME_UTC);
++ boost::xtime_get(&photonShootingStartTime, boost::TIME_UTC_);
++ boost::xtime_get(&lastUpdateTime, boost::TIME_UTC_);
+ u_int nshot = 0;
+ while ((!radianceDone || !directDone || !causticDone || !indirectDone) && !scene.terminated) {
+ // Dade - print some progress information
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ if (currentTime.sec - lastUpdateTime.sec > 5) {
+ ss.str("");
+ ss << "Photon shooting progress: Direct[" << directPhotons.size();
+@@ -686,7 +686,7 @@ void PhotonMapPreprocess(const RandomGen
+ return;
+
+ boost::xtime photonShootingEndTime;
+- boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC);
++ boost::xtime_get(&photonShootingEndTime, boost::TIME_UTC_);
+ LOG(LUX_INFO,LUX_NOERROR) << "Photon shooting done (" << ( photonShootingEndTime.sec - photonShootingStartTime.sec ) << "s)";
+
+ if (computeRadianceMap) {
+@@ -700,7 +700,7 @@ void PhotonMapPreprocess(const RandomGen
+ for (u_int i = 0; i < radiancePhotons.size(); ++i) {
+ // Dade - print some progress info
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ if (currentTime.sec - lastUpdateTime.sec > 5) {
+ LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computation progress: " << i << " (" << (100 * i / radiancePhotons.size()) << "%)";
+
+@@ -740,7 +740,7 @@ void PhotonMapPreprocess(const RandomGen
+
+
+ boost::xtime radianceComputeEndTime;
+- boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC);
++ boost::xtime_get(&radianceComputeEndTime, boost::TIME_UTC_);
+ LOG(LUX_INFO,LUX_NOERROR) << "Radiance photon map computed (" << ( radianceComputeEndTime.sec - photonShootingEndTime.sec ) << "s)";
+ }
+
+diff -rup luxrender-lux-008805644181/core/renderfarm.cpp luxrender-lux-008805644181.new/core/renderfarm.cpp
+--- luxrender-lux-008805644181/core/renderfarm.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/core/renderfarm.cpp 2012-07-07 15:44:59.870825579 +0200
+@@ -100,7 +100,7 @@ void FilmUpdaterThread::updateFilm(FilmU
+ // Dade - thread to update the film with data from servers
+
+ boost::xtime reft;
+- boost::xtime_get(&reft, boost::TIME_UTC);
++ boost::xtime_get(&reft, boost::TIME_UTC_);
+
+ while (filmUpdaterThread->signal == SIG_NONE) {
+ // Dade - check signal every 1 sec
+@@ -108,7 +108,7 @@ void FilmUpdaterThread::updateFilm(FilmU
+ for(;;) {
+ // Dade - sleep for 1 sec
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
+
+diff -rup luxrender-lux-008805644181/film/fleximage.cpp luxrender-lux-008805644181.new/film/fleximage.cpp
+--- luxrender-lux-008805644181/film/fleximage.cpp 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/film/fleximage.cpp 2012-07-07 15:44:59.877492150 +0200
+@@ -191,7 +191,7 @@ FlexImageFilm::FlexImageFilm(u_int xres,
+ m_CameraResponseEnabled = d_CameraResponseEnabled = m_CameraResponseFile != "";
+
+ // init timer
+- boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC);
++ boost::xtime_get(&lastWriteImageTime, boost::TIME_UTC_);
+ lastWriteFLMTime = lastWriteImageTime;
+ }
+
+@@ -812,7 +812,7 @@ void FlexImageFilm::CheckWriteOuputInter
+ {
+ // Check write output interval
+ boost::xtime currentTime;
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+ bool timeToWriteImage = (currentTime.sec - lastWriteImageTime.sec > writeInterval);
+ bool timeToWriteFLM = (currentTime.sec - lastWriteFLMTime.sec > flmWriteInterval);
+
+@@ -834,7 +834,7 @@ void FlexImageFilm::CheckWriteOuputInter
+ // WriteImage can take a very long time to be executed (i.e. by saving
+ // the film. It is better to refresh timestamps after the
+ // execution of WriteImage instead than before.
+- boost::xtime_get(&currentTime, boost::TIME_UTC);
++ boost::xtime_get(&currentTime, boost::TIME_UTC_);
+
+ if (timeToWriteImage)
+ lastWriteImageTime = currentTime;
+diff -rup luxrender-lux-008805644181/renderers/sppmrenderer.h luxrender-lux-008805644181.new/renderers/sppmrenderer.h
+--- luxrender-lux-008805644181/renderers/sppmrenderer.h 2012-06-02 08:40:33.000000000 +0200
++++ luxrender-lux-008805644181.new/renderers/sppmrenderer.h 2012-07-07 15:44:59.874158864 +0200
+@@ -126,7 +126,7 @@ public:
+ {
+ while (state == PAUSE && !boost::this_thread::interruption_requested()) {
+ boost::xtime xt;
+- boost::xtime_get(&xt, boost::TIME_UTC);
++ boost::xtime_get(&xt, boost::TIME_UTC_);
+ xt.sec += 1;
+ boost::thread::sleep(xt);
+ }
diff --git a/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch b/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
new file mode 100644
index 000000000..85622aaac
--- /dev/null
+++ b/libre/pacman/0001-Add-conflict-for-replacing-owned-empty-directory.patch
@@ -0,0 +1,152 @@
+From 717fdb8ee0fd23cf72fc7d2832317f513caefa2c Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan@archlinux.org>
+Date: Sun, 8 Jul 2012 21:36:36 +1000
+Subject: [PATCH 1/4] Add conflict for replacing owned empty directory
+
+When two packages own an empty directory, pacman finds no conflict when
+one of those packages wants to replace the directory with a file or a
+symlink. When it comes to actually extracting the new file/symlink,
+pacman sees the directory is still there (we do not remove empty
+directories if they are owned by a package) and refuses to extract.
+
+Detect this potential conflict early and bail. Note that it is a
+_potential_ conflict and not a guaranteed one as the other package owning
+the directory could be updated or removed first which would remove
+the conflict. However, pacman currently can not sort package installation
+order to ensure this, so this conflict requires manual upgrade ordering.
+
+Signed-off-by: Allan McRae <allan@archlinux.org>
+Signed-off-by: Dan McGee <dan@archlinux.org>
+---
+ lib/libalpm/conflict.c | 32 ++++++++++++++++++++++++++------
+ test/pacman/tests/fileconflict009.py | 20 ++++++++++++++++++++
+ test/pacman/tests/fileconflict010.py | 20 ++++++++++++++++++++
+ 3 files changed, 66 insertions(+), 6 deletions(-)
+ create mode 100644 test/pacman/tests/fileconflict009.py
+ create mode 100644 test/pacman/tests/fileconflict010.py
+
+diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
+index 32f6f30..efa1a87 100644
+--- a/lib/libalpm/conflict.c
++++ b/lib/libalpm/conflict.c
+@@ -328,15 +328,35 @@ const alpm_file_t *_alpm_filelist_contains(alpm_filelist_t *filelist,
+ return NULL;
+ }
+
+-static int dir_belongsto_pkg(const char *root, const char *dirpath,
++static int dir_belongsto_pkg(alpm_handle_t *handle, const char *dirpath,
+ alpm_pkg_t *pkg)
+ {
++ alpm_list_t *i;
+ struct stat sbuf;
+ char path[PATH_MAX];
+ char abspath[PATH_MAX];
+- struct dirent *ent = NULL;
+ DIR *dir;
++ struct dirent *ent = NULL;
++ const char *root = handle->root;
++
++ /* TODO: this is an overly strict check but currently pacman will not
++ * overwrite a directory with a file (case 10/11 in add.c). Adjusting that
++ * is not simple as even if the directory is being unowned by a conflicting
++ * package, pacman does not sort this to ensure all required directory
++ * "removals" happen before installation of file/symlink */
++
++ /* check that no other _installed_ package owns the directory */
++ for(i = _alpm_db_get_pkgcache(handle->db_local); i; i = i->next) {
++ if(pkg == i->data) {
++ continue;
++ }
++
++ if(_alpm_filelist_contains(alpm_pkg_get_files(i->data), dirpath)) {
++ return 0;
++ }
++ }
+
++ /* check all files in directory are owned by the package */
+ snprintf(abspath, PATH_MAX, "%s%s", root, dirpath);
+ dir = opendir(abspath);
+ if(dir == NULL) {
+@@ -349,13 +369,13 @@ static int dir_belongsto_pkg(const char *root, const char *dirpath,
+ if(strcmp(name, ".") == 0 || strcmp(name, "..") == 0) {
+ continue;
+ }
+- snprintf(path, PATH_MAX, "%s/%s", dirpath, name);
++ snprintf(path, PATH_MAX, "%s%s", dirpath, name);
+ snprintf(abspath, PATH_MAX, "%s%s", root, path);
+ if(stat(abspath, &sbuf) != 0) {
+ continue;
+ }
+ if(S_ISDIR(sbuf.st_mode)) {
+- if(dir_belongsto_pkg(root, path, pkg)) {
++ if(dir_belongsto_pkg(handle, path, pkg)) {
+ continue;
+ } else {
+ closedir(dir);
+@@ -529,9 +549,9 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle,
+ sprintf(dir, "%s/", filestr);
+ if(_alpm_filelist_contains(alpm_pkg_get_files(dbpkg), dir)) {
+ _alpm_log(handle, ALPM_LOG_DEBUG,
+- "check if all files in %s belongs to %s\n",
++ "check if all files in %s belong to %s\n",
+ dir, dbpkg->name);
+- resolved_conflict = dir_belongsto_pkg(handle->root, filestr, dbpkg);
++ resolved_conflict = dir_belongsto_pkg(handle, dir, dbpkg);
+ }
+ free(dir);
+ }
+diff --git a/test/pacman/tests/fileconflict009.py b/test/pacman/tests/fileconflict009.py
+new file mode 100644
+index 0000000..904af4a
+--- /dev/null
++++ b/test/pacman/tests/fileconflict009.py
+@@ -0,0 +1,20 @@
++self.description = "dir->symlink change during package upgrade (directory conflict)"
++
++lp1 = pmpkg("pkg1")
++lp1.files = ["dir/"]
++self.addpkg2db("local", lp1)
++
++lp2 = pmpkg("pkg2")
++lp2.files = ["dir/"]
++self.addpkg2db("local", lp2)
++
++p = pmpkg("pkg1", "1.0-2")
++p.files = ["dir -> /usr/dir"]
++self.addpkg2db("sync", p)
++
++self.args = "-S pkg1"
++
++self.addrule("PACMAN_RETCODE=1")
++self.addrule("PKG_VERSION=pkg1|1.0-1")
++self.addrule("PKG_VERSION=pkg2|1.0-1")
++self.addrule("DIR_EXIST=dir/")
+diff --git a/test/pacman/tests/fileconflict010.py b/test/pacman/tests/fileconflict010.py
+new file mode 100644
+index 0000000..0a3ce83
+--- /dev/null
++++ b/test/pacman/tests/fileconflict010.py
+@@ -0,0 +1,20 @@
++self.description = "dir->file change during package upgrade (directory conflict)"
++
++lp1 = pmpkg("pkg1")
++lp1.files = ["dir/"]
++self.addpkg2db("local", lp1)
++
++lp2 = pmpkg("pkg2")
++lp2.files = ["dir/"]
++self.addpkg2db("local", lp2)
++
++p = pmpkg("pkg1", "1.0-2")
++p.files = ["dir"]
++self.addpkg2db("sync", p)
++
++self.args = "-S pkg1"
++
++self.addrule("PACMAN_RETCODE=1")
++self.addrule("PKG_VERSION=pkg1|1.0-1")
++self.addrule("PKG_VERSION=pkg2|1.0-1")
++self.addrule("DIR_EXIST=dir/")
+--
+1.7.11.1
+
diff --git a/libre/pacman/0002-Check-empty-subdirectory-ownership.patch b/libre/pacman/0002-Check-empty-subdirectory-ownership.patch
new file mode 100644
index 000000000..6cf496d16
--- /dev/null
+++ b/libre/pacman/0002-Check-empty-subdirectory-ownership.patch
@@ -0,0 +1,61 @@
+From 44e9fdd0e848382337edb97d41e7317638a67bac Mon Sep 17 00:00:00 2001
+From: Allan McRae <allan@archlinux.org>
+Date: Sun, 8 Jul 2012 23:58:37 +1000
+Subject: [PATCH 2/4] Check empty subdirectory ownership
+
+When checking if a package owns a directory, it is important to check
+not only that all the files in the directory are part of the package,
+but also if the directory is part of a package. This catches empty
+subdirectories during conflict checking for directory to file/symlink
+replacements.
+
+Signed-off-by: Allan McRae <allan@archlinux.org>
+Signed-off-by: Dan McGee <dan@archlinux.org>
+---
+ lib/libalpm/conflict.c | 5 +++++
+ test/pacman/tests/fileconflict012.py | 17 +++++++++++++++++
+ 2 files changed, 22 insertions(+)
+ create mode 100644 test/pacman/tests/fileconflict012.py
+
+diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
+index efa1a87..d6e5d8c 100644
+--- a/lib/libalpm/conflict.c
++++ b/lib/libalpm/conflict.c
+@@ -339,6 +339,11 @@ static int dir_belongsto_pkg(alpm_handle_t *handle, const char *dirpath,
+ struct dirent *ent = NULL;
+ const char *root = handle->root;
+
++ /* check directory is actually in package - used for subdirectory checks */
++ if(!_alpm_filelist_contains(alpm_pkg_get_files(pkg), dirpath)) {
++ return 0;
++ }
++
+ /* TODO: this is an overly strict check but currently pacman will not
+ * overwrite a directory with a file (case 10/11 in add.c). Adjusting that
+ * is not simple as even if the directory is being unowned by a conflicting
+diff --git a/test/pacman/tests/fileconflict012.py b/test/pacman/tests/fileconflict012.py
+new file mode 100644
+index 0000000..421b739
+--- /dev/null
++++ b/test/pacman/tests/fileconflict012.py
+@@ -0,0 +1,17 @@
++self.description = "dir->file change during package upgrade (filesystem file conflict)"
++
++lp1 = pmpkg("pkg1")
++lp1.files = ["dir/"]
++self.addpkg2db("local", lp1)
++
++self.filesystem = ["dir/file"]
++
++p = pmpkg("pkg1", "1.0-2")
++p.files = ["dir"]
++self.addpkg2db("sync", p)
++
++self.args = "-S pkg1"
++
++self.addrule("PACMAN_RETCODE=1")
++self.addrule("PKG_VERSION=pkg1|1.0-1")
++self.addrule("DIR_EXIST=dir/")
+--
+1.7.11.1
+
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
index d8d3a6d26..4f05be586 100644
--- a/libre/pacman/PKGBUILD
+++ b/libre/pacman/PKGBUILD
@@ -4,38 +4,42 @@
# Maintainer: Dave Reisner <dave@archlinux.org>
pkgname=pacman
-pkgver=4.0.2
-pkgrel=1
+pkgver=4.0.3
+pkgrel=3
pkgdesc="A library-based package manager with dependency support"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.archlinux.org/pacman/"
license=('GPL')
groups=('base')
depends=('bash' 'glibc>=2.15' 'libarchive>=3.0.2' 'curl>=7.19.4'
- 'gpgme' 'pacman-mirrorlist')
+ 'gpgme' 'pacman-mirrorlist' 'archlinux-keyring' 'parabola-keyring')
makedepends=('asciidoc')
optdepends=('fakeroot: for makepkg usage as normal user')
backup=(etc/pacman.conf etc/makepkg.conf)
install=pacman.install
options=(!libtool)
source=(ftp://ftp.archlinux.org/other/pacman/$pkgname-$pkgver.tar.gz{,.sig}
+ 0001-Add-conflict-for-replacing-owned-empty-directory.patch
+ 0002-Check-empty-subdirectory-ownership.patch
pacman.conf
pacman.conf.x86_64
pacman.conf.mips64el
makepkg.conf)
-md5sums=('289ba4a19a16393096e065cec1cb9b0a'
- '575140dce3ea597d91b6d081aa3f6a00'
- '858d1ffb284afc6b15f72578ba3cac50'
- '7dade0c0a4d597c480d779afa4f5097c'
- 'd4ca1a1d8e6708c0302a225628a489eb'
+md5sums=('387965c7125e60e5f0b9ff3b427fe0f9'
+ '1a70392526c8768470da678b31905a6e'
+ '1a9b79788640907a2b34e8671cacc94a'
+ 'a9ddd43891bed364e1e97d27b2887bf1'
+ '080d9f76f56e135cc62205874636aa0f'
+ 'ce9943fc8086d491890565e91ea1a0d8'
+ 'eb8dba9bd0b315230fbf0e5dc0a7335b'
'debc512689a1aa8c124fe0ccf27f5758')
-# keep an upgrade path for older installations
-PKGEXT='.pkg.tar.gz'
-
build() {
cd $srcdir/$pkgname-$pkgver
+ patch -p1 -i $srcdir/0001-Add-conflict-for-replacing-owned-empty-directory.patch
+ patch -p1 -i $srcdir/0002-Check-empty-subdirectory-ownership.patch
+
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --enable-doc
make
@@ -83,8 +87,10 @@ package() {
-e "s|@CARCHFLAGS[@]|$myflags|g"
# install completion files
- mkdir -p $pkgdir/etc/bash_completion.d/
- install -m644 contrib/bash_completion $pkgdir/etc/bash_completion.d/pacman
- mkdir -p $pkgdir/usr/share/zsh/site-functions/
- install -m644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
+ install -Dm644 contrib/bash_completion "$pkgdir/usr/share/bash-completion/completions/pacman"
+ for f in makepkg pacman-key; do
+ ln -s pacman "$pkgdir/usr/share/bash-completion/completions/$f"
+ done
+
+ install -Dm644 contrib/zsh_completion $pkgdir/usr/share/zsh/site-functions/_pacman
}
diff --git a/libre/pacman/pacman.conf b/libre/pacman/pacman.conf
index 92befa5fa..115217b59 100644
--- a/libre/pacman/pacman.conf
+++ b/libre/pacman/pacman.conf
@@ -36,18 +36,13 @@ Architecture = auto
CheckSpace
#VerbosePkgLists
-# PGP signature checking
-# NOTE: None of this will work without running `pacman-key --init` first.
-# The compiled in default is equivalent to the following line. This requires
-# you to locally sign and trust packager keys using `pacman-key` for them to be
-# considered valid.
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Optional TrustedOnly
-# If you wish to check signatures but avoid local sign and trust issues, use
-# the following line. This will treat any key imported into pacman's keyring as
-# trusted.
-#SigLevel = Optional TrustAll
-# For now, off by default unless you read the above.
-SigLevel = Never
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
@@ -77,7 +72,7 @@ SigLevel = Never
#Include = /etc/pacman.d/mirrorlist
[libre]
-#SigLevel = PackageRequired
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[testing]
@@ -85,11 +80,11 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
[core]
-#SigLevel = PackageRequired
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
-#SigLevel = PackageOptional
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[community-testing]
@@ -97,7 +92,7 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
[community]
-#SigLevel = PackageOptional
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# Parabola also supports community projects and personal repositories, to find
diff --git a/libre/pacman/pacman.conf.mips64el b/libre/pacman/pacman.conf.mips64el
index a74f2d3da..f286c3290 100644
--- a/libre/pacman/pacman.conf.mips64el
+++ b/libre/pacman/pacman.conf.mips64el
@@ -16,9 +16,7 @@
#GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman glibc
# If upgrades are available for these packages they will be asked for first
-# Don't list pacman here unless you want it broken when there is a
-# libarchive or glibc update.
-#SyncFirst =
+SyncFirst = pacman
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
@@ -35,21 +33,16 @@ Architecture = mips64el
#UseSyslog
#UseDelta
#TotalDownload
-#CheckSpace
+CheckSpace
#VerbosePkgLists
-# PGP signature checking
-# NOTE: None of this will work without running `pacman-key --init` first.
-# The compiled in default is equivalent to the following line. This requires
-# you to locally sign and trust packager keys using `pacman-key` for them to be
-# considered valid.
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Optional TrustedOnly
-# If you wish to check signatures but avoid local sign and trust issues, use
-# the following line. This will treat any key imported into pacman's keyring as
-# trusted.
-#SigLevel = Optional TrustAll
-# For now, off by default unless you read the above.
-SigLevel = Never
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
@@ -79,7 +72,7 @@ SigLevel = Never
#Include = /etc/pacman.d/mirrorlist
[libre]
-#SigLevel = PackageRequired
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[testing]
@@ -87,11 +80,11 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
[core]
-#SigLevel = PackageRequired
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
-#SigLevel = PackageOptional
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[community-testing]
@@ -99,7 +92,7 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
[community]
-#SigLevel = PackageOptional
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# Parabola also supports community projects and personal repositories, to find
diff --git a/libre/pacman/pacman.conf.x86_64 b/libre/pacman/pacman.conf.x86_64
index 0eddc159c..4c67b089f 100644
--- a/libre/pacman/pacman.conf.x86_64
+++ b/libre/pacman/pacman.conf.x86_64
@@ -36,18 +36,13 @@ Architecture = auto
CheckSpace
#VerbosePkgLists
-# PGP signature checking
-# NOTE: None of this will work without running `pacman-key --init` first.
-# The compiled in default is equivalent to the following line. This requires
-# you to locally sign and trust packager keys using `pacman-key` for them to be
-# considered valid.
+# By default, pacman accepts packages signed by keys that its local keyring
+# trusts (see pacman-key and its man page), as well as unsigned packages.
#SigLevel = Optional TrustedOnly
-# If you wish to check signatures but avoid local sign and trust issues, use
-# the following line. This will treat any key imported into pacman's keyring as
-# trusted.
-#SigLevel = Optional TrustAll
-# For now, off by default unless you read the above.
-SigLevel = Never
+
+# NOTE: You must run `pacman-key --init` before first using pacman; the local
+# keyring can then be populated with the keys of all official Arch Linux
+# packagers with `pacman-key --populate archlinux`.
#
# REPOSITORIES
@@ -77,7 +72,7 @@ SigLevel = Never
#Include = /etc/pacman.d/mirrorlist
[libre]
-#SigLevel = PackageRequired
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[testing]
@@ -85,11 +80,11 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
[core]
-#SigLevel = PackageRequired
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
[extra]
-#SigLevel = PackageOptional
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
#[community-testing]
@@ -97,7 +92,7 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
[community]
-#SigLevel = PackageOptional
+SigLevel = PackageRequired
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
@@ -108,7 +103,7 @@ Include = /etc/pacman.d/mirrorlist
#Include = /etc/pacman.d/mirrorlist
#[multilib]
-#SigLevel = PackageOptional
+#SigLevel = PackageRequired
#Include = /etc/pacman.d/mirrorlist
# Parabola also supports community projects and personal repositories, to find
diff --git a/libre/pacman/pacman.install b/libre/pacman/pacman.install
index 4369edab1..5dc55c0c2 100644
--- a/libre/pacman/pacman.install
+++ b/libre/pacman/pacman.install
@@ -9,7 +9,9 @@ post_upgrade() {
if [ "$(vercmp $2 3.5.0)" -lt 0 ]; then
_warnupgrade
fi
- _check_pubring
+ if [ ! -f "etc/pacman.d/gnupg/pubring.gpg" ] || [ "$(vercmp $2 4.0.3-2)" -lt 0 ]; then
+ _check_pubring
+ fi
}
post_install() {
@@ -17,9 +19,10 @@ post_install() {
}
_check_pubring() {
- if [ ! -f "etc/pacman.d/gnupg/pubring.gpg" ]; then
- echo " >>> Run \`pacman-key --init\` to set up your pacman keyring."
- fi
+ echo " >>> Run \`pacman-key --init; pacman-key --populate archlinux\`"
+ echo " >>> And \`pacman-key --populate parabola\`"
+ echo " >>> to import the data required by pacman for package verification."
+ echo " >>> See: https://www.archlinux.org/news/having-pacman-verify-packages"
}
_warnupgrade() {
diff --git a/libre/pacman/rePKGBUILD b/libre/pacman/rePKGBUILD
new file mode 100644
index 000000000..810eff5b9
--- /dev/null
+++ b/libre/pacman/rePKGBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Nicolas Reynolds <fauno@kiwwwi.com.ar>
+source PKGBUILD
+unset build package md5sums source check
+_repo=core
+source=(PKGBUILD
+ ftp://ftp.archlinux.org/${_repo}/os/${CARCH}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT
+ # files for pkg modifications
+ pacman.conf
+ pacman.conf.x86_64
+ )
+options=(!strip)
+
+build() {
+ cd "${srcdir}/"
+ rm -vf .{INSTALL,PKGINFO} ${srcdir}/${pkgname%-libre}-$pkgver-$pkgrel-$CARCH$PKGEXT
+ # put actions for package modifications below this line
+
+}
+
+package() {
+ cp -a ${srcdir}/* ${pkgdir}
+
+ rm ${pkgdir}/{PKGBUILD,pacman.conf{,.x86_64}}
+
+# No need to repackage for mips64el
+ case "$CARCH" in
+ i686)
+ install -m644 $srcdir/pacman.conf $pkgdir/etc/pacman.conf
+ ;;
+ x86_64)
+ install -m644 $srcdir/pacman.conf.x86_64 $pkgdir/etc/pacman.conf
+ ;;
+ esac
+}
+
+
+# vim:set ts=2 sw=2 et:
diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
new file mode 100644
index 000000000..432a5cf75
--- /dev/null
+++ b/libre/parabola-keyring/PKGBUILD
@@ -0,0 +1,20 @@
+# $Id$
+# Maintainer: André Silva <emulatorman@lavabit.com>
+
+pkgname=parabola-keyring
+pkgver=20120719
+pkgrel=2
+pkgdesc='Parabola GNU/Linux-libre PGP keyring'
+arch=('any')
+url='https://projects.parabolagnulinux.org/hackers.git/'
+license=('GPL')
+install="${pkgname}.install"
+source=("http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz"
+ "http://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.gz.sig")
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make PREFIX=/usr DESTDIR=${pkgdir} install
+}
+md5sums=('de7f518935faea83aaa4d74001be8ecc'
+ '22dd9f76911e4984a6cc625d9d1f9465')
diff --git a/libre/parabola-keyring/parabola-keyring.install b/libre/parabola-keyring/parabola-keyring.install
new file mode 100644
index 000000000..1c70f1a8d
--- /dev/null
+++ b/libre/parabola-keyring/parabola-keyring.install
@@ -0,0 +1,11 @@
+post_upgrade() {
+ if usr/bin/pacman-key -l >/dev/null 2>&1; then
+ usr/bin/pacman-key --populate parabola
+ fi
+}
+
+post_install() {
+ if [ -x usr/bin/pacman-key ]; then
+ post_upgrade
+ fi
+}
diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD
index 3024bd9bf..662bcba99 100644
--- a/libre/sdl-libre/PKGBUILD
+++ b/libre/sdl-libre/PKGBUILD
@@ -2,12 +2,12 @@
#mips64el Maintainer: Allan McRae <allan@archlinux.org>
# Contributor: dorphell <dorphell@archlinux.org>
# Maintainer (Connochaetos): Henry Jensen <hjensen@connochaetos.org>
-# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
-# Maintainer (Parabola): Márcio Silva <coadde@adinet.com.uy>
+# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
pkgname=sdl-libre
pkgver=1.2.15
-pkgrel=1.1
+pkgrel=1.2
pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard"
arch=('i686' 'x86_64')
url="http://www.libsdl.org"
diff --git a/libre/virtualbox-modules/PKGBUILD b/libre/virtualbox-modules/PKGBUILD
index 50e9b0721..6406715b1 100644
--- a/libre/virtualbox-modules/PKGBUILD
+++ b/libre/virtualbox-modules/PKGBUILD
@@ -6,7 +6,7 @@
pkgbase=virtualbox-modules
pkgname=('virtualbox-modules' 'virtualbox-parabola-modules')
pkgver=4.1.18
-pkgrel=2
+pkgrel=3
arch=('i686' 'x86_64')
url='http://virtualbox.org'
license=('GPL')