pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/www/firefox60 Update to 60.5.2



details:   https://anonhg.NetBSD.org/pkgsrc/rev/673a46ef8779
branches:  trunk
changeset: 392269:673a46ef8779
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Tue Feb 26 11:23:53 2019 +0000

description:
Update to 60.5.2

Changelog:
60.5.2
Fixed a frequent crash when reading various Reuters news articles (bug 1505844)

60.5.1
#CVE-2018-18356: Use-after-free in Skia
#CVE-2019-5785: Integer overflow in Skia
#CVE-2018-18335: Buffer overflow in Skia with accelerated Canvas 2D

60.5.0
#CVE-2018-18500: Use-after-free parsing HTML5 stream
#CVE-2018-18505: Privilege escalation through IPC channel messages
#CVE-2018-18501: Memory safety bugs fixed in Firefox 65 and Firefox ESR 60.5

diffstat:

 www/firefox60/Makefile                                                       |    6 +-
 www/firefox60/distinfo                                                       |   32 +-
 www/firefox60/mozilla-common.mk                                              |    8 +-
 www/firefox60/patches/patch-dom_media_CubebUtils.cpp                         |   19 +-
 www/firefox60/patches/patch-image_decoders_nsJPEGDecoder.cpp                 |  367 ----------
 www/firefox60/patches/patch-ipc_chromium_src_base_message__pump__libevent.cc |   20 +-
 www/firefox60/patches/patch-ipc_chromium_src_base_platform__thread__posix.cc |   11 +-
 www/firefox60/patches/patch-ipc_glue_CrossProcessSemaphore__posix.cpp        |   50 +-
 www/firefox60/patches/patch-js_src_gc_Memory.cpp                             |   37 +-
 www/firefox60/patches/patch-js_src_util_NativeStack.cpp                      |   26 +-
 www/firefox60/patches/patch-js_src_wasm_WasmSignalHandlers.cpp               |   22 +-
 www/firefox60/patches/patch-media_libyuv_libyuv_source_mjpeg__decoder.cc     |   13 -
 www/firefox60/patches/patch-toolkit_xre_glxtest.cpp                          |   19 +-
 www/firefox60/patches/patch-xpcom_base_nscore.h                              |   12 +-
 www/firefox60/patches/patch-xpcom_build_BinaryPath.h                         |   22 +-
 15 files changed, 130 insertions(+), 534 deletions(-)

diffs (truncated from 915 to 300 lines):

diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/Makefile
--- a/www/firefox60/Makefile    Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/Makefile    Tue Feb 26 11:23:53 2019 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2019/01/29 22:33:58 tnn Exp $
+# $NetBSD: Makefile,v 1.14 2019/02/26 11:23:53 ryoon Exp $
 
 FIREFOX_VER=           ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH=            60.4
-MOZ_BRANCH_MINOR=      .0esr
+MOZ_BRANCH=            60.5
+MOZ_BRANCH_MINOR=      .2esr
 
 DISTNAME=      firefox-${FIREFOX_VER}.source
 PKGNAME=       firefox${MOZ_BRANCH:C/\..*$//}-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/distinfo
--- a/www/firefox60/distinfo    Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/distinfo    Tue Feb 26 11:23:53 2019 +0000
@@ -1,28 +1,27 @@
-$NetBSD: distinfo,v 1.4 2018/12/16 07:38:47 ryoon Exp $
+$NetBSD: distinfo,v 1.5 2019/02/26 11:23:53 ryoon Exp $
 
-SHA1 (firefox-60.4.0esr.source.tar.xz) = 0fa5a71ce2cb90ea4be719a92645aa09dff3721f
-RMD160 (firefox-60.4.0esr.source.tar.xz) = f0b67654864aadb454923cd1ac9abffe0ac20c7c
-SHA512 (firefox-60.4.0esr.source.tar.xz) = 8119f52b2fc06f76868bf0781fec9d46c8551f0a3ca832ac9bdef6aa6d77c1d785e50d35059f0df5e3586f3396b912af06e448d65e7f5d1f468338eebe8b2cd4
-Size (firefox-60.4.0esr.source.tar.xz) = 268425148 bytes
+SHA1 (firefox-60.5.2esr.source.tar.xz) = a6fd649d5a9e3943fb3e67a5e45f856a154b0483
+RMD160 (firefox-60.5.2esr.source.tar.xz) = ba8bb525e8a307c97f4ec4b1e20ab14781a83097
+SHA512 (firefox-60.5.2esr.source.tar.xz) = 5be7e5aefcd038b83a6859004042e796fee5adb48d1a010547ba5fb6eb9c69b11267d56ae9f55ea8f9e7859ea8d600fb93e03e3712f6f9c023370b53c0f5efcd
+Size (firefox-60.5.2esr.source.tar.xz) = 268056844 bytes
 SHA1 (patch-aa) = fdabcc9b055f6439fdbda9b38ab7cec08ff3e231
 SHA1 (patch-browser_app_profile_firefox.js) = 9a43095d94f83f315b9a3ce4a7b0a4301e9c40e6
 SHA1 (patch-build_moz.configure_old.configure) = 1df6867eaf73a350fbe8fcd5bd34e1fcab09d707
 SHA1 (patch-build_moz.configure_rust.configure) = 2818454ba4df3cbd85174edc4828206b3bf0a82b
 SHA1 (patch-dom_fetch_FetchConsumer.cpp) = a164b68b968633e2f2e29c1c3917a77ac55a886b
-SHA1 (patch-dom_media_CubebUtils.cpp) = 3632cd0dd4b95f53f01050b8898b33fe198916b6
+SHA1 (patch-dom_media_CubebUtils.cpp) = 76fc35167e603f96450f4bc17cd0d76157a22dd3
 SHA1 (patch-gfx_angle_checkout_src_common_third__party_smhasher_src_PMurHash.cpp) = f1d0adae2873545818072adb4e8599267bc4e6c5
 SHA1 (patch-gfx_webrender_src_query.rs) = 6434b0fc1d6441ddb555a2a3b199564b488ec336
-SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = ed86c3fbb3aef753eec6f6a97940594aac5f3f2f
 SHA1 (patch-ipc_chromium_src_base_lock__impl__posix.cc) = 16e37fe54ba1d8d233f6b04dbd06e248305d7f6e
-SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = 99b9f3f9dd88f1c8008d2fb6058450695394f5cf
-SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 5b0bfe78e105cc3f395d5afda25a50afc6289f03
+SHA1 (patch-ipc_chromium_src_base_message__pump__libevent.cc) = cdb159f0ede970b150eca4cc5e0d1b2cf4e414b2
+SHA1 (patch-ipc_chromium_src_base_platform__thread__posix.cc) = 0809f1b12d3627e36cd32dce46a332abd7a74e6b
 SHA1 (patch-ipc_glue_CrossProcessSemaphore.h) = 778a569887d8ad082abc2fa2fe89a0a943e84d64
-SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 3052338871447cedaeafe8369afe82233183c884
+SHA1 (patch-ipc_glue_CrossProcessSemaphore__posix.cpp) = 8775f39cdf91f61754474dde79f3895658348b02
 SHA1 (patch-ipc_glue_GeckoChildProcessHost.cpp) = 260c29bacd8bf265951b7a412f850bf2b292c836
-SHA1 (patch-js_src_gc_Memory.cpp) = 40d8285d3f5a060e68a2884dd81b39950f45ff95
+SHA1 (patch-js_src_gc_Memory.cpp) = b27f68d31f584052dfb8a2d3132efc844c52c8e4
 SHA1 (patch-js_src_threading_posix_Thread.cpp) = 47e612a676e614fd6dd43b8a3140218a3fbdc7fa
-SHA1 (patch-js_src_util_NativeStack.cpp) = c02781c07942d2aa037d5123cc09cb73d5e73316
-SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = 1c665a9383638774c00f6c5fead5d786b6c7944a
+SHA1 (patch-js_src_util_NativeStack.cpp) = 3af7d3c90ce9299f0a95b938ca903488e7809d0a
+SHA1 (patch-js_src_wasm_WasmSignalHandlers.cpp) = 5442266a05721a9f4a3c9d12429bd1d59ecd936a
 SHA1 (patch-media_libcubeb_gtest_moz.build) = 921a001726cda9e9782df5e59ae02b19d76ef47e
 SHA1 (patch-media_libcubeb_src_cubeb.c) = 1b1b8d57eb710cad13518ded79a0ddee2681881b
 SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 3ee36f58bb525767c7d2b9e814ba4ccaa4868717
@@ -30,7 +29,6 @@
 SHA1 (patch-media_libcubeb_src_moz.build) = f243068c8908dcb16434221edef8c65db3bb0c83
 SHA1 (patch-media_libcubeb_update.sh) = 3a322de06bbe9aafba9da349954ef022bd094992
 SHA1 (patch-media_libpng_pngpriv.h) = c8084332560017cd7c9b519b61d125fa28af0dbc
-SHA1 (patch-media_libyuv_libyuv_source_mjpeg__decoder.cc) = 8a264c439fa4749cd7c5acf96e1ae3f9bae0a886
 SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__device_linux_audio__device__alsa__linux.cc) = 91e8ce496c1f4dbbd0a463d83cb033afd1de3f49
 SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info__linux.cc) = 0141dd1372c13ea1fce6e2f5ffb65e0cb0f3a13e
 SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = a69bc7b7096b410582e725f9dbec57fee90d6686
@@ -40,7 +38,7 @@
 SHA1 (patch-toolkit_library_moz.build) = ecb6125e996d5496335c58ecd3433ad3214f29f0
 SHA1 (patch-toolkit_moz.configure) = 40ee147cc1d2c62dd6c83b3f67ce9e61f758ea57
 SHA1 (patch-toolkit_mozapps_installer_packager.mk) = 6f557fb732f0b9dabf059ffac0400d3db4e79e47
-SHA1 (patch-toolkit_xre_glxtest.cpp) = cf048491778610454b914400e53072afedd96e7b
-SHA1 (patch-xpcom_base_nscore.h) = d7c96eda884d7f370442749c43caba50da61bbe4
-SHA1 (patch-xpcom_build_BinaryPath.h) = 65af561d663d605134ff2b6c51a268b525f6ac15
+SHA1 (patch-toolkit_xre_glxtest.cpp) = e02b1073fe1a6f36872b10883455c8be59ff81e9
+SHA1 (patch-xpcom_base_nscore.h) = 3f131370b9665a0af55cab7f8f54723ebbc389fa
+SHA1 (patch-xpcom_build_BinaryPath.h) = fcaca939aca30a4ae07414cd5e6b1497ac3a1178
 SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__sparc64__netbsd.cpp) = 0792c2c626d906e71c5183994cb32bf8cdb3e239
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/mozilla-common.mk
--- a/www/firefox60/mozilla-common.mk   Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/mozilla-common.mk   Tue Feb 26 11:23:53 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.2 2018/10/23 12:33:04 jperkin Exp $
+# $NetBSD: mozilla-common.mk,v 1.3 2019/02/26 11:23:53 ryoon Exp $
 #
 # common Makefile fragment for mozilla packages based on gecko 2.0.
 #
@@ -66,14 +66,14 @@
 CONFIGURE_ARGS+=       --with-system-icu
 CONFIGURE_ARGS+=       --with-system-nss
 CONFIGURE_ARGS+=       --with-system-nspr
-CONFIGURE_ARGS+=       --with-system-jpeg
+#CONFIGURE_ARGS+=      --with-system-jpeg
 CONFIGURE_ARGS+=       --with-system-zlib
 CONFIGURE_ARGS+=       --with-system-bz2
 CONFIGURE_ARGS+=       --with-system-libevent=${BUILDLINK_PREFIX.libevent}
 CONFIGURE_ARGS+=       --disable-crashreporter
 CONFIGURE_ARGS+=       --disable-necko-wifi
 CONFIGURE_ARGS+=       --enable-chrome-format=flat
-CONFIGURE_ARGS+=       --disable-libjpeg-turbo
+#CONFIGURE_ARGS+=      --disable-libjpeg-turbo
 
 CONFIGURE_ARGS+=       --disable-gconf
 #CONFIGURE_ARGS+=      --enable-readline
@@ -196,7 +196,7 @@
 BUILDLINK_API_DEPENDS.nss+=    nss>=3.35
 .include "../../devel/nss/buildlink3.mk"
 .include "../../devel/zlib/buildlink3.mk"
-.include "../../mk/jpeg.buildlink3.mk"
+#.include "../../mk/jpeg.buildlink3.mk"
 .include "../../graphics/MesaLib/buildlink3.mk"
 #BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
 #.include "../../graphics/cairo/buildlink3.mk"
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/patches/patch-dom_media_CubebUtils.cpp
--- a/www/firefox60/patches/patch-dom_media_CubebUtils.cpp      Tue Feb 26 10:58:25 2019 +0000
+++ b/www/firefox60/patches/patch-dom_media_CubebUtils.cpp      Tue Feb 26 11:23:53 2019 +0000
@@ -1,14 +1,13 @@
-$NetBSD: patch-dom_media_CubebUtils.cpp,v 1.1 2018/06/28 14:04:10 ryoon Exp $
+$NetBSD: patch-dom_media_CubebUtils.cpp,v 1.2 2019/02/26 11:23:53 ryoon Exp $
 
---- dom/media/CubebUtils.cpp.orig      2017-04-11 04:15:21.000000000 +0000
+--- dom/media/CubebUtils.cpp.orig      2019-02-13 14:19:37.000000000 +0000
 +++ dom/media/CubebUtils.cpp
-@@ -71,7 +71,8 @@ const char* AUDIOSTREAM_BACKEND_ID_STR[]
-   "sndio",
-   "opensl",
-   "audiotrack",
--  "kai"
-+  "kai",
-+  "oss",
- };
+@@ -143,7 +143,7 @@ const char kBrandBundleURL[] = "chrome:/
+ 
+ const char* AUDIOSTREAM_BACKEND_ID_STR[] = {
+     "jack",  "pulse",       "alsa",  "audiounit", "audioqueue", "wasapi",
+-    "winmm", "directsound", "sndio", "opensl",    "audiotrack", "kai"};
++    "winmm", "directsound", "sndio", "opensl",    "audiotrack", "kai", "oss"};
  /* Index for failures to create an audio stream the first time. */
  const int CUBEB_BACKEND_INIT_FAILURE_FIRST =
+     ArrayLength(AUDIOSTREAM_BACKEND_ID_STR);
diff -r fcac23d7baa6 -r 673a46ef8779 www/firefox60/patches/patch-image_decoders_nsJPEGDecoder.cpp
--- a/www/firefox60/patches/patch-image_decoders_nsJPEGDecoder.cpp      Tue Feb 26 10:58:25 2019 +0000
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,367 +0,0 @@
-$NetBSD: patch-image_decoders_nsJPEGDecoder.cpp,v 1.1 2018/06/28 14:04:10 ryoon Exp $
-
-Partially revert https://bugzilla.mozilla.org/show_bug.cgi?id=791305
-to allow building against jpeg (not jpeg-turbo).
-
---- image/decoders/nsJPEGDecoder.cpp.orig      2016-10-31 20:15:32.000000000 +0000
-+++ image/decoders/nsJPEGDecoder.cpp
-@@ -28,13 +28,28 @@
- 
- extern "C" {
- #include "iccjpeg.h"
--}
- 
-+#ifdef JCS_EXTENSIONS
- #if MOZ_BIG_ENDIAN
- #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_XRGB
- #else
- #define MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB JCS_EXT_BGRX
- #endif
-+#else
-+/* Colorspace conversion (copied from jpegint.h) */
-+struct jpeg_color_deconverter {
-+  JMETHOD(void, start_pass, (j_decompress_ptr cinfo));
-+  JMETHOD(void, color_convert, (j_decompress_ptr cinfo,
-+                              JSAMPIMAGE input_buf, JDIMENSION input_row,
-+                              JSAMPARRAY output_buf, int num_rows));
-+};
-+
-+METHODDEF(void)
-+ycc_rgb_convert_argb (j_decompress_ptr cinfo,
-+                 JSAMPIMAGE input_buf, JDIMENSION input_row,
-+                 JSAMPARRAY output_buf, int num_rows);
-+#endif
-+}
- 
- static void cmyk_convert_rgb(JSAMPROW row, JDIMENSION width);
- 
-@@ -360,6 +375,7 @@ nsJPEGDecoder::ReadJPEGData(const char* 
-         case JCS_GRAYSCALE:
-         case JCS_RGB:
-         case JCS_YCbCr:
-+#ifdef JCS_EXTENSIONS
-           // if we're not color managing we can decode directly to
-           // MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB
-           if (mCMSMode != eCMSMode_All) {
-@@ -368,6 +384,9 @@ nsJPEGDecoder::ReadJPEGData(const char* 
-           } else {
-               mInfo.out_color_space = JCS_RGB;
-           }
-+#else
-+          mInfo.out_color_space = JCS_RGB;
-+#endif
-           break;
-         case JCS_CMYK:
-         case JCS_YCCK:
-@@ -441,6 +460,16 @@ nsJPEGDecoder::ReadJPEGData(const char* 
-       return Transition::ContinueUnbuffered(State::JPEG_DATA); // I/O suspension
-     }
- 
-+#ifndef JCS_EXTENSIONS
-+    /* Force to use our YCbCr to Packed RGB converter when possible */
-+    if (!mTransform && (mCMSMode != eCMSMode_All) &&
-+        mInfo.jpeg_color_space == JCS_YCbCr && mInfo.out_color_space == JCS_RGB) {
-+      /* Special case for the most common case: transform from YCbCr direct into packed ARGB */
-+      mInfo.out_color_components = 4; /* Packed ARGB pixels are always 4 bytes...*/
-+      mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
-+    }
-+#endif
-+
-     // If this is a progressive JPEG ...
-     mState = mInfo.buffered_image ?
-              JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
-@@ -638,7 +667,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
- 
-       MOZ_ASSERT(imageRow, "Should have a row buffer here");
- 
-+#ifdef JCS_EXTENSIONS
-       if (mInfo.out_color_space == MOZ_JCS_EXT_NATIVE_ENDIAN_XRGB) {
-+#else
-+      if (mInfo.cconvert->color_convert == ycc_rgb_convert_argb) {
-+#endif
-         // Special case: scanline will be directly converted into packed ARGB
-         if (jpeg_read_scanlines(&mInfo, (JSAMPARRAY)&imageRow, 1) != 1) {
-           *suspend = true; // suspend
-@@ -962,6 +995,282 @@ term_source (j_decompress_ptr jd)
- } // namespace image
- } // namespace mozilla
- 
-+#ifndef JCS_EXTENSIONS
-+/**************** YCbCr -> Cairo's RGB24/ARGB32 conversion: most common case **************/
-+
-+/*
-+ * YCbCr is defined per CCIR 601-1, except that Cb and Cr are
-+ * normalized to the range 0..MAXJSAMPLE rather than -0.5 .. 0.5.
-+ * The conversion equations to be implemented are therefore
-+ *      R = Y                + 1.40200 * Cr
-+ *      G = Y - 0.34414 * Cb - 0.71414 * Cr
-+ *      B = Y + 1.77200 * Cb
-+ * where Cb and Cr represent the incoming values less CENTERJSAMPLE.
-+ * (These numbers are derived from TIFF 6.0 section 21, dated 3-June-92.)
-+ *
-+ * To avoid floating-point arithmetic, we represent the fractional constants
-+ * as integers scaled up by 2^16 (about 4 digits precision); we have to divide
-+ * the products by 2^16, with appropriate rounding, to get the correct answer.
-+ * Notice that Y, being an integral input, does not contribute any fraction
-+ * so it need not participate in the rounding.
-+ *
-+ * For even more speed, we avoid doing any multiplications in the inner loop
-+ * by precalculating the constants times Cb and Cr for all possible values.
-+ * For 8-bit JSAMPLEs this is very reasonable (only 256 entries per table);
-+ * for 12-bit samples it is still acceptable.  It's not very reasonable for
-+ * 16-bit samples, but if you want lossless storage you shouldn't be changing
-+ * colorspace anyway.
-+ * The Cr=>R and Cb=>B values can be rounded to integers in advance; the
-+ * values for the G calculation are left scaled up, since we must add them
-+ * together before rounding.
-+ */
-+
-+#define SCALEBITS       16      /* speediest right-shift on some machines */
-+
-+/* Use static tables for color processing. */
-+/* Four tables, each 256 entries of 4 bytes totals 4K which is not bad... */
-+
-+const int Cr_r_tab[(MAXJSAMPLE+1) * sizeof(int)] ={
-+       -0xb3,       -0xb2,       -0xb1,       -0xaf,       -0xae,       -0xac,
-+       -0xab,       -0xaa,       -0xa8,       -0xa7,       -0xa5,       -0xa4,
-+       -0xa3,       -0xa1,       -0xa0,       -0x9e,       -0x9d,       -0x9c,
-+       -0x9a,       -0x99,       -0x97,       -0x96,       -0x95,       -0x93,
-+       -0x92,       -0x90,       -0x8f,       -0x8e,       -0x8c,       -0x8b,
-+       -0x89,       -0x88,       -0x87,       -0x85,       -0x84,       -0x82,
-+       -0x81,       -0x80,       -0x7e,       -0x7d,       -0x7b,       -0x7a,
-+       -0x79,       -0x77,       -0x76,       -0x74,       -0x73,       -0x72,
-+       -0x70,       -0x6f,       -0x6d,       -0x6c,       -0x6b,       -0x69,
-+       -0x68,       -0x66,       -0x65,       -0x64,       -0x62,       -0x61,
-+       -0x5f,       -0x5e,       -0x5d,       -0x5b,       -0x5a,       -0x58,
-+       -0x57,       -0x56,       -0x54,       -0x53,       -0x51,       -0x50,
-+       -0x4f,       -0x4d,       -0x4c,       -0x4a,       -0x49,       -0x48,
-+       -0x46,       -0x45,       -0x43,       -0x42,       -0x40,       -0x3f,
-+       -0x3e,       -0x3c,       -0x3b,       -0x39,       -0x38,       -0x37,
-+       -0x35,       -0x34,       -0x32,       -0x31,       -0x30,       -0x2e,
-+       -0x2d,       -0x2b,       -0x2a,       -0x29,       -0x27,       -0x26,
-+       -0x24,       -0x23,       -0x22,       -0x20,       -0x1f,       -0x1d,
-+       -0x1c,       -0x1b,       -0x19,       -0x18,       -0x16,       -0x15,
-+       -0x14,       -0x12,       -0x11,       -0x0f,       -0x0e,       -0x0d,
-+       -0x0b,       -0x0a,       -0x08,       -0x07,       -0x06,       -0x04,
-+       -0x03,       -0x01,        0x00,        0x01,        0x03,        0x04,
-+        0x06,        0x07,        0x08,        0x0a,        0x0b,        0x0d,
-+        0x0e,        0x0f,        0x11,        0x12,        0x14,        0x15,
-+        0x16,        0x18,        0x19,        0x1b,        0x1c,        0x1d,
-+        0x1f,        0x20,        0x22,        0x23,        0x24,        0x26,
-+        0x27,        0x29,        0x2a,        0x2b,        0x2d,        0x2e,
-+        0x30,        0x31,        0x32,        0x34,        0x35,        0x37,
-+        0x38,        0x39,        0x3b,        0x3c,        0x3e,        0x3f,
-+        0x40,        0x42,        0x43,        0x45,        0x46,        0x48,
-+        0x49,        0x4a,        0x4c,        0x4d,        0x4f,        0x50,
-+        0x51,        0x53,        0x54,        0x56,        0x57,        0x58,



Home | Main Index | Thread Index | Old Index