summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/keyfinder-cli/default.nix6
-rw-r--r--pkgs/applications/audio/mikmod/default.nix7
-rw-r--r--pkgs/applications/audio/spek/default.nix26
-rw-r--r--pkgs/applications/editors/idea/default.nix22
-rw-r--r--pkgs/applications/editors/vim/configurable.nix4
-rw-r--r--pkgs/applications/editors/vim/qvim.nix4
-rw-r--r--pkgs/applications/kde-apps-14.12/default.nix11
-rw-r--r--pkgs/applications/misc/k3b/default.nix4
-rw-r--r--pkgs/applications/misc/qpdfview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix6
-rw-r--r--pkgs/applications/networking/owncloud-client/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix2
-rw-r--r--pkgs/applications/office/libreoffice/default.nix33
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix119
-rw-r--r--pkgs/applications/office/mendeley/default.nix2
-rw-r--r--pkgs/applications/video/bomi/default.nix (renamed from pkgs/applications/video/cmplayer/default.nix)40
-rw-r--r--pkgs/applications/video/cmplayer/fix-gcc48.patch22
-rw-r--r--pkgs/applications/video/kodi/default.nix18
-rw-r--r--pkgs/applications/video/mpv/default.nix8
-rw-r--r--pkgs/applications/video/xbmc/default.nix11
-rw-r--r--pkgs/applications/window-managers/windowmaker/default.nix17
-rw-r--r--pkgs/applications/window-managers/xmonad/default.nix2
-rw-r--r--pkgs/applications/window-managers/xmonad/wrapper.nix22
-rw-r--r--pkgs/build-support/autonix/default.nix1
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix5
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix2
-rw-r--r--pkgs/development/arduino/ino/default.nix6
-rw-r--r--pkgs/development/compilers/ghc/7.10.1.nix4
-rw-r--r--pkgs/development/compilers/ghc/head.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang-purity.patch22
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang-separate-build.patch8
-rw-r--r--pkgs/development/compilers/llvm/3.5/clang.nix41
-rw-r--r--pkgs/development/compilers/llvm/3.5/default.nix41
-rw-r--r--pkgs/development/compilers/llvm/3.5/dragonegg.nix34
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/darwin.patch (renamed from pkgs/development/libraries/libc++/darwin.patch)0
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/default.nix (renamed from pkgs/development/libraries/libc++/default.nix)19
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh (renamed from pkgs/development/libraries/libc++/setup-hook.sh)0
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch (renamed from pkgs/development/libraries/libc++abi/darwin.patch)0
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++abi/default.nix53
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch (renamed from pkgs/development/libraries/libc++abi/no-stdc++.patch)0
-rw-r--r--pkgs/development/compilers/llvm/3.5/lld.nix31
-rw-r--r--pkgs/development/compilers/llvm/3.5/lldb.nix44
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch12
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm.nix72
-rw-r--r--pkgs/development/compilers/llvm/3.5/polly-separate-build.patch12
-rw-r--r--pkgs/development/compilers/llvm/3.5/polly.nix27
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix68
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix3
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix803
-rw-r--r--pkgs/development/haskell-modules/lib.nix3
-rw-r--r--pkgs/development/haskell-modules/xmonad-nix.patch (renamed from pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch)0
-rw-r--r--pkgs/development/interpreters/mujs/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/5.20/default.nix2
-rw-r--r--pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch19
-rw-r--r--pkgs/development/interpreters/pypy/default.nix (renamed from pkgs/development/interpreters/pypy/2.4/default.nix)8
-rw-r--r--pkgs/development/interpreters/pypy/setup-hook.sh (renamed from pkgs/development/interpreters/pypy/2.4/setup-hook.sh)4
-rw-r--r--pkgs/development/interpreters/ruby/bundix/gemset.nix2
-rw-r--r--pkgs/development/libraries/apr/darwin_fix_configure.patch17
-rw-r--r--pkgs/development/libraries/apr/default.nix2
-rw-r--r--pkgs/development/libraries/apr/is-this-a-compiler-bug.patch17
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix2
-rw-r--r--pkgs/development/libraries/clucene-core/fix-darwin.patch75
-rw-r--r--pkgs/development/libraries/directfb/default.nix12
-rw-r--r--pkgs/development/libraries/directfb/default.upstream3
-rw-r--r--pkgs/development/libraries/directfb/src-for-default.nix9
-rw-r--r--pkgs/development/libraries/directfb/src-info-for-default.nix6
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix21
-rw-r--r--pkgs/development/libraries/eigen/default.nix4
-rw-r--r--pkgs/development/libraries/folly/105.patch22
-rw-r--r--pkgs/development/libraries/folly/default.nix18
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix2
-rw-r--r--pkgs/development/libraries/gmp/need-size-t.patch18
-rw-r--r--pkgs/development/libraries/haskell/monad-journal/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/monad-logger/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/scotty/default.nix4
-rw-r--r--pkgs/development/libraries/haskell/yi-language/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix422
-rw-r--r--pkgs/development/libraries/jasper/default.nix7
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff12
-rw-r--r--pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff329
-rw-r--r--pkgs/development/libraries/ldb/default.nix5
-rw-r--r--pkgs/development/libraries/libaacs/default.nix15
-rw-r--r--pkgs/development/libraries/libbluray/A01-filter-dup.patch80
-rw-r--r--pkgs/development/libraries/libbluray/default.nix9
-rw-r--r--pkgs/development/libraries/libc++abi/default.nix51
-rw-r--r--pkgs/development/libraries/libe-book/default.nix8
-rw-r--r--pkgs/development/libraries/libfprint/0001-lib-Add-VFS5011-driver.patch7375
-rw-r--r--pkgs/development/libraries/libfprint/master.nix6
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libiberty/default.nix4
-rw-r--r--pkgs/development/libraries/libmikmod/default.nix9
-rw-r--r--pkgs/development/libraries/libodfgen/default.nix8
-rw-r--r--pkgs/development/libraries/libpst/default.nix26
-rw-r--r--pkgs/development/libraries/libsodium/default.nix6
-rw-r--r--pkgs/development/libraries/libunique/3.x.nix28
-rw-r--r--pkgs/development/libraries/libunwind/native.nix17
-rw-r--r--pkgs/development/libraries/libxls/default.nix2
-rw-r--r--pkgs/development/libraries/ntdb/default.nix5
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix25
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix4
-rw-r--r--pkgs/development/libraries/tdb/default.nix5
-rw-r--r--pkgs/development/libraries/xlslib/default.nix8
-rw-r--r--pkgs/development/libraries/zookeeper_mt/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/zed/default.nix12
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix6
-rw-r--r--pkgs/development/tools/godep/default.nix30
-rw-r--r--pkgs/development/tools/godep/deps.nix59
-rw-r--r--pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix35
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/packer/default.nix2
-rw-r--r--pkgs/development/tools/packer/deps.nix358
-rw-r--r--pkgs/development/tools/slimerjs/default.nix8
-rw-r--r--pkgs/development/tools/tradcpp/default.nix21
-rw-r--r--pkgs/development/tools/tradcpp/tradcpp-configure.patch84
-rw-r--r--pkgs/games/0ad/data.nix2
-rw-r--r--pkgs/games/0ad/default.nix6
-rw-r--r--pkgs/games/instead/default.nix4
-rw-r--r--pkgs/games/mudlet/default.nix6
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix6
-rw-r--r--pkgs/misc/emulators/wine/unstable.nix4
-rw-r--r--pkgs/misc/screensavers/xss-lock/default.nix26
-rw-r--r--pkgs/misc/vim-plugins/default.nix16
-rw-r--r--pkgs/os-specific/darwin/adv_cmds/ps.nix35
-rw-r--r--pkgs/os-specific/darwin/bootstrap-cmds/default.nix46
-rw-r--r--pkgs/os-specific/darwin/cctools-port/default.nix64
-rw-r--r--pkgs/os-specific/darwin/cctools/darwin.patch122
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch (renamed from pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch)0
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch (renamed from pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch)0
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix80
-rw-r--r--pkgs/os-specific/darwin/command-line-tools/default.nix66
-rw-r--r--pkgs/os-specific/darwin/libc/default.nix40
-rw-r--r--pkgs/os-specific/darwin/libc/fileport.patch38
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix23
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix8
-rw-r--r--pkgs/os-specific/linux/firmware/iwlegacy/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/iwlwifi/default.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix12
-rw-r--r--pkgs/os-specific/linux/libcap/progs.nix8
-rw-r--r--pkgs/os-specific/linux/spl/git.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/git.nix4
-rw-r--r--pkgs/servers/irc/ircd-hybrid/default.nix6
-rw-r--r--pkgs/servers/kafka/default.nix34
-rw-r--r--pkgs/servers/samba/4.x.nix5
-rw-r--r--pkgs/servers/search/solr/default.nix16
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/varnish/2.1.nix21
-rw-r--r--pkgs/servers/varnish/default.nix8
-rw-r--r--pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh1
-rw-r--r--pkgs/servers/x11/xorg/imake.patch22
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix6
-rw-r--r--pkgs/stdenv/darwin/default.nix165
-rw-r--r--pkgs/stdenv/darwin/trivialBootstrap.sh66
-rw-r--r--pkgs/stdenv/default.nix23
-rw-r--r--pkgs/tools/archivers/unzip/CVE-2014-9636.diff41
-rw-r--r--pkgs/tools/archivers/unzip/default.nix1
-rw-r--r--pkgs/tools/archivers/zpaq/default.nix8
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix8
-rw-r--r--pkgs/tools/misc/pipelight/default.nix6
-rw-r--r--pkgs/tools/misc/tlp/default.nix4
-rw-r--r--pkgs/tools/misc/xflux/default.nix4
-rw-r--r--pkgs/tools/networking/aria2/default.nix9
-rw-r--r--pkgs/tools/networking/connman/default.nix4
-rw-r--r--pkgs/tools/networking/wget/default.nix7
-rw-r--r--pkgs/tools/package-management/nix/unstable.nix6
-rw-r--r--pkgs/tools/security/fprintd/default.nix18
-rw-r--r--pkgs/tools/security/fprintd/pod.patch9
-rw-r--r--pkgs/tools/security/pass/default.nix14
-rw-r--r--pkgs/tools/system/stress-ng/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix229
-rw-r--r--pkgs/top-level/python-packages.nix4
179 files changed, 3814 insertions, 8702 deletions
diff --git a/pkgs/applications/audio/keyfinder-cli/default.nix b/pkgs/applications/audio/keyfinder-cli/default.nix
index a6e843d0db8d..dca72f22b499 100644
--- a/pkgs/applications/audio/keyfinder-cli/default.nix
+++ b/pkgs/applications/audio/keyfinder-cli/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, libav, libkeyfinder }:
 
+let version = "20150130"; in
 stdenv.mkDerivation rec {
-  version = "20150125";
   name = "keyfinder-cli-${version}";
 
   src = fetchFromGitHub {
     repo = "keyfinder-cli";
     owner = "EvanPurkhiser";
-    rev = "3a6f598b3661fdba73ada81cd200a6e56c23ddca";
-    sha256 = "05k4g9zdzi4q81p8lax9b2j4bcg1bpp04sdbza5i5pfz2fng2cf7";
+    rev = "e8a20e73f8a465a6c3c9e71dabf4b636244a9b0c";
+    sha256 = "0x198ijr6wgzq24642s4pz5zxn4gvcc7dxmb6d1bfn3dwzi3j8lp";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/mikmod/default.nix b/pkgs/applications/audio/mikmod/default.nix
index f38ff4697313..58a83dafe69f 100644
--- a/pkgs/applications/audio/mikmod/default.nix
+++ b/pkgs/applications/audio/mikmod/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, libmikmod, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "mikmod-3.2.2";
+  name = "mikmod-3.2.6";
+
   src = fetchurl {
-    url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
-    sha256 = "105vl1kyah588wpbpq6ck1wlr0jj55l2ps72q5i01gs9px8ncmp8";
+    url = "http://downloads.sourceforge.net/project/mikmod/mikmod/3.2.6/mikmod-3.2.6.tar.gz";
+    sha256 = "0wr61raj10rpl64mk3x9g3rwys898fbzyg93c6mrz89nvc74wm04";
   };
 
   buildInputs = [ libmikmod ncurses ];
diff --git a/pkgs/applications/audio/spek/default.nix b/pkgs/applications/audio/spek/default.nix
new file mode 100644
index 000000000000..32aac686043c
--- /dev/null
+++ b/pkgs/applications/audio/spek/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchzip, autoconf, automake, intltool, pkgconfig, ffmpeg, wxGTK }:
+
+stdenv.mkDerivation rec {
+  name = "spek-${version}";
+  version = "0.8.3";
+
+  src = fetchzip {
+    name = "${name}-src";
+    url = "https://github.com/alexkay/spek/archive/v${version}.tar.gz";
+    sha256 = "0y4hlhswpqkqpsglrhg5xbfy1a6f9fvasgdf336vhwcjqsc3k2xv";
+  };
+
+  buildInputs = [ autoconf automake intltool pkgconfig ffmpeg wxGTK ];
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Analyse your audio files by showing their spectrogram";
+    homepage = http://spek.cc/;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index 935de30b81ce..734f88722a5e 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -202,50 +202,50 @@ in
 
   android-studio = buildAndroidStudio rec {
     name = "android-studio-${version}";
-    version = "1.0.2";
-    build = "135.1653844";
+    version = "1.1.0b2";
+    build = "135.1711524";
     description = "Android development environment based on IntelliJ IDEA";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
             "/android-studio-ide-${build}-linux.zip";
-      sha256 = "0y20gp5444c2lwyzhlppjpkb657qbgpskj31lwyfhx6xyqy83159";
+      sha256 = "0pkmyk7ipd4bfbryhanak5mq3x8ix1yv4czx8yi9vdpa34b6pnkw";
     };
   };
 
   clion = buildClion rec {
     name = "clion";
     version = "eap";
-    build = "140.1221.2";
+    build = "140.1740.3";
     description  = "C/C++ IDE. New. Intelligent. Cross-platform.";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "http://download.jetbrains.com/cpp/${name}-${build}.tar.gz";
-      sha256 = "0gf809plnw89dgn47j6hsh5nv0bpdynjnl1rg8wv7jaz2zx9bqcg";
+      sha256 = "1hpsq37hq61id836wg5j6l3xapln6qdkqa10r3ig2p1rs2hq7i9y";
     };
   };
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "14.0.2";
-    build = "IC-139.659";
+    version = "14.0.3";
+    build = "IC-139.1117";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "http://download-ln.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0g8f66bdxdmsbv2r1jc308by5ca92ifczprf0gwy5bs2xsvxxwlf";
+      sha256 = "01wcpzdahkh3li2l3k2bgirnlp7hdxk9y1kyrxc3d9d1nazq8wqn";
     };
   };
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "14.0.2";
-    build = "IU-139.659";
+    version = "14.0.3";
+    build = "IU-139.1117";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "http://download-ln.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "0swd3lyrlcdlsgp350sa741bkmndlck1ss429f9faf3hm4s2y0k5";
+      sha256 = "1zkqigdh9l1f3mjjvxsp7b7vc93v5ylvxa1dfpclzmfbzna7h69s";
     };
   };
 
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index 6910f13bb36a..94ae1d9c846a 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -31,10 +31,6 @@ let inherit (args.composableDerivation) composableDerivation edf;
   '';
 in
 composableDerivation {
-  # use gccApple to compile on darwin
-  mkDerivation = ( if stdenv.isDarwin
-                   then stdenvAdapters.overrideCC stdenv gccApple
-                   else stdenv ).mkDerivation;
 } (fix: {
 
     name = "vim_configurable-7.4.516";
diff --git a/pkgs/applications/editors/vim/qvim.nix b/pkgs/applications/editors/vim/qvim.nix
index 8c87d3c1e20c..b9e3d668d623 100644
--- a/pkgs/applications/editors/vim/qvim.nix
+++ b/pkgs/applications/editors/vim/qvim.nix
@@ -6,10 +6,6 @@ in
 
 let inherit (args.composableDerivation) composableDerivation edf; in
 composableDerivation {
-  # use gccApple to compile on darwin
-  mkDerivation = ( if stdenv.isDarwin
-                   then stdenvAdapters.overrideCC stdenv gccApple
-                   else stdenv ).mkDerivation;
 } (fix: {
 
     name = "qvim-7.4." + tag;
diff --git a/pkgs/applications/kde-apps-14.12/default.nix b/pkgs/applications/kde-apps-14.12/default.nix
index fb5a46fbc63e..7495dfffd710 100644
--- a/pkgs/applications/kde-apps-14.12/default.nix
+++ b/pkgs/applications/kde-apps-14.12/default.nix
@@ -12,13 +12,15 @@
 #  make a copy of this directory first. After copying, be sure to delete ./tmp
 #  if it exists. Then follow the minor update instructions.
 
-{ autonix, kde4, kf55, pkgs, qt4, stdenv, debug ? false }:
+{ autonix, kde4, kf5, pkgs, qt4, stdenv, debug ? false }:
 
 with stdenv.lib; with autonix;
 
+let kf5Orig = kf5; in
+
 let
 
-  kf5 = kf55.override { inherit debug; };
+  kf5 = kf5Orig.override { inherit debug; };
 
   mirror = "mirror://kde";
 
@@ -114,9 +116,14 @@ let
       }
     );
 
+  qt5Only = tgt:
+    let qt4Deps = [ "KDE4" "Phonon" ];
+    in mapAttrs (name: if name == tgt then removePkgDeps qt4Deps else id);
+
   preResolve = super:
     fold (f: x: f x) super
       [
+        (qt5Only "kmix")
         (userEnvPkg "SharedMimeInfo")
         (userEnvPkg "SharedDesktopOntologies")
         (blacklist ["artikulate"]) # build failure, wrong boost?
diff --git a/pkgs/applications/misc/k3b/default.nix b/pkgs/applications/misc/k3b/default.nix
index e551b12608e7..7730402a7959 100644
--- a/pkgs/applications/misc/k3b/default.nix
+++ b/pkgs/applications/misc/k3b/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
 , flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
-, transcode, cdrdao, dvdplusrwtools, vcdimager, cdparanoia
+, transcode, cdrdao, cdrtools, dvdplusrwtools, vcdimager, cdparanoia
 , kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null
 }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   # at runtime, k3b needs the executables cdrdao, cdrecord, dvd+rw-format,
   # eMovix, growisofs, mkisofs, normalize, readcd, transcode, vcdxbuild,
   # vcdxminfo, and vcdxrip
-  propagatedUserEnvPkgs = [ transcode dvdplusrwtools cdrdao vcdimager ];
+  propagatedUserEnvPkgs = [ cdrdao cdrtools dvdplusrwtools transcode vcdimager ];
 
   postInstall = ''
     wrapProgram $out/bin/k3b \
diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix
index 7d17e6c4a95c..aeb128bf778c 100644
--- a/pkgs/applications/misc/qpdfview/default.nix
+++ b/pkgs/applications/misc/qpdfview/default.nix
@@ -5,10 +5,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="qpdfview";
-    version = "0.4.13";
+    version = "0.4.14beta1";
     name="${baseName}-${version}";
     url="https://launchpad.net/qpdfview/trunk/${version}/+download/qpdfview-${version}.tar.gz";
-    sha256 = "0hcfy9wrgs6vygmq790rqipw2132br3av3nhzrm4gpxlbw2n7xcg";
+    sha256 = "0ly0xqpgmd1ccsyqs6z0i3w1g4y3ichmibd809bjy344h6fb0m3b";
   };
   buildInputs = [
     qt4 popplerQt4 pkgconfig djvulibre libspectre cups file ghostscript
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
index 2fa7d5f37f24..c290975152cd 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/otr/default.nix
@@ -11,9 +11,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libotr pidgin intltool ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.cypherpunks.ca/otr;
     description = "Plugin for Pidgin 2.x which implements OTR Messaging";
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainters = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix
index 7c04abebb54c..5841fe7c512e 100644
--- a/pkgs/applications/networking/owncloud-client/default.nix
+++ b/pkgs/applications/networking/owncloud-client/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "owncloud-client" + "-" + version;
 
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "https://download.owncloud.com/desktop/stable/mirall-${version}.tar.bz2";
-    sha256 = "b1cb0612e5022de263dc4c6309eba8207d694a40a80dae6762b4a56fa8d4d944";
+    sha256 = "0n9gv97jqval7xjyix2lkywvmvvfv052s0bd1i8kybdl9rwca6yf";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 874de7d51929..bf659816c4f3 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "transmission-" + optionalString enableGTK3 "gtk-" + version;
 
   src = fetchurl {
-    url = "http://download.transmissionbt.com/files/transmission-${version}.tar.xz";
+    url = "https://transmission.cachefly.net/transmission-${version}.tar.xz";
     sha256 = "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59";
   };
 
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 68fcd3838c5a..bed60fa66e49 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -10,22 +10,22 @@
 , bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg
 , openssl, gperf, cppunit, GConf, ORBit2, poppler
-, librsvg, gnome_vfs, gstreamer, gst_plugins_base, mesa
+, librsvg, gnome_vfs, mesa
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus_glib, glibc, qt4, kde4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, saneBackends, mythes, libexttextcat, libvisio
 , fontsConf, pkgconfig, libzip, bluez5, libtool, maven
-, libatomic_ops, graphite2, harfbuzz
-, librevenge, libe-book, libmwaw, glm, glew
+, libatomic_ops, graphite2, harfbuzz, libodfgen
+, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" ]
 }:
 
 let
   langsSpaces = stdenv.lib.concatStringsSep " " langs;
   major = "4";
-  minor = "3";
-  patch = "5";
-  tweak = "2";
+  minor = "4";
+  patch = "0";
+  tweak = "3";
   subdir = "${major}.${minor}.${patch}";
   version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
 
@@ -80,14 +80,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0xqvfmfab0hq3hcq76hs7ybv32i02lzl8xghilbjf12k1wgqy96c";
+      sha256 = "0y94sry2cghc82628smka7qb1xqlgrgvy98bxd2fpqfkd1llcqfg";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "14kdhd9pjy0a7dkyx03a73m5iy3qr3ki2xqkinhml24f3n9qddbq";
+      sha256 = "05al25vcz2z6fhm8vx77wa47nyi3r0hwll6mg2aclx7yp0s5k01d";
     };
 
   };
@@ -97,7 +97,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "0dr6xzdnnyhhysayz1yhnmv0l3c14kpnlhwd5h66qyzkd4d85rkq";
+    sha256 = "1xqc60ckay6xpljipcbm4915qqwk81dm2fbpxwfqc2l4gv9g6s6i";
   };
 
   # Openoffice will open libcups dynamically, so we link it directly
@@ -211,13 +211,12 @@ stdenv.mkDerivation rec {
     # Modified on every upgrade, though
     "--disable-kde"
     "--disable-postgresql-sdbc"
-    "--with-package-format=native"
+    "--with-package-format=installed"
     "--enable-epm"
     "--with-jdk-home=${jdk.home}"
     "--with-ant-home=${ant}/lib/ant"
     "--without-fonts"
     "--without-myspell-dicts"
-    "--without-ppds"
     "--without-system-beanshell"
     "--without-system-hsqldb"
     "--without-system-jars"
@@ -228,11 +227,14 @@ stdenv.mkDerivation rec {
 
     "--without-system-libetonyek"
     "--without-system-libfreehand"
-    "--without-system-libodfgen"
     "--without-system-libabw"
     "--without-system-firebird"
     "--without-system-liblangtag"
     "--without-system-libmspub"
+
+    "--without-system-libpagemaker"
+    "--without-system-coinmp"
+    "--without-system-libgltf"
   ];
 
   checkPhase = ''
@@ -243,17 +245,18 @@ stdenv.mkDerivation rec {
   buildInputs = with xorg;
     [ ant ArchiveZip autoconf automake bison boost cairo clucene_core
       CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
-      freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
+      freetype GConf getopt gnome_vfs gperf gtk
       hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs mesa mythes
+      libXdmcp libpthreadstubs mesa mythes gst_all_1.gstreamer 
+      gst_all_1.gst-plugins-base
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfigUpstream poppler
       python3 sablotron saneBackends tcsh unzip vigra which zip zlib
       mdds bluez5 glibc libixion
       libxshmfence libatomic_ops graphite2 harfbuzz
       librevenge libe-book libmwaw glm glew
-      liborcus
+      liborcus libodfgen
     ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 7460f7e1fd68..2cb20027b4c5 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -1,7 +1,7 @@
 [
 {
-  name = "libabw-0.1.0.tar.bz2";
-  md5 = "9317e967c8fa8ff50e049744c4b33c87";
+  name = "libabw-0.1.1.tar.bz2";
+  md5 = "7a3815b506d064313ba309617b6f5a0b";
   brief = true;
 }
 {
@@ -35,6 +35,16 @@
   brief = false;
 }
 {
+  name = "commons-httpclient-3.1-src.tar.gz";
+  md5 = "2c9b0f83ed5890af02c0df1c1776f39b";
+  brief = false;
+}
+{
+  name = "commons-logging-1.2-src.tar.gz";
+  md5 = "ce977548f1cbf46918e93cd38ac35163";
+  brief = true;
+}
+{
   name = "apr-1.4.8.tar.gz";
   md5 = "eff9d741b0999a9bbab96862dd2a2a3d";
   brief = true;
@@ -60,8 +70,8 @@
   brief = false;
 }
 {
-  name = "libcdr-0.1.0.tar.bz2";
-  md5 = "0e2f56934c8872ec4a254cd4bb1d7cf6";
+  name = "libcdr-0.1.1.tar.bz2";
+  md5 = "b33fd0be3befdd1b37777e08ce058bd9";
   brief = true;
 }
 {
@@ -70,8 +80,8 @@
   brief = false;
 }
 {
-  name = "libcmis-0.4.1.tar.gz";
-  md5 = "22f8a85daf4a012180322e1f52a7563b";
+  name = "libcmis-0.5.0.tar.gz";
+  md5 = "5821b806a98e6c38370970e682ce76e8";
   brief = false;
 }
 {
@@ -85,9 +95,9 @@
   brief = false;
 }
 {
-  name = "cppunit-1.13.1.tar.gz";
-  md5 = "ac4781e01619be13461bb2d562b94a7b";
-  brief = false;
+  name = "cppunit-1.13.2.tar.gz";
+  md5 = "d1c6bdd5a76c66d2c38331e2d287bc01";
+  brief = true;
 }
 {
   name = "ConvertTextToNumber-1.3.2.oxt";
@@ -100,8 +110,8 @@
   brief = true;
 }
 {
-  name = "libe-book-0.1.1.tar.bz2";
-  md5 = "c25a881d21abc5b4da19205db513cc22";
+  name = "libe-book-0.1.2.tar.bz2";
+  md5 = "6b48eda57914e6343efebc9381027b78";
   brief = true;
 }
 {
@@ -180,11 +190,6 @@
   brief = false;
 }
 {
-  name = "source-sans-font-1.036.tar.gz";
-  md5 = "1e9ddfe25ac9577da709d7b2ea36f939";
-  brief = false;
-}
-{
   name = "source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
   md5 = "edc4d741888bc0d38e32dbaa17149596";
   brief = false;
@@ -225,13 +230,13 @@
   brief = false;
 }
 {
-  name = "hunspell-1.3.2.tar.gz";
-  md5 = "3121aaf3e13e5d88dfff13fb4a5f1ab8";
+  name = "hunspell-1.3.3.tar.gz";
+  md5 = "4967da60b23413604c9e563beacc63b4";
   brief = false;
 }
 {
-  name = "hyphen-2.8.4.tar.gz";
-  md5 = "a2f6010987e1c601274ab5d63b72c944";
+  name = "hyphen-2.8.8.tar.gz";
+  md5 = "5ade6ae2a99bc1e9e57031ca88d36dad";
   brief = false;
 }
 {
@@ -300,8 +305,13 @@
   brief = true;
 }
 {
-  name = "language-subtag-registry-2014-04-10.tar.bz2";
-  md5 = "49c94710f7858b1969d74ff72e6aac84";
+  name = "libjpeg-turbo-1.3.1.tar.gz";
+  md5 = "2c3a68129dac443a72815ff5bb374b05";
+  brief = true;
+}
+{
+  name = "language-subtag-registry-2014-12-03.tar.bz2";
+  md5 = "0f2677ec23bb43ddc7355d1b4cc8ed45";
   brief = true;
 }
 {
@@ -325,13 +335,13 @@
   brief = true;
 }
 {
-  name = "libexttextcat-3.4.3.tar.bz2";
-  md5 = "ae330b9493bd4503ac390106ff6060d7";
+  name = "libexttextcat-3.4.4.tar.bz2";
+  md5 = "10d61fbaa6a06348823651b1bd7940fe";
   brief = false;
 }
 {
-  name = "libgltf-0.0.0.tar.bz2";
-  md5 = "ca5436e916bfe70694adfe2607782786";
+  name = "libgltf-0.0.2.tar.bz2";
+  md5 = "d63a9f47ab048f5009d90693d6aa6424";
   brief = true;
   subDir = "libgltf/";
 }
@@ -361,18 +371,18 @@
   brief = false;
 }
 {
-  name = "mariadb-native-client-1.0.0.tar.bz2";
-  md5 = "05f84c95b610c21c5fd510d10debcabf";
+  name = "mariadb_client-2.0.0-src.tar.gz";
+  md5 = "a233181e03d3c307668b4c722d881661";
   brief = false;
 }
 {
-  name = "mdds_0.10.3.tar.bz2";
-  md5 = "aa5ca9d1ed1082890835afab26400a39";
+  name = "mdds_0.11.2.tar.bz2";
+  md5 = "cb4207cb913c7a5a8bfa5b91234618ee";
   brief = false;
 }
 {
-  name = "libmspub-0.1.1.tar.bz2";
-  md5 = "1d489c4932109e72495b1df8b69e5f11";
+  name = "libmspub-0.1.2.tar.bz2";
+  md5 = "ff9d0f9dd8fbc523408ea1953d5bde41";
   brief = true;
 }
 {
@@ -381,13 +391,13 @@
   brief = true;
 }
 {
-  name = "mysql-connector-c++-1.1.0.tar.gz";
-  md5 = "0981bda6548a8c8233ffce2b6e4b2a23";
+  name = "mysql-connector-c++-1.1.4.tar.gz";
+  md5 = "7239a4430efd4d0189c4f24df67f08e5";
   brief = false;
 }
 {
-  name = "mythes-1.2.3.tar.gz";
-  md5 = "46e92b68e31e858512b680b3b61dc4c1";
+  name = "mythes-1.2.4.tar.gz";
+  md5 = "a8c2c5b8f09e7ede322d5c602ff6a4b6";
   brief = false;
 }
 {
@@ -396,8 +406,8 @@
   brief = false;
 }
 {
-  name = "nss-3.15.3-with-nspr-4.10.2.tar.gz";
-  md5 = "06beb053e257d9e22641339c905c6eba";
+  name = "nss-3.16.5-with-nspr-4.10.6.tar.gz";
+  md5 = "b279551b7638d0e36d1199548124c247";
   brief = false;
 }
 {
@@ -416,9 +426,9 @@
   brief = false;
 }
 {
-  name = "openssl-1.0.1h.tar.gz";
-  md5 = "8d6d684a9430d5cc98a62a5d8fbda8cf";
-  brief = false;
+  name = "openssl-1.0.1j.tar.gz";
+  md5 = "f7175c9cd3c39bb1907ac8bba9df8ed3";
+  brief = true;
 }
 {
   name = "liborcus-0.7.0.tar.bz2";
@@ -426,6 +436,11 @@
   brief = false;
 }
 {
+  name = "libpagemaker-0.0.2.tar.bz2";
+  md5 = "795cc7a59ace4db2b12586971d668671";
+  brief = true;
+}
+{
   name = "pixman-0.24.4.tar.bz2";
   md5 = "c63f411b3ad147db2bcce1bf262a0e02";
   brief = false;
@@ -436,9 +451,9 @@
   brief = true;
 }
 {
-  name = "poppler-0.22.5.tar.gz";
-  md5 = "1cd27460f7e3379d1eb109cfd7bcdb39";
-  brief = false;
+  name = "poppler-0.26.4.tar.gz";
+  md5 = "35c0660065d023365e9854c13e289d12";
+  brief = true;
 }
 {
   name = "postgresql-9.2.1.tar.bz2";
@@ -466,8 +481,8 @@
   brief = false;
 }
 {
-  name = "librevenge-0.0.1.tar.bz2";
-  md5 = "69c367c6b0a360411965a1c409a0b6c1";
+  name = "librevenge-0.0.2.tar.bz2";
+  md5 = "2d4183bf17aea1a71842468a71a68c47";
   brief = true;
 }
 {
@@ -496,8 +511,8 @@
   brief = false;
 }
 {
-  name = "libvisio-0.1.0.tar.bz2";
-  md5 = "931588332ba44682c9cd5eefbd358ab4";
+  name = "libvisio-0.1.1.tar.bz2";
+  md5 = "726c1f5be65eb7d649e0d48b63d920e7";
   brief = true;
 }
 {
@@ -511,8 +526,8 @@
   brief = true;
 }
 {
-  name = "libwps-0.3.0.tar.bz2";
-  md5 = "d4d77d08b9048bae3b8ec8df11f80efd";
+  name = "libwps-0.3.1.tar.bz2";
+  md5 = "a111d9ef5a0dab564e9aec0f2cf8d218";
   brief = true;
 }
 {
@@ -526,8 +541,8 @@
   brief = true;
 }
 {
-  name = "libgltf-0.0.2.tar.bz2";
-  md5 = "d63a9f47ab048f5009d90693d6aa6424";
+  name = "libgltf-0.0.0.tar.bz2";
+  md5 = "ca5436e916bfe70694adfe2607782786";
   brief = true;
   subDir = "libgltf/";
 }
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index 32123d23c5b7..b0c3e58cfbb6 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -22,7 +22,7 @@ let
     else "8db101b26dd2978e991421260a2e55d849014f64005930b2528080bbbaa78600";
 
   deps = [
-    gcc.gcc
+    gcc.cc
     qt4
     xlibs.libX11
     zlib
diff --git a/pkgs/applications/video/cmplayer/default.nix b/pkgs/applications/video/bomi/default.nix
index 3fa38646d9df..521f50432ff1 100644
--- a/pkgs/applications/video/cmplayer/default.nix
+++ b/pkgs/applications/video/bomi/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, python2, perl
+{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python3
 , libX11, libxcb, qt5, mesa
 , ffmpeg
 , libchardet
@@ -22,17 +22,25 @@ assert portaudioSupport -> portaudio != null;
 assert pulseSupport -> pulseaudio != null;
 assert cddaSupport -> libcdda != null;
 
+let
+  waf = fetchurl {
+    url = http://ftp.waf.io/pub/release/waf-1.8.4;
+    sha256 = "1a7skwgpl91adhcwlmdr76xzdpidh91hvcmj34zz6548bpx3a87h";
+  };
+
+in
+
 stdenv.mkDerivation rec {
-  name = "cmplayer-${version}";
-  version = "0.8.16";
+  name = "bomi-${version}";
+  version = "0.9.0";
 
-  src = fetchurl {
-    url = "https://github.com/xylosper/cmplayer/releases/download/v${version}/${name}-source.tar.gz";
-    sha256 = "1yppp0jbq3mwa7vq4sjmm2lsqnfcv4n7cjap50gc2bavq7qynr85";
+  src = fetchFromGitHub {
+    owner = "xylosper";
+    repo = "bomi";
+    rev = "v${version}";
+    sha256 = "12xyz40kl03h1m8g7d7s0wf74l2c70v6bd1drhww7ky48hxi0z14";
   };
 
-  patches = [ ./fix-gcc48.patch ];
-
   buildInputs = with stdenv.lib;
                 [ libX11 libxcb qt5 mesa
                   ffmpeg
@@ -55,8 +63,14 @@ stdenv.mkDerivation rec {
                 ;
 
   preConfigure = ''
-    patchShebangs ./configure
-    patchShebangs src/mpv/waf
+    patchShebangs configure
+    # src/mpv/waf build-mpv; do
+  '';
+
+  preBuild = ''
+    patchShebangs build-mpv
+    install -m755 ${waf} src/mpv/waf
+    sed -i '1 s,.*,#!${python3.interpreter},' src/mpv/waf
   '';
 
   configureFlags = with stdenv.lib;
@@ -67,15 +81,13 @@ stdenv.mkDerivation rec {
                    ++ optional cddaSupport "--enable-cdda"
                    ;
 
-  preBuild = "patchShebangs ./build-mpv";
-
-  nativeBuildInputs = [ pkgconfig python2 perl ];
+  nativeBuildInputs = [ pkgconfig perl ];
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Powerful and easy-to-use multimedia player";
-    homepage = http://cmplayer.github.io;
+    homepage = https://bomi-player.github.io/;
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.abbradar ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/video/cmplayer/fix-gcc48.patch b/pkgs/applications/video/cmplayer/fix-gcc48.patch
deleted file mode 100644
index 134acf89569e..000000000000
--- a/pkgs/applications/video/cmplayer/fix-gcc48.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From f6de1c7537dc3a0b4c9d69a63653c9bb4af26948 Mon Sep 17 00:00:00 2001
-From: xylosper <darklin20@gmail.com>
-Date: Wed, 2 Jul 2014 11:57:05 +0900
-Subject: [PATCH] add a space between user defined literal operator
-
----
- src/cmplayer/stdafx.hpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/cmplayer/stdafx.hpp b/src/cmplayer/stdafx.hpp
-index 5f7d49c..c724f08 100644
---- a/src/cmplayer/stdafx.hpp
-+++ b/src/cmplayer/stdafx.hpp
-@@ -52,7 +52,7 @@ SIA operator "" _q(const char16_t *str, size_t len) -> QString
- SIA operator "" _a(const char *str, size_t len) -> QLatin1String
- { return QLatin1String(str, len); }
- 
--SIA operator ""_b(const char *str, size_t len) -> QByteArray
-+SIA operator "" _b(const char *str, size_t len) -> QByteArray
- { return QByteArray::fromRawData(str, len); }
- 
- SIA operator "" _8(const char *str, size_t len) -> QString
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 8735b8a78a1a..c1b17cd89ca1 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -36,16 +36,18 @@ assert pulseSupport -> pulseaudio != null;
 assert cecSupport   -> libcec != null;
 
 let
-  ffmpeg_2_4_4 = fetchurl {
-    url = "https://github.com/xbmc/FFmpeg/archive/2.4.4-Helix.tar.gz";
-    sha256 = "1pkkmnq0kbwb13ps1wk01709lp3l2dzbfay6l29zj1204lbc3anb";
+  rel = "Helix";
+  ffmpeg_2_4_6 = fetchurl {
+    url = "https://github.com/xbmc/FFmpeg/archive/2.4.6-${rel}.tar.gz";
+    sha256 = "1kxp2z2zgcbplm5398zrfgwcfacfzvbg9y9wwrmm8vgwfmj32wh8";
   };
 in stdenv.mkDerivation rec {
-    name = "kodi-14.0";
+    name = "kodi-" + version;
+    version = "14.1";
 
     src = fetchurl {
-      url = "https://github.com/xbmc/xbmc/archive/14.0-Helix.tar.gz";
-      sha256 = "14hip50gg3qgfb0mw7wrdqvw77mxdg9x1abfrqv1ydjrrjansx0i";
+      url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
+      sha256 = "1mjmf8ag8dg5brzxy7cmnz72b1b85p69zr1li28j71fgjbi5k053";
     };
 
     buildInputs = [
@@ -82,7 +84,7 @@ in stdenv.mkDerivation rec {
         --replace 'usr/share/zoneinfo' 'etc/zoneinfo'
       substituteInPlace tools/depends/target/ffmpeg/autobuild.sh \
         --replace "/bin/bash" "${bash}/bin/bash -ex"
-      cp ${ffmpeg_2_4_4} tools/depends/target/ffmpeg/ffmpeg-2.4.4-Helix.tar.gz
+      cp ${ffmpeg_2_4_6} tools/depends/target/ffmpeg/ffmpeg-2.4.6-${rel}.tar.gz
     '';
 
     preConfigure = ''
@@ -115,6 +117,6 @@ in stdenv.mkDerivation rec {
       description = "Media center";
       license = stdenv.lib.licenses.gpl2;
       platforms = platforms.linux;
-      maintainers = [ maintainers.iElectric maintainers.titanous ];
+      maintainers = with maintainers; [ iElectric titanous edwtjo ];
     };
 }
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 7643cf1a18c4..5f328a4cf87a 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -50,19 +50,19 @@ assert cacaSupport -> libcaca != null;
 
 let
   waf = fetchurl {
-    url = http://ftp.waf.io/pub/release/waf-1.8.1;
-    sha256 = "ec658116ba0b96629d91fde0b32321849e866e0819f1e835c4c2c7f7ffe1a21d";
+    url = http://ftp.waf.io/pub/release/waf-1.8.5;
+    sha256 = "0gh266076pd9fzwkycskyd3kkv2kds9613blpxmn9w4glkiwmmh5";
   };
 
 in
 
 stdenv.mkDerivation rec {
   name = "mpv-${version}";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchurl {
     url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
-    sha256 = "13yswsl5xfzhzbh5fv7ds5x2wviiq8r7kp75y3zb8ni49293n23x";
+    sha256 = "1cg82zwzi6qh8s8w3716ikm1l1sigl9h6pd9ffdrp3ja4r2drp48";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix
index cb6f4346e168..7a6840baee38 100644
--- a/pkgs/applications/video/xbmc/default.nix
+++ b/pkgs/applications/video/xbmc/default.nix
@@ -21,7 +21,7 @@
 , samba ? null, sambaSupport ? true
 , libmicrohttpd
 # TODO: would be nice to have nfsSupport (needs libnfs library)
-# TODO: librtmp
+, rtmpdump ? null, rtmpSupport ? true
 , libvdpau ? null, vdpauSupport ? true
 , pulseaudio ? null, pulseSupport ? true
 , libcec ? null, cecSupport ? true
@@ -68,7 +68,8 @@ stdenv.mkDerivation rec {
     ++ lib.optional sambaSupport samba
     ++ lib.optional vdpauSupport libvdpau
     ++ lib.optional pulseSupport pulseaudio
-    ++ lib.optional cecSupport libcec;
+    ++ lib.optional cecSupport libcec
+    ++ lib.optional rtmpSupport rtmpdump;
 
     dontUseCmakeConfigure = true;
 
@@ -85,7 +86,8 @@ stdenv.mkDerivation rec {
     ]
     ++ lib.optional (! sambaSupport) "--disable-samba"
     ++ lib.optional vdpauSupport "--enable-vdpau"
-    ++ lib.optional pulseSupport "--enable-pulse";
+    ++ lib.optional pulseSupport "--enable-pulse"
+    ++ lib.optional rtmpSupport "--enable-rtmp";
 
     postInstall = ''
       for p in $(ls $out/bin/) ; do
@@ -97,7 +99,8 @@ stdenv.mkDerivation rec {
           --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \
           --prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \
           --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \
-          --prefix LD_LIBRARY_PATH ":" "${libcec}/lib"
+          --prefix LD_LIBRARY_PATH ":" "${libcec}/lib" \
+          --prefix LD_LIBRARY_PATH ":" "${rtmpdump}/lib"
       done
     '';
 
diff --git a/pkgs/applications/window-managers/windowmaker/default.nix b/pkgs/applications/window-managers/windowmaker/default.nix
index 85663ff3bf5f..c5ecefdcfc8d 100644
--- a/pkgs/applications/window-managers/windowmaker/default.nix
+++ b/pkgs/applications/window-managers/windowmaker/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, libX11, libXft, libXmu }:
+{ stdenv, fetchurl, pkgconfig
+, libX11, libXext, libXft, libXmu, libXinerama, libXrandr, libXpm
+, imagemagick, libpng, libjpeg, libexif, libtiff, libungif, libwebp }:
 
 stdenv.mkDerivation rec {
   name = "windowmaker-${version}";
@@ -10,7 +12,16 @@ stdenv.mkDerivation rec {
     sha256 = "1i3dw1yagsa3rs9x2na2ynqlgmbahayws0kz4vl00fla6550nns3";
   };
 
-  buildInputs = [ pkgconfig libX11 libXft libXmu ];
+  buildInputs = [ pkgconfig
+                  libX11 libXext libXft libXmu libXinerama libXrandr libXpm
+                  imagemagick libpng libjpeg libexif libtiff libungif libwebp ];
+
+  configureFlags = [
+    "--with-x"
+    "--enable-modelock"
+    "--enable-randr"
+    "--enable-magick"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://windowmaker.org/;
@@ -27,3 +38,5 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.AndersonTorres ];
   };
 }
+
+# TODO: investigate support for WEBP (its autodetection is failing)
diff --git a/pkgs/applications/window-managers/xmonad/default.nix b/pkgs/applications/window-managers/xmonad/default.nix
index 08b85a5530fd..16b0ac365a2e 100644
--- a/pkgs/applications/window-managers/xmonad/default.nix
+++ b/pkgs/applications/window-managers/xmonad/default.nix
@@ -18,7 +18,7 @@ cabal.mkDerivation (self: {
   '';
   patches = [
     # Patch to make xmonad use XMONAD_{GHC,XMESSAGE} (if available).
-    ./xmonad_ghc_var_0.11.patch
+    ../../../development/haskell-modules/xmonad-nix.patch
   ];
   meta = {
     homepage = "http://xmonad.org";
diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix
new file mode 100644
index 000000000000..cddaeb5f799f
--- /dev/null
+++ b/pkgs/applications/window-managers/xmonad/wrapper.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildEnv, ghcWithPackages, xmessage, makeWrapper, packages }:
+
+let
+xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self);
+drv = buildEnv {
+  name = "xmonad-with-packages";
+
+  paths = [ xmonadEnv ];
+
+  postBuild = ''
+    # TODO: This could be avoided if buildEnv could be forced to create all directories
+    rm $out/bin
+    mkdir $out/bin
+    for i in ${xmonadEnv}/bin/*; do
+      ln -s $i $out/bin
+    done
+    wrapProgram $out/bin/xmonad \
+      --set XMONAD_GHC "${xmonadEnv}/bin/ghc" \
+      --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage"
+  '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
diff --git a/pkgs/build-support/autonix/default.nix b/pkgs/build-support/autonix/default.nix
index ec4a2beb4d01..e7d85cc5085e 100644
--- a/pkgs/build-support/autonix/default.nix
+++ b/pkgs/build-support/autonix/default.nix
@@ -162,6 +162,7 @@ in
   inherit generateCollection;
   inherit isDepAttr;
   inherit manifest;
+  inherit removePkgDeps;
   inherit resolveDeps;
   inherit userEnvPkg;
   inherit writeManifestXML;
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 0faec6aec21b..5d05b5eff869 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -9,7 +9,6 @@
 , cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
 , zlib ? null, extraPackages ? []
 , setupHook ? ./setup-hook.sh
-, libcxx ? null, libcxxabi ? null
 }:
 
 with stdenv.lib;
@@ -35,7 +34,7 @@ stdenv.mkDerivation {
 
   preferLocalBuild = true;
 
-  inherit cc shell libcxx libcxxabi;
+  inherit cc shell;
   libc = if nativeLibc then null else libc;
   binutils = if nativeTools then null else binutils;
   # The wrapper scripts use 'cat', so we may need coreutils.
@@ -88,7 +87,7 @@ stdenv.mkDerivation {
     ''
 
     + (if nativeTools then ''
-      ccPath="${nativePrefix}/bin"
+      ccPath="${if stdenv.isDarwin then cc else nativePrefix}/bin"
       ldPath="${nativePrefix}/bin"
     '' else ''
       echo $cc > $out/nix-support/orig-cc
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 8e9e9297372d..5f0fe5fa4869 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -262,7 +262,6 @@ rec {
 
   # Apache mirrors (see http://www.apache.org/mirrors/).
   apache = [
-    http://apache.cs.uu.nl/dist/
     http://www.eu.apache.org/dist/
     ftp://ftp.inria.fr/pub/Apache/
     http://apache.cict.fr/
@@ -272,6 +271,7 @@ rec {
     http://www.apache.org/dist/
     http://archive.apache.org/dist/ # fallback for old releases
     ftp://ftp.funet.fi/pub/mirrors/apache.org/
+    http://apache.cs.uu.nl/dist/
   ];
 
   postgresql = [
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index be3799d01968..47c7c68c1ab2 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, buildPythonPackage, pythonPackages, picocom
-, avrdude, arduino_core, avrgcclibc }:
+, avrdude, arduino-core, avrgcclibc }:
 
 buildPythonPackage rec {
   name = "ino-0.3.6";
@@ -12,12 +12,12 @@ buildPythonPackage rec {
 
   # TODO: add avrgcclibc, it must be rebuild with C++ support
   propagatedBuildInputs =
-    [ arduino_core avrdude picocom pythonPackages.configobj
+    [ arduino-core avrdude picocom pythonPackages.configobj
       pythonPackages.jinja2 pythonPackages.pyserial pythonPackages.six ];
 
   patchPhase = ''
     echo "Patching Arduino distribution path"
-    sed -i 's@/usr/local/share/arduino@${arduino_core}/share/arduino@g' \
+    sed -i 's@/usr/local/share/arduino@${arduino-core}/share/arduino@g' \
         ino/environment.py
     sed -i -e 's@argparse@@' -e 's@ordereddict@@' \
         requirements.txt
diff --git a/pkgs/development/compilers/ghc/7.10.1.nix b/pkgs/development/compilers/ghc/7.10.1.nix
index be838b41222f..9d945b95d10a 100644
--- a/pkgs/development/compilers/ghc/7.10.1.nix
+++ b/pkgs/development/compilers/ghc/7.10.1.nix
@@ -13,11 +13,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  version = "7.10.0.20140123";
+  version = "7.10.0.20150123";
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "https://downloads.haskell.org/~ghc/7.10.1-rc2/ghc-7.10.0.20150123-src.tar.xz";
+    url = "https://downloads.haskell.org/~ghc/7.10.1-rc2/${name}-src.tar.xz";
     sha256 = "0in5zsr2z545yln55c7mwi07x3za0874yxbpsj5xsb4vn3wrcrbn";
   };
 
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 71b51cf64ff2..cd1c89886291 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   name = "ghc-${version}";
 
   src = fetchurl {
-    url = "http://deb.haskell.org/dailies/2015-01-18/ghc_7.11.20150118.orig.tar.bz2";
+    url = "http://deb.haskell.org/dailies/2015-01-18/ghc_${version}.orig.tar.bz2";
     sha256 = "1zy960q2faq03camq2n4834bd748vkc15h83bapswc68dqncqj20";
   };
 
diff --git a/pkgs/development/compilers/llvm/3.5/clang-purity.patch b/pkgs/development/compilers/llvm/3.5/clang-purity.patch
new file mode 100644
index 000000000000..dc3b54e304fc
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/clang-purity.patch
@@ -0,0 +1,22 @@
+diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
+index 198e82e..810d006 100644
+--- a/lib/Driver/Tools.cpp
++++ b/lib/Driver/Tools.cpp
+@@ -7355,17 +7355,6 @@ void gnutools::Link::ConstructJob(Compilation &C, const JobAction &JA,
+     CmdArgs.push_back("-shared");
+   }
+ 
+-  if (ToolChain.getArch() == llvm::Triple::arm ||
+-      ToolChain.getArch() == llvm::Triple::armeb ||
+-      ToolChain.getArch() == llvm::Triple::thumb ||
+-      ToolChain.getArch() == llvm::Triple::thumbeb ||
+-      (!Args.hasArg(options::OPT_static) &&
+-       !Args.hasArg(options::OPT_shared))) {
+-    CmdArgs.push_back("-dynamic-linker");
+-    CmdArgs.push_back(Args.MakeArgString(
+-        D.DyldPrefix + getLinuxDynamicLinker(Args, ToolChain)));
+-  }
+-
+   CmdArgs.push_back("-o");
+   CmdArgs.push_back(Output.getFilename());
+ 
diff --git a/pkgs/development/compilers/llvm/3.5/clang-separate-build.patch b/pkgs/development/compilers/llvm/3.5/clang-separate-build.patch
new file mode 100644
index 000000000000..5fb67f169f45
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/clang-separate-build.patch
@@ -0,0 +1,8 @@
+diff -Naur clang-3.4-orig/tools/extra/CMakeLists.txt clang-3.4/tools/extra/CMakeLists.txt
+--- clang-3.4-orig/tools/extra/CMakeLists.txt	2013-11-07 19:08:23.000000000 -0500
++++ clang-3.4/tools/extra/CMakeLists.txt	2014-01-20 11:47:22.678435223 -0500
+@@ -1,3 +1,4 @@
++include(CheckLibraryExists)
+ check_library_exists(edit el_init "" HAVE_LIBEDIT)
+ 
+ add_subdirectory(clang-apply-replacements)
diff --git a/pkgs/development/compilers/llvm/3.5/clang.nix b/pkgs/development/compilers/llvm/3.5/clang.nix
new file mode 100644
index 000000000000..f2f3d15de17d
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/clang.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetch, cmake, libxml2, libedit, llvm, version, clang-tools-extra_src }:
+
+stdenv.mkDerivation {
+  name = "clang-${version}";
+
+  unpackPhase = ''
+    unpackFile ${fetch "cfe" "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w"}
+    mv cfe-${version}.src clang
+    sourceRoot=$PWD/clang
+    unpackFile ${clang-tools-extra_src}
+    mv clang-tools-extra-* $sourceRoot/tools/extra
+  '';
+
+  buildInputs = [ cmake libedit libxml2 llvm ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+  ] ++
+  (stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include");
+
+  patches = [ ./clang-purity.patch ];
+
+  # Clang expects to find LLVMgold in its own prefix
+  # Clang expects to find sanitizer libraries in its own prefix
+  postInstall = ''
+    ln -sv ${llvm}/lib/LLVMgold.so $out/lib
+    ln -sv ${llvm}/lib/clang/${version}/lib $out/lib/clang/${version}/
+    ln -sv $out/bin/clang $out/bin/cpp
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/default.nix b/pkgs/development/compilers/llvm/3.5/default.nix
new file mode 100644
index 000000000000..29e06768a738
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/default.nix
@@ -0,0 +1,41 @@
+{ pkgs, newScope, stdenv, isl, fetchurl }:
+let
+  callPackage = newScope (self // { inherit stdenv isl version fetch; });
+
+  version = "3.5.0";
+
+  fetch = fetch_v version;
+  fetch_v = ver: name: sha256: fetchurl {
+    url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
+    inherit sha256;
+  };
+
+  compiler-rt_src = fetch "compiler-rt" "0dl1kbrhz96djsxqr61iw5h788s7ncfpfb7aayixky1bhdaydcx4";
+  clang-tools-extra_src = fetch "clang-tools-extra" "0s8zjgxg8bj15nnqcw1cj1zffcralhh7f0gda1famddgg2rvx099";
+
+  self = {
+    llvm = callPackage ./llvm.nix rec {
+      version = "3.5.0";
+      fetch = fetch_v version;
+      inherit compiler-rt_src;
+    };
+
+    clang = callPackage ./clang.nix rec {
+      version = "3.5.0";
+      fetch = fetch_v version;
+      inherit clang-tools-extra_src;
+    };
+
+    lld = callPackage ./lld.nix {};
+
+    lldb = callPackage ./lldb.nix {};
+
+    polly = callPackage ./polly.nix {};
+
+    dragonegg = callPackage ./dragonegg.nix {};
+
+    libcxx = callPackage ./libc++ { stdenv = pkgs.clangStdenv; };
+
+    libcxxabi = callPackage ./libc++abi { stdenv = pkgs.clangStdenv; };
+  };
+in self
diff --git a/pkgs/development/compilers/llvm/3.5/dragonegg.nix b/pkgs/development/compilers/llvm/3.5/dragonegg.nix
new file mode 100644
index 000000000000..0f2d4cd7fb67
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/dragonegg.nix
@@ -0,0 +1,34 @@
+{stdenv, fetch, fetchpatch, llvm, gmp, mpfr, libmpc, ncurses, zlib, version}:
+
+stdenv.mkDerivation rec {
+  name = "dragonegg-${version}";
+
+  src = fetch "dragonegg" "1733czbvby1ww3xkwcwmm0km0bpwhfyxvf56wb0zv5gksp3kbgrr";
+
+  patches = [(fetchpatch {
+    url = "https://llvm.org/viewvc/llvm-project/dragonegg/trunk/src/x86/ABIHack.inc"
+      + "?r1=208730&r2=208729&view=patch";
+    sha256 = "1al82gqz90hzjx24p0wls029lw2bgnlgd209kgvxsp82p4z1v1c1";
+    name = "bug-18548.patch";
+  })];
+  patchFlags = "-p2";
+
+  # The gcc the plugin will be built for (the same used building dragonegg)
+  GCC = "gcc";
+
+  buildInputs = [ llvm gmp mpfr libmpc ncurses zlib ];
+
+  installPhase = ''
+    mkdir -p $out/lib $out/share/doc/${name}
+    cp -d dragonegg.so $out/lib
+    cp README COPYING $out/share/doc/${name}
+  '';
+
+  meta = {
+    homepage = http://dragonegg.llvm.org/;
+    description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM";
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = with stdenv.lib.maintainers; [viric shlevy];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libc++/darwin.patch b/pkgs/development/compilers/llvm/3.5/libc++/darwin.patch
index bf83f169cfc3..bf83f169cfc3 100644
--- a/pkgs/development/libraries/libc++/darwin.patch
+++ b/pkgs/development/compilers/llvm/3.5/libc++/darwin.patch
diff --git a/pkgs/development/libraries/libc++/default.nix b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
index 99e9bfe1de2e..460d71922c60 100644
--- a/pkgs/development/libraries/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
@@ -1,15 +1,25 @@
 { lib, stdenv, fetchurl, cmake, libcxxabi, fixDarwinDylibNames }:
 
-let version = "3.4.2"; in
+let version = "3.5.0"; in
 
 stdenv.mkDerivation rec {
   name = "libc++-${version}";
 
   src = fetchurl {
-    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.gz";
-    sha256 = "0z3jdvgcq995khkpis5c5vaxhbmvbqjlalbhn09k6pgb5zp46rc2";
+    url = "http://llvm.org/releases/${version}/libcxx-${version}.src.tar.xz";
+    sha256 = "1h5is2jd802344kddm45jcm7bra51llsiv9r34h0rrb3ba2dlic0";
   };
 
+  # instead of allowing libc++ to link with /usr/lib/libc++abi.dylib,
+  # force it to link with our copy
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace lib/CMakeLists.txt \
+      --replace 'OSX_RE_EXPORT_LINE "/usr/lib/libc++abi.dylib' \
+                'OSX_RE_EXPORT_LINE "${libcxxabi}/lib/libc++abi.dylib' \
+      --replace '"''${CMAKE_OSX_SYSROOT}/usr/lib/libc++abi.dylib"' \
+                '"${libcxxabi}/lib/libc++abi.dylib"'
+  '';
+
   patches = [ ./darwin.patch ];
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
@@ -26,9 +36,6 @@ stdenv.mkDerivation rec {
 
   inherit libcxxabi;
 
-  # Remove a Makefile that causes many retained dependencies.
-  postInstall = "rm $out/include/c++/v1/Makefile";
-
   setupHook = ./setup-hook.sh;
 
   meta = {
diff --git a/pkgs/development/libraries/libc++/setup-hook.sh b/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
index 8543d09d8f52..8543d09d8f52 100644
--- a/pkgs/development/libraries/libc++/setup-hook.sh
+++ b/pkgs/development/compilers/llvm/3.5/libc++/setup-hook.sh
diff --git a/pkgs/development/libraries/libc++abi/darwin.patch b/pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch
index 53ea8783f7a8..53ea8783f7a8 100644
--- a/pkgs/development/libraries/libc++abi/darwin.patch
+++ b/pkgs/development/compilers/llvm/3.5/libc++abi/darwin.patch
diff --git a/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix b/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
new file mode 100644
index 000000000000..492dbf3b06da
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/libc++abi/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, cmake, coreutils, fetchurl, libcxx, libunwind, llvm }:
+
+let version = "3.5.0"; in
+
+stdenv.mkDerivation {
+  name = "libc++abi-${version}";
+
+  src = fetchurl {
+    url = "http://llvm.org/releases/${version}/libcxxabi-${version}.src.tar.xz";
+    sha256 = "1ndcpw3gfrzh7m1jac2qadhkrqgvb65cns69j9niydyj5mmbxijk";
+  };
+
+  NIX_CFLAGS_LINK = "-L${libunwind}/lib";
+
+  buildInputs = [ coreutils cmake llvm ];
+
+  postUnpack = ''
+    unpackFile ${libcxx.src}
+    export NIX_CFLAGS_COMPILE+=" -I${libunwind}/include -I$PWD/include"
+    export cmakeFlags="-DLIBCXXABI_LIBCXX_INCLUDES=$(${coreutils}/bin/readlink -f libcxx-*)/include"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export TRIPLE=x86_64-apple-darwin
+  '';
+
+  installPhase = if stdenv.isDarwin
+    then ''
+      for file in lib/*; do
+        # this should be done in CMake, but having trouble figuring out
+        # the magic combination of necessary CMake variables
+        # if you fancy a try, take a look at
+        # http://www.cmake.org/Wiki/CMake_RPATH_handling
+        install_name_tool -id $out/$file $file
+      done
+      make install
+      install -d 755 $out/include
+      install -m 644 ../include/cxxabi.h $out/include
+    ''
+    else ''
+      install -d -m 755 $out/include $out/lib
+      install -m 644 lib/libc++abi.so.1.0 $out/lib
+      install -m 644 ../include/cxxabi.h $out/include
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
+      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
+    '';
+
+  meta = {
+    homepage = http://libcxxabi.llvm.org/;
+    description = "A new implementation of low level support for a standard C++ library";
+    license = "BSD";
+    maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ];
+    platforms = stdenv.lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libc++abi/no-stdc++.patch b/pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch
index ddc9778a486e..ddc9778a486e 100644
--- a/pkgs/development/libraries/libc++abi/no-stdc++.patch
+++ b/pkgs/development/compilers/llvm/3.5/libc++abi/no-stdc++.patch
diff --git a/pkgs/development/compilers/llvm/3.5/lld.nix b/pkgs/development/compilers/llvm/3.5/lld.nix
new file mode 100644
index 000000000000..000b3c9d57a2
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/lld.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetch, cmake, llvm, ncurses, zlib, python, version }:
+
+stdenv.mkDerivation {
+  name = "lld-${version}";
+
+  src = fetch "lld" "1sd4scqynryfrmcc4h0ljgwn2dgjmbbmf38z50ya6l0janpd2nxx";
+
+  preUnpack = ''
+    # !!! Hopefully won't be needed for 3.5
+    unpackFile ${llvm.src}
+    export cmakeFlags="$cmakeFlags -DLLD_PATH_TO_LLVM_SOURCE="`ls -d $PWD/llvm-*`
+  '';
+
+  buildInputs = [ cmake ncurses zlib python ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLD_PATH_TO_LLVM_BUILD=${llvm}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A set of modular code for creating linker tools";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/lldb.nix b/pkgs/development/compilers/llvm/3.5/lldb.nix
new file mode 100644
index 000000000000..9a25401a874b
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/lldb.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetch
+, cmake
+, zlib
+, ncurses
+, swig
+, which
+, libedit
+, llvm
+, clang
+, python
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "lldb-${version}";
+
+  src = fetch "lldb" "0h8cmjrhjhigk7k2qll1pcf6jfgmbdzkzfz2i048pkfg851s0x44";
+
+  patchPhase = ''
+    sed -i 's|/usr/bin/env||' \
+      scripts/Python/finish-swig-Python-LLDB.sh \
+      scripts/Python/build-swig-Python.sh
+  '';
+
+  buildInputs = [ cmake python which swig ncurses zlib libedit ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLDB_PATH_TO_LLVM_BUILD=${llvm}"
+    "-DLLDB_PATH_TO_CLANG_BUILD=${clang}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A next-generation high-performance debugger";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch b/pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch
new file mode 100644
index 000000000000..abfc11513cdc
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/llvm-separate-build.patch
@@ -0,0 +1,12 @@
+diff -Naur llvm-3.4-orig/cmake/modules/TableGen.cmake llvm-3.4/cmake/modules/TableGen.cmake
+--- llvm-3.4-orig/cmake/modules/TableGen.cmake	2013-10-06 21:00:07.000000000 -0400
++++ llvm-3.4/cmake/modules/TableGen.cmake	2014-01-20 13:06:55.273022149 -0500
+@@ -78,8 +78,6 @@
+ endif()
+ 
+ macro(add_tablegen target project)
+-  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
+-
+   set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
+   set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
+   add_llvm_utility(${target} ${ARGN})
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
new file mode 100644
index 000000000000..00de67c60529
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -0,0 +1,72 @@
+{ stdenv
+, fetch
+, perl
+, groff
+, cmake
+, python
+, libffi
+, binutils
+, libxml2
+, valgrind
+, ncurses
+, version
+, zlib
+, compiler-rt_src
+}:
+
+let
+  src = fetch "llvm" "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98";
+in stdenv.mkDerivation rec {
+  name = "llvm-${version}";
+
+  unpackPhase = ''
+    unpackFile ${src}
+    mv llvm-${version}.src llvm
+    sourceRoot=$PWD/llvm
+    unpackFile ${compiler-rt_src}
+    mv compiler-rt-* $sourceRoot/projects/compiler-rt
+  '';
+
+  buildInputs = [ perl groff cmake libxml2 python libffi ] ++ stdenv.lib.optional stdenv.isLinux valgrind;
+
+  propagatedBuildInputs = [ ncurses zlib ];
+
+  # hacky fix: created binaries need to be run before installation
+  preBuild = ''
+    mkdir -p $out/
+    ln -sv $PWD/lib $out
+  '';
+
+  cmakeFlags = with stdenv; [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_BUILD_TESTS=ON"
+    "-DLLVM_ENABLE_FFI=ON"
+    "-DLLVM_BINUTILS_INCDIR=${binutils}/include"
+  ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON"
+    ++ stdenv.lib.optionals ( isDarwin) [
+    "-DCMAKE_CXX_FLAGS=-stdlib=libc++"
+    "-DCAN_TARGET_i386=false"
+  ];
+
+  postBuild = ''
+    rm -fR $out
+
+    paxmark m bin/{lli,llvm-rtdyld}
+
+    paxmark m unittests/ExecutionEngine/JIT/JITTests
+    paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
+    paxmark m unittests/Support/SupportTests
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru.src = src;
+
+  meta = {
+    description = "Collection of modular and reusable compiler and toolchain technologies";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ shlevy lovek323 raskin viric ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.5/polly-separate-build.patch b/pkgs/development/compilers/llvm/3.5/polly-separate-build.patch
new file mode 100644
index 000000000000..618dd4dc3b12
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/polly-separate-build.patch
@@ -0,0 +1,12 @@
+diff -Naur polly-3.4-orig/CMakeLists.txt polly-3.4/CMakeLists.txt
+--- polly-3.4-orig/CMakeLists.txt	2013-11-21 06:51:46.000000000 -0500
++++ polly-3.4/CMakeLists.txt	2014-01-20 18:49:34.907919933 -0500
+@@ -53,7 +53,7 @@
+   execute_process(COMMAND "${LLVM_INSTALL_ROOT}/bin/llvm-config" --cxxflags
+                   OUTPUT_VARIABLE LLVM_CXX_FLAGS
+                   OUTPUT_STRIP_TRAILING_WHITESPACE)
+-  set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS})
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LLVM_CXX_FLAGS}")
+ endif(NOT DEFINED LLVM_MAIN_SRC_DIR)
+ 
+ set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
diff --git a/pkgs/development/compilers/llvm/3.5/polly.nix b/pkgs/development/compilers/llvm/3.5/polly.nix
new file mode 100644
index 000000000000..6de420397af1
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/polly.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetch, cmake, isl, python, gmp, llvm, version }:
+
+stdenv.mkDerivation {
+  name = "polly-${version}";
+
+  src =  fetch "polly" "1rqflmgzg1vzjm0r32c5ck8x3q0qm3g0hh8ggbjazh6x7nvmy6ll";
+
+  patches = [ ./polly-separate-build.patch ];
+
+  buildInputs = [ cmake isl python gmp ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
+    "-DLLVM_INSTALL_ROOT=${llvm}"
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "A polyhedral optimizer for llvm";
+    homepage    = http://llvm.org/;
+    license     = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+    platforms   = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index d25ec8002918..ea61940e8d4e 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.2.7";
+  version = "1.2.8";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "10sjrh91pak4s6j4ks02xp88s25lh8zsii3x7rkn6p7vr7c9jw5j";
+    sha256 = "0ab9lw056yf6y0rjmx3iirn5n59pmssqxf00fbmpyl6qsnpaja1d";
   };
 
   buildInputs = [ which ]
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index deccb4c40a92..c273db7884b4 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -36,8 +36,12 @@ self: super: {
   # Link the proper version.
   zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
 
-  # "curl" means pkgs.curl
-  git-annex = super.git-annex.override { inherit (pkgs) git rsync gnupg1 curl lsof openssh which bup perl wget; };
+  # These changes are required to support Darwin.
+  git-annex = super.git-annex.override {
+    dbus = if pkgs.stdenv.isLinux then self.dbus else null;
+    fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
+    hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
+  };
 
   # Depends on code distributed under a non-free license.
   bindings-yices = dontDistribute super.bindings-yices;
@@ -45,15 +49,24 @@ self: super: {
   yices-easy = dontDistribute super.yices-easy;
   yices-painless = dontDistribute super.yices-painless;
 
-  # This package overrides the one from pkgs.gnome.
-  gtkglext = super.gtkglext.override { inherit (pkgs.gnome) gtkglext; };
-
   # The test suite refers to its own library with an invalid version constraint.
   presburger = dontCheck super.presburger;
 
   # Won't find it's header files without help.
   sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
 
+  hzk = overrideCabal super.hzk (drv: {
+    preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
+    configureFlags =  "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper";
+    doCheck = false;
+  });
+
+  haskakafka = overrideCabal super.haskakafka (drv: {
+    preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal";
+    configureFlags =  "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka";
+    doCheck = false;
+   });
+
   # Foreign dependency name clashes with another Haskell package.
   libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
 
@@ -88,6 +101,7 @@ self: super: {
   markdown-unlit = dontHaddock super.markdown-unlit;
   network-conduit = dontHaddock super.network-conduit;
   shakespeare-text = dontHaddock super.shakespeare-text;
+  uhc-light = dontHaddock super.uhc-light;                      # https://github.com/UU-ComputerScience/uhc/issues/45
 
   # jailbreak doesn't get the job done because the Cabal file uses conditionals a lot.
   darcs = overrideCabal super.darcs (drv: {
@@ -136,12 +150,6 @@ self: super: {
   # https://github.com/liamoc/wizards/issues/5
   wizards = doJailbreak super.wizards;
 
-  # https://github.com/ekmett/trifecta/issues/41
-  trifecta = appendPatch super.trifecta (pkgs.fetchpatch {
-    url = "https://github.com/ekmett/trifecta/pull/40.patch";
-    sha256 = "0qwz83fp0karf6164jykdwsrafq08l6zsdmcdm83xnkcxabgplxv";
-  });
-
   # https://github.com/NixOS/cabal2nix/issues/136
   gtk = addBuildDepends super.gtk [pkgs.pkgconfig pkgs.gtk];
   glib = addBuildDepends super.glib [pkgs.pkgconfig pkgs.glib];
@@ -155,6 +163,9 @@ self: super: {
   # Upstream notified by e-mail.
   permutation = dontCheck super.permutation;
 
+  # https://github.com/vincenthz/hs-tls/issues/102
+  tls = dontCheck super.tls;
+
   # https://github.com/jputcu/serialport/issues/25
   serialport = dontCheck super.serialport;
 
@@ -183,6 +194,7 @@ self: super: {
   # These packages try to access the network.
   concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
   dbus = dontCheck super.dbus;                          # http://hydra.cryp.to/build/498404/log/raw
+  hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
   hasql = dontCheck super.hasql;                        # http://hydra.cryp.to/build/502489/nixlog/4/raw
   holy-project = dontCheck super.holy-project;          # http://hydra.cryp.to/build/502002/nixlog/1/raw
   http-client = dontCheck super.http-client;            # http://hydra.cryp.to/build/501430/nixlog/1/raw
@@ -388,19 +400,41 @@ self: super: {
   # https://github.com/Philonous/xml-picklers/issues/5
   xml-picklers = dontCheck super.xml-picklers;
 
-  # https://github.com/blamario/monoid-subclasses/issues/4
-  monoid-subclasses = dontCheck super.monoid-subclasses;
-
   # https://github.com/joeyadams/haskell-stm-delay/issues/3
   stm-delay = dontCheck super.stm-delay;
 
-  # https://github.com/JPMoresmau/HGraphStorage/issues/2
-  HGraphStorage = dontHaddock super.HGraphStorage;
-
   # https://github.com/fumieval/call/issues/3
   call = markBrokenVersion "0.1.2" super.call;
   rhythm-game-tutorial = dontDistribute super.rhythm-game-tutorial;     # depends on call
 
+  # The install target tries to run lots of commands as "root". WTF???
+  hannahci = markBroken super.hannahci;
+
+  # https://github.com/jkarni/th-alpha/issues/1
+  th-alpha = markBrokenVersion "0.2.0.0" super.th-alpha;
+
+  # https://github.com/haskell-hub/hub-src/issues/24
+  hub = markBrokenVersion "1.4.0" super.hub;
+
+  # https://github.com/audreyt/MoeDict.hs/issues/1
+  MoeDict = markBrokenVersion "0.0.1" super.MoeDict;
+
+  # https://github.com/pixbi/duplo/issues/25
+  duplo = dontCheck super.duplo;
+
+  # https://github.com/seagreen/hjsonschema/issues/4
+  # https://github.com/seagreen/hjsonschema/issues/5
+  hjsonschema = dontHaddock (dontCheck super.hjsonschema);
+
+  # Nix-specific workaround
+  xmonad = appendPatch super.xmonad ./xmonad-nix.patch;
+
+  # https://github.com/evanrinehart/mikmod/issues/1
+  mikmod = addExtraLibrary super.mikmod pkgs.libmikmod;
+
+  # https://github.com/d12frosted/CanonicalPath/issues/3
+  system-canonicalpath = dontCheck super.system-canonicalpath;
+
 } // {
 
   # Not on Hackage.
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix
index 2a1f47c1a902..14b6aa161de0 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.6.x.nix
@@ -63,6 +63,10 @@ self: super: {
   # Choose appropriate flags for our version of 'bytestring'.
   bytestring-builder = disableCabalFlag super.bytestring-builder "bytestring_has_builder";
 
+  # Tagged is not part of base in this environment.
+  contravariant = addBuildDepend super.contravariant self.tagged;
+  reflection = dontHaddock (addBuildDepend super.reflection self.tagged);
+
 } // {
 
   # Not on Hackage.
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
index 7c729138ff5e..74dcb24ec77d 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.8.x.nix
@@ -71,6 +71,9 @@ self: super: {
   seqid = super.seqid_0_1_0;
   seqid-streams = super.seqid-streams_0_1_0;
 
+  # https://github.com/ivan-m/monad-levels/issues/1
+  monad-levels = dontDistribute super.monad-levels;
+
 }
 
 // # packages relating to amazonka
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index a4cd44f5948d..aa86d17985cd 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1693,8 +1693,8 @@ self: {
      }:
      mkDerivation {
        pname = "CCA";
-       version = "0.1.5.1";
-       sha256 = "11q33gpaiyvmd6amlh48k4i3wrj6axrnvyrvsrg6xhnlvvbibvwj";
+       version = "0.1.5.2";
+       sha256 = "16121708y4pdqzcg4s6i8rmz7jrzhndj1i86zn3xgnq2bgv1rxj4";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -1704,7 +1704,6 @@ self: {
        homepage = "not available";
        description = "preprocessor and library for Causal Commutative Arrows (CCA)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "CHXHtml" = callPackage
@@ -1810,7 +1809,6 @@ self: {
        buildDepends = [ array base containers mtl parsec readline ];
        description = "An interpreter of Hagino's Categorical Programming Language (CPL)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "CSPM-CoreLanguage" = callPackage
@@ -6197,8 +6195,8 @@ self: {
      }:
      mkDerivation {
        pname = "HGraphStorage";
-       version = "0.0.2";
-       sha256 = "0gml8mmxmpk9si7vldaq46j4a3c2l1rsssgazc93jg31nli021a5";
+       version = "0.0.3";
+       sha256 = "1qbhzrw8sjxaz95b34w3w71dv79wlkmqjgvcsr79vxxfn4c83dfc";
        buildDepends = [
          base binary bytestring containers data-default directory filepath
          lifted-base monad-control monad-logger resourcet text transformers
@@ -9457,6 +9455,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "MSQueue" = callPackage
+    ({ mkDerivation, base, ghc-prim, monad-loops, ref-mtl, stm }:
+     mkDerivation {
+       pname = "MSQueue";
+       version = "0.0.1";
+       sha256 = "04yvf4a07cy47qzl9p8x45qbk2i6yapfps7hx85p589338s8b72y";
+       buildDepends = [ base ghc-prim monad-loops ref-mtl stm ];
+       homepage = "https://github.com/Julek";
+       description = "Michael-Scott queue";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "MagicHaskeller" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, directory
      , ghc, ghc-paths, haskell-src, html, mtl, network, old-time, pretty
@@ -9728,6 +9738,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "MoeDict" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "MoeDict";
+       version = "0.0.2";
+       sha256 = "06dhk0n1v1axj0qbx29n2g9p0nw24ix5ij2vq5nfs7jbrb9m7r0n";
+       buildDepends = [
+         aeson base bytestring containers text unordered-containers
+       ];
+       homepage = "https://github.com/audreyt/MoeDict.hs";
+       description = "Utilities working with MoeDict.tw JSON dataset";
+       license = stdenv.lib.licenses.publicDomain;
+     }) {};
+
   "MonadCatchIO-mtl" = callPackage
     ({ mkDerivation, base, extensible-exceptions
      , MonadCatchIO-transformers
@@ -12901,7 +12927,6 @@ self: {
        homepage = "http://rwd.rdockins.name/shellac/home/";
        description = "Readline backend module for Shellac";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ShowF" = callPackage
@@ -13951,8 +13976,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, monad-loops, ref-mtl, stm }:
      mkDerivation {
        pname = "Treiber";
-       version = "0.0.3";
-       sha256 = "1mvf45jyi7x2bn185z73mx360xaq6w9fsgg4vvgf41d4nq274hgx";
+       version = "0.0.4";
+       sha256 = "09sd9p1y3zqkfahkp1vgdnlvgv1vnvdl7kdzccsd41h1h61fz3jd";
        buildDepends = [ base ghc-prim monad-loops ref-mtl stm ];
        homepage = "https://github.com/Julek";
        description = "Lock free Treiber stack";
@@ -20560,7 +20585,6 @@ self: {
        ];
        description = "Library for Nix expression dependency generation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "autonix-deps-kf5" = callPackage
@@ -20579,7 +20603,6 @@ self: {
        ];
        description = "Generate dependencies for KDE 5 Nix expressions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "autoproc" = callPackage
@@ -21612,8 +21635,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "base-prelude";
-       version = "0.1.14";
-       sha256 = "09zjgsnk9c3nw92iymv0ai42wqis6yqb3z3pvslpvdv0a2g7jhgj";
+       version = "0.1.15";
+       sha256 = "0cw4ra08n9236vhbl9b9f50alc1ja8pafl5d9f367hm4ndx5scl6";
        buildDepends = [ base ];
        homepage = "https://github.com/nikita-volkov/base-prelude";
        description = "The most complete prelude formed from only the \"base\" package";
@@ -21665,8 +21688,8 @@ self: {
      }:
      mkDerivation {
        pname = "base58-bytestring";
-       version = "0.0.3";
-       sha256 = "1b0h6j8wnd4064kwa0h5fh04wzn40bxdxbw2bwvksz632k709w4q";
+       version = "0.1.0";
+       sha256 = "1ls05nzswjr6aw0wwk3q7cpv1hf0lw7vk16a5khm6l21yfcgbny2";
        buildDepends = [ base bytestring ];
        testDepends = [
          base bytestring quickcheck-assertions quickcheck-instances tasty
@@ -21809,8 +21832,8 @@ self: {
     ({ mkDerivation, aeson, base, containers, http-conduit, text }:
      mkDerivation {
        pname = "battlenet";
-       version = "0.1.0.1";
-       sha256 = "16wqz62lzzl6a8nb33z677dj21l64mwliwvsy14pnwz2086hbig8";
+       version = "0.2.0.0";
+       sha256 = "1nzli8n6lpa9jahwp3awvpafzfkx4j02bwanilh30sxfyp0mlxxa";
        buildDepends = [ aeson base containers http-conduit text ];
        homepage = "https://github.com/teozkr/hs-battlenet/";
        description = "API client for Battle.Net";
@@ -21818,12 +21841,12 @@ self: {
      }) {};
 
   "battlenet-yesod" = callPackage
-    ({ mkDerivation, base, battlenet, http-conduit, yesod-core }:
+    ({ mkDerivation, base, battlenet, http-conduit, text, yesod-core }:
      mkDerivation {
        pname = "battlenet-yesod";
-       version = "0.1.0.1";
-       sha256 = "14r7jjgn3migy2kg4jxs56nlw4dawm42dbx94f7xhq4pg8q27c3x";
-       buildDepends = [ base battlenet http-conduit yesod-core ];
+       version = "0.2.0.0";
+       sha256 = "056z84rha1nwjij3am16vfp4nwgp7xzqrhkvrx9s8p1vivyb80yz";
+       buildDepends = [ base battlenet http-conduit text yesod-core ];
        homepage = "https://github.com/teozkr/hs-battlenet/";
        description = "Yesod integration for the battlenet package";
        license = stdenv.lib.licenses.mit;
@@ -25147,6 +25170,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "buffer-builder" = callPackage
+    ({ mkDerivation, base, bytestring, HUnit, mtl, tasty, tasty-hunit
+     , tasty-th
+     }:
+     mkDerivation {
+       pname = "buffer-builder";
+       version = "0.1.0.0";
+       sha256 = "0pk3k3x03m9c7x7bgf9sah6wr4ry5j7hcdl5cp2v80d4nbkcdxx0";
+       buildDepends = [ base bytestring mtl ];
+       testDepends = [ base HUnit tasty tasty-hunit tasty-th ];
+       homepage = "https://github.com/chadaustin/buffer-builder";
+       description = "Library for efficiently building up buffers, one piece at a time";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bugzilla" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring, connection
      , containers, data-default, http-conduit, http-types, iso8601-time
@@ -26486,14 +26524,17 @@ self: {
      }) {};
 
   "cabal-test-bin" = callPackage
-    ({ mkDerivation, base, directory, filepath, unix }:
+    ({ mkDerivation, base, directory, filepath, hspec, process
+     , regex-posix, unix
+     }:
      mkDerivation {
        pname = "cabal-test-bin";
-       version = "0.1.3";
-       sha256 = "0lsxw122gznchlf0zvpdl874wwnc4x8yfgg2sq8vllk2951ckafr";
-       isLibrary = false;
+       version = "0.1.5";
+       sha256 = "1qjshg9r6vh964mwsj0spsxcl3sdvll2znjd2hq4lw71va4iwm87";
+       isLibrary = true;
        isExecutable = true;
        buildDepends = [ base directory filepath unix ];
+       testDepends = [ base hspec process regex-posix ];
        description = "A program for finding temporary build file during cabal-test";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -26929,15 +26970,15 @@ self: {
     ({ mkDerivation, base, haskeline, mtl, parsec, QuickCheck }:
      mkDerivation {
        pname = "calculator";
-       version = "0.1.4.0";
-       sha256 = "1sf1fljg65fvwrnxmpj1s66yqb7j6q9kwsn3rmc0bac23s7nrrjh";
+       version = "0.1.5.2";
+       sha256 = "0wcf1cd8niwnfjvwp98iwy348z5mif9vrqccwg682xmmp6yvvfy8";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base haskeline mtl parsec QuickCheck ];
        testDepends = [ base mtl parsec QuickCheck ];
        jailbreak = true;
        homepage = "https://github.com/sumitsahrawat/calculator";
-       description = "A calculator that operates on string inputs";
+       description = "A calculator repl";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -27243,8 +27284,8 @@ self: {
      }:
      mkDerivation {
        pname = "casadi-bindings";
-       version = "2.2.0.1";
-       sha256 = "1bymk75snh0rqswdn2mlaf43msid5bbn7g353m9864jxrl57d4b2";
+       version = "2.2.0.2";
+       sha256 = "0cw1vk0zgml4czhbnafqsz3ipy43wnzfnmkxhr1qr022s03nhwyi";
        buildDepends = [
          base casadi-bindings-core casadi-bindings-internal containers
          linear vector
@@ -27277,8 +27318,8 @@ self: {
     ({ mkDerivation, base, casadi, casadi-bindings-internal, vector }:
      mkDerivation {
        pname = "casadi-bindings-core";
-       version = "2.2.0.1";
-       sha256 = "0ndsipaw1vn90fwjm0qk10hi4rdi3i6n9h29196w0yz4j0xd0l61";
+       version = "2.2.0.2";
+       sha256 = "1cpz8jzmcn5zx7bqm8920yrydhispgca8kijsq1zk5xnjasm5kva";
        buildDepends = [ base casadi-bindings-internal vector ];
        pkgconfigDepends = [ casadi ];
        description = "autogenerated low level bindings to casadi";
@@ -27290,8 +27331,8 @@ self: {
     ({ mkDerivation, base, casadi, vector }:
      mkDerivation {
        pname = "casadi-bindings-internal";
-       version = "0.1.2";
-       sha256 = "0c7q1wr64zhaafcny5lms7r1y7991lplw4dhj3h4f9b8cnhpfrc6";
+       version = "0.1.2.1";
+       sha256 = "0sh7j11pgrnmvcrdvvvvld2k0kbvccmh67rmbravshgx95nx7dli";
        buildDepends = [ base vector ];
        pkgconfigDepends = [ casadi ];
        homepage = "http://github.com/ghorn/casadi-bindings";
@@ -27370,8 +27411,8 @@ self: {
      }:
      mkDerivation {
        pname = "case-insensitive";
-       version = "1.2.0.3";
-       sha256 = "1jbn8ipil02badf1jziaqspdpqslbnydn6vp79rhj77q78dsl6hd";
+       version = "1.2.0.4";
+       sha256 = "07nm40r9yw2p9qsfp3pjbsmyn4dabrxw34p48171zmccdd5hv0v3";
        buildDepends = [ base bytestring deepseq hashable text ];
        testDepends = [
          base bytestring HUnit test-framework test-framework-hunit text
@@ -28240,12 +28281,11 @@ self: {
      }:
      mkDerivation {
        pname = "chart-histogram";
-       version = "0.4.4";
-       sha256 = "0wa3f8qnv7yw7wgg5js3y5k6msd4jfysdqic1vzf5sxd5bz0ycp0";
+       version = "0.4.5";
+       sha256 = "0c1y4jaslzxlcmqhj5bgdcx76jw49asmnfgdvfkprf2siq154zba";
        buildDepends = [
          base Chart colour data-default-class lens vector
        ];
-       jailbreak = true;
        description = "Easily render histograms with Chart";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -33167,7 +33207,6 @@ self: {
        homepage = "https://github.com/mhwombat/creatur";
        description = "Framework for artificial life experiments";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "crf-chain1" = callPackage
@@ -35217,12 +35256,14 @@ self: {
      }) {};
 
   "data-filepath" = callPackage
-    ({ mkDerivation, base, ghc-prim, split, template-haskell }:
+    ({ mkDerivation, base, ghc-prim, semigroups, split
+     , template-haskell
+     }:
      mkDerivation {
        pname = "data-filepath";
-       version = "2.1.0.1";
-       sha256 = "01sgv19mr7gl80jk6bd01b8l3qcq6ghpvhdbja06x7vw57b4y9dg";
-       buildDepends = [ base ghc-prim split template-haskell ];
+       version = "2.1.1.0";
+       sha256 = "00x8z4pyqbwpdbsvkzdrdvbgqm01rjqklp7j7hig0s9dv6dfr9fr";
+       buildDepends = [ base ghc-prim semigroups split template-haskell ];
        homepage = "https://github.com/maxpow4h/data-filepath";
        description = "A type safe file path data structure";
        license = stdenv.lib.licenses.bsd3;
@@ -36535,8 +36576,8 @@ self: {
      }:
      mkDerivation {
        pname = "debian-build";
-       version = "0.5.0.0";
-       sha256 = "067snxyasryfdrbh67l0xrbg4lrk5m6m7fjsmb4gv2q9y63hbsxh";
+       version = "0.7.0.0";
+       sha256 = "19w6gylbhhg3cv424l3migdj23y7rhl9h9z2kbsv98pd43wn9128";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -36659,23 +36700,22 @@ self: {
      }) {};
 
   "deepseq-bounded" = callPackage
-    ({ mkDerivation, array, attoparsec, base, bytestring, cpphs
-     , deepseq, deepseq-generics, generics-sop, ghc-prim, HUnit, mtl
-     , parallel, random, syb, template-haskell, text
+    ({ mkDerivation, array, base, cpphs, deepseq, deepseq-generics
+     , generics-sop, ghc-prim, HUnit, mtl, parallel, random, syb
+     , template-haskell
      }:
      mkDerivation {
        pname = "deepseq-bounded";
-       version = "0.6.0.3";
-       sha256 = "13cyxhh0fjwqg5ys7dcgbvbnwm9p4x7zvk8jrkfwr0py9w6vfdz6";
+       version = "0.7.0.2";
+       sha256 = "0m680blmw7hq40y0vlbm8q0dbhy8fw031brikqr6ckibcdmk9xaj";
        buildDepends = [
-         array attoparsec base bytestring cpphs deepseq deepseq-generics
-         generics-sop mtl parallel random syb text
+         array base cpphs deepseq deepseq-generics generics-sop mtl parallel
+         random syb
        ];
        testDepends = [
          base cpphs deepseq deepseq-generics generics-sop ghc-prim HUnit
          parallel random syb template-haskell
        ];
-       buildTools = [ cpphs ];
        homepage = "http://fremissant.net/deepseq-bounded";
        description = "Bounded deepseq, including support for generic deriving";
        license = stdenv.lib.licenses.bsd3;
@@ -37783,8 +37823,8 @@ self: {
     ({ mkDerivation, attoparsec, base, hspec, text }:
      mkDerivation {
        pname = "diff-parse";
-       version = "0.1.2";
-       sha256 = "1pcddda822n5zsjzs4ld4prjj04v4cgpk3hvjn7ivmdnb06g85il";
+       version = "0.2.0";
+       sha256 = "1qy7gljqmgf3lk2s5abxna2bj9sar8niyr0vs4r4afn200ciqby2";
        buildDepends = [ attoparsec base text ];
        testDepends = [ attoparsec base hspec text ];
        jailbreak = true;
@@ -39758,8 +39798,8 @@ self: {
     ({ mkDerivation, base, bytestring, postgresql-simple, text, time }:
      mkDerivation {
        pname = "drifter";
-       version = "0.1.0.0";
-       sha256 = "1myr310f0a7p602rwxly2382asnaywgavczkwdmqgaqyq70xv3l5";
+       version = "0.1.0.1";
+       sha256 = "1ldqlkxkshg4i1iqvjzq01cz9mxhyaszhybhq4kngd0rig3n1qhq";
        buildDepends = [ base bytestring postgresql-simple text time ];
        homepage = "https://github.com/AndrewRademacher/drifter";
        description = "Simple schema management for arbitrary databases";
@@ -40328,6 +40368,41 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "dynobud" = callPackage
+    ({ mkDerivation, base, bytestring, cairo, casadi-bindings
+     , casadi-bindings-core, casadi-bindings-internal, cereal, Chart
+     , Chart-cairo, Chart-gtk, cmdargs, colour, containers, data-default
+     , data-default-class, distributive, ghc-prim, glib, gtk, hmatrix
+     , HUnit, jacobi-roots, lens, linear, mtl, not-gloss, primitive
+     , process, QuickCheck, reflection, semigroups, spatial-math, stm
+     , tagged, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, time, transformers
+     , unordered-containers, vector, zeromq4-haskell
+     }:
+     mkDerivation {
+       pname = "dynobud";
+       version = "1.0.0.0";
+       sha256 = "018s2n4sbks43ifvd0vng65r0j8q18z1b38mny9lwfbpp60d2ql4";
+       isLibrary = true;
+       isExecutable = true;
+       buildDepends = [
+         base bytestring cairo casadi-bindings casadi-bindings-core
+         casadi-bindings-internal cereal Chart Chart-cairo Chart-gtk cmdargs
+         colour containers data-default data-default-class distributive
+         ghc-prim glib gtk hmatrix jacobi-roots lens linear mtl not-gloss
+         primitive process reflection semigroups spatial-math stm tagged
+         text time transformers unordered-containers vector zeromq4-haskell
+       ];
+       testDepends = [
+         base casadi-bindings hmatrix HUnit linear QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+       ];
+       jailbreak = true;
+       description = "your dynamic optimization buddy";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dyre" = callPackage
     ({ mkDerivation, base, binary, directory, executable-path, filepath
      , ghc-paths, io-storage, process, time, unix, xdg-basedir
@@ -41164,9 +41239,8 @@ self: {
     ({ mkDerivation, base, extensible, transformers }:
      mkDerivation {
        pname = "elevator";
-       version = "0.2";
-       sha256 = "008sxn0vsscfbipd859wjwb4a088jdgx8chl0c9kg4g313skx37g";
-       editedCabalFile = "5da5eb7c7368d25e9749670910a287b551a7e4dda75284394cb5a23353fd47a3";
+       version = "0.2.1";
+       sha256 = "0i79qxaknh39b5zjcknsdzrwzf9jxz8kjgzrzyw8x4bf2sgb5ak7";
        buildDepends = [ base extensible transformers ];
        homepage = "https://github.com/fumieval/elevator";
        description = "Immediately lifts to a desired level";
@@ -42067,10 +42141,9 @@ self: {
     ({ mkDerivation, base, singletons, template-haskell, void }:
      mkDerivation {
        pname = "equational-reasoning";
-       version = "0.2.0.4";
-       sha256 = "1f94y6h7qg7rck7rxf6j8sygkh1xmfk0z1lr71inx6s74agjyc9j";
+       version = "0.2.0.5";
+       sha256 = "1i8c3wn0z7binnz9p62c2mrvzgb305h797pnf5pvj9zk0iqxg21k";
        buildDepends = [ base singletons template-haskell void ];
-       jailbreak = true;
        description = "Proof assistant for Haskell using DataKinds & PolyKinds";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -42408,13 +42481,12 @@ self: {
      }:
      mkDerivation {
        pname = "estimator";
-       version = "1.0.0.1";
-       sha256 = "0l1c2k4c5bpfr7h03fdcfnvm5nsv605sxnd8agi1v2qakwxhdjcp";
+       version = "1.1.0.0";
+       sha256 = "1qwbjy71zshlg8vp0qm5wya8ikgac9jpc5xr0x31i85p3yv5xl1p";
        buildDepends = [ ad base distributive lens linear reflection ];
        homepage = "https://github.com/GaloisInc/estimator";
        description = "State-space estimation algorithms such as Kalman Filters";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "estimators" = callPackage
@@ -42658,8 +42730,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "0.6.0.1";
-       sha256 = "0g93ya46lbq9z7n88ixrn61rivcls3lwpi2xz2z4kx5aschgcvm4";
+       version = "0.7.0.0";
+       sha256 = "1nc5y2j6yrns3nyy3jhp99qvkzfm0r36snbcy4982b5p21kgpi98";
        buildDepends = [
          aeson async base bytestring cereal containers network protobuf
          random sodium text time uuid
@@ -43165,8 +43237,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "extensible";
-       version = "0.2.6";
-       sha256 = "0cl997bkd4jmcaidivsfwzw8x7hmy66sfarzbjkqcqqp37pc1ml3";
+       version = "0.2.7";
+       sha256 = "1z8a1zcqkr9lk1zy3i058zrglfk4sbfipxpfx1mhs92ys3720yx4";
        buildDepends = [ base template-haskell ];
        homepage = "https://github.com/fumieval/extensible";
        description = "Extensible, efficient, lens-friendly data types";
@@ -44326,12 +44398,11 @@ self: {
      }:
      mkDerivation {
        pname = "file-command-qq";
-       version = "0.1.0.4";
-       sha256 = "1yq1bc738nfhdrnd2ll1v1wji9gyma4nday2q2rz5lvh5jfdfaks";
+       version = "0.1.0.5";
+       sha256 = "06bi4nnz1f3i79wza6bxbnglqzddpq3r4w581wdl3bq26b52d3ab";
        buildDepends = [
          base parsec process system-filepath template-haskell text
        ];
-       jailbreak = true;
        homepage = "https://github.com/jfischoff/file-command-qq";
        description = "Quasiquoter for system commands involving filepaths";
        license = stdenv.lib.licenses.mit;
@@ -44770,6 +44841,7 @@ self: {
        pname = "fixed";
        version = "0.2.1";
        sha256 = "1ayfya62ngcyyhi736fl5cd39iw568lkl16j4mliw3mi1cs2cic0";
+       editedCabalFile = "ebdccc1365c476d64ebe64237dc19d65d2ad11e03c265a88367bdf185f4c6980";
        buildDepends = [ base ];
        homepage = "http://github.com/ekmett/fixed";
        description = "Signed 15.16 precision fixed point arithmetic";
@@ -46899,21 +46971,55 @@ self: {
      }) {};
 
   "fwgl" = callPackage
-    ({ mkDerivation, base, ghcjs-base, hashable, transformers
-     , unordered-containers, vector, Yampa
+    ({ mkDerivation, base, hashable, transformers, unordered-containers
+     , vector, Yampa
      }:
      mkDerivation {
        pname = "fwgl";
-       version = "0.1.0.1";
-       sha256 = "0g6yw3yh1m7862xa1fw260glfr8v1dy0dqk4mibv6g8nkma1fnm1";
+       version = "0.1.0.2";
+       sha256 = "1mc2xpwp5vypxw1xl6nxbs1fyxidyhjmy036i0wzwdddaxzirl28";
+       editedCabalFile = "7699b288e620bc73d33f8997b130daf16f799e060034b57038cd8790ccc341d5";
        buildDepends = [
-         base ghcjs-base hashable transformers unordered-containers vector
-         Yampa
+         base hashable transformers unordered-containers vector Yampa
        ];
-       jailbreak = true;
        homepage = "https://github.com/ZioCrocifisso/FWGL";
        description = "FRP 2D/3D game engine";
        license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fwgl-glfw" = callPackage
+    ({ mkDerivation, base, fwgl, gl, GLFW-b, hashable, JuicyPixels
+     , transformers, unordered-containers, vector, Yampa
+     }:
+     mkDerivation {
+       pname = "fwgl-glfw";
+       version = "0.1.0.2";
+       sha256 = "1nakndxdqhd91llqssqp2ypyfrd9kvpcx1fkbyywas1rccr0610w";
+       buildDepends = [
+         base fwgl gl GLFW-b hashable JuicyPixels transformers
+         unordered-containers vector Yampa
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ZioCrocifisso/FWGL";
+       description = "FWGL GLFW backend";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "fwgl-javascript" = callPackage
+    ({ mkDerivation, base, fwgl, ghcjs-base, hashable
+     , unordered-containers, Yampa
+     }:
+     mkDerivation {
+       pname = "fwgl-javascript";
+       version = "0.1.0.2";
+       sha256 = "1vgc3dqm0pqac8l17w0fi4xv2rx2bik6n405qzarjnjlyp7czqcm";
+       buildDepends = [
+         base fwgl ghcjs-base hashable unordered-containers Yampa
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/ZioCrocifisso/FWGL";
+       description = "FWGL GHCJS backend";
+       license = stdenv.lib.licenses.bsd3;
        broken = true;
      }) { ghcjs-base = null;};
 
@@ -47433,6 +47539,18 @@ self: {
        license = "LGPL";
      }) {};
 
+  "generic-trie" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "generic-trie";
+       version = "0.1";
+       sha256 = "1cqzbwc6php2xr95a609fd29bvsclcbwcgx4r7mj0p9x891a8dcf";
+       buildDepends = [ base containers ];
+       homepage = "http://github.com/glguy/tries";
+       description = "A map, where the keys may be complex structured data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "generic-xml" = callPackage
     ({ mkDerivation, base, HaXml, mtl, syb-with-class, template-haskell
      }:
@@ -49177,8 +49295,8 @@ self: {
      }:
      mkDerivation {
        pname = "gl";
-       version = "0.7.1";
-       sha256 = "07qqmsjy0yv6v0fjkf131inzlaa8sfhznd1a4s4w4kgdfjcwn1c0";
+       version = "0.7.2";
+       sha256 = "1rarbvxffh2gvn8hz363z59lsjdjqmxc5m995z7lpibc6m4rh054";
        buildDepends = [
          base containers directory filepath fixed half hxt split
          transformers
@@ -50611,7 +50729,6 @@ self: {
        homepage = "https://github.com/mhwombat/gray-extended";
        description = "Gray encoding schemes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "greencard" = callPackage
@@ -50759,7 +50876,6 @@ self: {
        ];
        description = "MySQL backend for the groundhog library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "groundhog-postgresql" = callPackage
@@ -50875,8 +50991,8 @@ self: {
      }:
      mkDerivation {
        pname = "growler";
-       version = "0.4.0";
-       sha256 = "0z05j8xxq4zs2n8v94mgl359kv6i8mi2q9avw40jc7pslm7qfr9v";
+       version = "0.5.0";
+       sha256 = "19h5fkhk1k70k79fp6h013y8rnv1ys46kpvxjmcfxac5nzhlbzid";
        buildDepends = [
          aeson base blaze-builder bytestring case-insensitive either
          http-types lens monad-control mtl pipes pipes-aeson pipes-wai
@@ -52729,20 +52845,20 @@ self: {
 
   "hadoop-rpc" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, cereal, exceptions
-     , hashable, network, protobuf, socks, stm, text, transformers, unix
-     , unordered-containers, vector, xmlhtml
+     , hashable, monad-loops, network, protobuf, random, socks, stm
+     , tasty, tasty-hunit, text, transformers, unix
+     , unordered-containers, uuid, vector, xmlhtml
      }:
      mkDerivation {
        pname = "hadoop-rpc";
-       version = "0.1.1.1";
-       sha256 = "0a7m9xisdg79q2paxas7b2z4jp9npcx5nlbj3zz4wviy9hgi3j6y";
-       isLibrary = true;
-       isExecutable = true;
+       version = "1.0.0.1";
+       sha256 = "1nm1xgb1ks57sbqg8x8aasr5l8lgdf4inr4ndgnnlsdjah6nbli1";
        buildDepends = [
-         attoparsec base bytestring cereal exceptions hashable network
-         protobuf socks stm text transformers unix unordered-containers
-         vector xmlhtml
+         attoparsec base bytestring cereal exceptions hashable monad-loops
+         network protobuf random socks stm text transformers unix
+         unordered-containers uuid vector xmlhtml
        ];
+       testDepends = [ base protobuf tasty tasty-hunit vector ];
        jailbreak = true;
        homepage = "http://github.com/jystic/hadoop-rpc";
        description = "Use the Hadoop RPC interface from Haskell";
@@ -52754,18 +52870,19 @@ self: {
      , exceptions, filepath, hadoop-rpc, old-locale
      , optparse-applicative, protobuf, regex-pcre-builtin, split, stm
      , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
-     , vector
+     , unix, vector
      }:
      mkDerivation {
        pname = "hadoop-tools";
-       version = "0.5";
-       sha256 = "0pl6y3x8y91m53sjxwkbar7dfyflrg621f7da9iyrmvzaxq2rqc7";
+       version = "0.6";
+       sha256 = "1nkkv9i0qk4k9vijabf1lylq8wsfsycllxvkza7abljii5jpj5fp";
+       editedCabalFile = "31166d3ed285e22977d237a1ae42d29b33503ad7be39c11f97b5890571da19ec";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
          attoparsec base boxes bytestring configurator exceptions filepath
          hadoop-rpc old-locale optparse-applicative protobuf
-         regex-pcre-builtin split stm text time transformers vector
+         regex-pcre-builtin split stm text time transformers unix vector
        ];
        testDepends = [
          attoparsec base bytestring hadoop-rpc tasty tasty-hunit
@@ -53396,14 +53513,15 @@ self: {
 
   "handsy" = callPackage
     ({ mkDerivation, base, bytestring, free, process, process-extras
-     , transformers
+     , shell-escape, transformers
      }:
      mkDerivation {
        pname = "handsy";
-       version = "0.0.5";
-       sha256 = "0hwvs62sqcmj5kgahjj80dnb1daj73vcc246hiv0j8c0k3fjc4vv";
+       version = "0.0.7";
+       sha256 = "0wl34lrr7yclip01mynz37z7nsm0lzghir0i8fy0f649ik0k95xf";
        buildDepends = [
-         base bytestring free process process-extras transformers
+         base bytestring free process process-extras shell-escape
+         transformers
        ];
        homepage = "https://github.com/utdemir/handsy";
        description = "A DSL to describe common shell operations and interpeters for running them locally and remotely";
@@ -53423,6 +53541,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hannahci" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, formatting
+     , http-types, lens, lens-aeson, process, scotty, text, transformers
+     , unix-time, wai-extra, wai-middleware-static, yaml
+     }:
+     mkDerivation {
+       pname = "hannahci";
+       version = "0.1.4.2";
+       sha256 = "072f9zsfrs8g6nw83g6qzczzybngrhyrm1m2y7ha37vf0y9gdpn0";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         aeson base bytestring directory formatting http-types lens
+         lens-aeson process scotty text transformers unix-time wai-extra
+         wai-middleware-static yaml
+       ];
+       description = "Simple Continuous Integration/Deployment System";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
   "hans" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, bytestring, cereal
      , containers, fingertree, HTTP, monadLib, old-locale, random, time
@@ -54507,6 +54645,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hashable-time" = callPackage
+    ({ mkDerivation, base, hashable, time }:
+     mkDerivation {
+       pname = "hashable-time";
+       version = "0.1.0.0";
+       sha256 = "0n6cp5amc0385qaii7xi54a3l0znnycrbn4zixidm5nixiig9sq3";
+       buildDepends = [ base hashable time ];
+       homepage = "https://github.com/w3rs/hashable-time";
+       description = "Hashable instances for Data.Time types and Fixed";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hashed-storage" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, dataenc
      , directory, extensible-exceptions, filepath, mmap, mtl, zlib
@@ -54667,8 +54817,7 @@ self: {
        homepage = "http://github.com/cosbynator/haskakafka";
        description = "Kafka bindings for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) { rdkafka = null;};
+     }) { inherit (pkgs) rdkafka;};
 
   "haskanoid" = callPackage
     ({ mkDerivation, base, freenect, hcwiid, IfElse, MissingH, mtl, SDL
@@ -54971,26 +55120,25 @@ self: {
      }) {};
 
   "haskell-docs" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
-     , directory, filepath, ghc, ghc-paths, haddock, monad-loops, text
-     , unordered-containers
+    ({ mkDerivation, aeson, base, base16-bytestring, bytestring, Cabal
+     , containers, cryptohash, directory, filepath, ghc, ghc-paths
+     , haddock-api, monad-loops, process, text, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-docs";
-       version = "4.2.2";
-       sha256 = "0w52kzwjzd5jl8v55rjy5550cy2fcyj9j5b7b33vbwjyh06gfrk1";
+       version = "4.2.3";
+       sha256 = "0y42zwlmb75qdmixrwm63m27csiky92s4l54j7jjj2rmj51fz1af";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
-         aeson base bytestring Cabal containers directory filepath ghc
-         ghc-paths haddock monad-loops text unordered-containers
+         aeson base base16-bytestring bytestring Cabal containers cryptohash
+         directory filepath ghc ghc-paths haddock-api monad-loops process
+         text unordered-containers
        ];
        testDepends = [ base ];
-       jailbreak = true;
        homepage = "http://github.com/chrisdone/haskell-docs";
        description = "A program to find and display the docs and type of a name";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "haskell-formatter" = callPackage
@@ -56899,7 +57047,6 @@ self: {
        homepage = "http://github.com/achudnov/haxy";
        description = "A simple HTTP proxy server library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hayland" = callPackage
@@ -59418,16 +59565,14 @@ self: {
   "hint" = callPackage
     ({ mkDerivation, base, directory, exceptions, extensible-exceptions
      , filepath, ghc, ghc-mtl, ghc-paths, HUnit, mtl, random, unix
-     , utf8-string
      }:
      mkDerivation {
        pname = "hint";
-       version = "0.4.2.1";
-       sha256 = "0nc545y1v3s1897f3ims7m37wnn288xyz1zb9sxqs6immdxyly0g";
-       editedCabalFile = "e8d9cdfd463c48cbaea0dc6fecfdeddb0a8a2076a8c127fc14cde6017aa64ac6";
+       version = "0.4.2.2";
+       sha256 = "1gv4nmwqp8xxvz90g9k48bixpc3cabx8591vj1zv6aah8fbng06w";
        buildDepends = [
          base directory exceptions extensible-exceptions filepath ghc
-         ghc-mtl ghc-paths mtl random unix utf8-string
+         ghc-mtl ghc-paths mtl random unix
        ];
        testDepends = [
          base directory exceptions extensible-exceptions filepath HUnit mtl
@@ -59839,6 +59984,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hjsonschema" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, directory, filepath
+     , hashable, HUnit, lens, regexpr, scientific, test-framework
+     , test-framework-hunit, text, unordered-containers, vector, wreq
+     }:
+     mkDerivation {
+       pname = "hjsonschema";
+       version = "0.1.0.0";
+       sha256 = "0b7q90k96afkmk7x4dz5dikvbzpwbkpp2w0zymsz9fcfs5ddacnk";
+       buildDepends = [
+         aeson base bytestring hashable lens regexpr scientific text
+         unordered-containers vector wreq
+       ];
+       testDepends = [
+         aeson base bytestring directory filepath HUnit test-framework
+         test-framework-hunit text unordered-containers vector
+       ];
+       homepage = "https://github.com/seagreen/hjsonschema";
+       description = "Haskell implementation of JSON Schema v4";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hlatex" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, containers, derive
      , directory, filepath, frquotes, mtl, process, template-haskell
@@ -59964,7 +60131,6 @@ self: {
        homepage = "https://github.com/gebner/hledger-diff";
        description = "Compares the transactions in two ledger files";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hledger-interest" = callPackage
@@ -60255,8 +60421,8 @@ self: {
     ({ mkDerivation, base, bytestring, cassava, hmatrix, vector }:
      mkDerivation {
        pname = "hmatrix-csv";
-       version = "0.1.0.0";
-       sha256 = "07v9cwqfvvirsis0wmh9zbms6b5023khxf2jb561899cvqaw9f17";
+       version = "0.1.0.1";
+       sha256 = "0xfh7gj4f5sb14j3m15mp9bddz90jk0g4qz0rjhfdwyd8k9k6hfp";
        buildDepends = [ base bytestring cassava hmatrix vector ];
        homepage = "https://github.com/grtlr/hmatrix-csv";
        description = "CSV encoding and decoding for hmatrix";
@@ -62046,7 +62212,6 @@ self: {
        jailbreak = true;
        description = "Haskell bindings to libpqtypes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) { inherit (pkgs) postgresql;};
 
   "hprotoc" = callPackage
@@ -64027,7 +64192,6 @@ self: {
        homepage = "https://github.com/mrdomino/hsnock/";
        description = "Nock 5K interpreter";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsnoise" = callPackage
@@ -65724,8 +65888,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit-downloader";
-       version = "1.0.23";
-       sha256 = "0x5yq66b1wp2id39355sajsxplm3wqz3171z3yfp4sjb3iym835x";
+       version = "1.0.24";
+       sha256 = "1b8lg2vlh0idz2m979mxh0197wkksxwm7a0hzf2d5yjj88zzjdrr";
        buildDepends = [
          base bytestring conduit connection data-default HsOpenSSL
          http-client http-conduit http-types lifted-base mtl network
@@ -65945,7 +66109,6 @@ self: {
        homepage = "https://github.com/GaloisInc/http-server";
        description = "A library for writing Haskell web servers";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-shed" = callPackage
@@ -66181,8 +66344,8 @@ self: {
      }:
      mkDerivation {
        pname = "hub";
-       version = "1.3.0";
-       sha256 = "0bl78xssp35403r2knkwhbd6fi872p7w4zl6y8gyw219cmbj4j77";
+       version = "1.4.0";
+       sha256 = "1720gcn6d3j0i2j317savgd57n81330pjdsnlymsdg12704xs59i";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -66388,8 +66551,8 @@ self: {
      }:
      mkDerivation {
        pname = "husk-scheme";
-       version = "3.18";
-       sha256 = "05m5ppcksy7yp5lx4k94y1khzg3vbfi8yjslpymbz6cj060mfpbp";
+       version = "3.19";
+       sha256 = "1y8b15cgiky6kasx21q4gw4h40scyby4mkqynq96kaq2yrrayd5q";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -66571,8 +66734,8 @@ self: {
      }:
      mkDerivation {
        pname = "hxt";
-       version = "9.3.1.12";
-       sha256 = "132y82d9vc8vl9vy912s5nk9aqvsn3dpan5xjw6rrm5yigdpwbdg";
+       version = "9.3.1.13";
+       sha256 = "07m565c34ifwm5gbj26xwsgc8dpardfy8prqjfdycpyc77s80pr6";
        buildDepends = [
          base binary bytestring containers deepseq directory filepath HUnit
          hxt-charproperties hxt-regex-xmlschema hxt-unicode mtl network-uri
@@ -67277,8 +67440,7 @@ self: {
        homepage = "http://github.com/dgvncsz0f/hzk";
        description = "Haskell client library for Apache Zookeeper";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) { zookeeper_mt = null;};
+     }) { inherit (pkgs) zookeeper_mt;};
 
   "hzulip" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, conduit
@@ -70505,21 +70667,21 @@ self: {
      }) {};
 
   "jobqueue" = callPackage
-    ({ mkDerivation, async, attoparsec, base, bytestring, containers
-     , data-default, directory, fast-logger, HDBC, HDBC-sqlite3
-     , hslogger, hspec, hzk, lifted-base, monad-control, monad-logger
-     , mtl, network, QuickCheck, regex-posix, split, stm
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , containers, data-default, directory, fast-logger, HDBC
+     , HDBC-sqlite3, hslogger, hspec, hzk, lifted-base, monad-control
+     , monad-logger, mtl, network, QuickCheck, regex-posix, split, stm
      , template-haskell, text, text-format, time, transformers-base
      }:
      mkDerivation {
        pname = "jobqueue";
-       version = "0.1.4";
-       sha256 = "17l1hcpc65jb0w0fw238hmm7ziy6qx0khi32zm5214pj71l09ldj";
+       version = "0.1.5";
+       sha256 = "0zfdh559qyzflrnh0gg23zfpw4vkp8qsx6syrblq2d0iknfybhir";
        buildDepends = [
-         attoparsec base bytestring containers data-default fast-logger HDBC
-         HDBC-sqlite3 hslogger hzk lifted-base monad-control monad-logger
-         mtl network regex-posix split stm template-haskell text text-format
-         time transformers-base
+         aeson attoparsec base bytestring containers data-default
+         fast-logger HDBC HDBC-sqlite3 hslogger hzk lifted-base
+         monad-control monad-logger mtl network regex-posix split stm
+         template-haskell text text-format time transformers-base
        ];
        testDepends = [
          async base bytestring data-default directory hspec network
@@ -71740,8 +71902,8 @@ self: {
      }:
      mkDerivation {
        pname = "keyword-args";
-       version = "0.1.0.4";
-       sha256 = "0zq65y5xkma2b6wj71f5i0x39bpr8i0nljqnnnlzdz9z8ddr1l8r";
+       version = "0.2.0.1";
+       sha256 = "1bzljlab62bdcjnq6n06rv2lcgs5mpwdhcrpxkdwk241np1iz12g";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [ base bytestring cassava containers parsec ];
@@ -72958,8 +73120,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-fortran";
-       version = "0.2.7";
-       sha256 = "0bj60vilvb13kw59nblhmi82kf103dxn3c94wz4hq2sdqyiwxrmx";
+       version = "0.3";
+       sha256 = "0csp0nmiwb2kflahhnnjxa7gmam3k9c4ivvh2wg919x85yp7v40z";
        buildDepends = [ array base haskell-src parsec syb ];
        buildTools = [ alex happy ];
        description = "Fortran lexer and parser, language support, and extensions";
@@ -73675,16 +73837,14 @@ self: {
      }:
      mkDerivation {
        pname = "leaky";
-       version = "0.2.1.0";
-       sha256 = "1byp6vrisb423cnlwbd211k8d85df8mwiqvl22w3wxv36dnvpah1";
-       editedCabalFile = "ffa60eac7cd683bbd27c5b8ec4ba9d9d2d1cc07e3b38bd6a2b062229200fc8e5";
+       version = "0.3.0.3";
+       sha256 = "13bl37hbhxnmj6r19x97irfxxr9cwj5rl5dksck772vzndi94nr5";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
          base cpphs deepseq-bounded deepseq-generics generics-sop random
          seqaid template-haskell
        ];
-       buildTools = [ cpphs ];
        homepage = "http://fremissant.net/leaky";
        description = "Robust space leak, and its strictification";
        license = stdenv.lib.licenses.bsd3;
@@ -74349,7 +74509,6 @@ self: {
        extraLibraries = [ archive ];
        description = "Read many archive formats with libarchive and conduit";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) { archive = null;};
 
   "libcspm" = callPackage
@@ -77057,7 +77216,6 @@ self: {
        homepage = "https://github.com/bitc/lushtags";
        description = "Create ctags compatible tags files for Haskell programs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "luthor" = callPackage
@@ -79035,7 +79193,6 @@ self: {
        homepage = "http://hackage.haskell.org/cgi-bin/hackage-scripts/package/memscript";
        description = "Command line utility for memorizing scriptures or any other text";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mersenne-random" = callPackage
@@ -79421,6 +79578,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mikmod" = callPackage
+    ({ mkDerivation, base, bytestring }:
+     mkDerivation {
+       pname = "mikmod";
+       version = "0.1.3.1";
+       sha256 = "0wkj11rkq7c6v1qzjjndq0jcfbk7y2vlcilw53fkd34qly0sphh4";
+       buildDepends = [ base bytestring ];
+       homepage = "https://github.com/evanrinehart/mikmod";
+       description = "MikMod bindings";
+       license = "LGPL";
+     }) {};
+
   "miku" = callPackage
     ({ mkDerivation, air, air-th, base, bytestring, containers
      , data-default, hack2, hack2-contrib, mtl
@@ -79491,8 +79660,8 @@ self: {
      }:
      mkDerivation {
        pname = "mime-mail";
-       version = "0.4.6.2";
-       sha256 = "17msl8d6rzqhswfsymd2c892ghf1wc9sys5mgvn7s3mf89qmkvfb";
+       version = "0.4.7";
+       sha256 = "1lbnmanxcfd41agy2i5raywnd7dxrznwg833vm4nvaw73ix77cx4";
        buildDepends = [
          base base64-bytestring blaze-builder bytestring filepath process
          random text
@@ -79603,6 +79772,7 @@ self: {
        pname = "minimal-configuration";
        version = "0.1.1";
        sha256 = "06r710l30kf5aaz2k446z9fhc6zshdsssp1zwri0572r1jryzd43";
+       editedCabalFile = "12049d8491610c2789c61e4736586d3fa8b1122c5c7657647c3de8d21073ef80";
        buildDepends = [ base containers directory filepath tconfig ];
        description = "Minimal ini like configuration library with a few extras";
        license = stdenv.lib.licenses.bsd3;
@@ -79882,7 +80052,6 @@ self: {
        homepage = "http://code.haskell.org/~dons/code/mkcabal";
        description = "Generate cabal files for a Haskell project";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ml-w" = callPackage
@@ -80108,17 +80277,15 @@ self: {
      }:
      mkDerivation {
        pname = "modulespection";
-       version = "0.1.2.1";
-       sha256 = "0law870m61kvlmq31wpi0g9c7h5vzlcbcv7cnwsj8ivfs7yarqzw";
+       version = "0.1.2.2";
+       sha256 = "00172s9v4823q4f8mvln2v3m7zcri8vp2b7b8j1ank0sb9lbyjlf";
        buildDepends = [
          base exceptions filepath ghc ghc-paths template-haskell temporary
          transformers
        ];
-       jailbreak = true;
        homepage = "https://github.com/jfischoff/modulespection";
        description = "Template Haskell for introspecting a module's declarations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "modulo" = callPackage
@@ -80358,6 +80525,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "monad-levels" = callPackage
+    ({ mkDerivation, base, constraints, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "monad-levels";
+       version = "0.1.0.1";
+       sha256 = "1v3i12h4c788yz93a2c9nxcczrhz8nwpq0057q7b1nad74g70lan";
+       buildDepends = [
+         base constraints transformers transformers-compat
+       ];
+       homepage = "https://github.com/ivan-m/monad-levels";
+       description = "Specific levels of monad transformers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "monad-logger" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, conduit
      , conduit-extra, exceptions, fast-logger, lifted-base
@@ -81163,8 +81346,8 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "0.4.0.3";
-       sha256 = "1ia6rraqg8c437hn0zppkhcwvk9zjq1msxw0y105l5ipr0ydwgq3";
+       version = "0.4.0.4";
+       sha256 = "1wg5yx49gx8j9hxcr3mp3pq40wqpwhh4cccsg7m2fgdnangxd6rh";
        buildDepends = [ base bytestring containers primes text vector ];
        testDepends = [
          base bytestring containers primes QuickCheck quickcheck-instances
@@ -82586,8 +82769,8 @@ self: {
      }:
      mkDerivation {
        pname = "mwc-random-monad";
-       version = "0.7.2.0";
-       sha256 = "07a25qcdv88500klhyc3460pd1wjsrz4pf4m1bfydb1aib0avkzg";
+       version = "0.7.3.0";
+       sha256 = "16l42xybkkp99qvv8ilcxqvzzmvhrwx974n38yxj27yy74ds3rk5";
        buildDepends = [
          base monad-primitive mwc-random primitive transformers vector
        ];
@@ -82670,19 +82853,18 @@ self: {
      }) {};
 
   "mysql" = callPackage
-    ({ mkDerivation, base, bytestring, containers, mysqlConfig, zlib }:
+    ({ mkDerivation, base, bytestring, containers, mysql, zlib }:
      mkDerivation {
        pname = "mysql";
        version = "0.1.1.7";
        sha256 = "0hl8z8ynadvvhn4garjrax2b59iqddj884mv3s6804lcjjyc49d0";
        buildDepends = [ base bytestring containers ];
-       buildTools = [ mysqlConfig ];
+       buildTools = [ mysql ];
        extraLibraries = [ zlib ];
        homepage = "https://github.com/bos/mysql";
        description = "A low-level MySQL client library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) { mysqlConfig = null;  inherit (pkgs) zlib;};
+     }) { inherit (pkgs) mysql;  inherit (pkgs) zlib;};
 
   "mysql-effect" = callPackage
     ({ mkDerivation, base, bytestring, extensible-effects, mysql
@@ -82699,7 +82881,6 @@ self: {
        homepage = "https://github.com/ibotty/mysql-effect";
        description = "An extensible mysql effect using extensible-effects and mysql-simple";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mysql-simple" = callPackage
@@ -82718,7 +82899,6 @@ self: {
        homepage = "https://github.com/bos/mysql-simple";
        description = "A mid-level MySQL client library";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mysql-simple-quasi" = callPackage
@@ -82734,7 +82914,6 @@ self: {
        ];
        description = "Quasi-quoter for use with mysql-simple";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mysql-simple-typed" = callPackage
@@ -85547,8 +85726,8 @@ self: {
      }:
      mkDerivation {
        pname = "olwrapper";
-       version = "0.3.8";
-       sha256 = "1zwzcisi6i5a1rmhzck1rpl9rbsqwij7c1lyplhdknjy0vpw9myk";
+       version = "0.4.1";
+       sha256 = "0cnkanaxsrsshk2y37sbvyyzc40k61r57zb0c3jarz583h3yzlai";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -86474,13 +86653,18 @@ self: {
      }) {};
 
   "os-release" = callPackage
-    ({ mkDerivation, base, hlint, hspec, process, regex-compat }:
+    ({ mkDerivation, base, containers, hlint, hspec, parsec, process
+     , regex-compat, temporary, transformers
+     }:
      mkDerivation {
        pname = "os-release";
-       version = "0.1.0";
-       sha256 = "1qg0j0d86k3vddlndlwy6n4mb7hlb0x3r7swcjqwyw5r9kc5dvmb";
-       buildDepends = [ base ];
-       testDepends = [ base hlint hspec process regex-compat ];
+       version = "0.2.0";
+       sha256 = "1y59n0gsp26xbgdfszc6gnwr75h1bmwc8rvsf9p02gwgvcylxhly";
+       buildDepends = [ base containers parsec transformers ];
+       testDepends = [
+         base containers hlint hspec parsec process regex-compat temporary
+         transformers
+       ];
        homepage = "https://github.com/yaccz/os-release";
        description = "/etc/os-release helpers";
        license = stdenv.lib.licenses.bsd3;
@@ -87712,12 +87896,11 @@ self: {
     ({ mkDerivation, base, HandsomeSoup, hxt }:
      mkDerivation {
        pname = "patronscraper";
-       version = "0.0.0.0";
-       sha256 = "1c45cgp3af04b0r72lbka8rzfar09d811i2im13wd5b9jfw5rzvp";
+       version = "0.0.0.1";
+       sha256 = "0agmgp3qvd710fcrqyfyvhck6yd311wxmmh5qd8lfgdm6597lhvi";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [ base HandsomeSoup hxt ];
-       jailbreak = true;
        description = "A webpage scraper for Patreon which dumps a list of patrons to a text file";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -88557,7 +88740,6 @@ self: {
        homepage = "http://www.yesodweb.com/book/persistent";
        description = "Backend for the persistent library using MySQL database server";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "persistent-odbc" = callPackage
@@ -88858,8 +89040,8 @@ self: {
      }:
      mkDerivation {
        pname = "pgdl";
-       version = "6.7";
-       sha256 = "0ccyvg785n2cmkwcp3yvh38mlf84hkix0fx6kcam6fh82p1lrbbj";
+       version = "6.9";
+       sha256 = "1m23kbxzygly1xm29cs310ad257iwql2ysg41lxbfnvmmbij43jb";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -89868,7 +90050,6 @@ self: {
        homepage = "https://github.com/pjones/playlists";
        description = "Library and executable for working with playlist files";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plist" = callPackage
@@ -90935,8 +91116,8 @@ self: {
     ({ mkDerivation, base, generics-sop, postgresql-simple }:
      mkDerivation {
        pname = "postgresql-simple-sop";
-       version = "0.1.0.3";
-       sha256 = "1jnqps71r9kbflwwxnjdwi8r8fx4qc1lnp23vm34yq8wvv5sjnq2";
+       version = "0.1.0.5";
+       sha256 = "1v4rqjhwki6q46q5y4rmrk8y5p60s00faa153fg71zpkzafqqx0q";
        buildDepends = [ base generics-sop postgresql-simple ];
        homepage = "https://github.com/openbrainsrc/postgresql-simple-sop";
        description = "Generic functions for postgresql-simple";
@@ -90987,8 +91168,8 @@ self: {
     ({ mkDerivation, aeson, base, base64-string, bcrypt, blaze-builder
      , bytestring, case-insensitive, containers, convertible, hasql
      , hasql-backend, hasql-postgres, hspec, hspec-wai, hspec-wai-json
-     , HTTP, http-media, http-types, mtl, network, network-uri
-     , optparse-applicative, parsec, process, QuickCheck, Ranged-sets
+     , HTTP, http-media, http-types, MissingH, mtl, network, network-uri
+     , optparse-applicative, process, QuickCheck, Ranged-sets
      , regex-base, regex-tdfa, regex-tdfa-text, resource-pool
      , scientific, split, string-conversions, stringsearch, text, time
      , transformers, unordered-containers, vector, wai, wai-cors
@@ -90996,15 +91177,15 @@ self: {
      }:
      mkDerivation {
        pname = "postgrest";
-       version = "0.2.5.0";
-       sha256 = "1128s2yblmixqv3ywnzy3gsci9hncriyv21k09j1l81pjkk0cxgl";
+       version = "0.2.5.1";
+       sha256 = "1k9fy4arnq3nyz82ndqlqqw9i00g3d9n554ij49zhvjrc42drlng";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
          aeson base base64-string bcrypt blaze-builder bytestring
          case-insensitive containers convertible hasql hasql-backend
-         hasql-postgres HTTP http-types mtl network network-uri
-         optparse-applicative parsec Ranged-sets regex-base regex-tdfa
+         hasql-postgres HTTP http-types MissingH mtl network network-uri
+         optparse-applicative Ranged-sets regex-base regex-tdfa
          regex-tdfa-text resource-pool scientific split string-conversions
          stringsearch text time transformers unordered-containers vector wai
          wai-cors wai-extra wai-middleware-static warp
@@ -91013,7 +91194,7 @@ self: {
          aeson base base64-string bcrypt blaze-builder bytestring
          case-insensitive containers convertible hasql hasql-backend
          hasql-postgres hspec hspec-wai hspec-wai-json HTTP http-media
-         http-types mtl network network-uri optparse-applicative parsec
+         http-types MissingH mtl network network-uri optparse-applicative
          process QuickCheck Ranged-sets regex-base regex-tdfa
          regex-tdfa-text resource-pool scientific split string-conversions
          stringsearch text time transformers unordered-containers vector wai
@@ -91956,6 +92137,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "processor-creative-kit" = callPackage
+    ({ mkDerivation, array, attoparsec, base, bytestring, containers
+     , deepseq, mtl
+     }:
+     mkDerivation {
+       pname = "processor-creative-kit";
+       version = "0.1.0.1";
+       sha256 = "1jshzych1vbb24bm219sdpxkb2amvv11fbhqwf7iy4l1prg248h7";
+       buildDepends = [
+         array attoparsec base bytestring containers deepseq mtl
+       ];
+       homepage = "https://github.com/takenobu-hs/processor-creative-kit";
+       description = "a creation kit for instruction sets and cpu simulators and development tools";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "procrastinating-structure" = callPackage
     ({ mkDerivation, base, procrastinating-variable }:
      mkDerivation {
@@ -92382,6 +92579,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "proteaaudio" = callPackage
+    ({ mkDerivation, alsaLib, base, c2hs }:
+     mkDerivation {
+       pname = "proteaaudio";
+       version = "0.6.2";
+       sha256 = "10ayg0pr7vjffk8l114gwf098kpmamirk6cknw1xhpnr7hwr1mln";
+       buildDepends = [ base ];
+       buildTools = [ c2hs ];
+       extraLibraries = [ alsaLib ];
+       description = "A wrapper for the proteaaudio library";
+       license = stdenv.lib.licenses.bsd3;
+     }) { inherit (pkgs) alsaLib;};
+
   "protobuf" = callPackage
     ({ mkDerivation, base, bytestring, cereal, containers
      , data-binary-ieee754, deepseq, hex, HUnit, mtl, QuickCheck, tagged
@@ -92970,8 +93180,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.6.4";
-       sha256 = "1bmxp84aa2vkg3hcnaspdifkh9biiihyzibr1kgf6d3x7nd1x1sl";
+       version = "0.6.4.1";
+       sha256 = "02pwrrr0pbqjsmprcs8jf3p95cbjik33509vh5x0f7c4dkdl783p";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -93463,7 +93673,6 @@ self: {
        homepage = "https://github.com/yamadapc/haskell-questioner.git";
        description = "A package for prompting values from the command-line";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "queue" = callPackage
@@ -94781,16 +94990,16 @@ self: {
      }) {};
 
   "readline" = callPackage
-    ({ mkDerivation, base, process }:
+    ({ mkDerivation, base, ncurses, process, readline }:
      mkDerivation {
        pname = "readline";
        version = "1.0.3.0";
        sha256 = "1sszlx34qa88fad3wlhd4rkb1my1nrpzvyd8vq7dn806j5sf3ff0";
        buildDepends = [ base process ];
+       extraLibraries = [ ncurses readline ];
        description = "An interface to the GNU readline library";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
+     }) { inherit (pkgs) ncurses;  inherit (pkgs) readline;};
 
   "readline-statevar" = callPackage
     ({ mkDerivation, base, readline, StateVar }:
@@ -94801,7 +95010,6 @@ self: {
        buildDepends = [ base readline StateVar ];
        description = "Readline with variables (setX/getY) wrapped in state vars";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "readpyc" = callPackage
@@ -96599,16 +96807,16 @@ self: {
 
   "resolve-trivial-conflicts" = callPackage
     ({ mkDerivation, ansi-terminal, base, Diff, directory, filepath
-     , mtl, process
+     , mtl, process, unix
      }:
      mkDerivation {
        pname = "resolve-trivial-conflicts";
-       version = "0.2.0.1";
-       sha256 = "0bxjagilvjn21ph0lg2jrm3lbsinhjrp50cxf08rhyvjhdcngf1k";
+       version = "0.2.0.2";
+       sha256 = "1xfafd85q7mk3lb9xy7wfishg3zfzhnvrbzd6r5akmpbpgvf2ddk";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
-         ansi-terminal base Diff directory filepath mtl process
+         ansi-terminal base Diff directory filepath mtl process unix
        ];
        homepage = "https://github.com/ElastiLotem/resolve-trivial-conflicts";
        description = "Remove trivial conflict markers in a git repository";
@@ -97002,8 +97210,8 @@ self: {
      }:
      mkDerivation {
        pname = "rethinkdb-client-driver";
-       version = "0.0.11";
-       sha256 = "0dhz28f6cl9jslps02amax871f4dynb8h4f35gw9n66fz6zmwdwx";
+       version = "0.0.13";
+       sha256 = "0frbmdz0avary2rwwp9l3k6pdasjw1przi76n89kdfn4dfq5g53s";
        buildDepends = [
          aeson base binary bytestring hashable mtl network old-locale
          scientific template-haskell text time unordered-containers vector
@@ -97012,7 +97220,6 @@ self: {
          base hspec hspec-smallcheck smallcheck text time
          unordered-containers vector
        ];
-       jailbreak = true;
        homepage = "https://github.com/wereHamster/rethinkdb-client-driver";
        description = "Client driver for RethinkDB";
        license = stdenv.lib.licenses.mit;
@@ -99290,9 +99497,8 @@ self: {
      }:
      mkDerivation {
        pname = "scholdoc-texmath";
-       version = "0.1";
-       sha256 = "1ddzdypdijpkil7v7g6jf74dmlw72j0hjmnxys21fdvgafiq9bk3";
-       editedCabalFile = "6edad8e079e78cf90ec39cb90a0c071570d6702fd4c16bc906e63fb72ad61f9f";
+       version = "0.1.0.1";
+       sha256 = "05yb55df33v357khdkr95ghmxqzikvq8gxqkh143zc8fi43gjf99";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -99302,7 +99508,7 @@ self: {
          base bytestring directory filepath process split temporary text
          utf8-string xml
        ];
-       homepage = "http://scholdoc.scholarlymarkdown.com";
+       homepage = "http://github.com/timtylin/scholdoc-texmath";
        description = "Scholdoc fork of texmath";
        license = "GPL";
      }) {};
@@ -99313,13 +99519,11 @@ self: {
      }:
      mkDerivation {
        pname = "scholdoc-types";
-       version = "0.1.3";
-       sha256 = "0als5517hplkccrkv9c31dm0ivlk60ais0wyvc9a31jdjwjcyppk";
-       editedCabalFile = "18fb578a18988a8361d57025dac5b25c083b4cf044e75ff0a982bd3399bd368d";
+       version = "0.1.3.1";
+       sha256 = "02335isa6w7mxjziiwsdm2883b778v0y0ayzxpha9p0xr5nlkbar";
        buildDepends = [
          aeson base bytestring containers deepseq-generics ghc-prim syb
        ];
-       jailbreak = true;
        homepage = "http://scholdoc.scholarlymarkdown.com";
        description = "Scholdoc fork of pandoc-types";
        license = "GPL";
@@ -100399,8 +100603,8 @@ self: {
      }:
      mkDerivation {
        pname = "seqaid";
-       version = "0.2.1.0";
-       sha256 = "1jfxi3ndipbvwfk41hnixpa3i7igkv2hjg4gzqrdibq6212fr3xw";
+       version = "0.3.0.1";
+       sha256 = "0kb9zjw0d0czryq26s0r8cbjhvf93czgb5c3ljm3dnr7nr8biqgk";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -100507,12 +100711,12 @@ self: {
      }) {};
 
   "sequence" = callPackage
-    ({ mkDerivation, base, containers }:
+    ({ mkDerivation, base, containers, transformers }:
      mkDerivation {
        pname = "sequence";
-       version = "0.9.4";
-       sha256 = "1axfj69cmdqkxy3dfl03hbd4spwl7z0m3r0gkcyc3pvah0xpnkpx";
-       buildDepends = [ base containers ];
+       version = "0.9.6";
+       sha256 = "0qn224369bwmdcq3z1j8rpcw4mcvgyh1sp427dx0yncp9d0srqcs";
+       buildDepends = [ base containers transformers ];
        homepage = "https://github.com/atzeus/sequence";
        description = "A type class for sequences and various sequence data structures";
        license = stdenv.lib.licenses.bsd3;
@@ -102662,9 +102866,8 @@ self: {
      }:
      mkDerivation {
        pname = "singletons";
-       version = "1.0";
-       sha256 = "1rd1728wghhqlg2djd7az8i01rf4i3wwwcnz2v43a39jjvhlklkg";
-       editedCabalFile = "a16e79659af16eee0fd4d5062a002c143dfbe306ed758f6989dab2f97ac6830f";
+       version = "1.1";
+       sha256 = "183y9kj6f8ikrf1r4j24l1r1hnmw6n3aw77nlwqz24qfficdc7z8";
        buildDepends = [ base containers mtl template-haskell th-desugar ];
        testDepends = [
          base Cabal constraints filepath process tasty tasty-golden
@@ -102770,8 +102973,8 @@ self: {
      }:
      mkDerivation {
        pname = "sized-vector";
-       version = "1.4.1.0";
-       sha256 = "0pl672lhw2dgk83kakjxap24sc4760l9blh9ggy9ldxhps7l8ydq";
+       version = "1.4.2.0";
+       sha256 = "0lz1fr2n5x7xfb6y8l7prnawj1p3fp79bbgi98w1n22wazcy9jkm";
        buildDepends = [
          base constraints deepseq equational-reasoning hashable monomorphic
          singletons type-natural
@@ -103202,7 +103405,6 @@ self: {
        ];
        description = "A type-safe interface to communicate with an SMT solver";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "smtp-mail" = callPackage
@@ -103973,7 +104175,6 @@ self: {
        homepage = "https://github.com/ibotty/snaplet-mysql-simple";
        description = "mysql-simple snaplet for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snaplet-oauth" = callPackage
@@ -104025,7 +104226,6 @@ self: {
        homepage = "https://github.com/soostone/snaplet-persistent";
        description = "persistent snaplet for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snaplet-postgresql-simple" = callPackage
@@ -104696,7 +104896,6 @@ self: {
        homepage = "https://github.com/mhwombat/som";
        description = "Self-Organising Maps";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sonic-visualiser" = callPackage
@@ -105869,6 +106068,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "sshd-lint" = callPackage
+    ({ mkDerivation, base, containers, hspec, keyword-args
+     , nagios-check, parsec
+     }:
+     mkDerivation {
+       pname = "sshd-lint";
+       version = "0.1.0.1";
+       sha256 = "0q34zx8cn0gs91c4x4bicmygfaary5kk42ib62jk0hlrh3rzdi7c";
+       isLibrary = false;
+       isExecutable = true;
+       buildDepends = [
+         base containers keyword-args nagios-check parsec
+       ];
+       testDepends = [
+         base containers hspec keyword-args nagios-check parsec
+       ];
+       description = "Check sshd configuration for adherence to best practices";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sshtun" = callPackage
     ({ mkDerivation, base, containers, curl, directory, hdaemonize
      , hslogger, mtl, process, regex-compat, stm, unix
@@ -105977,8 +106196,8 @@ self: {
      }:
      mkDerivation {
        pname = "stable-tree";
-       version = "0.5.0";
-       sha256 = "0svg4mbsvynvmcfm6ihv6s90pfvi1zhawa19yns8n521ff2rxrjv";
+       version = "0.6.1";
+       sha256 = "02asd3qrnydmw70ibf2w2q6phkvrls1yvlrbwmwhqz839ry0jhyx";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
@@ -108689,18 +108908,19 @@ self: {
      }) {};
 
   "system-canonicalpath" = callPackage
-    ({ mkDerivation, base, basic-prelude, directory, system-filepath
-     , text
+    ({ mkDerivation, base, basic-prelude, chell, directory
+     , system-filepath, text
      }:
      mkDerivation {
        pname = "system-canonicalpath";
-       version = "0.2.3.0";
-       sha256 = "02gvybjd9ka0pks2jlv5m1h46wibkqswf7ifr5bkipv284ma2ycz";
+       version = "0.3.0.0";
+       sha256 = "1wfqfj98wvx9pjnkszca471s8dksgzp1b6wy7d7s3y6g1v8rca7d";
        buildDepends = [
          base basic-prelude directory system-filepath text
        ];
+       testDepends = [ base basic-prelude chell system-filepath ];
        homepage = "https://github.com/d12frosted/CanonicalPath";
-       description = "Abstract data type for canonical paths with pretty operations";
+       description = "Abstract data type for canonical paths with some utilities";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -110014,8 +110234,8 @@ self: {
      }:
      mkDerivation {
        pname = "tellbot";
-       version = "0.4.0.2";
-       sha256 = "0fnc5rbwmyc7ikjvl95cwv1cfgswjr6vw7gdwar6zgfbdl352cgp";
+       version = "0.4.0.3";
+       sha256 = "0n0gfszxz92v1vlkdfq32yzj4lcxph2yymzfkbdaz7y4bjjpikkl";
        isLibrary = false;
        isExecutable = true;
        buildDepends = [
@@ -110627,8 +110847,8 @@ self: {
      }:
      mkDerivation {
        pname = "test-sandbox";
-       version = "0.0.1.11";
-       sha256 = "0jhhwb2wi4n48bnrxsd81i1shrd2acnaplqip6453l0j5f5wgcgm";
+       version = "0.0.1.12";
+       sha256 = "14pds1qsdnpnl71jnxh4jgpmy0vlhdga8mipddwzqp1wiij481r3";
        buildDepends = [
          base bytestring cereal containers data-default directory filepath
          lifted-base monad-control monad-loops mtl network process random
@@ -111338,15 +111558,17 @@ self: {
 
   "th-desugar" = callPackage
     ({ mkDerivation, base, containers, hspec, HUnit, mtl, syb
-     , template-haskell
+     , template-haskell, th-lift
      }:
      mkDerivation {
        pname = "th-desugar";
-       version = "1.4.2.1";
-       sha256 = "1ys7j1hvvsl3pb8rrp336jw3q2cf0zfx12v8n4mz0wbg0xm7pwjr";
-       buildDepends = [ base containers mtl syb template-haskell ];
+       version = "1.5";
+       sha256 = "18ailfvwiljscyzjxci6k9h05kf9wwb6dy3ms6q928cr80qnr4d5";
+       buildDepends = [
+         base containers mtl syb template-haskell th-lift
+       ];
        testDepends = [
-         base containers hspec HUnit mtl syb template-haskell
+         base containers hspec HUnit mtl syb template-haskell th-lift
        ];
        homepage = "http://www.cis.upenn.edu/~eir/packages/th-desugar";
        description = "Functions to desugar Template Haskell";
@@ -112007,8 +112229,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "0.4.26";
-       sha256 = "1biri4b2phc7qj12a9lzwp8k5bjx3f88a831b64a2kkcg4xdpyz0";
+       version = "0.4.29";
+       sha256 = "05p6iga6lzshk6vzywpxd6g53r7hqyvs1rq90v00lpxkiwyqxs6i";
        buildDepends = [
          base binary bytestring colour containers hashable hmt hosc
          mersenne-random-pure64 mtl parsec process text time transformers
@@ -113548,8 +113770,8 @@ self: {
      }:
      mkDerivation {
        pname = "trifecta";
-       version = "1.5.1";
-       sha256 = "1fayr6sd9m84rqpcygacafn9vr9zva7rmkpvyzz0bf1p1z7i6b2n";
+       version = "1.5.1.2";
+       sha256 = "0g6ywg5p841x781270kgrw1i4fjp9cyqpnaqcg7qgfrixpwalzls";
        buildDepends = [
          ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html
          blaze-markup bytestring charset comonad containers deepseq
@@ -113904,8 +114126,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.0.0";
-       sha256 = "1swgf909akj9nsszmn38xljl5d6bmi3iiy7b28rbk0sh7bwi8f4z";
+       version = "1.0.1";
+       sha256 = "15y2shxmvhhy5cpnbkqj91b4x3hpbdr1vdkw41b4q6px49f67r1x";
        buildDepends = [
          async base clock directory foldl managed process system-fileio
          system-filepath temporary text time transformers unix
@@ -113947,11 +114169,12 @@ self: {
        pname = "twentefp-eventloop-graphics";
        version = "0.1.0.4";
        sha256 = "086vx0849c7kmsz5pa4jwzp24cwaf4482bq37dr7jrqx22hvk4lm";
+       editedCabalFile = "2a887ef5e938d11f5944ea59ced4cf4bd22930b452f6e6b884f58031761cf817";
        buildDepends = [
          base network text twentefp-number twentefp-websockets
        ];
        jailbreak = true;
-       description = "Used as Lab Assignments Environment at Univeriteit Twente";
+       description = "Used as Lab Assignments Environment at the University of Twente";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -114194,7 +114417,6 @@ self: {
        ];
        description = "A Haskell-based CLI Twitter client";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "twitter-conduit" = callPackage
@@ -114642,8 +114864,8 @@ self: {
     ({ mkDerivation, base, singletons }:
      mkDerivation {
        pname = "type-list";
-       version = "0.0.0.0";
-       sha256 = "1m7zs629kqx3xzc2shdk92x4yxfj32an6dxnal6gjy8v26h005k5";
+       version = "0.0.0.1";
+       sha256 = "1mbgwin1rcf1fkm3cq6h2dqv157xwgjca3019fxi759cxg9j70d2";
        buildDepends = [ base singletons ];
        description = "Operations on type-level lists and tuples";
        license = stdenv.lib.licenses.bsd3;
@@ -114655,8 +114877,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-natural";
-       version = "0.2.3.1";
-       sha256 = "0qi5b3d0vkm1b2kda3ifw6g7djx91wj7q36la02yadlvmb4jcp1g";
+       version = "0.2.3.2";
+       sha256 = "0qydsrksg9rasv90d4ivjgf1sdwfzjg0xf1wimfkhva545mray7h";
        buildDepends = [
          base constraints equational-reasoning monomorphic singletons
          template-haskell
@@ -115165,18 +115387,19 @@ self: {
 
   "uhc-light" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
-     , directory, fgl, hashable, mtl, network, old-locale, primitive
-     , process, syb, uhc-util, uulib, vector
+     , directory, fgl, filepath, hashable, mtl, network, old-locale
+     , primitive, process, syb, uhc-util, uulib, vector
      }:
      mkDerivation {
        pname = "uhc-light";
-       version = "1.1.8.4";
-       sha256 = "0fkw5mz1wrrbcb1a9mfg59mab5b0clil8zm53q1mhnjhd7g7gd33";
+       version = "1.1.8.6";
+       sha256 = "0p2lhs94yynglw6xk04hw173557g96ig7x4digyavldd0153k65r";
        isLibrary = true;
        isExecutable = true;
        buildDepends = [
-         array base binary bytestring containers directory fgl hashable mtl
-         network old-locale primitive process syb uhc-util uulib vector
+         array base binary bytestring containers directory fgl filepath
+         hashable mtl network old-locale primitive process syb uhc-util
+         uulib vector
        ];
        homepage = "https://github.com/UU-ComputerScience/uhc";
        description = "Part of UHC packaged as cabal/hackage installable library";
@@ -115190,8 +115413,8 @@ self: {
      }:
      mkDerivation {
        pname = "uhc-util";
-       version = "0.1.3.9";
-       sha256 = "02kdr6y81ggflkfz4skmpq1vawc357z5irqk89965ablk4v1msxs";
+       version = "0.1.4.0";
+       sha256 = "17d629840h6ilrmqaq0pfb7n9yncaraysp24rhg1nqmpfb0cilnd";
        buildDepends = [
          array base binary bytestring containers directory fgl hashable
          ListLike mtl process syb time time-compat uulib
@@ -115777,8 +116000,8 @@ self: {
      }:
      mkDerivation {
        pname = "units";
-       version = "2.2";
-       sha256 = "1hd7klv0h2rsq971rbghvgy2921bf0zxikdsl26qw08yb0zirvza";
+       version = "2.2.1";
+       sha256 = "0b4h8kv8yraqs4rxidqi60833iib0zvqdnsywi4aryw14zkpvl17";
        buildDepends = [
          base containers mtl multimap parsec singletons syb template-haskell
          th-desugar vector-space
@@ -116650,6 +116873,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "usb-hid" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, usb }:
+     mkDerivation {
+       pname = "usb-hid";
+       version = "0.1.0.0";
+       sha256 = "0mx4f1zrk098c9isczni66i8qisx54r85kwyk2s238dznlys39gh";
+       editedCabalFile = "3fe150e203f72b72c425bef276254a2ca91ca40cab21f6088838bb32c806e8dc";
+       buildDepends = [ attoparsec base bytestring usb ];
+       homepage = "https://github.com/mapinguari/usb-hid";
+       description = "Parser and request Library for USB HIDs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "usb-id-database" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, bytestring, containers
      , containers-unicode-symbols, parsimony
@@ -118090,8 +118326,8 @@ self: {
     ({ mkDerivation, base, contravariant, transformers, vinyl }:
      mkDerivation {
        pname = "vinyl-utils";
-       version = "0.1.0.0";
-       sha256 = "1ma1x4zqhf1p083rajxchilam60xpmhq77phmb2xmwsxbrfa3g2i";
+       version = "0.1.0.1";
+       sha256 = "07clcs7rmzbwn4w9xzbiwc3flrcn2l5p0k5isapis803fpzdq2p0";
        buildDepends = [ base contravariant transformers vinyl ];
        homepage = "http://hub.darcs.net/mjm/vinyl-utils";
        description = "Utilities for vinyl";
@@ -119765,15 +120001,17 @@ self: {
      }) {};
 
   "web-routing" = callPackage
-    ({ mkDerivation, base, bytestring, doctest, tasty, tasty-quickcheck
-     , text, unordered-containers
+    ({ mkDerivation, base, bytestring, doctest, primitive, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "web-routing";
-       version = "0.1.2";
-       sha256 = "1gc9p5bggb8z8zy28zs7q2nvhfjv3yd41c7lh8h1cfywilbif1ls";
-       buildDepends = [ base bytestring text unordered-containers ];
-       testDepends = [ base doctest tasty tasty-quickcheck ];
+       version = "0.4.2";
+       sha256 = "0cvdq0k0p0agxj9imxvf6mxr7vhmg1nr3c0ww9whdnfn52bbljv9";
+       buildDepends = [
+         base bytestring primitive text unordered-containers
+       ];
+       testDepends = [ base doctest ];
        homepage = "https://github.com/philopon/web-routing";
        description = "simple routing library";
        license = stdenv.lib.licenses.mit;
@@ -123123,7 +123361,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "BCrypt salted and hashed passwords in a database as auth for yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-deskcom" = callPackage
diff --git a/pkgs/development/haskell-modules/lib.nix b/pkgs/development/haskell-modules/lib.nix
index 2989881af693..8337411e1adc 100644
--- a/pkgs/development/haskell-modules/lib.nix
+++ b/pkgs/development/haskell-modules/lib.nix
@@ -25,6 +25,9 @@ rec {
   addBuildTool = drv: x: addBuildTools drv [x];
   addBuildTools = drv: xs: overrideCabal drv (drv: { buildTools = (drv.buildTools or []) ++ xs; });
 
+  addExtraLibrary = drv: x: addExtraLibraries drv [x];
+  addExtraLibraries = drv: xs: overrideCabal drv (drv: { extraLibraries = (drv.extraLibraries or []) ++ xs; });
+
   addBuildDepend = drv: x: addBuildDepends drv [x];
   addBuildDepends = drv: xs: overrideCabal drv (drv: { buildDepends = (drv.buildDepends or []) ++ xs; });
 
diff --git a/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch b/pkgs/development/haskell-modules/xmonad-nix.patch
index f0785773cc14..f0785773cc14 100644
--- a/pkgs/applications/window-managers/xmonad/xmonad_ghc_var_0.11.patch
+++ b/pkgs/development/haskell-modules/xmonad-nix.patch
diff --git a/pkgs/development/interpreters/mujs/default.nix b/pkgs/development/interpreters/mujs/default.nix
index 53ff667c8b3d..bebacc878173 100644
--- a/pkgs/development/interpreters/mujs/default.nix
+++ b/pkgs/development/interpreters/mujs/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = git://git.ghostscript.com/mujs.git;
-    rev  = "d9ed73fd717ebbefe5595d139a133b762cea4e92";
-    sha256 = "0kg69j9ra398mdxzq34k5lv92q18g0zz5vx2wcki3qmag2rzivhr";
+    rev  = "c1ad1ba1e482e7d01743e3f4f9517572bebf99ac";
+    sha256 = "1713h82zzd189nb54ilpa8fj9xhinhn0jvmd3li4c2fwh6xfjpcy";
   };
 
   buildInputs = [ clang ];
diff --git a/pkgs/development/interpreters/perl/5.20/default.nix b/pkgs/development/interpreters/perl/5.20/default.nix
index 4ec1f08f15d7..058b1776c666 100644
--- a/pkgs/development/interpreters/perl/5.20/default.nix
+++ b/pkgs/development/interpreters/perl/5.20/default.nix
@@ -66,6 +66,8 @@ stdenv.mkDerivation rec {
       ${optionalString stdenv.isArm ''
         configureFlagsArray=(-Dldflags="-lm -lrt")
       ''}
+    '' + optionalString stdenv.isDarwin ''
+      substituteInPlace hints/darwin.sh --replace "env MACOSX_DEPLOYMENT_TARGET=10.3" ""
     '';
 
   preBuild = optionalString (!(stdenv ? cc && stdenv.cc.nativeTools))
diff --git a/pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch b/pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch
deleted file mode 100644
index dc01c5795dd1..000000000000
--- a/pkgs/development/interpreters/pypy/2.4/fix-gcc-4-9-2.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/rpython/translator/c/gcc/trackgcroot.py
-+++ b/rpython/translator/c/gcc/trackgcroot.py
-@@ -590,7 +590,7 @@
- 
-     # The various cmov* operations
-     for name in '''
--        e ne g ge l le a ae b be p np s ns o no
-+        e ne g ge l le a ae b be nb p np s ns o no
-         '''.split():
-         locals()['visit_cmov' + name] = binary_insn
-         locals()['visit_cmov' + name + 'l'] = binary_insn
-@@ -837,6 +837,7 @@
-     visit_jb = conditional_jump
-     visit_jbe = conditional_jump
-     visit_jp = conditional_jump
-+    visit_jnb = conditional_jump
-     visit_jnp = conditional_jump
-     visit_js = conditional_jump
-     visit_jns = conditional_jump
diff --git a/pkgs/development/interpreters/pypy/2.4/default.nix b/pkgs/development/interpreters/pypy/default.nix
index 9799e810c6f1..62a0c0fb5a2f 100644
--- a/pkgs/development/interpreters/pypy/2.4/default.nix
+++ b/pkgs/development/interpreters/pypy/default.nix
@@ -6,7 +6,7 @@ assert zlibSupport -> zlib != null;
 
 let
 
-  majorVersion = "2.4";
+  majorVersion = "2.5";
   version = "${majorVersion}.0";
   libPrefix = "pypy${majorVersion}";
 
@@ -18,7 +18,7 @@ let
 
     src = fetchurl {
       url = "https://bitbucket.org/pypy/pypy/get/release-${version}.tar.bz2";
-      sha256 = "1lhk86clnkj305dxa6xr9wjib6ckf6xxl6qj0bq20vqh80nfq3by";
+      sha256 = "126zrsx6663n9w60018mii1z7cqb87iq9irnhp8z630mldallr4d";
     };
 
     buildInputs = [ bzip2 openssl pkgconfig pythonFull libffi ncurses expat sqlite tk tcl x11 libX11 makeWrapper ]
@@ -30,8 +30,6 @@ let
     LD_LIBRARY_PATH = stdenv.lib.concatStringsSep ":" (map (p: "${p}/lib")
       (stdenv.lib.filter (x : x.outPath != stdenv.cc.libc.outPath or "") buildInputs));
 
-    patches = [ ./fix-gcc-4-9-2.patch ];
-
     preConfigure = ''
       substituteInPlace Makefile \
         --replace "-Ojit" "-Ojit --batch" \
@@ -103,7 +101,7 @@ let
       inherit zlibSupport libPrefix;
       executable = "pypy";
       isPypy = true;
-      buildEnv = callPackage ../../python/wrapper.nix { python = self; };
+      buildEnv = callPackage ../python/wrapper.nix { python = self; };
       interpreter = "${self}/bin/${executable}";
     };
 
diff --git a/pkgs/development/interpreters/pypy/2.4/setup-hook.sh b/pkgs/development/interpreters/pypy/setup-hook.sh
index b9f5a38dcc64..057e619ebc89 100644
--- a/pkgs/development/interpreters/pypy/2.4/setup-hook.sh
+++ b/pkgs/development/interpreters/pypy/setup-hook.sh
@@ -1,12 +1,12 @@
 addPythonPath() {
-    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.4/site-packages
+    addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/pypy2.5/site-packages
 }
 
 toPythonPath() {
     local paths="$1"
     local result=
     for i in $paths; do
-        p="$i/lib/pypy2.4/site-packages"
+        p="$i/lib/pypy2.5/site-packages"
         result="${result}${result:+:}$p"
     done
     echo $result
diff --git a/pkgs/development/interpreters/ruby/bundix/gemset.nix b/pkgs/development/interpreters/ruby/bundix/gemset.nix
index a2c633f903c0..a3e732c68e12 100644
--- a/pkgs/development/interpreters/ruby/bundix/gemset.nix
+++ b/pkgs/development/interpreters/ruby/bundix/gemset.nix
@@ -6,7 +6,7 @@
       url = "https://github.com/cstrahan/bundix.git";
       rev = "5df25b11b5b86e636754d54c2a8859c7c6ec78c7";
       fetchSubmodules = false;
-      sha256 = "0334jsavpzkikcs7wrx7a3r0ilvr5vsnqd34lhc58b8cgvgll47p";
+      sha256 = "1iqx12y777v8gszggj25x0xcf6lzllx58lmv53x6zy3jmvfh4siv";
     };
     dependencies = [
       "thor"
diff --git a/pkgs/development/libraries/apr/darwin_fix_configure.patch b/pkgs/development/libraries/apr/darwin_fix_configure.patch
deleted file mode 100644
index 84d3f2078700..000000000000
--- a/pkgs/development/libraries/apr/darwin_fix_configure.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff -Nuar apr-1.4.6/configure apr-1.4.6-darwin-fix-configure/configure
---- apr-1.4.6/configure	2012-02-08 00:17:57.000000000 +0100
-+++ apr-1.4.6-darwin-fix-configure/configure	2012-06-06 23:08:56.000000000 +0200
-@@ -6854,10 +6854,10 @@
-     *-apple-darwin*)
- 
-   if test "x$CPPFLAGS" = "x"; then
--    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp\""
--    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
-+    test "x$silent" != "xyes" && echo "  setting CPPFLAGS to \"-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK\""
-+    CPPFLAGS="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
-   else
--    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp"
-+    apr_addto_bugger="-DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK"
-     for i in $apr_addto_bugger; do
-       apr_addto_duplicate="0"
-       for j in $CPPFLAGS; do
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index c2737b20eff4..3810a47fac3f 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1b4qw686bwjn19iyb0lg918q23xxd6s2gnyczhjq992d3m1vwjp9";
   };
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_fix_configure.patch ];
+  patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
 
   configureFlags =
     # Including the Windows headers breaks unistd.h.
diff --git a/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch b/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
new file mode 100644
index 000000000000..bbc10fabb268
--- /dev/null
+++ b/pkgs/development/libraries/apr/is-this-a-compiler-bug.patch
@@ -0,0 +1,17 @@
+--- apr-1.5.1/file_io/unix/filestat.c	2014-11-01 06:42:50.000000000 -0400
++++ apr-1.5.1/file_io/unix/filestat.c.new	2014-11-01 07:07:32.000000000 -0400
+@@ -297,9 +297,11 @@
+         finfo->pool = pool;
+         finfo->fname = fname;
+         fill_out_finfo(finfo, &info, wanted);
+-        if (wanted & APR_FINFO_LINK)
+-            wanted &= ~APR_FINFO_LINK;
+-        return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
++        if (wanted & APR_FINFO_LINK) {
++            return ((wanted & ~APR_FINFO_LINK) & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
++        } else {
++            return (wanted & ~finfo->valid) ? APR_INCOMPLETE : APR_SUCCESS;
++        }
+     }
+     else {
+ #if !defined(ENOENT) || !defined(ENOTDIR)
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 4173b75915cb..90ee1cd03ca4 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     [ ./Fix-pkgconfig-file-by-adding-clucene-shared-library.patch
       ./Fixing_ZLIB_configuration_in_shared_CMakeLists.patch
       ./Install-contribs-lib.patch
-    ];
+    ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./fix-darwin.patch ];
 
   postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
     install_name_tool -change libclucene-shared.1.dylib \
diff --git a/pkgs/development/libraries/clucene-core/fix-darwin.patch b/pkgs/development/libraries/clucene-core/fix-darwin.patch
new file mode 100644
index 000000000000..c06413f3c2e1
--- /dev/null
+++ b/pkgs/development/libraries/clucene-core/fix-darwin.patch
@@ -0,0 +1,75 @@
+--- a/src/shared/CLucene/LuceneThreads.h
++++ b/src/shared/CLucene/LuceneThreads.h
+@@ -7,6 +7,9 @@
+ #ifndef _LuceneThreads_h
+ #define  _LuceneThreads_h
+
++#if defined(_CL_HAVE_PTHREAD)
++	#include <pthread.h>
++#endif
+
+ CL_NS_DEF(util)
+ class CLuceneThreadIdCompare;
+
+--- a/src/shared/CLucene/config/repl_tchar.h
++++ b/src/shared/CLucene/config/repl_tchar.h
+@@ -28,26 +28,26 @@
+         #define _istdigit iswdigit //* digit char check
+         #define _totlower towlower //* convert char to lower case
+         #define _totupper towupper //* convert char to lower case
+-        #define _tcslwr wcslwr //* convert string to lower case
++        #define _tcslwr std::wcslwr //* convert string to lower case
+ 
+         //these are the string handling functions
+         //we may need to create wide-character/multi-byte replacements for these
+-        #define _tcscpy wcscpy //copy a string to another string
+-        #define _tcsncpy wcsncpy //copy a specified amount of one string to another string.
+-        #define _tcscat wcscat //copy a string onto the end of the other string
+-    		#define _tcsncat wcsncat
+-        #define _tcschr wcschr //find location of one character
+-        #define _tcsstr wcsstr //find location of a string
+-        #define _tcslen wcslen //get length of a string
+-        #define _tcscmp wcscmp //case sensitive compare two strings
+-        #define _tcsncmp wcsncmp //case sensitive compare two strings
+-        #define _tcscspn wcscspn //location of any of a set of character in a string
++        #define _tcscpy std::wcscpy //copy a string to another string
++        #define _tcsncpy std::wcsncpy //copy a specified amount of one string to another string.
++        #define _tcscat std::wcscat //copy a string onto the end of the other string
++    		#define _tcsncat std::wcsncat
++        #define _tcschr std::wcschr //find location of one character
++        #define _tcsstr std::wcsstr //find location of a string
++        #define _tcslen std::wcslen //get length of a string
++        #define _tcscmp std::wcscmp //case sensitive compare two strings
++        #define _tcsncmp std::wcsncmp //case sensitive compare two strings
++        #define _tcscspn std::wcscspn //location of any of a set of character in a string
+ 
+ 				//string compare
+         #ifdef _CL_HAVE_FUNCTION_WCSICMP
+-            #define _tcsicmp wcsicmp //* case insensitive compare two string
++            #define _tcsicmp std::wcsicmp //* case insensitive compare two string
+         #else
+-            #define _tcsicmp wcscasecmp //* case insensitive compare two string
++            #define _tcsicmp std::wcscasecmp //* case insensitive compare two string
+         #endif
+ 				#if defined(_CL_HAVE_FUNCTION_WCSDUP)
+ 			  	#define _tcsdup	wcsdup
+@@ -56,8 +56,8 @@
+ 			  #endif
+ 
+         //conversion functions
+-        #define _tcstod wcstod //convert a string to a double
+-        #define _tcstoi64 wcstoll //* convers a string to an 64bit bit integer
++        #define _tcstod std::wcstod //convert a string to a double
++        #define _tcstoi64 std::wcstoll //* convers a string to an 64bit bit integer
+         #define _itot _i64tot
+         #define _i64tot lltow //* converts a 64 bit integer to a string (with base)
+     #else //if defined(_ASCII)
+@@ -105,7 +105,7 @@
+     //some tchar headers miss these...
+     #ifndef _tcstoi64
+         #if defined(_UCS2)
+-        	#define _tcstoi64 wcstoll //* convers a string to an 64bit bit integer
++        	#define _tcstoi64 std::wcstoll //* convers a string to an 64bit bit integer
+         #else
+         	#define _tcstoi64 strtoll
+         #endif
diff --git a/pkgs/development/libraries/directfb/default.nix b/pkgs/development/libraries/directfb/default.nix
index 6326efe1adb8..54fb0aa49321 100644
--- a/pkgs/development/libraries/directfb/default.nix
+++ b/pkgs/development/libraries/directfb/default.nix
@@ -2,12 +2,18 @@
 , enableX11 ? true, xlibs
 , enableSDL ? true, SDL }:
 
-let s = import ./src-for-default.nix; in
+let s = 
+rec {
+   version = "1.7.6";
+   name="directfb-${version}";
+   sha256 = "1qf94vgsbcwfa00x2aqd6795n6z43x4ghclmb4sa4bl4zfn2pws4";
+   url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
+}
+; in
 stdenv.mkDerivation {
   inherit (s) name;
   src = fetchurl {
-    url = s.url;
-    sha256 = s.hash;
+    inherit (s) url sha256;
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/directfb/default.upstream b/pkgs/development/libraries/directfb/default.upstream
new file mode 100644
index 000000000000..ef4ed8e490d1
--- /dev/null
+++ b/pkgs/development/libraries/directfb/default.upstream
@@ -0,0 +1,3 @@
+url 'http://directfb.org/index.php?path=Main%2FDownloads'
+version_link 'DirectFB-[0-9]'
+minimize_overwrite
diff --git a/pkgs/development/libraries/directfb/src-for-default.nix b/pkgs/development/libraries/directfb/src-for-default.nix
deleted file mode 100644
index ed03b758b756..000000000000
--- a/pkgs/development/libraries/directfb/src-for-default.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-rec {
-   version="1.7.6";
-   name="directfb-${version}";
-   hash="1qf94vgsbcwfa00x2aqd6795n6z43x4ghclmb4sa4bl4zfn2pws4";
-   url="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-${version}.tar.gz";
-   advertisedUrl="http://directfb.org/downloads/Core/DirectFB-1.7/DirectFB-1.7.6.tar.gz";
-  
-  
-}
diff --git a/pkgs/development/libraries/directfb/src-info-for-default.nix b/pkgs/development/libraries/directfb/src-info-for-default.nix
deleted file mode 100644
index f8c0f0d1f9b1..000000000000
--- a/pkgs/development/libraries/directfb/src-info-for-default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  baseName = "directfb";
-  downloadPage = "http://directfb.org/index.php?path=Main%2FDownloads";
-  sourceRegexp = ''DirectFB-.*[.]tar[.].*'';
-  choiceCommand = ''tail -1'';
-}
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
index c43942a5f645..07f11d9fa393 100644
--- a/pkgs/development/libraries/double-conversion/default.nix
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -1,19 +1,16 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "double-conversion-1.1.5";
+  version = "2.0.1";
+  name = "double-conversion-${version}";
 
-  src = fetchurl {
-    url = "https://double-conversion.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0hnlyn9r8vd9b3dafnk01ykz4k7bk6xvmvslv93as1cswf7vdvqv";
+  src = fetchFromGitHub {
+    owner = "floitsch";
+    repo = "double-conversion";
+    rev = "v${version}";
+    sha256 = "05x5rdwndgp1vdq2z1bpvng0dd8pn93kw4vhl6nsvv9vsara2q4b";
   };
 
-  unpackPhase = ''
-    mkdir $name
-    cd $name
-    tar xzf $src
-  '';
-
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
@@ -22,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Binary-decimal and decimal-binary routines for IEEE doubles";
-    homepage = https://code.google.com/p/double-conversion/;
+    homepage = https://github.com/floitsch/double-conversion;
     license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = maintainers.abbradar;
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 758f687fb73b..fc8ed42c640a 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, cmake}:
 
 let
-  version = "3.2.3";
+  version = "3.2.4";
 in
 stdenv.mkDerivation {
   name = "eigen-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
     name = "eigen-${version}.tar.gz";
-    sha256 = "14l5hlgxxymwyava5mx97ipyk3ma3alaj586aaz1xh1r700a7sxm";
+    sha256 = "19c6as664a3kxvkhas2cq19r6ag19jw9lcz04sc0kza6i1hlh9xv";
   };
   
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/folly/105.patch b/pkgs/development/libraries/folly/105.patch
deleted file mode 100644
index bfc92b39ae39..000000000000
--- a/pkgs/development/libraries/folly/105.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 30b8bb70e0fdcc0b85abbfebf43ed9f127db5248 Mon Sep 17 00:00:00 2001
-From: Johnny Robeson <johnny@localmomentum.net>
-Date: Mon, 1 Dec 2014 23:26:27 -0500
-Subject: [PATCH] include gflags header in SSLSessionCacheManager
-
-this is one way to solve #104
----
- folly/experimental/wangle/ssl/SSLSessionCacheManager.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/folly/experimental/wangle/ssl/SSLSessionCacheManager.cpp b/folly/experimental/wangle/ssl/SSLSessionCacheManager.cpp
-index fc339a1..ca18242 100644
---- folly/experimental/wangle/ssl/SSLSessionCacheManager.cpp
-+++ folly/experimental/wangle/ssl/SSLSessionCacheManager.cpp
-@@ -7,6 +7,7 @@
-  *  of patent rights can be found in the PATENTS file in the same directory.
-  *
-  */
-+#include <gflags/gflags.h>
- #include <folly/experimental/wangle/ssl/SSLSessionCacheManager.h>
- 
- #include <folly/experimental/wangle/ssl/SSLCacheProvider.h>
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 66d4f73096b8..e2ac798d203e 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchgit, autoreconfHook, boost, libevent, double_conversion, glog
+{ stdenv, fetchFromGitHub, autoreconfHook, boost, libevent, double_conversion, glog
 , google-gflags, python, libiberty, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "folly-17";
-
-  src = fetchgit {
-    url = "https://github.com/facebook/folly";
-    rev = "2c2d5777cd2551397a920007589fd3adba6cb7ab";
-    sha256 = "13mfnv04ckkr2syigaaxrbaxmfiwqvn0a7fjxvdi6dii3fx81rsx";
+  version = "0.22.0";
+  name = "folly-${version}";
+
+  src = fetchFromGitHub {
+    owner = "facebook";
+    repo = "folly";
+    rev = "v${version}";
+    sha256 = "12p7vbx73jmhf772nbqvd8imw4ihpi16cw6cwxq459r7qds4n0ca";
   };
 
-  patches = [ ./105.patch ];
-
   buildInputs = [ libiberty boost.lib libevent double_conversion glog google-gflags openssl ];
 
   nativeBuildInputs = [ autoreconfHook python boost ];
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index e9495b796dd2..5e1282c1d505 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation (rec {
 
   nativeBuildInputs = [ m4 ];
 
+  patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
+
   configureFlags =
     # Build a "fat binary", with routines for several sub-architectures
     # (x86), except on Solaris where some tests crash with "Memory fault".
diff --git a/pkgs/development/libraries/gmp/need-size-t.patch b/pkgs/development/libraries/gmp/need-size-t.patch
new file mode 100644
index 000000000000..c4ba086182a9
--- /dev/null
+++ b/pkgs/development/libraries/gmp/need-size-t.patch
@@ -0,0 +1,18 @@
+diff --git a/gmp-h.in b/gmp-h.in
+index 7deb67a..240d663 100644
+--- a/gmp-h.in
++++ b/gmp-h.in
+@@ -46,13 +46,11 @@ along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
+ #ifndef __GNU_MP__
+ #define __GNU_MP__ 5
+ 
+-#define __need_size_t  /* tell gcc stddef.h we only want size_t */
+ #if defined (__cplusplus)
+ #include <cstddef>     /* for size_t */
+ #else
+ #include <stddef.h>    /* for size_t */
+ #endif
+-#undef __need_size_t
+ 
+ /* Instantiated by configure. */
+ #if ! defined (__GMP_WITHIN_CONFIGURE)
diff --git a/pkgs/development/libraries/haskell/monad-journal/default.nix b/pkgs/development/libraries/haskell/monad-journal/default.nix
index ebf02e5e46d1..c95adce3fcc2 100644
--- a/pkgs/development/libraries/haskell/monad-journal/default.nix
+++ b/pkgs/development/libraries/haskell/monad-journal/default.nix
@@ -5,8 +5,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-journal";
-  version = "0.5.0.1";
-  sha256 = "1rxmz6hx8kh8sw497h4kpxkvhgaa7jbzif7qssjqijyfmghsxh80";
+  version = "0.7";
+  sha256 = "1bfm5p027vf8dz92m6s47z06h05j2jv4pbwkl31svrz5pi5a9lz2";
   buildDepends = [
     either monadControl mtl transformers transformersBase
   ];
diff --git a/pkgs/development/libraries/haskell/monad-logger/default.nix b/pkgs/development/libraries/haskell/monad-logger/default.nix
index 68e3c0164c08..7988819b81cd 100644
--- a/pkgs/development/libraries/haskell/monad-logger/default.nix
+++ b/pkgs/development/libraries/haskell/monad-logger/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "monad-logger";
-  version = "0.3.11";
-  sha256 = "0ydxv4pdq660dh3cdmsd5lgjkfhh7c62kb5vcl8jl6qmjf8kvmdq";
+  version = "0.3.11.1";
+  sha256 = "1vh847ivymhb20sly9aplcm35zcmn7xmibv8lkv1ws9y7s1951p7";
   buildDepends = [
     blazeBuilder conduit conduitExtra exceptions fastLogger liftedBase
     monadControl monadLoops mtl resourcet stm stmChans text
diff --git a/pkgs/development/libraries/haskell/scotty/default.nix b/pkgs/development/libraries/haskell/scotty/default.nix
index 4985f09b38ee..1e184577a66b 100644
--- a/pkgs/development/libraries/haskell/scotty/default.nix
+++ b/pkgs/development/libraries/haskell/scotty/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "scotty";
-  version = "0.9.0";
-  sha256 = "0gx00k5w4cs68bh3ciplkwhzh2412y6wqg0qdsslnnsb41l5kb1d";
+  version = "0.9.1";
+  sha256 = "0w07ghnd7l8ibfbl8p74lwn8gxy3z28mp0rlv5crma3yh42irsqm";
   buildDepends = [
     aeson blazeBuilder caseInsensitive dataDefault httpTypes
     monadControl mtl regexCompat text transformers transformersBase wai
diff --git a/pkgs/development/libraries/haskell/yi-language/default.nix b/pkgs/development/libraries/haskell/yi-language/default.nix
index d7a6a688d30e..ec5070cac995 100644
--- a/pkgs/development/libraries/haskell/yi-language/default.nix
+++ b/pkgs/development/libraries/haskell/yi-language/default.nix
@@ -7,8 +7,8 @@
 
 cabal.mkDerivation (self: {
   pname = "yi-language";
-  version = "0.1.0.8";
-  sha256 = "1lzn1yswrh72lqvc5xcna2xjv5zs3x1mzc1ijkqjl84nvqcabj60";
+  version = "0.1.1.0";
+  sha256 = "1gsh0njslncfh0r5wg1rq9w4f03ixkk5grd9zigkspsndhij7379";
   buildDepends = [
     binary dataDefault derive hashable lens ooPrototypes pointedlist
     regexBase regexTdfa transformersBase unorderedContainers
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
new file mode 100644
index 000000000000..bfa7675034a5
--- /dev/null
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -0,0 +1,422 @@
+/* hunspell dictionaries */
+
+{ stdenv, fetchurl, unzip }:
+
+with stdenv.lib;
+
+let
+
+  mkDict =
+  { name, src, meta, readmeFile, dictFileName, ... }:
+  let
+    isFrench = hasSuffix "fr_" dictFileName;
+    isItaly = hasSuffix "it_" dictFileName;
+    isSpanish = hasSuffix "es_" dictFileName;
+    isEnglish = hasSuffix "en_" dictFileName;
+  in
+  stdenv.mkDerivation rec {
+    inherit name src meta;
+    buildInputs = [ unzip ];
+    sourceRoot = ".";
+    phases = "unpackPhase installPhase" + (if isItaly then "patchPhase" else "");
+    unpackCmd = "unzip $src ${readmeFile} ${dictFileName}.dic ${dictFileName}.aff";
+    prePatch = if isItaly then ''
+    # Fix dic file empty lines (FS#22275)
+    sed '/^\/$/d' -i it_IT.dic
+    '' else "";
+
+    installPhase = ''
+      # hunspell dicts
+      install -dm755 "$out/share/hunspell"
+      install -m644 ${dictFileName}.dic "$out/share/hunspell/"
+      install -m644 ${dictFileName}.aff "$out/share/hunspell/"
+      # myspell dicts symlinks
+      install -dm755 "$out/share/myspell/dicts"
+      ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
+      ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
+      # docs
+      install -dm755 "$out/share/doc"
+      install -m644 ${readmeFile} $out/share/doc/${name}.txt
+    '';
+  };
+
+  mkDictFromRedIRIS =
+    { shortName, shortDescription, dictFileName, src }:
+    mkDict rec {
+      inherit src dictFileName;
+      version = "0.7";
+      name = "hunspell-dict-${shortName}-rediris-${version}";
+      readmeFile = "README.txt";
+      meta = with stdenv.lib; {
+        description = "Hunspell dictionary for ${shortDescription} from RedIRIS";
+        homepage = https://forja.rediris.es/projects/rla-es/;
+        license = with licenses; [ gpl3 lgpl3 mpl11 ];
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+  mkDictFromDicollecte =
+    { shortName, shortDescription, longDescription, dictFileName }:
+    mkDict rec {
+      inherit dictFileName;
+      version = "5.2";
+      name = "hunspell-dict-${shortName}-dicollecte-${version}";
+      readmeFile = "README_dict_fr.txt";
+      src = fetchurl {
+         url = "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v${version}.zip";
+         sha256 = "c5863f7592a8c4defe8b4ed2b3b45f6f10ef265d34ae9881c1f3bbb3b80bdd02";
+      };
+      meta = with stdenv.lib; {
+        inherit longDescription;
+        description = "Hunspell dictionary for ${shortDescription} from Dicollecte";
+        homepage = http://www.dicollecte.org/home.php?prj=fr;
+        license = licenses.mpl20;
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+  mkDictFromWordlist =
+    { shortName, shortDescription, dictFileName, src }:
+    mkDict rec {
+      inherit src dictFileName;
+      version = "2014.11.17";
+      name = "hunspell-dict-${shortName}-wordlist-${version}";
+      readmeFile = "README_" + dictFileName + ".txt";
+      meta = with stdenv.lib; {
+        description = "Hunspell dictionary for ${shortDescription} from Wordlist";
+        homepage =http://wordlist.aspell.net/;
+        license = licenses.bsd3;
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+  mkLinguistico =
+    { shortName, shortDescription, dictFileName, src }:
+    mkDict rec {
+      inherit src dictFileName;
+      version = "2.4";
+      name = "hunspell-dict-${shortName}-linguistico-${version}";
+      readmeFile = dictFileName + "_README.txt";
+      meta = with stdenv.lib; {
+        homepage = http://sourceforge.net/projects/linguistico/;
+        license = licenses.gpl3;
+        maintainers = with maintainers; [ renzo ];
+        platforms = platforms.all;
+      };
+    };
+
+in {
+
+  /* ENGLISH */
+
+  en-us = mkDictFromWordlist {
+    shortName = "en-us";
+    shortDescription = "English (United States)";
+    dictFileName = "en_US";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_US-2014.11.17.zip;
+      sha256 = "4ce88a1af457ce0e256110277a150e5da798213f611929438db059c1c81e20f2";
+    };
+  };
+
+  en-ca = mkDictFromWordlist {
+    shortName = "en-ca";
+    shortDescription = "English (Canada)";
+    dictFileName = "en_CA";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_CA-2014.11.17.zip;
+      sha256 = "59950448440657a6fc3ede15720c1b86c0b66c4ec734bf1bd9157f6a1786673b";
+    };
+  };
+
+  en-gb-ise = mkDictFromWordlist {
+    shortName = "en-gb-ise";
+    shortDescription = "English (United Kingdom, 'ise' ending)";
+    dictFileName = "en_GB-ise";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_GB-ise-2014.11.17.zip;
+      sha256 = "97f3b25102fcadd626ae4af3cdd97f017ce39264494f98b1f36ad7d96b9d5a94";
+    };
+  };
+
+  en-gb-ize = mkDictFromWordlist {
+    shortName = "en-gb-ize";
+    shortDescription = "English (United Kingdom, 'ize' ending)";
+    dictFileName = "en_GB-ize";
+    src = fetchurl {
+      url = mirror://sourceforge/wordlist/speller/2014.11.17/hunspell-en_GB-ize-2014.11.17.zip;
+      sha256 = "84270673ed7c014445f3ba02f9efdb0ac44cea9ee0bfec76e3e10feae55c4e1c";
+    };
+  };
+
+  /* SPANISH */
+
+  es-any = mkDictFromRedIRIS {
+    shortName = "es-any";
+    shortDescription = "Spanish (any variant)";
+    dictFileName = "es_ANY";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2933/es_ANY.oxt;
+      md5 = "e3d4b38f280e7376178529db2ece982b";
+    };
+  };
+
+  es-ar = mkDictFromRedIRIS {
+    shortName = "es-ar";
+    shortDescription = "Spanish (Argentina)";
+    dictFileName = "es_AR";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2953/es_AR.oxt;
+      md5 = "68ee8f4ebc89a1fa461045d4dbb9b7be";
+    };
+  };
+
+  es-bo = mkDictFromRedIRIS {
+    shortName = "es-bo";
+    shortDescription = "Spanish (Bolivia)";
+    dictFileName = "es_BO";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2952/es_BO.oxt;
+      md5 = "1ebf11b6094e0bfece8e95cc34e7a409";
+    };
+  };
+
+  es-cl = mkDictFromRedIRIS {
+    shortName = "es-cl";
+    shortDescription = "Spanish (Chile)";
+    dictFileName = "es_CL";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2951/es_CL.oxt;
+      md5 = "092a388101350b77af4fd789668582bd";
+    };
+  };
+
+  es-co = mkDictFromRedIRIS {
+    shortName = "es-co";
+    shortDescription = "Spanish (Colombia)";
+    dictFileName = "es_CO";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2950/es_CO.oxt;
+      md5 = "fc440fd9fc55ca2dfb9bfa34a1e63864";
+    };
+  };
+
+  es-cr = mkDictFromRedIRIS {
+    shortName = "es-cr";
+    shortDescription = "Spanish (Costra Rica)";
+    dictFileName = "es_CR";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2949/es_CR.oxt;
+      md5 = "7510fd0f4eb3c6e65523a8d0960f77dd";
+    };
+  };
+
+  es-cu = mkDictFromRedIRIS {
+    shortName = "es-cu";
+    shortDescription = "Spanish (Cuba)";
+    dictFileName = "es_CU";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2948/es_CU.oxt;
+      md5 = "0ab4b9638f58ddd3d95d1265918ff39e";
+    };
+  };
+
+  es-do = mkDictFromRedIRIS {
+    shortName = "es-do";
+    shortDescription = "Spanish (Dominican Republic)";
+    dictFileName = "es_DO";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2947/es_DO.oxt;
+      md5 = "24a20fd4d887693afef539e6f1a3b58e";
+    };
+  };
+
+  es-ec = mkDictFromRedIRIS {
+    shortName = "es-ec";
+    shortDescription = "Spanish (Ecuador)";
+    dictFileName = "es_EC";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2946/es_EC.oxt;
+      md5 = "5d7343a246323ceda58cfbbf1428e279";
+    };
+  };
+
+  es-es = mkDictFromRedIRIS {
+    shortName = "es-es";
+    shortDescription = "Spanish (Spain)";
+    dictFileName = "es_ES";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2945/es_ES.oxt;
+      md5 = "59dd45e6785ed644adbbd73f4f126182";
+    };
+  };
+
+  es-gt = mkDictFromRedIRIS {
+    shortName = "es-gt";
+    shortDescription = "Spanish (Guatemala)";
+    dictFileName = "es_GT";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2944/es_GT.oxt;
+      md5 = "b1a9be80687e3117c67ac46aad6b8d66";
+    };
+  };
+
+  es-hn = mkDictFromRedIRIS {
+    shortName = "es-hn";
+    shortDescription = "Spanish (Honduras)";
+    dictFileName = "es_HN";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2943/es_HN.oxt;
+      md5 = "d0db5bebd6925738b524de9709950f22";
+    };
+  };
+
+  es-mx = mkDictFromRedIRIS {
+    shortName = "es-mx";
+    shortDescription = "Spanish (Mexico)";
+    dictFileName = "es_MX";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2942/es_MX.oxt;
+      md5 = "0de780714f84955112f38f35fb63a894";
+    };
+  };
+
+  es-ni = mkDictFromRedIRIS {
+    shortName = "es-ni";
+    shortDescription = "Spanish (Nicaragua)";
+    dictFileName = "es_NI";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2941/es_NI.oxt;
+      md5 = "d259d7be17c34df76c7de40c80720a39";
+    };
+  };
+
+  es-pa = mkDictFromRedIRIS {
+    shortName = "es-pa";
+    shortDescription = "Spanish (Panama)";
+    dictFileName = "es_PA";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2940/es_PA.oxt;
+      md5 = "085fbdbed6a2e248630c801881563b7a";
+    };
+  };
+
+  es-pe = mkDictFromRedIRIS {
+    shortName = "es-pe";
+    shortDescription = "Spanish (Peru)";
+    dictFileName = "es_PE";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2939/es_PE.oxt;
+      md5 = "f4673063246888995d4eaa2d4a24ee3d";
+    };
+  };
+
+  es-pr = mkDictFromRedIRIS {
+    shortName = "es-pr";
+    shortDescription = "Spanish (Puerto Rico)";
+    dictFileName = "es_PR";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2938/es_PR.oxt;
+      md5 = "e67bcf891ba9eeaeb57a60ec8e57f1ac";
+    };
+  };
+
+  es-py = mkDictFromRedIRIS {
+    shortName = "es-py";
+    shortDescription = "Spanish (Paraguay)";
+    dictFileName = "es_PY";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2937/es_PY.oxt;
+      md5 = "ba98e3197c81db4c572def2c5cca942d";
+    };
+  };
+
+  es-sv = mkDictFromRedIRIS {
+    shortName = "es-sv";
+    shortDescription = "Spanish (El Salvador)";
+    dictFileName = "es_SV";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2936/es_SV.oxt;
+      md5 = "c68ca9d188cb23c88cdd34a069c5a013";
+    };
+  };
+
+  es-uy = mkDictFromRedIRIS {
+    shortName = "es-uy";
+    shortDescription = "Spanish (Uruguay)";
+    dictFileName = "es_UY";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2935/es_UY.oxt;
+      md5 = "aeb9d39e4d17e9c904c1f3567178aad6";
+    };
+  };
+
+  es-ve = mkDictFromRedIRIS {
+    shortName = "es-ve";
+    shortDescription = "Spanish (Venezuela)";
+    dictFileName = "es_VE";
+    src = fetchurl {
+      url = http://forja.rediris.es/frs/download.php/2934/es_VE.oxt;
+      md5 = "8afa9619aede2d9708e799e0f5d0fcab";
+    };
+  };
+
+  /* FRENCH */
+
+  fr-any = mkDictFromDicollecte {
+    shortName = "fr-any";
+    dictFileName = "fr-toutesvariantes";
+    shortDescription = "French (any variant)";
+    longDescription = ''
+      Ce dictionnaire contient les nouvelles et les anciennes graphies des
+      mots concernés par la réforme de 1990.
+    '';
+  };
+
+  fr-classique = mkDictFromDicollecte {
+    shortName = "fr-classique";
+    dictFileName = "fr-classique";
+    shortDescription = "French (classic)";
+    longDescription = ''
+      Ce dictionnaire est une extension du dictionnaire «Moderne» et propose
+      en sus des graphies alternatives, parfois encore très usitées, parfois
+      tombées en désuétude.
+    '';
+  };
+
+  fr-moderne = mkDictFromDicollecte {
+    shortName = "fr-moderne";
+    dictFileName = "fr-moderne";
+    shortDescription = "French (modern)";
+    longDescription = ''
+      Ce dictionnaire propose une sélection des graphies classiques et
+      réformées, suivant la lente évolution de l’orthographe actuelle. Ce
+      dictionnaire contient les graphies les moins polémiques de la réforme.
+    '';
+  };
+
+  fr-reforme1990 = mkDictFromDicollecte {
+    shortName = "fr-reforme1990";
+    dictFileName = "fr-reforme1990";
+    shortDescription = "French (1990 reform)";
+    longDescription = ''
+      Ce dictionnaire ne connaît que les graphies nouvelles des mots concernés
+      par la réforme de 1990.
+    '';
+  };
+
+  /* ITALIAN */
+
+  it-it =  mkLinguistico rec {
+    shortName = "it-it";
+    dictFileName = "it_IT";
+    shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
+    src = fetchurl {
+      url = mirror://sourceforge/linguistico/italiano_2_4_2007_09_01.zip;
+      md5 = "e7fbd9e2dfb25ea3288cdb918e1e1260";
+    };
+  };
+}
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 94e6cba4ee4c..7b86403b0aaf 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, unzip, xlibs, libjpeg}:
+{ stdenv, fetchurl, unzip, xlibs, libjpeg }:
 
 stdenv.mkDerivation rec {
   name = "jasper-1.900.1";
@@ -9,8 +9,11 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    ./jasper-CVE-2014-8137-variant2.diff ./jasper-CVE-2014-8137-noabort.diff
+    ./jasper-CVE-2014-8137-variant2.diff
+    ./jasper-CVE-2014-8137-noabort.diff
     ./jasper-CVE-2014-8138.diff
+    ./jasper-CVE-2014-8157.diff
+    ./jasper-CVE-2014-8158.diff
     ./jasper-CVE-2014-9029.diff
   ];
 
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff
new file mode 100644
index 000000000000..ebfc1b2d0f25
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8157.diff
@@ -0,0 +1,12 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157	2015-01-19 16:59:36.000000000 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c	2015-01-19 17:07:41.609863268 +0100
+@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t
+ 		dec->curtileendoff = 0;
+ 	}
+ 
+-	if (JAS_CAST(int, sot->tileno) > dec->numtiles) {
++	if (JAS_CAST(int, sot->tileno) >= dec->numtiles) {
+ 		jas_eprintf("invalid tile number in SOT marker segment\n");
+ 		return -1;
+ 	}
diff --git a/pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff b/pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff
new file mode 100644
index 000000000000..ce9e4b497f39
--- /dev/null
+++ b/pkgs/development/libraries/jasper/jasper-CVE-2014-8158.diff
@@ -0,0 +1,329 @@
+diff -up jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c
+--- jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158	2015-01-19 17:25:28.730195502 +0100
++++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c	2015-01-19 17:27:20.214663127 +0100
+@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+@@ -318,7 +314,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ 	register int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -326,7 +321,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numcols >= 2) {
+ 		hstartcol = (numcols + 1 - parity) >> 1;
+@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+@@ -386,7 +374,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ 	register int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -394,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numrows >= 2) {
+ 		hstartcol = (numrows + 1 - parity) >> 1;
+@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -457,7 +437,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ 	int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -465,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numrows >= 2) {
+ 		hstartcol = (numrows + 1 - parity) >> 1;
+@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a,
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t splitbuf[bufsize * numcols];
+-#endif
+ 	jpc_fix_t *buf = splitbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -546,7 +518,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ 	int m;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Get a buffer. */
+ 	if (bufsize > QMFB_SPLITBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -554,7 +525,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	if (numrows >= 2) {
+ 		hstartcol = (numrows + 1 - parity) >> 1;
+@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a,
+ 		}
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the split buffer was allocated on the heap, free this memory. */
+ 	if (buf != splitbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -619,18 +587,13 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numcols, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+ 	register int n;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -638,7 +601,6 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numcols + 1 - parity) >> 1;
+ 
+@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int
+ 		++srcptr;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -684,18 +644,13 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	register jpc_fix_t *srcptr;
+ 	register jpc_fix_t *dstptr;
+ 	register int n;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) {
+@@ -703,7 +658,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numrows + 1 - parity) >> 1;
+ 
+@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int
+ 		++srcptr;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -763,7 +711,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ 	register int i;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) {
+@@ -771,7 +718,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numrows + 1 - parity) >> 1;
+ 
+@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a,
+ 		srcptr += JPC_QMFB_COLGRPSIZE;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
+@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ {
+ 
+ 	int bufsize = JPC_CEILDIVPOW2(numrows, 1);
+-#if !defined(HAVE_VLA)
+ 	jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE];
+-#else
+-	jpc_fix_t joinbuf[bufsize * numcols];
+-#endif
+ 	jpc_fix_t *buf = joinbuf;
+ 	jpc_fix_t *srcptr;
+ 	jpc_fix_t *dstptr;
+@@ -849,7 +789,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ 	register int i;
+ 	int hstartcol;
+ 
+-#if !defined(HAVE_VLA)
+ 	/* Allocate memory for the join buffer from the heap. */
+ 	if (bufsize > QMFB_JOINBUFSIZE) {
+ 		if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) {
+@@ -857,7 +796,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ 			abort();
+ 		}
+ 	}
+-#endif
+ 
+ 	hstartcol = (numrows + 1 - parity) >> 1;
+ 
+@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a,
+ 		srcptr += numcols;
+ 	}
+ 
+-#if !defined(HAVE_VLA)
+ 	/* If the join buffer was allocated on the heap, free this memory. */
+ 	if (buf != joinbuf) {
+ 		jas_free(buf);
+ 	}
+-#endif
+ 
+ }
+ 
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
index 633b88b038b0..a7583c8d062e 100644
--- a/pkgs/development/libraries/ldb/default.nix
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -6,7 +6,10 @@ stdenv.mkDerivation rec {
   name = "ldb-1.1.19";
 
   src = fetchurl {
-    url = "http://samba.org/ftp/ldb/${name}.tar.gz";
+    urls = [
+      "http://samba.org/ftp/ldb/${name}.tar.gz"
+      "http://distfiles.exherbo.org/distfiles/${name}.tar.gz"
+    ];
     sha256 = "1p2815z9sjack08pcdbv4xzp1fvr4lxcn30rj0wh3py4ly6ji1h0";
   };
 
diff --git a/pkgs/development/libraries/libaacs/default.nix b/pkgs/development/libraries/libaacs/default.nix
index d8ace22bc2d8..717dae8fb256 100644
--- a/pkgs/development/libraries/libaacs/default.nix
+++ b/pkgs/development/libraries/libaacs/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libgcrypt}:
+{ stdenv, fetchurl, libgcrypt, yacc, flex }:
 
 # library that allows libbluray to play AACS protected bluray disks
 # libaacs does not infringe DRM's right or copyright. See the legal page of the website for more info.
@@ -9,7 +9,7 @@
 
 
 let baseName = "libaacs";
-    version  = "0.3.0";
+    version  = "0.8.0";
 in
 
 stdenv.mkDerivation {
@@ -17,14 +17,17 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.videolan.org/pub/videolan/${baseName}/${version}/${baseName}-${version}.tar.bz2";
-    sha256 = "bf92dab1a6a8ee08a55e8cf347c2cda49e6535b52e85bb1e92e1cfcc8ecec22c";
+    sha256 = "155sah8z4vbp6j3sq9b17mcn6rj1938ijszz97m8pd2cgif58i2y";
   };
 
-  buildInputs = [libgcrypt];
+  buildInputs = [ libgcrypt ];
 
-  meta = {
+  nativeBuildInputs = [ yacc flex ];
+
+  meta = with stdenv.lib; {
     homepage = http://www.videolan.org/developers/libbluray.html;
     description = "Library to access Blu-Ray disks for video playback";
-    license = stdenv.lib.licenses.lgpl21;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/libbluray/A01-filter-dup.patch b/pkgs/development/libraries/libbluray/A01-filter-dup.patch
deleted file mode 100644
index 608f8dd1b49e..000000000000
--- a/pkgs/development/libraries/libbluray/A01-filter-dup.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/src/libbluray/bdnav/navigation.c b/src/libbluray/bdnav/navigation.c
-index c8dc307..26d0000 100644
---- a/src/libbluray/bdnav/navigation.c
-+++ b/src/libbluray/bdnav/navigation.c
-@@ -32,9 +32,25 @@
- #include <stdlib.h>
- #include <string.h>
- 
-+static int _stream_cmp(MPLS_STREAM *a, MPLS_STREAM *b)
-+{
-+    if (a->stream_type == b->stream_type &&
-+        a->coding_type == b->coding_type &&
-+        a->pid         == b->pid         &&
-+        a->subpath_id  == b->subpath_id  &&
-+        a->subclip_id  == b->subclip_id  &&
-+        a->format      == b->format      &&
-+        a->rate        == b->rate        &&
-+        a->char_code   == b->char_code   &&
-+        memcmp(a->lang, b->lang, 4) == 0) {
-+        return 1;
-+    }
-+    return 0;
-+}
-+
- static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
- {
--    unsigned ii, jj;
-+    unsigned ii, jj, kk;
- 
-     for (ii = 0; ii < count; ii++) {
-         if (pl->list_count != pl_list[ii]->list_count) {
-@@ -54,7 +70,48 @@ static int _filter_dup(MPLS_PL *pl_list[], unsigned count, MPLS_PL *pl)
-                 pi1->out_time != pi2->out_time) {
-                 break;
-             }
-+            if (pi1->stn.num_video           != pi2->stn.num_video           ||
-+                pi1->stn.num_audio           != pi2->stn.num_audio           ||
-+                pi1->stn.num_pg              != pi2->stn.num_pg              || 
-+                pi1->stn.num_ig              != pi2->stn.num_ig              ||
-+                pi1->stn.num_secondary_audio != pi2->stn.num_secondary_audio ||
-+                pi1->stn.num_secondary_video != pi2->stn.num_secondary_video) {
-+                break;
-+            }
-+            for (kk = 0; kk < pi1->stn.num_video; kk++) {
-+                if (!_stream_cmp(&pi1->stn.video[kk], &pi2->stn.video[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_audio; kk++) {
-+                if (!_stream_cmp(&pi1->stn.audio[kk], &pi2->stn.audio[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_pg; kk++) {
-+                if (!_stream_cmp(&pi1->stn.pg[kk], &pi2->stn.pg[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_ig; kk++) {
-+                if (!_stream_cmp(&pi1->stn.ig[kk], &pi2->stn.ig[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_secondary_audio; kk++) {
-+                if (!_stream_cmp(&pi1->stn.secondary_audio[kk],
-+                                 &pi2->stn.secondary_audio[kk])) {
-+                    goto next;
-+                }
-+            }
-+            for (kk = 0; kk < pi1->stn.num_secondary_video; kk++) {
-+                if (!_stream_cmp(&pi1->stn.secondary_video[kk],
-+                                 &pi2->stn.secondary_video[kk])) {
-+                    goto next;
-+                }
-+            }
-         }
-+next:
-         if (jj != pl->list_count) {
-             continue;
-         }
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index b1a937c1a012..3bcf62036ab8 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchurl, pkgconfig, fontconfig
 , withAACS ? false, libaacs ? null, jdk ? null, ant ? null
 , withMetadata ? true, libxml2 ? null
 , withFonts ? true, freetype ? null
@@ -13,12 +13,12 @@ assert withFonts -> freetype != null;
 
 stdenv.mkDerivation rec {
   baseName = "libbluray";
-  version  = "0.6.2";
+  version  = "0.7.0";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "ftp://ftp.videolan.org/pub/videolan/${baseName}/${version}/${name}.tar.bz2";
-    sha256 = "1l2wr9mwz5pikqxlxkjfw3rwz0l1j0n7x9hl80sfiqm1lk41194c";
+    sha256 = "13dngs4b4cv29f6b825dq14n77mfhvk1kjb42axpq494pfgyp6zp";
   };
 
   nativeBuildInputs = with stdenv.lib;
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
                       ;
 
   buildInputs =  with stdenv.lib;
-                 optionals withAACS [jdk libaacs]
+                 [fontconfig]
+              ++ optionals withAACS [jdk libaacs]
               ++ optional withMetadata libxml2
               ++ optional withFonts freetype
               ;
diff --git a/pkgs/development/libraries/libc++abi/default.nix b/pkgs/development/libraries/libc++abi/default.nix
deleted file mode 100644
index cbfe8e8f6659..000000000000
--- a/pkgs/development/libraries/libc++abi/default.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ lib, stdenv, fetchurl, libcxx, coreutils, gnused }:
-
-let rev = "199626"; in
-
-stdenv.mkDerivation {
-  name = "libc++abi-${rev}";
-
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/libcxxabi-${rev}.tar.bz2";
-    sha256 = "09wr6qwgmdzbmgfkdzfhph9giy0zd6fp3s017fcfy4g0prjn5s4c";
-  };
-
-  patches = [ ./no-stdc++.patch ./darwin.patch ];
-
-  buildInputs = [ coreutils ];
-
-  postUnpack = ''
-    unpackFile ${libcxx.src}
-    cp -r libcxx-*/include libcxxabi*/
-  '' + lib.optionalString stdenv.isDarwin ''
-    export TRIPLE=x86_64-apple-darwin
-    # Hack: NIX_CFLAGS_COMPILE doesn't work here because clang++ isn't
-    # wrapped at this point.
-    export CXX="clang++ -D_LIBCXX_DYNAMIC_FALLBACK=1"
-    unset SDKROOT
-  '';
-
-  installPhase = if stdenv.isDarwin
-    then ''
-      install -d -m 755 $out/include $out/lib
-      install -m 644 lib/libc++abi.dylib $out/lib
-      install -m 644 include/cxxabi.h $out/include
-    ''
-    else ''
-      install -d -m 755 $out/include $out/lib
-      install -m 644 lib/libc++abi.so.1.0 $out/lib
-      install -m 644 include/cxxabi.h $out/include
-      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
-      ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
-    '';
-
-  buildPhase = "(cd lib; ./buildit)";
-
-  meta = {
-    homepage = http://libcxxabi.llvm.org/;
-    description = "A new implementation of low level support for a standard C++ library";
-    license = "BSD";
-    maintainers = with stdenv.lib.maintainers; [ shlevy vlstill ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
index 6dc384de204b..81264b562b4d 100644
--- a/pkgs/development/libraries/libe-book/default.nix
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libe-book";
-    version="0.1.1";
+    version="0.1.2";
     name="${baseName}-${version}";
-    hash="0awv96q92qgxk22w2vrf4vg90cab5qfsrkbhgz252722mrkd5p4a";
-    url="mirror://sourceforge/project/libebook/libe-book-0.1.1/libe-book-0.1.1.tar.xz";
-    sha256="0awv96q92qgxk22w2vrf4vg90cab5qfsrkbhgz252722mrkd5p4a";
+    hash="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
+    url="mirror://sourceforge/project/libebook/libe-book-0.1.2/libe-book-0.1.2.tar.xz";
+    sha256="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
   };
   buildInputs = [
     gperf pkgconfig librevenge libxml2 boost icu cppunit
diff --git a/pkgs/development/libraries/libfprint/0001-lib-Add-VFS5011-driver.patch b/pkgs/development/libraries/libfprint/0001-lib-Add-VFS5011-driver.patch
deleted file mode 100644
index 48c2f68236ff..000000000000
--- a/pkgs/development/libraries/libfprint/0001-lib-Add-VFS5011-driver.patch
+++ /dev/null
@@ -1,7375 +0,0 @@
-From 2e95092fc6bb023bf934746659f9708e0716376e Mon Sep 17 00:00:00 2001
-From: Arseniy Lartsev <arseniy@chalmers.se>
-Date: Tue, 5 Nov 2013 16:32:15 +0800
-Subject: [PATCH] lib: Add VFS5011 driver
-
-New driver for VFS5011 138a:0011 and 138a:0018
-
-[vasilykh]:
-	- use g_get_real_time() instead of non-portable time()
-	- use g_free() instead of free()
----
- configure.ac                      |   17 +-
- libfprint/Makefile.am             |    6 +
- libfprint/core.c                  |    3 +
- libfprint/drivers/driver_ids.h    |    1 +
- libfprint/drivers/vfs5011.c       | 1016 ++++++
- libfprint/drivers/vfs5011_proto.h | 6186 +++++++++++++++++++++++++++++++++++++
- libfprint/fp_internal.h           |    3 +
- 7 files changed, 7229 insertions(+), 3 deletions(-)
- create mode 100644 libfprint/drivers/vfs5011.c
- create mode 100644 libfprint/drivers/vfs5011_proto.h
-
-diff --git a/configure.ac b/configure.ac
-index 34f2eb1..8126b95 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,10 +1,10 @@
- AC_INIT([libfprint], [0.5.1])
--AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz check-news subdir-objects])
-+AM_INIT_AUTOMAKE([1.13 no-dist-gzip dist-xz check-news subdir-objects])
- AC_CONFIG_MACRO_DIR([m4])
- AC_CONFIG_SRCDIR([libfprint/core.c])
- AC_CONFIG_HEADERS([config.h])
- 
--# Enable silent build when available (Automake 1.11)
-+# Enable silent build when available (Automake 1.13)
- m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
- 
- AC_PREREQ([2.50])
-@@ -23,7 +23,7 @@ AC_SUBST(lt_major)
- AC_SUBST(lt_revision)
- AC_SUBST(lt_age)
- 
--all_drivers="upekts upektc upeksonly vcom5s uru4000 fdu2000 aes1610 aes1660 aes2501 aes2550 aes2660 aes3500 aes4000 vfs101 vfs301 upektc_img etes603"
-+all_drivers="upekts upektc upeksonly vcom5s uru4000 fdu2000 aes1610 aes1660 aes2501 aes2550 aes2660 aes3500 aes4000 vfs101 vfs301 vfs5011 upektc_img etes603"
- 
- require_imaging='no'
- require_aeslib='no'
-@@ -45,6 +45,7 @@ enable_aes3500='no'
- enable_aes4000='no'
- enable_vfs101='no'
- enable_vfs301='no'
-+enable_vfs5011='no'
- enable_upektc_img='no'
- enable_etes603='no'
- 
-@@ -137,6 +138,10 @@ for driver in `echo ${drivers} | sed -e 's/,/ /g' -e 's/,$//g'`; do
- 			AC_DEFINE([ENABLE_VFS301], [], [Build Validity VFS301/VFS300 driver])
- 			enable_vfs301="yes"
- 		;;
-+		vfs5011)
-+			AC_DEFINE([ENABLE_VFS5011], [], [Build Validity VFS5011 driver])
-+			enable_vfs5011="yes"
-+		;;
- 		upektc_img)
- 			AC_DEFINE([ENABLE_UPEKTC_IMG], [], [Build Upek TouchChip Fingerprint Coprocessor driver])
- 			enable_upektc_img="yes"
-@@ -167,6 +172,7 @@ AM_CONDITIONAL([REQUIRE_AESX660], [test "$require_aesX660" = "yes"])
- AM_CONDITIONAL([REQUIRE_AES3K], [test "$require_aes3k" = "yes"])
- AM_CONDITIONAL([ENABLE_VFS101], [test "$enable_vfs101" = "yes"])
- AM_CONDITIONAL([ENABLE_VFS301], [test "$enable_vfs301" = "yes"])
-+AM_CONDITIONAL([ENABLE_VFS5011], [test "$enable_vfs5011" = "yes"])
- AM_CONDITIONAL([ENABLE_UPEKTC_IMG], [test "$enable_upektc_img" = "yes"])
- AM_CONDITIONAL([ENABLE_ETES603], [test "$enable_etes603" = "yes"])
- 
-@@ -375,6 +381,11 @@ if test x$enable_vfs301 != xno ; then
- else
- 	AC_MSG_NOTICE([   vfs301 driver disabled])
- fi
-+if test x$enable_vfs5011 != xno ; then
-+	AC_MSG_NOTICE([** vfs5011 driver enabled])
-+else
-+	AC_MSG_NOTICE([   vfs5011 driver disabled])
-+fi
- if test x$enable_upektc_img != xno ; then
- 	AC_MSG_NOTICE([** upektc_img driver enabled])
- else
-diff --git a/libfprint/Makefile.am b/libfprint/Makefile.am
-index 3c5608c..b57dbe0 100644
---- a/libfprint/Makefile.am
-+++ b/libfprint/Makefile.am
-@@ -18,6 +18,7 @@ FDU2000_SRC = drivers/fdu2000.c
- VCOM5S_SRC = drivers/vcom5s.c
- VFS101_SRC = drivers/vfs101.c
- VFS301_SRC = drivers/vfs301.c drivers/vfs301_proto.c  drivers/vfs301_proto.h drivers/vfs301_proto_fragments.h
-+VFS5011_SRC = drivers/vfs5011.c drivers/vfs5011_proto.h
- UPEKTC_IMG_SRC = drivers/upektc_img.c drivers/upektc_img.h
- ETES603_SRC = drivers/etes603.c
- 
-@@ -38,6 +39,7 @@ EXTRA_DIST = \
- 	$(VCOM5S_SRC)		\
- 	$(VFS101_SRC)		\
- 	$(VFS301_SRC)		\
-+	$(VFS5011_SRC)		\
- 	$(UPEKTC_IMG_SRC)	\
- 	$(ETES603_SRC)		\
- 	drivers/aesx660.c	\
-@@ -168,6 +170,10 @@ if ENABLE_VFS301
- DRIVER_SRC += $(VFS301_SRC)
- endif
- 
-+if ENABLE_VFS5011
-+DRIVER_SRC += $(VFS5011_SRC)
-+endif
-+
- if ENABLE_UPEKTC_IMG
- DRIVER_SRC += $(UPEKTC_IMG_SRC)
- endif
-diff --git a/libfprint/core.c b/libfprint/core.c
-index cde8f48..2ae7649 100644
---- a/libfprint/core.c
-+++ b/libfprint/core.c
-@@ -386,6 +386,9 @@ static struct fp_img_driver * const img_drivers[] = {
- #ifdef ENABLE_VFS301
- 	&vfs301_driver,
- #endif
-+#ifdef ENABLE_VFS5011
-+	&vfs5011_driver,
-+#endif
- #ifdef ENABLE_UPEKTC
- 	&upektc_driver,
- #endif
-diff --git a/libfprint/drivers/driver_ids.h b/libfprint/drivers/driver_ids.h
-index b3c6ee6..4d8414c 100644
---- a/libfprint/drivers/driver_ids.h
-+++ b/libfprint/drivers/driver_ids.h
-@@ -39,6 +39,7 @@ enum {
- 	AES3500_ID	= 16,
- 	UPEKTC_IMG_ID	= 17,
- 	ETES603_ID	= 18,
-+	VFS5011_ID	= 19,
- };
- 
- #endif
-diff --git a/libfprint/drivers/vfs5011.c b/libfprint/drivers/vfs5011.c
-new file mode 100644
-index 0000000..e3a5648
---- /dev/null
-+++ b/libfprint/drivers/vfs5011.c
-@@ -0,0 +1,1016 @@
-+/*
-+ * Validity Sensors, Inc. VFS5011 Fingerprint Reader driver for libfprint
-+ * Copyright (C) 2013 Arseniy Lartsev <arseniy@chalmers.se>
-+ *                    AceLan Kao <acelan.kao@canonical.com>
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ */
-+
-+#include <stdio.h>
-+#include <errno.h>
-+#include <string.h>
-+#include <libusb.h>
-+#include <fp_internal.h>
-+#include "driver_ids.h"
-+
-+#include "vfs5011_proto.h"
-+
-+/* =================== sync/async USB transfer sequence ==================== */
-+
-+enum {
-+	ACTION_SEND,
-+	ACTION_RECEIVE,
-+};
-+
-+struct usb_action {
-+	int type;
-+	const char *name;
-+	int endpoint;
-+	int size;
-+	unsigned char *data;
-+	int correct_reply_size;
-+};
-+
-+#define SEND(ENDPOINT, COMMAND) \
-+{ \
-+	.type = ACTION_SEND, \
-+	.endpoint = ENDPOINT, \
-+	.name = #COMMAND, \
-+	.size = sizeof(COMMAND), \
-+	.data = COMMAND \
-+},
-+
-+#define RECV(ENDPOINT, SIZE) \
-+{ \
-+	.type = ACTION_RECEIVE, \
-+	.endpoint = ENDPOINT, \
-+	.size = SIZE, \
-+	.data = NULL \
-+},
-+
-+#define RECV_CHECK(ENDPOINT, SIZE, EXPECTED) \
-+{ \
-+	.type = ACTION_RECEIVE, \
-+	.endpoint = ENDPOINT, \
-+	.size = SIZE, \
-+	.data = EXPECTED, \
-+	.correct_reply_size = sizeof(EXPECTED) \
-+},
-+
-+struct usbexchange_data {
-+	int stepcount;
-+	struct fp_img_dev *device;
-+	struct usb_action *actions;
-+	void *receive_buf;
-+	int timeout;
-+};
-+
-+static void async_send_cb(struct libusb_transfer *transfer)
-+{
-+	struct fpi_ssm *ssm = transfer->user_data;
-+	struct usbexchange_data *data = (struct usbexchange_data *)ssm->priv;
-+	struct usb_action *action;
-+
-+	if (ssm->cur_state >= data->stepcount) {
-+		fp_err("Radiation detected!");
-+		fpi_imgdev_session_error(data->device, -EINVAL);
-+		fpi_ssm_mark_aborted(ssm, -EINVAL);
-+		goto out;
-+	}
-+
-+	action = &data->actions[ssm->cur_state];
-+	if (action->type != ACTION_SEND) {
-+		fp_err("Radiation detected!");
-+		fpi_imgdev_session_error(data->device, -EINVAL);
-+		fpi_ssm_mark_aborted(ssm, -EINVAL);
-+		goto out;
-+	}
-+
-+	if (transfer->status != LIBUSB_TRANSFER_COMPLETED) {
-+		/* Transfer not completed, return IO error */
-+		fp_err("transfer not completed, status = %d", transfer->status);
-+		fpi_imgdev_session_error(data->device, -EIO);
-+		fpi_ssm_mark_aborted(ssm, -EIO);
-+		goto out;
-+	}
-+	if (transfer->length != transfer->actual_length) {
-+		/* Data sended mismatch with expected, return protocol error */
-+		fp_err("length mismatch, got %d, expected %d",
-+			transfer->actual_length, transfer->length);
-+		fpi_imgdev_session_error(data->device, -EIO);
-+		fpi_ssm_mark_aborted(ssm, -EIO);
-+		goto out;
-+	}
-+
-+	/* success */
-+	fpi_ssm_next_state(ssm);
-+
-+out:
-+	libusb_free_transfer(transfer);
-+}
-+
-+static void async_recv_cb(struct libusb_transfer *transfer)
-+{
-+	struct fpi_ssm *ssm = transfer->user_data;
-+	struct usbexchange_data *data = (struct usbexchange_data *)ssm->priv;
-+	struct usb_action *action;
-+
-+	if (transfer->status != LIBUSB_TRANSFER_COMPLETED) {
-+		/* Transfer not completed, return IO error */
-+		fp_err("transfer not completed, status = %d", transfer->status);
-+		fpi_imgdev_session_error(data->device, -EIO);
-+		fpi_ssm_mark_aborted(ssm, -EIO);
-+		goto out;
-+	}
-+
-+	if (ssm->cur_state >= data->stepcount) {
-+		fp_err("Radiation detected!");
-+		fpi_imgdev_session_error(data->device, -EINVAL);
-+		fpi_ssm_mark_aborted(ssm, -EINVAL);
-+		goto out;
-+	}
-+
-+	action = &data->actions[ssm->cur_state];
-+	if (action->type != ACTION_RECEIVE) {
-+		fp_err("Radiation detected!");
-+		fpi_imgdev_session_error(data->device, -EINVAL);
-+		fpi_ssm_mark_aborted(ssm, -EINVAL);
-+		goto out;
-+	}
-+
-+	if (action->data != NULL) {
-+		if (transfer->actual_length != action->correct_reply_size) {
-+			fp_err("Got %d bytes instead of %d",
-+				transfer->actual_length,
-+				action->correct_reply_size);
-+			fpi_imgdev_session_error(data->device, -EIO);
-+			fpi_ssm_mark_aborted(ssm, -EIO);
-+			goto out;
-+		}
-+		if (memcmp(transfer->buffer, action->data,
-+					action->correct_reply_size) != 0) {
-+			fp_dbg("Wrong reply:");
-+			fpi_imgdev_session_error(data->device, -EIO);
-+			fpi_ssm_mark_aborted(ssm, -EIO);
-+			goto out;
-+		}
-+	} else
-+		fp_dbg("Got %d bytes out of %d", transfer->actual_length,
-+		       transfer->length);
-+
-+	fpi_ssm_next_state(ssm);
-+out:
-+	libusb_free_transfer(transfer);
-+}
-+
-+static void usbexchange_loop(struct fpi_ssm *ssm)
-+{
-+	struct usbexchange_data *data = (struct usbexchange_data *)ssm->priv;
-+	if (ssm->cur_state >= data->stepcount) {
-+		fp_err("Bug detected: state %d out of range, only %d steps",
-+				ssm->cur_state, data->stepcount);
-+		fpi_imgdev_session_error(data->device, -EINVAL);
-+		fpi_ssm_mark_aborted(ssm, -EINVAL);
-+		return;
-+	}
-+
-+	struct usb_action *action = &data->actions[ssm->cur_state];
-+	struct libusb_transfer *transfer;
-+	int ret = -EINVAL;
-+
-+	switch (action->type) {
-+	case ACTION_SEND:
-+		fp_dbg("Sending %s", action->name);
-+		transfer = libusb_alloc_transfer(0);
-+		if (transfer == NULL) {
-+			fp_err("Failed to allocate transfer");
-+			fpi_imgdev_session_error(data->device, -ENOMEM);
-+			fpi_ssm_mark_aborted(ssm, -ENOMEM);
-+			return;
-+		}
-+		libusb_fill_bulk_transfer(transfer, data->device->udev,
-+					  action->endpoint, action->data,
-+					  action->size, async_send_cb, ssm,
-+					  data->timeout);
-+		ret = libusb_submit_transfer(transfer);
-+		break;
-+
-+	case ACTION_RECEIVE:
-+		fp_dbg("Receiving %d bytes", action->size);
-+		transfer = libusb_alloc_transfer(0);
-+		if (transfer == NULL) {
-+			fp_err("Failed to allocate transfer");
-+			fpi_imgdev_session_error(data->device, -ENOMEM);
-+			fpi_ssm_mark_aborted(ssm, -ENOMEM);
-+			return;
-+		}
-+		libusb_fill_bulk_transfer(transfer, data->device->udev,
-+					  action->endpoint, data->receive_buf,
-+					  action->size, async_recv_cb, ssm,
-+					  data->timeout);
-+		ret = libusb_submit_transfer(transfer);
-+		break;
-+
-+	default:
-+		fp_err("Bug detected: invalid action %d", action->type);
-+		fpi_imgdev_session_error(data->device, -EINVAL);
-+		fpi_ssm_mark_aborted(ssm, -EINVAL);
-+		return;
-+	}
-+
-+	if (ret != 0) {
-+		fp_err("USB transfer error: %s", strerror(ret));
-+		fpi_imgdev_session_error(data->device, ret);
-+		fpi_ssm_mark_aborted(ssm, ret);
-+	}
-+}
-+
-+static void usb_exchange_async(struct fpi_ssm *ssm,
-+			       struct usbexchange_data *data)
-+{
-+	struct fpi_ssm *subsm = fpi_ssm_new(data->device->dev,
-+					    usbexchange_loop,
-+					    data->stepcount);
-+	subsm->priv = data;
-+	fpi_ssm_start_subsm(ssm, subsm);
-+}
-+
-+/* ====================== utils ======================= */
-+
-+#if VFS5011_LINE_SIZE > INT_MAX/(256*256)
-+#error We might get integer overflow while computing standard deviation!
-+#endif
-+
-+/* Calculade squared standand deviation */
-+static int get_deviation(unsigned char *buf, int size)
-+{
-+	int res = 0, mean = 0, i;
-+	for (i = 0; i < size; i++)
-+		mean += buf[i];
-+
-+	mean /= size;
-+
-+	for (i = 0; i < size; i++) {
-+		int dev = (int)buf[i] - mean;
-+		res += dev*dev;
-+	}
-+
-+	return res / size;
-+}
-+
-+/* Calculate mean square difference of two lines */
-+static int get_diff_norm(unsigned char *buf1, unsigned char *buf2, int size)
-+{
-+	int res = 0, i;
-+	for (i = 0; i < size; i++) {
-+		int dev = (int)buf1[i] - (int)buf2[i];
-+		res += dev*dev;
-+	}
-+
-+	return res / size;
-+}
-+
-+/* Calculade squared standand deviation of sum of two lines */
-+static int get_deviation2(unsigned char *buf1, unsigned char *buf2, int size)
-+{
-+	int res = 0, mean = 0, i;
-+	for (i = 0; i < size; i++)
-+		mean += (int)buf1[i] + (int)buf2[i];
-+
-+	mean /= size;
-+
-+	for (i = 0; i < size; i++) {
-+		int dev = (int)buf1[i] + (int)buf2[i] - mean;
-+		res += dev*dev;
-+	}
-+
-+	return res / size;
-+}
-+
-+static int cmpint(const void *p1, const void *p2, gpointer data)
-+{
-+	int a = *((int *)p1);
-+	int b = *((int *)p2);
-+	if (a < b)
-+		return -1;
-+	else if (a == b)
-+		return 0;
-+	else
-+		return 1;
-+}
-+
-+static void median_filter(int *data, int size, int filtersize)
-+{
-+	int i;
-+	int *result = (int *)g_malloc0(size*sizeof(int));
-+	int *sortbuf = (int *)g_malloc0(filtersize*sizeof(int));
-+	for (i = 0; i < size; i++) {
-+		int i1 = i - (filtersize-1)/2;
-+		int i2 = i + (filtersize-1)/2;
-+		if (i1 < 0)
-+			i1 = 0;
-+		if (i2 >= size)
-+			i2 = size-1;
-+		g_memmove(sortbuf, data+i1, (i2-i1+1)*sizeof(int));
-+		g_qsort_with_data(sortbuf, i2-i1+1, sizeof(int), cmpint, NULL);
-+		result[i] = sortbuf[(i2-i1+1)/2];
-+	}
-+	memmove(data, result, size*sizeof(int));
-+	g_free(result);
-+	g_free(sortbuf);
-+}
-+
-+void interpolate_lines(unsigned char *line1, float y1, unsigned char *line2,
-+		       float y2, unsigned char *output, float yi, int size)
-+{
-+	int i;
-+	for (i = 0; i < size; i++)
-+		output[i] = (float)line1[i]
-+			    + (yi-y1)/(y2-y1)*(line2[i]-line1[i]);
-+}
-+
-+int min(int a, int b) {return (a < b) ? a : b; }
-+
-+/* Rescale image to account for variable swiping speed */
-+int vfs5011_rescale_image(unsigned char *image, int input_lines,
-+			  unsigned char *output, int max_output_lines)
-+{
-+	/* Number of output lines per distance between two scanners */
-+	enum {
-+		RESOLUTION = 10,
-+		MEDIAN_FILTER_SIZE = 13,
-+		MAX_OFFSET = 10,
-+		GOOD_OFFSETS_CRITERION = 20,
-+		GOOD_OFFSETS_THRESHOLD = 3
-+	};
-+	int i;
-+	float y = 0.0;
-+	int line_ind = 0;
-+	int *offsets = (int *)g_malloc0(input_lines * sizeof(int));
-+#ifdef ENABLE_DEBUG_LOGGING
-+	gint64 start_time = g_get_real_time();
-+#endif
-+
-+	for (i = 0; i < input_lines-1; i += 2) {
-+		int bestmatch = i;
-+		int bestdiff = 0;
-+		int j;
-+
-+		int firstrow, lastrow;
-+		firstrow = i+1;
-+		lastrow = min(i + MAX_OFFSET, input_lines-1);
-+
-+		for (j = firstrow; j <= lastrow; j++) {
-+			int diff = get_deviation2(
-+					image + i*VFS5011_LINE_SIZE + 56,
-+					image + j*VFS5011_LINE_SIZE + 168,
-+					64);
-+			if ((j == firstrow) || (diff < bestdiff)) {
-+				bestdiff = diff;
-+				bestmatch = j;
-+			}
-+		}
-+		offsets[i/2] = bestmatch - i;
-+		fp_dbg("offsets: %llu - %d", start_time, offsets[i/2]);
-+	}
-+
-+	median_filter(offsets, input_lines-1, MEDIAN_FILTER_SIZE);
-+
-+	fp_dbg("offsets_filtered: %llu", g_get_real_time());
-+	for (i = 0; i <= input_lines/2-1; i++)
-+		fp_dbg("%d", offsets[i]);
-+	for (i = 0; i < input_lines-1; i++) {
-+		int offset = offsets[i/2];
-+		if (offset > 0) {
-+			float ynext = y + (float)RESOLUTION / offset;
-+			while (line_ind < ynext) {
-+				if (line_ind > max_output_lines-1) {
-+					g_free(offsets);
-+					return line_ind;
-+				}
-+				interpolate_lines(
-+					image + i*VFS5011_LINE_SIZE + 8, y,
-+					image + (i+1)*VFS5011_LINE_SIZE + 8,
-+					ynext,
-+					output + line_ind*VFS5011_IMAGE_WIDTH,
-+					line_ind,
-+					VFS5011_IMAGE_WIDTH);
-+				line_ind++;
-+			}
-+			y = ynext;
-+		}
-+	}
-+	g_free(offsets);
-+	return line_ind;
-+}
-+
-+/* ====================== main stuff ======================= */
-+
-+enum {
-+	CAPTURE_LINES = 256,
-+	MAXLINES = 2000,
-+	MAX_CAPTURE_LINES = 100000,
-+};
-+
-+struct vfs5011_data {
-+	unsigned char *total_buffer;
-+	unsigned char *capture_buffer;
-+	unsigned char *image_buffer;
-+	unsigned char *lastline;
-+	unsigned char *rescale_buffer;
-+	int lines_captured, lines_recorded, empty_lines;
-+	int max_lines_captured, max_lines_recorded;
-+	int lines_total, lines_total_allocated;
-+	gboolean loop_running;
-+	gboolean deactivating;
-+	struct usbexchange_data init_sequence;
-+};
-+
-+enum {
-+	DEV_ACTIVATE_REQUEST_FPRINT,
-+	DEV_ACTIVATE_INIT_COMPLETE,
-+	DEV_ACTIVATE_READ_DATA,
-+	DEV_ACTIVATE_DATA_COMPLETE,
-+	DEV_ACTIVATE_PREPARE_NEXT_CAPTURE,
-+	DEV_ACTIVATE_NUM_STATES
-+};
-+
-+enum {
-+	DEV_OPEN_START,
-+	DEV_OPEN_NUM_STATES
-+};
-+
-+static void capture_init(struct vfs5011_data *data, int max_captured,
-+		int max_recorded)
-+{
-+	fp_dbg("capture_init");
-+	data->lastline = NULL;
-+	data->lines_captured = 0;
-+	data->lines_recorded = 0;
-+	data->empty_lines = 0;
-+	data->lines_total = 0;
-+	data->lines_total_allocated = 0;
-+	data->total_buffer = NULL;
-+	data->max_lines_captured = max_captured;
-+	data->max_lines_recorded = max_recorded;
-+}
-+
-+static int process_chunk(struct vfs5011_data *data, int transferred)
-+{
-+	enum {
-+		DEVIATION_THRESHOLD = 15*15,
-+		DIFFERENCE_THRESHOLD = 600,
-+		STOP_CHECK_LINES = 50
-+	};
-+
-+	fp_dbg("process_chunk: got %d bytes", transferred);
-+	int lines_captured = transferred/VFS5011_LINE_SIZE;
-+	int i;
-+
-+	for (i = 0; i < lines_captured; i++) {
-+		unsigned char *linebuf = data->capture_buffer
-+					 + i * VFS5011_LINE_SIZE;
-+
-+		if (get_deviation(linebuf + 8, VFS5011_IMAGE_WIDTH)
-+				< DEVIATION_THRESHOLD) {
-+			if (data->lines_captured == 0)
-+				continue;
-+			else
-+				data->empty_lines++;
-+		} else
-+			data->empty_lines = 0;
-+		if (data->empty_lines >= STOP_CHECK_LINES) {
-+			fp_dbg("process_chunk: got %d empty lines, finishing",
-+					data->empty_lines);
-+			return 1;
-+		}
-+
-+		data->lines_captured++;
-+		if (data->lines_captured > data->max_lines_captured) {
-+			fp_dbg("process_chunk: captured %d lines, finishing",
-+					data->lines_captured);
-+			return 1;
-+		}
-+
-+		if ((data->lastline == NULL)
-+			|| (get_diff_norm(
-+				data->lastline + 8,
-+				linebuf + 8,
-+				VFS5011_IMAGE_WIDTH) >= DIFFERENCE_THRESHOLD)) {
-+			data->lastline = data->image_buffer
-+					 + data->lines_recorded
-+					 * VFS5011_LINE_SIZE;
-+			memmove(data->lastline, linebuf, VFS5011_LINE_SIZE);
-+			data->lines_recorded++;
-+			if (data->lines_recorded >= data->max_lines_recorded) {
-+				fp_dbg("process_chunk: recorded %d lines, finishing",
-+						data->lines_recorded);
-+				return 1;
-+			}
-+		}
-+	}
-+	return 0;
-+}
-+
-+void submit_image(struct fpi_ssm *ssm, struct vfs5011_data *data)
-+{
-+	struct fp_img_dev *dev = (struct fp_img_dev *)ssm->priv;
-+	int height = vfs5011_rescale_image(data->image_buffer,
-+					   data->lines_recorded,
-+					   data->rescale_buffer, MAXLINES);
-+	struct fp_img *img = fpi_img_new(VFS5011_IMAGE_WIDTH * height);
-+
-+	if (img == NULL) {
-+		fp_err("Failed to create image");
-+		fpi_ssm_mark_aborted(ssm, -1);
-+	}
-+
-+	img->flags = FP_IMG_V_FLIPPED;
-+	img->width = VFS5011_IMAGE_WIDTH;
-+	img->height = height;
-+	memmove(img->data, data->rescale_buffer, VFS5011_IMAGE_WIDTH * height);
-+
-+	fp_dbg("Image captured, commiting");
-+
-+	fpi_imgdev_image_captured(dev, img);
-+}
-+
-+static void chunk_capture_callback(struct libusb_transfer *transfer)
-+{
-+	struct fpi_ssm *ssm = (struct fpi_ssm *)transfer->user_data;
-+	struct fp_img_dev *dev = (struct fp_img_dev *)ssm->priv;
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+
-+	if ((transfer->status == LIBUSB_TRANSFER_COMPLETED) ||
-+	    (transfer->status == LIBUSB_TRANSFER_TIMED_OUT)) {
-+
-+		if (transfer->actual_length > 0)
-+			fpi_imgdev_report_finger_status(dev, TRUE);
-+
-+		if (process_chunk(data, transfer->actual_length))
-+			fpi_ssm_jump_to_state(ssm, DEV_ACTIVATE_DATA_COMPLETE);
-+		else
-+			fpi_ssm_jump_to_state(ssm, DEV_ACTIVATE_READ_DATA);
-+	} else {
-+		fp_err("Failed to capture data");
-+		fpi_ssm_mark_aborted(ssm, -1);
-+	}
-+	libusb_free_transfer(transfer);
-+}
-+
-+static int capture_chunk_async(struct vfs5011_data *data,
-+			       libusb_device_handle *handle, int nline,
-+			       int timeout, struct fpi_ssm *ssm)
-+{
-+	fp_dbg("capture_chunk_async: capture %d lines, already have %d",
-+		nline, data->lines_recorded);
-+	enum {
-+		DEVIATION_THRESHOLD = 15*15,
-+		DIFFERENCE_THRESHOLD = 600,
-+		STOP_CHECK_LINES = 50
-+	};
-+
-+	struct libusb_transfer *transfer = libusb_alloc_transfer(0);
-+	libusb_fill_bulk_transfer(transfer, handle, VFS5011_IN_ENDPOINT_DATA,
-+				  data->capture_buffer,
-+				  nline * VFS5011_LINE_SIZE,
-+				  chunk_capture_callback, ssm, timeout);
-+	return libusb_submit_transfer(transfer);
-+}
-+
-+static void async_sleep_cb(void *data)
-+{
-+	struct fpi_ssm *ssm = data;
-+
-+	fpi_ssm_next_state(ssm);
-+}
-+
-+/*
-+ *  Device initialization. Windows driver only does it when the device is
-+ *  plugged in, but it doesn't harm to do this every time before scanning the
-+ *  image.
-+ */
-+struct usb_action vfs5011_initialization[] = {
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_01)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_19)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64) /* B5C457F9 */
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_00)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64) /* 0000FFFFFFFF */
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_01)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64) /* 0000FFFFFFFFFF */
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_02)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_01)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_03)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_04)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 256)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 64)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_05)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_01)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_06)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 17216)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 32)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_07)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 45056)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_08)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 16896)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_09)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 4928)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_10)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 5632)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_11)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 5632)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_12)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 3328)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 64)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_13)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_03)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_14)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 4800)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_02)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_27)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_15)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_16)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 2368)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 4800)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_17)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_init_18)
-+	/* 0000 */
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	/*
-+	 * Windows driver does this and it works
-+	 * But in this driver this call never returns...
-+	 * RECV(VFS5011_IN_ENDPOINT_CTRL2, 8) //00D3054000
-+	 */
-+};
-+
-+/* Initiate recording the image */
-+struct usb_action vfs5011_initiate_capture[] = {
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_04)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 64)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 84032)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_prepare_00)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_cmd_1A)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_prepare_01)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_prepare_02)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 2368)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL, 64)
-+	RECV(VFS5011_IN_ENDPOINT_DATA, 4800)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_prepare_03)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 64, VFS5011_NORMAL_CONTROL_REPLY)
-+	RECV(VFS5011_IN_ENDPOINT_CTRL2, 8)
-+
-+	SEND(VFS5011_OUT_ENDPOINT, vfs5011_prepare_04)
-+	RECV_CHECK(VFS5011_IN_ENDPOINT_CTRL, 2368, VFS5011_NORMAL_CONTROL_REPLY)
-+
-+	/*
-+	 * Windows driver does this and it works
-+	 * But in this driver this call never returns...
-+	 * RECV(VFS5011_IN_ENDPOINT_CTRL2, 8);
-+	 */
-+};
-+
-+/* ====================== lifprint interface ======================= */
-+
-+static void activate_loop(struct fpi_ssm *ssm)
-+{
-+	enum {READ_TIMEOUT = 0};
-+
-+	struct fp_img_dev *dev = (struct fp_img_dev *)ssm->priv;
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+	int r;
-+	struct fpi_timeout *timeout;
-+
-+	fp_dbg("main_loop: state %d", ssm->cur_state);
-+
-+	switch (ssm->cur_state) {
-+	case DEV_ACTIVATE_REQUEST_FPRINT:
-+		data->init_sequence.stepcount =
-+			array_n_elements(vfs5011_initiate_capture);
-+		data->init_sequence.actions = vfs5011_initiate_capture;
-+		data->init_sequence.device = dev;
-+		if (data->init_sequence.receive_buf == NULL)
-+			data->init_sequence.receive_buf =
-+				g_malloc0(VFS5011_RECEIVE_BUF_SIZE);
-+		data->init_sequence.timeout = 1000;
-+		usb_exchange_async(ssm, &data->init_sequence);
-+		break;
-+
-+	case DEV_ACTIVATE_INIT_COMPLETE:
-+		if (data->init_sequence.receive_buf != NULL)
-+			g_free(data->init_sequence.receive_buf);
-+		data->init_sequence.receive_buf = NULL;
-+		capture_init(data, MAX_CAPTURE_LINES, MAXLINES);
-+		fpi_imgdev_activate_complete(dev, 0);
-+		fpi_ssm_next_state(ssm);
-+		break;
-+
-+	case DEV_ACTIVATE_READ_DATA:
-+		if (data->deactivating) {
-+			fp_dbg("deactivating, marking completed");
-+			fpi_ssm_mark_completed(ssm);
-+		} else {
-+			r = capture_chunk_async(data, dev->udev, CAPTURE_LINES,
-+						READ_TIMEOUT, ssm);
-+			if (r != 0) {
-+				fp_err("Failed to capture data");
-+				fpi_imgdev_session_error(dev, r);
-+				fpi_ssm_mark_aborted(ssm, r);
-+			}
-+		}
-+		break;
-+
-+	case DEV_ACTIVATE_DATA_COMPLETE:
-+		timeout = fpi_timeout_add(1, async_sleep_cb, ssm);
-+
-+		if (timeout == NULL) {
-+			/* Failed to add timeout */
-+			fp_err("failed to add timeout");
-+			fpi_imgdev_session_error(dev, -1);
-+			fpi_ssm_mark_aborted(ssm, -1);
-+		}
-+		break;
-+
-+	case DEV_ACTIVATE_PREPARE_NEXT_CAPTURE:
-+		data->init_sequence.stepcount =
-+			array_n_elements(vfs5011_initiate_capture);
-+		data->init_sequence.actions = vfs5011_initiate_capture;
-+		data->init_sequence.device = dev;
-+		if (data->init_sequence.receive_buf == NULL)
-+			data->init_sequence.receive_buf =
-+				g_malloc0(VFS5011_RECEIVE_BUF_SIZE);
-+		data->init_sequence.timeout = VFS5011_DEFAULT_WAIT_TIMEOUT;
-+		usb_exchange_async(ssm, &data->init_sequence);
-+		break;
-+
-+	}
-+}
-+
-+static void activate_loop_complete(struct fpi_ssm *ssm)
-+{
-+	struct fp_img_dev *dev = (struct fp_img_dev *)ssm->priv;
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+	int r = ssm->error;
-+
-+	fp_dbg("finishing");
-+	if (data->init_sequence.receive_buf != NULL)
-+		g_free(data->init_sequence.receive_buf);
-+	data->init_sequence.receive_buf = NULL;
-+	data->loop_running = FALSE;
-+	submit_image(ssm, data);
-+	fpi_imgdev_report_finger_status(dev, FALSE);
-+
-+	fpi_ssm_free(ssm);
-+
-+	if (r)
-+		fpi_imgdev_session_error(dev, r);
-+
-+	if (data->deactivating)
-+		fpi_imgdev_deactivate_complete(dev);
-+}
-+
-+static void open_loop(struct fpi_ssm *ssm)
-+{
-+	struct fp_img_dev *dev = (struct fp_img_dev *)ssm->priv;
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+
-+	switch (ssm->cur_state) {
-+	case DEV_OPEN_START:
-+		data->init_sequence.stepcount =
-+			array_n_elements(vfs5011_initialization);
-+		data->init_sequence.actions = vfs5011_initialization;
-+		data->init_sequence.device = dev;
-+		data->init_sequence.receive_buf =
-+			g_malloc0(VFS5011_RECEIVE_BUF_SIZE);
-+		data->init_sequence.timeout = VFS5011_DEFAULT_WAIT_TIMEOUT;
-+		usb_exchange_async(ssm, &data->init_sequence);
-+		break;
-+	};
-+}
-+
-+static void open_loop_complete(struct fpi_ssm *ssm)
-+{
-+	struct fp_img_dev *dev = (struct fp_img_dev *)ssm->priv;
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+
-+	g_free(data->init_sequence.receive_buf);
-+	data->init_sequence.receive_buf = NULL;
-+
-+	fpi_imgdev_open_complete(dev, 0);
-+	fpi_ssm_free(ssm);
-+}
-+
-+static int dev_open(struct fp_img_dev *dev, unsigned long driver_data)
-+{
-+
-+	struct vfs5011_data *data;
-+	int r;
-+
-+	data = (struct vfs5011_data *)g_malloc0(sizeof(*data));
-+	data->capture_buffer =
-+		(unsigned char *)g_malloc0(CAPTURE_LINES * VFS5011_LINE_SIZE);
-+	data->image_buffer =
-+		(unsigned char *)g_malloc0(MAXLINES * VFS5011_LINE_SIZE);
-+	data->rescale_buffer =
-+		(unsigned char *)g_malloc0(MAXLINES * VFS5011_IMAGE_WIDTH);
-+	dev->priv = data;
-+
-+	dev->dev->nr_enroll_stages = 1;
-+
-+	r = libusb_reset_device(dev->udev);
-+	if (r != 0) {
-+		fp_err("Failed to reset the device");
-+		return r;
-+	}
-+
-+	r = libusb_claim_interface(dev->udev, 0);
-+	if (r != 0) {
-+		fp_err("Failed to claim interface");
-+		return r;
-+	}
-+
-+	struct fpi_ssm *ssm;
-+	ssm = fpi_ssm_new(dev->dev, open_loop, DEV_OPEN_NUM_STATES);
-+	ssm->priv = dev;
-+	fpi_ssm_start(ssm, open_loop_complete);
-+
-+	return 0;
-+}
-+
-+static void dev_close(struct fp_img_dev *dev)
-+{
-+	libusb_release_interface(dev->udev, 0);
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+	if (data != NULL) {
-+		g_free(data->capture_buffer);
-+		g_free(data->image_buffer);
-+		g_free(data->rescale_buffer);
-+		g_free(data);
-+	}
-+	fpi_imgdev_close_complete(dev);
-+}
-+
-+static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
-+{
-+	struct vfs5011_data *data = (struct vfs5011_data *)dev->priv;
-+	struct fpi_ssm *ssm;
-+
-+	fp_dbg("device initialized");
-+	data->deactivating = FALSE;
-+	data->loop_running = TRUE;
-+
-+	fp_dbg("creating ssm");
-+	ssm = fpi_ssm_new(dev->dev, activate_loop, DEV_ACTIVATE_NUM_STATES);
-+	ssm->priv = dev;
-+	fp_dbg("starting ssm");
-+	fpi_ssm_start(ssm, activate_loop_complete);
-+	fp_dbg("ssm done, getting out");
-+
-+	return 0;
-+}
-+
-+static void dev_deactivate(struct fp_img_dev *dev)
-+{
-+	struct vfs5011_data *data = dev->priv;
-+	if (data->loop_running)
-+		data->deactivating = TRUE;
-+	else
-+		fpi_imgdev_deactivate_complete(dev);
-+}
-+
-+static const struct usb_id id_table[] = {
-+	{ .vendor = 0x138a, .product = 0x0011 /* vfs5011 */ },
-+	{ .vendor = 0x138a, .product = 0x0017 /* Validity device from Lenovo T440 laptops */ },
-+	{ .vendor = 0x138a, .product = 0x0018 /* one more Validity device */ },
-+	{ 0, 0, 0, },
-+};
-+
-+struct fp_img_driver vfs5011_driver = {
-+	.driver = {
-+		.id = VFS5011_ID,
-+		.name = "vfs5011",
-+		.full_name = "Validity VFS5011",
-+		.id_table = id_table,
-+		.scan_type = FP_SCAN_TYPE_SWIPE,
-+	},
-+
-+	.flags = 0,
-+	.img_width = VFS5011_IMAGE_WIDTH,
-+	.img_height = -1,
-+	.bz3_threshold = 20,
-+
-+	.open = dev_open,
-+	.close = dev_close,
-+	.activate = dev_activate,
-+	.deactivate = dev_deactivate,
-+};
-+
-diff --git a/libfprint/drivers/vfs5011_proto.h b/libfprint/drivers/vfs5011_proto.h
-new file mode 100644
-index 0000000..8cd0ea8
---- /dev/null
-+++ b/libfprint/drivers/vfs5011_proto.h
-@@ -0,0 +1,6186 @@
-+#ifndef __VFS5011_PROTO_H
-+#define __VFS5011_PROTO_H
-+
-+#define VFS5011_LINE_SIZE 240
-+#define VFS5011_IMAGE_WIDTH 160
-+
-+enum {
-+	VFS5011_DEFAULT_WAIT_TIMEOUT = 3000,
-+
-+	VFS5011_OUT_ENDPOINT = 1 | LIBUSB_ENDPOINT_OUT,
-+	VFS5011_IN_ENDPOINT_CTRL = 1 | LIBUSB_ENDPOINT_IN,
-+	VFS5011_IN_ENDPOINT_DATA = 2 | LIBUSB_ENDPOINT_IN,
-+	VFS5011_IN_ENDPOINT_CTRL2 = 3 | LIBUSB_ENDPOINT_IN,
-+};
-+
-+enum {
-+	VFS5011_RECEIVE_BUF_SIZE = 102400
-+};
-+
-+static unsigned char VFS5011_NORMAL_CONTROL_REPLY[] = {0x00, 0x00};
-+
-+static unsigned char vfs5011_cmd_01[] = { /* 1 B */
-+	0x01,
-+};
-+
-+static unsigned char vfs5011_cmd_19[] = { /* 1 B */
-+	0x19,
-+};
-+
-+static unsigned char vfs5011_init_00[] = { /* 39 B */
-+	0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x9F, 0x00, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_01[] = { /* 40 B */
-+	0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x00,
-+
-+};
-+
-+static unsigned char vfs5011_init_02[] = { /* 578 B */
-+	0x06, 0x9C, 0xF1, 0x9D, 0x71, 0xC3, 0x13, 0xDF,
-+	0x5F, 0xE4, 0x7A, 0x1F, 0xC7, 0x17, 0x53, 0x9A,
-+	0x1A, 0xA1, 0xD7, 0xB6, 0x6E, 0xBE, 0xDF, 0x1F,
-+	0x9F, 0x44, 0x42, 0x22, 0xFA, 0x2A, 0x6A, 0xAB,
-+	0x2B, 0xF0, 0x56, 0x39, 0xE3, 0x7B, 0x53, 0x9A,
-+	0x1A, 0xA1, 0xDB, 0xBA, 0x62, 0xB2, 0xE4, 0x65,
-+	0xE5, 0xDB, 0x68, 0x04, 0x79, 0x98, 0xDE, 0x8F,
-+	0x23, 0xFB, 0xEC, 0xAD, 0x76, 0xCA, 0xA2, 0xEB,
-+	0x61, 0x38, 0xC7, 0xAB, 0x6E, 0x2E, 0x78, 0xF9,
-+	0x79, 0x13, 0x8A, 0xE5, 0x90, 0x22, 0x63, 0x8D,
-+	0x0E, 0x93, 0x25, 0x49, 0x5A, 0xC8, 0xA3, 0xD8,
-+	0x7E, 0xAE, 0x12, 0xF6, 0x2C, 0x1C, 0xFC, 0x48,
-+	0x4F, 0x0E, 0x48, 0x22, 0xFB, 0x4B, 0xCE, 0x7E,
-+	0xDB, 0x2D, 0x91, 0xE0, 0xC8, 0x78, 0x2E, 0xAF,
-+	0x2F, 0xD4, 0x03, 0x6F, 0x12, 0x59, 0xC6, 0x26,
-+	0x40, 0x88, 0x2E, 0x62, 0xBA, 0x06, 0x6C, 0xC9,
-+	0x7A, 0x84, 0x93, 0xCF, 0x14, 0x15, 0x44, 0x87,
-+	0xE2, 0x09, 0x97, 0xE6, 0xCE, 0x7E, 0x28, 0xA9,
-+	0x29, 0x53, 0xD7, 0xB8, 0xD1, 0x53, 0x30, 0x15,
-+	0x6E, 0x95, 0x3E, 0xA2, 0x7A, 0xCA, 0x9C, 0x1D,
-+	0x9D, 0xEB, 0x5F, 0x15, 0xEF, 0x48, 0x34, 0xCC,
-+	0xCB, 0x02, 0xA6, 0xD6, 0xA7, 0x80, 0xF2, 0x3F,
-+	0x7E, 0x96, 0x23, 0xAE, 0x42, 0xF1, 0x29, 0xF5,
-+	0xAD, 0x5A, 0x35, 0x57, 0x36, 0xAA, 0xAF, 0x97,
-+	0xE8, 0x1E, 0xA2, 0xD3, 0xFB, 0x4B, 0x1D, 0x9C,
-+	0x1C, 0x06, 0x84, 0xEB, 0x9E, 0x2C, 0xD4, 0x18,
-+	0x94, 0x44, 0x7E, 0x4B, 0x12, 0x91, 0xF2, 0x8B,
-+	0x07, 0x45, 0xDB, 0x52, 0xBB, 0x2E, 0x53, 0x63,
-+	0xE3, 0x38, 0xB8, 0x95, 0x4D, 0x9B, 0xCF, 0x07,
-+	0x05, 0xDD, 0x4C, 0xE2, 0x39, 0xAF, 0xA9, 0x51,
-+	0xDB, 0xAD, 0x19, 0xC8, 0x13, 0x6E, 0x0A, 0x2F,
-+	0xEA, 0x12, 0xB9, 0x25, 0x55, 0xB6, 0x64, 0x04,
-+	0x7F, 0x14, 0x6E, 0x12, 0x08, 0xFB, 0xBD, 0xBD,
-+	0x1D, 0xC6, 0xE2, 0x84, 0x50, 0x20, 0x60, 0xA0,
-+	0x90, 0xD2, 0x74, 0x8A, 0x18, 0xA4, 0xD9, 0xE9,
-+	0x69, 0xB2, 0x1E, 0x73, 0xAB, 0x1B, 0x7B, 0xBB,
-+	0x3B, 0xE0, 0x42, 0x23, 0xF9, 0x29, 0x49, 0x89,
-+	0x09, 0xD2, 0x4C, 0x29, 0xF1, 0x21, 0x65, 0xAC,
-+	0x2C, 0x97, 0x30, 0x6C, 0xB4, 0x04, 0xF4, 0x3D,
-+	0xBD, 0x06, 0xA0, 0xC6, 0x1E, 0xCE, 0x7E, 0xB3,
-+	0x33, 0x88, 0x2E, 0x43, 0x9B, 0x2B, 0x37, 0xF0,
-+	0x70, 0xCB, 0x91, 0xF1, 0x2B, 0xFB, 0x8B, 0x48,
-+	0xCA, 0x39, 0x97, 0xFB, 0x21, 0xB9, 0xCD, 0x0E,
-+	0x8C, 0x7F, 0x8D, 0xEC, 0x36, 0xE6, 0xEA, 0x27,
-+	0xA5, 0x1E, 0x40, 0x2A, 0xF2, 0x22, 0xCA, 0x07,
-+	0x85, 0x3E, 0xC8, 0xAE, 0x76, 0xA6, 0xF0, 0x71,
-+	0xF1, 0xAB, 0x6B, 0x04, 0x6D, 0xA9, 0xCA, 0x06,
-+	0x2C, 0x66, 0xA5, 0xCA, 0xB0, 0x4B, 0x2B, 0x62,
-+	0xEB, 0xD5, 0x61, 0x0D, 0xF0, 0x46, 0x26, 0xC3,
-+	0x44, 0x9F, 0x0C, 0x63, 0xBB, 0xAA, 0xBD, 0x7E,
-+	0xF2, 0x74, 0x00, 0x66, 0x2B, 0x7A, 0x62, 0xA1,
-+	0x07, 0x80, 0x33, 0x8D, 0x1F, 0xF7, 0x45, 0xCB,
-+	0x5E, 0x24, 0xEB, 0x84, 0xED, 0x27, 0x44, 0x61,
-+	0xFF, 0x0C, 0xA7, 0x3B, 0xE3, 0x53, 0x05, 0x84,
-+	0x04, 0xEE, 0x23, 0x4C, 0xB5, 0x79, 0x1A, 0xF3,
-+	0xA0, 0x66, 0x20, 0x4C, 0x94, 0x24, 0x72, 0xF3,
-+	0x73, 0x39, 0xF8, 0x97, 0xDD, 0x64, 0x54, 0xF2,
-+	0x6B, 0xBA, 0xAD, 0xBC, 0x67, 0x66, 0x78, 0xBB,
-+	0x5E, 0x6D, 0xFB, 0x8A, 0xA2, 0x74, 0x3D, 0xF5,
-+	0xD4, 0x72, 0xC7, 0x1A, 0xBD, 0x0E, 0x0B, 0x2C,
-+	0x8C, 0x4A, 0x0C, 0x60, 0xB8, 0x08, 0x5E, 0xDF,
-+	0x5F, 0x05, 0x33, 0x5C, 0xB5, 0x7E, 0x1D, 0xFC,
-+	0xFD, 0x25, 0xBA, 0x95, 0xC4, 0xA7, 0xDA, 0xEA,
-+	0x6A, 0xB1, 0x31, 0x1C, 0xC4, 0xE5, 0x07, 0xC4,
-+	0xC5, 0x9D, 0x28, 0xCD, 0x3C, 0xE9, 0x89, 0x49,
-+	0xD4, 0xFF, 0x7F, 0x52, 0x8A, 0x9B, 0x7F, 0xBC,
-+	0x8E, 0xF5, 0xCF, 0x0B, 0xD9, 0x49, 0x48, 0x88,
-+	0x80, 0x71, 0x7D, 0xAB, 0xEF, 0x47, 0x2B, 0xF7,
-+	0x7B, 0x2D, 0x79, 0x3F, 0xCF, 0xBF, 0xFF, 0x3F,
-+	0x6D, 0xF8, 0x42, 0xEC, 0x7F, 0xE8, 0xED, 0x42,
-+	0xE6, 0x1D, 0x4D, 0x32, 0xFA, 0x6A, 0x0A, 0xD7,
-+	0xA7, 0x7C, 0xCB, 0xA7, 0x7B, 0xCB, 0xBF, 0x71,
-+	0xF3, 0x48,
-+};
-+
-+static unsigned char vfs5011_cmd_1A[] = { /* 1 B */
-+	0x1A,
-+};
-+
-+static unsigned char vfs5011_init_03[] = { /* 2354 B */
-+	0x06, 0xFE, 0x93, 0xFF, 0x03, 0xBA, 0x6A, 0xA6,
-+	0x26, 0x9D, 0x03, 0x66, 0xBE, 0x6E, 0x2A, 0xE3,
-+	0x63, 0xD8, 0xFE, 0x9B, 0x43, 0x93, 0xD7, 0x03,
-+	0x83, 0x38, 0x8C, 0xE0, 0x38, 0x88, 0x58, 0x94,
-+	0x14, 0xAF, 0xC9, 0xA2, 0x7A, 0xCA, 0x96, 0x5E,
-+	0xDE, 0x65, 0x27, 0x36, 0xEA, 0x3A, 0x4E, 0x82,
-+	0x02, 0xB9, 0x0F, 0x4B, 0x97, 0x17, 0xF7, 0x1A,
-+	0x9E, 0x75, 0xC3, 0x8F, 0x53, 0xD3, 0x9F, 0x7F,
-+	0xFB, 0x10, 0xE6, 0xAA, 0x76, 0xF6, 0x72, 0x93,
-+	0x17, 0xFC, 0x4A, 0x26, 0xFE, 0x76, 0x2A, 0xEA,
-+	0x6A, 0x89, 0x3F, 0xF3, 0x2B, 0xA3, 0xFF, 0x9F,
-+	0x1F, 0xFC, 0x4A, 0x06, 0xDE, 0x56, 0x38, 0xD8,
-+	0x58, 0xBB, 0x0D, 0x21, 0xF9, 0x71, 0x19, 0x99,
-+	0x19, 0xFA, 0x4C, 0x40, 0x98, 0x10, 0x78, 0xD8,
-+	0x58, 0xBB, 0x0D, 0xE1, 0x39, 0xB1, 0xD9, 0x99,
-+	0x19, 0xFA, 0x6C, 0x7E, 0xA2, 0x72, 0xC6, 0x7D,
-+	0xF9, 0x42, 0xF4, 0x86, 0x5A, 0xDA, 0xD2, 0x06,
-+	0x86, 0x3D, 0x6F, 0x08, 0xD0, 0x00, 0xD8, 0x10,
-+	0x90, 0x2B, 0xFD, 0xB7, 0x6B, 0xBB, 0x67, 0xA0,
-+	0x20, 0x9B, 0x35, 0x36, 0xEA, 0x3A, 0xA2, 0x0C,
-+	0x88, 0x33, 0x7D, 0x1A, 0xC2, 0x12, 0x2A, 0xFE,
-+	0x7E, 0xC5, 0x8C, 0x17, 0x30, 0x7F, 0xE0, 0xCF,
-+	0xB0, 0x94, 0x4E, 0x36, 0xEE, 0x3E, 0x5E, 0x96,
-+	0x16, 0xCD, 0x9F, 0xE1, 0x3B, 0xEB, 0x8B, 0x5B,
-+	0xDB, 0x00, 0x8A, 0xF2, 0x2A, 0xFA, 0x0E, 0xC8,
-+	0x48, 0xF3, 0x6D, 0x12, 0xC8, 0x18, 0x08, 0xDC,
-+	0x5C, 0xE7, 0x01, 0x79, 0xA1, 0x71, 0x3D, 0xF4,
-+	0x74, 0xCF, 0x84, 0x17, 0xCF, 0x7F, 0xE0, 0x20,
-+	0x5F, 0x7B, 0xFB, 0xD6, 0x0E, 0x1B, 0x65, 0xA5,
-+	0x00, 0xDC, 0x6A, 0xE3, 0x7E, 0xCE, 0x4B, 0xCE,
-+	0x68, 0x22, 0xB8, 0xD7, 0xAE, 0x33, 0x50, 0x9C,
-+	0x14, 0x46, 0xFA, 0x14, 0x85, 0x35, 0x48, 0x78,
-+	0xF8, 0x23, 0xA3, 0x8E, 0x56, 0x77, 0x39, 0xFA,
-+	0x76, 0xA5, 0x91, 0xB4, 0x34, 0xE1, 0x4D, 0xA8,
-+	0x35, 0x1E, 0x9E, 0xB3, 0x6B, 0x6A, 0x3A, 0xF9,
-+	0xD4, 0x0D, 0x9A, 0xD9, 0x02, 0xF4, 0x94, 0x54,
-+	0x1F, 0xE6, 0x5B, 0x8C, 0x72, 0xC9, 0xA3, 0xEB,
-+	0x69, 0x32, 0x04, 0x1C, 0x43, 0x69, 0xF9, 0x3F,
-+	0xBE, 0x65, 0xF6, 0xFE, 0x03, 0x9E, 0xF4, 0x29,
-+	0x59, 0x82, 0x02, 0x2F, 0xF7, 0x67, 0x66, 0xA6,
-+	0x03, 0x22, 0x6B, 0x27, 0x19, 0xBA, 0xCA, 0x2A,
-+	0xAA, 0x7D, 0xC1, 0x08, 0xF6, 0x63, 0xA2, 0x53,
-+	0xD0, 0xBA, 0x3E, 0x51, 0xAC, 0x38, 0x70, 0xAD,
-+	0xDD, 0x06, 0x86, 0xAB, 0x73, 0xF2, 0xA1, 0x62,
-+	0xC3, 0x2C, 0x99, 0xDC, 0x47, 0xEA, 0x7A, 0xBA,
-+	0x3A, 0xE1, 0x61, 0x4C, 0x94, 0xA6, 0xC4, 0x09,
-+	0x85, 0x45, 0x73, 0x9F, 0x43, 0xA5, 0xDD, 0x1A,
-+	0x96, 0x48, 0xF2, 0x98, 0x02, 0xA0, 0xCE, 0x12,
-+	0x95, 0x74, 0x86, 0x58, 0x44, 0x75, 0x27, 0xE3,
-+	0x63, 0x0A, 0xB7, 0xA5, 0xBF, 0x0B, 0x6A, 0x9D,
-+	0xA6, 0x71, 0xF0, 0x20, 0xE9, 0x64, 0x0F, 0x08,
-+	0x33, 0xE4, 0x6F, 0x0F, 0x11, 0xA0, 0xC0, 0x37,
-+	0x8B, 0x54, 0x25, 0xF2, 0x2B, 0xA6, 0xCD, 0xA0,
-+	0x23, 0x45, 0xF0, 0xF9, 0x99, 0x01, 0xCB, 0x6D,
-+	0xB7, 0x3F, 0x82, 0x99, 0x0A, 0xFE, 0x2C, 0x28,
-+	0x29, 0xA4, 0x85, 0x15, 0x60, 0xD5, 0x08, 0xCD,
-+	0x68, 0x04, 0x9A, 0xFA, 0x39, 0x5B, 0x99, 0x35,
-+	0x15, 0x0A, 0xFD, 0x51, 0x4F, 0x3F, 0x85, 0x97,
-+	0xE5, 0x23, 0x17, 0xBB, 0xA7, 0x56, 0xF6, 0xB5,
-+	0x74, 0x5F, 0x06, 0x9A, 0xA2, 0xF1, 0xB0, 0xFA,
-+	0x94, 0xBF, 0xC7, 0x38, 0x22, 0xCF, 0x2D, 0xEB,
-+	0x68, 0xB3, 0xC7, 0x09, 0xBD, 0xC7, 0x65, 0x67,
-+	0xFB, 0x5D, 0xD1, 0x71, 0x6B, 0xD7, 0xB7, 0xA5,
-+	0x37, 0xE5, 0x7E, 0x19, 0x16, 0x1A, 0x7B, 0xB7,
-+	0x15, 0xD3, 0x95, 0xF9, 0x21, 0x91, 0xC7, 0x46,
-+	0xC6, 0xAC, 0x2F, 0x40, 0x20, 0x9B, 0x77, 0xDC,
-+	0xFE, 0x84, 0x52, 0x94, 0xE7, 0xF2, 0x28, 0xC8,
-+	0xE5, 0x3C, 0x2F, 0xEF, 0x12, 0xBF, 0x2F, 0xEF,
-+	0x6F, 0xB4, 0x34, 0x19, 0xC1, 0xD0, 0x86, 0x45,
-+	0x74, 0x98, 0x2D, 0x8C, 0x56, 0x43, 0x75, 0x90,
-+	0xA1, 0x43, 0xF6, 0xBA, 0x48, 0x58, 0x99, 0x61,
-+	0xE2, 0xF4, 0x40, 0x89, 0x04, 0x91, 0x40, 0xBB,
-+	0x38, 0xC3, 0x4F, 0x83, 0x99, 0xEA, 0x9A, 0xFB,
-+	0x41, 0x99, 0x23, 0x4D, 0xBC, 0x0F, 0x46, 0x95,
-+	0x3C, 0xC4, 0x5B, 0x04, 0xF9, 0x1D, 0x58, 0x29,
-+	0x94, 0x4C, 0xCA, 0x9C, 0xE4, 0x96, 0x35, 0xE5,
-+	0xC4, 0x23, 0x96, 0xDF, 0x54, 0xC1, 0xAD, 0x64,
-+	0xD4, 0x35, 0x23, 0x7D, 0x66, 0xC6, 0xBD, 0xE4,
-+	0x4D, 0x95, 0x68, 0x37, 0x89, 0xA0, 0x36, 0x5B,
-+	0xD8, 0xB1, 0xA7, 0x6E, 0x9A, 0x66, 0x23, 0x41,
-+	0xE9, 0x93, 0x1B, 0x74, 0x1D, 0x92, 0xF1, 0xF3,
-+	0xB0, 0x4F, 0x5C, 0x60, 0x9D, 0x9C, 0xBD, 0x7E,
-+	0xCE, 0x2F, 0x39, 0xF4, 0x6C, 0xDF, 0x8D, 0x8E,
-+	0x2A, 0x3C, 0x89, 0xC0, 0x4A, 0xDF, 0x0E, 0x8D,
-+	0x0E, 0xE5, 0x69, 0xA5, 0xDC, 0x2E, 0x4D, 0x40,
-+	0xC3, 0xFD, 0x18, 0x51, 0x38, 0xCD, 0xAE, 0x5E,
-+	0xE4, 0x9F, 0x88, 0xA0, 0x7B, 0x06, 0x65, 0x40,
-+	0x92, 0x6C, 0x6B, 0x40, 0x9B, 0x1B, 0x41, 0x21,
-+	0x00, 0x9D, 0x28, 0x89, 0x52, 0xC7, 0xF5, 0x10,
-+	0xA0, 0x51, 0x47, 0x36, 0x1E, 0xAE, 0xF8, 0x79,
-+	0xF9, 0x07, 0x94, 0xF8, 0xA1, 0x58, 0x3B, 0x6A,
-+	0xD9, 0x01, 0x16, 0x32, 0xE9, 0xF0, 0xC9, 0x80,
-+	0x09, 0xCF, 0x89, 0xE5, 0x3D, 0x8D, 0xDB, 0x5A,
-+	0xDA, 0x30, 0xB3, 0xDC, 0x08, 0x9F, 0xC7, 0x04,
-+	0xD5, 0x44, 0xF1, 0x0F, 0xD4, 0x6C, 0x6E, 0x0F,
-+	0xFF, 0x2F, 0x10, 0x6A, 0xFA, 0x4C, 0xFD, 0x76,
-+	0xF5, 0x22, 0xFE, 0x9E, 0x41, 0x73, 0xDA, 0xE6,
-+	0x70, 0xA3, 0x1F, 0x55, 0xD4, 0x6C, 0xA1, 0x63,
-+	0x06, 0x1C, 0x8C, 0xCD, 0x1F, 0xB2, 0x22, 0x88,
-+	0x4B, 0x22, 0x87, 0xE0, 0xAA, 0x1E, 0x7E, 0xA8,
-+	0x13, 0xC3, 0x13, 0x06, 0xCE, 0xBC, 0xC8, 0xF4,
-+	0x22, 0x55, 0xE9, 0x27, 0xBC, 0x04, 0x46, 0x85,
-+	0x08, 0xF3, 0x64, 0x0C, 0xC9, 0x89, 0xE5, 0x2E,
-+	0x2C, 0xF4, 0x4F, 0xE1, 0x1A, 0x77, 0x00, 0xA8,
-+	0x27, 0x6E, 0xD5, 0xB9, 0x6D, 0xCF, 0xB9, 0x50,
-+	0xDE, 0x0E, 0x11, 0xDF, 0x4A, 0xFA, 0xDC, 0x1C,
-+	0x9C, 0x4B, 0xFF, 0x53, 0xAB, 0x1B, 0xD9, 0x0A,
-+	0x82, 0x9B, 0x48, 0x84, 0xD0, 0x7A, 0xFF, 0xD5,
-+	0x73, 0xB5, 0xF3, 0xF5, 0x6E, 0x0C, 0x68, 0xA8,
-+	0x4E, 0x88, 0x02, 0xD6, 0x2C, 0x31, 0x52, 0x77,
-+	0x13, 0xEE, 0xF8, 0x74, 0xD8, 0x0E, 0x70, 0x91,
-+	0xA0, 0x37, 0x82, 0x1C, 0xCF, 0x7F, 0x39, 0xD6,
-+	0x51, 0xF8, 0x05, 0x69, 0xBD, 0x07, 0xC2, 0x68,
-+	0xCD, 0x1A, 0x94, 0x6A, 0x91, 0xFF, 0x5F, 0xBF,
-+	0x3F, 0x76, 0xA5, 0x69, 0x33, 0xC0, 0xA8, 0x2E,
-+	0xAD, 0x76, 0x62, 0x1D, 0xC2, 0xFE, 0xE4, 0x56,
-+	0x92, 0x49, 0x5D, 0x22, 0xFD, 0xE8, 0x6E, 0x88,
-+	0x04, 0xCD, 0x66, 0xFA, 0x90, 0x33, 0x5B, 0xF1,
-+	0x32, 0xFF, 0x82, 0xE9, 0xF3, 0x47, 0x27, 0x25,
-+	0x69, 0x49, 0xE9, 0xB9, 0x66, 0x34, 0x57, 0x9A,
-+	0x98, 0x67, 0x50, 0x2B, 0x9D, 0x7D, 0x8F, 0x42,
-+	0xC2, 0x0F, 0x30, 0x50, 0x84, 0x26, 0x4D, 0x74,
-+	0x06, 0x90, 0x26, 0xCC, 0x04, 0xB4, 0x56, 0x5F,
-+	0x26, 0xAB, 0x85, 0x1C, 0x7C, 0xEE, 0x23, 0xE0,
-+	0x85, 0x83, 0x13, 0xDF, 0x97, 0x53, 0x38, 0x61,
-+	0xB7, 0x85, 0x39, 0x59, 0x8A, 0x36, 0x1A, 0x38,
-+	0x9B, 0x9D, 0xF9, 0x37, 0x9B, 0xF1, 0x42, 0x42,
-+	0xE2, 0x39, 0x2D, 0x52, 0x82, 0xD0, 0xD5, 0xB5,
-+	0x47, 0xC1, 0x09, 0xA7, 0x3C, 0x84, 0xF2, 0x78,
-+	0x0A, 0xDD, 0x05, 0x8B, 0x17, 0xA7, 0x65, 0xB6,
-+	0x3E, 0x00, 0x69, 0x23, 0x7D, 0x08, 0x97, 0x7A,
-+	0xFD, 0x2A, 0x93, 0x3F, 0xC7, 0x77, 0xB5, 0x66,
-+	0xEE, 0xB7, 0x64, 0xA8, 0x66, 0x4C, 0xDF, 0x7A,
-+	0x24, 0xD9, 0x72, 0xEE, 0x3A, 0x88, 0xAE, 0xA6,
-+	0xD9, 0xBA, 0x2E, 0xEF, 0x34, 0x21, 0x99, 0x7F,
-+	0x5F, 0x14, 0xD6, 0xDC, 0x1D, 0x8A, 0xE6, 0x2D,
-+	0x7F, 0x87, 0xEC, 0x42, 0x38, 0xFC, 0x56, 0x55,
-+	0x15, 0xEE, 0x58, 0xE6, 0x5B, 0x4B, 0x89, 0x5A,
-+	0xD2, 0x7B, 0x91, 0x83, 0xE7, 0x0D, 0x07, 0x24,
-+	0xA8, 0x1E, 0x7A, 0x58, 0x80, 0x92, 0xE1, 0x29,
-+	0x4C, 0x4D, 0xDD, 0x37, 0xE6, 0x56, 0x3A, 0x85,
-+	0x09, 0x86, 0x72, 0x5D, 0x8D, 0x57, 0x74, 0x46,
-+	0x82, 0x59, 0x5D, 0x22, 0xF1, 0xDD, 0xF6, 0x84,
-+	0x50, 0x77, 0xCD, 0x5B, 0x8F, 0xB7, 0x55, 0xD1,
-+	0x51, 0x6F, 0x01, 0x4B, 0x01, 0xA5, 0x39, 0x6B,
-+	0x22, 0x08, 0x2C, 0x14, 0x30, 0xA2, 0xC1, 0x0C,
-+	0xAC, 0x56, 0xE4, 0x95, 0xBD, 0x20, 0x47, 0x01,
-+	0x5E, 0x7A, 0x6E, 0x16, 0x32, 0x94, 0x2E, 0x06,
-+	0x8A, 0xD9, 0xED, 0xC5, 0x1D, 0x1B, 0xC1, 0x11,
-+	0x9D, 0xBC, 0x2F, 0x95, 0x6B, 0xF9, 0x8D, 0xB1,
-+	0x13, 0x0A, 0x4D, 0x03, 0x8F, 0xC3, 0xA5, 0xF8,
-+	0x87, 0x39, 0x5A, 0x10, 0xE5, 0x52, 0x74, 0x48,
-+	0x37, 0xEC, 0x6C, 0x41, 0x99, 0x78, 0x2D, 0xEE,
-+	0x36, 0xE8, 0x1C, 0xD0, 0xF8, 0x02, 0x27, 0xD5,
-+	0x51, 0x0A, 0x9A, 0xD5, 0x3C, 0xAA, 0x89, 0x7A,
-+	0x9B, 0x0A, 0xBF, 0xA2, 0x31, 0x82, 0xEE, 0x86,
-+	0x20, 0x98, 0x01, 0x0B, 0x50, 0xFE, 0x92, 0x21,
-+	0x33, 0xCD, 0xA5, 0x09, 0xF1, 0x41, 0xB3, 0x15,
-+	0x35, 0xDC, 0x2E, 0xC2, 0xA8, 0x1D, 0x70, 0x12,
-+	0x95, 0x4E, 0x48, 0x95, 0x49, 0x49, 0x81, 0xD2,
-+	0xF0, 0x6C, 0xDA, 0xAB, 0x83, 0x2E, 0xBE, 0x72,
-+	0xE1, 0x7C, 0xCA, 0xA6, 0x72, 0xF1, 0xA3, 0x27,
-+	0x27, 0xE1, 0xA7, 0xC7, 0x4C, 0x3E, 0x7B, 0x65,
-+	0x25, 0xDE, 0x68, 0xC6, 0x78, 0x68, 0xCE, 0xFD,
-+	0x82, 0x59, 0xD9, 0xF4, 0x2C, 0xAD, 0x80, 0x43,
-+	0xE2, 0x77, 0xC2, 0x87, 0x4C, 0xE1, 0x71, 0xB1,
-+	0x31, 0xEA, 0x6A, 0x47, 0x9F, 0xBE, 0xEB, 0x28,
-+	0x30, 0xE2, 0xD8, 0x1D, 0x67, 0xFE, 0x43, 0x23,
-+	0x03, 0xCC, 0x5C, 0x0A, 0xD0, 0x05, 0x22, 0xC3,
-+	0x5E, 0x75, 0xF5, 0xD8, 0x00, 0x11, 0x21, 0xE2,
-+	0x43, 0xD1, 0x64, 0x39, 0xD2, 0x61, 0x90, 0x1F,
-+	0x9C, 0xC6, 0x21, 0x4E, 0x1F, 0x86, 0xCF, 0x0C,
-+	0x25, 0xA7, 0x0C, 0x90, 0x48, 0xF8, 0xAE, 0x2F,
-+	0xAF, 0x55, 0xB1, 0xDE, 0x8E, 0x1C, 0xBB, 0x13,
-+	0x8E, 0xF4, 0x11, 0x7E, 0x43, 0xBE, 0xF6, 0xA7,
-+	0x73, 0xAB, 0xDC, 0xE5, 0x3E, 0x3F, 0x09, 0xCA,
-+	0xE2, 0x1B, 0x15, 0x72, 0x6A, 0x70, 0x00, 0x50,
-+	0x4A, 0x81, 0x87, 0x71, 0x3A, 0x13, 0x51, 0xB4,
-+	0xFA, 0x04, 0xAF, 0x33, 0xEB, 0x5B, 0x0D, 0x8C,
-+	0x0C, 0x76, 0x93, 0xFC, 0x41, 0xB6, 0xFE, 0xDF,
-+	0x08, 0xD0, 0x27, 0x78, 0xA3, 0x22, 0x10, 0xD3,
-+	0x5F, 0x88, 0xE6, 0xA9, 0x80, 0x66, 0x05, 0x72,
-+	0x9F, 0x66, 0x6D, 0x0E, 0x1E, 0xAA, 0x03, 0xCC,
-+	0xE1, 0x38, 0x0F, 0x3B, 0xE0, 0xB0, 0x4D, 0xAD,
-+	0xB4, 0x4C, 0x73, 0x1B, 0xA6, 0x13, 0x73, 0x02,
-+	0xDB, 0x03, 0x1D, 0x52, 0x86, 0x34, 0xE4, 0x8E,
-+	0x2E, 0x5C, 0xC9, 0xB8, 0x90, 0x2C, 0x47, 0x41,
-+	0x37, 0x13, 0x93, 0xBE, 0x66, 0xCA, 0x62, 0x25,
-+	0x37, 0xE8, 0x7F, 0x49, 0x92, 0x3F, 0xAF, 0xC2,
-+	0x40, 0x3E, 0x4E, 0x07, 0xF2, 0x48, 0x35, 0x05,
-+	0x85, 0x5E, 0xDE, 0xF3, 0x2B, 0xDA, 0xE1, 0x22,
-+	0x93, 0x14, 0xA1, 0x45, 0xD9, 0xE0, 0x02, 0xFB,
-+	0x3F, 0xF9, 0xBF, 0xD3, 0x0B, 0xBB, 0xED, 0x6C,
-+	0xEC, 0x95, 0xE1, 0x9D, 0x60, 0xAB, 0xEB, 0xBA,
-+	0x61, 0xB9, 0x87, 0x69, 0x38, 0xC1, 0xBC, 0x8C,
-+	0x0C, 0xD7, 0x57, 0x7A, 0xA2, 0xAF, 0xCD, 0x2C,
-+	0xF1, 0x29, 0xB7, 0xD9, 0x0D, 0x31, 0xDA, 0xB8,
-+	0x1D, 0x8C, 0x12, 0xFF, 0x79, 0xCA, 0x38, 0x3A,
-+	0xAA, 0xE8, 0x0C, 0xF9, 0x63, 0x5A, 0x58, 0x14,
-+	0x97, 0x75, 0x51, 0x20, 0x08, 0xB8, 0xEE, 0x6F,
-+	0xEF, 0x05, 0xEE, 0x81, 0x61, 0xD2, 0x00, 0xD3,
-+	0x4B, 0x9C, 0x36, 0x5D, 0x6E, 0xC4, 0x35, 0xAA,
-+	0x29, 0x32, 0x2F, 0x63, 0x19, 0xFA, 0x82, 0x82,
-+	0x22, 0xF9, 0xD7, 0xB2, 0xE8, 0x4B, 0x2D, 0x4F,
-+	0x0C, 0xC7, 0xEB, 0x0F, 0x5E, 0x9D, 0x18, 0xAB,
-+	0x0B, 0x62, 0xC7, 0xB3, 0x7C, 0x27, 0x49, 0x31,
-+	0x22, 0x75, 0x58, 0xBC, 0x6F, 0x72, 0x10, 0x30,
-+	0xB8, 0x63, 0xF8, 0x9E, 0x5B, 0x1B, 0x77, 0xB5,
-+	0x28, 0x03, 0x83, 0xAE, 0x76, 0xF7, 0xCA, 0x09,
-+	0xB1, 0x69, 0x6D, 0x13, 0xDF, 0xA7, 0x64, 0x0C,
-+	0xAF, 0xBE, 0xB3, 0x66, 0x1D, 0x0A, 0x51, 0xC0,
-+	0xE0, 0xA0, 0xD6, 0x38, 0xF3, 0x5B, 0xA2, 0xC1,
-+	0x56, 0xE5, 0x78, 0xD6, 0xA6, 0xE9, 0x68, 0xC8,
-+	0x4B, 0x68, 0x6D, 0xC1, 0x39, 0x89, 0x3B, 0xE8,
-+	0x70, 0x1A, 0xE6, 0x89, 0xB1, 0xDC, 0xAC, 0x9E,
-+	0x75, 0x0E, 0x6A, 0x55, 0x95, 0xE5, 0xA5, 0x65,
-+	0x47, 0xB7, 0x81, 0x2D, 0xD5, 0x65, 0xC5, 0xAF,
-+	0x3F, 0x46, 0x9B, 0x77, 0xE9, 0x58, 0x38, 0x5A,
-+	0x19, 0xD2, 0xC1, 0xC3, 0x3B, 0x4B, 0x0B, 0xCB,
-+	0xDA, 0x5E, 0xEB, 0x05, 0xCE, 0x78, 0x80, 0x49,
-+	0x6B, 0x73, 0xD5, 0x23, 0x73, 0x4A, 0x59, 0x7C,
-+	0x97, 0x6C, 0x52, 0xBD, 0xC8, 0x7A, 0xFA, 0x32,
-+	0xB2, 0x74, 0x32, 0x5E, 0x86, 0x36, 0x60, 0xE1,
-+	0x61, 0xF8, 0xE6, 0x75, 0x3C, 0xED, 0x8E, 0xFF,
-+	0x22, 0xFA, 0x7D, 0x5B, 0x80, 0x88, 0xE3, 0xE1,
-+	0x7A, 0xB9, 0x03, 0x42, 0x4A, 0x36, 0x76, 0x74,
-+	0xAF, 0x6C, 0x1A, 0x56, 0x8E, 0x9C, 0xDF, 0xBF,
-+	0x96, 0xF6, 0x80, 0xCC, 0x14, 0x26, 0x65, 0x05,
-+	0x45, 0xBE, 0x08, 0xF4, 0xA4, 0x04, 0xF6, 0x97,
-+	0x17, 0x5C, 0x62, 0x2E, 0x74, 0xA7, 0x67, 0x67,
-+	0xC7, 0x1C, 0x88, 0xC7, 0x9F, 0xEF, 0xAF, 0x6F,
-+	0xAF, 0x56, 0xF0, 0xDE, 0xA2, 0x12, 0x32, 0xD0,
-+	0x70, 0x89, 0x5C, 0xB0, 0x75, 0x35, 0x63, 0xE2,
-+	0x62, 0xDF, 0x5D, 0x39, 0x63, 0xD0, 0x97, 0x95,
-+	0x16, 0xEB, 0x3B, 0x6F, 0xBD, 0xA0, 0xC2, 0xBF,
-+	0x3C, 0x2A, 0x98, 0x51, 0x56, 0xC4, 0xB9, 0x89,
-+	0xA1, 0x29, 0x2D, 0xE1, 0xC2, 0xC2, 0x6E, 0xBE,
-+	0xFC, 0x64, 0xF4, 0x58, 0xA0, 0x10, 0xE2, 0x28,
-+	0xA4, 0xBF, 0x29, 0x45, 0x2D, 0x04, 0x74, 0x26,
-+	0xEC, 0x3B, 0x90, 0x0C, 0xD4, 0x64, 0x1E, 0xDF,
-+	0x5F, 0x84, 0x32, 0x5E, 0x86, 0x36, 0xB6, 0x7B,
-+	0xF9, 0x42, 0xF0, 0x9D, 0x45, 0xF5, 0x95, 0x55,
-+	0xD5, 0x0E, 0x14, 0x76, 0xAC, 0x7C, 0x00, 0xC0,
-+	0x48, 0x93, 0x58, 0x30, 0x96, 0x22, 0x7E, 0xAC,
-+	0x2E, 0x95, 0xBB, 0xC5, 0x1F, 0xCF, 0x03, 0xD1,
-+	0x53, 0xE8, 0xC2, 0xBD, 0x67, 0xB7, 0xFF, 0x2C,
-+	0xAE, 0x15, 0xEB, 0x93, 0x4B, 0x9B, 0xB7, 0x63,
-+	0xE3, 0x58, 0x9E, 0xE6, 0x3E, 0xEE, 0xBA, 0x7A,
-+	0xFA, 0x21, 0x97, 0xFB, 0x23, 0x93, 0xF3, 0x33,
-+	0xB3, 0x68, 0xDE, 0xB2, 0x6A, 0xDA, 0x92, 0x5B,
-+	0xDB, 0x60, 0xF2, 0x97, 0x4F, 0x9F, 0xEF, 0x1F,
-+	0x9D, 0x46, 0x70, 0x08, 0xD0, 0x00, 0x30, 0xF1,
-+	0x71, 0xAA, 0xA0, 0xCB, 0x13, 0xC3, 0x0B, 0xC6,
-+	0x44, 0xFF, 0x35, 0x5E, 0x86, 0x56, 0x8E, 0x43,
-+	0xC1, 0x7A, 0xF0, 0x94, 0x4C, 0x9C, 0xEC, 0x22,
-+	0xA0, 0x1B, 0x65, 0x07, 0xDD, 0x0D, 0x05, 0xD1,
-+	0x51, 0xEA, 0xD0, 0xB3, 0x69, 0xB9, 0xB1, 0x60,
-+	0xE2, 0x59, 0x57, 0x33, 0xEB, 0x3B, 0x83, 0x52,
-+	0xD0, 0x6B, 0xD1, 0xAF, 0x75, 0xA5, 0x45, 0x97,
-+	0x15, 0xAE, 0xF0, 0x9A, 0x42, 0x92, 0x1E, 0xCD,
-+	0x4F, 0xF4, 0x02, 0x64, 0xBC, 0x6C, 0x3A, 0xBB,
-+	0x3B, 0x61, 0xC8, 0xA1, 0xC8, 0x65, 0x00, 0xCC,
-+	0x16, 0x5C, 0xF4, 0x9D, 0xE7, 0x1C, 0x7C, 0x35,
-+	0xBC, 0x42, 0xF7, 0x9B, 0xA6, 0x15, 0x75, 0x10,
-+	0x95, 0x4E, 0x9D, 0xF9, 0x21, 0xF4, 0x90, 0x50,
-+	0xB5, 0x67, 0xD1, 0x58, 0x80, 0x30, 0xF1, 0x11,
-+	0x94, 0xFE, 0x69, 0x00, 0xFD, 0xF9, 0xBE, 0x63,
-+	0x13, 0xC8, 0x48, 0x65, 0xBD, 0x3C, 0x7E, 0xBB,
-+	0x1A, 0xE2, 0x51, 0x14, 0xDF, 0x72, 0xE2, 0x22,
-+	0xA2, 0x79, 0xF9, 0xD4, 0x0C, 0x8D, 0xC9, 0x0C,
-+	0xAD, 0x53, 0xE0, 0xA5, 0xAE, 0x03, 0x93, 0x53,
-+	0xD3, 0x08, 0x88, 0xA5, 0x7D, 0xFC, 0xBA, 0x7F,
-+	0xDE, 0x22, 0x91, 0xD4, 0x4F, 0xE2, 0x72, 0xB2,
-+	0x32, 0xE9, 0x69, 0x44, 0x9C, 0x1D, 0x59, 0x9C,
-+	0x3D, 0xCE, 0x7D, 0x38, 0x73, 0xDE, 0x4E, 0x8E,
-+	0x0E, 0xD5, 0x55, 0x78, 0xA0, 0x81, 0xC8, 0x0D,
-+	0x81, 0x52, 0x66, 0x43, 0x9B, 0x4E, 0x2F, 0xEF,
-+	0xCE, 0x3E, 0x8D, 0x50, 0xAE, 0x1B, 0xBA, 0x50,
-+	0xD5, 0xC7, 0x7A, 0xBF, 0x3C, 0x91, 0x01, 0xC1,
-+	0x41, 0x9A, 0x1A, 0x37, 0xEF, 0x6E, 0x22, 0xE7,
-+	0x46, 0xB0, 0x03, 0x46, 0x8D, 0x20, 0xB0, 0x70,
-+	0xF0, 0x2B, 0xAB, 0x86, 0x5E, 0x6F, 0x21, 0xE4,
-+	0x55, 0xAC, 0x1F, 0x52, 0xA5, 0x10, 0x59, 0xBA,
-+	0xB3, 0x3B, 0x90, 0x0C, 0xD4, 0x64, 0x32, 0xB3,
-+	0x33, 0x79, 0xFF, 0x96, 0xCF, 0x4E, 0x2B, 0x62,
-+	0xCB, 0x75, 0xC3, 0xAF, 0x6A, 0x2A, 0x7C, 0xFD,
-+	0x7D, 0x07, 0x83, 0xEA, 0x80, 0x90, 0x7C, 0x14,
-+	0x9E, 0x65, 0xB2, 0xDE, 0x8E, 0x14, 0xCE, 0xB4,
-+	0xA8, 0x6B, 0xD1, 0xA1, 0x75, 0x48, 0xCA, 0x20,
-+	0x88, 0x93, 0x05, 0x69, 0x63, 0x9D, 0xF1, 0xF3,
-+	0x38, 0xC4, 0x57, 0x3A, 0xC6, 0x56, 0xD0, 0x03,
-+	0x93, 0x68, 0xDE, 0xAF, 0x87, 0x37, 0x57, 0x97,
-+	0x17, 0xCC, 0x7A, 0x16, 0xCE, 0x7E, 0x1E, 0xDE,
-+	0x5E, 0x85, 0x32, 0x5E, 0x82, 0x32, 0x9E, 0x4A,
-+	0xC8, 0x73,
-+};
-+
-+static unsigned char vfs5011_init_04[] = { /* 2221 B */
-+	0x02, 0x20, 0x01, 0x01, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xAD, 0x01,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xAD, 0x01, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xAD, 0x01, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xFF, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x50, 0x03, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x54, 0x20, 0x04, 0x30, 0x01,
-+	0x3E, 0x02, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x21, 0x04, 0x30, 0x14, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x04, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x08, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x0C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x10, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x14, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x1C, 0x21, 0x04, 0x30, 0x12,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x20, 0x21, 0x04, 0x30, 0x04, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x40, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x44, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x48,
-+	0x21, 0x04, 0x30, 0x10, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x4C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x50, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x58, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x5C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x60, 0x21, 0x04,
-+	0x30, 0x0F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x80, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x84,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x88, 0x21, 0x04, 0x30,
-+	0x10, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x8C, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x90, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x94, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x98, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x9C, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x0F, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC0,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC4, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xC8, 0x21, 0x04, 0x30, 0x10, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xCC, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD0, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD4, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xD8, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xDC, 0x21, 0x04, 0x30, 0x1F, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xE0,
-+	0x21, 0x04, 0x30, 0x0F, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA0, 0x20, 0x04, 0x30,
-+	0xEF, 0xE1, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xA4, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA8, 0x20,
-+	0x04, 0x30, 0xFE, 0x21, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xB0, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xC4, 0x20, 0x04, 0x30, 0x47, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xC8, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xCC, 0x20, 0x04, 0x30, 0x20, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x08, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x12, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x8A, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0x83, 0x48, 0x84, 0x20,
-+	0x83, 0x48, 0x84, 0x20, 0x83, 0x48, 0x84, 0x20,
-+	0x83, 0x48, 0x84, 0x20, 0x83, 0x48, 0x84, 0x20,
-+	0x83, 0x48, 0x84, 0x20, 0x83, 0x48, 0x84, 0x20,
-+	0x83, 0x48, 0x84, 0x20, 0x83, 0x48, 0x84, 0x20,
-+	0x83, 0x48, 0x84, 0x20, 0x85, 0x48, 0x04, 0x20,
-+	0x87, 0x48, 0x04, 0x20, 0x89, 0x48, 0x04, 0x20,
-+	0x8B, 0x48, 0x04, 0x20, 0x8D, 0x48, 0x04, 0x20,
-+	0x8F, 0x48, 0x04, 0x20, 0x91, 0x48, 0x04, 0x20,
-+	0x93, 0x48, 0x04, 0x20, 0x95, 0x48, 0x04, 0x20,
-+	0x97, 0x48, 0x04, 0x20, 0x99, 0x48, 0x04, 0x20,
-+	0x9B, 0x48, 0x04, 0x20, 0x9D, 0x48, 0x04, 0x20,
-+	0x9F, 0x48, 0x04, 0x20, 0xA1, 0x48, 0x04, 0x20,
-+	0xA3, 0x48, 0x04, 0x20, 0xA3, 0x48, 0x04, 0x00,
-+	0x85, 0x5A, 0x04, 0x20, 0x87, 0x5A, 0x04, 0x20,
-+	0x89, 0x5A, 0x04, 0x20, 0x8B, 0x5A, 0x04, 0x20,
-+	0x8D, 0x5A, 0x04, 0x20, 0x8F, 0x5A, 0x04, 0x20,
-+	0x91, 0x5A, 0x04, 0x20, 0x93, 0x5A, 0x04, 0x20,
-+	0x95, 0x5A, 0x04, 0x20, 0x97, 0x5A, 0x04, 0x20,
-+	0x99, 0x5A, 0x04, 0x20, 0x9B, 0x5A, 0x04, 0x20,
-+	0x9D, 0x5A, 0x04, 0x20, 0x9F, 0x5A, 0x04, 0x20,
-+	0xA1, 0x5A, 0x04, 0x20, 0xA3, 0x5A, 0x04, 0x20,
-+	0xA3, 0x5A, 0x04, 0x00, 0x85, 0x6C, 0x04, 0x20,
-+	0x87, 0x6C, 0x04, 0x20, 0x89, 0x6C, 0x04, 0x20,
-+	0x8B, 0x6C, 0x04, 0x20, 0x8D, 0x6C, 0x04, 0x20,
-+	0x8F, 0x6C, 0x04, 0x20, 0x91, 0x6C, 0x04, 0x20,
-+	0x93, 0x6C, 0x04, 0x20, 0x95, 0x6C, 0x04, 0x20,
-+	0x97, 0x6C, 0x04, 0x20, 0x99, 0x6C, 0x04, 0x20,
-+	0x9B, 0x6C, 0x04, 0x20, 0x9D, 0x6C, 0x04, 0x20,
-+	0x9F, 0x6C, 0x04, 0x20, 0xA1, 0x6C, 0x04, 0x20,
-+	0xA3, 0x6C, 0x04, 0x20, 0xA3, 0x6C, 0x04, 0x00,
-+	0x86, 0x48, 0x04, 0x20, 0x88, 0x48, 0x04, 0x20,
-+	0x8A, 0x48, 0x04, 0x20, 0x8C, 0x48, 0x04, 0x20,
-+	0x8E, 0x48, 0x04, 0x20, 0x90, 0x48, 0x04, 0x20,
-+	0x92, 0x48, 0x04, 0x20, 0xF7, 0x48, 0x04, 0x20,
-+	0xF9, 0x48, 0x04, 0x20, 0xFB, 0x48, 0x04, 0x20,
-+	0xFD, 0x48, 0x04, 0x20, 0xFF, 0x48, 0x04, 0x20,
-+	0x01, 0x49, 0x04, 0x20, 0x03, 0x49, 0x04, 0x20,
-+	0x05, 0x49, 0x04, 0x20, 0x07, 0x49, 0x04, 0x20,
-+	0x07, 0x49, 0x04, 0x00, 0x86, 0x5A, 0x04, 0x20,
-+	0x88, 0x5A, 0x04, 0x20, 0x8A, 0x5A, 0x04, 0x20,
-+	0x8C, 0x5A, 0x04, 0x20, 0x8E, 0x5A, 0x04, 0x20,
-+	0x90, 0x5A, 0x04, 0x20, 0x92, 0x5A, 0x04, 0x20,
-+	0xF7, 0x5A, 0x04, 0x20, 0xF9, 0x5A, 0x04, 0x20,
-+	0xFB, 0x5A, 0x04, 0x20, 0xFD, 0x5A, 0x04, 0x20,
-+	0xFF, 0x5A, 0x04, 0x20, 0x01, 0x5B, 0x04, 0x20,
-+	0x03, 0x5B, 0x04, 0x20, 0x05, 0x5B, 0x04, 0x20,
-+	0x07, 0x5B, 0x04, 0x20, 0x07, 0x5B, 0x04, 0x00,
-+	0x86, 0x6C, 0x04, 0x20, 0x88, 0x6C, 0x04, 0x20,
-+	0x8A, 0x6C, 0x04, 0x20, 0x8C, 0x6C, 0x04, 0x20,
-+	0x8E, 0x6C, 0x04, 0x20, 0x90, 0x6C, 0x04, 0x20,
-+	0x92, 0x6C, 0x04, 0x20, 0xF7, 0x6C, 0x04, 0x20,
-+	0xF9, 0x6C, 0x04, 0x20, 0xFB, 0x6C, 0x04, 0x20,
-+	0xFD, 0x6C, 0x04, 0x20, 0xFF, 0x6C, 0x04, 0x20,
-+	0x01, 0x6D, 0x04, 0x20, 0x03, 0x6D, 0x04, 0x20,
-+	0x05, 0x6D, 0x04, 0x20, 0x07, 0x6D, 0x04, 0x20,
-+	0x07, 0x6D, 0x04, 0x00, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x83, 0x68, 0x84, 0x20,
-+	0x83, 0x68, 0x84, 0x20, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x51, 0x09,
-+	0x10, 0x03, 0x51, 0x09, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x15, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_05[] = { /* 2770 B */
-+	0x06, 0x6B, 0x06, 0x6A, 0x76, 0xCC, 0x1C, 0xD0,
-+	0x50, 0xEB, 0x75, 0x10, 0xC8, 0x18, 0x5C, 0x95,
-+	0x15, 0xAE, 0xA8, 0xC8, 0x10, 0xC0, 0xB0, 0x7A,
-+	0xFA, 0x21, 0x96, 0xFA, 0x22, 0x92, 0xAE, 0x78,
-+	0xF8, 0x43, 0x05, 0x6E, 0xB6, 0x66, 0x62, 0xD5,
-+	0x51, 0xEA, 0xF0, 0xE5, 0x39, 0xE9, 0xA1, 0x19,
-+	0x9D, 0x26, 0x80, 0xE0, 0x38, 0xE8, 0x1C, 0xCA,
-+	0x4A, 0xF1, 0xBF, 0xD8, 0x00, 0xD0, 0x34, 0xD9,
-+	0x5D, 0xB6, 0x00, 0xF2, 0x2A, 0xA2, 0xAA, 0x7C,
-+	0xFC, 0x47, 0xDD, 0xB8, 0x60, 0xB0, 0xD0, 0xEF,
-+	0x6F, 0xB4, 0x46, 0x2C, 0xF4, 0x24, 0xBB, 0x7B,
-+	0x04, 0x20, 0x96, 0xC5, 0x1D, 0xAD, 0x32, 0x32,
-+	0x4D, 0x69, 0xDF, 0xA0, 0x7A, 0xAA, 0xB6, 0x60,
-+	0xE0, 0x5B, 0x89, 0xF6, 0x2C, 0xFC, 0x14, 0xC2,
-+	0x42, 0xF9, 0x23, 0x59, 0x81, 0x51, 0x31, 0xEF,
-+	0x6B, 0x80, 0x36, 0x52, 0x8A, 0x3A, 0x5A, 0x64,
-+	0x1B, 0xF7, 0xBD, 0xD4, 0x0C, 0xDC, 0xBC, 0x54,
-+	0xD0, 0x3B, 0x0D, 0x4C, 0x90, 0x10, 0x70, 0x90,
-+	0x14, 0xFF, 0x65, 0x29, 0xF5, 0x75, 0x55, 0xB5,
-+	0x31, 0xDA, 0x88, 0xC5, 0x19, 0x99, 0xF9, 0x39,
-+	0xB9, 0x5A, 0xD0, 0xBC, 0x64, 0xEC, 0x8C, 0xEC,
-+	0x6C, 0x8F, 0x05, 0xC9, 0x11, 0x99, 0xF9, 0x19,
-+	0x99, 0x7A, 0xC2, 0x8E, 0x56, 0xDE, 0xBE, 0x3E,
-+	0xBE, 0x5D, 0xE3, 0xCF, 0x17, 0x9F, 0xFF, 0x5F,
-+	0xDF, 0x3C, 0x82, 0x8E, 0x56, 0xDE, 0xBE, 0xFE,
-+	0x7E, 0x9D, 0x23, 0xCF, 0x17, 0x9F, 0xC9, 0x48,
-+	0xC8, 0xF6, 0x07, 0x4D, 0x04, 0x98, 0xFB, 0x9A,
-+	0x37, 0xEF, 0x55, 0x31, 0x60, 0xDA, 0x38, 0xB1,
-+	0x31, 0xF7, 0xB1, 0xDD, 0x05, 0xB5, 0xE3, 0x62,
-+	0xE2, 0x19, 0xCE, 0xA2, 0x5F, 0x11, 0x8E, 0x6E,
-+	0x08, 0xC0, 0x66, 0x2A, 0xF2, 0x4E, 0x24, 0x01,
-+	0xAA, 0x54, 0x43, 0x01, 0xDA, 0xDB, 0x94, 0x57,
-+	0xB2, 0x40, 0xDE, 0xAF, 0x87, 0x37, 0x61, 0xE0,
-+	0x60, 0x16, 0xA2, 0x4F, 0xA7, 0x14, 0x78, 0xB1,
-+	0x3A, 0x59, 0x78, 0x0C, 0xC5, 0x54, 0x05, 0xC6,
-+	0x8E, 0x57, 0xEA, 0x3D, 0x25, 0x55, 0x41, 0x46,
-+	0xDC, 0x0C, 0x71, 0x3F, 0x81, 0x3A, 0xAA, 0x8F,
-+	0x6B, 0x95, 0x0E, 0x68, 0xAD, 0xED, 0x90, 0xA0,
-+	0x20, 0xFB, 0x7B, 0x56, 0x8E, 0xAF, 0xFC, 0x3F,
-+	0x9E, 0x70, 0xC5, 0x98, 0x72, 0xC1, 0x20, 0xD4,
-+	0x57, 0x05, 0x60, 0x2E, 0x95, 0x35, 0xCC, 0x9F,
-+	0x02, 0x29, 0xA9, 0x84, 0x5C, 0xDD, 0x8B, 0x48,
-+	0xDE, 0xA7, 0x17, 0x1E, 0x49, 0xDC, 0x94, 0x57,
-+	0x75, 0xCC, 0x58, 0x15, 0xFA, 0x49, 0xB5, 0x7F,
-+	0x77, 0x96, 0xB2, 0xC4, 0x08, 0x3A, 0x72, 0xB2,
-+	0xA0, 0x29, 0x91, 0x1D, 0xCD, 0x7D, 0x5B, 0x9A,
-+	0x1A, 0xC1, 0x7B, 0x1D, 0x20, 0x5C, 0x1C, 0x79,
-+	0x9E, 0x45, 0x42, 0x17, 0xCC, 0xD5, 0x37, 0xFB,
-+	0x67, 0x34, 0x81, 0x0C, 0xEC, 0x5F, 0xCD, 0x05,
-+	0x50, 0x87, 0x58, 0xA4, 0x83, 0x03, 0xF2, 0x08,
-+	0x8B, 0xA2, 0x5C, 0xE5, 0xBC, 0x3E, 0x5D, 0x45,
-+	0xC6, 0xF5, 0x4D, 0xE3, 0x76, 0x11, 0xD9, 0x1A,
-+	0x78, 0xFE, 0x1F, 0xC1, 0x73, 0xDF, 0x7F, 0x9F,
-+	0x1F, 0x4C, 0x22, 0xDC, 0x2D, 0x1D, 0xEF, 0x45,
-+	0xE6, 0x31, 0x8E, 0x70, 0xC2, 0x50, 0xA2, 0x38,
-+	0xEE, 0xD5, 0x6B, 0x07, 0xC2, 0x82, 0x4A, 0x89,
-+	0xAB, 0xBA, 0x54, 0x5D, 0x7C, 0xEB, 0x96, 0xA6,
-+	0x26, 0xFD, 0x7D, 0x50, 0x88, 0xA9, 0xFE, 0x3D,
-+	0x3F, 0xED, 0x7F, 0x91, 0x00, 0x95, 0x50, 0xB1,
-+	0x31, 0x4B, 0xC6, 0xA9, 0xF0, 0x72, 0x11, 0xDD,
-+	0x74, 0x2D, 0xB3, 0xCD, 0x87, 0x5D, 0x39, 0x19,
-+	0x91, 0x4A, 0x5E, 0x92, 0xDE, 0xDF, 0x89, 0x4A,
-+	0x0B, 0xEC, 0x59, 0x8D, 0x5E, 0x2E, 0x6E, 0xAE,
-+	0xE6, 0x31, 0x15, 0x62, 0xE7, 0xFD, 0x36, 0x3C,
-+	0x25, 0x6C, 0xB1, 0xF5, 0x08, 0x02, 0x42, 0x9F,
-+	0xEF, 0x34, 0xB4, 0x99, 0x41, 0xFD, 0x88, 0x09,
-+	0xBE, 0x66, 0xE7, 0x69, 0x9D, 0x6A, 0xE8, 0x27,
-+	0x95, 0x4A, 0xDB, 0x95, 0x49, 0xDF, 0x85, 0x67,
-+	0xC7, 0x3D, 0xAA, 0xE4, 0x78, 0xED, 0x90, 0xA0,
-+	0x79, 0xE6, 0xC2, 0xAA, 0x57, 0x65, 0x01, 0xE7,
-+	0x6C, 0x2E, 0x08, 0xF4, 0x58, 0x7A, 0x5E, 0xB9,
-+	0xA3, 0xF0, 0xC6, 0x2B, 0xD2, 0xE0, 0xC4, 0x21,
-+	0xBC, 0x97, 0x78, 0x20, 0x4A, 0xFE, 0xB9, 0xDB,
-+	0x5F, 0xA1, 0xB5, 0x9D, 0x4F, 0xE4, 0x2E, 0x4E,
-+	0x6E, 0xC1, 0xD5, 0xFD, 0x03, 0x09, 0xC3, 0xA3,
-+	0x82, 0x78, 0x6C, 0x44, 0xB9, 0x14, 0x84, 0x44,
-+	0xC4, 0x1F, 0x9F, 0xB2, 0x6A, 0x1A, 0x5A, 0x9A,
-+	0x16, 0xC4, 0xF3, 0xA2, 0x79, 0xF8, 0xA2, 0x61,
-+	0xB0, 0x50, 0xE5, 0xFB, 0x00, 0x3A, 0x9A, 0x7A,
-+	0xFA, 0x69, 0x9A, 0x94, 0x6F, 0x56, 0xB6, 0x01,
-+	0x91, 0xCA, 0x0B, 0x76, 0x2E, 0xF8, 0x88, 0x88,
-+	0x28, 0xF3, 0x77, 0x38, 0x61, 0xA1, 0xA7, 0x47,
-+	0xB6, 0x5B, 0xEE, 0xE2, 0x7E, 0xEE, 0xBE, 0xDF,
-+	0x5B, 0xE1, 0x6B, 0x04, 0xEC, 0xDD, 0xB9, 0x49,
-+	0x78, 0xE2, 0xEC, 0x87, 0x49, 0xD1, 0xB9, 0xFB,
-+	0x50, 0x94, 0x15, 0x71, 0xD5, 0xE4, 0xBA, 0x79,
-+	0xF5, 0x64, 0x5A, 0xDE, 0x36, 0x35, 0x75, 0x55,
-+	0xDD, 0x06, 0x78, 0x51, 0xA8, 0x2F, 0x4C, 0x87,
-+	0x9B, 0x56, 0xB9, 0xDF, 0xB5, 0xC9, 0x57, 0x81,
-+	0xBA, 0x6B, 0x0F, 0xAF, 0x8A, 0x2C, 0xE1, 0x2D,
-+	0xBB, 0xDC, 0x6A, 0x20, 0xB4, 0x0C, 0xCE, 0xAE,
-+	0x2E, 0x50, 0x50, 0x1C, 0x06, 0x93, 0xF7, 0xF7,
-+	0xE7, 0x48, 0x52, 0x57, 0xA9, 0x50, 0x14, 0x71,
-+	0xE1, 0x3A, 0x0D, 0x53, 0x88, 0xBA, 0xF2, 0x20,
-+	0x40, 0x93, 0x25, 0xEB, 0x93, 0xB7, 0x6F, 0xA8,
-+	0xE8, 0x13, 0xA5, 0x01, 0xDF, 0xFD, 0x86, 0x1B,
-+	0x31, 0x41, 0x3D, 0xC8, 0x82, 0x59, 0x11, 0x34,
-+	0x1D, 0xE6, 0x98, 0xB1, 0x65, 0xDE, 0x3E, 0x52,
-+	0xD3, 0xA8, 0xBA, 0xF6, 0x0B, 0xA8, 0xC8, 0xA5,
-+	0x26, 0xF1, 0x4C, 0x85, 0x4F, 0xFF, 0x57, 0xD2,
-+	0x92, 0xD9, 0x1B, 0xEB, 0xAA, 0x3C, 0x15, 0xC2,
-+	0x5F, 0x74, 0x02, 0x4E, 0x96, 0xEE, 0x88, 0xFA,
-+	0x61, 0xE7, 0xFC, 0x92, 0x80, 0x8B, 0x52, 0xA0,
-+	0xC5, 0xB8, 0x2E, 0x5F, 0x77, 0xC7, 0xA7, 0x67,
-+	0x55, 0x2E, 0x99, 0x27, 0xFD, 0x47, 0x85, 0x47,
-+	0xEF, 0x34, 0x5F, 0x22, 0x7A, 0x60, 0x11, 0x71,
-+	0x5D, 0xA6, 0xC0, 0x06, 0xFE, 0x6B, 0x04, 0xC4,
-+	0xEC, 0xB5, 0x0F, 0x68, 0x15, 0xAB, 0xCB, 0x2E,
-+	0xE7, 0x3C, 0x86, 0xC1, 0x3C, 0x82, 0xE2, 0x3F,
-+	0x4F, 0x94, 0x2E, 0x48, 0xF5, 0xE8, 0xA8, 0xA0,
-+	0x65, 0x38, 0x54, 0xC7, 0x1F, 0xAF, 0x62, 0xA1,
-+	0x04, 0x36, 0x7F, 0xE1, 0x3B, 0xAD, 0x2F, 0xED,
-+	0x4A, 0x66, 0x6E, 0x13, 0x43, 0xC1, 0x1D, 0x55,
-+	0x4D, 0xD4, 0xDE, 0xFB, 0x81, 0x33, 0x59, 0x95,
-+	0x1E, 0x7C, 0x8F, 0x41, 0xDB, 0x4E, 0xE6, 0x63,
-+	0x25, 0x2E, 0x67, 0xA6, 0x7D, 0x28, 0xAE, 0x91,
-+	0xC3, 0x1A, 0x8A, 0x24, 0xFE, 0x69, 0xDE, 0xA2,
-+	0x33, 0x00, 0x84, 0x44, 0x62, 0x2A, 0x08, 0x64,
-+	0x5B, 0x02, 0xB6, 0xD0, 0x04, 0xBD, 0x44, 0xC1,
-+	0xC3, 0x5A, 0xC9, 0x6D, 0xF0, 0xC6, 0x61, 0x5E,
-+	0xDE, 0x05, 0xBF, 0xD9, 0xE4, 0x4A, 0x2A, 0xBC,
-+	0x86, 0xA1, 0x1B, 0x6D, 0xD0, 0x7E, 0x1E, 0xD2,
-+	0x69, 0x7F, 0xC3, 0xA3, 0x31, 0x41, 0x8A, 0xD9,
-+	0xF0, 0x6E, 0xDE, 0x5C, 0x7B, 0xCB, 0xA7, 0x4D,
-+	0xE8, 0x2E, 0x98, 0x2C, 0xB1, 0x0D, 0x23, 0x43,
-+	0x1D, 0x45, 0x2A, 0x03, 0x1D, 0x5F, 0xC0, 0x00,
-+	0x80, 0x5B, 0xDB, 0xF6, 0x2E, 0x3C, 0xFC, 0x18,
-+	0x49, 0xAF, 0x1A, 0x97, 0x70, 0xC3, 0x92, 0x65,
-+	0xE6, 0x1C, 0x90, 0xFF, 0x66, 0xE8, 0x8B, 0x8B,
-+	0x2B, 0xF0, 0xC4, 0x8C, 0x5A, 0x58, 0x1A, 0x53,
-+	0x11, 0xC9, 0x57, 0xDB, 0xB8, 0x18, 0xF8, 0xF4,
-+	0x65, 0x6E, 0x14, 0x68, 0x70, 0x7B, 0x3B, 0x1B,
-+	0x93, 0x48, 0x3E, 0x72, 0xAA, 0x36, 0xDC, 0x94,
-+	0xF0, 0xFA, 0x0D, 0x62, 0x08, 0x9A, 0x70, 0x72,
-+	0xF1, 0x0F, 0x58, 0x74, 0xAF, 0x9F, 0x33, 0xE2,
-+	0x82, 0x95, 0x33, 0x8F, 0xEC, 0x4C, 0xEC, 0x97,
-+	0x37, 0x0C, 0xB2, 0xDE, 0x1B, 0x5B, 0x0D, 0x8C,
-+	0x0C, 0x96, 0x16, 0x79, 0xF0, 0x72, 0x11, 0x09,
-+	0x8D, 0x27, 0xA6, 0xC9, 0x83, 0x1E, 0x62, 0x62,
-+	0xC2, 0x19, 0x2D, 0x56, 0x80, 0xF2, 0x8F, 0x19,
-+	0xB0, 0x62, 0x56, 0xF2, 0xD2, 0xF0, 0xBD, 0x61,
-+	0xAA, 0xBD, 0xCB, 0x67, 0x4B, 0x39, 0x04, 0x92,
-+	0x59, 0x1B, 0x3F, 0x3E, 0xFA, 0xCD, 0x81, 0x37,
-+	0x96, 0x74, 0xC1, 0x48, 0xCC, 0x59, 0x81, 0x45,
-+	0x67, 0xD7, 0x43, 0xA3, 0xC1, 0xF3, 0xB9, 0x7A,
-+	0x78, 0x8B, 0x3D, 0xB1, 0x61, 0xD1, 0xF7, 0x36,
-+	0xB6, 0x6D, 0xD7, 0xB1, 0x8C, 0xA6, 0xE6, 0xAE,
-+	0x8B, 0xB0, 0x0E, 0x62, 0x57, 0xED, 0x5F, 0xBB,
-+	0x3B, 0x52, 0xFE, 0x86, 0xFC, 0x21, 0x63, 0x71,
-+	0xEC, 0x61, 0x65, 0xC2, 0xE2, 0x85, 0x4E, 0x8F,
-+	0xD2, 0x02, 0x09, 0x67, 0x17, 0x89, 0x39, 0x99,
-+	0xED, 0xFB, 0x4B, 0xAC, 0xDE, 0x8B, 0x8B, 0x63,
-+	0xC9, 0x34, 0x3A, 0x52, 0x02, 0xE7, 0x25, 0xCE,
-+	0x6C, 0x25, 0xB8, 0xC8, 0xD2, 0x79, 0x4F, 0xEF,
-+	0xF6, 0xED, 0x3B, 0x9B, 0x83, 0xF1, 0xCA, 0x5C,
-+	0x4E, 0xFE, 0x54, 0xD8, 0x08, 0xB8, 0x00, 0xC4,
-+	0xE6, 0x2A, 0x92, 0x3C, 0xF9, 0x1F, 0xDD, 0xD7,
-+	0xAF, 0xD3, 0xC9, 0x2B, 0x75, 0xC5, 0xA5, 0x44,
-+	0xFD, 0x25, 0x21, 0x8E, 0xA9, 0xEF, 0xA4, 0x30,
-+	0xA6, 0x91, 0x22, 0xAB, 0x27, 0xB2, 0x1A, 0xDE,
-+	0xFC, 0x4B, 0xDF, 0x3F, 0x5D, 0x6F, 0x25, 0xE6,
-+	0xE4, 0x17, 0xA1, 0x2D, 0xFD, 0x4D, 0x6B, 0xAA,
-+	0x2A, 0xF1, 0x4B, 0x2D, 0x10, 0x32, 0x72, 0x3A,
-+	0x1F, 0x24, 0x9A, 0xF6, 0xE6, 0x52, 0x8F, 0x4D,
-+	0x6F, 0xD8, 0x4C, 0x88, 0x7A, 0x08, 0x74, 0xE2,
-+	0xC0, 0xD1, 0x6F, 0xE6, 0x67, 0xFF, 0x2E, 0xD7,
-+	0x54, 0x07, 0xE4, 0x20, 0xFC, 0x8E, 0x4E, 0x8E,
-+	0xCC, 0x4D, 0xAD, 0x73, 0xC1, 0x6D, 0xAF, 0x45,
-+	0xE7, 0xDC, 0x62, 0x0E, 0x04, 0x90, 0xF0, 0xC0,
-+	0x60, 0xBB, 0xCF, 0xBE, 0x30, 0x0C, 0xF0, 0x92,
-+	0x3F, 0xF8, 0xF3, 0x9D, 0x20, 0xC7, 0x8F, 0x9D,
-+	0x39, 0xE2, 0x32, 0x7D, 0x9B, 0xC9, 0xB4, 0x23,
-+	0x1F, 0xAA, 0x79, 0x5B, 0xA6, 0xEE, 0x8A, 0xE8,
-+	0x07, 0xFE, 0xE4, 0x92, 0xC2, 0x48, 0xA0, 0x68,
-+	0x08, 0xDB, 0x6D, 0x89, 0xF4, 0xA4, 0xCC, 0x0C,
-+	0x14, 0xCB, 0xF5, 0xCC, 0xB6, 0x6F, 0x2D, 0x0D,
-+	0x85, 0x5E, 0x40, 0x28, 0x52, 0xF8, 0xCF, 0x59,
-+	0xA3, 0x85, 0x35, 0x5A, 0x82, 0x32, 0x52, 0x33,
-+	0xF0, 0x28, 0x2F, 0x01, 0xDA, 0xD3, 0xE4, 0x01,
-+	0x3D, 0xC1, 0xAF, 0xC7, 0xDD, 0x70, 0x47, 0x0B,
-+	0x87, 0x41, 0x07, 0xCA, 0x57, 0xE4, 0x55, 0xD1,
-+	0x52, 0x50, 0x81, 0x08, 0x6A, 0xFD, 0x80, 0xB0,
-+	0x30, 0xEB, 0x6B, 0x46, 0x9E, 0xEF, 0xB8, 0x7B,
-+	0x5A, 0xBA, 0x0F, 0xDF, 0xC5, 0xF7, 0x55, 0x6B,
-+	0xFD, 0x6E, 0xDE, 0xD4, 0x1E, 0x85, 0x5D, 0x97,
-+	0xF5, 0x22, 0xB0, 0x0E, 0xDD, 0x6A, 0xA8, 0x63,
-+	0xE5, 0xAC, 0x11, 0x78, 0x70, 0x6A, 0xCA, 0x9D,
-+	0x37, 0xA5, 0xB1, 0x91, 0x61, 0x33, 0x1F, 0xFA,
-+	0x58, 0x88, 0x37, 0xA9, 0x7A, 0xC2, 0x50, 0xDC,
-+	0x7B, 0x82, 0x78, 0x32, 0xE6, 0x44, 0x39, 0x09,
-+	0x89, 0x52, 0xE8, 0x8E, 0xB3, 0x87, 0xC7, 0x0B,
-+	0x89, 0x4F, 0x09, 0xDD, 0x0F, 0x6D, 0x01, 0xE9,
-+	0xCB, 0x1B, 0xAA, 0x44, 0x97, 0x23, 0x99, 0xF3,
-+	0xD4, 0x27, 0xD7, 0x19, 0x8D, 0x15, 0x57, 0x9C,
-+	0x15, 0x2C, 0x96, 0xDE, 0xF4, 0x4F, 0x27, 0x15,
-+	0xD9, 0x25, 0x71, 0x51, 0xAC, 0x3E, 0x12, 0xF4,
-+	0x78, 0xB1, 0x1A, 0x86, 0x52, 0xE0, 0x9D, 0xAD,
-+	0x95, 0x44, 0x50, 0x30, 0xC0, 0xA2, 0xC9, 0x0E,
-+	0x0C, 0xDC, 0x6F, 0xD3, 0xA1, 0xD1, 0x36, 0xDC,
-+	0x40, 0x39, 0xC3, 0x87, 0x7D, 0xC6, 0xAF, 0x8D,
-+	0x01, 0xFE, 0xBA, 0xDD, 0x0D, 0x4F, 0x63, 0x84,
-+	0xE6, 0x71, 0xE2, 0xAC, 0x38, 0xAE, 0xC2, 0x10,
-+	0x8D, 0xA6, 0x1C, 0x72, 0xB7, 0xF7, 0x9B, 0x59,
-+	0xC4, 0xEF, 0x6F, 0x42, 0x9A, 0x0B, 0x5D, 0x9E,
-+	0x9C, 0x65, 0xD3, 0xFE, 0x11, 0xA2, 0x40, 0x98,
-+	0x4F, 0xA5, 0x21, 0x4E, 0x3A, 0xF2, 0x37, 0xCA,
-+	0x6F, 0x2C, 0x98, 0x56, 0xE7, 0x75, 0xB9, 0xA3,
-+	0xAB, 0x4A, 0x74, 0x10, 0x28, 0x90, 0xF0, 0xB8,
-+	0x9B, 0xA0, 0x1E, 0x72, 0x32, 0x80, 0x62, 0x81,
-+	0x04, 0x7D, 0xA2, 0xEC, 0xD4, 0x6C, 0x0C, 0x64,
-+	0xE6, 0x9F, 0x33, 0x08, 0x86, 0x5C, 0xC1, 0xA0,
-+	0x65, 0xBD, 0xBA, 0x92, 0x49, 0x40, 0x44, 0x21,
-+	0x0A, 0xF6, 0x5D, 0xC1, 0x19, 0xA9, 0xC9, 0xA8,
-+	0x6B, 0xB3, 0xC4, 0xEA, 0x31, 0x48, 0x7C, 0x19,
-+	0x33, 0xCF, 0xA1, 0xCF, 0xC5, 0x68, 0x5F, 0xC9,
-+	0x34, 0x11, 0xE1, 0x7B, 0x5C, 0xEC, 0xBA, 0x3B,
-+	0xBB, 0x6C, 0xD0, 0x9D, 0x73, 0xC0, 0xDC, 0xF0,
-+	0xC8, 0x11, 0x26, 0x74, 0xAF, 0xAD, 0xE6, 0x05,
-+	0x0D, 0x3E, 0x48, 0x9F, 0x57, 0x07, 0x6F, 0xAF,
-+	0x87, 0x5E, 0x4A, 0xEC, 0x6C, 0x39, 0xFE, 0x19,
-+	0x84, 0xAF, 0x2F, 0x02, 0xDA, 0x76, 0xCE, 0x89,
-+	0x9B, 0x44, 0xD3, 0xF9, 0x22, 0x8F, 0x1F, 0x72,
-+	0xF0, 0x0E, 0x0E, 0x47, 0xB2, 0x08, 0x75, 0x45,
-+	0xC5, 0x1E, 0x9E, 0xB3, 0x6B, 0x76, 0x14, 0xB1,
-+	0x31, 0xEA, 0x50, 0x3E, 0xFB, 0xBB, 0xED, 0x6C,
-+	0xEC, 0x17, 0x03, 0x4F, 0xB2, 0xE0, 0xA7, 0x56,
-+	0xED, 0x35, 0x1B, 0x74, 0x0C, 0x34, 0x15, 0x57,
-+	0x9E, 0x44, 0x50, 0x75, 0xAD, 0x36, 0xF4, 0xD1,
-+	0xB1, 0x4D, 0x4A, 0x11, 0xCA, 0xF8, 0x9A, 0x5F,
-+	0x2D, 0xF4, 0x45, 0xFB, 0x21, 0x97, 0x35, 0xF7,
-+	0x7F, 0x4C, 0xF9, 0x07, 0xDD, 0x69, 0x9B, 0x15,
-+	0x91, 0xC8, 0x30, 0x59, 0x23, 0xDD, 0xBF, 0xDF,
-+	0xF7, 0x6D, 0x79, 0x5B, 0x80, 0x92, 0xF0, 0x39,
-+	0x4B, 0xDE, 0x6F, 0xA1, 0x32, 0xA4, 0x66, 0xE8,
-+	0x61, 0x78, 0x80, 0xE4, 0xEE, 0x10, 0x76, 0x66,
-+	0x36, 0x99, 0xEF, 0x43, 0xEF, 0x9D, 0xB6, 0x51,
-+	0x03, 0x93, 0x0D, 0xCB, 0xCF, 0xAF, 0x1E, 0xFF,
-+	0xAD, 0x3D, 0xAF, 0xDE, 0xF6, 0x46, 0x10, 0x91,
-+	0x11, 0x07, 0xB3, 0xD3, 0x06, 0xAD, 0xAE, 0xD3,
-+	0x55, 0xB9, 0x3B, 0x26, 0xD5, 0x31, 0x61, 0xE5,
-+	0xA5, 0x65, 0x97, 0xBB, 0xE2, 0x13, 0x74, 0xD0,
-+	0x56, 0xA6, 0xA3, 0x1D, 0xC7, 0x77, 0x0C, 0x0E,
-+	0x12, 0xF1, 0xEA, 0x8B, 0x78, 0x73, 0xF1, 0x3D,
-+	0xBD, 0xB4, 0x0E, 0x63, 0x90, 0xEC, 0x66, 0x0C,
-+	0x56, 0x27, 0xC6, 0x31, 0x07, 0x6A, 0x00, 0x6D,
-+	0xE0, 0x86, 0x34, 0x7D, 0xC5, 0x5D, 0xF0, 0x32,
-+	0x0F, 0xD2, 0x68, 0x09, 0x91, 0xC0, 0xE1, 0x26,
-+	0xC2, 0x15, 0xB8, 0x16, 0x1C, 0xAE, 0xCE, 0x15,
-+	0x23, 0x28, 0x44, 0xE8, 0xE0, 0x81, 0x81, 0xDD,
-+	0xA3, 0x55, 0xEE, 0x10, 0xC4, 0x74, 0x3F, 0x44,
-+	0x54, 0x15, 0x63, 0x9F, 0xD6, 0x06, 0xFC, 0x1E,
-+	0x1C, 0xCB, 0x7C, 0x3B, 0x2F, 0x1F, 0xF5, 0xF5,
-+	0xF5, 0xAF, 0x79, 0x9F, 0x65, 0x82, 0x79, 0x5B,
-+	0xC6, 0xED, 0x76, 0x17, 0xD2, 0x92, 0xFE, 0x3C,
-+	0xA1, 0x8A, 0x0A, 0x07, 0xDF, 0xAF, 0xEF, 0x2F,
-+	0xEE, 0x7C, 0xC9, 0x04, 0x94, 0x27, 0x66, 0xE1,
-+	0x62, 0xEB, 0xFD, 0x90, 0x1A, 0xC8, 0x29, 0x29,
-+	0x89, 0x52, 0x76, 0x38, 0x60, 0x10, 0x50, 0x90,
-+	0xB0, 0xF2, 0x64, 0x9A, 0x20, 0x10, 0xB0, 0x50,
-+	0xD0, 0x89, 0x1B, 0xF6, 0xEE, 0x7E, 0x1E, 0x8E,
-+	0x86, 0x7D, 0x49, 0x41, 0x18, 0xCD, 0x8F, 0x6A,
-+	0xD7, 0x06, 0xA6, 0x80, 0x54, 0x5C, 0x16, 0x6F,
-+	0xEE, 0x39, 0x84, 0x08, 0xB1, 0x01, 0xB3, 0xD3,
-+	0x53, 0x59, 0xD8, 0xB7, 0xAF, 0x3F, 0x5F, 0x5D,
-+	0xFF, 0xA4, 0xD2, 0x9E, 0x46, 0xA6, 0x0A, 0xEA,
-+	0xB8, 0x7E, 0xC6, 0x68, 0xD2, 0xE2, 0x24, 0xF9,
-+	0x5C, 0x25, 0x33, 0xA3, 0xB9, 0x28, 0x48, 0x48,
-+	0xE8, 0x33, 0x77, 0x39, 0x6B, 0x2B, 0xC3, 0x42,
-+	0x62, 0x46, 0xE0, 0x0B, 0xCC, 0x8C, 0x2C, 0xCC,
-+	0x4C, 0xDC, 0xD1, 0x3F, 0xC5, 0xF9, 0x1B, 0xB7,
-+	0x37, 0x2E, 0x54, 0x3C, 0x33, 0xA8, 0x17, 0x86,
-+	0x4C, 0x94, 0xC2, 0x48, 0x83, 0x23, 0x63, 0xA3,
-+	0xA1, 0x5F, 0xED, 0x61, 0xB1, 0x01, 0x77, 0xBD,
-+	0x3A, 0xED, 0x55, 0xF8, 0x1B, 0xA8, 0xB4, 0x9C,
-+	0x10, 0x81, 0x4B, 0x1E, 0x06, 0x96, 0xF6, 0xE4,
-+	0x40, 0x1D, 0x6B, 0x27, 0xFF, 0xDF, 0x22, 0xF2,
-+	0xD2, 0x90, 0x06, 0xF8, 0x44, 0x72, 0xD2, 0x32,
-+	0xB2, 0x9B, 0x09, 0xE4, 0xFC, 0x6C, 0x0C, 0x4C,
-+	0x33, 0xF8, 0xBC, 0xB4, 0xED, 0x9D, 0xDD, 0x1D,
-+	0x4F, 0xF0, 0xC0, 0x6C, 0x94, 0x24, 0x8C, 0x40,
-+	0x68, 0x90, 0xD4, 0xB4, 0x6C, 0x6E, 0x02, 0xC3,
-+	0x81, 0x96, 0x22, 0xCE, 0xAD, 0x0C, 0x9C, 0xE7,
-+	0x47, 0x4E, 0xF4, 0x98, 0x82, 0x3E, 0x5F, 0x7D,
-+	0x9F, 0xC5, 0xF3, 0x53, 0x9A, 0xFA, 0x56, 0xB6,
-+	0xD3, 0xE0, 0xA9, 0x4D, 0xA6, 0x3B, 0x51, 0x19,
-+	0x91, 0xE7, 0x52, 0xDE, 0x0E, 0xBE, 0xC3, 0xF3,
-+	0x73, 0xA8, 0x12, 0x74, 0x49, 0xAD, 0xED, 0xAB,
-+	0xE6, 0xC2, 0xFC, 0xD5, 0xED, 0x55, 0x35, 0xE3,
-+	0x19, 0x3D, 0x4D, 0xC1, 0xE6, 0x56, 0x00, 0x81,
-+	0x01, 0x7B, 0x86, 0xE9, 0x80, 0x7C, 0x1F, 0x12,
-+	0x90, 0x2E, 0x70, 0x38, 0x51, 0xAF, 0xCC, 0x2C,
-+	0x86, 0xFD, 0xEA, 0xCB, 0x10, 0x6D, 0x0F, 0xAA,
-+	0xCD, 0x32, 0x35, 0x09, 0xD2, 0x42, 0x18, 0x78,
-+	0x3A, 0x22, 0x84, 0x49, 0xDE, 0x6D, 0x01, 0xC3,
-+	0x6A, 0xB2, 0x2D, 0x52, 0xA3, 0x30, 0x79, 0x8A,
-+	0xEF, 0xD1, 0x43, 0x9E, 0x14, 0xA7, 0xF7, 0x0D,
-+	0x2D, 0x34, 0x41, 0x3D, 0x44, 0xA5, 0xC6, 0xE3,
-+	0x87, 0x78, 0xC2, 0xA7, 0x4F, 0xC5, 0x05, 0xF7,
-+	0xB4, 0x7F, 0xE2, 0x17, 0xE6, 0x55, 0x1C, 0xCF,
-+	0xC4, 0x2C, 0xFC, 0x09, 0x25, 0x38, 0x5B, 0x29,
-+	0x09, 0x77, 0xED, 0xCD, 0xF0, 0x73, 0x3B, 0x5A,
-+	0x89, 0x51, 0x56, 0x6E, 0xB5, 0xC7, 0x64, 0x80,
-+	0x65, 0x5C, 0xCE, 0x13, 0x9D, 0x2E, 0x7E, 0x84,
-+	0xA4, 0xDE, 0x3D, 0x52, 0xB8, 0xCB, 0x8F, 0x82,
-+	0x01, 0x3F, 0x6A, 0x22, 0x4B, 0xA3, 0xC0, 0x30,
-+	0x8A, 0xF1, 0xE6, 0xDD, 0x06, 0x7B, 0x18, 0xBD,
-+	0xD8, 0x27, 0x20, 0x16, 0xCD, 0x4D, 0x17, 0x77,
-+	0x56, 0xD4, 0x61, 0xC0, 0x1B, 0x0E, 0x8A, 0x6E,
-+	0x5F, 0xD8, 0x6D, 0x31, 0xD3, 0xC3, 0x02, 0x99,
-+	0x1A, 0x0C, 0xB9, 0x70, 0x4B, 0xDF, 0x8F, 0x65,
-+	0x45, 0x83, 0xC5, 0xA9, 0x71, 0xC1, 0xBB, 0x7A,
-+	0xFA, 0x21, 0x97, 0xFB, 0x23, 0x93, 0x7F, 0xB2,
-+	0x30, 0x8B, 0xA9, 0xD3, 0x0B, 0xDB, 0xA6, 0x66,
-+	0xEC, 0x37, 0x03, 0x6B, 0x30, 0x84, 0x44, 0x97,
-+	0x15, 0xAE, 0x19, 0x75, 0xAD, 0x1D, 0x01, 0xD7,
-+	0x57, 0xEC, 0x26, 0x5C, 0x84, 0x54, 0x9C, 0x4A,
-+	0xCA, 0x71, 0x4F, 0x35, 0xED, 0x3D, 0xD5, 0x03,
-+	0x83, 0x38, 0x22, 0x58, 0x80, 0x50, 0x30, 0xF0,
-+	0x70, 0xAB, 0x1D, 0x71, 0xA9, 0x19, 0x79, 0xB9,
-+	0x39, 0xE2, 0x54, 0x38, 0xE0, 0x50, 0x30, 0xF0,
-+	0x70, 0xAB, 0x1D, 0x71, 0xA9, 0x19, 0x79, 0xB9,
-+	0x39, 0xE2, 0x54, 0x38, 0xE0, 0x50, 0x30, 0xF0,
-+	0x70, 0xAB, 0x1D, 0x71, 0xA9, 0x19, 0x79, 0xB9,
-+	0x39, 0xE2, 0x7C, 0x19, 0xC1, 0x11, 0x55, 0x9C,
-+	0x1C, 0xA7, 0x03, 0x5F, 0x87, 0x37, 0x97, 0x41,
-+	0xC1, 0x7A, 0x7C, 0x10, 0xC8, 0x78, 0x64, 0xA3,
-+	0x23, 0x98, 0x82, 0xE3, 0x39, 0xE9, 0x79, 0xBE,
-+	0x3E, 0x85, 0xC3, 0xA2, 0x78, 0xA8, 0xB8, 0x76,
-+	0xF4, 0x4F, 0xF1, 0x92, 0x48, 0x98, 0x44, 0x83,
-+	0x03, 0xB8, 0x86, 0xF9, 0x23, 0xF3, 0x3F, 0xEA,
-+	0x68, 0xD3, 0x53, 0x7E, 0xA6, 0x97, 0x45, 0x80,
-+	0xB1, 0xDA, 0x69, 0xA7, 0xDF, 0x6C, 0x9D, 0xEC,
-+	0x69, 0x10, 0xED, 0x81, 0xDB, 0x02, 0x62, 0xC7,
-+	0x46, 0x9D, 0x0E, 0x60, 0xB8, 0x2D, 0x49, 0x89,
-+	0xA8, 0xC0, 0x73, 0xAE, 0xC2, 0x77, 0xF2, 0xA3,
-+	0x04, 0xC2, 0x84, 0xE8, 0x30, 0x80, 0xD6, 0x57,
-+	0xD7, 0x3D, 0x3E, 0x57, 0xAE, 0xA8, 0xCD, 0x24,
-+	0x77, 0xB1, 0xF7, 0x9B, 0x43, 0xF3, 0xA5, 0x24,
-+	0xA4, 0xCE, 0xC0, 0xA9, 0x40, 0x4B, 0x2E, 0xCF,
-+	0xF3, 0x2D, 0x1A, 0xCC, 0x11, 0x30, 0xE7, 0x22,
-+	0x03, 0x61, 0xD2, 0x17, 0x16, 0x24, 0x2D, 0xFD,
-+	0x54, 0xAC, 0xA3, 0x56, 0x93, 0xD3, 0x85, 0x04,
-+	0x84, 0x6E, 0x6D, 0x04, 0xFD, 0xF0, 0x95, 0x7C,
-+	0x6F, 0xA9, 0xEF, 0x83, 0x5B, 0xEB, 0x8B, 0x4B,
-+	0xCB, 0x10, 0xA6, 0xCA, 0x12, 0xA2, 0xC2, 0x02,
-+	0x82, 0x59, 0xEE, 0x82, 0x5E, 0xEE, 0x76, 0xA0,
-+	0x22, 0x99,
-+};
-+
-+static unsigned char vfs5011_init_06[] = { /* 2855 B */
-+	0x02, 0xB0, 0x00, 0x62, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x01, 0x80, 0x64, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE6, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xE7, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xE8, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x00, 0x92, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x02, 0xA8, 0x02, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0x83, 0xA7, 0x00, 0x5F, 0x82, 0xA7, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x00, 0x5F, 0x82, 0x27, 0x00,
-+	0xFF, 0x83, 0x27, 0x20, 0x5F, 0x82, 0x27, 0x20,
-+	0xFF, 0x8B, 0x27, 0x20, 0x60, 0x8A, 0x27, 0x20,
-+	0xFF, 0x93, 0x27, 0x20, 0x61, 0x92, 0x27, 0x20,
-+	0xFF, 0x9B, 0x27, 0x20, 0x62, 0x9A, 0x27, 0x20,
-+	0xFF, 0xA3, 0x27, 0x20, 0x63, 0xA2, 0x27, 0x20,
-+	0xFF, 0xAB, 0x27, 0x20, 0x64, 0xAA, 0x27, 0x20,
-+	0xFF, 0xB3, 0x27, 0x20, 0x65, 0xB2, 0x27, 0x20,
-+	0xFF, 0xBB, 0x27, 0x20, 0x66, 0xBA, 0x27, 0x20,
-+	0xFF, 0xC3, 0x27, 0x20, 0x67, 0xC2, 0x27, 0x20,
-+	0xFF, 0xCB, 0x27, 0x20, 0x68, 0xCA, 0x27, 0x20,
-+	0xFF, 0xD3, 0x27, 0x20, 0x69, 0xD2, 0x27, 0x20,
-+	0xFF, 0xDB, 0x27, 0x20, 0x6A, 0xDA, 0x27, 0x20,
-+	0xFF, 0xE3, 0x27, 0x20, 0x6B, 0xE2, 0x27, 0x20,
-+	0xFF, 0xEB, 0x27, 0x20, 0x6C, 0xEA, 0x27, 0x20,
-+	0xFF, 0xF3, 0x27, 0x20, 0x6D, 0xF2, 0x27, 0x20,
-+	0xFF, 0xFB, 0x27, 0x20, 0x6E, 0xFA, 0x27, 0x20,
-+	0xFF, 0x85, 0x27, 0x20, 0x6F, 0x84, 0x27, 0x20,
-+	0xFF, 0x8D, 0x27, 0x20, 0x70, 0x8C, 0x27, 0x20,
-+	0xFF, 0x95, 0x27, 0x20, 0x71, 0x94, 0x27, 0x20,
-+	0xFF, 0x9D, 0x27, 0x20, 0x72, 0x9C, 0x27, 0x20,
-+	0xFF, 0xA5, 0x27, 0x20, 0x73, 0xA4, 0x27, 0x20,
-+	0xFF, 0xAD, 0x27, 0x20, 0x74, 0xAC, 0x27, 0x20,
-+	0xFF, 0xB5, 0x27, 0x20, 0x75, 0xB4, 0x27, 0x20,
-+	0xFF, 0xBD, 0x27, 0x20, 0x76, 0xBC, 0x27, 0x20,
-+	0xFF, 0xC5, 0x27, 0x20, 0x77, 0xC4, 0x27, 0x20,
-+	0xFF, 0xCD, 0x27, 0x20, 0x78, 0xCC, 0x27, 0x20,
-+	0xFF, 0xD5, 0x27, 0x20, 0x79, 0xD4, 0x27, 0x20,
-+	0xFF, 0xDD, 0x27, 0x20, 0x7A, 0xDC, 0x27, 0x20,
-+	0xFF, 0xE5, 0x27, 0x20, 0x7B, 0xE4, 0x27, 0x20,
-+	0xFF, 0xED, 0x27, 0x20, 0x7C, 0xEC, 0x27, 0x20,
-+	0xFF, 0xF5, 0x27, 0x20, 0x7D, 0xF4, 0x27, 0x20,
-+	0xFF, 0xFD, 0x27, 0x20, 0x7E, 0xFC, 0x27, 0x20,
-+	0xFF, 0x87, 0x27, 0x20, 0x7F, 0x86, 0x27, 0x20,
-+	0xFF, 0x8F, 0x27, 0x20, 0x80, 0x8E, 0x27, 0x20,
-+	0xFF, 0x97, 0x27, 0x20, 0x81, 0x96, 0x27, 0x20,
-+	0xFF, 0x9F, 0x27, 0x20, 0x82, 0x9E, 0x27, 0x20,
-+	0xFF, 0xA7, 0x27, 0x20, 0x83, 0xA6, 0x27, 0x20,
-+	0xFF, 0xAF, 0x27, 0x20, 0x84, 0xAE, 0x27, 0x20,
-+	0xFF, 0xB7, 0x27, 0x20, 0x85, 0xB6, 0x27, 0x20,
-+	0xFF, 0xBF, 0x27, 0x20, 0x86, 0xBE, 0x27, 0x20,
-+	0xFF, 0xC7, 0x27, 0x20, 0x87, 0xC6, 0x27, 0x20,
-+	0xFF, 0xCF, 0x27, 0x20, 0x88, 0xCE, 0x27, 0x20,
-+	0xFF, 0xD7, 0x27, 0x20, 0x89, 0xD6, 0x27, 0x20,
-+	0xFF, 0xDF, 0x27, 0x20, 0x8A, 0xDE, 0x27, 0x20,
-+	0xFF, 0xE7, 0x27, 0x20, 0x8B, 0xE6, 0x27, 0x20,
-+	0xFF, 0xEF, 0x27, 0x20, 0x8C, 0xEE, 0x27, 0x20,
-+	0xFF, 0xF7, 0x27, 0x20, 0x8D, 0xF6, 0x27, 0x20,
-+	0xFF, 0xFF, 0x27, 0x20, 0x8E, 0xFE, 0x27, 0x20,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x0D, 0x00,
-+	0x78, 0x01, 0x50, 0x01, 0x00, 0x00, 0x0E, 0x00,
-+	0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x6E,
-+	0x00, 0x65, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69,
-+	0x00, 0x6E, 0x00, 0x67, 0x00, 0x5C, 0x00, 0x70,
-+	0x00, 0x72, 0x00, 0x69, 0x00, 0x76, 0x03, 0x00,
-+	0x00, 0x00, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x07,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x07, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x08,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x08, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x02,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x02, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x03,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x03, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x04,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x04, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x05,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x05, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0C, 0x00, 0x00, 0x38, 0x00, 0x06,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x0C, 0x00,
-+	0x00, 0x38, 0x02, 0x06, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x03,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x04, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x04,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x05, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x05,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x06, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x06,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x07,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x08, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x08,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x09, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x10, 0x00, 0x00, 0x38, 0x02, 0x09,
-+	0x00, 0x00, 0xFD, 0x00, 0xFF, 0xFF, 0x10, 0x00,
-+	0x00, 0x38, 0x00, 0x0A, 0x00, 0x00, 0xFD, 0x00,
-+	0xFF, 0xFF, 0x0E, 0x00, 0xE0, 0x00, 0x00, 0x01,
-+	0x00, 0x01, 0x00, 0x01, 0x00, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x01, 0x01, 0x00, 0x01, 0x00, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x01, 0x01, 0x01, 0x01, 0x00, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x02, 0x01, 0x01, 0x01, 0x00, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x01, 0x01, 0x01, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x02, 0x01, 0x01, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x04, 0x01, 0x01, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x04, 0x01, 0x02, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x08, 0x01, 0x02, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x08, 0x01, 0x04, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x10, 0x01, 0x04, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x10, 0x01, 0x08, 0x01, 0x01, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x10, 0x01, 0x08, 0x01, 0x02, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x00, 0x01,
-+	0x10, 0x01, 0x10, 0x01, 0x02, 0x1F, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0xFE, 0x01, 0x0F, 0x00,
-+	0x01, 0x00, 0x02, 0x10, 0x00, 0x01, 0x00, 0x01,
-+	0x11, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x12, 0x00,
-+	0x01, 0x00, 0x0E, 0x15, 0x00, 0x08, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_07[] = { /* 2503 B */
-+	0x02, 0xB0, 0x00, 0x00, 0x01, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x01, 0x80, 0x4F, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE6, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xE7, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xE8, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x00, 0x3E, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x40, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x02, 0xA8, 0x02, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x03, 0x0D, 0x00,
-+	0x28, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
-+	0x00, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x01, 0x1C, 0x02, 0xB0, 0x01, 0x00,
-+	0x00, 0x00, 0x0E, 0x00, 0x10, 0x00, 0x00, 0x01,
-+	0x01, 0x01, 0x01, 0x00, 0x01, 0x1F, 0x08, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x00,
-+	0x01, 0x00, 0x01, 0x10, 0x00, 0x01, 0x00, 0x01,
-+	0x11, 0x00, 0x02, 0x00, 0x00, 0x01, 0x12, 0x00,
-+	0x01, 0x00, 0x01, 0x05, 0x00, 0x0E, 0x00, 0x0C,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x02, 0x08, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x03,
-+	0x00, 0x09, 0x00, 0x04, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x08, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x0C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x10, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x14,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x18, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x44, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x48, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x4C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x50, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x58, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x15, 0x00, 0x08, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_08[] = { /* 2516 B */
-+	0x02, 0xB0, 0x00, 0x60, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x01, 0x80, 0x4F, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE6, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xE7, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xE8, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x00, 0x3E, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x05,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x05, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x05, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x05, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x02, 0xA8, 0x02, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x02, 0x0D, 0x00,
-+	0x28, 0x00, 0x14, 0x00, 0x00, 0x38, 0x00, 0x00,
-+	0x6E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
-+	0x8F, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
-+	0x01, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x02, 0x00,
-+	0x00, 0x00, 0x0E, 0x00, 0x10, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x00,
-+	0x01, 0x00, 0x01, 0x10, 0x00, 0x01, 0x00, 0x02,
-+	0x11, 0x00, 0x02, 0x00, 0x60, 0x00, 0x12, 0x00,
-+	0x01, 0x00, 0x01, 0x05, 0x00, 0x0E, 0x00, 0x0C,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x02, 0x08, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x03,
-+	0x00, 0x09, 0x00, 0x04, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x08, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x0C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x10, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x14,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x18, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x44, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x48, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x4C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x50, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x58, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC8,
-+	0x20, 0x04, 0x30, 0x04, 0x00, 0x00, 0x00, 0x04,
-+	0x15, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_09[] = { /* 2742 B */
-+	0x02, 0xB0, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x01, 0x80, 0x4F, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE7, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xFF, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xFF, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x00, 0x3E, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x30,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x30, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x02, 0xA8, 0x02, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x80, 0xF2, 0x07, 0x20,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x0D, 0x00,
-+	0x28, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
-+	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00,
-+	0x00, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x73, 0x00, 0x00, 0x10, 0x01, 0x00,
-+	0x00, 0x00, 0x0E, 0x00, 0xE0, 0x00, 0x00, 0x01,
-+	0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x01, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x04, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x08, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x04, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x08, 0x01, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x10, 0x01, 0x02, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x10, 0x01, 0x04, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x01,
-+	0x10, 0x01, 0x10, 0x01, 0x08, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x0F, 0x00,
-+	0x01, 0x00, 0x01, 0x10, 0x00, 0x01, 0x00, 0x02,
-+	0x11, 0x00, 0x02, 0x00, 0x02, 0x00, 0x12, 0x00,
-+	0x01, 0x00, 0x0E, 0x05, 0x00, 0x0E, 0x00, 0x0C,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x02, 0x08, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x03,
-+	0x00, 0x09, 0x00, 0x04, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x08, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x0C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x10, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x14,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x18, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x44, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x48, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x4C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x50, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x58, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC8,
-+	0x20, 0x04, 0x30, 0x04, 0x00, 0x00, 0x00, 0x04,
-+	0x05, 0x00, 0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF,
-+	0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x83, 0x00, 0x15, 0x00, 0x08, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_10[] = { /* 2612 B */
-+	0x02, 0xB0, 0x00, 0x20, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x01, 0x80, 0x4F, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE7, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xFF, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xFF, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x00, 0x3E, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x30,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x04,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x30, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x04, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x02, 0xA8, 0x02, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0xFF, 0xF3, 0x47, 0x20, 0x80, 0xF2, 0x47, 0x20,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x01, 0x0D, 0x00,
-+	0x28, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00,
-+	0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
-+	0x00, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x01, 0x1C, 0x02, 0xB0, 0x01, 0x00,
-+	0x00, 0x00, 0x0E, 0x00, 0x10, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00,
-+	0x01, 0x00, 0x01, 0x10, 0x00, 0x01, 0x00, 0x02,
-+	0x11, 0x00, 0x02, 0x00, 0x20, 0x00, 0x12, 0x00,
-+	0x01, 0x00, 0x01, 0x05, 0x00, 0x0E, 0x00, 0x0C,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x02, 0x08, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x03,
-+	0x00, 0x09, 0x00, 0x04, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x08, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x0C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x10, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x14,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x18, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x44, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x48, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x4C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x50, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x58, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC8,
-+	0x20, 0x04, 0x30, 0x04, 0x00, 0x00, 0x00, 0x04,
-+	0x05, 0x00, 0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF,
-+	0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x83, 0x00, 0x03, 0x00, 0x09, 0x00, 0x84, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x88, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x8C, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x90, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x94, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x98,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x15, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_11[] = { /* 2625 B */
-+	0x02, 0xB0, 0x00, 0x20, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x01, 0x80, 0x4F, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE6, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xE7, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0xE8, 0x03, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x00, 0x3E, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x08, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x08, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x02, 0xA8, 0x02, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0xFF, 0x07, 0x20, 0x8E, 0xFE, 0x07, 0x20,
-+	0xFF, 0xF7, 0x07, 0x20, 0x8D, 0xF6, 0x07, 0x20,
-+	0xFF, 0xEF, 0x07, 0x20, 0x8C, 0xEE, 0x07, 0x20,
-+	0xFF, 0xE7, 0x07, 0x20, 0x8B, 0xE6, 0x07, 0x20,
-+	0xFF, 0xDF, 0x07, 0x20, 0x8A, 0xDE, 0x07, 0x20,
-+	0xFF, 0xD7, 0x07, 0x20, 0x89, 0xD6, 0x07, 0x20,
-+	0xFF, 0xCF, 0x07, 0x20, 0x88, 0xCE, 0x07, 0x20,
-+	0xFF, 0xC7, 0x07, 0x20, 0x87, 0xC6, 0x07, 0x20,
-+	0xFF, 0xBF, 0x07, 0x20, 0x86, 0xBE, 0x07, 0x20,
-+	0xFF, 0xB7, 0x07, 0x20, 0x85, 0xB6, 0x07, 0x20,
-+	0xFF, 0xAF, 0x07, 0x20, 0x84, 0xAE, 0x07, 0x20,
-+	0xFF, 0xA7, 0x07, 0x20, 0x83, 0xA6, 0x07, 0x20,
-+	0xFF, 0x9F, 0x07, 0x20, 0x82, 0x9E, 0x07, 0x20,
-+	0xFF, 0x97, 0x07, 0x20, 0x81, 0x96, 0x07, 0x20,
-+	0xFF, 0x8F, 0x07, 0x20, 0x80, 0x8E, 0x07, 0x20,
-+	0xFF, 0x87, 0x07, 0x20, 0x7F, 0x86, 0x07, 0x20,
-+	0xFF, 0xFD, 0x07, 0x20, 0x7E, 0xFC, 0x07, 0x20,
-+	0xFF, 0xF5, 0x07, 0x20, 0x7D, 0xF4, 0x07, 0x20,
-+	0xFF, 0xED, 0x07, 0x20, 0x7C, 0xEC, 0x07, 0x20,
-+	0xFF, 0xE5, 0x07, 0x20, 0x7B, 0xE4, 0x07, 0x20,
-+	0xFF, 0xDD, 0x07, 0x20, 0x7A, 0xDC, 0x07, 0x20,
-+	0xFF, 0xD5, 0x07, 0x20, 0x79, 0xD4, 0x07, 0x20,
-+	0xFF, 0xCD, 0x07, 0x20, 0x78, 0xCC, 0x07, 0x20,
-+	0xFF, 0xC5, 0x07, 0x20, 0x77, 0xC4, 0x07, 0x20,
-+	0xFF, 0xBD, 0x07, 0x20, 0x76, 0xBC, 0x07, 0x20,
-+	0xFF, 0xB5, 0x07, 0x20, 0x75, 0xB4, 0x07, 0x20,
-+	0xFF, 0xAD, 0x07, 0x20, 0x74, 0xAC, 0x07, 0x20,
-+	0xFF, 0xA5, 0x07, 0x20, 0x73, 0xA4, 0x07, 0x20,
-+	0xFF, 0x9D, 0x07, 0x20, 0x72, 0x9C, 0x07, 0x20,
-+	0xFF, 0x95, 0x07, 0x20, 0x71, 0x94, 0x07, 0x20,
-+	0xFF, 0x8D, 0x07, 0x20, 0x70, 0x8C, 0x07, 0x20,
-+	0xFF, 0x85, 0x07, 0x20, 0x6F, 0x84, 0x07, 0x20,
-+	0xFF, 0xFB, 0x07, 0x20, 0x6E, 0xFA, 0x07, 0x20,
-+	0xFF, 0xF3, 0x07, 0x20, 0x6D, 0xF2, 0x07, 0x20,
-+	0xFF, 0xEB, 0x07, 0x20, 0x6C, 0xEA, 0x07, 0x20,
-+	0xFF, 0xE3, 0x07, 0x20, 0x6B, 0xE2, 0x07, 0x20,
-+	0xFF, 0xDB, 0x07, 0x20, 0x6A, 0xDA, 0x07, 0x20,
-+	0xFF, 0xD3, 0x07, 0x20, 0x69, 0xD2, 0x07, 0x20,
-+	0xFF, 0xCB, 0x07, 0x20, 0x68, 0xCA, 0x07, 0x20,
-+	0xFF, 0xC3, 0x07, 0x20, 0x67, 0xC2, 0x07, 0x20,
-+	0xFF, 0xBB, 0x07, 0x20, 0x66, 0xBA, 0x07, 0x20,
-+	0xFF, 0xB3, 0x07, 0x20, 0x65, 0xB2, 0x07, 0x20,
-+	0xFF, 0xAB, 0x07, 0x20, 0x64, 0xAA, 0x07, 0x20,
-+	0xFF, 0xA3, 0x07, 0x20, 0x63, 0xA2, 0x07, 0x20,
-+	0xFF, 0x9B, 0x07, 0x20, 0x62, 0x9A, 0x07, 0x20,
-+	0xFF, 0x93, 0x07, 0x20, 0x61, 0x92, 0x07, 0x20,
-+	0xFF, 0x8B, 0x07, 0x20, 0x60, 0x8A, 0x07, 0x20,
-+	0xFF, 0x83, 0x07, 0x20, 0x5F, 0x82, 0x07, 0x20,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x01, 0x0D, 0x00,
-+	0x28, 0x00, 0x20, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0F, 0x00,
-+	0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x01, 0x00,
-+	0x00, 0x00, 0x20, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x01, 0x1C, 0x02, 0xB0, 0x01, 0x00,
-+	0x00, 0x00, 0x0E, 0x00, 0x10, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0F, 0x00,
-+	0x01, 0x00, 0x01, 0x10, 0x00, 0x01, 0x00, 0x02,
-+	0x11, 0x00, 0x02, 0x00, 0x20, 0x00, 0x12, 0x00,
-+	0x01, 0x00, 0x01, 0x05, 0x00, 0x0E, 0x00, 0x0C,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x02, 0x08, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x03,
-+	0x00, 0x09, 0x00, 0x04, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x08, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x0C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x10, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x14,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x18, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x44, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x48, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x4C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x50, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x58, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC8,
-+	0x20, 0x04, 0x30, 0x04, 0x00, 0x00, 0x00, 0x04,
-+	0x05, 0x00, 0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF,
-+	0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x83, 0x00, 0x03, 0x00, 0x09, 0x00, 0x84, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x88, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x8C, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x90, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x94, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x98,
-+	0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x15, 0x00, 0x08,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x00,
-+	0x00,
-+};
-+
-+static unsigned char vfs5011_init_12[] = { /* 2666 B */
-+	0x02, 0xF0, 0x00, 0x0E, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE5, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xEA, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0x0A, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x01, 0xDE, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x74, 0x01, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x74, 0x01, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x07, 0x20,
-+	0xBA, 0xF8, 0x07, 0x20, 0xB9, 0xF8, 0x07, 0x20,
-+	0xB8, 0xF8, 0x07, 0x20, 0xB7, 0xF8, 0x07, 0x20,
-+	0xB6, 0xF8, 0x07, 0x20, 0xB5, 0xF8, 0x07, 0x20,
-+	0xB4, 0xF8, 0x07, 0x20, 0xB3, 0xF8, 0x07, 0x20,
-+	0xB2, 0xF8, 0x07, 0x20, 0xB1, 0xF8, 0x07, 0x22,
-+	0xB0, 0xF8, 0x07, 0x22, 0xAF, 0xF8, 0x07, 0x22,
-+	0xAE, 0xF8, 0x07, 0x22, 0xAD, 0xF8, 0x07, 0x22,
-+	0xAC, 0xF8, 0x07, 0x22, 0xAB, 0xF8, 0x07, 0x22,
-+	0xAA, 0xF8, 0x07, 0x22, 0xA9, 0xF8, 0x07, 0x22,
-+	0xA8, 0xF8, 0x07, 0x22, 0xA7, 0xF8, 0x07, 0x22,
-+	0xA6, 0xF8, 0x07, 0x22, 0xA5, 0xF8, 0x07, 0x22,
-+	0xA4, 0xF8, 0x07, 0x22, 0xA3, 0xF8, 0x07, 0x22,
-+	0xA2, 0xF8, 0x07, 0x22, 0xA1, 0xF8, 0x07, 0x22,
-+	0xA0, 0xF8, 0x07, 0x22, 0x9F, 0xF8, 0x07, 0x22,
-+	0x9E, 0xF8, 0x07, 0x22, 0x9D, 0xF8, 0x07, 0x22,
-+	0x9C, 0xF8, 0x07, 0x22, 0x9B, 0xF8, 0x07, 0x22,
-+	0x9A, 0xF8, 0x07, 0x22, 0x99, 0xF8, 0x07, 0x22,
-+	0x98, 0xF8, 0x07, 0x22, 0x97, 0xF8, 0x07, 0x22,
-+	0x96, 0xF8, 0x07, 0x22, 0x95, 0xF8, 0x07, 0x22,
-+	0x94, 0xF8, 0x07, 0x22, 0x93, 0xF8, 0x07, 0x22,
-+	0x92, 0xF8, 0x07, 0x22, 0x91, 0xF8, 0x07, 0x22,
-+	0x90, 0xF8, 0x07, 0x22, 0x8F, 0xF8, 0x07, 0x22,
-+	0x8E, 0xF8, 0x07, 0x22, 0x8D, 0xF8, 0x07, 0x22,
-+	0x8C, 0xF8, 0x07, 0x22, 0x8B, 0xF8, 0x07, 0x22,
-+	0x8A, 0xF8, 0x07, 0x22, 0x89, 0xF8, 0x07, 0x22,
-+	0x88, 0xF8, 0x07, 0x22, 0x87, 0xF8, 0x07, 0x22,
-+	0x86, 0xF8, 0x07, 0x22, 0x85, 0xF8, 0x07, 0x22,
-+	0x84, 0xF8, 0x07, 0x22, 0x83, 0xF8, 0x07, 0x22,
-+	0x82, 0xF8, 0x07, 0x22, 0x81, 0xF8, 0x07, 0x22,
-+	0x80, 0xF8, 0x07, 0x22, 0x7F, 0xF8, 0x07, 0x22,
-+	0x7E, 0xF8, 0x07, 0x22, 0x7D, 0xF8, 0x07, 0x22,
-+	0x7C, 0xF8, 0x07, 0x22, 0x7B, 0xF8, 0x07, 0x22,
-+	0x7A, 0xF8, 0x07, 0x22, 0x79, 0xF8, 0x07, 0x22,
-+	0x78, 0xF8, 0x07, 0x22, 0x77, 0xF8, 0x07, 0x22,
-+	0x76, 0xF8, 0x07, 0x22, 0x75, 0xF8, 0x07, 0x22,
-+	0x74, 0xF8, 0x07, 0x22, 0x73, 0xF8, 0x07, 0x22,
-+	0x72, 0xF8, 0x07, 0x22, 0x71, 0xF8, 0x07, 0x22,
-+	0x70, 0xF8, 0x07, 0x22, 0x6F, 0xF8, 0x07, 0x22,
-+	0x6E, 0xF8, 0x07, 0x22, 0x6D, 0xF8, 0x07, 0x22,
-+	0x6C, 0xF8, 0x07, 0x22, 0x6B, 0xF8, 0x07, 0x22,
-+	0x6A, 0xF8, 0x07, 0x22, 0x69, 0xF8, 0x07, 0x22,
-+	0x68, 0xF8, 0x07, 0x22, 0x67, 0xF8, 0x07, 0x22,
-+	0x66, 0xF8, 0x07, 0x22, 0x65, 0xF8, 0x07, 0x22,
-+	0x64, 0xF8, 0x07, 0x22, 0x63, 0xF8, 0x07, 0x22,
-+	0x62, 0xF8, 0x07, 0x22, 0x61, 0xF8, 0x07, 0x22,
-+	0x60, 0xF8, 0x07, 0x22, 0x5F, 0xF8, 0x07, 0x22,
-+	0x5E, 0xF8, 0x07, 0x22, 0x5D, 0xF8, 0x07, 0x22,
-+	0x5C, 0xF8, 0x07, 0x22, 0x5B, 0xF8, 0x07, 0x22,
-+	0x5A, 0xF8, 0x07, 0x22, 0x59, 0xF8, 0x07, 0x22,
-+	0x58, 0xF8, 0x07, 0x22, 0x57, 0xF8, 0x07, 0x22,
-+	0x56, 0xF8, 0x07, 0x22, 0x55, 0xF8, 0x07, 0x22,
-+	0x54, 0xF8, 0x07, 0x22, 0x53, 0xF8, 0x07, 0x22,
-+	0x52, 0xF8, 0x07, 0x22, 0x51, 0xF8, 0x07, 0x22,
-+	0x50, 0xF8, 0x07, 0x22, 0x4F, 0xF8, 0x07, 0x22,
-+	0x4E, 0xF8, 0x07, 0x22, 0x4D, 0xF8, 0x07, 0x22,
-+	0x4C, 0xF8, 0x07, 0x22, 0x4B, 0xF8, 0x07, 0x22,
-+	0x4A, 0xF8, 0x07, 0x22, 0x49, 0xF8, 0x07, 0x22,
-+	0x48, 0xF8, 0x07, 0x22, 0x47, 0xF8, 0x07, 0x22,
-+	0x46, 0xF8, 0x07, 0x22, 0x45, 0xF8, 0x07, 0x22,
-+	0x44, 0xF8, 0x07, 0x22, 0x43, 0xF8, 0x07, 0x22,
-+	0x42, 0xF8, 0x07, 0x22, 0x41, 0xF8, 0x07, 0x22,
-+	0x40, 0xF8, 0x07, 0x22, 0x3F, 0xF8, 0x07, 0x22,
-+	0x3E, 0xF8, 0x07, 0x22, 0x3D, 0xF8, 0x07, 0x22,
-+	0x3C, 0xF8, 0x07, 0x22, 0x3B, 0xF8, 0x07, 0x22,
-+	0x3A, 0xF8, 0x07, 0x22, 0x39, 0xF8, 0x07, 0x22,
-+	0x38, 0xF8, 0x07, 0x22, 0x37, 0xF8, 0x07, 0x22,
-+	0x36, 0xF8, 0x07, 0x22, 0x35, 0xF8, 0x07, 0x22,
-+	0x34, 0xF8, 0x07, 0x22, 0x33, 0xF8, 0x07, 0x22,
-+	0x32, 0xF8, 0x07, 0x22, 0x31, 0xF8, 0x07, 0x22,
-+	0x30, 0xF8, 0x07, 0x22, 0x2F, 0xF8, 0x07, 0x22,
-+	0x2E, 0xF8, 0x07, 0x22, 0x2D, 0xF8, 0x07, 0x22,
-+	0x2C, 0xF8, 0x07, 0x22, 0x2B, 0xF8, 0x07, 0x22,
-+	0x2A, 0xF8, 0x07, 0x22, 0x29, 0xF8, 0x07, 0x22,
-+	0x28, 0xF8, 0x07, 0x22, 0x27, 0xF8, 0x07, 0x22,
-+	0x26, 0xF8, 0x07, 0x22, 0x25, 0xF8, 0x07, 0x22,
-+	0x24, 0xF8, 0x07, 0x22, 0x23, 0xF8, 0x07, 0x20,
-+	0x22, 0xF8, 0x07, 0x20, 0x21, 0xF8, 0x07, 0x20,
-+	0x20, 0xF8, 0x07, 0x20, 0x1F, 0xF8, 0x07, 0x20,
-+	0x1E, 0xF8, 0x07, 0x20, 0x1D, 0xF8, 0x07, 0x20,
-+	0x1C, 0xF8, 0x07, 0x20, 0x1C, 0xF8, 0x07, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD8, 0xF8, 0x27, 0x20, 0xD9, 0xF8, 0x27, 0x20,
-+	0xDA, 0xF8, 0x27, 0x20, 0xDB, 0xF8, 0x27, 0x20,
-+	0xDC, 0xF8, 0x27, 0x20, 0xDD, 0xF8, 0x27, 0x20,
-+	0xDE, 0xF8, 0x27, 0x20, 0xDF, 0xF8, 0x27, 0x20,
-+	0xE0, 0xF8, 0x27, 0x20, 0xE1, 0xF8, 0x27, 0x20,
-+	0xE2, 0xF8, 0x27, 0x20, 0xE3, 0xF8, 0x27, 0x20,
-+	0xE4, 0xF8, 0x27, 0x20, 0xE5, 0xF8, 0x27, 0x20,
-+	0xE6, 0xF8, 0x27, 0x20, 0xE7, 0xF8, 0x27, 0x20,
-+	0xE8, 0xF8, 0x27, 0x20, 0xE9, 0xF8, 0x27, 0x20,
-+	0xEA, 0xF8, 0x27, 0x20, 0xEB, 0xF8, 0x27, 0x20,
-+	0xEC, 0xF8, 0x27, 0x20, 0xED, 0xF8, 0x27, 0x20,
-+	0xEE, 0xF8, 0x27, 0x20, 0xEF, 0xF8, 0x27, 0x20,
-+	0xF0, 0xF8, 0x27, 0x20, 0xF1, 0xF8, 0x27, 0x20,
-+	0xF2, 0xF8, 0x27, 0x20, 0xF3, 0xF8, 0x27, 0x20,
-+	0xF4, 0xF8, 0x27, 0x20, 0xF5, 0xF8, 0x27, 0x20,
-+	0xF6, 0xF8, 0x27, 0x20, 0xF7, 0xF8, 0x27, 0x20,
-+	0xF8, 0xF8, 0x27, 0x20, 0xF9, 0xF8, 0x27, 0x20,
-+	0xFA, 0xF8, 0x27, 0x20, 0xFB, 0xF8, 0x27, 0x20,
-+	0xFC, 0xF8, 0x27, 0x20, 0xFD, 0xF8, 0x27, 0x20,
-+	0xFE, 0xF8, 0x27, 0x20, 0xFF, 0xF8, 0x27, 0x20,
-+	0x00, 0xF9, 0x27, 0x20, 0xD7, 0xF8, 0x27, 0x20,
-+	0x00, 0xF8, 0x27, 0x20, 0x01, 0xF8, 0x27, 0x20,
-+	0x02, 0xF8, 0x27, 0x20, 0x03, 0xF8, 0x27, 0x20,
-+	0x04, 0xF8, 0x27, 0x20, 0x05, 0xF8, 0x27, 0x20,
-+	0x06, 0xF8, 0x27, 0x20, 0x07, 0xF8, 0x27, 0x20,
-+	0x08, 0xF8, 0x27, 0x20, 0x09, 0xF8, 0x27, 0x20,
-+	0x0A, 0xF8, 0x27, 0x20, 0x0B, 0xF8, 0x27, 0x20,
-+	0x0C, 0xF8, 0x27, 0x20, 0x0D, 0xF8, 0x27, 0x20,
-+	0x0E, 0xF8, 0x27, 0x20, 0x0F, 0xF8, 0x27, 0x20,
-+	0x10, 0xF8, 0x27, 0x20, 0x11, 0xF8, 0x27, 0x20,
-+	0x12, 0xF8, 0x27, 0x20, 0x13, 0xF8, 0x27, 0x20,
-+	0x14, 0xF8, 0x27, 0x20, 0x15, 0xF8, 0x27, 0x20,
-+	0x15, 0xF8, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x0C, 0x00, 0x01, 0x00, 0x04, 0x11, 0x00,
-+	0x02, 0x00, 0x0E, 0x00, 0x13, 0x00, 0x04, 0x00,
-+	0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x04, 0x00,
-+	0x1E, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x0A, 0x00,
-+	0x08, 0x00, 0xA8, 0x00, 0xE6, 0x82, 0xA0, 0x0A,
-+	0x26, 0x06, 0x07, 0x00, 0x3C, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0xFF, 0xFF,
-+	0xFF, 0xFF, 0x78, 0x00, 0x02, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x18, 0xA2, 0x55, 0x03, 0xD3, 0xA2,
-+	0x5D, 0x00, 0x18, 0xA2, 0x55, 0x03, 0xD3, 0xA2,
-+	0x5D, 0x00, 0x18, 0xA2, 0x55, 0x03, 0x20, 0x80,
-+	0x80, 0x00, 0xFF, 0x10, 0x0F, 0x01, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x03,
-+	0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x0C, 0x20,
-+	0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
-+	0x02, 0x08, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00,
-+	0x10, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x03, 0x00,
-+	0x09, 0x00, 0x04, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x08,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x0C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x10, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x14, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x18, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x44, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x48, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x4C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x50,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x54, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x58, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC8, 0x20,
-+	0x04, 0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x05,
-+	0x00, 0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF, 0x00,
-+	0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83,
-+	0x00, 0x03, 0x00, 0x09, 0x00, 0x84, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x88, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x8C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x90, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x94, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x98, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x20, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x60, 0x21, 0x04,
-+	0x30, 0x08, 0x00, 0x00, 0x00, 0x04, 0x15, 0x00,
-+	0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x28,
-+	0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_13[] = { /* 57 B */
-+	0x12, 0x90, 0x02, 0x00, 0x00, 0xFE, 0x03, 0x00,
-+	0x00, 0xFF, 0x1F, 0xFF, 0x1F, 0x00, 0x00, 0x00,
-+	0x00, 0x18, 0xA2, 0x55, 0x03, 0xD3, 0xA2, 0x5D,
-+	0x00, 0x18, 0xA2, 0x55, 0x03, 0xD3, 0xA2, 0x5D,
-+	0x00, 0x18, 0xA2, 0x55, 0x03, 0x20, 0xFF, 0x80,
-+	0x00, 0xFF, 0x04, 0x0F, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x03, 0x00,
-+	0x00,
-+};
-+
-+static unsigned char vfs5011_init_14[] = { /* 2561 B */
-+	0x02, 0xF0, 0x00, 0x14, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE5, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xEA, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0x0A, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x01, 0xDE, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x74, 0x01, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x74, 0x01, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x07, 0x20,
-+	0xBA, 0xF8, 0x07, 0x20, 0xB9, 0xF8, 0x07, 0x20,
-+	0xB8, 0xF8, 0x07, 0x20, 0xB7, 0xF8, 0x07, 0x20,
-+	0xB6, 0xF8, 0x07, 0x20, 0xB5, 0xF8, 0x07, 0x20,
-+	0xB4, 0xF8, 0x07, 0x20, 0xB3, 0xF8, 0x07, 0x20,
-+	0xB2, 0xF8, 0x07, 0x20, 0xB1, 0xF8, 0x07, 0x22,
-+	0xB0, 0xF8, 0x07, 0x22, 0xAF, 0xF8, 0x07, 0x22,
-+	0xAE, 0xF8, 0x07, 0x22, 0xAD, 0xF8, 0x07, 0x22,
-+	0xAC, 0xF8, 0x07, 0x22, 0xAB, 0xF8, 0x07, 0x22,
-+	0xAA, 0xF8, 0x07, 0x22, 0xA9, 0xF8, 0x07, 0x22,
-+	0xA8, 0xF8, 0x07, 0x22, 0xA7, 0xF8, 0x07, 0x22,
-+	0xA6, 0xF8, 0x07, 0x22, 0xA5, 0xF8, 0x07, 0x22,
-+	0xA4, 0xF8, 0x07, 0x22, 0xA3, 0xF8, 0x07, 0x22,
-+	0xA2, 0xF8, 0x07, 0x22, 0xA1, 0xF8, 0x07, 0x22,
-+	0xA0, 0xF8, 0x07, 0x22, 0x9F, 0xF8, 0x07, 0x22,
-+	0x9E, 0xF8, 0x07, 0x22, 0x9D, 0xF8, 0x07, 0x22,
-+	0x9C, 0xF8, 0x07, 0x22, 0x9B, 0xF8, 0x07, 0x22,
-+	0x9A, 0xF8, 0x07, 0x22, 0x99, 0xF8, 0x07, 0x22,
-+	0x98, 0xF8, 0x07, 0x22, 0x97, 0xF8, 0x07, 0x22,
-+	0x96, 0xF8, 0x07, 0x22, 0x95, 0xF8, 0x07, 0x22,
-+	0x94, 0xF8, 0x07, 0x22, 0x93, 0xF8, 0x07, 0x22,
-+	0x92, 0xF8, 0x07, 0x22, 0x91, 0xF8, 0x07, 0x22,
-+	0x90, 0xF8, 0x07, 0x22, 0x8F, 0xF8, 0x07, 0x22,
-+	0x8E, 0xF8, 0x07, 0x22, 0x8D, 0xF8, 0x07, 0x22,
-+	0x8C, 0xF8, 0x07, 0x22, 0x8B, 0xF8, 0x07, 0x22,
-+	0x8A, 0xF8, 0x07, 0x22, 0x89, 0xF8, 0x07, 0x22,
-+	0x88, 0xF8, 0x07, 0x22, 0x87, 0xF8, 0x07, 0x22,
-+	0x86, 0xF8, 0x07, 0x22, 0x85, 0xF8, 0x07, 0x22,
-+	0x84, 0xF8, 0x07, 0x22, 0x83, 0xF8, 0x07, 0x22,
-+	0x82, 0xF8, 0x07, 0x22, 0x81, 0xF8, 0x07, 0x22,
-+	0x80, 0xF8, 0x07, 0x22, 0x7F, 0xF8, 0x07, 0x22,
-+	0x7E, 0xF8, 0x07, 0x22, 0x7D, 0xF8, 0x07, 0x22,
-+	0x7C, 0xF8, 0x07, 0x22, 0x7B, 0xF8, 0x07, 0x22,
-+	0x7A, 0xF8, 0x07, 0x22, 0x79, 0xF8, 0x07, 0x22,
-+	0x78, 0xF8, 0x07, 0x22, 0x77, 0xF8, 0x07, 0x22,
-+	0x76, 0xF8, 0x07, 0x22, 0x75, 0xF8, 0x07, 0x22,
-+	0x74, 0xF8, 0x07, 0x22, 0x73, 0xF8, 0x07, 0x22,
-+	0x72, 0xF8, 0x07, 0x22, 0x71, 0xF8, 0x07, 0x22,
-+	0x70, 0xF8, 0x07, 0x22, 0x6F, 0xF8, 0x07, 0x22,
-+	0x6E, 0xF8, 0x07, 0x22, 0x6D, 0xF8, 0x07, 0x22,
-+	0x6C, 0xF8, 0x07, 0x22, 0x6B, 0xF8, 0x07, 0x22,
-+	0x6A, 0xF8, 0x07, 0x22, 0x69, 0xF8, 0x07, 0x22,
-+	0x68, 0xF8, 0x07, 0x22, 0x67, 0xF8, 0x07, 0x22,
-+	0x66, 0xF8, 0x07, 0x22, 0x65, 0xF8, 0x07, 0x22,
-+	0x64, 0xF8, 0x07, 0x22, 0x63, 0xF8, 0x07, 0x22,
-+	0x62, 0xF8, 0x07, 0x22, 0x61, 0xF8, 0x07, 0x22,
-+	0x60, 0xF8, 0x07, 0x22, 0x5F, 0xF8, 0x07, 0x22,
-+	0x5E, 0xF8, 0x07, 0x22, 0x5D, 0xF8, 0x07, 0x22,
-+	0x5C, 0xF8, 0x07, 0x22, 0x5B, 0xF8, 0x07, 0x22,
-+	0x5A, 0xF8, 0x07, 0x22, 0x59, 0xF8, 0x07, 0x22,
-+	0x58, 0xF8, 0x07, 0x22, 0x57, 0xF8, 0x07, 0x22,
-+	0x56, 0xF8, 0x07, 0x22, 0x55, 0xF8, 0x07, 0x22,
-+	0x54, 0xF8, 0x07, 0x22, 0x53, 0xF8, 0x07, 0x22,
-+	0x52, 0xF8, 0x07, 0x22, 0x51, 0xF8, 0x07, 0x22,
-+	0x50, 0xF8, 0x07, 0x22, 0x4F, 0xF8, 0x07, 0x22,
-+	0x4E, 0xF8, 0x07, 0x22, 0x4D, 0xF8, 0x07, 0x22,
-+	0x4C, 0xF8, 0x07, 0x22, 0x4B, 0xF8, 0x07, 0x22,
-+	0x4A, 0xF8, 0x07, 0x22, 0x49, 0xF8, 0x07, 0x22,
-+	0x48, 0xF8, 0x07, 0x22, 0x47, 0xF8, 0x07, 0x22,
-+	0x46, 0xF8, 0x07, 0x22, 0x45, 0xF8, 0x07, 0x22,
-+	0x44, 0xF8, 0x07, 0x22, 0x43, 0xF8, 0x07, 0x22,
-+	0x42, 0xF8, 0x07, 0x22, 0x41, 0xF8, 0x07, 0x22,
-+	0x40, 0xF8, 0x07, 0x22, 0x3F, 0xF8, 0x07, 0x22,
-+	0x3E, 0xF8, 0x07, 0x22, 0x3D, 0xF8, 0x07, 0x22,
-+	0x3C, 0xF8, 0x07, 0x22, 0x3B, 0xF8, 0x07, 0x22,
-+	0x3A, 0xF8, 0x07, 0x22, 0x39, 0xF8, 0x07, 0x22,
-+	0x38, 0xF8, 0x07, 0x22, 0x37, 0xF8, 0x07, 0x22,
-+	0x36, 0xF8, 0x07, 0x22, 0x35, 0xF8, 0x07, 0x22,
-+	0x34, 0xF8, 0x07, 0x22, 0x33, 0xF8, 0x07, 0x22,
-+	0x32, 0xF8, 0x07, 0x22, 0x31, 0xF8, 0x07, 0x22,
-+	0x30, 0xF8, 0x07, 0x22, 0x2F, 0xF8, 0x07, 0x22,
-+	0x2E, 0xF8, 0x07, 0x22, 0x2D, 0xF8, 0x07, 0x22,
-+	0x2C, 0xF8, 0x07, 0x22, 0x2B, 0xF8, 0x07, 0x22,
-+	0x2A, 0xF8, 0x07, 0x22, 0x29, 0xF8, 0x07, 0x22,
-+	0x28, 0xF8, 0x07, 0x22, 0x27, 0xF8, 0x07, 0x22,
-+	0x26, 0xF8, 0x07, 0x22, 0x25, 0xF8, 0x07, 0x22,
-+	0x24, 0xF8, 0x07, 0x22, 0x23, 0xF8, 0x07, 0x20,
-+	0x22, 0xF8, 0x07, 0x20, 0x21, 0xF8, 0x07, 0x20,
-+	0x20, 0xF8, 0x07, 0x20, 0x1F, 0xF8, 0x07, 0x20,
-+	0x1E, 0xF8, 0x07, 0x20, 0x1D, 0xF8, 0x07, 0x20,
-+	0x1C, 0xF8, 0x07, 0x20, 0x1C, 0xF8, 0x07, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD8, 0xF8, 0x27, 0x20, 0xD9, 0xF8, 0x27, 0x20,
-+	0xDA, 0xF8, 0x27, 0x20, 0xDB, 0xF8, 0x27, 0x20,
-+	0xDC, 0xF8, 0x27, 0x20, 0xDD, 0xF8, 0x27, 0x20,
-+	0xDE, 0xF8, 0x27, 0x20, 0xDF, 0xF8, 0x27, 0x20,
-+	0xE0, 0xF8, 0x27, 0x20, 0xE1, 0xF8, 0x27, 0x20,
-+	0xE2, 0xF8, 0x27, 0x20, 0xE3, 0xF8, 0x27, 0x20,
-+	0xE4, 0xF8, 0x27, 0x20, 0xE5, 0xF8, 0x27, 0x20,
-+	0xE6, 0xF8, 0x27, 0x20, 0xE7, 0xF8, 0x27, 0x20,
-+	0xE8, 0xF8, 0x27, 0x20, 0xE9, 0xF8, 0x27, 0x20,
-+	0xEA, 0xF8, 0x27, 0x20, 0xEB, 0xF8, 0x27, 0x20,
-+	0xEC, 0xF8, 0x27, 0x20, 0xED, 0xF8, 0x27, 0x20,
-+	0xEE, 0xF8, 0x27, 0x20, 0xEF, 0xF8, 0x27, 0x20,
-+	0xF0, 0xF8, 0x27, 0x20, 0xF1, 0xF8, 0x27, 0x20,
-+	0xF2, 0xF8, 0x27, 0x20, 0xF3, 0xF8, 0x27, 0x20,
-+	0xF4, 0xF8, 0x27, 0x20, 0xF5, 0xF8, 0x27, 0x20,
-+	0xF6, 0xF8, 0x27, 0x20, 0xF7, 0xF8, 0x27, 0x20,
-+	0xF8, 0xF8, 0x27, 0x20, 0xF9, 0xF8, 0x27, 0x20,
-+	0xFA, 0xF8, 0x27, 0x20, 0xFB, 0xF8, 0x27, 0x20,
-+	0xFC, 0xF8, 0x27, 0x20, 0xFD, 0xF8, 0x27, 0x20,
-+	0xFE, 0xF8, 0x27, 0x20, 0xFF, 0xF8, 0x27, 0x20,
-+	0x00, 0xF9, 0x27, 0x20, 0xD7, 0xF8, 0x27, 0x20,
-+	0x00, 0xF8, 0x27, 0x20, 0x01, 0xF8, 0x27, 0x20,
-+	0x02, 0xF8, 0x27, 0x20, 0x03, 0xF8, 0x27, 0x20,
-+	0x04, 0xF8, 0x27, 0x20, 0x05, 0xF8, 0x27, 0x20,
-+	0x06, 0xF8, 0x27, 0x20, 0x07, 0xF8, 0x27, 0x20,
-+	0x08, 0xF8, 0x27, 0x20, 0x09, 0xF8, 0x27, 0x20,
-+	0x0A, 0xF8, 0x27, 0x20, 0x0B, 0xF8, 0x27, 0x20,
-+	0x0C, 0xF8, 0x27, 0x20, 0x0D, 0xF8, 0x27, 0x20,
-+	0x0E, 0xF8, 0x27, 0x20, 0x0F, 0xF8, 0x27, 0x20,
-+	0x10, 0xF8, 0x27, 0x20, 0x11, 0xF8, 0x27, 0x20,
-+	0x12, 0xF8, 0x27, 0x20, 0x13, 0xF8, 0x27, 0x20,
-+	0x14, 0xF8, 0x27, 0x20, 0x15, 0xF8, 0x27, 0x20,
-+	0x15, 0xF8, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x05, 0x00, 0x0E, 0x00, 0x0C, 0x20, 0xFD,
-+	0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02,
-+	0x08, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x10,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x05, 0x00, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x10, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x54, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x58, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xC8, 0x20, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00,
-+	0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF, 0x00, 0xFF,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x00,
-+	0x03, 0x00, 0x09, 0x00, 0x84, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x88, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x8C, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x90, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x94, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x98, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x20,
-+	0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x60, 0x21, 0x04, 0x30,
-+	0x08, 0x00, 0x00, 0x00, 0x04, 0x15, 0x00, 0x08,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x00,
-+	0x00,
-+};
-+
-+static unsigned char vfs5011_cmd_27[] = { /* 1 B */
-+	0x27,
-+};
-+
-+static unsigned char vfs5011_init_15[] = { /* 3794 B */
-+	0x06, 0x6B, 0x06, 0x6A, 0x76, 0xC8, 0x18, 0xD4,
-+	0x54, 0xEF, 0x71, 0x14, 0xCC, 0x1C, 0x58, 0x91,
-+	0x11, 0xAA, 0x80, 0xF4, 0x2C, 0xFC, 0x9F, 0x5F,
-+	0xDF, 0x04, 0x02, 0x62, 0xBA, 0x6A, 0x5A, 0x97,
-+	0x17, 0xCC, 0x46, 0x22, 0xFA, 0x2A, 0xBE, 0x03,
-+	0x87, 0x3C, 0x9E, 0xFE, 0x26, 0xF6, 0x96, 0x7E,
-+	0xFA, 0x11, 0x27, 0x66, 0xBA, 0x3A, 0x5A, 0xBA,
-+	0x3E, 0xD5, 0x4F, 0x03, 0xDF, 0x5F, 0x7F, 0x9F,
-+	0x1B, 0xF0, 0xA2, 0xEF, 0x33, 0xB3, 0xD3, 0x13,
-+	0x93, 0x70, 0xFA, 0x96, 0x4E, 0xC6, 0xA6, 0xC6,
-+	0x46, 0xA5, 0x2F, 0xE3, 0x3B, 0xB3, 0xD3, 0x33,
-+	0xB3, 0x50, 0xE8, 0xA4, 0x7C, 0xF4, 0x94, 0x14,
-+	0x94, 0x77, 0xC9, 0xE5, 0x3D, 0xB5, 0xD5, 0x75,
-+	0xF5, 0x16, 0xA8, 0xA4, 0x7C, 0xF4, 0x94, 0xD4,
-+	0x54, 0xB7, 0x09, 0xE5, 0x3D, 0xB5, 0x2D, 0xF4,
-+	0x74, 0xCF, 0x29, 0x5C, 0x84, 0x54, 0x14, 0xAA,
-+	0x2E, 0x95, 0xF7, 0xE0, 0x3C, 0xEC, 0x8C, 0x52,
-+	0xD6, 0x3D, 0x7B, 0x0E, 0xD6, 0x06, 0x82, 0x49,
-+	0xC9, 0x72, 0x7C, 0x18, 0xC0, 0x10, 0x10, 0xF6,
-+	0x72, 0xC9, 0xC3, 0xA8, 0x70, 0xA0, 0xD8, 0x77,
-+	0xF3, 0x48, 0x06, 0x04, 0xD8, 0x08, 0x90, 0x5B,
-+	0xDB, 0x60, 0x36, 0x43, 0x9B, 0x4B, 0xD4, 0xE3,
-+	0x9C, 0xB8, 0xF1, 0x72, 0x55, 0x1A, 0x8E, 0x57,
-+	0xD7, 0x6C, 0xDA, 0xBE, 0x66, 0xD6, 0xEA, 0x3D,
-+	0xBF, 0x04, 0xB2, 0xCE, 0x16, 0xA6, 0x06, 0xDE,
-+	0x5E, 0xE5, 0xB7, 0xC3, 0x1B, 0xCB, 0x47, 0x9F,
-+	0x1F, 0xA4, 0x3E, 0x5B, 0x83, 0x53, 0x53, 0x8A,
-+	0x0A, 0xB1, 0x93, 0xF9, 0x21, 0xF1, 0x31, 0xE6,
-+	0x64, 0xDF, 0x95, 0xE0, 0x38, 0xE8, 0xB4, 0x6D,
-+	0xED, 0x56, 0x1D, 0x8E, 0x56, 0xE6, 0x79, 0xB9,
-+	0xC6, 0xE2, 0x62, 0x4F, 0x97, 0x02, 0x40, 0x80,
-+	0x65, 0xB8, 0x0E, 0x07, 0xC2, 0x72, 0x37, 0xBE,
-+	0x3E, 0x00, 0xF2, 0xB8, 0xF1, 0x6D, 0x0E, 0x6F,
-+	0xC2, 0x1A, 0xA0, 0xC4, 0x95, 0x2F, 0xCD, 0x44,
-+	0xC4, 0x02, 0x44, 0x28, 0xF0, 0x40, 0x16, 0x97,
-+	0x17, 0x7D, 0xE4, 0x8B, 0xFE, 0x4C, 0x0D, 0xE3,
-+	0x60, 0xFD, 0x4B, 0x27, 0x34, 0xA6, 0xCD, 0xB6,
-+	0x10, 0xC0, 0x7C, 0x98, 0x42, 0x72, 0x92, 0x26,
-+	0x21, 0x60, 0x26, 0x4C, 0x95, 0x25, 0xA0, 0x03,
-+	0xA6, 0x50, 0xEC, 0x9D, 0xB5, 0x05, 0x53, 0xD2,
-+	0x52, 0xA9, 0x7E, 0x12, 0x2F, 0x65, 0xFA, 0x1A,
-+	0x7C, 0xB4, 0x12, 0x5E, 0x86, 0x3A, 0x50, 0xF5,
-+	0x53, 0xAD, 0xBA, 0xE6, 0x3D, 0x3C, 0x6D, 0xAE,
-+	0xCB, 0x33, 0xAD, 0xDC, 0xF4, 0x44, 0x12, 0x93,
-+	0x13, 0xF9, 0x7D, 0x12, 0xEB, 0x68, 0x0B, 0xE2,
-+	0x21, 0xE7, 0xA1, 0xCD, 0x15, 0xA5, 0xF3, 0x72,
-+	0xF2, 0xAB, 0x1F, 0x7E, 0xAA, 0x01, 0xE1, 0xA1,
-+	0x25, 0xA8, 0x06, 0x6D, 0xB9, 0x0C, 0x60, 0xA6,
-+	0x64, 0xAD, 0x15, 0x65, 0xBA, 0x30, 0x14, 0x66,
-+	0x22, 0x78, 0xFC, 0x94, 0x4C, 0x4E, 0x25, 0x9B,
-+	0xD9, 0x06, 0xB1, 0xEA, 0x89, 0x35, 0x62, 0x1E,
-+	0x8F, 0x69, 0xD4, 0x7F, 0x1C, 0xA0, 0xFD, 0x31,
-+	0x77, 0xAD, 0x1B, 0x40, 0xA4, 0x10, 0xB7, 0xCC,
-+	0x4D, 0xAB, 0x16, 0xD7, 0x0C, 0x01, 0x62, 0x87,
-+	0xBF, 0x4C, 0x50, 0x5A, 0xD8, 0x3B, 0x50, 0xE7,
-+	0x2C, 0xB3, 0xB7, 0x1F, 0x46, 0xA0, 0x57, 0x6B,
-+	0x46, 0x98, 0x93, 0xFA, 0xC7, 0xC1, 0x89, 0x45,
-+	0xDE, 0xD7, 0xC3, 0xC3, 0xBB, 0xCF, 0xEE, 0xEE,
-+	0xA8, 0xB3, 0xDF, 0x61, 0x4B, 0xE6, 0x04, 0x04,
-+	0x40, 0xDA, 0xAC, 0x43, 0xDA, 0x9A, 0x15, 0x25,
-+	0x45, 0x7D, 0xEA, 0x0C, 0x3A, 0x7A, 0xD4, 0x87,
-+	0xC5, 0x43, 0x77, 0x1D, 0xC6, 0x76, 0xD4, 0xB6,
-+	0x5A, 0x4B, 0x3F, 0x91, 0x55, 0x98, 0xC2, 0xCE,
-+	0x8C, 0x5B, 0xED, 0x53, 0x99, 0x20, 0x6D, 0xA6,
-+	0xF1, 0x96, 0x21, 0x41, 0xBB, 0x16, 0x86, 0x46,
-+	0xC6, 0x1D, 0x9D, 0xB0, 0x68, 0x69, 0x3D, 0xFE,
-+	0xC6, 0x16, 0x2C, 0x2B, 0x51, 0x40, 0x40, 0x2A,
-+	0x01, 0xBF, 0xB3, 0xFF, 0x8A, 0x38, 0x3D, 0x51,
-+	0xF4, 0x32, 0x74, 0x18, 0xC0, 0x70, 0x26, 0xA7,
-+	0x27, 0x5D, 0xDE, 0xB1, 0xD8, 0x5E, 0x3D, 0x30,
-+	0xB2, 0x0C, 0xEC, 0xA5, 0xCC, 0x44, 0x27, 0xC7,
-+	0x6D, 0x16, 0x01, 0x5A, 0x81, 0xFC, 0x9E, 0x3B,
-+	0xEE, 0x10, 0x17, 0x41, 0x9A, 0x0A, 0x50, 0x30,
-+	0x72, 0x6A, 0xCC, 0x01, 0xE0, 0x53, 0x3F, 0xFD,
-+	0x54, 0x8C, 0x13, 0x6C, 0x9D, 0x0E, 0x47, 0xB4,
-+	0xD1, 0x59, 0xCA, 0x17, 0xF3, 0x40, 0x10, 0xEA,
-+	0xCA, 0xD3, 0xA6, 0xDA, 0xA3, 0x28, 0x4B, 0x6E,
-+	0xBC, 0x42, 0xF8, 0x9D, 0x75, 0xFF, 0x3F, 0xCD,
-+	0x8E, 0x45, 0xE8, 0x1D, 0xEC, 0x5F, 0x74, 0x87,
-+	0x61, 0x23, 0x63, 0xA2, 0x79, 0x7B, 0xBB, 0xDE,
-+	0x72, 0xE5, 0xB6, 0x7B, 0x8B, 0x9A, 0xC7, 0x04,
-+	0x35, 0xD0, 0x65, 0xCB, 0xD0, 0x44, 0x41, 0xD1,
-+	0x74, 0x1E, 0xE8, 0x87, 0x6F, 0xE5, 0x25, 0x44,
-+	0xFB, 0x23, 0xA7, 0x08, 0xF4, 0x89, 0xEA, 0xCF,
-+	0x1E, 0xE0, 0xE7, 0xC9, 0x12, 0x92, 0xC8, 0xA8,
-+	0x89, 0x13, 0xA6, 0x07, 0xDC, 0xC9, 0xFA, 0x1F,
-+	0x2E, 0xB1, 0x04, 0x58, 0xBA, 0xAA, 0x6B, 0xE8,
-+	0x6B, 0x7D, 0xC8, 0x01, 0x8B, 0x1E, 0xCF, 0x49,
-+	0xCA, 0x21, 0xAD, 0x61, 0x18, 0xED, 0x8E, 0x83,
-+	0x00, 0x3E, 0xD9, 0x90, 0x78, 0xE2, 0x22, 0xFF,
-+	0x8F, 0x54, 0xD4, 0xF9, 0x21, 0x10, 0x37, 0xF4,
-+	0xFC, 0x2F, 0x15, 0x31, 0x48, 0xB0, 0xD3, 0x36,
-+	0xC1, 0x32, 0x99, 0x05, 0xDD, 0x6D, 0x3B, 0xBA,
-+	0x3A, 0x60, 0x91, 0xFE, 0xAE, 0x16, 0xFA, 0x72,
-+	0x53, 0xC0, 0x75, 0xFC, 0x51, 0xC9, 0x0C, 0x38,
-+	0x99, 0x5F, 0x19, 0x75, 0xAD, 0x1D, 0x4B, 0xCA,
-+	0x4A, 0x3C, 0x88, 0x01, 0x40, 0xD2, 0x33, 0xB4,
-+	0x37, 0x64, 0xDA, 0x3A, 0xAA, 0xBB, 0x93, 0x50,
-+	0xF5, 0x5A, 0xC4, 0xB5, 0x9D, 0x2D, 0x7B, 0xFA,
-+	0x7A, 0x84, 0x17, 0x7B, 0x22, 0xD8, 0xBB, 0xEA,
-+	0x58, 0x80, 0x97, 0xB2, 0x69, 0x70, 0x49, 0x00,
-+	0x89, 0x4F, 0x09, 0x65, 0xBD, 0x0D, 0x5B, 0xDA,
-+	0x5A, 0xB0, 0x32, 0x5D, 0x89, 0x1E, 0x46, 0x85,
-+	0x54, 0xC4, 0x71, 0x8F, 0x54, 0xEC, 0xEE, 0x8F,
-+	0x7F, 0xAF, 0x90, 0xEA, 0x7A, 0xCC, 0x7D, 0xF1,
-+	0x72, 0xA5, 0x79, 0x19, 0xC6, 0xF4, 0x5D, 0x61,
-+	0xF7, 0x24, 0x98, 0xD2, 0x53, 0xEB, 0x26, 0xE4,
-+	0x01, 0x67, 0xF7, 0xB6, 0x64, 0xC9, 0x59, 0xF3,
-+	0x30, 0x59, 0xFC, 0x9B, 0xD1, 0x65, 0x05, 0xD3,
-+	0x68, 0xB8, 0x68, 0x7D, 0xB5, 0xC7, 0xB3, 0x8F,
-+	0x59, 0x2E, 0x92, 0x5C, 0xC7, 0x7F, 0x3D, 0xFE,
-+	0x73, 0x88, 0x1F, 0x77, 0xB2, 0xF2, 0x9E, 0x55,
-+	0x57, 0x8F, 0x34, 0x9A, 0x61, 0x0C, 0x7B, 0xD3,
-+	0x5C, 0x15, 0xAE, 0xC2, 0x16, 0xB4, 0xC2, 0x2B,
-+	0xA5, 0x75, 0x6A, 0xA4, 0x31, 0x81, 0xA7, 0x67,
-+	0xE7, 0x30, 0x84, 0x28, 0xD0, 0x60, 0xA2, 0x71,
-+	0xF9, 0xE0, 0x33, 0xFF, 0xAB, 0x01, 0x04, 0x22,
-+	0x84, 0x42, 0x04, 0x02, 0x99, 0xFB, 0x9F, 0x5F,
-+	0xB9, 0x7F, 0xF5, 0x21, 0xDB, 0xC6, 0xA5, 0x00,
-+	0x60, 0x9D, 0x8B, 0x07, 0xAB, 0x7D, 0x03, 0xE2,
-+	0xD3, 0x45, 0xF0, 0x6E, 0xBD, 0x0D, 0x4B, 0xA4,
-+	0x23, 0x8A, 0x77, 0x1B, 0xCF, 0x75, 0x30, 0x96,
-+	0x33, 0xE4, 0x6A, 0x94, 0x6F, 0x01, 0xA1, 0x41,
-+	0xC1, 0x88, 0x5B, 0x97, 0xCD, 0x3E, 0x56, 0xD0,
-+	0x53, 0x88, 0x9C, 0xE3, 0x3C, 0x00, 0x1A, 0xA8,
-+	0x6C, 0xB7, 0xA3, 0xDC, 0x03, 0x96, 0x14, 0xF2,
-+	0x7E, 0xB7, 0x1C, 0x80, 0xEA, 0x49, 0x21, 0x8B,
-+	0x48, 0x85, 0xF8, 0x93, 0x89, 0x3D, 0x5D, 0x5F,
-+	0x13, 0x33, 0x93, 0xC3, 0x1C, 0x4E, 0x2D, 0xE0,
-+	0xE2, 0x1D, 0x2A, 0x51, 0xE7, 0x07, 0xF5, 0x38,
-+	0xB8, 0x75, 0x4A, 0x2A, 0xFE, 0x5C, 0x37, 0x0E,
-+	0x7C, 0xEA, 0x5C, 0xB6, 0x7E, 0xCE, 0x2C, 0x25,
-+	0x5C, 0xD1, 0xFF, 0x66, 0x06, 0x94, 0x59, 0x9A,
-+	0x7F, 0x7D, 0xED, 0x21, 0x69, 0xAD, 0xC6, 0x9F,
-+	0x49, 0x7B, 0xC7, 0xA7, 0x74, 0xC8, 0xE4, 0xC6,
-+	0x65, 0x63, 0x07, 0xC9, 0x65, 0x0F, 0xBC, 0xBC,
-+	0x1C, 0xC7, 0xD3, 0xAC, 0x7C, 0x2E, 0x2B, 0x4B,
-+	0xB9, 0x3F, 0xF7, 0x59, 0xC2, 0x7A, 0x0C, 0x86,
-+	0xF4, 0x23, 0xFB, 0x75, 0xE9, 0x59, 0x9B, 0x48,
-+	0xC0, 0x7E, 0x13, 0x59, 0x07, 0x72, 0xED, 0x00,
-+	0x87, 0x50, 0xE9, 0x45, 0xBD, 0x0D, 0xCF, 0x1C,
-+	0x94, 0xCD, 0x1E, 0xD2, 0x1C, 0x36, 0xA5, 0x80,
-+	0xD9, 0x24, 0x8F, 0x13, 0xC7, 0x75, 0x53, 0x5B,
-+	0x24, 0x47, 0xD3, 0x12, 0xC9, 0x5C, 0xE8, 0x0E,
-+	0x2E, 0x65, 0xA7, 0xAD, 0x6C, 0xFB, 0x97, 0x5C,
-+	0x0E, 0xF6, 0x9D, 0x33, 0x49, 0x8D, 0x27, 0x24,
-+	0x64, 0x9F, 0x29, 0x97, 0x2A, 0x3A, 0xF8, 0x2B,
-+	0xA3, 0x0A, 0xE0, 0xF2, 0x96, 0x7C, 0x76, 0x55,
-+	0xD9, 0x6F, 0x0B, 0x29, 0xF1, 0xE3, 0x90, 0x58,
-+	0xBD, 0xB0, 0x20, 0xCA, 0x1B, 0xAB, 0xC7, 0x78,
-+	0xF4, 0x7B, 0x8F, 0xA0, 0x70, 0xAA, 0x89, 0xBB,
-+	0x7F, 0xA4, 0xA0, 0xDF, 0x0C, 0x20, 0x0B, 0x79,
-+	0xAD, 0x8A, 0x30, 0xA6, 0x72, 0x4A, 0xA8, 0x2C,
-+	0xAC, 0x12, 0x70, 0x3A, 0x70, 0xD4, 0x48, 0x1A,
-+	0x53, 0x79, 0x5D, 0x65, 0x41, 0xD3, 0xB0, 0x7D,
-+	0xDD, 0x27, 0x95, 0xE4, 0xCC, 0x51, 0x36, 0x70,
-+	0x2F, 0x0B, 0x1F, 0x67, 0x43, 0xE5, 0x5F, 0x77,
-+	0xFB, 0xA8, 0x9C, 0xB4, 0x6C, 0x6A, 0xB0, 0x60,
-+	0xEC, 0xCD, 0xDE, 0x63, 0x9D, 0x0F, 0x7B, 0x47,
-+	0xE5, 0xFC, 0xBB, 0xF5, 0x79, 0x35, 0x53, 0x0E,
-+	0x71, 0x4F, 0x29, 0x63, 0x96, 0x21, 0x07, 0x3B,
-+	0x44, 0x9F, 0x1F, 0x32, 0xEA, 0x0B, 0x5F, 0x9C,
-+	0x44, 0x9A, 0x6E, 0xA2, 0x8A, 0x70, 0x55, 0xA7,
-+	0x23, 0x78, 0xE8, 0xA7, 0x4E, 0xD8, 0xFB, 0x08,
-+	0xE9, 0x79, 0xCC, 0xD1, 0x45, 0xF6, 0x9A, 0xF2,
-+	0x54, 0xEC, 0x75, 0x7F, 0x24, 0x8A, 0xE6, 0x55,
-+	0x47, 0xB9, 0xD1, 0x7D, 0x85, 0x35, 0xC7, 0x61,
-+	0x41, 0xA8, 0x5A, 0xB6, 0xDC, 0x69, 0x04, 0x66,
-+	0xE1, 0x3A, 0x3C, 0xE1, 0x3D, 0x3D, 0xF5, 0xA6,
-+	0x84, 0x18, 0xAE, 0xDF, 0xF7, 0x5A, 0xCA, 0x06,
-+	0x95, 0x08, 0xBE, 0xD2, 0x06, 0x85, 0xD7, 0x53,
-+	0x53, 0x95, 0xD3, 0xB3, 0x38, 0x4A, 0x0F, 0x11,
-+	0x51, 0xAA, 0x1C, 0xB2, 0x0C, 0x1C, 0xBA, 0x89,
-+	0xF6, 0x2D, 0xAD, 0x80, 0x58, 0xD9, 0xF7, 0x34,
-+	0x95, 0x01, 0xB4, 0xF1, 0x3A, 0x97, 0x07, 0xC7,
-+	0x47, 0x9C, 0x1C, 0x31, 0xE9, 0xC8, 0x9C, 0x5F,
-+	0x47, 0x95, 0xAF, 0x6A, 0x10, 0x89, 0x34, 0x54,
-+	0x74, 0xBB, 0x2B, 0x7D, 0xA7, 0xF2, 0xD0, 0x31,
-+	0xAC, 0x87, 0x07, 0x2A, 0xF2, 0xE3, 0xD2, 0x11,
-+	0xB0, 0x21, 0x94, 0xC9, 0x23, 0x90, 0x61, 0xF1,
-+	0x72, 0x28, 0xCC, 0xA3, 0xF2, 0x6B, 0x22, 0xE1,
-+	0xC8, 0x4A, 0xE1, 0x7D, 0xA5, 0x15, 0x43, 0xC2,
-+	0x42, 0xB8, 0x5D, 0x32, 0x62, 0xF0, 0x57, 0xFF,
-+	0x62, 0x18, 0xFA, 0x95, 0x28, 0xD1, 0x99, 0xC8,
-+	0x1D, 0xC5, 0xB2, 0x88, 0x53, 0x52, 0x65, 0xA6,
-+	0x8E, 0x77, 0x79, 0x1E, 0x06, 0x1C, 0x6C, 0x3C,
-+	0x26, 0xED, 0xEB, 0x1D, 0x56, 0x7F, 0x3D, 0x58,
-+	0x11, 0xEF, 0x44, 0xD8, 0x00, 0xB0, 0xE6, 0x67,
-+	0xE7, 0x9D, 0x7F, 0x10, 0x2D, 0xDF, 0x97, 0xB6,
-+	0x6E, 0xB6, 0x41, 0x1F, 0xC4, 0x45, 0x76, 0xB5,
-+	0x39, 0xEE, 0x80, 0xCF, 0xE6, 0x01, 0x62, 0x15,
-+	0xF8, 0x01, 0x0A, 0x69, 0x79, 0xCD, 0x64, 0xAB,
-+	0x86, 0x5F, 0x68, 0x5D, 0x86, 0xD6, 0x2B, 0xCB,
-+	0xD2, 0x2A, 0x15, 0x7D, 0xC0, 0x38, 0x58, 0x29,
-+	0xF3, 0x2B, 0x35, 0x7A, 0xAE, 0x1C, 0xCC, 0xA6,
-+	0x06, 0x74, 0xE1, 0x90, 0xB8, 0x04, 0x6F, 0x69,
-+	0x1F, 0x3B, 0xBB, 0x96, 0x4E, 0xE2, 0x4A, 0x0D,
-+	0x1F, 0xC0, 0x57, 0x60, 0xBB, 0x16, 0x86, 0xEB,
-+	0x69, 0x97, 0xE3, 0xAA, 0x5F, 0xE5, 0x98, 0xA8,
-+	0x28, 0xF3, 0x73, 0x5E, 0x86, 0x47, 0x60, 0xA3,
-+	0xFF, 0x70, 0x4E, 0x25, 0x71, 0x89, 0x4C, 0x92,
-+	0x12, 0x8F, 0x38, 0x54, 0x2D, 0xD5, 0xB6, 0x53,
-+	0xEF, 0x1C, 0x02, 0x69, 0xBD, 0x04, 0xF6, 0x7C,
-+	0x64, 0x0D, 0x1B, 0x04, 0x96, 0x45, 0xE7, 0x87,
-+	0x73, 0xCF, 0x45, 0x3A, 0x5F, 0xED, 0x25, 0xE2,
-+	0xAF, 0x77, 0x8B, 0x4D, 0x37, 0x4D, 0x09, 0x6C,
-+	0xA9, 0x5A, 0x5E, 0x92, 0x39, 0x4F, 0x2A, 0xEA,
-+	0x2D, 0xCD, 0x6F, 0xBE, 0x64, 0x7C, 0x1B, 0x19,
-+	0x39, 0x96, 0x60, 0xC0, 0xD8, 0x22, 0xE8, 0x8A,
-+	0xC0, 0x3F, 0x6C, 0x43, 0xB3, 0xB1, 0x71, 0xC2,
-+	0xFE, 0x70, 0xA1, 0xF6, 0x26, 0x34, 0xF0, 0x35,
-+	0x50, 0x5A, 0xC8, 0xE2, 0x3D, 0x8D, 0x5F, 0x3F,
-+	0xCB, 0x77, 0x7A, 0x1E, 0x64, 0x70, 0x16, 0x33,
-+	0x63, 0x9C, 0xAC, 0xC3, 0x1B, 0xA7, 0xCD, 0xD5,
-+	0x52, 0x85, 0x2F, 0x81, 0x14, 0x3C, 0xB9, 0xB6,
-+	0x12, 0xEC, 0x5E, 0x32, 0x02, 0xB5, 0x37, 0xF9,
-+	0xE1, 0xF6, 0x0E, 0xC3, 0x53, 0xE0, 0x25, 0xDD,
-+	0x75, 0xB3, 0xF5, 0x99, 0x41, 0xF1, 0xA7, 0x26,
-+	0xA6, 0x4C, 0xBD, 0xD2, 0x32, 0x81, 0xC0, 0x5C,
-+	0xDF, 0x2D, 0xE8, 0x0F, 0x54, 0x76, 0xD5, 0x01,
-+	0x18, 0xA0, 0x8F, 0xB0, 0xE1, 0x62, 0x8B, 0x68,
-+	0xCA, 0xD3, 0x99, 0xDC, 0x47, 0xEA, 0x7A, 0xBA,
-+	0x3A, 0xE1, 0x61, 0x4C, 0x94, 0xC1, 0xB2, 0x72,
-+	0xEF, 0xC4, 0x44, 0x69, 0xB1, 0x0D, 0x27, 0x42,
-+	0xE2, 0x1B, 0x8C, 0xA7, 0x7C, 0x41, 0x2B, 0x73,
-+	0xF1, 0x26, 0x8A, 0x64, 0xD5, 0x42, 0x87, 0x58,
-+	0xFA, 0x5D, 0x37, 0x27, 0x11, 0xAD, 0xE5, 0x9D,
-+	0x1F, 0xC8, 0x69, 0xA7, 0x14, 0x8C, 0x5D, 0xD6,
-+	0x55, 0x4E, 0xD8, 0xB4, 0xFE, 0x65, 0xAD, 0xAD,
-+	0x0D, 0xD6, 0x10, 0xE5, 0x1D, 0x3F, 0x34, 0x5C,
-+	0x1C, 0xE7, 0x51, 0xCF, 0x3C, 0x24, 0x84, 0x64,
-+	0xE4, 0xBF, 0xF6, 0xBA, 0x90, 0x4B, 0x83, 0x83,
-+	0x23, 0xF8, 0x9C, 0xDB, 0xA9, 0xD9, 0x99, 0x59,
-+	0x39, 0x3F, 0x99, 0x27, 0x94, 0x8E, 0x2E, 0xCE,
-+	0x4E, 0x37, 0xAA, 0x6C, 0x74, 0xE4, 0x84, 0x84,
-+	0xAE, 0x65, 0x71, 0x76, 0x04, 0x15, 0x28, 0xEB,
-+	0xCE, 0x00, 0x94, 0xF4, 0x2F, 0x27, 0x45, 0x89,
-+	0x0F, 0xD8, 0x2B, 0xA7, 0x3C, 0x9D, 0xF1, 0x38,
-+	0x88, 0xB0, 0xF6, 0x7A, 0x4C, 0xED, 0x3D, 0x0E,
-+	0x2E, 0x97, 0x4E, 0x08, 0xDC, 0x73, 0xDB, 0x19,
-+	0x09, 0x7B, 0x3D, 0x4A, 0x0B, 0x2B, 0xDB, 0x6F,
-+	0x05, 0x12, 0x6E, 0xC8, 0xC2, 0x7E, 0x37, 0x75,
-+	0xF9, 0x08, 0x0C, 0x6C, 0x91, 0xA1, 0x49, 0x98,
-+	0xA8, 0xC0, 0x37, 0xE9, 0x7D, 0xE8, 0x58, 0x10,
-+	0xB0, 0xB3, 0x07, 0xD6, 0x06, 0x36, 0xE9, 0xAA,
-+	0xC0, 0xC6, 0xC0, 0x54, 0xCD, 0x8F, 0xA3, 0x49,
-+	0x13, 0x62, 0x56, 0x30, 0xC0, 0xC2, 0xEE, 0x07,
-+	0x07, 0x58, 0xAF, 0x41, 0xD3, 0x4B, 0x4D, 0xC4,
-+	0xFE, 0xAD, 0x19, 0xD8, 0x03, 0x39, 0xCA, 0x80,
-+	0xB4, 0xDD, 0x40, 0x06, 0x54, 0x6A, 0xBA, 0xC1,
-+	0xB1, 0xD0, 0xEE, 0x00, 0xD0, 0x47, 0xA5, 0x2C,
-+	0x44, 0x17, 0xA3, 0xC3, 0x10, 0x20, 0x93, 0xC3,
-+	0xC9, 0xE6, 0xA2, 0xE1, 0x13, 0x29, 0xA7, 0x97,
-+	0xE8, 0xC3, 0x8F, 0x0D, 0x17, 0xA9, 0xE3, 0xC1,
-+	0x4F, 0xBD, 0x8B, 0x2B, 0xE2, 0xB2, 0x1E, 0xFE,
-+	0xBC, 0x3A, 0xE0, 0xE9, 0x20, 0x90, 0xFC, 0x35,
-+	0xBE, 0x30, 0x3E, 0x50, 0x93, 0x10, 0x40, 0xB0,
-+	0x44, 0xAF, 0xFA, 0x66, 0x04, 0x70, 0x62, 0xCE,
-+	0x60, 0x5B, 0xAE, 0xD3, 0x5D, 0x58, 0xCD, 0xAF,
-+	0xE4, 0x2B, 0x1C, 0x2E, 0xF5, 0xD7, 0x9C, 0x79,
-+	0x6B, 0xDB, 0x44, 0xE8, 0x10, 0xA0, 0x48, 0x80,
-+	0x89, 0xD9, 0xCA, 0xF1, 0x09, 0xA4, 0x34, 0xF4,
-+	0x74, 0xAF, 0x2F, 0x02, 0xDA, 0x4B, 0x6C, 0xAF,
-+	0x87, 0x5E, 0x4A, 0xEC, 0x20, 0xB5, 0x8D, 0x6D,
-+	0x45, 0x9C, 0xA1, 0x67, 0x9A, 0xB9, 0xFE, 0x32,
-+	0xF8, 0xC1, 0xD8, 0x34, 0x3D, 0xC6, 0xA5, 0xA5,
-+	0x05, 0xDE, 0xAA, 0xEB, 0x87, 0xF7, 0xB7, 0x77,
-+	0x4F, 0x96, 0xC0, 0x60, 0xA8, 0xDA, 0xD7, 0xA3,
-+	0x91, 0x61, 0xF0, 0xF9, 0x29, 0xBB, 0x63, 0xA1,
-+	0x2D, 0xEC, 0xE8, 0xAF, 0x5F, 0x0A, 0x6D, 0x8F,
-+	0x12, 0x39, 0xB9, 0x94, 0x4C, 0xAD, 0x86, 0x45,
-+	0x05, 0xFE, 0x48, 0x66, 0x9B, 0x9F, 0x3F, 0xDF,
-+	0x5F, 0xB4, 0x46, 0x3A, 0xA2, 0x50, 0x10, 0x92,
-+	0x77, 0x18, 0xB3, 0x2F, 0xF7, 0x47, 0x11, 0x90,
-+	0x10, 0xC7, 0x72, 0x6C, 0x14, 0xD4, 0xE5, 0x62,
-+	0xE1, 0x36, 0x96, 0x42, 0x9F, 0x1F, 0xBC, 0x8C,
-+	0xBC, 0xC4, 0xD2, 0x6C, 0x9E, 0x04, 0xD4, 0xD8,
-+	0xF8, 0xF3, 0x98, 0x04, 0x06, 0x7A, 0x98, 0x54,
-+	0xF0, 0xCB, 0x3E, 0x43, 0xFD, 0x55, 0x09, 0x2B,
-+	0x81, 0x74, 0x10, 0x56, 0xBC, 0x47, 0x94, 0xB3,
-+	0x3E, 0xF2, 0xE6, 0x86, 0x76, 0xC6, 0xBD, 0x3D,
-+	0xBD, 0xD0, 0xC7, 0xDB, 0xB8, 0x18, 0xD8, 0xB8,
-+	0x0C, 0x67, 0x7B, 0x37, 0x4F, 0x5F, 0x4B, 0xCD,
-+	0x4D, 0x96, 0x2C, 0x4A, 0x20, 0x3F, 0xDF, 0x3A,
-+	0x43, 0x67, 0x69, 0x00, 0x62, 0x06, 0x94, 0x79,
-+	0xD7, 0x00, 0xAA, 0x36, 0x01, 0xA0, 0x30, 0x3E,
-+	0x2D, 0x34, 0xEF, 0xAD, 0x6E, 0xED, 0xBD, 0x4D,
-+	0xB9, 0x04, 0xF1, 0x3D, 0x6E, 0x75, 0xB0, 0xF5,
-+	0x52, 0x24, 0x90, 0x7D, 0xFB, 0x48, 0xE8, 0x08,
-+	0x88, 0xDB, 0x65, 0x80, 0x6A, 0x7F, 0x56, 0xB6,
-+	0x2B, 0x00, 0x80, 0xAD, 0x75, 0x44, 0x63, 0xA0,
-+	0x00, 0xB9, 0xFF, 0x1B, 0xCB, 0x70, 0x53, 0x13,
-+	0xA1, 0xEA, 0xDC, 0xE2, 0x9A, 0x58, 0x1D, 0xF7,
-+	0xF7, 0x4A, 0x5C, 0x40, 0xEF, 0xAF, 0xB5, 0x53,
-+	0x85, 0xBA, 0x08, 0x46, 0x9C, 0x0A, 0x28, 0x7B,
-+	0x8B, 0xD0, 0x44, 0x29, 0xD1, 0x49, 0x18, 0x92,
-+	0x30, 0xEB, 0x7F, 0x02, 0xFA, 0x6A, 0x3B, 0xD9,
-+	0x0A, 0xA1, 0x55, 0x1C, 0xEE, 0x1E, 0x3A, 0x0A,
-+	0xC0, 0x5D, 0xA9, 0xC1, 0x3F, 0x2E, 0x11, 0xD2,
-+	0xD2, 0x4D, 0xFA, 0xD6, 0x46, 0xC7, 0x01, 0xD5,
-+	0x59, 0x24, 0x50, 0x2F, 0xEB, 0xA9, 0xD5, 0xED,
-+	0xEF, 0x67, 0xA1, 0x8B, 0x51, 0xE1, 0x67, 0xB5,
-+	0x33, 0xE4, 0x50, 0x30, 0xE1, 0xC3, 0xF0, 0x40,
-+	0x60, 0x19, 0x0F, 0xCB, 0x19, 0x0B, 0x0E, 0xFC,
-+	0x61, 0x4A, 0xDE, 0xB0, 0x4D, 0x7B, 0xF4, 0xCB,
-+	0x4B, 0x90, 0x10, 0x3D, 0xE5, 0x59, 0x3B, 0xF7,
-+	0x72, 0xE8, 0x19, 0x76, 0xA2, 0x51, 0xF9, 0x3D,
-+	0x7D, 0x74, 0x52, 0xAC, 0x69, 0xB5, 0xC3, 0x5A,
-+	0xDD, 0x0D, 0x32, 0xDE, 0x86, 0xC2, 0x20, 0xBD,
-+	0x51, 0xDC, 0xE2, 0x88, 0x90, 0xD2, 0x12, 0x30,
-+	0x9F, 0x6E, 0x64, 0x16, 0xE8, 0x46, 0x09, 0xEF,
-+	0x41, 0xB6, 0x66, 0x34, 0xBB, 0x59, 0x56, 0xBC,
-+	0x1C, 0x55, 0x13, 0xBF, 0xFE, 0xEE, 0x2C, 0xE5,
-+	0x4F, 0x26, 0x99, 0xDC, 0x84, 0x9E, 0xEF, 0x9F,
-+	0xB5, 0x4E, 0xF4, 0x93, 0xE9, 0x04, 0x08, 0xE2,
-+	0xCE, 0x87, 0x38, 0x73, 0x39, 0xC3, 0x4B, 0x26,
-+	0xA4, 0x5A, 0x1F, 0x8C, 0x12, 0xA9, 0xC9, 0x12,
-+	0x2C, 0xD7, 0xC3, 0x5F, 0x47, 0x5D, 0x9D, 0xEF,
-+	0x00, 0xF1, 0xF7, 0x20, 0x08, 0x02, 0xC8, 0xBA,
-+	0x30, 0xC1, 0x95, 0xF3, 0x02, 0x32, 0xE9, 0x38,
-+	0x58, 0x38, 0xAE, 0x70, 0xF5, 0x29, 0x63, 0x1F,
-+	0x3D, 0xEC, 0x7D, 0xB3, 0x20, 0x78, 0xB5, 0x77,
-+	0xFB, 0x2B, 0x78, 0xFB, 0xDC, 0xA4, 0xC0, 0x2A,
-+	0x76, 0x3F, 0x84, 0x00, 0x74, 0x0D, 0x66, 0x5F,
-+	0x2D, 0xBB, 0xE5, 0x41, 0x9D, 0x07, 0xBB, 0x99,
-+	0x14, 0x27, 0x4D, 0xEF, 0x9A, 0x28, 0x44, 0x9F,
-+	0x3F, 0x66, 0x20, 0x8C, 0xC6, 0xD6, 0x24, 0xCD,
-+	0x67, 0x7C, 0x42, 0x8E, 0xC6, 0xEF, 0x7F, 0x25,
-+	0x2D, 0x74, 0xCA, 0x81, 0xDB, 0x26, 0xAE, 0xCB,
-+	0xA7, 0x83, 0xFD, 0x95, 0x46, 0xC5, 0xBE, 0x5C,
-+	0xFC, 0x07, 0xC5, 0xFF, 0x34, 0x70, 0x82, 0x6E,
-+	0xC7, 0x90, 0xAF, 0xC8, 0x99, 0xAB, 0xA7, 0x4E,
-+	0x02, 0xC1, 0x92, 0x22, 0x05, 0xA8, 0x38, 0xF8,
-+	0x78, 0xA3, 0x23, 0x0E, 0xD6, 0x27, 0x27, 0xE4,
-+	0x55, 0xEF, 0x5A, 0xBE, 0x22, 0x1B, 0xF9, 0x00,
-+	0xC4, 0x02, 0x44, 0x28, 0xF0, 0x40, 0x16, 0x97,
-+	0x17, 0x6E, 0x1A, 0x66, 0x1B, 0x98, 0xD8, 0x89,
-+	0x69, 0xB1, 0x8F, 0x61, 0x30, 0xC9, 0xB4, 0x84,
-+	0x04, 0xDF, 0x5F, 0x72, 0xAA, 0xA7, 0xC5, 0x24,
-+	0xC6, 0x1E, 0x80, 0xEE, 0x3A, 0x06, 0xED, 0x8F,
-+	0xAA, 0x73, 0xED, 0x00, 0xBB, 0x08, 0xFA, 0xF8,
-+	0x68, 0x2A, 0xCE, 0x3B, 0xA1, 0x98, 0x9A, 0xD6,
-+	0x55, 0xB7, 0x93, 0xE2, 0xCA, 0x7A, 0x2C, 0xAD,
-+	0x2D, 0xC7, 0x13, 0x7C, 0x9C, 0x2F, 0xFD, 0x2E,
-+	0xB6, 0x61, 0xCB, 0xA0, 0x93, 0x39, 0xC8, 0x56,
-+	0xD5, 0xCE, 0xD3, 0x9F, 0xE5, 0x06, 0x7E, 0x7E,
-+	0xDE, 0x05, 0x2B, 0x4E, 0x14, 0xB7, 0xD1, 0xB3,
-+	0xF0, 0x3B, 0x17, 0xF3, 0xA2, 0x61, 0x64, 0x88,
-+	0x28, 0x41, 0xE4, 0x90, 0x5F, 0x04, 0x6A, 0x12,
-+	0x01, 0x56, 0x7B, 0x9F, 0x4C, 0x51, 0x33, 0x13,
-+	0x9B, 0x40, 0xDB, 0xBD, 0x78, 0x38, 0x54, 0x96,
-+	0x0B, 0x20, 0xA0, 0x8D, 0x55, 0xD4, 0xD6, 0x15,
-+	0xAD, 0x75, 0x71, 0x0F, 0xC3, 0xBB, 0x78, 0x10,
-+	0xB3, 0xA2, 0xAF, 0x7A, 0x01, 0x16, 0x4D, 0xDC,
-+	0xFC, 0xBC, 0xCA, 0x24, 0xEF, 0x47, 0xBE, 0xDD,
-+	0x4A, 0xF9, 0x64, 0xCA, 0xBA, 0xF5, 0x74, 0xD0,
-+	0x53, 0x70, 0x75, 0xD9, 0x21, 0x91, 0x23, 0xF0,
-+	0x68, 0x02, 0xFF, 0x90, 0xA8, 0xC5, 0xB5, 0x87,
-+	0x6C, 0x17, 0x73, 0x4C, 0x8C, 0xFC, 0xBC, 0x7C,
-+	0x5E, 0xAE, 0x98, 0x34, 0xCC, 0x7C, 0xDC, 0xB6,
-+	0x26, 0x5F, 0x82, 0x6E, 0xF0, 0x41, 0x21, 0x43,
-+	0x00, 0xCB, 0x58, 0x13, 0xEB, 0x9B, 0xDB, 0x1B,
-+	0x0A, 0x8F, 0x3A, 0xD4, 0x1F, 0xA9, 0x51, 0x98,
-+	0xBA, 0xA2, 0x04, 0xF2, 0xA2, 0x9B, 0x88, 0x2D,
-+	0x89, 0x72, 0x4C, 0xA3, 0xD6, 0x64, 0xE4, 0x2C,
-+	0xAC, 0x6A, 0x2C, 0x40, 0x98, 0x28, 0x7E, 0xFF,
-+	0x7F, 0xE6, 0xF8, 0x6B, 0x22, 0xF7, 0x94, 0xE5,
-+	0x07, 0xDF, 0x58, 0x7F, 0xA4, 0xAC, 0xC7, 0xC5,
-+	0x5E, 0x9D, 0x27, 0x66, 0x6E, 0x12, 0x52, 0x50,
-+	0x8B, 0x48, 0x3E, 0x72, 0xAA, 0xB8, 0xFB, 0x9B,
-+	0xB2, 0xD2, 0xA4, 0xE8, 0x30, 0x02, 0x41, 0x21,
-+	0x61, 0x9A, 0x2C, 0xD0, 0x80, 0x20, 0xD2, 0xB3,
-+	0x33, 0x78, 0x46, 0x0A, 0x50, 0x83, 0x43, 0x43,
-+	0xE3, 0x38, 0xAC, 0xE3, 0xBB, 0xCB, 0x8B, 0x4B,
-+	0x8B, 0x72, 0xD4, 0xFA, 0x86, 0x36, 0x16, 0xF4,
-+	0x54, 0xAD, 0x78, 0x94, 0x51, 0x11, 0x47, 0xC6,
-+	0x46, 0xFB, 0x79, 0x1D, 0x47, 0xF4, 0xB3, 0xB1,
-+	0x32, 0xCF, 0x1F, 0x4B, 0x99, 0x84, 0xE6, 0x9B,
-+	0x18, 0x0E, 0xBC, 0xF5, 0xB5, 0x27, 0x5A, 0x6A,
-+	0x42, 0xCA, 0xCE, 0x02, 0x21, 0x21, 0x8D, 0x5D,
-+	0x1F, 0x87, 0x17, 0xBB, 0x43, 0xF3, 0x01, 0xCB,
-+	0x47, 0x5C, 0xCA, 0xA6, 0xCE, 0xE7, 0x97, 0xC5,
-+	0x0F, 0xD8, 0x73, 0xEF, 0x37, 0x87, 0xFD, 0x3C,
-+	0xBC, 0x67, 0xD1, 0xBD, 0x65, 0xD5, 0x51, 0x9C,
-+	0x1E, 0xA5, 0x17, 0x7A, 0xA2, 0x12, 0x72, 0xB2,
-+	0x32, 0xE9, 0xEF, 0x8D, 0x57, 0x87, 0xCD, 0x0F,
-+	0x8F, 0x54, 0xE2, 0x8E, 0x56, 0xE6, 0x66, 0xB4,
-+	0x36, 0x8D, 0x27, 0x4B, 0x9B, 0x2B, 0x36, 0xF2,
-+	0x0C, 0xD3, 0xE1, 0x9F, 0x45, 0x95, 0x81, 0x52,
-+	0xD0, 0x6B, 0x45, 0x3A, 0xE0, 0x30, 0xF0, 0x23,
-+	0xA1, 0x1A, 0x74, 0x0C, 0xD6, 0x06, 0x7E, 0xAB,
-+	0x29, 0x92, 0x14, 0x6E, 0xB4, 0x64, 0x30, 0xE5,
-+	0x67, 0xDC, 0xD2, 0xAB, 0x71, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x97, 0x40,
-+	0xC2, 0x79, 0xEB, 0x90, 0x4A, 0x9A, 0xEE, 0x36,
-+	0xB4, 0x0F, 0x19, 0x62, 0xB8, 0x68, 0x08, 0xC8,
-+	0x48, 0x93, 0x25, 0x49, 0x91, 0x21, 0x41, 0x81,
-+	0x01, 0xDA, 0xA0, 0xD4, 0x0C, 0xDC, 0x6C, 0xB4,
-+	0x34, 0x8F, 0xC1, 0xB4, 0x6C, 0xBC, 0x30, 0xF0,
-+	0x70, 0xAB, 0x1D, 0x71, 0xA9, 0x19, 0x78, 0xB8,
-+	0x38, 0xE3, 0x54, 0x38, 0xE1, 0x51, 0x30, 0xF8,
-+	0x38, 0xE3, 0x54, 0x39, 0xE0, 0x51, 0x70, 0xA0,
-+	0x24, 0xFD, 0x6A, 0x02, 0xFB, 0x4F, 0x0E, 0x4A,
-+	0xDA, 0x43, 0xE4, 0x99, 0x50, 0xF1, 0xD8, 0x3A,
-+	0x9E, 0x67, 0x98, 0xE6, 0x77, 0xD5, 0xFC, 0x6E,
-+	0xD7, 0x1E, 0xFD, 0x80, 0x0D, 0xAC, 0x99, 0x4C,
-+	0x99, 0x53, 0x4F, 0x09, 0x7B, 0xE1, 0x2B, 0x41,
-+	0x6B, 0x9A, 0x79, 0x40, 0xCD, 0x28, 0x1D, 0x88,
-+	0x5D, 0x53, 0xB0, 0x09, 0x84, 0xE1, 0x2B, 0x01,
-+	0x2B, 0x1E, 0x02, 0x80, 0xF2, 0xAC, 0x7A, 0x17,
-+	0x21, 0x17, 0x17, 0x96, 0xF8, 0xA5, 0x73, 0x6E,
-+	0x35, 0x33, 0x6B, 0xE9, 0xDF, 0x81, 0x3F, 0x84,
-+	0xEB, 0x8D, 0xE5, 0x72, 0x74, 0x3F, 0xE1, 0xCE,
-+	0xB5, 0x93, 0xDB, 0x49, 0x6F, 0x21, 0xBF, 0x88,
-+	0xB7, 0x93, 0xDB, 0x48, 0x6E, 0x21, 0xBE, 0x81,
-+	0xFE, 0xDA, 0x58, 0x2D, 0xF5, 0x25, 0x7D, 0xA4,
-+	0x24, 0x9F, 0xD5, 0xA0, 0x78, 0xA8, 0xFC, 0x3C,
-+	0xBC, 0x67, 0xD1, 0xBD, 0x65, 0xD5, 0xB5, 0x75,
-+	0xF5, 0x2E, 0x98, 0xF4, 0x2C, 0x9C, 0xFC, 0x3C,
-+	0xBC, 0x67, 0xF9, 0x9C, 0x44, 0x94, 0xD0, 0x19,
-+	0x99, 0x22, 0x84, 0x58, 0x82, 0x32, 0x52, 0x88,
-+	0x08, 0xB3, 0x75, 0x18, 0xC0, 0x70, 0x6C, 0xAB,
-+	0x2B, 0x90, 0x9A, 0xFB, 0x21, 0xF1, 0xAD, 0x65,
-+	0xE5, 0x5E, 0xFC, 0x9E, 0x44, 0x94, 0x38, 0xF6,
-+	0x74, 0xCF, 0xED, 0x87, 0x5F, 0x8F, 0x4B, 0x84,
-+	0x06, 0xBD, 0x4F, 0x25, 0xFD, 0x2D, 0xC1, 0x0E,
-+	0x8C, 0x37, 0x71, 0x04, 0xDC, 0x0C, 0xB8, 0x77,
-+	0xF5, 0x4E, 0x48, 0x35, 0xEF, 0x3F, 0xE7, 0x2F,
-+	0xAF, 0x14, 0x82, 0xFC, 0x26, 0xF6, 0x2A, 0xED,
-+	0x6D, 0xD6, 0x34, 0x4A, 0x90, 0x40, 0xE8, 0x3A,
-+	0xB8, 0x03, 0x5D, 0x37, 0xEF, 0x3F, 0x3B, 0xE3,
-+	0x61, 0xDA, 0x2C, 0x4A, 0x92, 0x42, 0x14, 0x95,
-+	0x15, 0x4F, 0x7B, 0x11, 0x78, 0x48, 0x2E, 0xF2,
-+	0x78, 0x32, 0x05, 0x6F, 0x15, 0xEE, 0x8E, 0xC7,
-+	0x4E, 0xB0, 0x04, 0x68, 0x55, 0xE1, 0x81, 0xE4,
-+	0x66, 0xBD, 0xEE, 0x87, 0x5F, 0x0A, 0x62, 0xA2,
-+	0x07, 0xDF, 0x69, 0xA0, 0x71, 0xC1, 0x00, 0x43,
-+	0xC5, 0xAF, 0x9D, 0xF7, 0x8A, 0x60, 0x27, 0xFA,
-+	0x8A, 0x51, 0xD1, 0xFC, 0x24, 0xA5, 0x40, 0x86,
-+	0x27, 0x7A, 0xCA, 0x8F, 0x84, 0x29, 0xB9, 0x79,
-+	0xF9, 0x22, 0xA2, 0x8F, 0x57, 0xD6, 0x31, 0xF7,
-+	0x56, 0x05, 0xB5, 0xF0, 0x6B, 0xC6, 0x56, 0x96,
-+	0x16, 0xCD, 0x4D, 0x60, 0xB8, 0x39, 0xDC, 0x1A,
-+	0xBB, 0xE9, 0x59, 0x1C, 0x57, 0xFA, 0x6A, 0xAA,
-+	0x2A, 0xF1, 0x71, 0x5C, 0x84, 0x15, 0xF8, 0x3E,
-+	0x8F, 0xD8, 0x68, 0x95, 0xC7, 0x71, 0x90, 0xDB,
-+	0x5D, 0x0F, 0xF0, 0xB5, 0x6E, 0xC3, 0x53, 0x93,
-+	0x13, 0xC8, 0x48, 0x65, 0xBD, 0x9C, 0x72, 0xB4,
-+	0x38, 0xEB, 0xDF, 0xFA, 0x22, 0xF7, 0x96, 0x56,
-+	0x77, 0x3C, 0x8C, 0x51, 0x0E, 0xB8, 0x19, 0x56,
-+	0xD0, 0xC2, 0x7F, 0xBA, 0x39, 0x94, 0x04, 0xC4,
-+	0x44, 0x9F, 0x1F, 0x32, 0xEA, 0x6B, 0x9A, 0x5C,
-+	0xFD, 0xB4, 0x04, 0x41, 0x8A, 0x27, 0xB7, 0x77,
-+	0xF7, 0x2C, 0xAC, 0x81, 0x59, 0x68, 0x9C, 0x5A,
-+	0xEB, 0xA3, 0x13, 0x5E, 0x13, 0xA5, 0xEC, 0x0F,
-+	0x06, 0x8E, 0x25, 0xB9, 0x61, 0xD1, 0x87, 0x06,
-+	0x86, 0xCC, 0xEC, 0x86, 0xDF, 0xF8, 0x9E, 0xD7,
-+	0x7E, 0xC0, 0x76, 0x1A, 0xDF, 0x9F, 0xC9, 0x48,
-+	0xC8, 0xB2, 0x9C, 0xF6, 0x9C, 0x8C, 0x60, 0x08,
-+	0x82, 0x79, 0xAE, 0xC2, 0x92, 0x08, 0xD2, 0xA8,
-+	0xB4, 0x77, 0xCD, 0xBD, 0x69, 0x54, 0xD6, 0x3C,
-+	0x94, 0x8F, 0x19, 0x75, 0x7F, 0x81, 0xED, 0xEF,
-+	0x24, 0xD8, 0x4B, 0x80, 0x7B, 0xEB, 0x6D, 0xBE,
-+	0x2E, 0xD5, 0x63, 0x12, 0x3A, 0x8A, 0xEA, 0x2A,
-+	0xAA, 0x71, 0xC7, 0xAB, 0x73, 0xC3, 0xA3, 0x63,
-+	0xE3, 0x38, 0x8F, 0xE3, 0x3F, 0x8F, 0x8B, 0x51,
-+	0xD3, 0x68,
-+};
-+
-+static unsigned char vfs5011_init_16[] = { /* 2565 B */
-+	0x02, 0xF0, 0x00, 0x14, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE5, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xEA, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0x0A, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x01, 0xDE, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x74, 0x01, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x74, 0x01, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x07, 0x20,
-+	0xBA, 0xF8, 0x07, 0x20, 0xB9, 0xF8, 0x07, 0x20,
-+	0xB8, 0xF8, 0x07, 0x20, 0xB7, 0xF8, 0x07, 0x20,
-+	0xB6, 0xF8, 0x07, 0x20, 0xB5, 0xF8, 0x07, 0x20,
-+	0xB4, 0xF8, 0x07, 0x20, 0xB3, 0xF8, 0x07, 0x20,
-+	0xB2, 0xF8, 0x07, 0x20, 0xB1, 0xF8, 0x07, 0x22,
-+	0xB0, 0xF8, 0x07, 0x22, 0xAF, 0xF8, 0x07, 0x22,
-+	0xAE, 0xF8, 0x07, 0x22, 0xAD, 0xF8, 0x07, 0x22,
-+	0xAC, 0xF8, 0x07, 0x22, 0xAB, 0xF8, 0x07, 0x22,
-+	0xAA, 0xF8, 0x07, 0x22, 0xA9, 0xF8, 0x07, 0x22,
-+	0xA8, 0xF8, 0x07, 0x22, 0xA7, 0xF8, 0x07, 0x22,
-+	0xA6, 0xF8, 0x07, 0x22, 0xA5, 0xF8, 0x07, 0x22,
-+	0xA4, 0xF8, 0x07, 0x22, 0xA3, 0xF8, 0x07, 0x22,
-+	0xA2, 0xF8, 0x07, 0x22, 0xA1, 0xF8, 0x07, 0x22,
-+	0xA0, 0xF8, 0x07, 0x22, 0x9F, 0xF8, 0x07, 0x22,
-+	0x9E, 0xF8, 0x07, 0x22, 0x9D, 0xF8, 0x07, 0x22,
-+	0x9C, 0xF8, 0x07, 0x22, 0x9B, 0xF8, 0x07, 0x22,
-+	0x9A, 0xF8, 0x07, 0x22, 0x99, 0xF8, 0x07, 0x22,
-+	0x98, 0xF8, 0x07, 0x22, 0x97, 0xF8, 0x07, 0x22,
-+	0x96, 0xF8, 0x07, 0x22, 0x95, 0xF8, 0x07, 0x22,
-+	0x94, 0xF8, 0x07, 0x22, 0x93, 0xF8, 0x07, 0x22,
-+	0x92, 0xF8, 0x07, 0x22, 0x91, 0xF8, 0x07, 0x22,
-+	0x90, 0xF8, 0x07, 0x22, 0x8F, 0xF8, 0x07, 0x22,
-+	0x8E, 0xF8, 0x07, 0x22, 0x8D, 0xF8, 0x07, 0x22,
-+	0x8C, 0xF8, 0x07, 0x22, 0x8B, 0xF8, 0x07, 0x22,
-+	0x8A, 0xF8, 0x07, 0x22, 0x89, 0xF8, 0x07, 0x22,
-+	0x88, 0xF8, 0x07, 0x22, 0x87, 0xF8, 0x07, 0x22,
-+	0x86, 0xF8, 0x07, 0x22, 0x85, 0xF8, 0x07, 0x22,
-+	0x84, 0xF8, 0x07, 0x22, 0x83, 0xF8, 0x07, 0x22,
-+	0x82, 0xF8, 0x07, 0x22, 0x81, 0xF8, 0x07, 0x22,
-+	0x80, 0xF8, 0x07, 0x22, 0x7F, 0xF8, 0x07, 0x22,
-+	0x7E, 0xF8, 0x07, 0x22, 0x7D, 0xF8, 0x07, 0x22,
-+	0x7C, 0xF8, 0x07, 0x22, 0x7B, 0xF8, 0x07, 0x22,
-+	0x7A, 0xF8, 0x07, 0x22, 0x79, 0xF8, 0x07, 0x22,
-+	0x78, 0xF8, 0x07, 0x22, 0x77, 0xF8, 0x07, 0x22,
-+	0x76, 0xF8, 0x07, 0x22, 0x75, 0xF8, 0x07, 0x22,
-+	0x74, 0xF8, 0x07, 0x22, 0x73, 0xF8, 0x07, 0x22,
-+	0x72, 0xF8, 0x07, 0x22, 0x71, 0xF8, 0x07, 0x22,
-+	0x70, 0xF8, 0x07, 0x22, 0x6F, 0xF8, 0x07, 0x22,
-+	0x6E, 0xF8, 0x07, 0x22, 0x6D, 0xF8, 0x07, 0x22,
-+	0x6C, 0xF8, 0x07, 0x22, 0x6B, 0xF8, 0x07, 0x22,
-+	0x6A, 0xF8, 0x07, 0x22, 0x69, 0xF8, 0x07, 0x22,
-+	0x68, 0xF8, 0x07, 0x22, 0x67, 0xF8, 0x07, 0x22,
-+	0x66, 0xF8, 0x07, 0x22, 0x65, 0xF8, 0x07, 0x22,
-+	0x64, 0xF8, 0x07, 0x22, 0x63, 0xF8, 0x07, 0x22,
-+	0x62, 0xF8, 0x07, 0x22, 0x61, 0xF8, 0x07, 0x22,
-+	0x60, 0xF8, 0x07, 0x22, 0x5F, 0xF8, 0x07, 0x22,
-+	0x5E, 0xF8, 0x07, 0x22, 0x5D, 0xF8, 0x07, 0x22,
-+	0x5C, 0xF8, 0x07, 0x22, 0x5B, 0xF8, 0x07, 0x22,
-+	0x5A, 0xF8, 0x07, 0x22, 0x59, 0xF8, 0x07, 0x22,
-+	0x58, 0xF8, 0x07, 0x22, 0x57, 0xF8, 0x07, 0x22,
-+	0x56, 0xF8, 0x07, 0x22, 0x55, 0xF8, 0x07, 0x22,
-+	0x54, 0xF8, 0x07, 0x22, 0x53, 0xF8, 0x07, 0x22,
-+	0x52, 0xF8, 0x07, 0x22, 0x51, 0xF8, 0x07, 0x22,
-+	0x50, 0xF8, 0x07, 0x22, 0x4F, 0xF8, 0x07, 0x22,
-+	0x4E, 0xF8, 0x07, 0x22, 0x4D, 0xF8, 0x07, 0x22,
-+	0x4C, 0xF8, 0x07, 0x22, 0x4B, 0xF8, 0x07, 0x22,
-+	0x4A, 0xF8, 0x07, 0x22, 0x49, 0xF8, 0x07, 0x22,
-+	0x48, 0xF8, 0x07, 0x22, 0x47, 0xF8, 0x07, 0x22,
-+	0x46, 0xF8, 0x07, 0x22, 0x45, 0xF8, 0x07, 0x22,
-+	0x44, 0xF8, 0x07, 0x22, 0x43, 0xF8, 0x07, 0x22,
-+	0x42, 0xF8, 0x07, 0x22, 0x41, 0xF8, 0x07, 0x22,
-+	0x40, 0xF8, 0x07, 0x22, 0x3F, 0xF8, 0x07, 0x22,
-+	0x3E, 0xF8, 0x07, 0x22, 0x3D, 0xF8, 0x07, 0x22,
-+	0x3C, 0xF8, 0x07, 0x22, 0x3B, 0xF8, 0x07, 0x22,
-+	0x3A, 0xF8, 0x07, 0x22, 0x39, 0xF8, 0x07, 0x22,
-+	0x38, 0xF8, 0x07, 0x22, 0x37, 0xF8, 0x07, 0x22,
-+	0x36, 0xF8, 0x07, 0x22, 0x35, 0xF8, 0x07, 0x22,
-+	0x34, 0xF8, 0x07, 0x22, 0x33, 0xF8, 0x07, 0x22,
-+	0x32, 0xF8, 0x07, 0x22, 0x31, 0xF8, 0x07, 0x22,
-+	0x30, 0xF8, 0x07, 0x22, 0x2F, 0xF8, 0x07, 0x22,
-+	0x2E, 0xF8, 0x07, 0x22, 0x2D, 0xF8, 0x07, 0x22,
-+	0x2C, 0xF8, 0x07, 0x22, 0x2B, 0xF8, 0x07, 0x22,
-+	0x2A, 0xF8, 0x07, 0x22, 0x29, 0xF8, 0x07, 0x22,
-+	0x28, 0xF8, 0x07, 0x22, 0x27, 0xF8, 0x07, 0x22,
-+	0x26, 0xF8, 0x07, 0x22, 0x25, 0xF8, 0x07, 0x22,
-+	0x24, 0xF8, 0x07, 0x22, 0x23, 0xF8, 0x07, 0x20,
-+	0x22, 0xF8, 0x07, 0x20, 0x21, 0xF8, 0x07, 0x20,
-+	0x20, 0xF8, 0x07, 0x20, 0x1F, 0xF8, 0x07, 0x20,
-+	0x1E, 0xF8, 0x07, 0x20, 0x1D, 0xF8, 0x07, 0x20,
-+	0x1C, 0xF8, 0x07, 0x20, 0x1C, 0xF8, 0x07, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD8, 0xF8, 0x27, 0x20, 0xD9, 0xF8, 0x27, 0x20,
-+	0xDA, 0xF8, 0x27, 0x20, 0xDB, 0xF8, 0x27, 0x20,
-+	0xDC, 0xF8, 0x27, 0x20, 0xDD, 0xF8, 0x27, 0x20,
-+	0xDE, 0xF8, 0x27, 0x20, 0xDF, 0xF8, 0x27, 0x20,
-+	0xE0, 0xF8, 0x27, 0x20, 0xE1, 0xF8, 0x27, 0x20,
-+	0xE2, 0xF8, 0x27, 0x20, 0xE3, 0xF8, 0x27, 0x20,
-+	0xE4, 0xF8, 0x27, 0x20, 0xE5, 0xF8, 0x27, 0x20,
-+	0xE6, 0xF8, 0x27, 0x20, 0xE7, 0xF8, 0x27, 0x20,
-+	0xE8, 0xF8, 0x27, 0x20, 0xE9, 0xF8, 0x27, 0x20,
-+	0xEA, 0xF8, 0x27, 0x20, 0xEB, 0xF8, 0x27, 0x20,
-+	0xEC, 0xF8, 0x27, 0x20, 0xED, 0xF8, 0x27, 0x20,
-+	0xEE, 0xF8, 0x27, 0x20, 0xEF, 0xF8, 0x27, 0x20,
-+	0xF0, 0xF8, 0x27, 0x20, 0xF1, 0xF8, 0x27, 0x20,
-+	0xF2, 0xF8, 0x27, 0x20, 0xF3, 0xF8, 0x27, 0x20,
-+	0xF4, 0xF8, 0x27, 0x20, 0xF5, 0xF8, 0x27, 0x20,
-+	0xF6, 0xF8, 0x27, 0x20, 0xF7, 0xF8, 0x27, 0x20,
-+	0xF8, 0xF8, 0x27, 0x20, 0xF9, 0xF8, 0x27, 0x20,
-+	0xFA, 0xF8, 0x27, 0x20, 0xFB, 0xF8, 0x27, 0x20,
-+	0xFC, 0xF8, 0x27, 0x20, 0xFD, 0xF8, 0x27, 0x20,
-+	0xFE, 0xF8, 0x27, 0x20, 0xFF, 0xF8, 0x27, 0x20,
-+	0x00, 0xF9, 0x27, 0x20, 0xD7, 0xF8, 0x27, 0x20,
-+	0x00, 0xF8, 0x27, 0x20, 0x01, 0xF8, 0x27, 0x20,
-+	0x02, 0xF8, 0x27, 0x20, 0x03, 0xF8, 0x27, 0x20,
-+	0x04, 0xF8, 0x27, 0x20, 0x05, 0xF8, 0x27, 0x20,
-+	0x06, 0xF8, 0x27, 0x20, 0x07, 0xF8, 0x27, 0x20,
-+	0x08, 0xF8, 0x27, 0x20, 0x09, 0xF8, 0x27, 0x20,
-+	0x0A, 0xF8, 0x27, 0x20, 0x0B, 0xF8, 0x27, 0x20,
-+	0x0C, 0xF8, 0x27, 0x20, 0x0D, 0xF8, 0x27, 0x20,
-+	0x0E, 0xF8, 0x27, 0x20, 0x0F, 0xF8, 0x27, 0x20,
-+	0x10, 0xF8, 0x27, 0x20, 0x11, 0xF8, 0x27, 0x20,
-+	0x12, 0xF8, 0x27, 0x20, 0x13, 0xF8, 0x27, 0x20,
-+	0x14, 0xF8, 0x27, 0x20, 0x15, 0xF8, 0x27, 0x20,
-+	0x15, 0xF8, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x17, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x0C, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x02, 0x08, 0x00, 0x00, 0x05,
-+	0x00, 0x0E, 0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF,
-+	0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00,
-+	0x00, 0x03, 0x00, 0x09, 0x00, 0x04, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x08, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x0C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x10, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x14, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x44, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x48, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x4C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x50, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x58, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xC8, 0x20, 0x04, 0x30, 0x04, 0x00, 0x00,
-+	0x00, 0x04, 0x05, 0x00, 0x0E, 0x00, 0x14, 0x20,
-+	0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x83, 0x00, 0x03, 0x00, 0x09, 0x00,
-+	0x84, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x88, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x8C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x90,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x94, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x98, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x15, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_17[] = { /* 117 B */
-+	0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x01, 0xFF, 0x00, 0x00, 0xFF, 0xF4, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x20, 0xBF, 0x02, 0x00,
-+};
-+
-+static unsigned char vfs5011_init_18[] = { /* 2903 B */
-+	0x02, 0xF0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE5, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xEA, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0x0A, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x01, 0xDE, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x74, 0x01, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x74, 0x01, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x07, 0x20,
-+	0xBA, 0xF8, 0x07, 0x20, 0xB9, 0xF8, 0x07, 0x20,
-+	0xB8, 0xF8, 0x07, 0x20, 0xB7, 0xF8, 0x07, 0x20,
-+	0xB6, 0xF8, 0x07, 0x20, 0xB5, 0xF8, 0x07, 0x20,
-+	0xB4, 0xF8, 0x07, 0x20, 0xB3, 0xF8, 0x07, 0x20,
-+	0xB2, 0xF8, 0x07, 0x20, 0xB1, 0xF8, 0x07, 0x22,
-+	0xB0, 0xF8, 0x07, 0x22, 0xAF, 0xF8, 0x07, 0x22,
-+	0xAE, 0xF8, 0x07, 0x22, 0xAD, 0xF8, 0x07, 0x22,
-+	0xAC, 0xF8, 0x07, 0x22, 0xAB, 0xF8, 0x07, 0x22,
-+	0xAA, 0xF8, 0x07, 0x22, 0xA9, 0xF8, 0x07, 0x22,
-+	0xA8, 0xF8, 0x07, 0x22, 0xA7, 0xF8, 0x07, 0x22,
-+	0xA6, 0xF8, 0x07, 0x22, 0xA5, 0xF8, 0x07, 0x22,
-+	0xA4, 0xF8, 0x07, 0x22, 0xA3, 0xF8, 0x07, 0x22,
-+	0xA2, 0xF8, 0x07, 0x22, 0xA1, 0xF8, 0x07, 0x22,
-+	0xA0, 0xF8, 0x07, 0x22, 0x9F, 0xF8, 0x07, 0x22,
-+	0x9E, 0xF8, 0x07, 0x22, 0x9D, 0xF8, 0x07, 0x22,
-+	0x9C, 0xF8, 0x07, 0x22, 0x9B, 0xF8, 0x07, 0x22,
-+	0x9A, 0xF8, 0x07, 0x22, 0x99, 0xF8, 0x07, 0x22,
-+	0x98, 0xF8, 0x07, 0x22, 0x97, 0xF8, 0x07, 0x22,
-+	0x96, 0xF8, 0x07, 0x22, 0x95, 0xF8, 0x07, 0x22,
-+	0x94, 0xF8, 0x07, 0x22, 0x93, 0xF8, 0x07, 0x22,
-+	0x92, 0xF8, 0x07, 0x22, 0x91, 0xF8, 0x07, 0x22,
-+	0x90, 0xF8, 0x07, 0x22, 0x8F, 0xF8, 0x07, 0x22,
-+	0x8E, 0xF8, 0x07, 0x22, 0x8D, 0xF8, 0x07, 0x22,
-+	0x8C, 0xF8, 0x07, 0x22, 0x8B, 0xF8, 0x07, 0x22,
-+	0x8A, 0xF8, 0x07, 0x22, 0x89, 0xF8, 0x07, 0x22,
-+	0x88, 0xF8, 0x07, 0x22, 0x87, 0xF8, 0x07, 0x22,
-+	0x86, 0xF8, 0x07, 0x22, 0x85, 0xF8, 0x07, 0x22,
-+	0x84, 0xF8, 0x07, 0x22, 0x83, 0xF8, 0x07, 0x22,
-+	0x82, 0xF8, 0x07, 0x22, 0x81, 0xF8, 0x07, 0x22,
-+	0x80, 0xF8, 0x07, 0x22, 0x7F, 0xF8, 0x07, 0x22,
-+	0x7E, 0xF8, 0x07, 0x22, 0x7D, 0xF8, 0x07, 0x22,
-+	0x7C, 0xF8, 0x07, 0x22, 0x7B, 0xF8, 0x07, 0x22,
-+	0x7A, 0xF8, 0x07, 0x22, 0x79, 0xF8, 0x07, 0x22,
-+	0x78, 0xF8, 0x07, 0x22, 0x77, 0xF8, 0x07, 0x22,
-+	0x76, 0xF8, 0x07, 0x22, 0x75, 0xF8, 0x07, 0x22,
-+	0x74, 0xF8, 0x07, 0x22, 0x73, 0xF8, 0x07, 0x22,
-+	0x72, 0xF8, 0x07, 0x22, 0x71, 0xF8, 0x07, 0x22,
-+	0x70, 0xF8, 0x07, 0x22, 0x6F, 0xF8, 0x07, 0x22,
-+	0x6E, 0xF8, 0x07, 0x22, 0x6D, 0xF8, 0x07, 0x22,
-+	0x6C, 0xF8, 0x07, 0x22, 0x6B, 0xF8, 0x07, 0x22,
-+	0x6A, 0xF8, 0x07, 0x22, 0x69, 0xF8, 0x07, 0x22,
-+	0x68, 0xF8, 0x07, 0x22, 0x67, 0xF8, 0x07, 0x22,
-+	0x66, 0xF8, 0x07, 0x22, 0x65, 0xF8, 0x07, 0x22,
-+	0x64, 0xF8, 0x07, 0x22, 0x63, 0xF8, 0x07, 0x22,
-+	0x62, 0xF8, 0x07, 0x22, 0x61, 0xF8, 0x07, 0x22,
-+	0x60, 0xF8, 0x07, 0x22, 0x5F, 0xF8, 0x07, 0x22,
-+	0x5E, 0xF8, 0x07, 0x22, 0x5D, 0xF8, 0x07, 0x22,
-+	0x5C, 0xF8, 0x07, 0x22, 0x5B, 0xF8, 0x07, 0x22,
-+	0x5A, 0xF8, 0x07, 0x22, 0x59, 0xF8, 0x07, 0x22,
-+	0x58, 0xF8, 0x07, 0x22, 0x57, 0xF8, 0x07, 0x22,
-+	0x56, 0xF8, 0x07, 0x22, 0x55, 0xF8, 0x07, 0x22,
-+	0x54, 0xF8, 0x07, 0x22, 0x53, 0xF8, 0x07, 0x22,
-+	0x52, 0xF8, 0x07, 0x22, 0x51, 0xF8, 0x07, 0x22,
-+	0x50, 0xF8, 0x07, 0x22, 0x4F, 0xF8, 0x07, 0x22,
-+	0x4E, 0xF8, 0x07, 0x22, 0x4D, 0xF8, 0x07, 0x22,
-+	0x4C, 0xF8, 0x07, 0x22, 0x4B, 0xF8, 0x07, 0x22,
-+	0x4A, 0xF8, 0x07, 0x22, 0x49, 0xF8, 0x07, 0x22,
-+	0x48, 0xF8, 0x07, 0x22, 0x47, 0xF8, 0x07, 0x22,
-+	0x46, 0xF8, 0x07, 0x22, 0x45, 0xF8, 0x07, 0x22,
-+	0x44, 0xF8, 0x07, 0x22, 0x43, 0xF8, 0x07, 0x22,
-+	0x42, 0xF8, 0x07, 0x22, 0x41, 0xF8, 0x07, 0x22,
-+	0x40, 0xF8, 0x07, 0x22, 0x3F, 0xF8, 0x07, 0x22,
-+	0x3E, 0xF8, 0x07, 0x22, 0x3D, 0xF8, 0x07, 0x22,
-+	0x3C, 0xF8, 0x07, 0x22, 0x3B, 0xF8, 0x07, 0x22,
-+	0x3A, 0xF8, 0x07, 0x22, 0x39, 0xF8, 0x07, 0x22,
-+	0x38, 0xF8, 0x07, 0x22, 0x37, 0xF8, 0x07, 0x22,
-+	0x36, 0xF8, 0x07, 0x22, 0x35, 0xF8, 0x07, 0x22,
-+	0x34, 0xF8, 0x07, 0x22, 0x33, 0xF8, 0x07, 0x22,
-+	0x32, 0xF8, 0x07, 0x22, 0x31, 0xF8, 0x07, 0x22,
-+	0x30, 0xF8, 0x07, 0x22, 0x2F, 0xF8, 0x07, 0x22,
-+	0x2E, 0xF8, 0x07, 0x22, 0x2D, 0xF8, 0x07, 0x22,
-+	0x2C, 0xF8, 0x07, 0x22, 0x2B, 0xF8, 0x07, 0x22,
-+	0x2A, 0xF8, 0x07, 0x22, 0x29, 0xF8, 0x07, 0x22,
-+	0x28, 0xF8, 0x07, 0x22, 0x27, 0xF8, 0x07, 0x22,
-+	0x26, 0xF8, 0x07, 0x22, 0x25, 0xF8, 0x07, 0x22,
-+	0x24, 0xF8, 0x07, 0x22, 0x23, 0xF8, 0x07, 0x20,
-+	0x22, 0xF8, 0x07, 0x20, 0x21, 0xF8, 0x07, 0x20,
-+	0x20, 0xF8, 0x07, 0x20, 0x1F, 0xF8, 0x07, 0x20,
-+	0x1E, 0xF8, 0x07, 0x20, 0x1D, 0xF8, 0x07, 0x20,
-+	0x1C, 0xF8, 0x07, 0x20, 0x1C, 0xF8, 0x07, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD8, 0xF8, 0x27, 0x20, 0xD9, 0xF8, 0x27, 0x20,
-+	0xDA, 0xF8, 0x27, 0x20, 0xDB, 0xF8, 0x27, 0x20,
-+	0xDC, 0xF8, 0x27, 0x20, 0xDD, 0xF8, 0x27, 0x20,
-+	0xDE, 0xF8, 0x27, 0x20, 0xDF, 0xF8, 0x27, 0x20,
-+	0xE0, 0xF8, 0x27, 0x20, 0xE1, 0xF8, 0x27, 0x20,
-+	0xE2, 0xF8, 0x27, 0x20, 0xE3, 0xF8, 0x27, 0x20,
-+	0xE4, 0xF8, 0x27, 0x20, 0xE5, 0xF8, 0x27, 0x20,
-+	0xE6, 0xF8, 0x27, 0x20, 0xE7, 0xF8, 0x27, 0x20,
-+	0xE8, 0xF8, 0x27, 0x20, 0xE9, 0xF8, 0x27, 0x20,
-+	0xEA, 0xF8, 0x27, 0x20, 0xEB, 0xF8, 0x27, 0x20,
-+	0xEC, 0xF8, 0x27, 0x20, 0xED, 0xF8, 0x27, 0x20,
-+	0xEE, 0xF8, 0x27, 0x20, 0xEF, 0xF8, 0x27, 0x20,
-+	0xF0, 0xF8, 0x27, 0x20, 0xF1, 0xF8, 0x27, 0x20,
-+	0xF2, 0xF8, 0x27, 0x20, 0xF3, 0xF8, 0x27, 0x20,
-+	0xF4, 0xF8, 0x27, 0x20, 0xF5, 0xF8, 0x27, 0x20,
-+	0xF6, 0xF8, 0x27, 0x20, 0xF7, 0xF8, 0x27, 0x20,
-+	0xF8, 0xF8, 0x27, 0x20, 0xF9, 0xF8, 0x27, 0x20,
-+	0xFA, 0xF8, 0x27, 0x20, 0xFB, 0xF8, 0x27, 0x20,
-+	0xFC, 0xF8, 0x27, 0x20, 0xFD, 0xF8, 0x27, 0x20,
-+	0xFE, 0xF8, 0x27, 0x20, 0xFF, 0xF8, 0x27, 0x20,
-+	0x00, 0xF9, 0x27, 0x20, 0xD7, 0xF8, 0x27, 0x20,
-+	0x00, 0xF8, 0x27, 0x20, 0x01, 0xF8, 0x27, 0x20,
-+	0x02, 0xF8, 0x27, 0x20, 0x03, 0xF8, 0x27, 0x20,
-+	0x04, 0xF8, 0x27, 0x20, 0x05, 0xF8, 0x27, 0x20,
-+	0x06, 0xF8, 0x27, 0x20, 0x07, 0xF8, 0x27, 0x20,
-+	0x08, 0xF8, 0x27, 0x20, 0x09, 0xF8, 0x27, 0x20,
-+	0x0A, 0xF8, 0x27, 0x20, 0x0B, 0xF8, 0x27, 0x20,
-+	0x0C, 0xF8, 0x27, 0x20, 0x0D, 0xF8, 0x27, 0x20,
-+	0x0E, 0xF8, 0x27, 0x20, 0x0F, 0xF8, 0x27, 0x20,
-+	0x10, 0xF8, 0x27, 0x20, 0x11, 0xF8, 0x27, 0x20,
-+	0x12, 0xF8, 0x27, 0x20, 0x13, 0xF8, 0x27, 0x20,
-+	0x14, 0xF8, 0x27, 0x20, 0x15, 0xF8, 0x27, 0x20,
-+	0x15, 0xF8, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x05, 0x00, 0x0E, 0x00, 0x0C, 0x20, 0xFD,
-+	0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x02,
-+	0x08, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x10,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x05, 0x00, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x10, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x54, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x58, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xC8, 0x20, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00,
-+	0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF, 0x00, 0xFF,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x00,
-+	0x03, 0x00, 0x09, 0x00, 0x84, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x88, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x8C, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x90, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x94, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x98, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x20,
-+	0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x60, 0x21, 0x04, 0x30,
-+	0x08, 0x00, 0x00, 0x00, 0x04, 0x15, 0x00, 0x08,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x00,
-+	0x00, 0x18, 0x00, 0x52, 0x01, 0x08, 0x00, 0x05,
-+	0x00, 0x0A, 0x00, 0xFA, 0x00, 0x1E, 0x00, 0xC8,
-+	0x00, 0x00, 0x00, 0x9F, 0x00, 0x38, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0xFF, 0xF9, 0xFD, 0xFE, 0xFE, 0x00, 0xFD,
-+	0x02, 0x03, 0x02, 0x01, 0x01, 0xFF, 0x03, 0x06,
-+	0x0C, 0x08, 0x08, 0x0C, 0x06, 0x0A, 0x0B, 0x06,
-+	0x0B, 0x0A, 0x0C, 0x0A, 0x0A, 0x07, 0x02, 0x05,
-+	0x07, 0x06, 0x0A, 0x09, 0x09, 0x0C, 0x0C, 0x11,
-+	0x0B, 0x0D, 0x08, 0x07, 0x09, 0x09, 0x09, 0x08,
-+	0x06, 0x09, 0xFE, 0xFF, 0xFF, 0x01, 0x06, 0x01,
-+	0xFD, 0xFB, 0x00, 0x01, 0x04, 0x01, 0x02, 0x05,
-+	0x04, 0x00, 0x02, 0x02, 0x05, 0x07, 0x05, 0x03,
-+	0x05, 0x02, 0x0A, 0x06, 0x03, 0x04, 0x00, 0x01,
-+	0x02, 0x04, 0x01, 0x01, 0xFA, 0xF7, 0xFA, 0xF9,
-+	0xF6, 0xF7, 0xFD, 0xFE, 0x02, 0xFE, 0xFC, 0xF7,
-+	0xF9, 0xFB, 0xF7, 0xFB, 0xF5, 0xF8, 0xF8, 0xF9,
-+	0xEF, 0xEE, 0xF2, 0xEF, 0xF0, 0xED, 0xF2, 0xF7,
-+	0xF9, 0xFA, 0xF6, 0xF6, 0xF5, 0xF4, 0xF3, 0xEF,
-+	0xF1, 0xF5, 0xF4, 0xF1, 0xF5, 0xFA, 0xF8, 0xFA,
-+	0xF9, 0xFA, 0xFE, 0x01, 0x02, 0xFE, 0xFE, 0x03,
-+	0x01, 0xFC, 0xF9, 0xF7, 0xF6, 0xF4, 0xF9, 0xF7,
-+	0xF7, 0xF5, 0xF7, 0xFA, 0xFB, 0x00, 0xFC, 0xFD,
-+	0xFD, 0xF6, 0xF2, 0xF4, 0xED, 0xDC, 0xCE, 0xFF,
-+	0x05, 0x07, 0x08, 0x0E, 0x0E, 0x0F, 0x0A, 0x0C,
-+	0x06, 0x05, 0x05, 0xF6, 0xF2, 0xF1, 0xEF, 0xF4,
-+	0xF6, 0xF4, 0xF5, 0xF6, 0xF7, 0xF5, 0xF8, 0xF8,
-+	0xF8, 0xF2, 0xF7, 0xF3, 0xF0, 0xF3, 0xF5, 0xFD,
-+	0xFB, 0xFC, 0xF9, 0xF9, 0xFC, 0xFA, 0xF8, 0xFD,
-+	0x0B, 0x1C, 0x17, 0x13, 0x14, 0x0F, 0x0D, 0x0C,
-+	0x0B, 0x0B, 0x0F, 0x0C, 0x0E, 0x10, 0x0E, 0x11,
-+	0x12, 0x14, 0x1C, 0x1C, 0x20, 0x20, 0x24, 0xF4,
-+	0xF6, 0xF4, 0xF5, 0xF6, 0xF7, 0xF5, 0xF8, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+};
-+
-+static unsigned char vfs5011_cmd_04[] = { /* 1 B */
-+	0x04,
-+};
-+
-+static unsigned char vfs5011_prepare_00[] = { /* 578 B */
-+	0x06, 0x9C, 0xF1, 0x9D, 0x71, 0xC3, 0x13, 0xDF,
-+	0x5F, 0xE4, 0x7A, 0x1F, 0xC7, 0x17, 0x53, 0x9A,
-+	0x1A, 0xA1, 0xD7, 0xB6, 0x6E, 0xBE, 0xDF, 0x1F,
-+	0x9F, 0x44, 0x42, 0x22, 0xFA, 0x2A, 0x6A, 0xAB,
-+	0x2B, 0xF0, 0x56, 0x39, 0xE3, 0x7B, 0x53, 0x9A,
-+	0x1A, 0xA1, 0xDB, 0xBA, 0x62, 0xB2, 0xE4, 0x65,
-+	0xE5, 0xDB, 0x68, 0x04, 0x79, 0x98, 0xDE, 0x8F,
-+	0x23, 0xFB, 0xEC, 0xAD, 0x76, 0xCA, 0xA2, 0xEB,
-+	0x61, 0x38, 0xC7, 0xAB, 0x6E, 0x2E, 0x78, 0xF9,
-+	0x79, 0x13, 0x8A, 0xE5, 0x90, 0x22, 0x63, 0x8D,
-+	0x0E, 0x93, 0x25, 0x49, 0x5A, 0xC8, 0xA3, 0xD8,
-+	0x7E, 0xAE, 0x12, 0xF6, 0x2C, 0x1C, 0xFC, 0x48,
-+	0x4F, 0x0E, 0x48, 0x22, 0xFB, 0x4B, 0xCE, 0x7E,
-+	0xDB, 0x2D, 0x91, 0xE0, 0xC8, 0x78, 0x2E, 0xAF,
-+	0x2F, 0xD4, 0x03, 0x6F, 0x12, 0x59, 0xC6, 0x26,
-+	0x40, 0x88, 0x2E, 0x62, 0xBA, 0x06, 0x6C, 0xC9,
-+	0x7A, 0x84, 0x93, 0xCF, 0x14, 0x15, 0x44, 0x87,
-+	0xE2, 0x09, 0x97, 0xE6, 0xCE, 0x7E, 0x28, 0xA9,
-+	0x29, 0x53, 0xD7, 0xB8, 0xD1, 0x53, 0x30, 0x15,
-+	0x6E, 0x95, 0x3E, 0xA2, 0x7A, 0xCA, 0x9C, 0x1D,
-+	0x9D, 0xEB, 0x5F, 0x15, 0xEF, 0x48, 0x34, 0xCC,
-+	0xCB, 0x02, 0xA6, 0xD6, 0xA7, 0x80, 0xF2, 0x3F,
-+	0x7E, 0x96, 0x23, 0xAE, 0x42, 0xF1, 0x29, 0xF5,
-+	0xAD, 0x5A, 0x35, 0x57, 0x36, 0xAA, 0xAF, 0x97,
-+	0xE8, 0x1E, 0xA2, 0xD3, 0xFB, 0x4B, 0x1D, 0x9C,
-+	0x1C, 0x06, 0x84, 0xEB, 0x9E, 0x2C, 0xD4, 0x18,
-+	0x94, 0x44, 0x7E, 0x4B, 0x12, 0x91, 0xF2, 0x8B,
-+	0x07, 0x45, 0xDB, 0x52, 0xBB, 0x2E, 0x53, 0x63,
-+	0xE3, 0x38, 0xB8, 0x95, 0x4D, 0x9B, 0xCF, 0x07,
-+	0x05, 0xDD, 0x4C, 0xE2, 0x39, 0xAF, 0xA9, 0x51,
-+	0xDB, 0xAD, 0x19, 0xC8, 0x13, 0x6E, 0x0A, 0x2F,
-+	0xEA, 0x12, 0xB9, 0x25, 0x55, 0xB6, 0x64, 0x04,
-+	0x7F, 0x14, 0x6E, 0x12, 0x08, 0xFB, 0xBD, 0xBD,
-+	0x1D, 0xC6, 0xE2, 0x84, 0x50, 0x20, 0x60, 0xA0,
-+	0x90, 0xD2, 0x74, 0x8A, 0x18, 0xA4, 0xD9, 0xE9,
-+	0x69, 0xB2, 0x1E, 0x73, 0xAB, 0x1B, 0x7B, 0xBB,
-+	0x3B, 0xE0, 0x42, 0x23, 0xF9, 0x29, 0x49, 0x89,
-+	0x09, 0xD2, 0x4C, 0x29, 0xF1, 0x21, 0x65, 0xAC,
-+	0x2C, 0x97, 0x30, 0x6C, 0xB4, 0x04, 0xF4, 0x3D,
-+	0xBD, 0x06, 0xA0, 0xC6, 0x1E, 0xCE, 0x7E, 0xB3,
-+	0x33, 0x88, 0x2E, 0x43, 0x9B, 0x2B, 0x37, 0xF0,
-+	0x70, 0xCB, 0x91, 0xF1, 0x2B, 0xFB, 0x8B, 0x48,
-+	0xCA, 0x39, 0x97, 0xFB, 0x21, 0xB9, 0xCD, 0x0E,
-+	0x8C, 0x7F, 0x8D, 0xEC, 0x36, 0xE6, 0xEA, 0x27,
-+	0xA5, 0x1E, 0x40, 0x2A, 0xF2, 0x22, 0xCA, 0x07,
-+	0x85, 0x3E, 0xC8, 0xAE, 0x76, 0xA6, 0xF0, 0x71,
-+	0xF1, 0xAB, 0x6B, 0x04, 0x6D, 0xA9, 0xCA, 0x06,
-+	0x2C, 0x66, 0xA5, 0xCA, 0xB0, 0x4B, 0x2B, 0x62,
-+	0xEB, 0xD5, 0x61, 0x0D, 0xF0, 0x46, 0x26, 0xC3,
-+	0x44, 0x9F, 0x0C, 0x63, 0xBB, 0xAA, 0xBD, 0x7E,
-+	0xF2, 0x74, 0x00, 0x66, 0x2B, 0x7A, 0x62, 0xA1,
-+	0x07, 0x80, 0x33, 0x8D, 0x1F, 0xF7, 0x45, 0xCB,
-+	0x5E, 0x24, 0xEB, 0x84, 0xED, 0x27, 0x44, 0x61,
-+	0xFF, 0x0C, 0xA7, 0x3B, 0xE3, 0x53, 0x05, 0x84,
-+	0x04, 0xEE, 0x23, 0x4C, 0xB5, 0x79, 0x1A, 0xF3,
-+	0xA0, 0x66, 0x20, 0x4C, 0x94, 0x24, 0x72, 0xF3,
-+	0x73, 0x39, 0xF8, 0x97, 0xDD, 0x64, 0x54, 0xF2,
-+	0x6B, 0xBA, 0xAD, 0xBC, 0x67, 0x66, 0x78, 0xBB,
-+	0x5E, 0x6D, 0xFB, 0x8A, 0xA2, 0x74, 0x3D, 0xF5,
-+	0xD4, 0x72, 0xC7, 0x1A, 0xBD, 0x0E, 0x0B, 0x2C,
-+	0x8C, 0x4A, 0x0C, 0x60, 0xB8, 0x08, 0x5E, 0xDF,
-+	0x5F, 0x05, 0x33, 0x5C, 0xB5, 0x7E, 0x1D, 0xFC,
-+	0xFD, 0x25, 0xBA, 0x95, 0xC4, 0xA7, 0xDA, 0xEA,
-+	0x6A, 0xB1, 0x31, 0x1C, 0xC4, 0xE5, 0x07, 0xC4,
-+	0xC5, 0x9D, 0x28, 0xCD, 0x3C, 0xE9, 0x89, 0x49,
-+	0xD4, 0xFF, 0x7F, 0x52, 0x8A, 0x9B, 0x7F, 0xBC,
-+	0x8E, 0xF5, 0xCF, 0x0B, 0xD9, 0x49, 0x48, 0x88,
-+	0x80, 0x71, 0x7D, 0xAB, 0xEF, 0x47, 0x2B, 0xF7,
-+	0x7B, 0x2D, 0x79, 0x3F, 0xCF, 0xBF, 0xFF, 0x3F,
-+	0x6D, 0xF8, 0x42, 0xEC, 0x7F, 0xE8, 0xED, 0x42,
-+	0xE6, 0x1D, 0x4D, 0x32, 0xFA, 0x6A, 0x0A, 0xD7,
-+	0xA7, 0x7C, 0xCB, 0xA7, 0x7B, 0xCB, 0xBF, 0x71,
-+	0xF3, 0x48,
-+};
-+
-+static unsigned char vfs5011_prepare_01[] = { /* 3794 B */
-+	0x06, 0x6B, 0x06, 0x6A, 0x76, 0xC8, 0x18, 0xD4,
-+	0x54, 0xEF, 0x71, 0x14, 0xCC, 0x1C, 0x58, 0x91,
-+	0x11, 0xAA, 0x80, 0xF4, 0x2C, 0xFC, 0x9F, 0x5F,
-+	0xDF, 0x04, 0x02, 0x62, 0xBA, 0x6A, 0x5A, 0x97,
-+	0x17, 0xCC, 0x46, 0x22, 0xFA, 0x2A, 0xBE, 0x03,
-+	0x87, 0x3C, 0x9E, 0xFE, 0x26, 0xF6, 0x96, 0x7E,
-+	0xFA, 0x11, 0x27, 0x66, 0xBA, 0x3A, 0x5A, 0xBA,
-+	0x3E, 0xD5, 0x4F, 0x03, 0xDF, 0x5F, 0x7F, 0x9F,
-+	0x1B, 0xF0, 0xA2, 0xEF, 0x33, 0xB3, 0xD3, 0x13,
-+	0x93, 0x70, 0xFA, 0x96, 0x4E, 0xC6, 0xA6, 0xC6,
-+	0x46, 0xA5, 0x2F, 0xE3, 0x3B, 0xB3, 0xD3, 0x33,
-+	0xB3, 0x50, 0xE8, 0xA4, 0x7C, 0xF4, 0x94, 0x14,
-+	0x94, 0x77, 0xC9, 0xE5, 0x3D, 0xB5, 0xD5, 0x75,
-+	0xF5, 0x16, 0xA8, 0xA4, 0x7C, 0xF4, 0x94, 0xD4,
-+	0x54, 0xB7, 0x09, 0xE5, 0x3D, 0xB5, 0x2D, 0xF4,
-+	0x74, 0xCF, 0x29, 0x5C, 0x84, 0x54, 0x14, 0xAA,
-+	0x2E, 0x95, 0xF7, 0xE0, 0x3C, 0xEC, 0x8C, 0x52,
-+	0xD6, 0x3D, 0x7B, 0x0E, 0xD6, 0x06, 0x82, 0x49,
-+	0xC9, 0x72, 0x7C, 0x18, 0xC0, 0x10, 0x10, 0xF6,
-+	0x72, 0xC9, 0xC3, 0xA8, 0x70, 0xA0, 0xD8, 0x77,
-+	0xF3, 0x48, 0x06, 0x04, 0xD8, 0x08, 0x90, 0x5B,
-+	0xDB, 0x60, 0x36, 0x43, 0x9B, 0x4B, 0xD4, 0xE3,
-+	0x9C, 0xB8, 0xF1, 0x72, 0x55, 0x1A, 0x8E, 0x57,
-+	0xD7, 0x6C, 0xDA, 0xBE, 0x66, 0xD6, 0xEA, 0x3D,
-+	0xBF, 0x04, 0xB2, 0xCE, 0x16, 0xA6, 0x06, 0xDE,
-+	0x5E, 0xE5, 0xB7, 0xC3, 0x1B, 0xCB, 0x47, 0x9F,
-+	0x1F, 0xA4, 0x3E, 0x5B, 0x83, 0x53, 0x53, 0x8A,
-+	0x0A, 0xB1, 0x93, 0xF9, 0x21, 0xF1, 0x31, 0xE6,
-+	0x64, 0xDF, 0x95, 0xE0, 0x38, 0xE8, 0xB4, 0x6D,
-+	0xED, 0x56, 0x1D, 0x8E, 0x56, 0xE6, 0x79, 0xB9,
-+	0xC6, 0xE2, 0x62, 0x4F, 0x97, 0x02, 0x40, 0x80,
-+	0x65, 0xB8, 0x0E, 0x07, 0xC2, 0x72, 0x37, 0xBE,
-+	0x3E, 0x00, 0xF2, 0xB8, 0xF1, 0x6D, 0x0E, 0x6F,
-+	0xC2, 0x1A, 0xA0, 0xC4, 0x95, 0x2F, 0xCD, 0x44,
-+	0xC4, 0x02, 0x44, 0x28, 0xF0, 0x40, 0x16, 0x97,
-+	0x17, 0x7D, 0xE4, 0x8B, 0xFE, 0x4C, 0x0D, 0xE3,
-+	0x60, 0xFD, 0x4B, 0x27, 0x34, 0xA6, 0xCD, 0xB6,
-+	0x10, 0xC0, 0x7C, 0x98, 0x42, 0x72, 0x92, 0x26,
-+	0x21, 0x60, 0x26, 0x4C, 0x95, 0x25, 0xA0, 0x03,
-+	0xA6, 0x50, 0xEC, 0x9D, 0xB5, 0x05, 0x53, 0xD2,
-+	0x52, 0xA9, 0x7E, 0x12, 0x2F, 0x65, 0xFA, 0x1A,
-+	0x7C, 0xB4, 0x12, 0x5E, 0x86, 0x3A, 0x50, 0xF5,
-+	0x53, 0xAD, 0xBA, 0xE6, 0x3D, 0x3C, 0x6D, 0xAE,
-+	0xCB, 0x33, 0xAD, 0xDC, 0xF4, 0x44, 0x12, 0x93,
-+	0x13, 0xF9, 0x7D, 0x12, 0xEB, 0x68, 0x0B, 0xE2,
-+	0x21, 0xE7, 0xA1, 0xCD, 0x15, 0xA5, 0xF3, 0x72,
-+	0xF2, 0xAB, 0x1F, 0x7E, 0xAA, 0x01, 0xE1, 0xA1,
-+	0x25, 0xA8, 0x06, 0x6D, 0xB9, 0x0C, 0x60, 0xA6,
-+	0x64, 0xAD, 0x15, 0x65, 0xBA, 0x30, 0x14, 0x66,
-+	0x22, 0x78, 0xFC, 0x94, 0x4C, 0x4E, 0x25, 0x9B,
-+	0xD9, 0x06, 0xB1, 0xEA, 0x89, 0x35, 0x62, 0x1E,
-+	0x8F, 0x69, 0xD4, 0x7F, 0x1C, 0xA0, 0xFD, 0x31,
-+	0x77, 0xAD, 0x1B, 0x40, 0xA4, 0x10, 0xB7, 0xCC,
-+	0x4D, 0xAB, 0x16, 0xD7, 0x0C, 0x01, 0x62, 0x87,
-+	0xBF, 0x4C, 0x50, 0x5A, 0xD8, 0x3B, 0x50, 0xE7,
-+	0x2C, 0xB3, 0xB7, 0x1F, 0x46, 0xA0, 0x57, 0x6B,
-+	0x46, 0x98, 0x93, 0xFA, 0xC7, 0xC1, 0x89, 0x45,
-+	0xDE, 0xD7, 0xC3, 0xC3, 0xBB, 0xCF, 0xEE, 0xEE,
-+	0xA8, 0xB3, 0xDF, 0x61, 0x4B, 0xE6, 0x04, 0x04,
-+	0x40, 0xDA, 0xAC, 0x43, 0xDA, 0x9A, 0x15, 0x25,
-+	0x45, 0x7D, 0xEA, 0x0C, 0x3A, 0x7A, 0xD4, 0x87,
-+	0xC5, 0x43, 0x77, 0x1D, 0xC6, 0x76, 0xD4, 0xB6,
-+	0x5A, 0x4B, 0x3F, 0x91, 0x55, 0x98, 0xC2, 0xCE,
-+	0x8C, 0x5B, 0xED, 0x53, 0x99, 0x20, 0x6D, 0xA6,
-+	0xF1, 0x96, 0x21, 0x41, 0xBB, 0x16, 0x86, 0x46,
-+	0xC6, 0x1D, 0x9D, 0xB0, 0x68, 0x69, 0x3D, 0xFE,
-+	0xC6, 0x16, 0x2C, 0x2B, 0x51, 0x40, 0x40, 0x2A,
-+	0x01, 0xBF, 0xB3, 0xFF, 0x8A, 0x38, 0x3D, 0x51,
-+	0xF4, 0x32, 0x74, 0x18, 0xC0, 0x70, 0x26, 0xA7,
-+	0x27, 0x5D, 0xDE, 0xB1, 0xD8, 0x5E, 0x3D, 0x30,
-+	0xB2, 0x0C, 0xEC, 0xA5, 0xCC, 0x44, 0x27, 0xC7,
-+	0x6D, 0x16, 0x01, 0x5A, 0x81, 0xFC, 0x9E, 0x3B,
-+	0xEE, 0x10, 0x17, 0x41, 0x9A, 0x0A, 0x50, 0x30,
-+	0x72, 0x6A, 0xCC, 0x01, 0xE0, 0x53, 0x3F, 0xFD,
-+	0x54, 0x8C, 0x13, 0x6C, 0x9D, 0x0E, 0x47, 0xB4,
-+	0xD1, 0x59, 0xCA, 0x17, 0xF3, 0x40, 0x10, 0xEA,
-+	0xCA, 0xD3, 0xA6, 0xDA, 0xA3, 0x28, 0x4B, 0x6E,
-+	0xBC, 0x42, 0xF8, 0x9D, 0x75, 0xFF, 0x3F, 0xCD,
-+	0x8E, 0x45, 0xE8, 0x1D, 0xEC, 0x5F, 0x74, 0x87,
-+	0x61, 0x23, 0x63, 0xA2, 0x79, 0x7B, 0xBB, 0xDE,
-+	0x72, 0xE5, 0xB6, 0x7B, 0x8B, 0x9A, 0xC7, 0x04,
-+	0x35, 0xD0, 0x65, 0xCB, 0xD0, 0x44, 0x41, 0xD1,
-+	0x74, 0x1E, 0xE8, 0x87, 0x6F, 0xE5, 0x25, 0x44,
-+	0xFB, 0x23, 0xA7, 0x08, 0xF4, 0x89, 0xEA, 0xCF,
-+	0x1E, 0xE0, 0xE7, 0xC9, 0x12, 0x92, 0xC8, 0xA8,
-+	0x89, 0x13, 0xA6, 0x07, 0xDC, 0xC9, 0xFA, 0x1F,
-+	0x2E, 0xB1, 0x04, 0x58, 0xBA, 0xAA, 0x6B, 0xE8,
-+	0x6B, 0x7D, 0xC8, 0x01, 0x8B, 0x1E, 0xCF, 0x49,
-+	0xCA, 0x21, 0xAD, 0x61, 0x18, 0xED, 0x8E, 0x83,
-+	0x00, 0x3E, 0xD9, 0x90, 0x78, 0xE2, 0x22, 0xFF,
-+	0x8F, 0x54, 0xD4, 0xF9, 0x21, 0x10, 0x37, 0xF4,
-+	0xFC, 0x2F, 0x15, 0x31, 0x48, 0xB0, 0xD3, 0x36,
-+	0xC1, 0x32, 0x99, 0x05, 0xDD, 0x6D, 0x3B, 0xBA,
-+	0x3A, 0x60, 0x91, 0xFE, 0xAE, 0x16, 0xFA, 0x72,
-+	0x53, 0xC0, 0x75, 0xFC, 0x51, 0xC9, 0x0C, 0x38,
-+	0x99, 0x5F, 0x19, 0x75, 0xAD, 0x1D, 0x4B, 0xCA,
-+	0x4A, 0x3C, 0x88, 0x01, 0x40, 0xD2, 0x33, 0xB4,
-+	0x37, 0x64, 0xDA, 0x3A, 0xAA, 0xBB, 0x93, 0x50,
-+	0xF5, 0x5A, 0xC4, 0xB5, 0x9D, 0x2D, 0x7B, 0xFA,
-+	0x7A, 0x84, 0x17, 0x7B, 0x22, 0xD8, 0xBB, 0xEA,
-+	0x58, 0x80, 0x97, 0xB2, 0x69, 0x70, 0x49, 0x00,
-+	0x89, 0x4F, 0x09, 0x65, 0xBD, 0x0D, 0x5B, 0xDA,
-+	0x5A, 0xB0, 0x32, 0x5D, 0x89, 0x1E, 0x46, 0x85,
-+	0x54, 0xC4, 0x71, 0x8F, 0x54, 0xEC, 0xEE, 0x8F,
-+	0x7F, 0xAF, 0x90, 0xEA, 0x7A, 0xCC, 0x7D, 0xF1,
-+	0x72, 0xA5, 0x79, 0x19, 0xC6, 0xF4, 0x5D, 0x61,
-+	0xF7, 0x24, 0x98, 0xD2, 0x53, 0xEB, 0x26, 0xE4,
-+	0x01, 0x67, 0xF7, 0xB6, 0x64, 0xC9, 0x59, 0xF3,
-+	0x30, 0x59, 0xFC, 0x9B, 0xD1, 0x65, 0x05, 0xD3,
-+	0x68, 0xB8, 0x68, 0x7D, 0xB5, 0xC7, 0xB3, 0x8F,
-+	0x59, 0x2E, 0x92, 0x5C, 0xC7, 0x7F, 0x3D, 0xFE,
-+	0x73, 0x88, 0x1F, 0x77, 0xB2, 0xF2, 0x9E, 0x55,
-+	0x57, 0x8F, 0x34, 0x9A, 0x61, 0x0C, 0x7B, 0xD3,
-+	0x5C, 0x15, 0xAE, 0xC2, 0x16, 0xB4, 0xC2, 0x2B,
-+	0xA5, 0x75, 0x6A, 0xA4, 0x31, 0x81, 0xA7, 0x67,
-+	0xE7, 0x30, 0x84, 0x28, 0xD0, 0x60, 0xA2, 0x71,
-+	0xF9, 0xE0, 0x33, 0xFF, 0xAB, 0x01, 0x04, 0x22,
-+	0x84, 0x42, 0x04, 0x02, 0x99, 0xFB, 0x9F, 0x5F,
-+	0xB9, 0x7F, 0xF5, 0x21, 0xDB, 0xC6, 0xA5, 0x00,
-+	0x60, 0x9D, 0x8B, 0x07, 0xAB, 0x7D, 0x03, 0xE2,
-+	0xD3, 0x45, 0xF0, 0x6E, 0xBD, 0x0D, 0x4B, 0xA4,
-+	0x23, 0x8A, 0x77, 0x1B, 0xCF, 0x75, 0x30, 0x96,
-+	0x33, 0xE4, 0x6A, 0x94, 0x6F, 0x01, 0xA1, 0x41,
-+	0xC1, 0x88, 0x5B, 0x97, 0xCD, 0x3E, 0x56, 0xD0,
-+	0x53, 0x88, 0x9C, 0xE3, 0x3C, 0x00, 0x1A, 0xA8,
-+	0x6C, 0xB7, 0xA3, 0xDC, 0x03, 0x96, 0x14, 0xF2,
-+	0x7E, 0xB7, 0x1C, 0x80, 0xEA, 0x49, 0x21, 0x8B,
-+	0x48, 0x85, 0xF8, 0x93, 0x89, 0x3D, 0x5D, 0x5F,
-+	0x13, 0x33, 0x93, 0xC3, 0x1C, 0x4E, 0x2D, 0xE0,
-+	0xE2, 0x1D, 0x2A, 0x51, 0xE7, 0x07, 0xF5, 0x38,
-+	0xB8, 0x75, 0x4A, 0x2A, 0xFE, 0x5C, 0x37, 0x0E,
-+	0x7C, 0xEA, 0x5C, 0xB6, 0x7E, 0xCE, 0x2C, 0x25,
-+	0x5C, 0xD1, 0xFF, 0x66, 0x06, 0x94, 0x59, 0x9A,
-+	0x7F, 0x7D, 0xED, 0x21, 0x69, 0xAD, 0xC6, 0x9F,
-+	0x49, 0x7B, 0xC7, 0xA7, 0x74, 0xC8, 0xE4, 0xC6,
-+	0x65, 0x63, 0x07, 0xC9, 0x65, 0x0F, 0xBC, 0xBC,
-+	0x1C, 0xC7, 0xD3, 0xAC, 0x7C, 0x2E, 0x2B, 0x4B,
-+	0xB9, 0x3F, 0xF7, 0x59, 0xC2, 0x7A, 0x0C, 0x86,
-+	0xF4, 0x23, 0xFB, 0x75, 0xE9, 0x59, 0x9B, 0x48,
-+	0xC0, 0x7E, 0x13, 0x59, 0x07, 0x72, 0xED, 0x00,
-+	0x87, 0x50, 0xE9, 0x45, 0xBD, 0x0D, 0xCF, 0x1C,
-+	0x94, 0xCD, 0x1E, 0xD2, 0x1C, 0x36, 0xA5, 0x80,
-+	0xD9, 0x24, 0x8F, 0x13, 0xC7, 0x75, 0x53, 0x5B,
-+	0x24, 0x47, 0xD3, 0x12, 0xC9, 0x5C, 0xE8, 0x0E,
-+	0x2E, 0x65, 0xA7, 0xAD, 0x6C, 0xFB, 0x97, 0x5C,
-+	0x0E, 0xF6, 0x9D, 0x33, 0x49, 0x8D, 0x27, 0x24,
-+	0x64, 0x9F, 0x29, 0x97, 0x2A, 0x3A, 0xF8, 0x2B,
-+	0xA3, 0x0A, 0xE0, 0xF2, 0x96, 0x7C, 0x76, 0x55,
-+	0xD9, 0x6F, 0x0B, 0x29, 0xF1, 0xE3, 0x90, 0x58,
-+	0xBD, 0xB0, 0x20, 0xCA, 0x1B, 0xAB, 0xC7, 0x78,
-+	0xF4, 0x7B, 0x8F, 0xA0, 0x70, 0xAA, 0x89, 0xBB,
-+	0x7F, 0xA4, 0xA0, 0xDF, 0x0C, 0x20, 0x0B, 0x79,
-+	0xAD, 0x8A, 0x30, 0xA6, 0x72, 0x4A, 0xA8, 0x2C,
-+	0xAC, 0x12, 0x70, 0x3A, 0x70, 0xD4, 0x48, 0x1A,
-+	0x53, 0x79, 0x5D, 0x65, 0x41, 0xD3, 0xB0, 0x7D,
-+	0xDD, 0x27, 0x95, 0xE4, 0xCC, 0x51, 0x36, 0x70,
-+	0x2F, 0x0B, 0x1F, 0x67, 0x43, 0xE5, 0x5F, 0x77,
-+	0xFB, 0xA8, 0x9C, 0xB4, 0x6C, 0x6A, 0xB0, 0x60,
-+	0xEC, 0xCD, 0xDE, 0x63, 0x9D, 0x0F, 0x7B, 0x47,
-+	0xE5, 0xFC, 0xBB, 0xF5, 0x79, 0x35, 0x53, 0x0E,
-+	0x71, 0x4F, 0x29, 0x63, 0x96, 0x21, 0x07, 0x3B,
-+	0x44, 0x9F, 0x1F, 0x32, 0xEA, 0x0B, 0x5F, 0x9C,
-+	0x44, 0x9A, 0x6E, 0xA2, 0x8A, 0x70, 0x55, 0xA7,
-+	0x23, 0x78, 0xE8, 0xA7, 0x4E, 0xD8, 0xFB, 0x08,
-+	0xE9, 0x79, 0xCC, 0xD1, 0x45, 0xF6, 0x9A, 0xF2,
-+	0x54, 0xEC, 0x75, 0x7F, 0x24, 0x8A, 0xE6, 0x55,
-+	0x47, 0xB9, 0xD1, 0x7D, 0x85, 0x35, 0xC7, 0x61,
-+	0x41, 0xA8, 0x5A, 0xB6, 0xDC, 0x69, 0x04, 0x66,
-+	0xE1, 0x3A, 0x3C, 0xE1, 0x3D, 0x3D, 0xF5, 0xA6,
-+	0x84, 0x18, 0xAE, 0xDF, 0xF7, 0x5A, 0xCA, 0x06,
-+	0x95, 0x08, 0xBE, 0xD2, 0x06, 0x85, 0xD7, 0x53,
-+	0x53, 0x95, 0xD3, 0xB3, 0x38, 0x4A, 0x0F, 0x11,
-+	0x51, 0xAA, 0x1C, 0xB2, 0x0C, 0x1C, 0xBA, 0x89,
-+	0xF6, 0x2D, 0xAD, 0x80, 0x58, 0xD9, 0xF7, 0x34,
-+	0x95, 0x01, 0xB4, 0xF1, 0x3A, 0x97, 0x07, 0xC7,
-+	0x47, 0x9C, 0x1C, 0x31, 0xE9, 0xC8, 0x9C, 0x5F,
-+	0x47, 0x95, 0xAF, 0x6A, 0x10, 0x89, 0x34, 0x54,
-+	0x74, 0xBB, 0x2B, 0x7D, 0xA7, 0xF2, 0xD0, 0x31,
-+	0xAC, 0x87, 0x07, 0x2A, 0xF2, 0xE3, 0xD2, 0x11,
-+	0xB0, 0x21, 0x94, 0xC9, 0x23, 0x90, 0x61, 0xF1,
-+	0x72, 0x28, 0xCC, 0xA3, 0xF2, 0x6B, 0x22, 0xE1,
-+	0xC8, 0x4A, 0xE1, 0x7D, 0xA5, 0x15, 0x43, 0xC2,
-+	0x42, 0xB8, 0x5D, 0x32, 0x62, 0xF0, 0x57, 0xFF,
-+	0x62, 0x18, 0xFA, 0x95, 0x28, 0xD1, 0x99, 0xC8,
-+	0x1D, 0xC5, 0xB2, 0x88, 0x53, 0x52, 0x65, 0xA6,
-+	0x8E, 0x77, 0x79, 0x1E, 0x06, 0x1C, 0x6C, 0x3C,
-+	0x26, 0xED, 0xEB, 0x1D, 0x56, 0x7F, 0x3D, 0x58,
-+	0x11, 0xEF, 0x44, 0xD8, 0x00, 0xB0, 0xE6, 0x67,
-+	0xE7, 0x9D, 0x7F, 0x10, 0x2D, 0xDF, 0x97, 0xB6,
-+	0x6E, 0xB6, 0x41, 0x1F, 0xC4, 0x45, 0x76, 0xB5,
-+	0x39, 0xEE, 0x80, 0xCF, 0xE6, 0x01, 0x62, 0x15,
-+	0xF8, 0x01, 0x0A, 0x69, 0x79, 0xCD, 0x64, 0xAB,
-+	0x86, 0x5F, 0x68, 0x5D, 0x86, 0xD6, 0x2B, 0xCB,
-+	0xD2, 0x2A, 0x15, 0x7D, 0xC0, 0x38, 0x58, 0x29,
-+	0xF3, 0x2B, 0x35, 0x7A, 0xAE, 0x1C, 0xCC, 0xA6,
-+	0x06, 0x74, 0xE1, 0x90, 0xB8, 0x04, 0x6F, 0x69,
-+	0x1F, 0x3B, 0xBB, 0x96, 0x4E, 0xE2, 0x4A, 0x0D,
-+	0x1F, 0xC0, 0x57, 0x60, 0xBB, 0x16, 0x86, 0xEB,
-+	0x69, 0x97, 0xE3, 0xAA, 0x5F, 0xE5, 0x98, 0xA8,
-+	0x28, 0xF3, 0x73, 0x5E, 0x86, 0x47, 0x60, 0xA3,
-+	0xFF, 0x70, 0x4E, 0x25, 0x71, 0x89, 0x4C, 0x92,
-+	0x12, 0x8F, 0x38, 0x54, 0x2D, 0xD5, 0xB6, 0x53,
-+	0xEF, 0x1C, 0x02, 0x69, 0xBD, 0x04, 0xF6, 0x7C,
-+	0x64, 0x0D, 0x1B, 0x04, 0x96, 0x45, 0xE7, 0x87,
-+	0x73, 0xCF, 0x45, 0x3A, 0x5F, 0xED, 0x25, 0xE2,
-+	0xAF, 0x77, 0x8B, 0x4D, 0x37, 0x4D, 0x09, 0x6C,
-+	0xA9, 0x5A, 0x5E, 0x92, 0x39, 0x4F, 0x2A, 0xEA,
-+	0x2D, 0xCD, 0x6F, 0xBE, 0x64, 0x7C, 0x1B, 0x19,
-+	0x39, 0x96, 0x60, 0xC0, 0xD8, 0x22, 0xE8, 0x8A,
-+	0xC0, 0x3F, 0x6C, 0x43, 0xB3, 0xB1, 0x71, 0xC2,
-+	0xFE, 0x70, 0xA1, 0xF6, 0x26, 0x34, 0xF0, 0x35,
-+	0x50, 0x5A, 0xC8, 0xE2, 0x3D, 0x8D, 0x5F, 0x3F,
-+	0xCB, 0x77, 0x7A, 0x1E, 0x64, 0x70, 0x16, 0x33,
-+	0x63, 0x9C, 0xAC, 0xC3, 0x1B, 0xA7, 0xCD, 0xD5,
-+	0x52, 0x85, 0x2F, 0x81, 0x14, 0x3C, 0xB9, 0xB6,
-+	0x12, 0xEC, 0x5E, 0x32, 0x02, 0xB5, 0x37, 0xF9,
-+	0xE1, 0xF6, 0x0E, 0xC3, 0x53, 0xE0, 0x25, 0xDD,
-+	0x75, 0xB3, 0xF5, 0x99, 0x41, 0xF1, 0xA7, 0x26,
-+	0xA6, 0x4C, 0xBD, 0xD2, 0x32, 0x81, 0xC0, 0x5C,
-+	0xDF, 0x2D, 0xE8, 0x0F, 0x54, 0x76, 0xD5, 0x01,
-+	0x18, 0xA0, 0x8F, 0xB0, 0xE1, 0x62, 0x8B, 0x68,
-+	0xCA, 0xD3, 0x99, 0xDC, 0x47, 0xEA, 0x7A, 0xBA,
-+	0x3A, 0xE1, 0x61, 0x4C, 0x94, 0xC1, 0xB2, 0x72,
-+	0xEF, 0xC4, 0x44, 0x69, 0xB1, 0x0D, 0x27, 0x42,
-+	0xE2, 0x1B, 0x8C, 0xA7, 0x7C, 0x41, 0x2B, 0x73,
-+	0xF1, 0x26, 0x8A, 0x64, 0xD5, 0x42, 0x87, 0x58,
-+	0xFA, 0x5D, 0x37, 0x27, 0x11, 0xAD, 0xE5, 0x9D,
-+	0x1F, 0xC8, 0x69, 0xA7, 0x14, 0x8C, 0x5D, 0xD6,
-+	0x55, 0x4E, 0xD8, 0xB4, 0xFE, 0x65, 0xAD, 0xAD,
-+	0x0D, 0xD6, 0x10, 0xE5, 0x1D, 0x3F, 0x34, 0x5C,
-+	0x1C, 0xE7, 0x51, 0xCF, 0x3C, 0x24, 0x84, 0x64,
-+	0xE4, 0xBF, 0xF6, 0xBA, 0x90, 0x4B, 0x83, 0x83,
-+	0x23, 0xF8, 0x9C, 0xDB, 0xA9, 0xD9, 0x99, 0x59,
-+	0x39, 0x3F, 0x99, 0x27, 0x94, 0x8E, 0x2E, 0xCE,
-+	0x4E, 0x37, 0xAA, 0x6C, 0x74, 0xE4, 0x84, 0x84,
-+	0xAE, 0x65, 0x71, 0x76, 0x04, 0x15, 0x28, 0xEB,
-+	0xCE, 0x00, 0x94, 0xF4, 0x2F, 0x27, 0x45, 0x89,
-+	0x0F, 0xD8, 0x2B, 0xA7, 0x3C, 0x9D, 0xF1, 0x38,
-+	0x88, 0xB0, 0xF6, 0x7A, 0x4C, 0xED, 0x3D, 0x0E,
-+	0x2E, 0x97, 0x4E, 0x08, 0xDC, 0x73, 0xDB, 0x19,
-+	0x09, 0x7B, 0x3D, 0x4A, 0x0B, 0x2B, 0xDB, 0x6F,
-+	0x05, 0x12, 0x6E, 0xC8, 0xC2, 0x7E, 0x37, 0x75,
-+	0xF9, 0x08, 0x0C, 0x6C, 0x91, 0xA1, 0x49, 0x98,
-+	0xA8, 0xC0, 0x37, 0xE9, 0x7D, 0xE8, 0x58, 0x10,
-+	0xB0, 0xB3, 0x07, 0xD6, 0x06, 0x36, 0xE9, 0xAA,
-+	0xC0, 0xC6, 0xC0, 0x54, 0xCD, 0x8F, 0xA3, 0x49,
-+	0x13, 0x62, 0x56, 0x30, 0xC0, 0xC2, 0xEE, 0x07,
-+	0x07, 0x58, 0xAF, 0x41, 0xD3, 0x4B, 0x4D, 0xC4,
-+	0xFE, 0xAD, 0x19, 0xD8, 0x03, 0x39, 0xCA, 0x80,
-+	0xB4, 0xDD, 0x40, 0x06, 0x54, 0x6A, 0xBA, 0xC1,
-+	0xB1, 0xD0, 0xEE, 0x00, 0xD0, 0x47, 0xA5, 0x2C,
-+	0x44, 0x17, 0xA3, 0xC3, 0x10, 0x20, 0x93, 0xC3,
-+	0xC9, 0xE6, 0xA2, 0xE1, 0x13, 0x29, 0xA7, 0x97,
-+	0xE8, 0xC3, 0x8F, 0x0D, 0x17, 0xA9, 0xE3, 0xC1,
-+	0x4F, 0xBD, 0x8B, 0x2B, 0xE2, 0xB2, 0x1E, 0xFE,
-+	0xBC, 0x3A, 0xE0, 0xE9, 0x20, 0x90, 0xFC, 0x35,
-+	0xBE, 0x30, 0x3E, 0x50, 0x93, 0x10, 0x40, 0xB0,
-+	0x44, 0xAF, 0xFA, 0x66, 0x04, 0x70, 0x62, 0xCE,
-+	0x60, 0x5B, 0xAE, 0xD3, 0x5D, 0x58, 0xCD, 0xAF,
-+	0xE4, 0x2B, 0x1C, 0x2E, 0xF5, 0xD7, 0x9C, 0x79,
-+	0x6B, 0xDB, 0x44, 0xE8, 0x10, 0xA0, 0x48, 0x80,
-+	0x89, 0xD9, 0xCA, 0xF1, 0x09, 0xA4, 0x34, 0xF4,
-+	0x74, 0xAF, 0x2F, 0x02, 0xDA, 0x4B, 0x6C, 0xAF,
-+	0x87, 0x5E, 0x4A, 0xEC, 0x20, 0xB5, 0x8D, 0x6D,
-+	0x45, 0x9C, 0xA1, 0x67, 0x9A, 0xB9, 0xFE, 0x32,
-+	0xF8, 0xC1, 0xD8, 0x34, 0x3D, 0xC6, 0xA5, 0xA5,
-+	0x05, 0xDE, 0xAA, 0xEB, 0x87, 0xF7, 0xB7, 0x77,
-+	0x4F, 0x96, 0xC0, 0x60, 0xA8, 0xDA, 0xD7, 0xA3,
-+	0x91, 0x61, 0xF0, 0xF9, 0x29, 0xBB, 0x63, 0xA1,
-+	0x2D, 0xEC, 0xE8, 0xAF, 0x5F, 0x0A, 0x6D, 0x8F,
-+	0x12, 0x39, 0xB9, 0x94, 0x4C, 0xAD, 0x86, 0x45,
-+	0x05, 0xFE, 0x48, 0x66, 0x9B, 0x9F, 0x3F, 0xDF,
-+	0x5F, 0xB4, 0x46, 0x3A, 0xA2, 0x50, 0x10, 0x92,
-+	0x77, 0x18, 0xB3, 0x2F, 0xF7, 0x47, 0x11, 0x90,
-+	0x10, 0xC7, 0x72, 0x6C, 0x14, 0xD4, 0xE5, 0x62,
-+	0xE1, 0x36, 0x96, 0x42, 0x9F, 0x1F, 0xBC, 0x8C,
-+	0xBC, 0xC4, 0xD2, 0x6C, 0x9E, 0x04, 0xD4, 0xD8,
-+	0xF8, 0xF3, 0x98, 0x04, 0x06, 0x7A, 0x98, 0x54,
-+	0xF0, 0xCB, 0x3E, 0x43, 0xFD, 0x55, 0x09, 0x2B,
-+	0x81, 0x74, 0x10, 0x56, 0xBC, 0x47, 0x94, 0xB3,
-+	0x3E, 0xF2, 0xE6, 0x86, 0x76, 0xC6, 0xBD, 0x3D,
-+	0xBD, 0xD0, 0xC7, 0xDB, 0xB8, 0x18, 0xD8, 0xB8,
-+	0x0C, 0x67, 0x7B, 0x37, 0x4F, 0x5F, 0x4B, 0xCD,
-+	0x4D, 0x96, 0x2C, 0x4A, 0x20, 0x3F, 0xDF, 0x3A,
-+	0x43, 0x67, 0x69, 0x00, 0x62, 0x06, 0x94, 0x79,
-+	0xD7, 0x00, 0xAA, 0x36, 0x01, 0xA0, 0x30, 0x3E,
-+	0x2D, 0x34, 0xEF, 0xAD, 0x6E, 0xED, 0xBD, 0x4D,
-+	0xB9, 0x04, 0xF1, 0x3D, 0x6E, 0x75, 0xB0, 0xF5,
-+	0x52, 0x24, 0x90, 0x7D, 0xFB, 0x48, 0xE8, 0x08,
-+	0x88, 0xDB, 0x65, 0x80, 0x6A, 0x7F, 0x56, 0xB6,
-+	0x2B, 0x00, 0x80, 0xAD, 0x75, 0x44, 0x63, 0xA0,
-+	0x00, 0xB9, 0xFF, 0x1B, 0xCB, 0x70, 0x53, 0x13,
-+	0xA1, 0xEA, 0xDC, 0xE2, 0x9A, 0x58, 0x1D, 0xF7,
-+	0xF7, 0x4A, 0x5C, 0x40, 0xEF, 0xAF, 0xB5, 0x53,
-+	0x85, 0xBA, 0x08, 0x46, 0x9C, 0x0A, 0x28, 0x7B,
-+	0x8B, 0xD0, 0x44, 0x29, 0xD1, 0x49, 0x18, 0x92,
-+	0x30, 0xEB, 0x7F, 0x02, 0xFA, 0x6A, 0x3B, 0xD9,
-+	0x0A, 0xA1, 0x55, 0x1C, 0xEE, 0x1E, 0x3A, 0x0A,
-+	0xC0, 0x5D, 0xA9, 0xC1, 0x3F, 0x2E, 0x11, 0xD2,
-+	0xD2, 0x4D, 0xFA, 0xD6, 0x46, 0xC7, 0x01, 0xD5,
-+	0x59, 0x24, 0x50, 0x2F, 0xEB, 0xA9, 0xD5, 0xED,
-+	0xEF, 0x67, 0xA1, 0x8B, 0x51, 0xE1, 0x67, 0xB5,
-+	0x33, 0xE4, 0x50, 0x30, 0xE1, 0xC3, 0xF0, 0x40,
-+	0x60, 0x19, 0x0F, 0xCB, 0x19, 0x0B, 0x0E, 0xFC,
-+	0x61, 0x4A, 0xDE, 0xB0, 0x4D, 0x7B, 0xF4, 0xCB,
-+	0x4B, 0x90, 0x10, 0x3D, 0xE5, 0x59, 0x3B, 0xF7,
-+	0x72, 0xE8, 0x19, 0x76, 0xA2, 0x51, 0xF9, 0x3D,
-+	0x7D, 0x74, 0x52, 0xAC, 0x69, 0xB5, 0xC3, 0x5A,
-+	0xDD, 0x0D, 0x32, 0xDE, 0x86, 0xC2, 0x20, 0xBD,
-+	0x51, 0xDC, 0xE2, 0x88, 0x90, 0xD2, 0x12, 0x30,
-+	0x9F, 0x6E, 0x64, 0x16, 0xE8, 0x46, 0x09, 0xEF,
-+	0x41, 0xB6, 0x66, 0x34, 0xBB, 0x59, 0x56, 0xBC,
-+	0x1C, 0x55, 0x13, 0xBF, 0xFE, 0xEE, 0x2C, 0xE5,
-+	0x4F, 0x26, 0x99, 0xDC, 0x84, 0x9E, 0xEF, 0x9F,
-+	0xB5, 0x4E, 0xF4, 0x93, 0xE9, 0x04, 0x08, 0xE2,
-+	0xCE, 0x87, 0x38, 0x73, 0x39, 0xC3, 0x4B, 0x26,
-+	0xA4, 0x5A, 0x1F, 0x8C, 0x12, 0xA9, 0xC9, 0x12,
-+	0x2C, 0xD7, 0xC3, 0x5F, 0x47, 0x5D, 0x9D, 0xEF,
-+	0x00, 0xF1, 0xF7, 0x20, 0x08, 0x02, 0xC8, 0xBA,
-+	0x30, 0xC1, 0x95, 0xF3, 0x02, 0x32, 0xE9, 0x38,
-+	0x58, 0x38, 0xAE, 0x70, 0xF5, 0x29, 0x63, 0x1F,
-+	0x3D, 0xEC, 0x7D, 0xB3, 0x20, 0x78, 0xB5, 0x77,
-+	0xFB, 0x2B, 0x78, 0xFB, 0xDC, 0xA4, 0xC0, 0x2A,
-+	0x76, 0x3F, 0x84, 0x00, 0x74, 0x0D, 0x66, 0x5F,
-+	0x2D, 0xBB, 0xE5, 0x41, 0x9D, 0x07, 0xBB, 0x99,
-+	0x14, 0x27, 0x4D, 0xEF, 0x9A, 0x28, 0x44, 0x9F,
-+	0x3F, 0x66, 0x20, 0x8C, 0xC6, 0xD6, 0x24, 0xCD,
-+	0x67, 0x7C, 0x42, 0x8E, 0xC6, 0xEF, 0x7F, 0x25,
-+	0x2D, 0x74, 0xCA, 0x81, 0xDB, 0x26, 0xAE, 0xCB,
-+	0xA7, 0x83, 0xFD, 0x95, 0x46, 0xC5, 0xBE, 0x5C,
-+	0xFC, 0x07, 0xC5, 0xFF, 0x34, 0x70, 0x82, 0x6E,
-+	0xC7, 0x90, 0xAF, 0xC8, 0x99, 0xAB, 0xA7, 0x4E,
-+	0x02, 0xC1, 0x92, 0x22, 0x05, 0xA8, 0x38, 0xF8,
-+	0x78, 0xA3, 0x23, 0x0E, 0xD6, 0x27, 0x27, 0xE4,
-+	0x55, 0xEF, 0x5A, 0xBE, 0x22, 0x1B, 0xF9, 0x00,
-+	0xC4, 0x02, 0x44, 0x28, 0xF0, 0x40, 0x16, 0x97,
-+	0x17, 0x6E, 0x1A, 0x66, 0x1B, 0x98, 0xD8, 0x89,
-+	0x69, 0xB1, 0x8F, 0x61, 0x30, 0xC9, 0xB4, 0x84,
-+	0x04, 0xDF, 0x5F, 0x72, 0xAA, 0xA7, 0xC5, 0x24,
-+	0xC6, 0x1E, 0x80, 0xEE, 0x3A, 0x06, 0xED, 0x8F,
-+	0xAA, 0x73, 0xED, 0x00, 0xBB, 0x08, 0xFA, 0xF8,
-+	0x68, 0x2A, 0xCE, 0x3B, 0xA1, 0x98, 0x9A, 0xD6,
-+	0x55, 0xB7, 0x93, 0xE2, 0xCA, 0x7A, 0x2C, 0xAD,
-+	0x2D, 0xC7, 0x13, 0x7C, 0x9C, 0x2F, 0xFD, 0x2E,
-+	0xB6, 0x61, 0xCB, 0xA0, 0x93, 0x39, 0xC8, 0x56,
-+	0xD5, 0xCE, 0xD3, 0x9F, 0xE5, 0x06, 0x7E, 0x7E,
-+	0xDE, 0x05, 0x2B, 0x4E, 0x14, 0xB7, 0xD1, 0xB3,
-+	0xF0, 0x3B, 0x17, 0xF3, 0xA2, 0x61, 0x64, 0x88,
-+	0x28, 0x41, 0xE4, 0x90, 0x5F, 0x04, 0x6A, 0x12,
-+	0x01, 0x56, 0x7B, 0x9F, 0x4C, 0x51, 0x33, 0x13,
-+	0x9B, 0x40, 0xDB, 0xBD, 0x78, 0x38, 0x54, 0x96,
-+	0x0B, 0x20, 0xA0, 0x8D, 0x55, 0xD4, 0xD6, 0x15,
-+	0xAD, 0x75, 0x71, 0x0F, 0xC3, 0xBB, 0x78, 0x10,
-+	0xB3, 0xA2, 0xAF, 0x7A, 0x01, 0x16, 0x4D, 0xDC,
-+	0xFC, 0xBC, 0xCA, 0x24, 0xEF, 0x47, 0xBE, 0xDD,
-+	0x4A, 0xF9, 0x64, 0xCA, 0xBA, 0xF5, 0x74, 0xD0,
-+	0x53, 0x70, 0x75, 0xD9, 0x21, 0x91, 0x23, 0xF0,
-+	0x68, 0x02, 0xFF, 0x90, 0xA8, 0xC5, 0xB5, 0x87,
-+	0x6C, 0x17, 0x73, 0x4C, 0x8C, 0xFC, 0xBC, 0x7C,
-+	0x5E, 0xAE, 0x98, 0x34, 0xCC, 0x7C, 0xDC, 0xB6,
-+	0x26, 0x5F, 0x82, 0x6E, 0xF0, 0x41, 0x21, 0x43,
-+	0x00, 0xCB, 0x58, 0x13, 0xEB, 0x9B, 0xDB, 0x1B,
-+	0x0A, 0x8F, 0x3A, 0xD4, 0x1F, 0xA9, 0x51, 0x98,
-+	0xBA, 0xA2, 0x04, 0xF2, 0xA2, 0x9B, 0x88, 0x2D,
-+	0x89, 0x72, 0x4C, 0xA3, 0xD6, 0x64, 0xE4, 0x2C,
-+	0xAC, 0x6A, 0x2C, 0x40, 0x98, 0x28, 0x7E, 0xFF,
-+	0x7F, 0xE6, 0xF8, 0x6B, 0x22, 0xF7, 0x94, 0xE5,
-+	0x07, 0xDF, 0x58, 0x7F, 0xA4, 0xAC, 0xC7, 0xC5,
-+	0x5E, 0x9D, 0x27, 0x66, 0x6E, 0x12, 0x52, 0x50,
-+	0x8B, 0x48, 0x3E, 0x72, 0xAA, 0xB8, 0xFB, 0x9B,
-+	0xB2, 0xD2, 0xA4, 0xE8, 0x30, 0x02, 0x41, 0x21,
-+	0x61, 0x9A, 0x2C, 0xD0, 0x80, 0x20, 0xD2, 0xB3,
-+	0x33, 0x78, 0x46, 0x0A, 0x50, 0x83, 0x43, 0x43,
-+	0xE3, 0x38, 0xAC, 0xE3, 0xBB, 0xCB, 0x8B, 0x4B,
-+	0x8B, 0x72, 0xD4, 0xFA, 0x86, 0x36, 0x16, 0xF4,
-+	0x54, 0xAD, 0x78, 0x94, 0x51, 0x11, 0x47, 0xC6,
-+	0x46, 0xFB, 0x79, 0x1D, 0x47, 0xF4, 0xB3, 0xB1,
-+	0x32, 0xCF, 0x1F, 0x4B, 0x99, 0x84, 0xE6, 0x9B,
-+	0x18, 0x0E, 0xBC, 0xF5, 0xB5, 0x27, 0x5A, 0x6A,
-+	0x42, 0xCA, 0xCE, 0x02, 0x21, 0x21, 0x8D, 0x5D,
-+	0x1F, 0x87, 0x17, 0xBB, 0x43, 0xF3, 0x01, 0xCB,
-+	0x47, 0x5C, 0xCA, 0xA6, 0xCE, 0xE7, 0x97, 0xC5,
-+	0x0F, 0xD8, 0x73, 0xEF, 0x37, 0x87, 0xFD, 0x3C,
-+	0xBC, 0x67, 0xD1, 0xBD, 0x65, 0xD5, 0x51, 0x9C,
-+	0x1E, 0xA5, 0x17, 0x7A, 0xA2, 0x12, 0x72, 0xB2,
-+	0x32, 0xE9, 0xEF, 0x8D, 0x57, 0x87, 0xCD, 0x0F,
-+	0x8F, 0x54, 0xE2, 0x8E, 0x56, 0xE6, 0x66, 0xB4,
-+	0x36, 0x8D, 0x27, 0x4B, 0x9B, 0x2B, 0x36, 0xF2,
-+	0x0C, 0xD3, 0xE1, 0x9F, 0x45, 0x95, 0x81, 0x52,
-+	0xD0, 0x6B, 0x45, 0x3A, 0xE0, 0x30, 0xF0, 0x23,
-+	0xA1, 0x1A, 0x74, 0x0C, 0xD6, 0x06, 0x7E, 0xAB,
-+	0x29, 0x92, 0x14, 0x6E, 0xB4, 0x64, 0x30, 0xE5,
-+	0x67, 0xDC, 0xD2, 0xAB, 0x71, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x87, 0x47,
-+	0xC7, 0x1C, 0x5A, 0xC9, 0xEE, 0xA1, 0xC1, 0x01,
-+	0x81, 0x5A, 0x1C, 0x8F, 0xA8, 0xE7, 0x97, 0x40,
-+	0xC2, 0x79, 0xEB, 0x90, 0x4A, 0x9A, 0xEE, 0x36,
-+	0xB4, 0x0F, 0x19, 0x62, 0xB8, 0x68, 0x08, 0xC8,
-+	0x48, 0x93, 0x25, 0x49, 0x91, 0x21, 0x41, 0x81,
-+	0x01, 0xDA, 0xA0, 0xD4, 0x0C, 0xDC, 0x6C, 0xB4,
-+	0x34, 0x8F, 0xC1, 0xB4, 0x6C, 0xBC, 0x30, 0xF0,
-+	0x70, 0xAB, 0x1D, 0x71, 0xA9, 0x19, 0x78, 0xB8,
-+	0x38, 0xE3, 0x54, 0x38, 0xE1, 0x51, 0x30, 0xF8,
-+	0x38, 0xE3, 0x54, 0x39, 0xE0, 0x51, 0x70, 0xA0,
-+	0x24, 0xFD, 0x6A, 0x02, 0xFB, 0x4F, 0x0E, 0x4A,
-+	0xDA, 0x43, 0xE4, 0x99, 0x50, 0xF1, 0xD8, 0x3A,
-+	0x9E, 0x67, 0x98, 0xE6, 0x77, 0xD5, 0xFC, 0x6E,
-+	0xD7, 0x1E, 0xFD, 0x80, 0x0D, 0xAC, 0x99, 0x4C,
-+	0x99, 0x53, 0x4F, 0x09, 0x7B, 0xE1, 0x2B, 0x41,
-+	0x6B, 0x9A, 0x79, 0x40, 0xCD, 0x28, 0x1D, 0x88,
-+	0x5D, 0x53, 0xB0, 0x09, 0x84, 0xE1, 0x2B, 0x01,
-+	0x2B, 0x1E, 0x02, 0x80, 0xF2, 0xAC, 0x7A, 0x17,
-+	0x21, 0x17, 0x17, 0x96, 0xF8, 0xA5, 0x73, 0x6E,
-+	0x35, 0x33, 0x6B, 0xE9, 0xDF, 0x81, 0x3F, 0x84,
-+	0xEB, 0x8D, 0xE5, 0x72, 0x74, 0x3F, 0xE1, 0xCE,
-+	0xB5, 0x93, 0xDB, 0x49, 0x6F, 0x21, 0xBF, 0x88,
-+	0xB7, 0x93, 0xDB, 0x48, 0x6E, 0x21, 0xBE, 0x81,
-+	0xFE, 0xDA, 0x58, 0x2D, 0xF5, 0x25, 0x7D, 0xA4,
-+	0x24, 0x9F, 0xD5, 0xA0, 0x78, 0xA8, 0xFC, 0x3C,
-+	0xBC, 0x67, 0xD1, 0xBD, 0x65, 0xD5, 0xB5, 0x75,
-+	0xF5, 0x2E, 0x98, 0xF4, 0x2C, 0x9C, 0xFC, 0x3C,
-+	0xBC, 0x67, 0xF9, 0x9C, 0x44, 0x94, 0xD0, 0x19,
-+	0x99, 0x22, 0x84, 0x58, 0x82, 0x32, 0x52, 0x88,
-+	0x08, 0xB3, 0x75, 0x18, 0xC0, 0x70, 0x6C, 0xAB,
-+	0x2B, 0x90, 0x9A, 0xFB, 0x21, 0xF1, 0xAD, 0x65,
-+	0xE5, 0x5E, 0xFC, 0x9E, 0x44, 0x94, 0x38, 0xF6,
-+	0x74, 0xCF, 0xED, 0x87, 0x5F, 0x8F, 0x4B, 0x84,
-+	0x06, 0xBD, 0x4F, 0x25, 0xFD, 0x2D, 0xC1, 0x0E,
-+	0x8C, 0x37, 0x71, 0x04, 0xDC, 0x0C, 0xB8, 0x77,
-+	0xF5, 0x4E, 0x48, 0x35, 0xEF, 0x3F, 0xE7, 0x2F,
-+	0xAF, 0x14, 0x82, 0xFC, 0x26, 0xF6, 0x2A, 0xED,
-+	0x6D, 0xD6, 0x34, 0x4A, 0x90, 0x40, 0xE8, 0x3A,
-+	0xB8, 0x03, 0x5D, 0x37, 0xEF, 0x3F, 0x3B, 0xE3,
-+	0x61, 0xDA, 0x2C, 0x4A, 0x92, 0x42, 0x14, 0x95,
-+	0x15, 0x4F, 0x7B, 0x11, 0x78, 0x48, 0x2E, 0xF2,
-+	0x78, 0x32, 0x05, 0x6F, 0x15, 0xEE, 0x8E, 0xC7,
-+	0x4E, 0xB0, 0x04, 0x68, 0x55, 0xE1, 0x81, 0xE4,
-+	0x66, 0xBD, 0xEE, 0x87, 0x5F, 0x0A, 0x62, 0xA2,
-+	0x07, 0xDF, 0x69, 0xA0, 0x71, 0xC1, 0x00, 0x43,
-+	0xC5, 0xAF, 0x9D, 0xF7, 0x8A, 0x60, 0x27, 0xFA,
-+	0x8A, 0x51, 0xD1, 0xFC, 0x24, 0xA5, 0x40, 0x86,
-+	0x27, 0x7A, 0xCA, 0x8F, 0x84, 0x29, 0xB9, 0x79,
-+	0xF9, 0x22, 0xA2, 0x8F, 0x57, 0xD6, 0x31, 0xF7,
-+	0x56, 0x05, 0xB5, 0xF0, 0x6B, 0xC6, 0x56, 0x96,
-+	0x16, 0xCD, 0x4D, 0x60, 0xB8, 0x39, 0xDC, 0x1A,
-+	0xBB, 0xE9, 0x59, 0x1C, 0x57, 0xFA, 0x6A, 0xAA,
-+	0x2A, 0xF1, 0x71, 0x5C, 0x84, 0x15, 0xF8, 0x3E,
-+	0x8F, 0xD8, 0x68, 0x95, 0xC7, 0x71, 0x90, 0xDB,
-+	0x5D, 0x0F, 0xF0, 0xB5, 0x6E, 0xC3, 0x53, 0x93,
-+	0x13, 0xC8, 0x48, 0x65, 0xBD, 0x9C, 0x72, 0xB4,
-+	0x38, 0xEB, 0xDF, 0xFA, 0x22, 0xF7, 0x96, 0x56,
-+	0x77, 0x3C, 0x8C, 0x51, 0x0E, 0xB8, 0x19, 0x56,
-+	0xD0, 0xC2, 0x7F, 0xBA, 0x39, 0x94, 0x04, 0xC4,
-+	0x44, 0x9F, 0x1F, 0x32, 0xEA, 0x6B, 0x9A, 0x5C,
-+	0xFD, 0xB4, 0x04, 0x41, 0x8A, 0x27, 0xB7, 0x77,
-+	0xF7, 0x2C, 0xAC, 0x81, 0x59, 0x68, 0x9C, 0x5A,
-+	0xEB, 0xA3, 0x13, 0x5E, 0x13, 0xA5, 0xEC, 0x0F,
-+	0x06, 0x8E, 0x25, 0xB9, 0x61, 0xD1, 0x87, 0x06,
-+	0x86, 0xCC, 0xEC, 0x86, 0xDF, 0xF8, 0x9E, 0xD7,
-+	0x7E, 0xC0, 0x76, 0x1A, 0xDF, 0x9F, 0xC9, 0x48,
-+	0xC8, 0xB2, 0x9C, 0xF6, 0x9C, 0x8C, 0x60, 0x08,
-+	0x82, 0x79, 0xAE, 0xC2, 0x92, 0x08, 0xD2, 0xA8,
-+	0xB4, 0x77, 0xCD, 0xBD, 0x69, 0x54, 0xD6, 0x3C,
-+	0x94, 0x8F, 0x19, 0x75, 0x7F, 0x81, 0xED, 0xEF,
-+	0x24, 0xD8, 0x4B, 0x80, 0x7B, 0xEB, 0x6D, 0xBE,
-+	0x2E, 0xD5, 0x63, 0x12, 0x3A, 0x8A, 0xEA, 0x2A,
-+	0xAA, 0x71, 0xC7, 0xAB, 0x73, 0xC3, 0xA3, 0x63,
-+	0xE3, 0x38, 0x8F, 0xE3, 0x3F, 0x8F, 0x8B, 0x51,
-+	0xD3, 0x68,
-+};
-+
-+static unsigned char vfs5011_prepare_02[] = { /* 2565 B */
-+	0x02, 0xF0, 0x00, 0x14, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE5, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xEA, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0x0A, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x01, 0xDE, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x74, 0x01, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x74, 0x01, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x07, 0x20,
-+	0xBA, 0xF8, 0x07, 0x20, 0xB9, 0xF8, 0x07, 0x20,
-+	0xB8, 0xF8, 0x07, 0x20, 0xB7, 0xF8, 0x07, 0x20,
-+	0xB6, 0xF8, 0x07, 0x20, 0xB5, 0xF8, 0x07, 0x20,
-+	0xB4, 0xF8, 0x07, 0x20, 0xB3, 0xF8, 0x07, 0x20,
-+	0xB2, 0xF8, 0x07, 0x20, 0xB1, 0xF8, 0x07, 0x22,
-+	0xB0, 0xF8, 0x07, 0x22, 0xAF, 0xF8, 0x07, 0x22,
-+	0xAE, 0xF8, 0x07, 0x22, 0xAD, 0xF8, 0x07, 0x22,
-+	0xAC, 0xF8, 0x07, 0x22, 0xAB, 0xF8, 0x07, 0x22,
-+	0xAA, 0xF8, 0x07, 0x22, 0xA9, 0xF8, 0x07, 0x22,
-+	0xA8, 0xF8, 0x07, 0x22, 0xA7, 0xF8, 0x07, 0x22,
-+	0xA6, 0xF8, 0x07, 0x22, 0xA5, 0xF8, 0x07, 0x22,
-+	0xA4, 0xF8, 0x07, 0x22, 0xA3, 0xF8, 0x07, 0x22,
-+	0xA2, 0xF8, 0x07, 0x22, 0xA1, 0xF8, 0x07, 0x22,
-+	0xA0, 0xF8, 0x07, 0x22, 0x9F, 0xF8, 0x07, 0x22,
-+	0x9E, 0xF8, 0x07, 0x22, 0x9D, 0xF8, 0x07, 0x22,
-+	0x9C, 0xF8, 0x07, 0x22, 0x9B, 0xF8, 0x07, 0x22,
-+	0x9A, 0xF8, 0x07, 0x22, 0x99, 0xF8, 0x07, 0x22,
-+	0x98, 0xF8, 0x07, 0x22, 0x97, 0xF8, 0x07, 0x22,
-+	0x96, 0xF8, 0x07, 0x22, 0x95, 0xF8, 0x07, 0x22,
-+	0x94, 0xF8, 0x07, 0x22, 0x93, 0xF8, 0x07, 0x22,
-+	0x92, 0xF8, 0x07, 0x22, 0x91, 0xF8, 0x07, 0x22,
-+	0x90, 0xF8, 0x07, 0x22, 0x8F, 0xF8, 0x07, 0x22,
-+	0x8E, 0xF8, 0x07, 0x22, 0x8D, 0xF8, 0x07, 0x22,
-+	0x8C, 0xF8, 0x07, 0x22, 0x8B, 0xF8, 0x07, 0x22,
-+	0x8A, 0xF8, 0x07, 0x22, 0x89, 0xF8, 0x07, 0x22,
-+	0x88, 0xF8, 0x07, 0x22, 0x87, 0xF8, 0x07, 0x22,
-+	0x86, 0xF8, 0x07, 0x22, 0x85, 0xF8, 0x07, 0x22,
-+	0x84, 0xF8, 0x07, 0x22, 0x83, 0xF8, 0x07, 0x22,
-+	0x82, 0xF8, 0x07, 0x22, 0x81, 0xF8, 0x07, 0x22,
-+	0x80, 0xF8, 0x07, 0x22, 0x7F, 0xF8, 0x07, 0x22,
-+	0x7E, 0xF8, 0x07, 0x22, 0x7D, 0xF8, 0x07, 0x22,
-+	0x7C, 0xF8, 0x07, 0x22, 0x7B, 0xF8, 0x07, 0x22,
-+	0x7A, 0xF8, 0x07, 0x22, 0x79, 0xF8, 0x07, 0x22,
-+	0x78, 0xF8, 0x07, 0x22, 0x77, 0xF8, 0x07, 0x22,
-+	0x76, 0xF8, 0x07, 0x22, 0x75, 0xF8, 0x07, 0x22,
-+	0x74, 0xF8, 0x07, 0x22, 0x73, 0xF8, 0x07, 0x22,
-+	0x72, 0xF8, 0x07, 0x22, 0x71, 0xF8, 0x07, 0x22,
-+	0x70, 0xF8, 0x07, 0x22, 0x6F, 0xF8, 0x07, 0x22,
-+	0x6E, 0xF8, 0x07, 0x22, 0x6D, 0xF8, 0x07, 0x22,
-+	0x6C, 0xF8, 0x07, 0x22, 0x6B, 0xF8, 0x07, 0x22,
-+	0x6A, 0xF8, 0x07, 0x22, 0x69, 0xF8, 0x07, 0x22,
-+	0x68, 0xF8, 0x07, 0x22, 0x67, 0xF8, 0x07, 0x22,
-+	0x66, 0xF8, 0x07, 0x22, 0x65, 0xF8, 0x07, 0x22,
-+	0x64, 0xF8, 0x07, 0x22, 0x63, 0xF8, 0x07, 0x22,
-+	0x62, 0xF8, 0x07, 0x22, 0x61, 0xF8, 0x07, 0x22,
-+	0x60, 0xF8, 0x07, 0x22, 0x5F, 0xF8, 0x07, 0x22,
-+	0x5E, 0xF8, 0x07, 0x22, 0x5D, 0xF8, 0x07, 0x22,
-+	0x5C, 0xF8, 0x07, 0x22, 0x5B, 0xF8, 0x07, 0x22,
-+	0x5A, 0xF8, 0x07, 0x22, 0x59, 0xF8, 0x07, 0x22,
-+	0x58, 0xF8, 0x07, 0x22, 0x57, 0xF8, 0x07, 0x22,
-+	0x56, 0xF8, 0x07, 0x22, 0x55, 0xF8, 0x07, 0x22,
-+	0x54, 0xF8, 0x07, 0x22, 0x53, 0xF8, 0x07, 0x22,
-+	0x52, 0xF8, 0x07, 0x22, 0x51, 0xF8, 0x07, 0x22,
-+	0x50, 0xF8, 0x07, 0x22, 0x4F, 0xF8, 0x07, 0x22,
-+	0x4E, 0xF8, 0x07, 0x22, 0x4D, 0xF8, 0x07, 0x22,
-+	0x4C, 0xF8, 0x07, 0x22, 0x4B, 0xF8, 0x07, 0x22,
-+	0x4A, 0xF8, 0x07, 0x22, 0x49, 0xF8, 0x07, 0x22,
-+	0x48, 0xF8, 0x07, 0x22, 0x47, 0xF8, 0x07, 0x22,
-+	0x46, 0xF8, 0x07, 0x22, 0x45, 0xF8, 0x07, 0x22,
-+	0x44, 0xF8, 0x07, 0x22, 0x43, 0xF8, 0x07, 0x22,
-+	0x42, 0xF8, 0x07, 0x22, 0x41, 0xF8, 0x07, 0x22,
-+	0x40, 0xF8, 0x07, 0x22, 0x3F, 0xF8, 0x07, 0x22,
-+	0x3E, 0xF8, 0x07, 0x22, 0x3D, 0xF8, 0x07, 0x22,
-+	0x3C, 0xF8, 0x07, 0x22, 0x3B, 0xF8, 0x07, 0x22,
-+	0x3A, 0xF8, 0x07, 0x22, 0x39, 0xF8, 0x07, 0x22,
-+	0x38, 0xF8, 0x07, 0x22, 0x37, 0xF8, 0x07, 0x22,
-+	0x36, 0xF8, 0x07, 0x22, 0x35, 0xF8, 0x07, 0x22,
-+	0x34, 0xF8, 0x07, 0x22, 0x33, 0xF8, 0x07, 0x22,
-+	0x32, 0xF8, 0x07, 0x22, 0x31, 0xF8, 0x07, 0x22,
-+	0x30, 0xF8, 0x07, 0x22, 0x2F, 0xF8, 0x07, 0x22,
-+	0x2E, 0xF8, 0x07, 0x22, 0x2D, 0xF8, 0x07, 0x22,
-+	0x2C, 0xF8, 0x07, 0x22, 0x2B, 0xF8, 0x07, 0x22,
-+	0x2A, 0xF8, 0x07, 0x22, 0x29, 0xF8, 0x07, 0x22,
-+	0x28, 0xF8, 0x07, 0x22, 0x27, 0xF8, 0x07, 0x22,
-+	0x26, 0xF8, 0x07, 0x22, 0x25, 0xF8, 0x07, 0x22,
-+	0x24, 0xF8, 0x07, 0x22, 0x23, 0xF8, 0x07, 0x20,
-+	0x22, 0xF8, 0x07, 0x20, 0x21, 0xF8, 0x07, 0x20,
-+	0x20, 0xF8, 0x07, 0x20, 0x1F, 0xF8, 0x07, 0x20,
-+	0x1E, 0xF8, 0x07, 0x20, 0x1D, 0xF8, 0x07, 0x20,
-+	0x1C, 0xF8, 0x07, 0x20, 0x1C, 0xF8, 0x07, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD8, 0xF8, 0x27, 0x20, 0xD9, 0xF8, 0x27, 0x20,
-+	0xDA, 0xF8, 0x27, 0x20, 0xDB, 0xF8, 0x27, 0x20,
-+	0xDC, 0xF8, 0x27, 0x20, 0xDD, 0xF8, 0x27, 0x20,
-+	0xDE, 0xF8, 0x27, 0x20, 0xDF, 0xF8, 0x27, 0x20,
-+	0xE0, 0xF8, 0x27, 0x20, 0xE1, 0xF8, 0x27, 0x20,
-+	0xE2, 0xF8, 0x27, 0x20, 0xE3, 0xF8, 0x27, 0x20,
-+	0xE4, 0xF8, 0x27, 0x20, 0xE5, 0xF8, 0x27, 0x20,
-+	0xE6, 0xF8, 0x27, 0x20, 0xE7, 0xF8, 0x27, 0x20,
-+	0xE8, 0xF8, 0x27, 0x20, 0xE9, 0xF8, 0x27, 0x20,
-+	0xEA, 0xF8, 0x27, 0x20, 0xEB, 0xF8, 0x27, 0x20,
-+	0xEC, 0xF8, 0x27, 0x20, 0xED, 0xF8, 0x27, 0x20,
-+	0xEE, 0xF8, 0x27, 0x20, 0xEF, 0xF8, 0x27, 0x20,
-+	0xF0, 0xF8, 0x27, 0x20, 0xF1, 0xF8, 0x27, 0x20,
-+	0xF2, 0xF8, 0x27, 0x20, 0xF3, 0xF8, 0x27, 0x20,
-+	0xF4, 0xF8, 0x27, 0x20, 0xF5, 0xF8, 0x27, 0x20,
-+	0xF6, 0xF8, 0x27, 0x20, 0xF7, 0xF8, 0x27, 0x20,
-+	0xF8, 0xF8, 0x27, 0x20, 0xF9, 0xF8, 0x27, 0x20,
-+	0xFA, 0xF8, 0x27, 0x20, 0xFB, 0xF8, 0x27, 0x20,
-+	0xFC, 0xF8, 0x27, 0x20, 0xFD, 0xF8, 0x27, 0x20,
-+	0xFE, 0xF8, 0x27, 0x20, 0xFF, 0xF8, 0x27, 0x20,
-+	0x00, 0xF9, 0x27, 0x20, 0xD7, 0xF8, 0x27, 0x20,
-+	0x00, 0xF8, 0x27, 0x20, 0x01, 0xF8, 0x27, 0x20,
-+	0x02, 0xF8, 0x27, 0x20, 0x03, 0xF8, 0x27, 0x20,
-+	0x04, 0xF8, 0x27, 0x20, 0x05, 0xF8, 0x27, 0x20,
-+	0x06, 0xF8, 0x27, 0x20, 0x07, 0xF8, 0x27, 0x20,
-+	0x08, 0xF8, 0x27, 0x20, 0x09, 0xF8, 0x27, 0x20,
-+	0x0A, 0xF8, 0x27, 0x20, 0x0B, 0xF8, 0x27, 0x20,
-+	0x0C, 0xF8, 0x27, 0x20, 0x0D, 0xF8, 0x27, 0x20,
-+	0x0E, 0xF8, 0x27, 0x20, 0x0F, 0xF8, 0x27, 0x20,
-+	0x10, 0xF8, 0x27, 0x20, 0x11, 0xF8, 0x27, 0x20,
-+	0x12, 0xF8, 0x27, 0x20, 0x13, 0xF8, 0x27, 0x20,
-+	0x14, 0xF8, 0x27, 0x20, 0x15, 0xF8, 0x27, 0x20,
-+	0x15, 0xF8, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x17, 0x00, 0x00, 0x00, 0x05, 0x00, 0x0E,
-+	0x00, 0x0C, 0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x05,
-+	0x00, 0x0E, 0x00, 0x10, 0x20, 0xFD, 0x00, 0xFF,
-+	0xFF, 0x00, 0x00, 0x00, 0x00, 0x02, 0x05, 0x00,
-+	0x00, 0x03, 0x00, 0x09, 0x00, 0x04, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x08, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x0C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x10, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x14, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x44, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x48, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x4C, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x50, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x58, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xC8, 0x20, 0x04, 0x30, 0x04, 0x00, 0x00,
-+	0x00, 0x04, 0x05, 0x00, 0x0E, 0x00, 0x14, 0x20,
-+	0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x84, 0x00, 0x03, 0x00, 0x09, 0x00,
-+	0x84, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x88, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x8C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x90,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x94, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x98, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x07,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x07, 0x00, 0x00, 0x00,
-+	0x04, 0x15, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x20, 0x28, 0x00, 0x00,
-+};
-+
-+static unsigned char vfs5011_prepare_03[] = { /* 117 B */
-+	0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x01, 0xFF, 0x00, 0x00, 0xFF, 0xF4, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
-+	0x00, 0x00, 0x00, 0xF4, 0x01, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x20, 0xBF, 0x02, 0x00,
-+};
-+
-+static unsigned char vfs5011_prepare_04[] = { /* 2903 B */
-+	0x02, 0xF0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x18, 0x20,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x20, 0x04, 0x30, 0x08,
-+	0x00, 0x80, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x24, 0x20, 0x04, 0x30, 0x00, 0x00, 0xFF, 0x01,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x2C, 0x20, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x40, 0x20, 0x04, 0x30, 0xFF, 0x03,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x20, 0x04, 0x30, 0xE5, 0x03, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x20, 0x04, 0x30,
-+	0xEA, 0x03, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x20, 0x04, 0x30, 0x0A, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x54, 0x20,
-+	0x04, 0x30, 0x01, 0xDE, 0x01, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x00, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21, 0x04,
-+	0x30, 0x02, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x1C, 0x21,
-+	0x04, 0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x20, 0x21, 0x04, 0x30, 0x08,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x40, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x44, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x48, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x4C,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x50, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x54, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x58, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x5C, 0x21, 0x04, 0x30, 0x1F,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x60, 0x21, 0x04, 0x30, 0x08, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x80, 0x21, 0x04,
-+	0x30, 0x30, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x84, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x88,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x8C, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x90, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x94, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x98, 0x21, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x9C, 0x21, 0x04, 0x30, 0x1F, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xA0, 0x21, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xC0, 0x21, 0x04, 0x30, 0x30, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xC8, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xCC, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xD0, 0x21,
-+	0x04, 0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xD4, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xD8, 0x21, 0x04, 0x30, 0x00, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xDC, 0x21, 0x04,
-+	0x30, 0x1F, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xE0, 0x21, 0x04, 0x30, 0x04, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xA0,
-+	0x20, 0x04, 0x30, 0xEF, 0xE1, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0xA4, 0x20, 0x04, 0x30,
-+	0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0xB0, 0x20, 0x04, 0x30, 0x00, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0xC4, 0x20,
-+	0x04, 0x30, 0x14, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0xC8, 0x20, 0x04, 0x30, 0x00,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0xCC, 0x20, 0x04, 0x30, 0x20, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x20, 0x04,
-+	0x30, 0x00, 0x00, 0x74, 0x01, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA8, 0x20, 0x04, 0x30, 0xFE, 0x21,
-+	0x74, 0x01, 0x04, 0x03, 0x00, 0x09, 0x00, 0x04,
-+	0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x08, 0x00, 0x00, 0x38,
-+	0x00, 0x15, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x0C, 0x00, 0x00, 0x38, 0x01, 0x03, 0x02,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x10, 0x00,
-+	0x00, 0x38, 0x01, 0x07, 0x02, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x38, 0x0C,
-+	0x0C, 0x05, 0x00, 0x04, 0x02, 0x00, 0x80, 0x05,
-+	0xFF, 0xF9, 0x87, 0x20, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x87, 0x00,
-+	0xBB, 0xF8, 0x87, 0x00, 0xBB, 0xF8, 0x07, 0x20,
-+	0xBA, 0xF8, 0x07, 0x20, 0xB9, 0xF8, 0x07, 0x20,
-+	0xB8, 0xF8, 0x07, 0x20, 0xB7, 0xF8, 0x07, 0x20,
-+	0xB6, 0xF8, 0x07, 0x20, 0xB5, 0xF8, 0x07, 0x20,
-+	0xB4, 0xF8, 0x07, 0x20, 0xB3, 0xF8, 0x07, 0x20,
-+	0xB2, 0xF8, 0x07, 0x20, 0xB1, 0xF8, 0x07, 0x22,
-+	0xB0, 0xF8, 0x07, 0x22, 0xAF, 0xF8, 0x07, 0x22,
-+	0xAE, 0xF8, 0x07, 0x22, 0xAD, 0xF8, 0x07, 0x22,
-+	0xAC, 0xF8, 0x07, 0x22, 0xAB, 0xF8, 0x07, 0x22,
-+	0xAA, 0xF8, 0x07, 0x22, 0xA9, 0xF8, 0x07, 0x22,
-+	0xA8, 0xF8, 0x07, 0x22, 0xA7, 0xF8, 0x07, 0x22,
-+	0xA6, 0xF8, 0x07, 0x22, 0xA5, 0xF8, 0x07, 0x22,
-+	0xA4, 0xF8, 0x07, 0x22, 0xA3, 0xF8, 0x07, 0x22,
-+	0xA2, 0xF8, 0x07, 0x22, 0xA1, 0xF8, 0x07, 0x22,
-+	0xA0, 0xF8, 0x07, 0x22, 0x9F, 0xF8, 0x07, 0x22,
-+	0x9E, 0xF8, 0x07, 0x22, 0x9D, 0xF8, 0x07, 0x22,
-+	0x9C, 0xF8, 0x07, 0x22, 0x9B, 0xF8, 0x07, 0x22,
-+	0x9A, 0xF8, 0x07, 0x22, 0x99, 0xF8, 0x07, 0x22,
-+	0x98, 0xF8, 0x07, 0x22, 0x97, 0xF8, 0x07, 0x22,
-+	0x96, 0xF8, 0x07, 0x22, 0x95, 0xF8, 0x07, 0x22,
-+	0x94, 0xF8, 0x07, 0x22, 0x93, 0xF8, 0x07, 0x22,
-+	0x92, 0xF8, 0x07, 0x22, 0x91, 0xF8, 0x07, 0x22,
-+	0x90, 0xF8, 0x07, 0x22, 0x8F, 0xF8, 0x07, 0x22,
-+	0x8E, 0xF8, 0x07, 0x22, 0x8D, 0xF8, 0x07, 0x22,
-+	0x8C, 0xF8, 0x07, 0x22, 0x8B, 0xF8, 0x07, 0x22,
-+	0x8A, 0xF8, 0x07, 0x22, 0x89, 0xF8, 0x07, 0x22,
-+	0x88, 0xF8, 0x07, 0x22, 0x87, 0xF8, 0x07, 0x22,
-+	0x86, 0xF8, 0x07, 0x22, 0x85, 0xF8, 0x07, 0x22,
-+	0x84, 0xF8, 0x07, 0x22, 0x83, 0xF8, 0x07, 0x22,
-+	0x82, 0xF8, 0x07, 0x22, 0x81, 0xF8, 0x07, 0x22,
-+	0x80, 0xF8, 0x07, 0x22, 0x7F, 0xF8, 0x07, 0x22,
-+	0x7E, 0xF8, 0x07, 0x22, 0x7D, 0xF8, 0x07, 0x22,
-+	0x7C, 0xF8, 0x07, 0x22, 0x7B, 0xF8, 0x07, 0x22,
-+	0x7A, 0xF8, 0x07, 0x22, 0x79, 0xF8, 0x07, 0x22,
-+	0x78, 0xF8, 0x07, 0x22, 0x77, 0xF8, 0x07, 0x22,
-+	0x76, 0xF8, 0x07, 0x22, 0x75, 0xF8, 0x07, 0x22,
-+	0x74, 0xF8, 0x07, 0x22, 0x73, 0xF8, 0x07, 0x22,
-+	0x72, 0xF8, 0x07, 0x22, 0x71, 0xF8, 0x07, 0x22,
-+	0x70, 0xF8, 0x07, 0x22, 0x6F, 0xF8, 0x07, 0x22,
-+	0x6E, 0xF8, 0x07, 0x22, 0x6D, 0xF8, 0x07, 0x22,
-+	0x6C, 0xF8, 0x07, 0x22, 0x6B, 0xF8, 0x07, 0x22,
-+	0x6A, 0xF8, 0x07, 0x22, 0x69, 0xF8, 0x07, 0x22,
-+	0x68, 0xF8, 0x07, 0x22, 0x67, 0xF8, 0x07, 0x22,
-+	0x66, 0xF8, 0x07, 0x22, 0x65, 0xF8, 0x07, 0x22,
-+	0x64, 0xF8, 0x07, 0x22, 0x63, 0xF8, 0x07, 0x22,
-+	0x62, 0xF8, 0x07, 0x22, 0x61, 0xF8, 0x07, 0x22,
-+	0x60, 0xF8, 0x07, 0x22, 0x5F, 0xF8, 0x07, 0x22,
-+	0x5E, 0xF8, 0x07, 0x22, 0x5D, 0xF8, 0x07, 0x22,
-+	0x5C, 0xF8, 0x07, 0x22, 0x5B, 0xF8, 0x07, 0x22,
-+	0x5A, 0xF8, 0x07, 0x22, 0x59, 0xF8, 0x07, 0x22,
-+	0x58, 0xF8, 0x07, 0x22, 0x57, 0xF8, 0x07, 0x22,
-+	0x56, 0xF8, 0x07, 0x22, 0x55, 0xF8, 0x07, 0x22,
-+	0x54, 0xF8, 0x07, 0x22, 0x53, 0xF8, 0x07, 0x22,
-+	0x52, 0xF8, 0x07, 0x22, 0x51, 0xF8, 0x07, 0x22,
-+	0x50, 0xF8, 0x07, 0x22, 0x4F, 0xF8, 0x07, 0x22,
-+	0x4E, 0xF8, 0x07, 0x22, 0x4D, 0xF8, 0x07, 0x22,
-+	0x4C, 0xF8, 0x07, 0x22, 0x4B, 0xF8, 0x07, 0x22,
-+	0x4A, 0xF8, 0x07, 0x22, 0x49, 0xF8, 0x07, 0x22,
-+	0x48, 0xF8, 0x07, 0x22, 0x47, 0xF8, 0x07, 0x22,
-+	0x46, 0xF8, 0x07, 0x22, 0x45, 0xF8, 0x07, 0x22,
-+	0x44, 0xF8, 0x07, 0x22, 0x43, 0xF8, 0x07, 0x22,
-+	0x42, 0xF8, 0x07, 0x22, 0x41, 0xF8, 0x07, 0x22,
-+	0x40, 0xF8, 0x07, 0x22, 0x3F, 0xF8, 0x07, 0x22,
-+	0x3E, 0xF8, 0x07, 0x22, 0x3D, 0xF8, 0x07, 0x22,
-+	0x3C, 0xF8, 0x07, 0x22, 0x3B, 0xF8, 0x07, 0x22,
-+	0x3A, 0xF8, 0x07, 0x22, 0x39, 0xF8, 0x07, 0x22,
-+	0x38, 0xF8, 0x07, 0x22, 0x37, 0xF8, 0x07, 0x22,
-+	0x36, 0xF8, 0x07, 0x22, 0x35, 0xF8, 0x07, 0x22,
-+	0x34, 0xF8, 0x07, 0x22, 0x33, 0xF8, 0x07, 0x22,
-+	0x32, 0xF8, 0x07, 0x22, 0x31, 0xF8, 0x07, 0x22,
-+	0x30, 0xF8, 0x07, 0x22, 0x2F, 0xF8, 0x07, 0x22,
-+	0x2E, 0xF8, 0x07, 0x22, 0x2D, 0xF8, 0x07, 0x22,
-+	0x2C, 0xF8, 0x07, 0x22, 0x2B, 0xF8, 0x07, 0x22,
-+	0x2A, 0xF8, 0x07, 0x22, 0x29, 0xF8, 0x07, 0x22,
-+	0x28, 0xF8, 0x07, 0x22, 0x27, 0xF8, 0x07, 0x22,
-+	0x26, 0xF8, 0x07, 0x22, 0x25, 0xF8, 0x07, 0x22,
-+	0x24, 0xF8, 0x07, 0x22, 0x23, 0xF8, 0x07, 0x20,
-+	0x22, 0xF8, 0x07, 0x20, 0x21, 0xF8, 0x07, 0x20,
-+	0x20, 0xF8, 0x07, 0x20, 0x1F, 0xF8, 0x07, 0x20,
-+	0x1E, 0xF8, 0x07, 0x20, 0x1D, 0xF8, 0x07, 0x20,
-+	0x1C, 0xF8, 0x07, 0x20, 0x1C, 0xF8, 0x07, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD7, 0xF8, 0xA7, 0x00, 0xD7, 0xF8, 0xA7, 0x00,
-+	0xD8, 0xF8, 0x27, 0x20, 0xD9, 0xF8, 0x27, 0x20,
-+	0xDA, 0xF8, 0x27, 0x20, 0xDB, 0xF8, 0x27, 0x20,
-+	0xDC, 0xF8, 0x27, 0x20, 0xDD, 0xF8, 0x27, 0x20,
-+	0xDE, 0xF8, 0x27, 0x20, 0xDF, 0xF8, 0x27, 0x20,
-+	0xE0, 0xF8, 0x27, 0x20, 0xE1, 0xF8, 0x27, 0x20,
-+	0xE2, 0xF8, 0x27, 0x20, 0xE3, 0xF8, 0x27, 0x20,
-+	0xE4, 0xF8, 0x27, 0x20, 0xE5, 0xF8, 0x27, 0x20,
-+	0xE6, 0xF8, 0x27, 0x20, 0xE7, 0xF8, 0x27, 0x20,
-+	0xE8, 0xF8, 0x27, 0x20, 0xE9, 0xF8, 0x27, 0x20,
-+	0xEA, 0xF8, 0x27, 0x20, 0xEB, 0xF8, 0x27, 0x20,
-+	0xEC, 0xF8, 0x27, 0x20, 0xED, 0xF8, 0x27, 0x20,
-+	0xEE, 0xF8, 0x27, 0x20, 0xEF, 0xF8, 0x27, 0x20,
-+	0xF0, 0xF8, 0x27, 0x20, 0xF1, 0xF8, 0x27, 0x20,
-+	0xF2, 0xF8, 0x27, 0x20, 0xF3, 0xF8, 0x27, 0x20,
-+	0xF4, 0xF8, 0x27, 0x20, 0xF5, 0xF8, 0x27, 0x20,
-+	0xF6, 0xF8, 0x27, 0x20, 0xF7, 0xF8, 0x27, 0x20,
-+	0xF8, 0xF8, 0x27, 0x20, 0xF9, 0xF8, 0x27, 0x20,
-+	0xFA, 0xF8, 0x27, 0x20, 0xFB, 0xF8, 0x27, 0x20,
-+	0xFC, 0xF8, 0x27, 0x20, 0xFD, 0xF8, 0x27, 0x20,
-+	0xFE, 0xF8, 0x27, 0x20, 0xFF, 0xF8, 0x27, 0x20,
-+	0x00, 0xF9, 0x27, 0x20, 0xD7, 0xF8, 0x27, 0x20,
-+	0x00, 0xF8, 0x27, 0x20, 0x01, 0xF8, 0x27, 0x20,
-+	0x02, 0xF8, 0x27, 0x20, 0x03, 0xF8, 0x27, 0x20,
-+	0x04, 0xF8, 0x27, 0x20, 0x05, 0xF8, 0x27, 0x20,
-+	0x06, 0xF8, 0x27, 0x20, 0x07, 0xF8, 0x27, 0x20,
-+	0x08, 0xF8, 0x27, 0x20, 0x09, 0xF8, 0x27, 0x20,
-+	0x0A, 0xF8, 0x27, 0x20, 0x0B, 0xF8, 0x27, 0x20,
-+	0x0C, 0xF8, 0x27, 0x20, 0x0D, 0xF8, 0x27, 0x20,
-+	0x0E, 0xF8, 0x27, 0x20, 0x0F, 0xF8, 0x27, 0x20,
-+	0x10, 0xF8, 0x27, 0x20, 0x11, 0xF8, 0x27, 0x20,
-+	0x12, 0xF8, 0x27, 0x20, 0x13, 0xF8, 0x27, 0x20,
-+	0x14, 0xF8, 0x27, 0x20, 0x15, 0xF8, 0x27, 0x20,
-+	0x15, 0xF8, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x0A, 0x00, 0x08, 0x00, 0x10, 0x03, 0x18, 0x1C,
-+	0x10, 0x03, 0x18, 0x1C, 0x03, 0x00, 0x09, 0x00,
-+	0x00, 0x20, 0x04, 0x30, 0x80, 0x00, 0x00, 0x00,
-+	0x04, 0x05, 0x00, 0x0E, 0x00, 0x0C, 0x20, 0xFD,
-+	0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00,
-+	0x02, 0x00, 0x00, 0x05, 0x00, 0x0E, 0x00, 0x10,
-+	0x20, 0xFD, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00,
-+	0x00, 0x02, 0x05, 0x00, 0x00, 0x03, 0x00, 0x09,
-+	0x00, 0x04, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x08, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x0C, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x10, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x14, 0x21, 0x04,
-+	0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0x18, 0x21, 0x04, 0x30, 0x01, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x44,
-+	0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x48, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x4C, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x50, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x54, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x58, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0xC8, 0x20, 0x04,
-+	0x30, 0x04, 0x00, 0x00, 0x00, 0x04, 0x05, 0x00,
-+	0x0E, 0x00, 0x14, 0x20, 0xFF, 0xFF, 0x00, 0xFF,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00,
-+	0x03, 0x00, 0x09, 0x00, 0x84, 0x21, 0x04, 0x30,
-+	0x01, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09,
-+	0x00, 0x88, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00,
-+	0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x8C, 0x21,
-+	0x04, 0x30, 0x01, 0x00, 0x00, 0x00, 0x04, 0x03,
-+	0x00, 0x09, 0x00, 0x90, 0x21, 0x04, 0x30, 0x01,
-+	0x00, 0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00,
-+	0x94, 0x21, 0x04, 0x30, 0x01, 0x00, 0x00, 0x00,
-+	0x04, 0x03, 0x00, 0x09, 0x00, 0x98, 0x21, 0x04,
-+	0x30, 0x00, 0x00, 0x00, 0x00, 0x04, 0x03, 0x00,
-+	0x09, 0x00, 0xA0, 0x21, 0x04, 0x30, 0x00, 0x00,
-+	0x00, 0x00, 0x04, 0x03, 0x00, 0x09, 0x00, 0x20,
-+	0x21, 0x04, 0x30, 0x07, 0x00, 0x00, 0x00, 0x04,
-+	0x03, 0x00, 0x09, 0x00, 0x60, 0x21, 0x04, 0x30,
-+	0x07, 0x00, 0x00, 0x00, 0x04, 0x15, 0x00, 0x08,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x00,
-+	0x00, 0x18, 0x00, 0x52, 0x01, 0x08, 0x00, 0x05,
-+	0x00, 0x0A, 0x00, 0xFA, 0x00, 0x1E, 0x00, 0xC8,
-+	0x00, 0x00, 0x00, 0x9F, 0x00, 0x38, 0x00, 0x00,
-+	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
-+	0xFF, 0xFB, 0xF9, 0xFC, 0xFD, 0xFF, 0xFD, 0xFE,
-+	0x00, 0x01, 0x00, 0x00, 0x03, 0x01, 0x01, 0x02,
-+	0x06, 0x05, 0x05, 0x06, 0x05, 0x08, 0x0A, 0x06,
-+	0x09, 0x09, 0x06, 0x08, 0x05, 0x04, 0x03, 0x04,
-+	0x03, 0x05, 0x07, 0x07, 0x09, 0x05, 0x04, 0x03,
-+	0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0xFF, 0x00,
-+	0xFF, 0x00, 0xFB, 0xFD, 0xFF, 0xFF, 0x01, 0xFF,
-+	0xFD, 0xFF, 0x01, 0x02, 0x01, 0xFE, 0xFF, 0x01,
-+	0xFE, 0xFC, 0x00, 0xFF, 0x01, 0x01, 0x00, 0x00,
-+	0xFF, 0xFF, 0x04, 0x03, 0x00, 0x01, 0xFE, 0x02,
-+	0x02, 0x03, 0x03, 0x00, 0xFF, 0xFA, 0xFB, 0xFC,
-+	0xFF, 0xFF, 0x02, 0xFF, 0x01, 0xFF, 0xFE, 0xFD,
-+	0xFF, 0xFE, 0xFB, 0xF9, 0xF9, 0xFC, 0xFC, 0xFC,
-+	0xF5, 0xF3, 0xF8, 0xF5, 0xF5, 0xF5, 0xF9, 0xFB,
-+	0xFE, 0xFC, 0xFA, 0xF8, 0xFC, 0xF9, 0xF7, 0xF6,
-+	0xF6, 0xF7, 0xFB, 0xF7, 0xF9, 0xF9, 0xF8, 0xF8,
-+	0xF1, 0xF6, 0xF9, 0xFC, 0xFE, 0xFC, 0xFE, 0x00,
-+	0xFB, 0xFE, 0xFC, 0xFC, 0xFC, 0xFB, 0xFD, 0xFB,
-+	0xFC, 0xFA, 0xFC, 0xFA, 0x01, 0x02, 0xFE, 0xFE,
-+	0xFC, 0xF7, 0xF4, 0xF4, 0xED, 0xE1, 0xD7, 0x01,
-+	0x04, 0x03, 0x04, 0x08, 0x0B, 0x09, 0x09, 0x09,
-+	0x05, 0x06, 0x08, 0x05, 0x03, 0x00, 0x00, 0x01,
-+	0x00, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFC, 0xFF,
-+	0x02, 0xFD, 0xFB, 0xFC, 0xFA, 0xFC, 0xFD, 0xFF,
-+	0xFF, 0xFC, 0xFC, 0xFB, 0xFC, 0xFE, 0xFF, 0x00,
-+	0x01, 0x0B, 0x09, 0x07, 0x06, 0x03, 0x06, 0x08,
-+	0x07, 0x06, 0x07, 0x08, 0x08, 0x09, 0x0B, 0x0D,
-+	0x0E, 0x10, 0x15, 0x15, 0x19, 0x1B, 0x20, 0x01,
-+	0x00, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFC, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+	0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
-+};
-+
-+#endif
-diff --git a/libfprint/fp_internal.h b/libfprint/fp_internal.h
-index 6910b64..f640f58 100644
---- a/libfprint/fp_internal.h
-+++ b/libfprint/fp_internal.h
-@@ -296,6 +296,9 @@ extern struct fp_img_driver vfs101_driver;
- #ifdef ENABLE_VFS301
- extern struct fp_img_driver vfs301_driver;
- #endif
-+#ifdef ENABLE_VFS5011
-+extern struct fp_img_driver vfs5011_driver;
-+#endif
- #ifdef ENABLE_UPEKTC_IMG
- extern struct fp_img_driver upektc_img_driver;
- #endif
--- 
-2.1.3
-
diff --git a/pkgs/development/libraries/libfprint/master.nix b/pkgs/development/libraries/libfprint/master.nix
index 8b51acf52a86..06d033d0c029 100644
--- a/pkgs/development/libraries/libfprint/master.nix
+++ b/pkgs/development/libraries/libfprint/master.nix
@@ -5,12 +5,10 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "git://anongit.freedesktop.org/libfprint/libfprint";
-    rev = "35e356f625d254f44c14f720c0eb9216297d35c2";
-    sha256 = "b7fd74a914d7c4e2999ac20432a7f2af5d6c7af5e75a367bc3babe03e4576c86";
+    rev = "a3c90f2b24434aa36f782aca3950fd89af01fce0";
+    sha256 = "01qa58vq299xzxzxrcqkl51k8396wh56674d9wjmkv2msxx877hi";
   };
 
-  patches = [ ./0001-lib-Add-VFS5011-driver.patch ];
-
   buildInputs = [ libusb glib nss nspr pixman ];
   nativeBuildInputs = [ libtool autoconf automake113x pkgconfig ];
 
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index eef6ea1541f8..9583696df43e 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
-    sha256 = "1ww6d6myir37fm6pk0n77kdx5hi13yaiymxcs9mf97amdyl58cgw";
+    sha256 = "154qs3j1k72xn8p5vgjcwvywkskxz0j145cgvlcw7d5xfwr1jq3j";
   };
 
   nativeBuildInputs = [ pkgconfig gettext ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras.
     '';
-    version = "2.5.6";
+    version = "2.5.7";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/libiberty/default.nix b/pkgs/development/libraries/libiberty/default.nix
index b4c256fb340f..70d6b24cbfc5 100644
--- a/pkgs/development/libraries/libiberty/default.nix
+++ b/pkgs/development/libraries/libiberty/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "4.8.3";
+  version = "4.8.4";
   name = "libiberty-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka";
+    sha256 = "15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a";
   };
 
   postUnpack = "sourceRoot=\${sourceRoot}/libiberty";
diff --git a/pkgs/development/libraries/libmikmod/default.nix b/pkgs/development/libraries/libmikmod/default.nix
index 8ef95650ce68..3e95f944caf4 100644
--- a/pkgs/development/libraries/libmikmod/default.nix
+++ b/pkgs/development/libraries/libmikmod/default.nix
@@ -1,10 +1,13 @@
 { stdenv, fetchurl, texinfo }:
+
 stdenv.mkDerivation rec {
-  name = "libmikmod-3.2.0";
+  name = "libmikmod-3.3.7";
+
   src = fetchurl {
-    url = "http://mikmod.shlomifish.org/files/${name}.tar.gz";
-    sha256 = "07k6iyx6pyzisncgdkd071w2dhm3rx6l34hbja3wbc7rpf888k3k";
+    url = "http://downloads.sourceforge.net/project/mikmod/libmikmod/3.3.7/libmikmod-3.3.7.tar.gz";
+    sha256 = "18nrkf5l50hfg0y50yxr7bvik9f002lhn8c00nbcp6dgm5011x2c";
   };
+
   buildInputs = [ texinfo ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libodfgen/default.nix b/pkgs/development/libraries/libodfgen/default.nix
index 4f4a028176fc..c5491f96bb54 100644
--- a/pkgs/development/libraries/libodfgen/default.nix
+++ b/pkgs/development/libraries/libodfgen/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libodfgen";
-    version="0.1.2";
+    version="0.1.3";
     name="${baseName}-${version}";
-    hash="05f0l90a715kw6n1hbq393alwyjipyp0dcqqqrwm2l0s4p151bpd";
-    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.2/libodfgen-0.1.2.tar.xz";
-    sha256="05f0l90a715kw6n1hbq393alwyjipyp0dcqqqrwm2l0s4p151bpd";
+    hash="1flfh1i4r116aqdlqpgpmyzpcylwba48l7mddj25a2cwgsc9v86k";
+    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.3/libodfgen-0.1.3.tar.xz";
+    sha256="1flfh1i4r116aqdlqpgpmyzpcylwba48l7mddj25a2cwgsc9v86k";
   };
   buildInputs = [
     boost pkgconfig cppunit zlib libwpg libwpd librevenge
diff --git a/pkgs/development/libraries/libpst/default.nix b/pkgs/development/libraries/libpst/default.nix
new file mode 100644
index 000000000000..d4b602c90171
--- /dev/null
+++ b/pkgs/development/libraries/libpst/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, autoconf, automake, libtool, boost, python, libgsf,
+  pkgconfig, bzip2, xmlto, gettext, imagemagick, doxygen }:
+
+stdenv.mkDerivation rec {
+  name = "libpst-0-6-63";
+
+  src = fetchurl {
+      url = http://www.five-ten-sg.com/libpst/packages/libpst-0.6.63.tar.gz;
+      sha256 = "0qih919zk40japs4mpiaw5vyr2bvwz60sjf23gixd5vvzc32cljz";
+    };
+
+  buildInputs = [ autoconf automake libtool boost python libgsf pkgconfig bzip2
+		  xmlto gettext imagemagick doxygen ];
+
+  preConfigure = ''
+    autoreconf -v -f -i
+  '';
+
+  doCheck = true;
+
+  meta = {
+    homepage = http://www.five-ten-sg.com/libpst/;
+    description = "A library to read PST (MS Outlook Personal Folders) files";
+    license = stdenv.lib.licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index af3d03cc661b..ae501f90cec5 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libsodium-0.7.0";
+  name = "libsodium-1.0.2";
 
   src = fetchurl {
     url = "https://download.libsodium.org/libsodium/releases/${name}.tar.gz";
-    sha256 = "0s4iis5h7yh27kamwic3rddyp5ra941bcqcawa37grjvl78zzjjc";
+    sha256 = "06dabf77cz6qg7aqv5j5r4m32b5zn253pixwb3k5lm3z0h88y7cn";
   };
 
   NIX_LDFLAGS = "-lssp";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "Version of NaCl with harwdare tests at runtime, not build time";
+    description = "Version of NaCl with hardware tests at runtime, not build time";
     license = stdenv.lib.licenses.isc;
     maintainers = with stdenv.lib.maintainers; [ viric ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/libunique/3.x.nix b/pkgs/development/libraries/libunique/3.x.nix
new file mode 100644
index 000000000000..eea8d70e15da
--- /dev/null
+++ b/pkgs/development/libraries/libunique/3.x.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig
+, dbus, dbus_glib, gtk3, gobjectIntrospection
+, gtkdoc, docbook_xml_dtd_45, docbook_xsl
+, libxslt, libxml2 }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  majorVer = "3.0";
+  minorVer = "2";
+  version = "${majorVer}.${minorVer}";
+  name = "libunique3-${version}";
+  srcName = "libunique-${version}";  
+
+  src = fetchurl {
+    url = "http://ftp.gnome.org/pub/GNOME/sources/libunique/${majorVer}/${srcName}.tar.xz";
+    sha256 = "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58";
+  };
+
+  buildInputs = [ pkgconfig dbus dbus_glib gtk3 gobjectIntrospection gtkdoc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ];
+
+  meta = {
+    homepage = https://wiki.gnome.org/Attic/LibUnique;
+    description = "A library for writing single instance applications";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/development/libraries/libunwind/native.nix b/pkgs/development/libraries/libunwind/native.nix
new file mode 100644
index 000000000000..6ce485ecaec0
--- /dev/null
+++ b/pkgs/development/libraries/libunwind/native.nix
@@ -0,0 +1,17 @@
+{ stdenv }:
+
+assert stdenv.isDarwin;
+
+stdenv.mkDerivation {
+  name = "libunwind-native";
+
+  unpackPhase = ":";
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cat /usr/lib/system/libunwind.dylib > $out/lib/libunwind.dylib
+  '';
+
+  meta.platforms = stdenv.lib.platforms.darwin;
+}
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index d8477c5fca0f..87b4d82efc63 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Extract Cell Data From Excel xls files";
-    homepage = http://libxls.sourceforge.net/;
+    homepage = http://sourceforge.net/projects/libxls/;
     license = licenses.bsd2;
     platforms = platforms.unix;
     maintainers = maintainers.abbradar;
diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix
index 0c67a194f58b..653f07bd716b 100644
--- a/pkgs/development/libraries/ntdb/default.nix
+++ b/pkgs/development/libraries/ntdb/default.nix
@@ -6,7 +6,10 @@ stdenv.mkDerivation rec {
   name = "ntdb-1.0";
 
   src = fetchurl {
-    url = "http://samba.org/ftp/tdb/${name}.tar.gz";
+    urls = [
+      "http://samba.org/ftp/tdb/${name}.tar.gz"
+      "http://ftp.riken.jp/net/samba/tdb/${name}.tar.gz"
+    ];
     sha256 = "0jdzgrz5sr25k83yrw7wqb3r0yj1v04z4s3lhsmnr5z6n5ifhyl1";
   };
 
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
new file mode 100644
index 000000000000..cd7cc2e55057
--- /dev/null
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchgit, pkgs }:
+
+stdenv.mkDerivation rec {
+  version = "0.8.5";
+  name = "rdkafka";
+
+  # Maintenance repo for libtar (Arch Linux uses this)
+  src = fetchgit {
+    url = "https://github.com/edenhill/librdkafka.git";
+    rev = "refs/tags/${version}";
+    sha256 = "05a83hmpz1xmnln0wa7n11ijn08zxijdvpdswyymxbdlg69w31y1";
+  };
+
+  patchPhase = "patchShebangs .";
+  
+  buildInputs = [ pkgs.zlib pkgs.perl ];
+
+  meta = with stdenv.lib; {
+    description = "librdkafka - Apache Kafka C/C++ client library";
+    homepage = "https://github.com/edenhill/librdkafka";
+    license = licenses.bsd2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.boothead ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
index 6b82024409a2..5443a53bc9ce 100644
--- a/pkgs/development/libraries/science/math/ipopt/default.nix
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, unzip, blas, liblapack, gfortran }:
 
 stdenv.mkDerivation rec {
-  version = "3.11.9";
+  version = "3.12.0";
   name = "ipopt-${version}";
 
   src = fetchurl {
     url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
-    sha256 = "0sji4spl5dhw1s3f9y0ym09gi7d1c8wldn6wbiap4q8dq7cvklq5";
+    sha256 = "18p1ad64mpliba1hf6jkyyrd0srxsqivwbcnbrr09jfpn4jn4bbr";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index b7ddd6e819d2..778cf8a8d7b7 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -6,7 +6,10 @@ stdenv.mkDerivation rec {
   name = "tdb-1.3.4";
 
   src = fetchurl {
-    url = "http://samba.org/ftp/tdb/${name}.tar.gz";
+    urls = [
+      "http://samba.org/ftp/tdb/${name}.tar.gz"
+      "http://distfiles.exherbo.org/distfiles/${name}.tar.gz"
+    ];
     sha256 = "0a8pa4ar7dxkbsgv1447av2rn35a1m6l1v2s9hgz3ccwni9wv1gm";
   };
 
diff --git a/pkgs/development/libraries/xlslib/default.nix b/pkgs/development/libraries/xlslib/default.nix
index 760f9cdc5745..602e71150174 100644
--- a/pkgs/development/libraries/xlslib/default.nix
+++ b/pkgs/development/libraries/xlslib/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, unzip }:
+{ stdenv, fetchurl, autoreconfHook, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "2.4.0";
+  version = "2.5.0";
   name = "xlslib-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/xlslib/xlslib-package-${version}.zip";
-    sha256 = "0h7qhxcc55cz3jvrfv4scjnzf5w9g97wigyviandi4ag54qjxjdc";
+    sha256 = "1wx3jbpkz2rvgs45x6mwawamd1b2llb0vn29b5sr0rfxzx9d1985";
   };
 
-  nativeBuildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip autoreconfHook ];
 
   setSourceRoot = "export sourceRoot=xlslib/xlslib";
 
diff --git a/pkgs/development/libraries/zookeeper_mt/default.nix b/pkgs/development/libraries/zookeeper_mt/default.nix
new file mode 100644
index 000000000000..c22bb645be27
--- /dev/null
+++ b/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, zookeeper, bash }:
+
+stdenv.mkDerivation rec {
+   name = "zookeeper_mt";
+   
+   src = zookeeper.src;
+   
+   setSourceRoot = "export sourceRoot=${zookeeper.name}/src/c";
+
+   buildInputs = [ zookeeper bash ];
+
+   meta = with stdenv.lib; {
+   	homepage = "http://zookeeper.apache.org";
+   	description = "Apache Zookeeper";
+   	license = licenses.asl20;
+   	maintainers = [ maintainers.boothead ];	
+   	platforms = platforms.unix;	
+   };
+}
+
diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix
index 3c2fae472bec..935d3a566486 100644
--- a/pkgs/development/ocaml-modules/zed/default.nix
+++ b/pkgs/development/ocaml-modules/zed/default.nix
@@ -1,15 +1,15 @@
-{stdenv, fetchurl, ocaml, findlib, camomile, ocaml_react}:
+{ stdenv, fetchzip, ocaml, findlib, camomile, ocaml_react }:
 
 stdenv.mkDerivation rec {
-  version = "1.3";
+  version = "1.4";
   name = "ocaml-zed-${version}";
 
-  src = fetchurl {
-    url = https://github.com/diml/zed/archive/1.3.tar.gz;
-    sha256 = "1fr9xzf5msdnl2wx279aqj051nqbhs6v9aq1mfpv3r1mrqvrrfwj";
+  src = fetchzip {
+    url = "https://github.com/diml/zed/archive/${version}.tar.gz";
+    sha256 = "0d8qfy0qiydrrqi8qc9rcwgjigql6vx9gl4zp62jfz1lmjgb2a3w";
   };
 
-  buildInputs = [ ocaml findlib ocaml_react];
+  buildInputs = [ ocaml findlib ocaml_react ];
 
   propagatedBuildInputs = [ camomile ];
 
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 9fb9b5c5f867..90dab874e18e 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "6.2";
+  version = "6.3";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/checkstyle/${version}/${name}-bin.tar.gz";
-    sha256 = "1pd03hl3c70g1hfs085c0x6c2k3jfh9z4akckh43ha9yv67ib095";
+    sha256 = "181wm6yxyf9dsp1dgy7bpjz5j72a5fc818293k5mxr8g1gf0s3f4";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 45dffe06676b..60a941a66375 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -1,9 +1,11 @@
 { stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive
-, useNcurses ? false, ncurses, useQt4 ? false, qt4
+, useNcurses ? false, ncurses, useQt4 ? false, qt4, wantPS ? false, ps ? null
 }:
 
 with stdenv.lib;
 
+assert wantPS -> (ps != null);
+
 let
   os = stdenv.lib.optionalString;
   majorVersion = "2.8";
@@ -43,6 +45,8 @@ stdenv.mkDerivation rec {
     ++ optional useNcurses ncurses
     ++ optional useQt4 qt4;
 
+  propagatedBuildInputs = optional wantPS ps;
+
   CMAKE_PREFIX_PATH = stdenv.lib.concatStringsSep ":" buildInputs;
   
   configureFlags =
diff --git a/pkgs/development/tools/godep/default.nix b/pkgs/development/tools/godep/default.nix
new file mode 100644
index 000000000000..2dd4ce351222
--- /dev/null
+++ b/pkgs/development/tools/godep/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, go, fetchurl, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "ddd7fbf";
+  name = "godep-${version}";
+
+  src = import ./deps.nix {
+    inherit stdenv lib fetchgit fetchFromGitHub;
+  };
+
+  buildInputs = [ go ];
+
+  buildPhase = ''
+    export GOPATH=$src
+    go build -v -o godep github.com/tools/godep
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv godep $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Ddependency tool for go";
+    homepage = https://github.com/tools/godep;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ offline ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/godep/deps.nix b/pkgs/development/tools/godep/deps.nix
new file mode 100644
index 000000000000..e0369c9476d4
--- /dev/null
+++ b/pkgs/development/tools/godep/deps.nix
@@ -0,0 +1,59 @@
+# This file was generated by go2nix.
+{ stdenv, lib, fetchFromGitHub, fetchgit }:
+
+let
+  goDeps = [
+    {
+      root = "github.com/kr/fs";
+      src = fetchgit {
+        url = "https://github.com/kr/fs.git";
+        rev = "2788f0dbd16903de03cb8186e5c7d97b69ad387b";
+        sha256 = "1c0fipl4rsh0v5liq1ska1dl83v3llab4k6lm8mvrx9c4dyp71ly";
+      };
+    }
+    {
+      root = "github.com/tools/godep";
+      src = fetchgit {
+        url = "https://github.com/tools/godep.git";
+        rev = "0baa7ea464025b2cb8e84b13c5ac4da99237a1bf";
+        sha256 = "10hr10fj6ymmfzwjg5drf7j0f4mrpb4p97a01rqp7xvfv5j0zisj";
+      };
+    }
+    {
+      root = "golang.org/x/net";
+      src = fetchgit {
+        url = "https://go.googlesource.com/net";
+        rev = "8b2d0ae1f4c3b83c10ff17e89a89ff04cc0903c3";
+        sha256 = "0nxawxhq7yysbrrd88hkqzfr5hvsqpd452yzi53cp1afzma3zjay";
+      };
+    }
+    {
+      root = "golang.org/x/text";
+      src = fetchgit {
+        url = "https://go.googlesource.com/text";
+        rev = "bfad311ce93436dc888b40d76c78f99dc3104473";
+        sha256 = "1mbhp5q24drz2l2x6ib3180i42f9015ry80bn7jhr7rwizvyp6lh";
+      };
+    }
+    {
+      root = "golang.org/x/tools";
+      src = fetchgit {
+        url = "https://go.googlesource.com/tools";
+        rev = "3ecc311976cc3f7c7b7a50314929bdc1b07c4c9d";
+        sha256 = "0ic3lrg6ykxrlnzcway4ka280n052qysjawf4lvj8gl3r1vlmwfg";
+      };
+    }
+  ];
+
+in
+
+stdenv.mkDerivation rec {
+  name = "go-deps";
+
+  buildCommand =
+    lib.concatStrings
+      (map (dep: ''
+              mkdir -p $out/src/`dirname ${dep.root}`
+              ln -s ${dep.src} $out/src/${dep.root}
+            '') goDeps);
+}
diff --git a/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix b/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix
new file mode 100644
index 000000000000..4ce78c31fe2f
--- /dev/null
+++ b/pkgs/development/tools/haskell/ihaskell/ng-wrapper.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildEnv, ghcWithPackages, makeWrapper, ihaskell, ipython, packages }:
+let
+  ihaskellEnv = ghcWithPackages (self: [
+    self.ihaskell
+    self.ihaskell-blaze
+    self.ihaskell-diagrams
+    self.ihaskell-display
+  ] ++ packages self);
+  profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
+  drv = buildEnv {
+    name = "ihaskell-with-packages";
+    paths = [ ihaskellEnv ipython ];
+    postBuild = ''
+    tar xf ${ihaskell.src} ${profile}
+    mkdir -p $out/share/`dirname ${profile}`
+    mkdir profile
+    cd profile
+    tar xf ../${profile}
+    for cfg in ipython_*config.py;do
+      sed -i -e "1iexe = '${ihaskell}/bin/IHaskell'" $cfg
+    done
+    tar cf $out/share/${profile} .
+    wrapProgram "$out/bin/IHaskell" \
+      --prefix PATH : "${ihaskellEnv}/bin:${ipython}/bin" \
+      --set PROFILE_DIR "\$HOME/.ipython/profile_haskell" \
+      --set PROFILE_TAR "$out/share/${profile}" \
+      --set PROFILE_INIT "\$([ ! -d \$PROFILE_DIR ] \
+          && mkdir -p \$PROFILE_DIR \
+          && tar xf \$PROFILE_TAR -C \$PROFILE_DIR \
+          ; [ -d \$PROFILE_DIR ] && for cfg in \$PROFILE_DIR/ipython_*config.py;do \
+            sed -i -e '/.*exe.*IHaskell.*/d' \$cfg; sed -i -e \"1iexe = '${ihaskell}/bin/IHaskell'\" \$cfg;done )" \
+      --set GHC_PACKAGE_PATH "\$(echo $out/lib/*/package.conf.d| tr ' ' ':'):" \
+    '';
+  };
+in stdenv.lib.overrideDerivation drv (x : { buildInputs = x.buildInputs ++ [ makeWrapper ]; })
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 9a16ec987950..2d8d4f9bcd75 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gettext, LocaleGettext, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.46.4";
+  name = "help2man-1.46.5";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "0csn7jx7nhlrflalw1992p3l5afawlpdyjdff2q5bk5hadgz3rqs";
+    sha256 = "1gqfqgxq3qgwnldjz3i5mxvzyx2w3j042r3fw1wygic3f6327nha";
   };
 
   buildInputs = [ makeWrapper perl gettext LocaleGettext ];
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index 073de5137f85..8b89e8ae82db 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, gox, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "packer-0.6.0";
+  name = "packer-0.7.5";
 
   src = import ./deps.nix {
     inherit stdenv lib fetchgit fetchhg fetchbzr fetchFromGitHub;
diff --git a/pkgs/development/tools/packer/deps.nix b/pkgs/development/tools/packer/deps.nix
index ce56ecad8a28..e2272574f81e 100644
--- a/pkgs/development/tools/packer/deps.nix
+++ b/pkgs/development/tools/packer/deps.nix
@@ -1,44 +1,44 @@
-{ stdenv, lib, fetchgit, fetchhg, fetchbzr, fetchFromGitHub }:
+# This file was generated by go2nix.
+{ stdenv, lib, fetchFromGitHub, fetchgit, fetchhg, fetchbzr }:
 
 let
   goDeps = [
     {
-      root = "github.com/mitchellh/packer";
-      src = fetchFromGitHub {
-        owner = "mitchellh";
-        repo = "packer";
-        rev = "12e28f257f66299e3bb13a053bf06ccd236e7efd";
-        sha256 = "1r5j864kr7lx137c23kk5s82znk11hsrgq98zfz5r8sbzq1xpbzw";
-      };
-    }
-    {
       root = "code.google.com/p/go.crypto";
       src = fetchhg {
-        url = "http://code.google.com/p/go.crypto";
-        rev = "199";
-        sha256 = "0ibrpc6kknzl6a2g2fkxn03mvrd635lcnvf4a9rk1dfrpjbpcixh";
+        url = "https://code.google.com/p/go.crypto";
+        rev = "235";
+        sha256 = "0b3nlkhmraj84n9mhg5nqcd3815ipyj1xx1yzkajcdf2pz2ym4l6";
       };
     }
     {
       root = "code.google.com/p/goauth2";
       src = fetchhg {
-        url = "http://code.google.com/p/goauth2";
-        rev = "67";
-        sha256 = "053vajj8hd9869by7z9qfgzn84h6avpcjvyxcyw5jml8dsln4bah";
+        url = "https://code.google.com/p/goauth2";
+        rev = "80";
+        sha256 = "0xgkgcb97hv2rvzvh21rvydq5cc83j7sdsdb1chrymq8k7l4dzc1";
       };
     }
     {
       root = "code.google.com/p/google-api-go-client";
       src = fetchhg {
-        url = "http://code.google.com/p/google-api-go-client";
-        rev = "111";
-        sha256 = "1ib8i1c2mb86lkrr5w7bgwb70gkqmp860wa3h1j8080gxdx3yy16";
+        url = "https://code.google.com/p/google-api-go-client";
+        rev = "135";
+        sha256 = "17a0mlq76cmgv84xh5vjzi72r6rjq0abl6gv3zkbmj3cphl9cis9";
+      };
+    }
+    {
+      root = "code.google.com/p/goprotobuf";
+      src = fetchhg {
+        url = "https://code.google.com/p/goprotobuf";
+        rev = "267";
+        sha256 = "0kamslfmxs6hi9ww52izmsq48ldaf67xawwhzwwdsbslhv0b9lf7";
       };
     }
     {
       root = "code.google.com/p/gosshold";
       src = fetchhg {
-        url = "http://code.google.com/p/gosshold";
+        url = "https://code.google.com/p/gosshold";
         rev = "2";
         sha256 = "1ljl8pcxxfz5rv89b2ajd31gxxzifl57kzpksvdhyjdxh98gkvg8";
       };
@@ -48,25 +48,17 @@ let
       src = fetchFromGitHub {
         owner = "ActiveState";
         repo = "tail";
-        rev = "8dcd1ad3e57aa8ce5614a837cbbdb21945fbb55a";
-        sha256 = "1jxj576dd7mawawwg5nzwf6k7sks0r3lp2x8f6kxaps50n3k1wiz";
+        rev = "068b72961a6bc5b4a82cf4fc14ccc724c0cfa73a";
+        sha256 = "08zwlrsyr75cqdar51cihhp1qfm6wnn03i9srdkyzllw4zfymcd2";
       };
     }
     {
-      root = "github.com/howeyc/fsnotify";
+      root = "github.com/bmizerany/assert";
       src = fetchFromGitHub {
-        owner = "howeyc";
-        repo = "fsnotify";
-        rev = "441bbc86b167f3c1f4786afae9931403b99fdacf";
-        sha256 = "1v5vrwhmidxjj6sppinyizf85v60zrmn7i6c9xk0pvx6k0kw2mr2";
-      };
-    }
-    {
-      root = "launchpad.net/tomb";
-      src = fetchbzr {
-        url = "https://launchpad.net/tomb";
-        rev = "17";
-        sha256 = "1cjw0sr9hald1darq6n8akfpkzcgrk3mcq59hga3ibf2lrg35ha0";
+        owner = "bmizerany";
+        repo = "assert";
+        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
+        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
       };
     }
     {
@@ -79,73 +71,102 @@ let
       };
     }
     {
-      root = "code.google.com/p/goprotobuf";
-      src = fetchhg {
-        url = "http://code.google.com/p/goprotobuf";
-        rev = "246";
-        sha256 = "0k4wcv1dnkwcp0gdrajj6kr25f1lg4lgpbi0h5v9l9n7sdwzplf4";
+      root = "github.com/golang/protobuf";
+      src = fetchFromGitHub {
+        owner = "golang";
+        repo = "protobuf";
+        rev = "a11b6342f0e28eab4059c0cabbad38cef38b9b6e";
+        sha256 = "1bjig0bwgw1r56r8paskm880lw36nh4c6n64v4ww6mszwmk7dkn7";
       };
     }
     {
-      root = "github.com/bmizerany/assert";
+      root = "github.com/hashicorp/atlas-go";
       src = fetchFromGitHub {
-        owner = "bmizerany";
-        repo = "assert";
-        rev = "e17e99893cb6509f428e1728281c2ad60a6b31e3";
-        sha256 = "1lfrvqqmb09y6pcr76yjv4r84cshkd4s7fpmiy7268kfi2cvqnpc";
+        owner = "hashicorp";
+        repo = "atlas-go";
+        rev = "137646809ce33b755be51e5e82b40775217ff74d";
+        sha256 = "06ilw0bwd3ijfcpkg84j3q9gwgllzwg0g6gab3w08cn1p49jicjg";
       };
     }
     {
-      root = "github.com/kr/pretty";
+      root = "github.com/hashicorp/go-checkpoint";
       src = fetchFromGitHub {
-        owner = "kr";
-        repo = "pretty";
-        rev = "bc9499caa0f45ee5edb2f0209fbd61fbf3d9018f";
-        sha256 = "1m61y592qsnwsqn76v54mm6h2pcvh4wlzbzscc1ag645x0j33vvl";
+        owner = "hashicorp";
+        repo = "go-checkpoint";
+        rev = "efefdc69845f7fa7245d20827d31fb27b848d955";
+        sha256 = "1vpi414bw3rsyg5rx52hpvjhnk2qazmsvl3f13g79zwwkvbj2vvq";
       };
     }
     {
-      root = "github.com/kr/text";
+      root = "github.com/hashicorp/go-msgpack";
       src = fetchFromGitHub {
-        owner = "kr";
-        repo = "text";
-        rev = "6807e777504f54ad073ecef66747de158294b639";
-        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
+        owner = "hashicorp";
+        repo = "go-msgpack";
+        rev = "71c2886f5a673a35f909803f38ece5810165097b";
+        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
       };
     }
     {
-      root = "github.com/kr/pty";
+      root = "github.com/hashicorp/go-version";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "go-version";
+        rev = "bb92dddfa9792e738a631f04ada52858a139bcf7";
+        sha256 = "0fl5a6j6nk1xsxwjdpa24a24fxvgnvm3jjlgpyrnmbdn380zil3m";
+      };
+    }
+    {
+      root = "github.com/hashicorp/yamux";
+      src = fetchFromGitHub {
+        owner = "hashicorp";
+        repo = "yamux";
+        rev = "9feabe6854fadca1abec9cd3bd2a613fe9a34000";
+        sha256 = "03lgbhwhiqk6rivc5cl6zxph5n2pdbdz95h0x7m0ngp3yk3aqgan";
+      };
+    }
+    {
+      root = "github.com/howeyc/fsnotify";
+      src = fetchFromGitHub {
+        owner = "howeyc";
+        repo = "fsnotify";
+        rev = "4894fe7efedeeef21891033e1cce3b23b9af7ad2";
+        sha256 = "09r3h200nbw8a4d3rn9wxxmgma2a8i6ssaplf3zbdc2ykizsq7mn";
+      };
+    }
+    {
+      root = "github.com/kr/pretty";
       src = fetchFromGitHub {
         owner = "kr";
-        repo = "pty";
-        rev = "67e2db24c831afa6c64fc17b4a143390674365ef";
-        sha256 = "1l3z3wbb112ar9br44m8g838z0pq2gfxcp5s3ka0xvm1hjvanw2d";
+        repo = "pretty";
+        rev = "cb0850c1681cbca3233e84f7e6ec3e4c3f352085";
+        sha256 = "0j3jd7qlfv6iw7icn66y1fpdn88ri29n9qv9di92mkc6vjw4ifb1";
       };
     }
     {
-      root = "github.com/xiocode/toolkit";
+      root = "github.com/kr/pty";
       src = fetchFromGitHub {
-        owner = "xiocode";
-        repo = "toolkit";
-        rev = "352fd7c6700074a81056cdfc9e82b3e8c5681ac5";
-        sha256 = "0p33zh57xpxyk2wyp9xahdxyrkq48ysihpr0n9kj713q0dh7x4a3";
+        owner = "kr";
+        repo = "pty";
+        rev = "05017fcccf23c823bfdea560dcc958a136e54fb7";
+        sha256 = "0f7xa8lkazif2jzacryryrg8rqz5lfl3j7hqvnis4qa8cjy5dpqb";
       };
     }
     {
-      root = "launchpad.net/gocheck";
-      src = fetchbzr {
-        url = "https://launchpad.net/gocheck";
-        rev = "87";
-        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
+      root = "github.com/kr/text";
+      src = fetchFromGitHub {
+        owner = "kr";
+        repo = "text";
+        rev = "6807e777504f54ad073ecef66747de158294b639";
+        sha256 = "1wkszsg08zar3wgspl9sc8bdsngiwdqmg3ws4y0bh02sjx5a4698";
       };
     }
     {
-      root = "github.com/hashicorp/go-version";
+      root = "github.com/mitchellh/cli";
       src = fetchFromGitHub {
-        owner = "hashicorp";
-        repo = "go-version";
-        rev = "bb92dddfa9792e738a631f04ada52858a139bcf7";
-        sha256 = "0fl5a6j6nk1xsxwjdpa24a24fxvgnvm3jjlgpyrnmbdn380zil3m";
+        owner = "mitchellh";
+        repo = "cli";
+        rev = "e3c2e3d39391e9beb9660ccd6b4bd9a2f38dd8a0";
+        sha256 = "1fwf7wmlhri19bl2yyjd4zlgndgwwqrdry45clpszzjsr8b5wfgm";
       };
     }
     {
@@ -171,17 +192,17 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "goamz";
-        rev = "c3ff5f734c89f1ea1f290c6aadbbceeeb19a623c";
-        sha256 = "1nyi1p5yh21r161icnwkcgmj2y38b4m1jis47vvjbqinrp45w1gq";
+        rev = "6932a73f35dfdd5489a95284552c0ae868be0944";
+        sha256 = "03hbakfxvxkj1r0xy2c4b8xpb7bw6nbryyxpwlii6qv7gsx478yw";
       };
     }
     {
-      root = "github.com/motain/gocheck";
+      root = "github.com/mitchellh/gophercloud-fork-40444fb";
       src = fetchFromGitHub {
-        owner = "motain";
-        repo = "gocheck";
-        rev = "9beb271d26e640863a5bf4a3c5ea40ccdd466b84";
-        sha256 = "07arpwfdb51b5f7kzqnm5s5ndfmxv5j793hpn30nbdcya46diwjd";
+        owner = "mitchellh";
+        repo = "gophercloud-fork-40444fb";
+        rev = "40444fbc2b10960682b34e6822eb9179216e1ae1";
+        sha256 = "06bm7hfi03c75npzy51wbl9qyln35c3kzj9yn2w4fhn0k9dia9s3";
       };
     }
     {
@@ -198,8 +219,8 @@ let
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "mapstructure";
-        rev = "743fcf103ac7cdbc159e540d9d0e3a7889b87d68";
-        sha256 = "1qqxsnxabd7c04n0ip1wmpr2g913qchqrbmblq0shrf5p1hnszgn";
+        rev = "442e588f213303bec7936deba67901f8fc8f18b1";
+        sha256 = "076svhy5jlnw4jykm3dsrx2dswifajrpr7d09mz9y6g3lg901rqd";
       };
     }
     {
@@ -221,21 +242,39 @@ let
       };
     }
     {
+      root = "github.com/mitchellh/packer";
+      src = fetchFromGitHub {
+        owner = "mitchellh";
+        repo = "packer";
+        rev = "e3c2f01cb8d8f759c02bd3cfc9d27cc1a941d498";
+        sha256 = "0sp2qjdsf0cqmw11a3vfs9alyz76vf415vv71bwdarfagz466inw";
+      };
+    }
+    {
       root = "github.com/mitchellh/panicwrap";
       src = fetchFromGitHub {
         owner = "mitchellh";
         repo = "panicwrap";
-        rev = "1aedff2aaa8b8ff7f65ab58e94ef9f593e2e3bf4";
-        sha256 = "05brbpc7kizzbs1a128fmjddh7rdyg0jzzxgbvrl58cgklh4yzaa";
+        rev = "45cbfd3bae250c7676c077fb275be1a2968e066a";
+        sha256 = "0mbha0nz6zcgp2pny2x03chq1igf9ylpz55xxq8z8g2jl6cxaghn";
       };
     }
     {
-      root = "github.com/rackspace/gophercloud";
+      root = "github.com/mitchellh/prefixedio";
       src = fetchFromGitHub {
-        owner = "rackspace";
-        repo = "gophercloud";
-        rev = "2285a429874c1365ef6c6d3ceb08b1d428e26aca";
-        sha256 = "0py3h64r4wkl2r9j7xlh81nazpg2b0r5ba9iblh6d1380yk4fa7f";
+        owner = "mitchellh";
+        repo = "prefixedio";
+        rev = "89d9b535996bf0a185f85b59578f2e245f9e1724";
+        sha256 = "0lc64rlizb412msd32am2fixkh0536pjv7czvgyw5fskn9kgk3y2";
+      };
+    }
+    {
+      root = "github.com/motain/gocheck";
+      src = fetchFromGitHub {
+        owner = "motain";
+        repo = "gocheck";
+        rev = "9beb271d26e640863a5bf4a3c5ea40ccdd466b84";
+        sha256 = "07arpwfdb51b5f7kzqnm5s5ndfmxv5j793hpn30nbdcya46diwjd";
       };
     }
     {
@@ -243,8 +282,26 @@ let
       src = fetchFromGitHub {
         owner = "racker";
         repo = "perigee";
-        rev = "01db3191866051f2ec854c2d876ac1a179d3049c";
-        sha256 = "05pmlgwjynbr59bw50zhrklzhr5pgnij9ym5hqvijjrpw3qd9ivf";
+        rev = "44a7879d89b7040bcdb51164a83292ef5bf9deec";
+        sha256 = "04wscffagpbcfjs6br96n46aqy43cq6ndq16nlpvank0m98jaax0";
+      };
+    }
+    {
+      root = "github.com/rackspace/gophercloud";
+      src = fetchFromGitHub {
+        owner = "rackspace";
+        repo = "gophercloud";
+        rev = "d7f07fc0a7ff4b608c6f9e34197930093c7c7ee1";
+        sha256 = "1cyfvynwl5z6f9s0lmj92mhsriy7nl7kq5f8jay67wmdn0nhyybs";
+      };
+    }
+    {
+      root = "github.com/rasa/oauth2-fork-b3f9a68";
+      src = fetchFromGitHub {
+        owner = "rasa";
+        repo = "oauth2-fork-b3f9a68";
+        rev = "94a7bc9691e0841393b875eaad68fbfd069b2a18";
+        sha256 = "101bv0zwbchdql86x8c4qhvmlahkfcw4bnqw7v8hihqxd5zf9fxp";
       };
     }
     {
@@ -252,8 +309,26 @@ let
       src = fetchFromGitHub {
         owner = "ugorji";
         repo = "go";
-        rev = "71c2886f5a673a35f909803f38ece5810165097b";
-        sha256 = "157f24xnkhclrjwwa1b7lmpj112ynlbf7g1cfw0c657iqny5720j";
+        rev = "39815c8993d27d88435f3d267be35a6d26e43f03";
+        sha256 = "1g5nbcs3900chwv0jz1a9x0s3scxjhksi1268w112mq2k1rinq3j";
+      };
+    }
+    {
+      root = "github.com/ugorji/go-msgpack";
+      src = fetchFromGitHub {
+        owner = "ugorji";
+        repo = "go-msgpack";
+        rev = "75092644046c5e38257395b86ed26c702dc95b92";
+        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+      };
+    }
+    {
+      root = "github.com/vaughan0/go-ini";
+      src = fetchFromGitHub {
+        owner = "vaughan0";
+        repo = "go-ini";
+        rev = "a98ad7ee00ec53921f08832bc06ecf7fd600e6a1";
+        sha256 = "1l1isi3czis009d9k5awsj4xdxgbxn4n9yqjc1ac7f724x6jacfa";
       };
     }
     {
@@ -261,17 +336,89 @@ let
       src = fetchFromGitHub {
         owner = "vmihailenco";
         repo = "msgpack";
-        rev = "20c1b88a6c7fc5432037439f4e8c582e236fb205";
-        sha256 = "1dj5scpfhgnw0yrh0w6jlrb9d03halvsv4l3wgjhazrrimdqf0q0";
+        rev = "1efcd9943dd320d41d8a00189e568d794f1b4e78";
+        sha256 = "0brbrss7hja2d06cca633ggn5jawqwb8p0prp5cg1m26w9f3hzis";
       };
     }
     {
-      root = "github.com/ugorji/go-msgpack";
+      root = "github.com/xiocode/toolkit";
       src = fetchFromGitHub {
-        owner = "ugorji";
-        repo = "go-msgpack";
-        rev = "75092644046c5e38257395b86ed26c702dc95b92";
-        sha256 = "1bmqi16bfiqw7qhb3d5hbh0dfzhx2bbq1g15nh2pxwxckwh80x98";
+        owner = "xiocode";
+        repo = "toolkit";
+        rev = "352fd7c6700074a81056cdfc9e82b3e8c5681ac5";
+        sha256 = "0p33zh57xpxyk2wyp9xahdxyrkq48ysihpr0n9kj713q0dh7x4a3";
+      };
+    }
+    {
+      root = "golang.org/x/crypto";
+      src = fetchgit {
+        url = "https://go.googlesource.com/crypto";
+        rev = "bfc286917c5fcb7420d7e3092b50bbfd31b38a98";
+        sha256 = "04ryvpbd2z4q4wqaffmj4wc541y744rfjg6arhwf4qn64r171am0";
+      };
+    }
+    {
+      root = "golang.org/x/net";
+      src = fetchgit {
+        url = "https://go.googlesource.com/net";
+        rev = "2033b3a5e8688bdd590c647ca70a12384ddc6824";
+        sha256 = "06zla6nja6af735b2rskb5l2pjggw99v05fl4n306dcnvwj3gvg6";
+      };
+    }
+    {
+      root = "golang.org/x/text";
+      src = fetchgit {
+        url = "https://go.googlesource.com/text";
+        rev = "bfad311ce93436dc888b40d76c78f99dc3104473";
+        sha256 = "1mbhp5q24drz2l2x6ib3180i42f9015ry80bn7jhr7rwizvyp6lh";
+      };
+    }
+    {
+      root = "google.golang.org/appengine";
+      src = fetchgit {
+        url = "https://github.com/golang/appengine.git";
+        rev = "d1e7e222a24d1e085466ed8b44aedd572f5a51c4";
+        sha256 = "045dmq0m56m1n16fygdghmkaqh7xb2g80xrm7lkcbkf3763w8gfw";
+      };
+    }
+    {
+      root = "gopkg.in/check.v1";
+      src = fetchgit {
+        url = "https://gopkg.in/check.v1";
+        rev = "64131543e7896d5bcc6bd5a76287eb75ea96c673";
+        sha256 = "0ybxgxkkmfhgd4pmjf7hgpp7d7zxsskc7kv9dklqbaf6aszsqbxl";
+      };
+    }
+    {
+      root = "gopkg.in/tomb.v1";
+      src = fetchgit {
+        url = "https://gopkg.in/tomb.v1";
+        rev = "dd632973f1e7218eb1089048e0798ec9ae7dceb8";
+        sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+      };
+    }
+    {
+      root = "gopkg.in/vmihailenco/msgpack.v2";
+      src = fetchgit {
+        url = "https://gopkg.in/vmihailenco/msgpack.v2";
+        rev = "1efcd9943dd320d41d8a00189e568d794f1b4e78";
+        sha256 = "0brbrss7hja2d06cca633ggn5jawqwb8p0prp5cg1m26w9f3hzis";
+      };
+    }
+    {
+      root = "labix.org/v2/mgo";
+      src = fetchbzr {
+        url = "https://launchpad.net/mgo/v2";
+        rev = "287";
+        sha256 = "0602x0liyp3w2v8cj1nyq73576vbxlxx1z1a8nn173pajxx9pm2z";
+      };
+    }
+    {
+      root = "launchpad.net/gocheck";
+      src = fetchbzr {
+        url = "https://launchpad.net/gocheck";
+        rev = "87";
+        sha256 = "1y9fa2mv61if51gpik9isls48idsdz87zkm1p3my7swjdix7fcl0";
       };
     }
     {
@@ -282,15 +429,6 @@ let
         sha256 = "0h1dxzyx5c4r4gfnmjxv92hlhjxrgx9p4g53p4fhmz6x2fdglb0x";
       };
     }
-    {
-      root = "github.com/vmihailenco/bufio";
-      src = fetchFromGitHub {
-        owner = "vmihailenco";
-        repo = "bufio";
-        rev = "24e7e48f60fc2d9e99e43c07485d9fff42051e66";
-        sha256 = "0x46qnf2f15v7m0j2dcb16raxjamk5rdc7hqwgyxfr1sqmmw3983";
-      };
-    }
   ];
 
 in
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 67a70b42bc4e..7c6cf82d741f 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.9.4";
+    version="0.9.5";
     name="${baseName}-${version}";
-    hash="0g00mb4z8z5if3sf52bad75w9xdx8p81y5p4p46c2v577v42s5z3";
-    url="http://download.slimerjs.org/releases/0.9.4/slimerjs-0.9.4.zip";
-    sha256="0g00mb4z8z5if3sf52bad75w9xdx8p81y5p4p46c2v577v42s5z3";
+    hash="05p7cwbr2jly6sd6h69j577y48yr05zm2nj7wgnxw0rhyrhkl22s";
+    url="http://download.slimerjs.org/releases/0.9.5/slimerjs-0.9.5.zip";
+    sha256="05p7cwbr2jly6sd6h69j577y48yr05zm2nj7wgnxw0rhyrhkl22s";
   };
   buildInputs = [
     unzip zip
diff --git a/pkgs/development/tools/tradcpp/default.nix b/pkgs/development/tools/tradcpp/default.nix
new file mode 100644
index 000000000000..e5a3004bfdb6
--- /dev/null
+++ b/pkgs/development/tools/tradcpp/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl, autoconf }:
+
+stdenv.mkDerivation {
+  name = "tradcpp-0.4";
+
+  src = fetchurl {
+    url = http://ftp.netbsd.org/pub/NetBSD/misc/dholland/tradcpp-0.4.tar.gz;
+    sha256 = "c60aa356945e0b6634bd449ead6a4fca0059d2ce3ae8044cf982140bbd54e688";
+  };
+
+  # tradcpp only comes with BSD-make Makefile; the patch adds configure support
+  buildInputs = [ autoconf ];
+  preConfigure = "autoconf";
+  patches = [ ./tradcpp-configure.patch ];
+
+  meta = {
+    description = "A traditional (K&R-style) C macro preprocessor";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+}
diff --git a/pkgs/development/tools/tradcpp/tradcpp-configure.patch b/pkgs/development/tools/tradcpp/tradcpp-configure.patch
new file mode 100644
index 000000000000..39cc499e2180
--- /dev/null
+++ b/pkgs/development/tools/tradcpp/tradcpp-configure.patch
@@ -0,0 +1,84 @@
+*** /dev/null	Wed Jan  7 11:47:26 2015
+--- tradcpp-0.4/Makefile.in	Wed Jan  7 11:43:15 2015
+***************
+*** 0 ****
+--- 1,64 ----
++ SHELL = /bin/sh
++ 
++ ### Filled in by `configure' ###
++ srcdir = @srcdir@
++ VPATH = @srcdir@
++ CC = @CC@
++ CFLAGS = @CFLAGS@
++ CPPFLAGS = @CPPFLAGS@
++ 
++ LDFLAGS = @LDFLAGS@
++ 
++ prefix = @prefix@
++ exec_prefix = @exec_prefix@
++ 
++ bindir = @bindir@
++ libdir = @libdir@
++ incdir = @includedir@
++ manext = 1
++ mandir = @mandir@/man$(manext)
++ docdir = @docdir@
++ datarootdir = @datarootdir@
++ datadir = @datadir@
++ 
++ OBJS=	main.o \
++ 	files.o directive.o eval.o macro.o output.o \
++ 	place.o array.o utils.o
++ 
++ .PHONY: all clean install man doc dist
++ 
++ default: all
++ 
++ all: tradcpp
++ 
++ tradcpp: $(OBJS)
++ 	$(CC) $(LDFLAGS) $(CFLAGS) $(CPPFLAGS) -o $@ $(OBJS)
++ 
++ clean:
++ 	rm -f *.o
++ 
++ distclean: clean
++ 	rm -f Makefile config.log config.status config-cache
++ 
++ install: tradcpp
++ 	mkdir -p $(DESTDIR)$(mandir)
++ 	install tradcpp.1 $(DESTDIR)$(mandir)
++ 	mkdir -p $(DESTDIR)$(bindir)
++ 	install tradcpp $(DESTDIR)$(bindir)
++ 
++ .c.o:
++ 	$(CC) -c $(CPPFLAGS) $(CFLAGS) -o $@ $<
++ 
++ array.o: array.c array.h inlinedefs.h utils.h
++ directive.o: directive.c utils.h mode.h place.h files.h directive.h \
++  macro.h eval.h output.h
++ eval.o: eval.c utils.h array.h inlinedefs.h mode.h place.h eval.h
++ files.o: files.c array.h inlinedefs.h utils.h mode.h place.h files.h \
++  directive.h
++ macro.o: macro.c array.h inlinedefs.h utils.h mode.h place.h macro.h \
++  output.h
++ main.o: main.c version.h config.h utils.h array.h inlinedefs.h mode.h \
++  place.h files.h directive.h macro.h
++ output.o: output.c utils.h mode.h place.h output.h
++ place.o: place.c utils.h array.h inlinedefs.h place.h
++ utils.o: utils.c utils.h
+*** /dev/null	Wed Jan  7 11:47:26 2015
+--- tradcpp-0.4/configure.ac	Wed Jan  7 11:22:18 2015
+***************
+*** 0 ****
+--- 1,10 ----
++ AC_PREREQ([2.60])dnl
++ AC_INIT(main.c)
++ AC_PROG_CC
++ AC_LANG(C)
++ AC_SUBST(CC)
++ AC_SUBST(CFLAGS)
++ AC_SUBST(CPPFLAGS)
++ AC_SUBST(LDFLAGS)
++ AC_SUBST(LD)
++ AC_OUTPUT(Makefile)
diff --git a/pkgs/games/0ad/data.nix b/pkgs/games/0ad/data.nix
index 6f3c85183da5..d3cc13307e7b 100644
--- a/pkgs/games/0ad/data.nix
+++ b/pkgs/games/0ad/data.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-data.tar.xz";
-    sha256 = "0f16d41e81d7349fb16490f3abbfd38bcb3f2b89648355b2b281c5045ddafadc";
+    sha256 = "6bf2234ef5043b14a3bbeda013fefed73ce2e564262f5e03b0801bfe671331d0";
   };
 
   patchPhase = ''
diff --git a/pkgs/games/0ad/default.nix b/pkgs/games/0ad/default.nix
index 78b76f1ac364..9698818c5575 100644
--- a/pkgs/games/0ad/default.nix
+++ b/pkgs/games/0ad/default.nix
@@ -9,7 +9,7 @@
 assert withEditor -> wxGTK != null;
 
 let
-  version = "0.0.16";
+  version = "0.0.17";
 
   releaseType = "alpha";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://releases.wildfiregames.com/0ad-${version}-${releaseType}-unix-build.tar.xz";
-    sha256 = "cb965ef7e292bc3a2f1f598a9695e16ff4d786398f384a1ec7d5f9bfe2626de5";
+    sha256 = "ef144d44fe8a8abd29a4642999a58a596b8f0d0e1f310065f5ce1dfbe29c3aeb";
   };
 
   buildInputs = [
@@ -64,6 +64,7 @@ stdenv.mkDerivation rec {
       --bindir="$out"/bin \
       --libdir="$out"/lib/0ad \
       --datadir="$out"/share/0ad \
+      --without-tests \
       gmake
     popd
   '';
@@ -116,6 +117,5 @@ stdenv.mkDerivation rec {
     homepage = "http://wildfiregames.com/0ad/";
     license = [ "GPLv2" "LGPLv2.1" "MIT" "CC BY-SA 3.0" "zlib" ];
     platforms = [ "x86_64-linux" "i686-linux" ];
-    broken = true;
   };
 }
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index 840af825b8f1..a210851c4d1e 100644
--- a/pkgs/games/instead/default.nix
+++ b/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }:
 
 let
-  version = "2.2.0";
+  version = "2.2.1";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://downloads.sourceforge.net/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "0szg8ns9k8d85ap8cdd3mgxgldry369kxfj6wp1nc3a73pw4gghv";
+    sha256 = "1ml9dd2wmhazlxw05994h3wqynyfls0wzajg533f5kybvl0xaks5";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index fd8948276f1b..530776903ac5 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mudlet-${version}";
-  version = "3.0";
+  version = "3.0.0-delta";
 
   src = fetchurl {
-    url = "https://github.com/Mudlet/Mudlet/archive/6bc55dde0499cffab48b0021f27dcff1d57b0b66.zip";
-    sha256 = "c7b9a383d2cf393da730ce07ac8f06478eaec1fdf730054e837e58c598222d38";
+    url = "https://github.com/Mudlet/Mudlet/archive/Mudlet-${version}.tar.gz";
+    sha256 = "08fhqd323kgz5s17ac5z9dhkjxcmwvcmvhzy0x1vw4rayhijfrd7";
   };
 
   buildInputs = [ pkgs.unzip qt5 lua5_1 hunspell libzip yajl boost makeWrapper luafilesystem luazip lrexlib luasqlite3 ];
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index a114810fe00f..e161fcd181c5 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -4,11 +4,11 @@
 , pulseaudio ? null }:
 
 stdenv.mkDerivation rec {
-  name = "dolphin-emu-20150103";
+  name = "dolphin-emu-20150201";
   src = fetchgit {
     url = git://github.com/dolphin-emu/dolphin.git;
-    rev = "03f716e651128a2da01f6afdd26545fafdd49971";
-    sha256 = "01dq5552wpfn7dvfvdxxzfxn1z08abqwpm4gf33c081bhhbsyny6";
+    rev = "3c475b91ea5c4baa13b1339c3d2921938e8a3be9";
+    sha256 = "1az8cv5y2hccvnp719rpynwglamf04zck1ic796c126xp286i5ki";
     fetchSubmodules = false;
   };
 
diff --git a/pkgs/misc/emulators/wine/unstable.nix b/pkgs/misc/emulators/wine/unstable.nix
index bc941fc3ffc4..b52957963c60 100644
--- a/pkgs/misc/emulators/wine/unstable.nix
+++ b/pkgs/misc/emulators/wine/unstable.nix
@@ -7,12 +7,12 @@ assert stdenv.isLinux;
 assert stdenv.cc.cc.isGNU or false;
 
 let
-    version = "1.7.34";
+    version = "1.7.35";
     name = "wine-${version}";
 
     src = fetchurl {
       url = "mirror://sourceforge/wine/${name}.tar.bz2";
-      sha256 = "02rk686l0kpbnvplmwl0c7xqy2ymnxcxh38dknm35chg8ljknnjd";
+      sha256 = "1yqwwfapv7vdhmdcnhnl2c4iqaqn1xwib4zfyv9ndhq2ld9gcbpb";
     };
 
     gecko = fetchurl {
diff --git a/pkgs/misc/screensavers/xss-lock/default.nix b/pkgs/misc/screensavers/xss-lock/default.nix
new file mode 100644
index 000000000000..82fa71431228
--- /dev/null
+++ b/pkgs/misc/screensavers/xss-lock/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchgit, cmake, docutils, pkgconfig, glib, libpthreadstubs
+, libXau, libXdmcp, xcbutil }:
+
+stdenv.mkDerivation {
+  name = "xss-lock-git";
+
+  src = fetchgit {
+    url = https://bitbucket.org/raymonad/xss-lock.git;
+    rev = "d75612f1d1eea64b5c43806eea88059340a08ca9";
+    sha256 = "4d57bcfd45287b5b068f45eeceb9e43d975806a038a4c586b141da5d99b3e48b";
+  };
+
+  buildInputs = [ cmake pkgconfig docutils glib libpthreadstubs libXau
+                  libXdmcp xcbutil ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Use external locker (such as i3lock) as X screen saver";
+    license = licenses.mit;
+    maintainers = with maintainers; [ malyn ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 2ca31d523feb..d08099542331 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -1,7 +1,7 @@
 # TODO check that no license information gets lost
 { fetchurl, bash, stdenv, python, cmake, vim, vimUtils, perl, ruby, unzip,
   which, fetchgit, fetchhg, fetchzip, llvmPackages, zip, vim_configurable,
-  vimPlugins
+  vimPlugins, xkb_switch
 }:
 
 let
@@ -513,6 +513,20 @@ rec {
     };
   };
 
+  xkbswitch = buildVimPlugin {
+    name = "xkbswitch-git-2015-01-18";
+    src = fetchgit {
+      url = "https://github.com/lyokha/vim-xkbswitch.git";
+      rev = "932765d8a45b0c8b994b920505b8f10cc7e8cad0";
+      sha256 = "20e1f7196b65d98687a27c8a3f2d0847701890a0818dfcfec13f24a3151b0e73";
+     };
+    buildInputs = [ xkb_switch ];
+    meta = {
+      homepage = https://github.com/lyokha/vim-xkbswitch; 
+      maintainers = [ stdenv.lib.maintainers.jagajaga ];
+    };
+  };
+
   YouCompleteMe = addRtp "${rtpPath}/youcompleteme" (stdenv.mkDerivation {
     src = fetchgit {
       url = "https://github.com/Valloric/YouCompleteMe.git";
diff --git a/pkgs/os-specific/darwin/adv_cmds/ps.nix b/pkgs/os-specific/darwin/adv_cmds/ps.nix
new file mode 100644
index 000000000000..c3d3d1588627
--- /dev/null
+++ b/pkgs/os-specific/darwin/adv_cmds/ps.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "ps-${version}";
+  version = "153";
+
+  src = fetchurl {
+    url    = "http://opensource.apple.com/tarballs/adv_cmds/adv_cmds-${version}.tar.gz";
+    sha256 = "174v6a4zkcm2pafzgdm6kvs48z5f911zl7k49hv7kjq6gm58w99v";
+  };
+
+  buildPhase = ''
+    cd ps
+    cc -Os -Wall -I. -c -o fmt.o fmt.c
+    cc -Os -Wall -I. -c -o keyword.o keyword.c
+    cc -Os -Wall -I. -c -o nlist.o nlist.c
+    cc -Os -Wall -I. -c -o print.o print.c
+    cc -Os -Wall -I. -c -o ps.o ps.c
+    cc -Os -Wall -I. -c -o tasks.o tasks.c
+    cc -o ps fmt.o keyword.o nlist.o print.o ps.o tasks.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+
+    cp ps   $out/bin/ps
+    cp ps.1 $out/share/man/man1
+  '';
+
+
+  meta = {
+    platforms = stdenv.lib.platforms.darwin;
+    maintainers = with stdenv.lib.maintainers; [ gridaphobe ];
+  };
+}
diff --git a/pkgs/os-specific/darwin/bootstrap-cmds/default.nix b/pkgs/os-specific/darwin/bootstrap-cmds/default.nix
new file mode 100644
index 000000000000..add17aa362a1
--- /dev/null
+++ b/pkgs/os-specific/darwin/bootstrap-cmds/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, flex, yacc }:
+
+stdenv.mkDerivation rec {
+  version = "86";
+  name    = "bootstrap_cmds-${version}";
+
+  src = fetchurl {
+    url    = "http://www.opensource.apple.com/tarballs/bootstrap_cmds/${name}.tar.gz";
+    sha256 = "0xr0296jm1r3q7kbam98h85g23qlfi763z54ahj563n636kyk2wb";
+  };
+
+  buildInputs = [ flex yacc ];
+
+  buildPhase = ''
+    cd migcom.tproj
+    yacc -d parser.y
+    flex --header-file=lexxer.yy.h -o lexxer.yy.c lexxer.l
+
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o error.o error.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o global.o global.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o handler.o header.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o header.o header.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o mig.o mig.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o routine.o routine.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o server.o server.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o statement.o statement.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o string.o string.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o type.o type.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o user.o user.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o utils.o utils.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o lexxer.yy.o lexxer.yy.c
+    cc -Os -pipe -DMIG_VERSION="" -Wall -mdynamic-no-pic -I. -c -o y.tab.o y.tab.c
+
+    cc -dead_strip -o migcom error.o global.o header.o mig.o routine.o server.o statement.o string.o type.o user.o utils.o lexxer.yy.o y.tab.o
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec $out/share/man/man1
+
+    chmod +x mig.sh
+    cp mig.sh   $out/bin/mig
+    cp migcom   $out/libexec
+    cp mig.1    $out/share/man/man1
+    cp migcom.1 $out/share/man/man1
+  '';
+}
diff --git a/pkgs/os-specific/darwin/cctools-port/default.nix b/pkgs/os-specific/darwin/cctools-port/default.nix
deleted file mode 100644
index cdc259c1e2a0..000000000000
--- a/pkgs/os-specific/darwin/cctools-port/default.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ stdenv, cross, fetchurl, autoconf, automake, libtool
-, libcxx, llvm, clang, openssl, libuuid
-, maloader, makeWrapper, xctoolchain
-}:
-
-stdenv.mkDerivation rec {
-  name = "cctools-port-${version}";
-  version = "845";
-
-  src = fetchurl {
-    url = "https://github.com/tpoechtrager/cctools-port/archive/"
-        + "cctools-${version}-ld64-136-1.tar.gz";
-    sha256 = "06pg6h1g8avgx4j6cfykdpggf490li796gzhhyqn27jsagli307i";
-  };
-
-  buildInputs = [
-    autoconf automake libtool libcxx llvm clang openssl libuuid makeWrapper
-  ];
-
-  patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ];
-
-  enableParallelBuilding = true;
-
-  postPatch = ''
-    patchShebangs tools
-    sed -i -e 's/which/type -P/' tools/*.sh
-    sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' cctools/autogen.sh
-
-    # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157
-    cat > cctools/include/unistd.h <<EOF
-    #ifdef __block
-    #  undef __block
-    #  include_next "unistd.h"
-    #  define __block __attribute__((__blocks__(byref)))
-    #else
-    #  include_next "unistd.h"
-    #endif
-    EOF
-  '';
-
-  preConfigure = ''
-    cd cctools
-    sh autogen.sh
-  '';
-
-  configureFlags = [
-    "CXXFLAGS=-I${libcxx}/include/c++/v1"
-    "--target=${cross.config}"
-  ];
-
-  postInstall = ''
-    for tool in dyldinfo dwarfdump dsymutil; do
-      makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \
-        --add-flags "${xctoolchain}/bin/$tool"
-      ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool"
-    done
-  '';
-
-  meta = {
-    homepage = "http://www.opensource.apple.com/source/cctools/";
-    description = "Mac OS X Compiler Tools (cross-platform port)";
-    license = stdenv.lib.licenses.apsl20;
-  };
-}
diff --git a/pkgs/os-specific/darwin/cctools/darwin.patch b/pkgs/os-specific/darwin/cctools/darwin.patch
new file mode 100644
index 000000000000..9c2cf23f0c64
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools/darwin.patch
@@ -0,0 +1,122 @@
+From b6001ddb935351b4d150546ddab6d25eae05afaa Mon Sep 17 00:00:00 2001
+From: Daniel Peebles <pumpkin@me.com>
+Date: Sun, 12 Oct 2014 12:23:51 -0400
+Subject: [PATCH] work
+
+---
+ cctools/Makefile.am             | 2 +-
+ cctools/configure.ac            | 2 --
+ cctools/ld64/src/3rd/helper.c   | 2 ++
+ cctools/ld64/src/3rd/strlcat.c  | 2 ++
+ cctools/ld64/src/3rd/strlcpy.c  | 3 ++-
+ cctools/ld64/src/ld/Options.cpp | 2 ++
+ tools/find_lto_header.sh        | 2 +-
+ 7 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/cctools/Makefile.am b/cctools/Makefile.am
+index 44084ad..34a670c 100644
+--- a/cctools/Makefile.am
++++ b/cctools/Makefile.am
+@@ -1,2 +1,2 @@
+-SUBDIRS=libstuff ar as misc libobjc2 otool ld64 $(LD_CLASSIC)
++SUBDIRS=libstuff ar as misc ld64 $(LD_CLASSIC)
+ ACLOCAL_AMFLAGS = -I m4
+diff --git a/cctools/configure.ac b/cctools/configure.ac
+index c4f6c47..b641925 100644
+--- a/cctools/configure.ac
++++ b/cctools/configure.ac
+@@ -278,8 +278,6 @@ AC_CONFIG_FILES([as/ppc/Makefile])
+ AC_CONFIG_FILES([as/ppc64/Makefile])
+ #AC_CONFIG_FILES([man/Makefile])
+ AC_CONFIG_FILES([misc/Makefile])
+-AC_CONFIG_FILES([otool/Makefile])
+-AC_CONFIG_FILES([libobjc2/Makefile])
+ AC_CONFIG_FILES([ld/Makefile])
+ 
+ 
+diff --git a/cctools/ld64/src/3rd/helper.c b/cctools/ld64/src/3rd/helper.c
+index 19f4be7..bec6869 100644
+--- a/cctools/ld64/src/3rd/helper.c
++++ b/cctools/ld64/src/3rd/helper.c
+@@ -23,6 +23,7 @@
+ const char ldVersionString[] = "236.3\n";
+ 
+ 
++#if 0
+ void __assert_rtn(const char *func, const char *file, int line, const char *msg)
+ {
+ #ifdef __FreeBSD__
+@@ -33,6 +34,7 @@ void __assert_rtn(const char *func, const char *file, int line, const char *msg)
+     __assert(msg, file, line);
+ #endif /* __FreeBSD__ */
+ }
++#endif
+ 
+ int _NSGetExecutablePath(char *path, unsigned int *size)
+ {
+diff --git a/cctools/ld64/src/3rd/strlcat.c b/cctools/ld64/src/3rd/strlcat.c
+index 500d038..dadf269 100644
+--- a/cctools/ld64/src/3rd/strlcat.c
++++ b/cctools/ld64/src/3rd/strlcat.c
+@@ -23,6 +23,7 @@
+ 
+ #include <string.h>
+ 
++#if 0
+ size_t
+ strlcat(char * restrict dst, const char * restrict src, size_t maxlen) {
+     const size_t srclen = strlen(src);
+@@ -36,3 +37,4 @@ strlcat(char * restrict dst, const char * restrict src, size_t maxlen) {
+     }
+     return dstlen + srclen;
+ }
++#endif
+\ No newline at end of file
+diff --git a/cctools/ld64/src/3rd/strlcpy.c b/cctools/ld64/src/3rd/strlcpy.c
+index c69f107..34a399b 100644
+--- a/cctools/ld64/src/3rd/strlcpy.c
++++ b/cctools/ld64/src/3rd/strlcpy.c
+@@ -23,6 +23,7 @@
+ 
+ #include <string.h>
+ 
++#if 0
+ size_t
+ strlcpy(char * restrict dst, const char * restrict src, size_t maxlen) {
+     const size_t srclen = strlen(src);
+@@ -34,4 +35,4 @@ strlcpy(char * restrict dst, const char * restrict src, size_t maxlen) {
+     }
+     return srclen;
+ }
+-
++#endif
+\ No newline at end of file
+diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
+index 3a78df8..0ecf9f2 100644
+--- a/cctools/ld64/src/ld/Options.cpp
++++ b/cctools/ld64/src/ld/Options.cpp
+@@ -49,6 +49,8 @@ namespace lto {
+ 	extern const char* version();
+ }
+ 
++#define __MAC_OS_X_VERSION_MIN_REQUIRED 1060
++
+ // magic to place command line in crash reports
+ const int crashreporterBufferSize = 2000;
+ static char crashreporterBuffer[crashreporterBufferSize];
+diff --git a/tools/find_lto_header.sh b/tools/find_lto_header.sh
+index aee3a4a..4733981 100755
+--- a/tools/find_lto_header.sh
++++ b/tools/find_lto_header.sh
+@@ -14,7 +14,7 @@ function try()
+         # Adding the include directory with -I causes the build to fail.
+         ln -sf "$LLVM_INC_DIR/llvm-c/lto.h" "include/llvm-c/lto.h"
+         mkdir -p tmp
+-        echo -n "-Wl,-rpath,$LLVM_LIB_DIR,--enable-new-dtags -L$LLVM_LIB_DIR -lLTO " > tmp/ldflags
++        echo -n "-Wl,-rpath,$LLVM_LIB_DIR -L$LLVM_LIB_DIR -lLTO " > tmp/ldflags
+         echo -n "-DLTO_SUPPORT=1 " > tmp/cflags
+         echo -n "-DLTO_SUPPORT=1 " > tmp/cxxflags
+         echo -n "$LLVM_LIB_DIR" > tmp/ldpath
+-- 
+1.9.3 (Apple Git-50)
+
diff --git a/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch b/pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch
index fc87f69ac32d..fc87f69ac32d 100644
--- a/pkgs/os-specific/darwin/cctools-port/ld-ignore-rpath-link.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-ignore-rpath-link.patch
diff --git a/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
index 265d0d304771..265d0d304771 100644
--- a/pkgs/os-specific/darwin/cctools-port/ld-rpath-nonfinal.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
new file mode 100644
index 000000000000..4dbdbede60ec
--- /dev/null
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -0,0 +1,80 @@
+{ stdenv, fetchurl, autoconf, automake, libtool
+, llvm, libcxx, clang, openssl, libuuid
+}:
+
+let
+  baseParams = rec {
+    name = "cctools-port-${version}";
+    version = "855";
+
+    src = let
+      # Should be fetchFromGitHub but it was whining so this will do for now
+      owner  = "tpoechtrager";
+      repo   = "cctools-port";
+      rev    = "7083dddbb0f106d791d313829ea7dc45db90e375";
+    in fetchurl {
+      url    = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz";
+      sha256 = "017gxlcwgi7xhayjzj9w3fac175p2rm4vjzf9cycq9683m9pmyzj";
+    };
+
+    buildInputs = [
+      autoconf automake libtool llvm clang openssl libuuid libcxx
+    ];
+
+    patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ];
+
+    enableParallelBuilding = true;
+
+    postPatch = ''
+      patchShebangs tools
+      sed -i -e 's/which/type -P/' tools/*.sh
+
+      # Workaround for https://www.sourceware.org/bugzilla/show_bug.cgi?id=11157
+      cat > cctools/include/unistd.h <<EOF
+      #ifdef __block
+      #  undef __block
+      #  include_next "unistd.h"
+      #  define __block __attribute__((__blocks__(byref)))
+      #else
+      #  include_next "unistd.h"
+      #endif
+      EOF
+    '';
+
+    preConfigure = ''
+      cd cctools
+      sh autogen.sh
+    '';
+
+    meta = {
+      homepage = "http://www.opensource.apple.com/source/cctools/";
+      description = "Mac OS X Compiler Tools (cross-platform port)";
+      license = stdenv.lib.licenses.apsl20;
+    };
+  };
+in {
+  # Hacks that for the darwin stdenv (sad that we need write workarounds for what started as a darwin package)
+  native = stdenv.mkDerivation (baseParams // {
+    patches = baseParams.patches ++ [ ./darwin.patch ];
+
+    postInstall = ''
+      cd $out/bin
+      for tool in dwarfdump dsymutil; do
+        ln -s /usr/bin/$tool
+      done
+    '';
+  });
+
+  cross =
+    { cross, maloader, makeWrapper, xctoolchain}: stdenv.mkDerivation (baseParams // {
+      configureFlags = baseParams.configureFlags ++ [ "--target=${cross.config}" ];
+
+      postInstall = ''
+        for tool in dyldinfo dwarfdump dsymutil; do
+          ${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${cross.config}-$tool" \
+            --add-flags "${xctoolchain}/bin/$tool"
+          ln -s "$out/bin/${cross.config}-$tool" "$out/bin/$tool"
+        done
+      '';
+    });
+}
diff --git a/pkgs/os-specific/darwin/command-line-tools/default.nix b/pkgs/os-specific/darwin/command-line-tools/default.nix
index a4ac20fa0851..c437c76cfd6a 100644
--- a/pkgs/os-specific/darwin/command-line-tools/default.nix
+++ b/pkgs/os-specific/darwin/command-line-tools/default.nix
@@ -1,71 +1,43 @@
-{ stdenv, fetchadc, xar, gzip, cpio }:
+{ stdenv, fetchurl, xar, gzip, cpio }:
 
 let
-  name = "command-line-tools-mac-os-10.9";
-
-  pkg = { installPhase }: stdenv.mkDerivation {
-    name = "${name}.pkg";
-
-    phases = [ "installPhase" ];
-
-    inherit installPhase;
+  pkg = { name, sha256 }: stdenv.mkDerivation {
+    inherit name;
 
-    meta = with stdenv.lib; {
-      description = "Developer tools .pkg file";
-      maintainers = with maintainers; [ copumpkin ];
-      platforms   = platforms.darwin;
-      license     = licenses.unfree;
+    src = fetchurl {
+      url = "http://swcdn.apple.com/content/downloads/00/14/031-07556/i7hoqm3awowxdy48l34uel4qvwhdq8lgam/${name}.pkg";
+      inherit sha256;
     };
-  };
 
-  basic = pkg: stdenv.mkDerivation {
-    inherit name;
+    buildInputs = [ xar gzip cpio ];
 
     phases = [ "unpackPhase" "installPhase" ];
 
-    outputs = [ "sdk" "tools" ];
-
     unpackPhase = ''
-      ${xar}/bin/xar -x -f "${pkg}"
+      xar -x -f $src
     '';
 
     installPhase = ''
       start="$(pwd)"
-      mkdir -p $sdk
-      mkdir -p $tools
-
-      cd $sdk
-      cat $start/DevSDK_OSX109.pkg/Payload | ${gzip}/bin/gzip -d | ${cpio}/bin/cpio -idm
-
-      cd $tools
-      cat $start/CLTools_Executables.pkg/Payload | ${gzip}/bin/gzip -d | ${cpio}/bin/cpio -idm
+      mkdir -p $out
+      cd $out
+      cat $start/Payload | gzip -d | cpio -idm
     '';
 
     meta = with stdenv.lib; {
-      description = "Mac OS command-line developer tools and SDK";
+      description = "Apple developer tools ${name}";
       maintainers = with maintainers; [ copumpkin ];
       platforms   = platforms.darwin;
-      license     = licenses.unfree;
     };
   };
 in rec {
-  dmg = fetchadc {
-    # Isn't this a beautiful path? Note the subtle differences before and after the slash!
-    path   = "Developer_Tools/command_line_tools_os_x_10.9_for_xcode__xcode_6/command_line_tools_for_os_x_10.9_for_xcode_6.dmg";
-    sha256 = "0zrpf73r3kfk9pdh6p6j6w1sbw7s2pp0f8rd83660r5hk1y3j5jc";
+  tools = pkg {
+    name   = "CLTools_Executables";
+    sha256 = "1rqrgip9pwr9d6p1hkd027lzxpymr1qm54jjnkldjjb8m4nps7bp";
   };
 
-  pure = { xpwn }: basic (pkg {
-    installPhase = ''
-      ${xpwn}/bin/hdutil ${dmg} extract "Command Line Tools (OS X 10.9).pkg" $out
-    '';
-  });
-
-  impure = basic (pkg {
-    installPhase = ''
-      /usr/bin/hdiutil attach ${dmg} -mountpoint clt-mount -nobrowse
-      cp "clt-mount/Command Line Tools (OS X 10.9).pkg" $out
-      /usr/bin/hdiutil unmount clt-mount
-    '';
-  });
+  sdk = pkg {
+    name   = "DevSDK_OSX109";
+    sha256 = "0x6r61h78r5cxk9dbw6fnjpn6ydi4kcajvllpczx3mi52crlkm4x";
+  };
 }
diff --git a/pkgs/os-specific/darwin/libc/default.nix b/pkgs/os-specific/darwin/libc/default.nix
new file mode 100644
index 000000000000..4d01434c3b9f
--- /dev/null
+++ b/pkgs/os-specific/darwin/libc/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, fetchgit, fetchzip, perl, python }:
+
+let
+  osx_sdk = fetchgit {
+    url = "https://github.com/samdmarshall/OSXPrivateSDK";
+    rev = "refs/heads/master";
+    sha256 = "04m71xhjyac42h7alxjsqsipq07hm85wibvm3h65dqafcbqkl1i1";
+  };
+  dispatch = fetchzip {
+    url = "https://opensource.apple.com/tarballs/libdispatch/libdispatch-339.92.1.tar.gz";
+    sha256 = "0faxm4r7lamz57m9pr72jwm0qiwcrcy5dsiff0g9qyfi10pnj5i4";
+  };
+in
+stdenv.mkDerivation rec {
+  version = "825.40.1";
+  name = "libc-${version}";
+  src = fetchurl {
+    url = "https://opensource.apple.com/tarballs/Libc/Libc-${version}.tar.gz";
+    sha256 = "0xsx1im52gwlmcrv4lnhhhn9dyk5ci6g27k6yvibn9vj8fzjxwcf";
+  };
+
+  buildInputs = [ perl ];
+
+  patches = [ ./fileport.patch ];
+
+  configurePhase = ''
+    mkdir -p scratch
+    mkdir -p scratch/System/sys
+    ln -sv ${osx_sdk}/System/Library/Frameworks/System.framework/PrivateHeaders/sys/fsctl.h scratch/System/sys
+    mkdir tmpbin
+    ln -s /usr/bin/xcodebuild tmpbin
+    ln -s /usr/sbin/dtrace tmpbin
+    export PATH=$PATH:$(pwd -P)/tmpbin
+  '';
+
+  buildPhase = ''
+    BASE=$(pwd -P)
+    xcodebuild HEADER_SEARCH_PATHS="$BASE/fbsdcompat $BASE/pthreads $BASE/include $BASE/locale $BASE/locale/FreeBSD ${osx_sdk}/usr/local/include ${osx_sdk}/usr/include $BASE/stdtime/FreeBSD $BASE/gen ${osx_sdk}/System/Library/Frameworks/System.framework/PrivateHeaders $BASE/scratch ${osx_sdk}/System/Library/Frameworks/System.framework/PrivateHeaders/uuid $BASE/gdtoa"
+  '';
+}
diff --git a/pkgs/os-specific/darwin/libc/fileport.patch b/pkgs/os-specific/darwin/libc/fileport.patch
new file mode 100644
index 000000000000..968b0da9d30f
--- /dev/null
+++ b/pkgs/os-specific/darwin/libc/fileport.patch
@@ -0,0 +1,38 @@
+diff --git a/Platforms/macosx/Makefile.inc b/Platforms/macosx/Makefile.inc
+index ff3617f..fdda58f 100644
+--- a/Platforms/macosx/Makefile.inc
++++ b/Platforms/macosx/Makefile.inc
+@@ -41,7 +41,7 @@ FEATURE_PATCH_3417676 = 1
+ FEATURE_PATCH_5243343 = 1
+ 
+ # plockstat dtrace support
+-FEATURE_PLOCKSTAT = 1
++FEATURE_PLOCKSTAT = 0
+ 
+ # Timezone change notification
+ FEATURE_TIMEZONE_CHANGE_NOTIFICATION = 1
+diff --git a/gen/asl.c b/gen/asl.c
+index 1948c92..53fce02 100644
+--- a/gen/asl.c
++++ b/gen/asl.c
+@@ -35,6 +35,7 @@
+ #include <time.h>
+ #include <sys/time.h>
+ #include <sys/fcntl.h>
++#include <sys/fileport.h>
+ #include <crt_externs.h>
+ #include <asl.h>
+ #include <regex.h>
+diff --git a/locale/FreeBSD/toupper.c b/locale/FreeBSD/toupper.c
+index d02ddd6..e5a1f10 100644
+--- a/locale/FreeBSD/toupper.c
++++ b/locale/FreeBSD/toupper.c
+@@ -39,6 +39,8 @@ __FBSDID("$FreeBSD: src/lib/libc/locale/toupper.c,v 1.13 2007/01/09 00:28:01 imp
+ #include <stdio.h>
+ #include <runetype.h>
+ 
++#define __ct_rune_t ct_rune_t
++
+ __ct_rune_t
+ ___toupper_l(c, loc)
+ 	__ct_rune_t c;
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
new file mode 100644
index 000000000000..534ba9970043
--- /dev/null
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "android-udev-rules";
+
+  src = fetchgit {
+    url = "git://github.com/M0Rf30/android-udev-rules";
+    rev = "82f78561f388363a925e6663211988d9527de0c6";
+    sha256 = "badd7a152acf92c75335917c07125ffb1b5fda0bed5ec1e474d76e48a8d9f0db";
+  };
+
+  installPhase = ''
+    install -D 51-android.rules $out/lib/udev/rules.d/51-android.rules
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/M0Rf30/android-udev-rules;
+    description = "Android udev rules list aimed to be the most comprehensive on the net";
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ abbradar ];
+  };
+}
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 9f3397fc8efd..c2d95c3d5354 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.18";
+    version="0.9.20";
     name="${baseName}-${version}";
-    hash="0qsjbnx9xzvzcbq7wdcf51v5abi4ml9jsai7w6xmns51qx4325a2";
-    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.18-rc1.tar.bz2";
-    sha256="0qsjbnx9xzvzcbq7wdcf51v5abi4ml9jsai7w6xmns51qx4325a2";
+    hash="1sjahmpjd6zmn27xp5xl683xm3353rp3094sgl2brq6477ffbi6y";
+    url="mirror://sourceforge/project/firejail/firejail/firejail-0.9.20-rc1.tar.bz2";
+    sha256="1sjahmpjd6zmn27xp5xl683xm3353rp3094sgl2brq6477ffbi6y";
   };
   buildInputs = [
   ];
diff --git a/pkgs/os-specific/linux/firmware/iwlegacy/default.nix b/pkgs/os-specific/linux/firmware/iwlegacy/default.nix
index 48472c96659c..99524e4504e9 100644
--- a/pkgs/os-specific/linux/firmware/iwlegacy/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlegacy/default.nix
@@ -12,7 +12,7 @@ let
   fetchPackage =
     { name, sha256 }: fetchurl {
       name = "iwlwifi-${name}.tgz";
-      url = "http://wireless.kernel.org/en/users/Drivers/iwlegacy?action=AttachFile&do=get&target=iwlwifi-${name}.tgz";
+      url = "https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-${name}.tgz";
       inherit sha256;
     };
 
diff --git a/pkgs/os-specific/linux/firmware/iwlwifi/default.nix b/pkgs/os-specific/linux/firmware/iwlwifi/default.nix
index 3b36521ffa78..a0236fc3c996 100644
--- a/pkgs/os-specific/linux/firmware/iwlwifi/default.nix
+++ b/pkgs/os-specific/linux/firmware/iwlwifi/default.nix
@@ -47,7 +47,7 @@ let
   fetchPackage =
     { name, sha256 }: fetchurl {
       name = "iwlwifi-${name}.tgz";
-      url = "http://wireless.kernel.org/en/users/Drivers/iwlwifi?action=AttachFile&do=get&target=iwlwifi-${name}.tgz";
+      url = "https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-${name}.tgz";
       inherit sha256;
     };
 
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 4e9af61309bf..0d7a0d301716 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.65";
+  version = "3.10.67";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0nv6zwwpwmpd7zpkjvznbxszk2c5rkdivmmrb71b1a99q6iyxj0f";
+    sha256 = "158g3c643gfqwf92d665lq40rs92vizj5x1pi3w9xy1k53ldw5ia";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 86fc9045c0ae..acfe74828e72 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.36";
+  version = "3.12.37";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "15b1hvsmnq63kjqv24w2p5l94z7gdkdz445niz5p21z5jdn8bcq0";
+    sha256 = "0p7d6qdk7327yzfxzlxbxizrf7dm8vxbc3spm2ai4q278wxbi8jx";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index b4fd4eeefbc6..05e0722103f1 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.29";
+  version = "3.14.31";
   # Remember to update grsecurity!
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0hklzp0bv7f1pbhwgi84k2iqv9lb2aai1jgxzdrzilp6sz9z8f5v";
+    sha256 = "1j271f1mz40kh7hw44az549dr2413vyg22nwsz61garyvrxndpd6";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index dc56325666a2..ae6a3e3435a0 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.3";
+  version = "3.18.5";
   # Remember to update grsecurity!
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0ma2x68975xsi9kb15p0615nx9sm5ppb309kfdz7fgx9pg84q0hf";
+    sha256 = "147wf0igbsjlwhh8zam0xpw76ysc8cm2x3fkk2g1cx4wwlv28i74";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.4.nix b/pkgs/os-specific/linux/kernel/linux-3.4.nix
index d4da722f6c2b..2d0530237210 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.4.105";
+  version = "3.4.106";
   extraMeta.branch = "3.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0xhwdkpcmvbvk1rq0mz2f2pmh322flly7wr66wdd5bypfvanrk23";
+    sha256 = "1l1k2kmlz0j12ly63w3mhvdzp5fpc22ajda4kw66fyjx96npm8sc";
   };
 
   kernelPatches = args.kernelPatches ++
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index ce94288529ed..d9d16f9ac770 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.19-rc5";
-  modDirVersion = "3.19.0-rc5";
+  version = "3.19-rc7";
+  modDirVersion = "3.19.0-rc7";
   extraMeta.branch = "3.19";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/testing/linux-${version}.tar.xz";
-    sha256 = "1n1bzdczqi9lqb6sahm1g9f59v1h6vp6r4skyi40dk3v2xacb0nw";
+    sha256 = "007xjngbyvdx127rkrzxs23kxcw2z54gzad9954iwhphqw0kpq9x";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 2d0b4b7a108a..3fa42322b588 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -65,17 +65,17 @@ rec {
   };
 
   grsecurity_stable = grsecPatch
-    { kversion  = "3.14.29";
-      revision  = "201501211943";
+    { kversion  = "3.14.31";
+      revision  = "201501310705";
       branch    = "stable";
-      sha256    = "0kg33pzvs3dls0g6z9qxhmahiwy0asjpsp6hfcivhsri3kznwi6d";
+      sha256    = "19zm0ynjnk01qcp157v60s313fxm45dx9cc30rnpfig03r5p0la8";
     };
 
   grsecurity_unstable = grsecPatch
-    { kversion  = "3.18.3";
-      revision  = "201501211944";
+    { kversion  = "3.18.5";
+      revision  = "201501310706";
       branch    = "test";
-      sha256    = "12yz93l6442l6z41ama0nng6hzmnrc7jk3ha22cdypg06ybfjciv";
+      sha256    = "098jikfxh9sk097lrajyzf4x6dbxwwhpkirmqn25rn004y5y7ysn";
     };
 
   grsec_fix_path =
diff --git a/pkgs/os-specific/linux/libcap/progs.nix b/pkgs/os-specific/linux/libcap/progs.nix
index 1902b4acb1a4..ae4446c82e6c 100644
--- a/pkgs/os-specific/linux/libcap/progs.nix
+++ b/pkgs/os-specific/linux/libcap/progs.nix
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libcap ];
 
+  prePatch = ''
+    # use relative bash path
+    substituteInPlace progs/capsh.c --replace "/bin/bash" "bash"
+
+    # ensure capsh can find bash in $PATH
+    substituteInPlace progs/capsh.c --replace execve execvpe
+  '';
+
   preConfigure = "cd progs";
 
   installFlags = "RAISE_SETFCAP=no";
diff --git a/pkgs/os-specific/linux/spl/git.nix b/pkgs/os-specific/linux/spl/git.nix
index 369e69cf1c51..d03f8644bdfc 100644
--- a/pkgs/os-specific/linux/spl/git.nix
+++ b/pkgs/os-specific/linux/spl/git.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/spl.git;
-    rev = "a3c1eb77721a0d511b4fe7111bb2314686570c4b";
-    sha256 = "050qvaw45rxlfwm3dxlxw89p3d3hcnkls6k1s4anlzb4qz5x5ph9";
+    rev = "54cccfc2e30fa84463c056e8ad04b2be9448999e";
+    sha256 = "07nbrq3li51lvncqvj4rzgdw9bnfzr4bc5qqwizrgangd839jlkx";
   };
 
   patches = [ ./const.patch ./install_prefix-git.patch ];
diff --git a/pkgs/os-specific/linux/zfs/git.nix b/pkgs/os-specific/linux/zfs/git.nix
index 89f5cb9a2ad4..7ca8ed147874 100644
--- a/pkgs/os-specific/linux/zfs/git.nix
+++ b/pkgs/os-specific/linux/zfs/git.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation {
 
   src = fetchgit {
     url = git://github.com/zfsonlinux/zfs.git;
-    rev = "74328ee18f94d27f9c802d29fdd311018dab2adf";
-    sha256 = "0ayyqbb2crki1xvibfmscav5j7g0z77ys83dx10430ljamvylwb0";
+    rev = "2c41df5bf8327f3bc6ee25cf2aa570bb159cb348";
+    sha256 = "0bmpxcb1k99fs86qql8pblmr2w6bf1sgxc9igh1vhjl672ma6634";
   };
 
   patches = [
diff --git a/pkgs/servers/irc/ircd-hybrid/default.nix b/pkgs/servers/irc/ircd-hybrid/default.nix
index f27bb009a434..512cee4b016c 100644
--- a/pkgs/servers/irc/ircd-hybrid/default.nix
+++ b/pkgs/servers/irc/ircd-hybrid/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, openssl, zlib }:
 
 stdenv.mkDerivation {
-  name = "ircd-hybrid-7.2.3";
+  name = "ircd-hybrid-8.2.2";
 
   src = fetchurl {
-    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-7.2.3.tgz;
-    sha256 = "0w28w10vx3j2s6h2p0qx2p08gafyad7ddxa4f8i94vmx193l7w37";
+    url = mirror://sourceforge/ircd-hybrid/ircd-hybrid-8.2.2.tgz;
+    sha256 = "0k9w2mxgi03cpnmagshcr5v6qjgnmyidf966b50dd6yn1fgqcibm";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/servers/kafka/default.nix b/pkgs/servers/kafka/default.nix
new file mode 100644
index 000000000000..6ffd171d980c
--- /dev/null
+++ b/pkgs/servers/kafka/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, jre, makeWrapper, bash }:
+
+stdenv.mkDerivation rec {
+	name = "kafka";
+        version = "0.8.1.1";
+	src = fetchurl {
+		url = "http://www.mirrorservice.org/sites/ftp.apache.org/${name}/${version}/${name}_2.9.2-${version}.tgz";
+		sha256 = "cb141c1d50b1bd0d741d68e5e21c090341d961cd801e11e42fb693fa53e9aaed";
+	};
+
+	buildInputs = [ makeWrapper jre ];
+
+	installPhase = ''
+		mkdir -p $out
+		cp -R config libs $out
+		mkdir -p $out/bin
+		cp -R bin/${name}-*.sh $out/bin
+		for i in $out/bin/${name}-*.sh; do
+			wrapProgram $i \
+				--set JAVA_HOME "${jre}" \
+				--prefix PATH : "${bash}/bin"
+		done
+                
+	'';
+
+	meta = with stdenv.lib; {
+		homepage = "http://kafka.apache.org";
+		description = "Apache Kafka";
+		license = licenses.asl20;
+		maintainers = [ maintainers.boothead ];	
+		platforms = platforms.unix;	
+	};		
+
+}
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 1ecbdf097b3b..4857ecdbafea 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
   name = "samba-4.1.14";
 
   src = fetchurl {
-    url = "http://samba.org/samba/ftp/stable/${name}.tar.gz";
+    urls = [
+      "http://samba.org/samba/ftp/stable/${name}.tar.gz"
+      "http://distfiles.exherbo.org/distfiles/${name}.tar.gz"
+    ];
     sha256 = "1ficvglapxcw4zrgwkmmjbprsqrxks3ii29nblsr4wlrram4p8ay";
   };
 
diff --git a/pkgs/servers/search/solr/default.nix b/pkgs/servers/search/solr/default.nix
index a5dbaa1731de..76a83d77c5e5 100644
--- a/pkgs/servers/search/solr/default.nix
+++ b/pkgs/servers/search/solr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "solr-${version}";
-  version = "4.10.2";
+  version = "4.10.3";
 
   src = fetchurl {
     url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
-    sha256 = "07wwfgwcca3ndjrkfk7qyc4q8bdhwr0s6h4ijl4sqdy65aqcc6qh";
+    sha256 = "1dp269jka4q62qhv47j91wsrsnbxfn23lsx6qcycbijrlyh28w5c";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -17,14 +17,12 @@ stdenv.mkDerivation rec {
     cp -r example/lib/ext $out/lib/ext
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "https://lucene.apache.org/solr/";
-    description = ''
-      Open source enterprise search platform from the Apache Lucene project
-    '';
-    license = stdenv.lib.licenses.asl20;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.rickynils ];
+    description = "Open source enterprise search platform from the Apache Lucene project";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.rickynils maintainers.iElectric ];
   };
 
 }
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 27958494d174..7b8aa58e3057 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unifi-controller-${version}";
-  version = "3.2.7";
+  version = "3.2.10";
 
   src = fetchurl {
     url = "http://dl.ubnt.com/unifi/${version}/UniFi.unix.zip";
-    sha256 = "12g9x1k0l89rdlaw260561m17yc0bkp62prg3y05z6gbs7khh2xh";
+    sha256 = "0hrb8bbpkz1ijgsqsxhwjx1iq11ircr0pb2n5nr6hna9zxkkkb04";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/servers/varnish/2.1.nix b/pkgs/servers/varnish/2.1.nix
deleted file mode 100644
index ef1b177054f6..000000000000
--- a/pkgs/servers/varnish/2.1.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig }:
-
-stdenv.mkDerivation rec {
-  version = "2.1.5";
-  name = "varnish-${version}";
-
-  src = fetchurl {
-    url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "10zgwn482gfmfb7n6xwi7p841bs3j58jnk55wg83b85d2jz4k01d";
-  };
-
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig ];
-
-  meta = {
-    description = "Web application accelerator also known as a caching HTTP reverse proxy";
-    homepage = "https://www.varnish-cache.org";
-    license = stdenv.lib.licenses.bsd2;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 8ff26a388088..5b191bef8724 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline }:
+{ stdenv, fetchurl, pcre, libxslt, groff, ncurses, pkgconfig, readline, python }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.5";
+  version = "3.0.6";
   name = "varnish-${version}";
 
   src = fetchurl {
     url = "http://repo.varnish-cache.org/source/${name}.tar.gz";
-    sha256 = "1dz2gazqczfzahh2n0aw71i5g9cpn5d98p9gj6ilqlkiqypxcbrh";
+    sha256 = "1dw0nrplx5pa09z8vbjpncniv3qib5bh3qp3yqbk2d774n7ys3c4";
   };
 
-  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline ];
+  buildInputs = [ pcre libxslt groff ncurses pkgconfig readline python ];
 
   meta = {
     description = "Web application accelerator also known as a caching HTTP reverse proxy";
diff --git a/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh b/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
new file mode 100644
index 000000000000..6dbaf724092b
--- /dev/null
+++ b/pkgs/servers/x11/xorg/darwin-imake-setup-hook.sh
@@ -0,0 +1 @@
+export IMAKECPP="@tradcpp@/bin/tradcpp"
diff --git a/pkgs/servers/x11/xorg/imake.patch b/pkgs/servers/x11/xorg/imake.patch
index 0426e448215f..1d0ec88761d4 100644
--- a/pkgs/servers/x11/xorg/imake.patch
+++ b/pkgs/servers/x11/xorg/imake.patch
@@ -1,15 +1,15 @@
-diff -ru -x '*~' imake-1.0.3-orig/imake.c imake-1.0.3/imake.c
---- imake-1.0.3-orig/imake.c	2009-10-16 23:45:43.000000000 +0200
-+++ imake-1.0.3/imake.c	2010-07-19 12:17:12.000000000 +0200
-@@ -1035,6 +1035,7 @@
+diff -Naur imake-1.0.7-orig/imake.c imake-1.0.7/imake.c
+--- imake-1.0.7-orig/imake.c	2013-08-17 10:11:50.000000000 +0000
++++ imake-1.0.7/imake.c	2015-02-04 09:41:59.000000000 +0000
+@@ -1045,6 +1045,7 @@
  static void
  get_distrib(FILE *inFile)
  {
 +#if 0
    struct stat sb;
  
-   static char* suse = "/etc/SuSE-release";
-@@ -1080,6 +1081,7 @@
+   static const char*   suse = "/etc/SuSE-release";
+@@ -1090,6 +1091,7 @@
       * at the content of /etc/debian_version */
      return;
    }
@@ -17,21 +17,21 @@ diff -ru -x '*~' imake-1.0.3-orig/imake.c imake-1.0.3/imake.c
    /* what's the definitive way to tell what any particular distribution is? */
  
    fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxUnknown");
-@@ -1328,6 +1330,7 @@
+@@ -1337,6 +1339,7 @@
  static boolean
  get_gcc(char *cmd)
  {
 +#if 0
    struct stat sb;
-     static char* gcc_path[] = {
+     static const char* gcc_path[] = {
  #if defined(linux) || \
-@@ -1376,6 +1379,9 @@
+@@ -1385,6 +1388,9 @@
  	}
        }
      return FALSE;
 +#endif
-+    strcpy (cmd, "gcc");
++    strcpy (cmd, IMAKE_COMPILETIME_CPP);
 +    return TRUE;
  }
  
- #if defined CROSSCOMPILE || !defined __UNIXOS2__
+ #ifdef CROSSCOMPILE
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 45122780cddf..eebb33fae634 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -49,6 +49,12 @@ in
     inherit (xorg) xorgcffiles;
     x11BuildHook = ./imake.sh;
     patches = [./imake.patch];
+    setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null;
+    CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin
+      then "${args.tradcpp}/bin/cpp"
+      else "gcc"}\\\""
+    ];
+    tradcpp = if stdenv.isDarwin then args.tradcpp else null;
   };
 
   mkfontdir = attrs: attrs // {
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 15895956fd0f..07d9e9269a4d 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -1,43 +1,140 @@
-{ stdenv, pkgs, config
-, haveLibCxx ? true
-, useClang33 ? true }:
-
-import ../generic rec {
-  inherit config;
-
-  preHook =
-    ''
-      export NIX_ENFORCE_PURITY=
-      export NIX_IGNORE_LD_THROUGH_GCC=1
-      export NIX_DONT_SET_RPATH=1
-      export NIX_NO_SELF_RPATH=1
-      ${import ./prehook.nix}
-    '';
+{ system      ? builtins.currentSystem
+, allPackages ? import ../../top-level/all-packages.nix
+, platform    ? null
+, config      ? {}
+}:
+
+rec {
+  allPackages = import ../../top-level/all-packages.nix;
+
+  bootstrapTools = derivation {
+    inherit system;
+
+    name    = "trivial-bootstrap-tools";
+    builder = "/bin/sh";
+    args    = [ ./trivialBootstrap.sh ];
+
+    mkdir   = "/bin/mkdir";
+    ln      = "/bin/ln";
+  };
 
-  initialPath = (import ../common-path.nix) {pkgs = pkgs;};
+  # The simplest stdenv possible to run fetchadc and get the Apple command-line tools
+  stage0 = rec {
+    fetchurl = import ../../build-support/fetchurl {
+      inherit stdenv;
+      curl = bootstrapTools;
+    };
 
-  system = stdenv.system;
+    stdenv = import ../generic {
+      inherit system config;
+      name         = "stdenv-darwin-boot-0";
+      shell        = "/bin/bash";
+      initialPath  = [ bootstrapTools ];
+      fetchurlBoot = fetchurl;
+      cc           = "/no-such-path";
+    };
+  };
 
-  cc = import ../../build-support/cc-wrapper {
-    nativeTools = false;
-    nativeLibc = true;
-    inherit stdenv;
-    extraPackages = stdenv.lib.optional haveLibCxx pkgs.libcxx;
-    binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;};
-    cc = if useClang33 then pkgs.clang_33.cc else pkgs.clang.cc;
-    coreutils = pkgs.coreutils;
-    shell = pkgs.bash + "/bin/sh";
+  buildTools = import ../../os-specific/darwin/command-line-tools {
+    inherit (stage0) stdenv fetchurl;
+    xar  = bootstrapTools;
+    gzip = bootstrapTools;
+    cpio = bootstrapTools;
   };
 
-  shell = pkgs.bash + "/bin/sh";
+  preHook = ''
+    export NIX_IGNORE_LD_THROUGH_GCC=1
+    export NIX_DONT_SET_RPATH=1
+    export NIX_NO_SELF_RPATH=1
+    dontFixLibtool=1
+    stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
+    xargsFlags=" "
+    export MACOSX_DEPLOYMENT_TARGET=10.7
+    export SDKROOT=
+    export SDKROOT_X=/ # FIXME: impure!
+    export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT_X/usr/include -F$SDKROOT_X/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations"
+    export NIX_LDFLAGS_AFTER+=" -L$SDKROOT_X/usr/lib"
+    export CMAKE_OSX_ARCHITECTURES=x86_64
+  '';
+
+  # A stdenv that wraps the Apple command-line tools and our other trivial symlinked bootstrap tools
+  stage1 = rec {
+    nativePrefix = "${buildTools.tools}/Library/Developer/CommandLineTools/usr";
+
+    stdenv = import ../generic {
+      name = "stdenv-darwin-boot-1";
 
-  fetchurlBoot = stdenv.fetchurlBoot;
+      inherit system config;
+      inherit (stage0.stdenv) shell initialPath fetchurlBoot;
 
-  overrides = pkgs_: {
-    inherit cc;
-    inherit (cc) binutils;
-    inherit (pkgs)
-      gzip bzip2 xz bash coreutils diffutils findutils gawk
-      gnumake gnused gnutar gnugrep gnupatch perl libcxx libcxxabi;
+      preHook = preHook + "\n" + ''
+        export NIX_LDFLAGS_AFTER+=" -L/usr/lib"
+        export NIX_ENFORCE_PURITY=
+        export NIX_CFLAGS_COMPILE+=" -isystem ${nativePrefix}/include/c++/v1 -stdlib=libc++"
+        export NIX_CFLAGS_LINK+=" -stdlib=libc++ -Wl,-rpath,${nativePrefix}/lib"
+      '';
+
+      cc = import ../../build-support/cc-wrapper {
+        nativeTools  = true;
+        nativePrefix = nativePrefix;
+        nativeLibc   = true;
+        stdenv       = stage0.stdenv;
+        shell        = "/bin/bash";
+        cc           = {
+          name    = "clang-9.9.9";
+          cc      = "/usr";
+          outPath = "${buildTools.tools}/Library/Developer/CommandLineTools/usr";
+        };
+      };
+    };
+    pkgs = allPackages {
+      inherit system platform;
+      bootStdenv = stdenv;
+    };
   };
+
+  stage2 = rec {
+    stdenv = import ../generic {
+      name = "stdenv-darwin-boot-2";
+
+      inherit system config;
+      inherit (stage1.stdenv) shell fetchurlBoot preHook cc;
+
+      initialPath = [ stage1.pkgs.xz ] ++ stage1.stdenv.initialPath;
+    };
+    pkgs = allPackages {
+      inherit system platform;
+      bootStdenv = stdenv;
+    };
+  };
+
+  # Use stage1 to build a whole set of actual tools so we don't have to rely on the Apple prebuilt ones or
+  # the ugly symlinked bootstrap tools anymore.
+  stage3 = with stage2; import ../generic {
+    name = "stdenv-darwin-boot-3";
+
+    inherit system config;
+    inherit (stdenv) fetchurlBoot;
+
+    initialPath = (import ../common-path.nix) { inherit pkgs; };
+
+    preHook = preHook + "\n" + ''
+      export NIX_ENFORCE_PURITY=1
+    '';
+
+    cc = import ../../build-support/cc-wrapper {
+      inherit stdenv;
+      nativeTools  = false;
+      nativeLibc   = true;
+      binutils  = pkgs.darwin.cctools_native;
+      cc        = pkgs.llvmPackages.clang;
+      coreutils = pkgs.coreutils;
+      shell     = "${pkgs.bash}/bin/bash";
+      extraPackages = [ pkgs.libcxx ];
+    };
+
+    shell = "${pkgs.bash}/bin/bash";
+  };
+
+  stdenvDarwin = stage3;
 }
diff --git a/pkgs/stdenv/darwin/trivialBootstrap.sh b/pkgs/stdenv/darwin/trivialBootstrap.sh
new file mode 100644
index 000000000000..0915b378d4f0
--- /dev/null
+++ b/pkgs/stdenv/darwin/trivialBootstrap.sh
@@ -0,0 +1,66 @@
+
+# Building bootstrap tools
+echo Building the trivial bootstrap environment...
+$mkdir -p $out/bin
+
+$ln -s $ln $out/bin/ln
+
+PATH=$out/bin/
+
+cd $out/bin
+
+ln -s $mkdir
+ln -s /bin/sh
+ln -s /bin/cp
+ln -s /bin/mv
+ln -s /bin/rm
+ln -s /bin/ls
+ln -s /bin/ps
+ln -s /bin/cat
+ln -s /bin/bash
+ln -s /bin/echo
+ln -s /bin/expr
+ln -s /bin/test
+ln -s /bin/date
+ln -s /bin/chmod
+ln -s /bin/rmdir
+ln -s /bin/sleep
+ln -s /bin/hostname
+
+ln -s /usr/bin/id
+ln -s /usr/bin/od
+ln -s /usr/bin/tr
+ln -s /usr/bin/wc
+ln -s /usr/bin/cut
+ln -s /usr/bin/cmp
+ln -s /usr/bin/sed
+ln -s /usr/bin/tar
+ln -s /usr/bin/xar
+ln -s /usr/bin/awk
+ln -s /usr/bin/env
+ln -s /usr/bin/tee
+ln -s /usr/bin/comm
+ln -s /usr/bin/cpio
+ln -s /usr/bin/curl
+ln -s /usr/bin/find
+ln -s /usr/bin/grep
+ln -s /usr/bin/gzip
+ln -s /usr/bin/head
+ln -s /usr/bin/tail
+ln -s /usr/bin/sort
+ln -s /usr/bin/uniq
+ln -s /usr/bin/less
+ln -s /usr/bin/true
+ln -s /usr/bin/diff
+ln -s /usr/bin/egrep
+ln -s /usr/bin/fgrep
+ln -s /usr/bin/patch
+ln -s /usr/bin/uname
+ln -s /usr/bin/touch
+ln -s /usr/bin/split
+ln -s /usr/bin/xargs
+ln -s /usr/bin/which
+ln -s /usr/bin/install
+ln -s /usr/bin/basename
+ln -s /usr/bin/dirname
+ln -s /usr/bin/readlink
\ No newline at end of file
diff --git a/pkgs/stdenv/default.nix b/pkgs/stdenv/default.nix
index de0042a9adb6..ba87a7aaafbf 100644
--- a/pkgs/stdenv/default.nix
+++ b/pkgs/stdenv/default.nix
@@ -33,30 +33,11 @@ rec {
     pkgs = stdenvNativePkgs;
   };
 
-  stdenvDarwin = import ./darwin {
-    inherit config;
-    stdenv = stdenvNative;
-    pkgs = stdenvNativePkgs;
-  };
-
-  stdenvDarwinNaked = import ./darwin {
-    inherit config;
-    stdenv = stdenvNative;
-    pkgs = stdenvNativePkgs;
-    haveLibCxx = false;
-  };
-
-  stdenvDarwin33 = import ./darwin {
-    inherit config;
-    stdenv = stdenvNative;
-    pkgs = stdenvNativePkgs;
-    useClang33 = true;
-  };
-
-
   # Linux standard environment.
   stdenvLinux = (import ./linux { inherit system allPackages platform config lib; }).stdenvLinux;
 
+  # Darwin standard environment.
+  stdenvDarwin = (import ./darwin { inherit system allPackages platform config;}).stdenvDarwin;
 
   # Select the appropriate stdenv for the platform `system'.
   stdenv =
diff --git a/pkgs/tools/archivers/unzip/CVE-2014-9636.diff b/pkgs/tools/archivers/unzip/CVE-2014-9636.diff
new file mode 100644
index 000000000000..aeaf3e70de6e
--- /dev/null
+++ b/pkgs/tools/archivers/unzip/CVE-2014-9636.diff
@@ -0,0 +1,41 @@
+From a9bfab5b52d08879bbc5e0991684b700127ddcff Mon Sep 17 00:00:00 2001
+From: mancha <mancha1 AT zoho DOT com>
+Date: Mon, 3 Nov 2014
+Subject: Info-ZIP UnZip buffer overflow
+
+By carefully crafting a corrupt ZIP archive with "extra fields" that
+purport to have compressed blocks larger than the corresponding
+uncompressed blocks in STORED no-compression mode, an attacker can
+trigger a heap overflow that can result in application crash or
+possibly have other unspecified impact.
+
+This patch ensures that when extra fields use STORED mode, the
+"compressed" and uncompressed block sizes match.
+
+---
+ extract.c |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+--- a/extract.c
++++ b/extract.c
+@@ -2217,6 +2217,7 @@ static int test_compr_eb(__G__ eb, eb_si
+     ulg eb_ucsize;
+     uch *eb_ucptr;
+     int r;
++    ush method;
+ 
+     if (compr_offset < 4)                /* field is not compressed: */
+         return PK_OK;                    /* do nothing and signal OK */
+@@ -2226,6 +2227,12 @@ static int test_compr_eb(__G__ eb, eb_si
+          eb_size <= (compr_offset + EB_CMPRHEADLEN)))
+         return IZ_EF_TRUNC;               /* no compressed data! */
+ 
++    method = makeword(eb + (EB_HEADSIZE + compr_offset));
++    if ((method == STORED) && (eb_size - compr_offset != eb_ucsize))
++	return PK_ERR;			  /* compressed & uncompressed
++					   * should match in STORED
++					   * method */
++
+     if (
+ #ifdef INT_16BIT
+         (((ulg)(extent)eb_ucsize) != eb_ucsize) ||
diff --git a/pkgs/tools/archivers/unzip/default.nix b/pkgs/tools/archivers/unzip/default.nix
index a3e0cabb57b4..c5e06663dc03 100644
--- a/pkgs/tools/archivers/unzip/default.nix
+++ b/pkgs/tools/archivers/unzip/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation {
     ./CVE-2014-8139.diff
     ./CVE-2014-8140.diff
     ./CVE-2014-8141.diff
+    ./CVE-2014-9636.diff
   ] ++ stdenv.lib.optional enableNLS
     (fetchurl {
       url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-arch/unzip/files/unzip-6.0-natspec.patch?revision=1.1";
diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix
index f1338e9ecb5f..405264c6f663 100644
--- a/pkgs/tools/archivers/zpaq/default.nix
+++ b/pkgs/tools/archivers/zpaq/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="zpaq";
-    version="660";
+    version="700";
     name="${baseName}-${version}";
-    hash="1p6b56zf676bkfc20lxhjh9bsgh92z6bln7b0kxibh8s8aa7vzjq";
-    url="http://mattmahoney.net/dc/zpaq660.zip";
-    sha256="1p6b56zf676bkfc20lxhjh9bsgh92z6bln7b0kxibh8s8aa7vzjq";
+    hash="1scn7xly1bmx3xr17mn32mqvpvpp53niryrqm7h0xkksmc623z9c";
+    url="http://mattmahoney.net/dc/zpaq700.zip";
+    sha256="1scn7xly1bmx3xr17mn32mqvpvpp53niryrqm7h0xkksmc623z9c";
   };
   buildInputs = [
     unzip
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 28f14a9fe78e..768614673489 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -4,11 +4,11 @@ let
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.6.1";
+    version="3.6.2";
     name="${baseName}-${version}";
-    hash="1p16h5l3bg463l2zhw0rrbfdbkjnykssjmpwzlplsbq38aqqzcnh";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.6/3.6.1/glusterfs-3.6.1.tar.gz";
-    sha256="1p16h5l3bg463l2zhw0rrbfdbkjnykssjmpwzlplsbq38aqqzcnh";
+    hash="1kz0kmj0apkhkmw1zy72bsx06b1ii6z8y3fq365cy5l3xnjibdaa";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.6/3.6.2/glusterfs-3.6.2.tar.gz";
+    sha256="1kz0kmj0apkhkmw1zy72bsx06b1ii6z8y3fq365cy5l3xnjibdaa";
   };
   buildInputs = [
     fuse bison flex_2_5_35 openssl python ncurses readline
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index 7527ca6c1412..90a2e5f9039b 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -3,13 +3,13 @@
   }:
 
 let
-  wine_patches_version = "1.7.34";
-  wine_hash = "02rk686l0kpbnvplmwl0c7xqy2ymnxcxh38dknm35chg8ljknnjd";
+  wine_patches_version = "1.7.35";
+  wine_hash = "1yqwwfapv7vdhmdcnhnl2c4iqaqn1xwib4zfyv9ndhq2ld9gcbpb";
 
   wine_patches = fetchgit {
     url = "git://github.com/compholio/wine-compholio.git";
     rev = "refs/tags/v${wine_patches_version}";
-    sha256 = "1vdk45hlsj7y3gfc4j3j6bavq9krfwgighbxqkgplb1r7lfxq2kn";
+    sha256 = "0w3a3zh1p9np5hi1pk64pnz7bvgkdlhnl41bbkskh7yfgdbg4wq2";
   };
 
   wine_custom =
diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix
index d251c7cdd94b..4d3de16434b4 100644
--- a/pkgs/tools/misc/tlp/default.nix
+++ b/pkgs/tools/misc/tlp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, perl, systemd, iw, rfkill, hdparm, ethtool, inetutils, kmod
 , enableRDW ? true, networkmanager }:
 
-let version = "0.6";
+let version = "0.7";
 in stdenv.mkDerivation {
   inherit enableRDW;
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation {
         owner = "linrunner";
         repo = "TLP";
         rev = "${version}";
-        sha256 = "1kfm6x5w9vica2i13vfckza4fad4wv8ivr40fws3qa6d5jbyx0fy";
+        sha256 = "0vgx2jnk9gp41fw992l9dmv462jpcrnwqkzsa8z0lh0l77ax2jcg";
       };
 
   makeFlags = [ "DESTDIR=$(out)"
diff --git a/pkgs/tools/misc/xflux/default.nix b/pkgs/tools/misc/xflux/default.nix
index c08947fc1077..0032eb24c971 100644
--- a/pkgs/tools/misc/xflux/default.nix
+++ b/pkgs/tools/misc/xflux/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libXxf86vm, libXext, libX11, libXrandr}:
+{stdenv, fetchurl, libXxf86vm, libXext, libX11, libXrandr, gcc}:
 stdenv.mkDerivation {
   name = "xflux";
   src = fetchurl {
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   };
 
   libPath = stdenv.lib.makeLibraryPath [
-    stdenv.cc.gcc
+    gcc.cc
     libXxf86vm
     libXext
     libX11
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index d2c93884141b..d235c241a058 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,17 +1,20 @@
 { stdenv, fetchurl, pkgconfig, openssl, libxml2, sqlite, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "aria2-1.18.8";
+  name = "aria2-${version}";
+  version = "1.18.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/aria2/stable/${name}/${name}.tar.bz2";
-    sha256 = "1lpcdpkc22prkzhqrhrd6ccra6vpf2w8mla0z3jv26dqafaxif6b";
+    sha256 = "1cn4g4mcrnw67y23970a9bngl8nf2x9hh82lc59gz3xyxn8wljz2";
   };
 
   buildInputs = [ pkgconfig openssl libxml2 sqlite zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://aria2.sourceforge.net/;
     description = "A lightweight, multi-protocol, multi-source, command-line download utility";
+    maintainers = [ maintainers.koral ];
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/networking/connman/default.nix b/pkgs/tools/networking/connman/default.nix
index 8194dc990c60..25e4a2cb3adf 100644
--- a/pkgs/tools/networking/connman/default.nix
+++ b/pkgs/tools/networking/connman/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "connman-${version}";
-  version = "1.26";
+  version = "1.28";
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/connman/connman.git";
     rev = "refs/tags/${version}";
-    sha256 = "0pj404iyq6x9x4i2dwqk1dx95yglx7pvkm8cvh13bf50dim92cv9";
+    sha256 = "13c374bfj7dzlx7zvnnigmk0ck5cy601aqi18n77mcrq9yyxw5y9";
   };
 
   buildInputs = [ autoconf automake libtool pkgconfig openconnect polkit
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 27aa9b1775a6..587f8bcaeac9 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -21,19 +21,22 @@ stdenv.mkDerivation rec {
        do
          sed -i "$i" -e's/localhost/127.0.0.1/g'
        done
+    '' + stdenv.lib.optionalString stdenv.isDarwin ''
+       export LIBS="-liconv -lintl"
     '';
 
   nativeBuildInputs = [ gettext ];
   buildInputs = [ libidn ]
     ++ stdenv.lib.optionals doCheck [ perl perlPackages.IOSocketSSL LWP python3 ]
-    ++ stdenv.lib.optional (gnutls != null) gnutls;
+    ++ stdenv.lib.optional (gnutls != null) gnutls
+    ++ stdenv.lib.optional stdenv.isDarwin perl;
 
   configureFlags =
     if gnutls != null
     then "--with-ssl=gnutls"
     else "--without-ssl";
 
-  doCheck = (perl != null && python3 != null);
+  doCheck = (perl != null && python3 != null && !stdenv.isDarwin);
 
   meta = with stdenv.lib; {
     description = "Tool for retrieving files using HTTP, HTTPS, and FTP";
diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix
index 04179abbce3d..09453428a85e 100644
--- a/pkgs/tools/package-management/nix/unstable.nix
+++ b/pkgs/tools/package-management/nix/unstable.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nix-1.9pre4021_f46e329";
+  name = "nix-1.9pre4028_0d1dafa";
 
   src = fetchurl {
-    url = "http://hydra.nixos.org/build/18964230/download/4/${name}.tar.xz";
-    sha256 = "1a8njx3m8lv7w8ciag5wbl6q16k3gpf9kvv1yr9m4alc6kzm44b2";
+    url = "http://hydra.nixos.org/build/19375273/download/4/${name}.tar.xz";
+    sha256 = "592da6102a777c13652f7350f40f5693fa005076e06c7ce6f570a854576d104e";
   };
 
   nativeBuildInputs = [ perl pkgconfig ];
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index bc3fae3d4777..3535aef39e06 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -1,17 +1,19 @@
-{ stdenv, fetchurl, pkgconfig, libfprint, intltool, glib, dbus_glib, polkit, nss, pam, systemd }:
+{ stdenv, fetchgit, automake, autoconf, libtool, pkgconfig, gtk_doc
+, libfprint, intltool, glib, dbus_glib, polkit, nss, pam, systemd }:
 
 stdenv.mkDerivation rec {
-  name = "fprintd-0.5.1";
+  name = "fprintd";
 
-  src = fetchurl {
-    url = "http://people.freedesktop.org/~hadess/${name}.tar.xz";
-    sha256 = "0n3fh28cvqrhjig30lz1p075g0wd7jnhvz1j34n37c0cwc7rfmlj";
+  src = fetchgit {
+    url = "git://anongit.freedesktop.org/libfprint/fprintd";
+    rev = "f7c51b0d585eb63702f0d005081e53f44325df86";
+    sha256 = "1gmnn72ablfxvv13s0rms5f39hc4y2z97aq44d7l9hblnfn6wq12";
   };
 
-  patches = [ ./pod.patch ];
-
   buildInputs = [ libfprint glib dbus_glib polkit nss pam systemd ];
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ automake libtool autoconf gtk_doc pkgconfig intltool ];
+
+  configureScript = "./autogen.sh";
 
   configureFlags = [ "--with-systemdsystemunitdir=$(out)/lib/systemd/system" ];
 
diff --git a/pkgs/tools/security/fprintd/pod.patch b/pkgs/tools/security/fprintd/pod.patch
deleted file mode 100644
index 34cf6560cc54..000000000000
--- a/pkgs/tools/security/fprintd/pod.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff -u -r fprintd-0.5.1/data/fprintd.pod fprintd-0.5.1-pod/data/fprintd.pod
---- fprintd-0.5.1/data/fprintd.pod	2013-06-26 13:10:17.000000000 +0200
-+++ fprintd-0.5.1-pod/data/fprintd.pod	2013-08-17 12:17:36.330332635 +0200
-@@ -100,3 +100,5 @@
- =over 8
- 
- =item B<dbus-daemon>, B<gnome-about-me>
-+
-+=back
diff --git a/pkgs/tools/security/pass/default.nix b/pkgs/tools/security/pass/default.nix
index 3b44edcf1d3b..d635d692582f 100644
--- a/pkgs/tools/security/pass/default.nix
+++ b/pkgs/tools/security/pass/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl
 , coreutils, gnused, getopt, pwgen, git, tree, gnupg
 , makeWrapper
-, withX ? false, xclip ? null
+, withX ? true, xclip ? null, xdotool ? null
 }:
 
 assert withX -> xclip != null;
+assert withX -> xdotool != null;
 
 stdenv.mkDerivation rec {
   version = "1.6.3";
@@ -36,6 +37,8 @@ stdenv.mkDerivation rec {
   };
 
   installPhase = ''
+    PREFIX="$out" make install
+
     mkdir -p "$out/share/bash-completion/completions"
     mkdir -p "$out/share/zsh/site-functions"
     mkdir -p "$out/share/fish/completions"
@@ -46,7 +49,9 @@ stdenv.mkDerivation rec {
     mkdir -p "$out/share/emacs/site-lisp"
     cp "contrib/emacs/password-store.el" "$out/share/emacs/site-lisp/"
 
-    PREFIX="$out" make install
+    ${if withX then ''
+      cp "contrib/dmenu/passmenu" "$out/bin/"
+    '' else ""}
   '';
 
   postFixup = ''
@@ -57,5 +62,10 @@ stdenv.mkDerivation rec {
     # Ensure all dependencies are in PATH
     wrapProgram $out/bin/pass \
       --prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin${if withX then ":${xclip}/bin" else ""}"
+
+    ${if withX then ''
+      wrapProgram $out/bin/passmenu \
+        --prefix PATH : "$out/bin:${xdotool}/bin"
+    '' else ""}
   '';
 }
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index 9b8db03b73e6..662ba8eab581 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
+let version = "0.03.13"; in
 stdenv.mkDerivation rec {
-  version = "0.03.11";
   name = "stress-ng-${version}";
 
   src = fetchurl {
     url = "http://kernel.ubuntu.com/~cking/tarballs/stress-ng/${name}.tar.gz";
-    sha256 = "01pshnqb75c0g4pwcz5i1gh2a6ijy3dlz8drb0i0p6n6l3fpgmar";
+    sha256 = "1ppf50rwq784qri62s2yvxif7gcrazhd6xin04yzavjdmwjayggz";
   };
 
   patchPhase = ''
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
       hardware issues such as thermal overruns as well as operating system
       bugs that only occur when a system is being thrashed hard.
     '';
-    homepage = http://kernel.ubuntu.com/~cking/stress-ng/;
+    homepage = http://kernel.ubuntu.com/~cking/stress-ng;
     license = with licenses; gpl2Plus;
     platforms = with platforms; linux;
     maintainers = with maintainers; [ nckx ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0769a1c53402..a19df3e1c5f4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15,8 +15,7 @@
 , # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
   # outside of the store.  Thus, GCC, GFortran, & co. must always look for
   # files in standard system directories (/usr/include, etc.)
-  noSysDirs ? (system != "x86_64-darwin"
-               && system != "x86_64-freebsd" && system != "i686-freebsd"
+  noSysDirs ? (system != "x86_64-freebsd" && system != "i686-freebsd"
                && system != "x86_64-kfreebsd-gnu")
 
   # More flags for the bootstrapping of stdenv.
@@ -500,7 +499,7 @@ let
 
   arcanist = callPackage ../development/tools/misc/arcanist {};
 
-  arduino_core = callPackage ../development/arduino/arduino-core {
+  arduino-core = callPackage ../development/arduino/arduino-core {
     jdk = jdk;
     jre = jdk;
   };
@@ -1566,6 +1565,12 @@ let
     inherit (haskellPackages) ihaskell ghc;
   };
 
+  ihaskell-with-packages = callPackage ../development/tools/haskell/ihaskell/ng-wrapper.nix {
+    inherit (pythonPackages) ipython;
+    inherit (haskellngPackages) ihaskell ghcWithPackages;
+    packages = self: [];
+  };
+
   imapproxy = callPackage ../tools/networking/imapproxy { };
 
   imapsync = callPackage ../tools/networking/imapsync {
@@ -2092,11 +2097,7 @@ let
 
   openssh_with_kerberos = pkgs.appendToName "with-kerberos" (openssh.override { withKerberos = true; });
 
-  opensp = callPackage ../tools/text/sgml/opensp {
-    stdenv = if stdenv.isDarwin
-      then allStdenvs.stdenvDarwinNaked
-      else stdenv;
-  };
+  opensp = callPackage ../tools/text/sgml/opensp { };
 
   spCompat = callPackage ../tools/text/sgml/opensp/compat.nix { };
 
@@ -2825,6 +2826,8 @@ let
 
   tm = callPackage ../tools/system/tm { };
 
+  tradcpp = callPackage ../development/tools/tradcpp { };
+
   trang = callPackage ../tools/text/xml/trang { };
 
   tre = callPackage ../development/libraries/tre { };
@@ -2881,8 +2884,6 @@ let
 
   varnish = callPackage ../servers/varnish { };
 
-  varnish2 = callPackage ../servers/varnish/2.1.nix { };
-
   venus = callPackage ../tools/misc/venus {
     python = python27;
   };
@@ -3109,6 +3110,7 @@ let
 
   clang = wrapCC llvmPackages.clang;
 
+  clang_35 = wrapCC llvmPackages_35.clang;
   clang_34 = wrapCC llvmPackages_34.clang;
   clang_33 = wrapCC (clangUnwrapped llvm_33 ../development/compilers/llvm/3.3/clang.nix);
 
@@ -3642,7 +3644,7 @@ let
 
   llvm_v = path: callPackage path { };
 
-  llvmPackages = llvmPackages_34;
+  llvmPackages = llvmPackages_35;
 
   llvmPackages_34 = recurseIntoAttrs (import ../development/compilers/llvm/3.4 {
     inherit stdenv newScope fetchurl;
@@ -3650,6 +3652,10 @@ let
   });
   llvmPackagesSelf = import ../development/compilers/llvm/3.4 { inherit newScope fetchurl; isl = isl_0_12; stdenv = libcxxStdenv; };
 
+  llvmPackages_35 = import ../development/compilers/llvm/3.5 {
+    inherit pkgs stdenv newScope fetchurl isl;
+  };
+
   manticore = callPackage ../development/compilers/manticore { };
 
   mentorToolchains = recurseIntoAttrs (
@@ -4336,7 +4342,7 @@ let
   python34 = hiPrio (callPackage ../development/interpreters/python/3.4 {
     self = python34;
   });
-  pypy = callPackage ../development/interpreters/pypy/2.4 {
+  pypy = callPackage ../development/interpreters/pypy {
     self = pypy;
   };
 
@@ -4655,7 +4661,10 @@ let
 
   ctodo = callPackage ../applications/misc/ctodo { };
 
-  cmake = callPackage ../development/tools/build-managers/cmake { };
+  cmake = callPackage ../development/tools/build-managers/cmake {
+    wantPS = stdenv.isDarwin;
+    ps     = if stdenv.isDarwin then darwin.ps else null;
+  };
 
   cmake-3_0 = callPackage ../development/tools/build-managers/cmake/3.0.nix { };
   cmake264 = callPackage ../development/tools/build-managers/cmake/264.nix { };
@@ -4682,8 +4691,8 @@ let
 
   csslint = callPackage ../development/web/csslint { };
 
-  libcxx = callPackage ../development/libraries/libc++ { stdenv = pkgs.clangStdenv; };
-  libcxxabi = callPackage ../development/libraries/libc++abi { stdenv = pkgs.clangStdenv; };
+  libcxx = llvmPackages_35.libcxx;
+  libcxxabi = llvmPackages_35.libcxxabi;
 
   libsigrok = callPackage ../development/tools/libsigrok { };
 
@@ -4891,11 +4900,7 @@ let
 
   peg = callPackage ../development/tools/parsing/peg { };
 
-  phantomjs = callPackage ../development/tools/phantomjs {
-    stdenv = if stdenv.isDarwin
-      then overrideCC stdenv gccApple
-      else stdenv;
-  };
+  phantomjs = callPackage ../development/tools/phantomjs { };
 
   pmccabe = callPackage ../development/tools/misc/pmccabe { };
 
@@ -5046,14 +5051,7 @@ let
     target = crossSystem;
   });
 
-  valgrind = callPackage ../development/tools/analysis/valgrind {
-    stdenv =
-      # On Darwin, Valgrind 3.7.0 expects Apple's GCC (for
-      # `__private_extern'.)
-      if stdenv.isDarwin
-      then overrideCC stdenv gccApple
-      else stdenv;
-  };
+  valgrind = callPackage ../development/tools/analysis/valgrind { };
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
@@ -5259,7 +5257,7 @@ let
 
   coredumper = callPackage ../development/libraries/coredumper { };
 
-  ctl = dropCxx (callPackage ../development/libraries/ctl { });
+  ctl = callPackage ../development/libraries/ctl { };
 
   cpp-netlib = callPackage ../development/libraries/cpp-netlib { };
 
@@ -5371,10 +5369,6 @@ let
 
   ffmpeg_0_10 = callPackage ../development/libraries/ffmpeg/0.10.nix {
     vpxSupport = !stdenv.isMips;
-
-    stdenv = if stdenv.isDarwin
-      then overrideCC stdenv gccApple
-      else stdenv;
   };
 
   ffmpeg_1 = callPackage ../development/libraries/ffmpeg/1.x.nix {
@@ -5685,12 +5679,7 @@ let
 
   pangox_compat = callPackage ../development/libraries/pangox-compat { };
 
-  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf {
-    # workaround signal 10 in gdk_pixbuf tests
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  gdk_pixbuf = callPackage ../development/libraries/gdk-pixbuf { };
 
   gnome-sharp = callPackage ../development/libraries/gnome-sharp {};
 
@@ -5770,6 +5759,10 @@ let
 
   hunspell = callPackage ../development/libraries/hunspell { };
 
+  hunspellDicts = recurseIntoAttrs (import ../development/libraries/hunspell/dictionaries.nix {
+    inherit stdenv fetchurl unzip;
+  });
+
   hwloc = callPackage ../development/libraries/hwloc {
     inherit (xlibs) libX11;
   };
@@ -5786,7 +5779,7 @@ let
 
   ilixi = callPackage ../development/libraries/ilixi { };
 
-  ilmbase = dropCxx (callPackage ../development/libraries/ilmbase { });
+  ilmbase = callPackage ../development/libraries/ilmbase { };
 
   imlib = callPackage ../development/libraries/imlib {
     libpng = libpng12;
@@ -5990,7 +5983,7 @@ let
 
   libdc1394avt = callPackage ../development/libraries/libdc1394avt { };
 
-  libdevil = dropCxx (callPackage ../development/libraries/libdevil { });
+  libdevil = callPackage ../development/libraries/libdevil { };
 
   libdiscid = callPackage ../development/libraries/libdiscid { };
 
@@ -6272,12 +6265,7 @@ let
 
   libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { };
 
-  libmikmod = callPackage ../development/libraries/libmikmod {
-    # resolve the "stray '@' in program" errors
-    stdenv = if stdenv.isDarwin
-      then overrideCC stdenv gccApple
-      else stdenv;
-  };
+  libmikmod = callPackage ../development/libraries/libmikmod { };
 
   libmilter = callPackage ../development/libraries/libmilter { };
 
@@ -6392,6 +6380,8 @@ let
 
   libpseudo = callPackage ../development/libraries/libpseudo { };
 
+  libpst = callPackage ../development/libraries/libpst { };
+
   libpwquality = callPackage ../development/libraries/libpwquality { };
 
   libqalculate = callPackage ../development/libraries/libqalculate { };
@@ -6447,12 +6437,7 @@ let
 
   libtomcrypt = callPackage ../development/libraries/libtomcrypt { };
 
-  libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar {
-    # fix "unrecognized option -arch" error
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  libtorrentRasterbar = callPackage ../development/libraries/libtorrent-rasterbar { };
 
   libtorrentRasterbar_0_16 = callPackage ../development/libraries/libtorrent-rasterbar/0.16.nix {
     # fix "unrecognized option -arch" error
@@ -6489,18 +6474,19 @@ let
   libunibreak = callPackage ../development/libraries/libunibreak { };
 
   libunique = callPackage ../development/libraries/libunique/default.nix { };
+  libunique3 = callPackage ../development/libraries/libunique/3.x.nix { inherit (gnome) gtkdoc; };
 
   liburcu = callPackage ../development/libraries/liburcu { };
 
   libusb = callPackage ../development/libraries/libusb {};
 
-  libusb1 = callPackage ../development/libraries/libusb1 {
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  libusb1 = callPackage ../development/libraries/libusb1 { };
+
+  libunwind = if stdenv.isDarwin
+    then callPackage ../development/libraries/libunwind/native.nix {}
+    else callPackage ../development/libraries/libunwind { };
 
-  libunwind = callPackage ../development/libraries/libunwind { };
+  libunwindNative = callPackage ../development/libraries/libunwind/native.nix {};
 
   libuvVersions = recurseIntoAttrs (callPackage ../development/libraries/libuv { });
 
@@ -6642,6 +6628,7 @@ let
     # makes it slower, but during runtime we link against just mesa_drivers
     # through /run/opengl-driver*, which is overriden according to config.grsecurity
     grsecEnabled = true;
+    llvm = llvm_34;
   });
   mesa_glu =  mesaDarwinOr (callPackage ../development/libraries/mesa-glu { });
   mesa_drivers = mesaDarwinOr (
@@ -6814,13 +6801,9 @@ let
   # this ctl version is needed by openexr_viewers
   openexr_ctl = callPackage ../development/libraries/openexr_ctl { };
 
-  openexr = dropCxx (callPackage ../development/libraries/openexr { });
+  openexr = callPackage ../development/libraries/openexr { };
 
-  openldap = callPackage ../development/libraries/openldap {
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  openldap = callPackage ../development/libraries/openldap { };
 
   openlierox = callPackage ../games/openlierox { };
 
@@ -6919,12 +6902,7 @@ let
 
   popt = callPackage ../development/libraries/popt { };
 
-  portaudio = callPackage ../development/libraries/portaudio {
-    # resolves a variety of compile-time errors
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  portaudio = callPackage ../development/libraries/portaudio { };
 
   portaudioSVN = callPackage ../development/libraries/portaudio/svn-head.nix { };
 
@@ -6974,11 +6952,6 @@ let
     mesa = mesa_noglu;
     inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
     cups = if stdenv.isLinux then cups else null;
-
-    # resolve unrecognised flag '-fconstant-cfstrings' errors
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   qt48Full = appendToName "full" (qt48.override {
@@ -7097,12 +7070,7 @@ let
 
   SDL_gfx = callPackage ../development/libraries/SDL_gfx { };
 
-  SDL_image = callPackage ../development/libraries/SDL_image {
-    # provide an Objective-C compiler
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  SDL_image = callPackage ../development/libraries/SDL_image { };
 
   SDL_mixer = callPackage ../development/libraries/SDL_mixer { };
 
@@ -7210,11 +7178,7 @@ let
     ncurses = null;
   });
 
-  stfl = callPackage ../development/libraries/stfl {
-    stdenv = if stdenv.isDarwin
-      then overrideCC stdenv gccApple
-      else stdenv;
-  };
+  stfl = callPackage ../development/libraries/stfl { };
 
   stlink = callPackage ../development/tools/misc/stlink { };
 
@@ -7389,21 +7353,11 @@ let
   wxGTK29 = callPackage ../development/libraries/wxGTK-2.9/default.nix {
     inherit (gnome) GConf;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
-
-    # use for Objective-C++ compiler
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   wxGTK30 = callPackage ../development/libraries/wxGTK-3.0/default.nix {
     inherit (gnome) GConf;
     withMesa = lib.elem system lib.platforms.mesaPlatforms;
-
-    # use for Objective-C++ compiler
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
   };
 
   wtk = callPackage ../development/libraries/wtk { };
@@ -7719,11 +7673,7 @@ let
 
   rhpl = callPackage ../development/python-modules/rhpl { };
 
-  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix {
-    stdenv = if stdenv.isDarwin
-      then clangStdenv
-      else stdenv;
-  };
+  pyqt4 = callPackage ../development/python-modules/pyqt/4.x.nix { };
 
   pysideApiextractor = callPackage ../development/python-modules/pyside/apiextractor.nix { };
 
@@ -7916,6 +7866,10 @@ let
 
   joseki = callPackage ../servers/http/joseki {};
 
+  kafka = callPackage ../servers/kafka { };
+
+  rdkafka = callPackage ../development/libraries/rdkafka { };
+
   leafnode = callPackage ../servers/news/leafnode { };
 
   lighttpd = callPackage ../servers/http/lighttpd { };
@@ -8230,13 +8184,15 @@ let
 
   zookeeper = callPackage ../servers/zookeeper { };
 
+  zookeeper_mt = callPackage ../development/libraries/zookeeper_mt { };
+  
   xquartz = callPackage ../servers/x11/xquartz { };
   quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; };
 
   xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix {
     inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig
       libxslt expat libpng zlib perl mesa_drivers spice_protocol
-      dbus libuuid openssl gperf m4 libevdev
+      dbus libuuid openssl gperf m4 libevdev tradcpp
       autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman;
     mesa = mesa_noglu;
     udev = if stdenv.isLinux then udev else null;
@@ -8358,14 +8314,17 @@ let
   cramfsswap = callPackage ../os-specific/linux/cramfsswap { };
 
   darwin = let
-    cmdline = (callPackage ../os-specific/darwin/command-line-tools {}).pure { inherit xpwn; };
+    cmdline = callPackage ../os-specific/darwin/command-line-tools {};
   in rec {
-    cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools-port {
+
+    cctools = forceNativeDrv (callPackage ../os-specific/darwin/cctools/port.nix {
       cross = assert crossSystem != null; crossSystem;
       inherit maloader;
       xctoolchain = xcode.toolchain;
     });
 
+    cctools_native = (callPackage ../os-specific/darwin/cctools/port.nix {}).native;
+
     maloader = callPackage ../os-specific/darwin/maloader {
       inherit opencflite;
     };
@@ -8374,9 +8333,14 @@ let
 
     xcode = callPackage ../os-specific/darwin/xcode {};
 
+    libc = callPackage ../os-specific/darwin/libc {};
+
     osx_sdk = callPackage ../os-specific/darwin/osx-sdk {};
     osx_private_sdk = callPackage ../os-specific/darwin/osx-private-sdk { inherit osx_sdk; };
 
+    ps = callPackage ../os-specific/darwin/adv_cmds/ps.nix {};
+    bootstrap_cmds   = callPackage ../os-specific/darwin/bootstrap-cmds {};
+
     security_tool = callPackage ../os-specific/darwin/security-tool { inherit osx_private_sdk; };
 
     cmdline_sdk   = cmdline.sdk;
@@ -8881,6 +8845,8 @@ let
 
   golint = callPackage ../development/tools/golint { };
 
+  godep = callPackage ../development/tools/godep { };
+
   gogoclient = callPackage ../os-specific/linux/gogoclient { };
 
   nss_ldap = callPackage ../os-specific/linux/nss_ldap { };
@@ -9184,9 +9150,11 @@ let
 
   ### DATA
 
-  andagii = callPackage ../data/fonts/andagii {};
+  andagii = callPackage ../data/fonts/andagii { };
+
+  android-udev-rules = callPackage ../os-specific/linux/android-udev-rules { };
 
-  anonymousPro = callPackage ../data/fonts/anonymous-pro {};
+  anonymousPro = callPackage ../data/fonts/anonymous-pro { };
 
   arkpandora_ttf = builderDefsPackage (import ../data/fonts/arkpandora) { };
 
@@ -9482,7 +9450,9 @@ let
 
   avrdudess = callPackage ../applications/misc/avrdudess { };
 
-  avxsynth = callPackage ../applications/video/avxsynth { };
+  avxsynth = callPackage ../applications/video/avxsynth {
+    libjpeg = libjpeg_original; # error: 'JCOPYRIGHT_SHORT' was not declared in this scope
+  };
 
   awesome-3-4 = callPackage ../applications/window-managers/awesome/3.4.nix {
     cairo = cairo.override { xcbSupport = true; };
@@ -9616,9 +9586,11 @@ let
 
   clipit = callPackage ../applications/misc/clipit { };
 
-  cmplayer = callPackage ../applications/video/cmplayer {
+  bomi = callPackage ../applications/video/bomi {
+    stdenv = overrideCC stdenv gcc49;
     pulseSupport = config.pulseaudio or false;
   };
+  cmplayer = bomi;
 
   cmus = callPackage ../applications/audio/cmus { };
 
@@ -10386,12 +10358,7 @@ let
 
   iptraf = callPackage ../applications/networking/iptraf { };
 
-  irssi = callPackage ../applications/networking/irc/irssi {
-    # compile with gccApple on darwin to support the -no-cpp-precompile flag
-    stdenv = if stdenv.isDarwin
-      then stdenvAdapters.overrideCC stdenv gccApple
-      else stdenv;
-  };
+  irssi = callPackage ../applications/networking/irc/irssi { };
 
   irssi_fish = callPackage ../applications/networking/irc/irssi/fish { };
 
@@ -10434,6 +10401,7 @@ let
   };
 
   kdeApps_14_12 = recurseIntoAttrs (callPackage ../applications/kde-apps-14.12 {
+    kf5 = kf55;
     stdenv = overrideCC stdenv gccStdInc;
   });
   kdeApps_latest = kdeApps_14_12;
@@ -10998,6 +10966,18 @@ let
     tag = "-qt5";
   };
 
+  quasselClient_qt5 = quassel_qt5.override {
+    monolithic = false;
+    client = true;
+    tag = "-client-qt5";
+  };
+
+  quasselDaemon_qt5 = quassel_qt5.override {
+    monolithic = false;
+    daemon = true;
+    tag = "-daemon-qt5";
+  };
+
   quirc = callPackage ../tools/graphics/quirc {};
 
   quodlibet = callPackage ../applications/audio/quodlibet {
@@ -11184,6 +11164,8 @@ let
 
   soxr = callPackage ../applications/misc/audio/soxr { };
 
+  spek = callPackage ../applications/audio/spek { };
+
   spotify = callPackage ../applications/audio/spotify {
     inherit (gnome) GConf;
     libpng = libpng12;
@@ -11433,9 +11415,6 @@ let
 
     # optional features by flags
     flags = [ "python" "X11" ]; # only flag "X11" by now
-
-    # so that we can use gccApple if we're building on darwin
-    inherit stdenvAdapters gccApple;
   });
 
   vimNox = lowPrio (vim_configurable.override { source = "vim-nox"; });
@@ -11448,7 +11427,7 @@ let
     inherit (pkgs.xlibs) libX11 libXext libSM libXpm libXt libXaw libXau libXmu
       libICE;
 
-    inherit (pkgs) stdenvAdapters gccApple;
+    inherit (pkgs) stdenvAdapters;
 
     features = "huge"; # one of  tiny, small, normal, big or huge
     lua = pkgs.lua5;
@@ -11788,6 +11767,11 @@ let
 
   xkb_switch = callPackage ../tools/X11/xkb-switch { };
 
+  xmonad-with-packages = callPackage ../applications/window-managers/xmonad/wrapper.nix {
+    ghcWithPackages = haskellngPackages.ghcWithPackages;
+    packages = self: [];
+  };
+
   xmonad_log_applet_gnome2 = callPackage ../applications/window-managers/xmonad-log-applet {
     desktopSupport = "gnome2";
     inherit (xfce) libxfce4util xfce4panel;
@@ -11819,6 +11803,8 @@ let
     inherit (gnome) libglade;
   };
 
+  xss-lock = callPackage ../misc/screensavers/xss-lock { };
+
   xsynth_dssi = callPackage ../applications/audio/xsynth-dssi { };
 
   xterm = callPackage ../applications/misc/xterm { };
@@ -12351,7 +12337,9 @@ let
 
       eventlist = callPackage ../applications/office/eventlist {};
 
-      k3b = callPackage ../applications/misc/k3b { };
+      k3b = callPackage ../applications/misc/k3b {
+        cdrtools = cdrkit;
+      };
 
       kadu = callPackage ../applications/networking/instant-messengers/kadu { };
 
@@ -13421,6 +13409,7 @@ let
 
   # Attributes for backward compatibility.
   adobeReader = adobe-reader;
+  arduino_core = arduino-core;  # added 2015-02-04
   asciidocFull = asciidoc-full;  # added 2014-06-22
   lttngTools = lttng-tools;  # added 2014-07-31
   lttngUst = lttng-ust;  # added 2014-07-31
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 5cb17e42464c..a8fa350e5b52 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7200,11 +7200,11 @@ let
 
   pgcli = buildPythonPackage rec {
     name = "pgcli-${version}";
-    version = "0.13.0";
+    version = "0.14.0";
 
     src = pkgs.fetchurl {
       url = "https://pypi.python.org/packages/source/p/pgcli/${name}.tar.gz";
-      sha256 = "15qw4as8ryl4qv3p3diq31xwa7kygrnsx4ixlfijgvfwr2pcmgxm";
+      sha256 = "0x31b3kvybdvd413h6b5iq4b5vv2x30ff1r00gs6ana0xpzzrqxp";
     };
 
     propagatedBuildInputs = with self; [ click jedi prompt_toolkit psycopg2 pygments sqlparse ];