diff options
Diffstat (limited to 'pkgs')
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 ]; |