get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.0/patches/2175799/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2175799,
    "url": "http://patchwork.ozlabs.org/api/1.0/patches/2175799/?format=api",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/1.0/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null
    },
    "msgid": "<20251218232255.3934258-5-trini@konsulko.com>",
    "date": "2025-12-18T23:10:16",
    "name": "[RFC,4/9] lzma: Update 9.22 -> 9.38",
    "commit_ref": null,
    "pull_url": null,
    "state": "rfc",
    "archived": false,
    "hash": "ab34081ea31b06a70c7298aa830915d29ce44ebf",
    "submitter": {
        "id": 65875,
        "url": "http://patchwork.ozlabs.org/api/1.0/people/65875/?format=api",
        "name": "Tom Rini",
        "email": "trini@konsulko.com"
    },
    "delegate": {
        "id": 3651,
        "url": "http://patchwork.ozlabs.org/api/1.0/users/3651/?format=api",
        "username": "trini",
        "first_name": "Tom",
        "last_name": "Rini",
        "email": "trini@ti.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20251218232255.3934258-5-trini@konsulko.com/mbox/",
    "series": [
        {
            "id": 485929,
            "url": "http://patchwork.ozlabs.org/api/1.0/series/485929/?format=api",
            "date": "2025-12-18T23:10:12",
            "name": "Update lzma to current version of LZMA SDK",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/485929/mbox/"
        }
    ],
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2175799/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=konsulko.com header.i=@konsulko.com header.a=rsa-sha256\n header.s=google header.b=ZO8oMBJB;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=konsulko.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de",
            "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=konsulko.com header.i=@konsulko.com\n header.b=\"ZO8oMBJB\";\n\tdkim-atps=neutral",
            "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=konsulko.com",
            "phobos.denx.de;\n spf=pass smtp.mailfrom=trini@konsulko.com"
        ],
        "Received": [
            "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dXRYp0TF7z1xty\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 19 Dec 2025 10:23:42 +1100 (AEDT)",
            "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 51374838FA;\n\tFri, 19 Dec 2025 00:23:08 +0100 (CET)",
            "by phobos.denx.de (Postfix, from userid 109)\n id 9D505833C6; Fri, 19 Dec 2025 00:23:06 +0100 (CET)",
            "from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com\n [IPv6:2607:f8b0:4864:20::32c])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id BC109835C6\n for <u-boot@lists.denx.de>; Fri, 19 Dec 2025 00:23:03 +0100 (CET)",
            "by mail-ot1-x32c.google.com with SMTP id\n 46e09a7af769-7c71cca8fc2so724412a34.1\n for <u-boot@lists.denx.de>; Thu, 18 Dec 2025 15:23:03 -0800 (PST)",
            "from bill-the-cat.. (fixed-189-203-103-235.totalplay.net.\n [189.203.103.235]) by smtp.gmail.com with ESMTPSA id\n 5614622812f47-457b3cc0928sm295333b6e.10.2025.12.18.15.23.01\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 18 Dec 2025 15:23:01 -0800 (PST)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=konsulko.com; s=google; t=1766100182; x=1766704982; darn=lists.denx.de;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=yH3e9mk8Hor0BHuIreJ8sQYoAcrdt3RVhCqwWecHgbA=;\n b=ZO8oMBJBCUMlTkmlDHHvcdM3KoxfSkx7WxS/5cPJlmZ+0MDNrUb8L7INyXEv2alwdD\n yftkMJOal/Kv+L4VfFhA4WmUKmSEL2Q6D8XCM52K5D7d36/3eBmk7Dh5nVxkVtfvZtsN\n 86DqhMCkA1+YRhGJdcscT0YKJtYd2RcmcyraY=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1766100182; x=1766704982;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=yH3e9mk8Hor0BHuIreJ8sQYoAcrdt3RVhCqwWecHgbA=;\n b=rduqxSHAnY8C8GCe2kyiRG0kDOSWW3fn8lyqEBndb3gXFkdZkbyu6jlo+U/Qq2bZWV\n m4qUvHvwLF1c2umvd6qlKskiQjT4tfYrHxJLkqS50Q2si04DBsjlAAin+NaE0p4ZTbS6\n dLmdQLSVWCdIQQuKyfIXBN5hNvXchsTiQzO1TtdmNhFdPzL+1S/HIeYI3G1cuAvVBGpE\n 3njZJUXdIvTv7VxeaR/Es8gF42bjEQqjgXtRnFvom7nN7BwSeqnjLbTT45IxCTPGeVAf\n FUQBX0FEzLA0D0El9hUrr0r8aM8uUexC/Nxe7V199Wud0XQ9tqqbYvSw6i1ssuxmri7D\n PthA==",
        "X-Gm-Message-State": "AOJu0Yx4TUmSUu+zxzmV5YaYnijlYV3FOWaBgFzH9Fn0ViMYdvtovSeW\n NcIt1J+aIX0FL/pEzvLW7GW37YCSXaInPdv2aTVJRaI/zbeyJLAWlfw0WpwQqsya3jy2oYyl3gy\n lQncvjCA=",
        "X-Gm-Gg": "AY/fxX63/Sa7vW1c/dQklZ1aSHv3TPSRNrUCEtl8VFs4s4t+uh+c653jL5iwbBpE+jG\n ePNhJX0tf0yfFS8h+E2s9SiuVpTUIt+CMq7sniZj0uIVIQVBrrlzH9SAcQHKXEM56IgN+xY79va\n 6MX68iZ8j7VoAw3B0CG+gCzLkKQm89my461JO45m3LsLxDwkTJXt3xnY7ZcGX26UAL8ch/iK+Bv\n EX0Ze/LY9NOD4hqGDfasGz5xsygHHNvhnoUHK1oLLnmeNWTcqT+Hmw79MzK9qXdgloeZBXgfhmG\n 3t8DebxuzGqEqbAt/Jb8QXacQI7rm50W9h45eSig34s+jPnuMr+0IX9hfpJGNikJ06I2r0ONqG8\n p59PiceQ3bcV4LeHLrdrPSjnc2bvBJ7Zg7FClLNMgmLfwmr/ePhBugeTK7zNDv5Cd2+ywdme8j1\n r5so+fh0fbdSoQZBkuVxCYqc2uOllKJCJIfR7ijQO7bvzaRWM90edQ",
        "X-Google-Smtp-Source": "\n AGHT+IHDl/arH+n20iG4CD5pu3vyx8gcdKaMVA3Ygz4QD7QZB54oG8Vr9WWYbo8X75dJ4NBfYF8yUA==",
        "X-Received": "by 2002:a05:6808:250d:b0:455:8b5b:c763 with SMTP id\n 5614622812f47-457b2201259mr653952b6e.67.1766100182322;\n Thu, 18 Dec 2025 15:23:02 -0800 (PST)",
        "From": "Tom Rini <trini@konsulko.com>",
        "To": "u-boot@lists.denx.de",
        "Cc": "Darek <x64x6a@gmail.com>",
        "Subject": "[RFC PATCH 4/9] lzma: Update 9.22 -> 9.38",
        "Date": "Thu, 18 Dec 2025 17:10:16 -0600",
        "Message-ID": "<20251218232255.3934258-5-trini@konsulko.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20251218232255.3934258-1-trini@konsulko.com>",
        "References": "<20251218232255.3934258-1-trini@konsulko.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.39",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>",
        "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de",
        "X-Virus-Status": "Clean"
    },
    "content": "Of note is that the license for this code is now found in the \"7zC.txt\"\nfile upstream, so include that.\n\nSigned-off-by: Tom Rini <trini@konsulko.com>\n---\n include/lzma/LzmaTypes.h        |   2 +-\n lib/lzma/7zC.txt                | 187 ++++++++++++++++++++++++++++++++\n lib/lzma/{Types.h => 7zTypes.h} |  14 ++-\n lib/lzma/Compiler.h             |  28 +++++\n lib/lzma/LzmaDec.c              |  48 ++++++--\n lib/lzma/LzmaDec.h              |   4 +-\n lib/lzma/Precomp.h              |  10 ++\n lib/lzma/license.txt            |   3 -\n 8 files changed, 275 insertions(+), 21 deletions(-)\n create mode 100644 lib/lzma/7zC.txt\n rename lib/lzma/{Types.h => 7zTypes.h} (96%)\n create mode 100644 lib/lzma/Compiler.h\n create mode 100644 lib/lzma/Precomp.h\n delete mode 100644 lib/lzma/license.txt",
    "diff": "diff --git a/include/lzma/LzmaTypes.h b/include/lzma/LzmaTypes.h\nindex 3670c3ff91e0..1bd39b40e8f3 100644\n--- a/include/lzma/LzmaTypes.h\n+++ b/include/lzma/LzmaTypes.h\n@@ -14,6 +14,6 @@\n  */\n #define Byte LZByte\n \n-#include \"../../lib/lzma/Types.h\"\n+#include \"../../lib/lzma/7zTypes.h\"\n \n #endif\ndiff --git a/lib/lzma/7zC.txt b/lib/lzma/7zC.txt\nnew file mode 100644\nindex 000000000000..10d3f4792f16\n--- /dev/null\n+++ b/lib/lzma/7zC.txt\n@@ -0,0 +1,187 @@\n+7z ANSI-C Decoder 9.35\n+----------------------\n+\n+7z ANSI-C provides 7z/LZMA decoding.\n+7z ANSI-C version is simplified version ported from C++ code.\n+\n+LZMA is default and general compression method of 7z format\n+in 7-Zip compression program (www.7-zip.org). LZMA provides high\n+compression ratio and very fast decompression.\n+\n+\n+LICENSE\n+-------\n+\n+7z ANSI-C Decoder is part of the LZMA SDK.\n+LZMA SDK is written and placed in the public domain by Igor Pavlov.\n+\n+Files\n+---------------------\n+\n+7zDecode.*   - Low level 7z decoding\n+7zExtract.*  - High level 7z decoding\n+7zHeader.*   - .7z format constants\n+7zIn.*       - .7z archive opening\n+7zItem.*     - .7z structures\n+7zMain.c     - Test application\n+\n+\n+How To Use\n+----------\n+\n+You can create .7z archive with 7z.exe, 7za.exe or 7zr.exe:\n+\n+  7z.exe a archive.7z *.htm -r -mx -m0fb=255\n+\n+If you have big number of files in archive, and you need fast extracting,\n+you can use partly-solid archives:\n+\n+  7za.exe a archive.7z *.htm -ms=512K -r -mx -m0fb=255 -m0d=512K\n+\n+In that example 7-Zip will use 512KB solid blocks. So it needs to decompress only\n+512KB for extracting one file from such archive.\n+\n+\n+Limitations of current version of 7z ANSI-C Decoder\n+---------------------------------------------------\n+\n+ - It reads only \"FileName\", \"Size\", \"LastWriteTime\" and \"CRC\" information for each file in archive.\n+ - It supports only LZMA and Copy (no compression) methods with BCJ or BCJ2 filters.\n+ - It converts original UTF-16 Unicode file names to UTF-8 Unicode file names.\n+\n+These limitations will be fixed in future versions.\n+\n+\n+Using 7z ANSI-C Decoder Test application:\n+-----------------------------------------\n+\n+Usage: 7zDec <command> <archive_name>\n+\n+<Command>:\n+  e: Extract files from archive\n+  l: List contents of archive\n+  t: Test integrity of archive\n+\n+Example:\n+\n+  7zDec l archive.7z\n+\n+lists contents of archive.7z\n+\n+  7zDec e archive.7z\n+\n+extracts files from archive.7z to current folder.\n+\n+\n+How to use .7z Decoder\n+----------------------\n+\n+Memory allocation\n+~~~~~~~~~~~~~~~~~\n+\n+7z Decoder uses two memory pools:\n+1) Temporary pool\n+2) Main pool\n+Such scheme can allow you to avoid fragmentation of allocated blocks.\n+\n+\n+Steps for using 7z decoder\n+--------------------------\n+\n+Use code at 7zMain.c as example.\n+\n+1) Declare variables:\n+  inStream                 /* implements ILookInStream interface */\n+  CSzArEx db;              /* 7z archive database structure */\n+  ISzAlloc allocImp;       /* memory functions for main pool */\n+  ISzAlloc allocTempImp;   /* memory functions for temporary pool */\n+\n+2) call CrcGenerateTable(); function to initialize CRC structures.\n+\n+3) call SzArEx_Init(&db); function to initialize db structures.\n+\n+4) call SzArEx_Open(&db, inStream, &allocMain, &allocTemp) to open archive\n+\n+This function opens archive \"inStream\" and reads headers to \"db\".\n+All items in \"db\" will be allocated with \"allocMain\" functions.\n+SzArEx_Open function allocates and frees temporary structures by \"allocTemp\" functions.\n+\n+5) List items or Extract items\n+\n+  Listing code:\n+  ~~~~~~~~~~~~~\n+\n+    Use SzArEx_GetFileNameUtf16 function. Look example code in C\\Util\\7z\\7zMain.c file.\n+\n+\n+  Extracting code:\n+  ~~~~~~~~~~~~~~~~\n+\n+  SZ_RESULT SzAr_Extract(\n+    CArchiveDatabaseEx *db,\n+    ILookInStream *inStream,\n+    UInt32 fileIndex,         /* index of file */\n+    UInt32 *blockIndex,       /* index of solid block */\n+    Byte **outBuffer,         /* pointer to pointer to output buffer (allocated with allocMain) */\n+    size_t *outBufferSize,    /* buffer size for output buffer */\n+    size_t *offset,           /* offset of stream for required file in *outBuffer */\n+    size_t *outSizeProcessed, /* size of file in *outBuffer */\n+    ISzAlloc *allocMain,\n+    ISzAlloc *allocTemp);\n+\n+  If you need to decompress more than one file, you can send these values from previous call:\n+    blockIndex,\n+    outBuffer,\n+    outBufferSize,\n+  You can consider \"outBuffer\" as cache of solid block. If your archive is solid,\n+  it will increase decompression speed.\n+\n+  After decompressing you must free \"outBuffer\":\n+  allocImp.Free(outBuffer);\n+\n+6) call SzArEx_Free(&db, allocImp.Free) to free allocated items in \"db\".\n+\n+\n+\n+\n+Memory requirements for .7z decoding\n+------------------------------------\n+\n+Memory usage for Archive opening:\n+  - Temporary pool:\n+     - Memory for uncompressed .7z headers\n+     - some other temporary blocks\n+  - Main pool:\n+     - Memory for database:\n+       Estimated size of one file structures in solid archive:\n+         - Size (4 or 8 Bytes)\n+         - CRC32 (4 bytes)\n+         - LastWriteTime (8 bytes)\n+         - Some file information (4 bytes)\n+         - File Name (variable length) + pointer + allocation structures\n+\n+Memory usage for archive Decompressing:\n+  - Temporary pool:\n+     - Memory for LZMA decompressing structures\n+  - Main pool:\n+     - Memory for decompressed solid block\n+     - Memory for temprorary buffers, if BCJ2 fileter is used. Usually these\n+       temprorary buffers can be about 15% of solid block size.\n+\n+\n+7z Decoder doesn't allocate memory for compressed blocks.\n+Instead of this, you must allocate buffer with desired\n+size before calling 7z Decoder. Use 7zMain.c as example.\n+\n+\n+Defines\n+-------\n+\n+_SZ_ALLOC_DEBUG   - define it if you want to debug alloc/free operations to stderr.\n+\n+\n+---\n+\n+http://www.7-zip.org\n+http://www.7-zip.org/sdk.html\n+http://www.7-zip.org/support.html\ndiff --git a/lib/lzma/Types.h b/lib/lzma/7zTypes.h\nsimilarity index 96%\nrename from lib/lzma/Types.h\nrename to lib/lzma/7zTypes.h\nindex 6f7e735c1f68..953db1afc49e 100644\n--- a/lib/lzma/Types.h\n+++ b/lib/lzma/7zTypes.h\n@@ -1,15 +1,15 @@\n-/* Types.h -- Basic types\n-2010-10-09 : Igor Pavlov : Public domain */\n+/* 7zTypes.h -- Basic types\n+2013-11-12 : Igor Pavlov : Public domain */\n \n #ifndef __7Z_TYPES_H\n #define __7Z_TYPES_H\n \n-#include <stddef.h>\n-\n #ifdef _WIN32\n-#include <windows.h>\n+/* #include <windows.h> */\n #endif\n \n+#include <stddef.h>\n+\n #define SZ_OK 0\n \n #define SZ_ERROR_DATA 1\n@@ -31,7 +31,8 @@\n typedef int SRes;\n \n #ifdef _WIN32\n-typedef DWORD WRes;\n+/* typedef DWORD WRes; */\n+typedef unsigned WRes;\n #else\n typedef int WRes;\n #endif\n@@ -97,6 +98,7 @@ typedef int Bool;\n \n #else\n \n+#define MY_NO_INLINE\n #define MY_CDECL\n #define MY_FAST_CALL\n \ndiff --git a/lib/lzma/Compiler.h b/lib/lzma/Compiler.h\nnew file mode 100644\nindex 000000000000..6e964897e1ee\n--- /dev/null\n+++ b/lib/lzma/Compiler.h\n@@ -0,0 +1,28 @@\n+/* Compiler.h -- Compiler ypes\n+2013-11-12 : Igor Pavlov : Public domain */\n+\n+#ifndef __7Z_COMPILER_H\n+#define __7Z_COMPILER_H\n+\n+#ifdef _MSC_VER\n+\n+  #ifdef UNDER_CE\n+    #define RPC_NO_WINDOWS_H\n+    /* #pragma warning(disable : 4115) // '_RPC_ASYNC_STATE' : named type definition in parentheses */\n+    #pragma warning(disable : 4201) // nonstandard extension used : nameless struct/union\n+    #pragma warning(disable : 4214) // nonstandard extension used : bit field types other than int\n+  #endif\n+\n+  #if _MSC_VER >= 1300\n+    #pragma warning(disable : 4996) // This function or variable may be unsafe\n+  #else\n+    #pragma warning(disable : 4511) // copy constructor could not be generated\n+    #pragma warning(disable : 4512) // assignment operator could not be generated\n+    #pragma warning(disable : 4702) // unreachable code\n+    #pragma warning(disable : 4710) // not inlined\n+    #pragma warning(disable : 4786) // identifier was truncated to '255' characters in the debug information\n+  #endif\n+\n+#endif\n+\n+#endif\ndiff --git a/lib/lzma/LzmaDec.c b/lib/lzma/LzmaDec.c\nindex c6ff8ef26758..53196e37076b 100644\n--- a/lib/lzma/LzmaDec.c\n+++ b/lib/lzma/LzmaDec.c\n@@ -1,5 +1,7 @@\n /* LzmaDec.c -- LZMA Decoder\n-2010-12-15 : Igor Pavlov : Public domain */\n+2015-01-01 : Igor Pavlov : Public domain */\n+\n+#include \"Precomp.h\"\n \n #include <config.h>\n #include <watchdog.h>\n@@ -46,6 +48,13 @@\n   i -= 0x40; }\n #endif\n \n+#define NORMAL_LITER_DEC GET_BIT(prob + symbol, symbol)\n+#define MATCHED_LITER_DEC \\\n+  matchByte <<= 1; \\\n+  bit = (matchByte & offs); \\\n+  probLit = prob + offs + bit + symbol; \\\n+  GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit)\n+\n #define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); }\n \n #define IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound)\n@@ -175,26 +184,47 @@ static int MY_FAST_CALL LzmaDec_DecodeReal(CLzmaDec *p, SizeT limit, const Byte\n       {\n         state -= (state < 4) ? state : 3;\n         symbol = 1;\n-\n-        do { GET_BIT(prob + symbol, symbol) } while (symbol < 0x100);\n+        #ifdef _LZMA_SIZE_OPT\n+        do { NORMAL_LITER_DEC } while (symbol < 0x100);\n+        #else\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        NORMAL_LITER_DEC\n+        #endif\n       }\n       else\n       {\n-        unsigned matchByte = p->dic[(dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0)];\n+        unsigned matchByte = dic[(dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0)];\n         unsigned offs = 0x100;\n         state -= (state < 10) ? 3 : 6;\n         symbol = 1;\n-\n+        #ifdef _LZMA_SIZE_OPT\n         do\n         {\n           unsigned bit;\n           CLzmaProb *probLit;\n-          matchByte <<= 1;\n-          bit = (matchByte & offs);\n-          probLit = prob + offs + bit + symbol;\n-          GET_BIT2(probLit, symbol, offs &= ~bit, offs &= bit)\n+          MATCHED_LITER_DEC\n         }\n         while (symbol < 0x100);\n+        #else\n+        {\n+          unsigned bit;\n+          CLzmaProb *probLit;\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+          MATCHED_LITER_DEC\n+        }\n+        #endif\n       }\n       dic[dicPos++] = (Byte)symbol;\n       processedPos++;\ndiff --git a/lib/lzma/LzmaDec.h b/lib/lzma/LzmaDec.h\nindex 14b247b802bf..1e266991fd08 100644\n--- a/lib/lzma/LzmaDec.h\n+++ b/lib/lzma/LzmaDec.h\n@@ -1,10 +1,10 @@\n /* LzmaDec.h -- LZMA Decoder\n-2009-02-07 : Igor Pavlov : Public domain */\n+2013-01-18 : Igor Pavlov : Public domain */\n \n #ifndef __LZMA_DEC_H\n #define __LZMA_DEC_H\n \n-#include \"Types.h\"\n+#include \"7zTypes.h\"\n \n /* #define _LZMA_PROB32 */\n /* _LZMA_PROB32 can increase the speed on some CPUs,\ndiff --git a/lib/lzma/Precomp.h b/lib/lzma/Precomp.h\nnew file mode 100644\nindex 000000000000..e8ff8b40e81a\n--- /dev/null\n+++ b/lib/lzma/Precomp.h\n@@ -0,0 +1,10 @@\n+/* Precomp.h -- StdAfx\n+2013-11-12 : Igor Pavlov : Public domain */\n+\n+#ifndef __7Z_PRECOMP_H\n+#define __7Z_PRECOMP_H\n+\n+#include \"Compiler.h\"\n+/* #include \"7zTypes.h\" */\n+\n+#endif\ndiff --git a/lib/lzma/license.txt b/lib/lzma/license.txt\ndeleted file mode 100644\nindex 48b9820c4081..000000000000\n--- a/lib/lzma/license.txt\n+++ /dev/null\n@@ -1,3 +0,0 @@\n-               License\n-\n-LZMA SDK is placed in the public domain.\n",
    "prefixes": [
        "RFC",
        "4/9"
    ]
}