From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 62252 invoked by alias); 4 Jan 2017 17:43:52 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 62239 invoked by uid 89); 4 Jan 2017 17:43:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=BAYES_50,KAM_MANYCOMMENTS,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy=15000000000, numbered, 00000000000, be X-HELO: userp1040.oracle.com Received: from userp1040.oracle.com (HELO userp1040.oracle.com) (156.151.31.81) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 04 Jan 2017 17:43:40 +0000 Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v04Hhagd006059 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 4 Jan 2017 17:43:36 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id v04HhZAN032044 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 4 Jan 2017 17:43:35 GMT Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id v04HhX7P028242; Wed, 4 Jan 2017 17:43:34 GMT Received: from [10.163.45.69] (/10.163.45.69) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 04 Jan 2017 09:43:32 -0800 Subject: Re: [PATCH] Bug 20936 - provide sparc and sparcv9 target description XML files To: Yao Qi References: <46200a1e-29f7-8e20-c0b5-3f6f25c82d45@oracle.com> <20161206152616.GC28789@E107787-LIN> <83d4c58d-0834-4fc2-6194-72408510aa8a@oracle.com> <20161212125331.GB25542@E107787-LIN> Cc: gdb-patches@sourceware.org From: Ivo Raisr Message-ID: <082f9ac8-3e46-42cd-198d-91866d83ebb8@oracle.com> Date: Wed, 04 Jan 2017 17:43:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: <20161212125331.GB25542@E107787-LIN> Content-Type: multipart/mixed; boundary="------------2F2140B02A0B61ECF6A9FB09" X-SW-Source: 2017-01/txt/msg00059.txt.bz2 This is a multi-part message in MIME format. --------------2F2140B02A0B61ECF6A9FB09 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 5025 On 12.12.2016 13:53, Yao Qi wrote: > Hi Ivo, > Your patch does two orthogonal things IMO, > > - Pseudo register support enhancement, patch #1 > - XML target description support and sparc*-tdep.c updates, patch #2, > > Can you split them to two patches? Hi Yao, Thank you for looking into my changes. I think I can see your motivation behind splitting the patch into two, for better readability and manageability. However my intention was only to provide support for registers supplied by target description (Valgrind shadow registers in addition to sparc real hardware ones). Pseudo register changes were just a necessity to get this done because Valgrind shadow registers are considered as "real" registers and thus they are numbered before any pseudo registers. This also means I cannot draw a clear line between your suggested patch #1 and #2. Can you take my whole patch as is? > I prefer to using register names provided by target description, does > the code below work for you? > > if (tdesc_has_registers (gdbarch_target_desc (gdbarch))) > return tdesc_register_name (gdbarch, rawnum); > else if (regnum >= 0 && regnum < gdbarch_num_regs (gdbarch)) > return sparc32_register_names[regnum]; > else > return sparc32_pseudo_register_name (gdbarch, regnum); Yes, it does. Fixed also in other functions returning register names and types. >> - /* Pseudo registers. */ >> +/* Pseudo registers. */ >> +enum sparc32_pseudo_regnum >> +{ >> SPARC32_D0_REGNUM, /* %d0 */ > Explicitly set it to zero. Fixed. >> @@ -969,19 +1002,24 @@ sparc64_store_arguments (struct regcache >> >> /* If we're storing the value in a floating-point register, >> also store it in the corresponding %0 register(s). */ >> - if (regnum >= SPARC64_D0_REGNUM && regnum <= SPARC64_D10_REGNUM) >> - { >> - gdb_assert (element < 6); >> - regnum = SPARC_O0_REGNUM + element; >> - regcache_cooked_write (regcache, regnum, valbuf); >> - } >> - else if (regnum >= SPARC64_Q0_REGNUM && regnum <= SPARC64_Q8_REGNUM) >> - { >> - gdb_assert (element < 5); >> - regnum = SPARC_O0_REGNUM + element; >> - regcache_cooked_write (regcache, regnum, valbuf); >> - regcache_cooked_write (regcache, regnum + 1, valbuf + 8); >> - } >> + if (regnum >= gdbarch_num_regs (gdbarch)) >> + { > The indentation looks odd to me. Indeed, just looking at the patch it does. This is because the code mixes spaces and tabs and I wanted to preserve as much of existing code as possible, to keep the patch size down. Please look at the resulting file - indentation is ok. > >> /* Always store the argument in memory. */ >> diff -Npur a/gdb/testsuite/gdb.xml/tdesc-regs.exp b/gdb/testsuite/gdb.xml/tdesc-regs.exp >> --- a/gdb/testsuite/gdb.xml/tdesc-regs.exp 2016-02-09 19:19:39.000000000 +0000 >> +++ b/gdb/testsuite/gdb.xml/tdesc-regs.exp 2016-12-06 15:53:35.418621207 +0000 >> @@ -49,6 +49,12 @@ switch -glob -- [istarget] { >> "s390*-*-*" { >> set core-regs {s390-core32.xml s390-acr.xml s390-fpr.xml} >> } >> + "sparc-*-*" { >> + set core-regs {sparc32-cpu.xml sparc32-fpu.xml sparc32-cp0.xml} >> + } >> + "sparc64-*-*" { >> + set core-regs {sparc64-cpu.xml sparc64-fpu.xml sparc64-cp0.xml} >> + } > You need 'set regdir "sparc/"' Fixed. > >> * sparc32-cp0.xml, sparc32-cpu.xml, sparc32-fpu.xml: New files for >> sparc 32-bit. >> * sparc64-cp0.xml, sparc64-cpu.xml, sparc64-fpu.xml: New files >> for sparc 64-bit. >> * sparc32-solaris.xml, sparc64-solaris.xml: New files for sparc32 >> and sparc64 on Solaris. >> * sparc-solaris.c, sparc64-solaris.c: Generated. > These file names should be prefixed with "feature/sparc/" Fixed. >> * sparc-tdep.h: Deal with sparc32 and sparc64 differences >> in target descriptions. Separate real and pseudo registers. >> * sparc-tdep.c: Validate and use registers of the target description. >> Pseudo registers are numbered after all real registers from the target >> description; deal with it. >> * sparc64-tdep.h: Separate real and pseudo registers. >> * sparc64-tdep.c: Pseudo registers are numbered after all real >> registers from the target description; deal with it. > Please describe the change on the function level, take a look at > https://sourceware.org/gdb/wiki/ContributionChecklist there are two > sections about ChangeLog. Fixed. > >> * gdb.texinfo: New node "Sparc Features". > This should go to a separated entry, > > gdb/doc: > > 2016-12-07 Ivo Raisr > > * gdb.texinfo (Standard Target Features): Document SPARC features. > (Sparc Features): New node. Fixed. > >> * tdesc-regs.exp: Provide sparc core registers for the tests. > Likewise, > > gdb/testsuite: > > 2016-12-07 Ivo Raisr > > * gdb.xml/tdesc-regs.exp: Provide sparc core registers for > the tests. Fixed. Please find a new patch and 3 new ChangeLog entries. Let me know your comments. I. --------------2F2140B02A0B61ECF6A9FB09 Content-Type: text/plain; charset=UTF-8; name="sparc_tdesc.patch-002" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sparc_tdesc.patch-002" Content-length: 72753 LS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDE2LTAyLTI0IDAxOjU1OjE1 LjAwMDAwMDAwMCArMDAwMAorKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCTIw MTctMDEtMDQgMDg6MDE6MjAuMTQzNzY5NDAyICswMDAwCkBAIC00MDY1OCw2 ICs0MDY1OCw3IEBAIHJlZ2lzdGVycyB1c2luZyB0aGUgY2FwaXRhbGl6YXRp b24gdXNlZAogKiBOaW9zIElJIEZlYXR1cmVzOjoKICogUG93ZXJQQyBGZWF0 dXJlczo6CiAqIFMvMzkwIGFuZCBTeXN0ZW0geiBGZWF0dXJlczo6CisqIFNw YXJjIEZlYXR1cmVzOjoKICogVElDNnggRmVhdHVyZXM6OgogQGVuZCBtZW51 CiAKQEAgLTQwOTQ1LDYgKzQwOTQ2LDQ4IEBAIHRocm91Z2ggQHNhbXB7ZjE1 fSB0byBwcmVzZW50IHRoZSAxMjgtYmkKIGNvbnRhaW4gdGhlIDEyOC1iaXQg d2lkZSB2ZWN0b3IgcmVnaXN0ZXJzIEBzYW1we3YxNn0gdGhyb3VnaAogQHNh bXB7djMxfS4KIAorQG5vZGUgU3BhcmMgRmVhdHVyZXMKK0BzdWJzZWN0aW9u IFNwYXJjIEZlYXR1cmVzCitAY2luZGV4IHRhcmdldCBkZXNjcmlwdGlvbnMs IHNwYXJjMzIgZmVhdHVyZXMKK0BjaW5kZXggdGFyZ2V0IGRlc2NyaXB0aW9u cywgc3BhcmM2NCBmZWF0dXJlcworVGhlIEBzYW1we29yZy5nbnUuZ2RiLnNw YXJjLmNwdX0gZmVhdHVyZSBpcyByZXF1aXJlZCBmb3Igc3BhcmMzMi9zcGFy YzY0Cit0YXJnZXRzLiAgSXQgc2hvdWxkIGRlc2NyaWJlIHRoZSBmb2xsb3dp bmcgcmVnaXN0ZXJzOgorCitAaXRlbWl6ZSBAbWludXMKK0BpdGVtCitAc2Ft cHtnMH0gdGhyb3VnaCBAc2FtcHtnN30KK0BpdGVtCitAc2FtcHtvMH0gdGhy b3VnaCBAc2FtcHtvN30KK0BpdGVtCitAc2FtcHtsMH0gdGhyb3VnaCBAc2Ft cHtsN30KK0BpdGVtCitAc2FtcHtpMH0gdGhyb3VnaCBAc2FtcHtpN30KK0Bl bmQgaXRlbWl6ZQorCitUaGV5IG1heSBiZSAzMi1iaXQgb3IgNjQtYml0IGRl cGVuZGluZyBvbiB0aGUgdGFyZ2V0LgorCitBbHNvIHRoZSBAc2FtcHtvcmcu Z251LmdkYi5zcGFyYy5mcHV9IGZlYXR1cmUgaXMgcmVxdWlyZWQgZm9yIHNw YXJjMzIvc3BhcmM2NAordGFyZ2V0cy4gIEl0IHNob3VsZCBkZXNjcmliZSB0 aGUgZm9sbG93aW5nIHJlZ2lzdGVyczoKKworQGl0ZW1pemUgQG1pbnVzCitA aXRlbQorQHNhbXB7ZjB9IHRocm91Z2ggQHNhbXB7ZjMxfQorQGl0ZW0KK0Bz YW1we2YzMn0gdGhyb3VnaCBAc2FtcHtmNjJ9IGZvciBzcGFyYzY0CitAZW5k IGl0ZW1pemUKKworVGhlIEBzYW1we29yZy5nbnUuZ2RiLnNwYXJjLmNwMH0g ZmVhdHVyZSBpcyByZXF1aXJlZCBmb3Igc3BhcmMzMi9zcGFyYzY0Cit0YXJn ZXRzLiAgSXQgc2hvdWxkIGRlc2NyaWJlIHRoZSBmb2xsb3dpbmcgcmVnaXN0 ZXJzOgorCitAaXRlbWl6ZSBAbWludXMKK0BpdGVtCitAc2FtcHt5fSwgQHNh bXB7cHNyfSwgQHNhbXB7d2ltfSwgQHNhbXB7dGJyfSwgQHNhbXB7cGN9LCBA c2FtcHtucGN9LAorQHNhbXB7ZnNyfSwgYW5kIEBzYW1we2Nzcn0gZm9yIHNw YXJjMzIKK0BpdGVtCitAc2FtcHtwY30sIEBzYW1we25wY30sIEBzYW1we3N0 YXRlfSwgQHNhbXB7ZnNyfSwgQHNhbXB7ZnByc30sIGFuZCBAc2FtcHt5fQor Zm9yIHNwYXJjNjQKK0BlbmQgaXRlbWl6ZQorCiBAbm9kZSBUSUM2eCBGZWF0 dXJlcwogQHN1YnNlY3Rpb24gVE1TMzIwQzZ4IEZlYXR1cmVzCiBAY2luZGV4 IHRhcmdldCBkZXNjcmlwdGlvbnMsIFRJQzZ4IGZlYXR1cmVzCmRpZmYgLU5w dXIgYS9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmMzMi1jcDAueG1sIGIvZ2Ri L2ZlYXR1cmVzL3NwYXJjL3NwYXJjMzItY3AwLnhtbAotLS0gYS9nZGIvZmVh dHVyZXMvc3BhcmMvc3BhcmMzMi1jcDAueG1sCTE5NjktMTItMzEgMTY6MDA6 MDAuMDAwMDAwMDAwICswMDAwCisrKyBiL2dkYi9mZWF0dXJlcy9zcGFyYy9z cGFyYzMyLWNwMC54bWwJMjAxNy0wMS0wNCAwODowMToyMC40MDM5ODkyMzAg KzAwMDAKQEAgLTAsMCArMSwxOSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+ Cis8IS0tIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorCisgICAgIENvcHlpbmcgYW5kIGRpc3RyaWJ1 dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRp b24sCisgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55IG1lZGl1bSB3aXRob3V0 IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAorICAgICBub3RpY2Ug YW5kIHRoaXMgbm90aWNlIGFyZSBwcmVzZXJ2ZWQuICAtLT4KKworPCFET0NU WVBFIGZlYXR1cmUgU1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+Cis8ZmVhdHVy ZSBuYW1lPSJvcmcuZ251LmdkYi5zcGFyYy5jcDAiPgorICA8cmVnIG5hbWU9 InkiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNjQiLz4K KyAgPHJlZyBuYW1lPSJwc3IiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIi IHJlZ251bT0iNjUiLz4KKyAgPHJlZyBuYW1lPSJ3aW0iIGJpdHNpemU9IjMy IiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNjYiLz4KKyAgPHJlZyBuYW1lPSJ0 YnIiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNjciLz4K KyAgPHJlZyBuYW1lPSJwYyIgYml0c2l6ZT0iMzIiIHR5cGU9ImNvZGVfcHRy IiByZWdudW09IjY4Ii8+CisgIDxyZWcgbmFtZT0ibnBjIiBiaXRzaXplPSIz MiIgdHlwZT0iY29kZV9wdHIiIHJlZ251bT0iNjkiLz4KKyAgPHJlZyBuYW1l PSJmc3IiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNzAi Lz4KKyAgPHJlZyBuYW1lPSJjc3IiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50 MzIiIHJlZ251bT0iNzEiLz4KKzwvZmVhdHVyZT4KKwpkaWZmIC1OcHVyIGEv Z2RiL2ZlYXR1cmVzL3NwYXJjL3NwYXJjMzItY3B1LnhtbCBiL2dkYi9mZWF0 dXJlcy9zcGFyYy9zcGFyYzMyLWNwdS54bWwKLS0tIGEvZ2RiL2ZlYXR1cmVz L3NwYXJjL3NwYXJjMzItY3B1LnhtbAkxOTY5LTEyLTMxIDE2OjAwOjAwLjAw MDAwMDAwMCArMDAwMAorKysgYi9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmMz Mi1jcHUueG1sCTIwMTctMDEtMDQgMDg6MDE6MjAuNDAzNDYwMjUyICswMDAw CkBAIC0wLDAgKzEsNDIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEt LSBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKworICAgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24g b2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAor ICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lh bHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlIGFuZCB0 aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiAgLS0+CisKKzwhRE9DVFlQRSBm ZWF0dXJlIFNZU1RFTSAiZ2RiLXRhcmdldC5kdGQiPgorPGZlYXR1cmUgbmFt ZT0ib3JnLmdudS5nZGIuc3BhcmMuY3B1Ij4KKyAgPHJlZyBuYW1lPSJnMCIg Yml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIwIi8+CisgIDxy ZWcgbmFtZT0iZzEiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251 bT0iMSIvPgorICA8cmVnIG5hbWU9ImcyIiBiaXRzaXplPSIzMiIgdHlwZT0i dWludDMyIiByZWdudW09IjIiLz4KKyAgPHJlZyBuYW1lPSJnMyIgYml0c2l6 ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIzIi8+CisgIDxyZWcgbmFt ZT0iZzQiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNCIv PgorICA8cmVnIG5hbWU9Imc1IiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMy IiByZWdudW09IjUiLz4KKyAgPHJlZyBuYW1lPSJnNiIgYml0c2l6ZT0iMzIi IHR5cGU9InVpbnQzMiIgcmVnbnVtPSI2Ii8+CisgIDxyZWcgbmFtZT0iZzci IGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iNyIvPgorICA8 cmVnIG5hbWU9Im8wIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiByZWdu dW09IjgiLz4KKyAgPHJlZyBuYW1lPSJvMSIgYml0c2l6ZT0iMzIiIHR5cGU9 InVpbnQzMiIgcmVnbnVtPSI5Ii8+CisgIDxyZWcgbmFtZT0ibzIiIGJpdHNp emU9IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTAiLz4KKyAgPHJlZyBu YW1lPSJvMyIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIx MSIvPgorICA8cmVnIG5hbWU9Im80IiBiaXRzaXplPSIzMiIgdHlwZT0idWlu dDMyIiByZWdudW09IjEyIi8+CisgIDxyZWcgbmFtZT0ibzUiIGJpdHNpemU9 IjMyIiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTMiLz4KKyAgPHJlZyBuYW1l PSJzcCIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIxNCIv PgorICA8cmVnIG5hbWU9Im83IiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMy IiByZWdudW09IjE1Ii8+CisgIDxyZWcgbmFtZT0ibDAiIGJpdHNpemU9IjMy IiB0eXBlPSJ1aW50MzIiIHJlZ251bT0iMTYiLz4KKyAgPHJlZyBuYW1lPSJs MSIgYml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIxNyIvPgor ICA8cmVnIG5hbWU9ImwyIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiBy ZWdudW09IjE4Ii8+CisgIDxyZWcgbmFtZT0ibDMiIGJpdHNpemU9IjMyIiB0 eXBlPSJ1aW50MzIiIHJlZ251bT0iMTkiLz4KKyAgPHJlZyBuYW1lPSJsNCIg Yml0c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIyMCIvPgorICA8 cmVnIG5hbWU9Imw1IiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiByZWdu dW09IjIxIi8+CisgIDxyZWcgbmFtZT0ibDYiIGJpdHNpemU9IjMyIiB0eXBl PSJ1aW50MzIiIHJlZ251bT0iMjIiLz4KKyAgPHJlZyBuYW1lPSJsNyIgYml0 c2l6ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIyMyIvPgorICA8cmVn IG5hbWU9ImkwIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiByZWdudW09 IjI0Ii8+CisgIDxyZWcgbmFtZT0iaTEiIGJpdHNpemU9IjMyIiB0eXBlPSJ1 aW50MzIiIHJlZ251bT0iMjUiLz4KKyAgPHJlZyBuYW1lPSJpMiIgYml0c2l6 ZT0iMzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIyNiIvPgorICA8cmVnIG5h bWU9ImkzIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiByZWdudW09IjI3 Ii8+CisgIDxyZWcgbmFtZT0iaTQiIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50 MzIiIHJlZ251bT0iMjgiLz4KKyAgPHJlZyBuYW1lPSJpNSIgYml0c2l6ZT0i MzIiIHR5cGU9InVpbnQzMiIgcmVnbnVtPSIyOSIvPgorICA8cmVnIG5hbWU9 ImZwIiBiaXRzaXplPSIzMiIgdHlwZT0idWludDMyIiByZWdudW09IjMwIi8+ CisgIDxyZWcgbmFtZT0iaTciIGJpdHNpemU9IjMyIiB0eXBlPSJ1aW50MzIi IHJlZ251bT0iMzEiLz4KKzwvZmVhdHVyZT4KZGlmZiAtTnB1ciBhL2dkYi9m ZWF0dXJlcy9zcGFyYy9zcGFyYzMyLWZwdS54bWwgYi9nZGIvZmVhdHVyZXMv c3BhcmMvc3BhcmMzMi1mcHUueG1sCi0tLSBhL2dkYi9mZWF0dXJlcy9zcGFy Yy9zcGFyYzMyLWZwdS54bWwJMTk2OS0xMi0zMSAxNjowMDowMC4wMDAwMDAw MDAgKzAwMDAKKysrIGIvZ2RiL2ZlYXR1cmVzL3NwYXJjL3NwYXJjMzItZnB1 LnhtbAkyMDE3LTAxLTA0IDA4OjAxOjIwLjQwMDM1NzY1MiArMDAwMApAQCAt MCwwICsxLDQzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gQ29w eXJpZ2h0IChDKSAyMDEzLTIwMTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCisKKyAgICAgQ29weWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRo aXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwKKyAgICAg YXJlIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBw cm92aWRlZCB0aGUgY29weXJpZ2h0CisgICAgIG5vdGljZSBhbmQgdGhpcyBu b3RpY2UgYXJlIHByZXNlcnZlZC4gIC0tPgorCis8IURPQ1RZUEUgZmVhdHVy ZSBTWVNURU0gImdkYi10YXJnZXQuZHRkIj4KKzxmZWF0dXJlIG5hbWU9Im9y Zy5nbnUuZ2RiLnNwYXJjLmZwdSI+CisgIDxyZWcgbmFtZT0iZjAiIGJpdHNp emU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSIzMiIvPgorICA8 cmVnIG5hbWU9ImYxIiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUi IHJlZ251bT0iMzMiLz4KKyAgPHJlZyBuYW1lPSJmMiIgYml0c2l6ZT0iMzIi IHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjM0Ii8+CisgIDxyZWcgbmFt ZT0iZjMiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVt PSIzNSIvPgorICA8cmVnIG5hbWU9ImY0IiBiaXRzaXplPSIzMiIgdHlwZT0i aWVlZV9zaW5nbGUiIHJlZ251bT0iMzYiLz4KKyAgPHJlZyBuYW1lPSJmNSIg Yml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjM3Ii8+ CisgIDxyZWcgbmFtZT0iZjYiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3Np bmdsZSIgcmVnbnVtPSIzOCIvPgorICA8cmVnIG5hbWU9ImY3IiBiaXRzaXpl PSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iMzkiLz4KKyAgPHJl ZyBuYW1lPSJmOCIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiBy ZWdudW09IjQwIi8+CisgIDxyZWcgbmFtZT0iZjkiIGJpdHNpemU9IjMyIiB0 eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI0MSIvPgorICA8cmVnIG5hbWU9 ImYxMCIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09 IjQyIi8+CisgIDxyZWcgbmFtZT0iZjExIiBiaXRzaXplPSIzMiIgdHlwZT0i aWVlZV9zaW5nbGUiIHJlZ251bT0iNDMiLz4KKyAgPHJlZyBuYW1lPSJmMTIi IGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI0NCIv PgorICA8cmVnIG5hbWU9ImYxMyIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVf c2luZ2xlIiByZWdudW09IjQ1Ii8+CisgIDxyZWcgbmFtZT0iZjE0IiBiaXRz aXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iNDYiLz4KKyAg PHJlZyBuYW1lPSJmMTUiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3Npbmds ZSIgcmVnbnVtPSI0NyIvPgorICA8cmVnIG5hbWU9ImYxNiIgYml0c2l6ZT0i MzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjQ4Ii8+CisgIDxyZWcg bmFtZT0iZjE3IiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJl Z251bT0iNDkiLz4KKyAgPHJlZyBuYW1lPSJmMTgiIGJpdHNpemU9IjMyIiB0 eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI1MCIvPgorICA8cmVnIG5hbWU9 ImYxOSIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09 IjUxIi8+CisgIDxyZWcgbmFtZT0iZjIwIiBiaXRzaXplPSIzMiIgdHlwZT0i aWVlZV9zaW5nbGUiIHJlZ251bT0iNTIiLz4KKyAgPHJlZyBuYW1lPSJmMjEi IGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI1MyIv PgorICA8cmVnIG5hbWU9ImYyMiIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVf c2luZ2xlIiByZWdudW09IjU0Ii8+CisgIDxyZWcgbmFtZT0iZjIzIiBiaXRz aXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iNTUiLz4KKyAg PHJlZyBuYW1lPSJmMjQiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3Npbmds ZSIgcmVnbnVtPSI1NiIvPgorICA8cmVnIG5hbWU9ImYyNSIgYml0c2l6ZT0i MzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjU3Ii8+CisgIDxyZWcg bmFtZT0iZjI2IiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJl Z251bT0iNTgiLz4KKyAgPHJlZyBuYW1lPSJmMjciIGJpdHNpemU9IjMyIiB0 eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI1OSIvPgorICA8cmVnIG5hbWU9 ImYyOCIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09 IjYwIi8+CisgIDxyZWcgbmFtZT0iZjI5IiBiaXRzaXplPSIzMiIgdHlwZT0i aWVlZV9zaW5nbGUiIHJlZ251bT0iNjEiLz4KKyAgPHJlZyBuYW1lPSJmMzAi IGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI2MiIv PgorICA8cmVnIG5hbWU9ImYzMSIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVf c2luZ2xlIiByZWdudW09IjYzIi8+Cis8L2ZlYXR1cmU+CisKZGlmZiAtTnB1 ciBhL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzMyLXNvbGFyaXMuYyBiL2dk Yi9mZWF0dXJlcy9zcGFyYy9zcGFyYzMyLXNvbGFyaXMuYwotLS0gYS9nZGIv ZmVhdHVyZXMvc3BhcmMvc3BhcmMzMi1zb2xhcmlzLmMJMTk2OS0xMi0zMSAx NjowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrIGIvZ2RiL2ZlYXR1cmVzL3Nw YXJjL3NwYXJjMzItc29sYXJpcy5jCTIwMTctMDEtMDQgMDg6MDE6MjAuNDAy MTcwMzIwICswMDAwCkBAIC0wLDAgKzEsOTggQEAKKy8qIFRISVMgRklMRSBJ UyBHRU5FUkFURUQuICAtKi0gYnVmZmVyLXJlYWQtb25seTogdCAtKi0gdmk6 c2V0IHJvOgorICBPcmlnaW5hbDogc3BhcmMzMi1zb2xhcmlzLnhtbCAqLwor CisjaW5jbHVkZSAiZGVmcy5oIgorI2luY2x1ZGUgIm9zYWJpLmgiCisjaW5j bHVkZSAidGFyZ2V0LWRlc2NyaXB0aW9ucy5oIgorCitzdHJ1Y3QgdGFyZ2V0 X2Rlc2MgKnRkZXNjX3NwYXJjMzJfc29sYXJpczsKK3N0YXRpYyB2b2lkCitp bml0aWFsaXplX3RkZXNjX3NwYXJjMzJfc29sYXJpcyAodm9pZCkKK3sKKyAg c3RydWN0IHRhcmdldF9kZXNjICpyZXN1bHQgPSBhbGxvY2F0ZV90YXJnZXRf ZGVzY3JpcHRpb24gKCk7CisgIHN0cnVjdCB0ZGVzY19mZWF0dXJlICpmZWF0 dXJlOworCisgIHNldF90ZGVzY19hcmNoaXRlY3R1cmUgKHJlc3VsdCwgYmZk X3NjYW5fYXJjaCAoInNwYXJjIikpOworCisgIHNldF90ZGVzY19vc2FiaSAo cmVzdWx0LCBvc2FiaV9mcm9tX3RkZXNjX3N0cmluZyAoIlNvbGFyaXMiKSk7 CisKKyAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQs ICJvcmcuZ251LmdkYi5zcGFyYy5jcHUiKTsKKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImcwIiwgMCwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsK KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImcxIiwgMSwgMSwgTlVM TCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImcyIiwgMiwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImczIiwgMywgMSwgTlVMTCwgMzIsICJ1 aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImc0Iiwg NCwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImc1IiwgNSwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsK KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImc2IiwgNiwgMSwgTlVM TCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImc3IiwgNywgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgIm8wIiwgOCwgMSwgTlVMTCwgMzIsICJ1 aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgIm8xIiwg OSwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgIm8yIiwgMTAsIDEsIE5VTEwsIDMyLCAidWludDMyIik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJvMyIsIDExLCAxLCBO VUxMLCAzMiwgInVpbnQzMiIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAibzQiLCAxMiwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgIm81IiwgMTMsIDEsIE5VTEwsIDMy LCAidWludDMyIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJz cCIsIDE0LCAxLCBOVUxMLCAzMiwgInVpbnQzMiIpOworICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAibzciLCAxNSwgMSwgTlVMTCwgMzIsICJ1aW50 MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImwwIiwgMTYs IDEsIE5VTEwsIDMyLCAidWludDMyIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJsMSIsIDE3LCAxLCBOVUxMLCAzMiwgInVpbnQzMiIpOwor ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAibDIiLCAxOCwgMSwgTlVM TCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImwzIiwgMTksIDEsIE5VTEwsIDMyLCAidWludDMyIik7CisgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJsNCIsIDIwLCAxLCBOVUxMLCAzMiwg InVpbnQzMiIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAibDUi LCAyMSwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImw2IiwgMjIsIDEsIE5VTEwsIDMyLCAidWludDMy Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJsNyIsIDIzLCAx LCBOVUxMLCAzMiwgInVpbnQzMiIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAiaTAiLCAyNCwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAg dGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImkxIiwgMjUsIDEsIE5VTEws IDMyLCAidWludDMyIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJpMiIsIDI2LCAxLCBOVUxMLCAzMiwgInVpbnQzMiIpOworICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAiaTMiLCAyNywgMSwgTlVMTCwgMzIsICJ1 aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImk0Iiwg MjgsIDEsIE5VTEwsIDMyLCAidWludDMyIik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJpNSIsIDI5LCAxLCBOVUxMLCAzMiwgInVpbnQzMiIp OworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZnAiLCAzMCwgMSwg TlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImk3IiwgMzEsIDEsIE5VTEwsIDMyLCAidWludDMyIik7CisKKyAg ZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcu Z251LmdkYi5zcGFyYy5jcDAiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgInkiLCA2NCwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInBzciIsIDY1LCAxLCBOVUxMLCAz MiwgInVpbnQzMiIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAi d2ltIiwgNjYsIDEsIE5VTEwsIDMyLCAidWludDMyIik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJ0YnIiLCA2NywgMSwgTlVMTCwgMzIsICJ1 aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInBjIiwg NjgsIDEsIE5VTEwsIDMyLCAiY29kZV9wdHIiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgIm5wYyIsIDY5LCAxLCBOVUxMLCAzMiwgImNvZGVf cHRyIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmc3IiLCA3 MCwgMSwgTlVMTCwgMzIsICJ1aW50MzIiKTsKKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImNzciIsIDcxLCAxLCBOVUxMLCAzMiwgInVpbnQzMiIp OworCisgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVyZSAocmVzdWx0 LCAib3JnLmdudS5nZGIuc3BhcmMuZnB1Iik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJmMCIsIDMyLCAxLCBOVUxMLCAzMiwgImllZWVfc2lu Z2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMSIsIDMz LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmMiIsIDM0LCAxLCBOVUxMLCAzMiwgImllZWVf c2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMyIs IDM1LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJmNCIsIDM2LCAxLCBOVUxMLCAzMiwgImll ZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJm NSIsIDM3LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNiIsIDM4LCAxLCBOVUxMLCAzMiwg ImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmNyIsIDM5LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmOCIsIDQwLCAxLCBOVUxMLCAz MiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJmOSIsIDQxLCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTAiLCA0MiwgMSwgTlVM TCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAiZjExIiwgNDMsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMiIsIDQ0LCAx LCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJmMTMiLCA0NSwgMSwgTlVMTCwgMzIsICJpZWVlX3Np bmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjE0Iiwg NDYsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgImYxNSIsIDQ3LCAxLCBOVUxMLCAzMiwgImll ZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJm MTYiLCA0OCwgMSwgTlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjE3IiwgNDksIDEsIE5VTEwsIDMy LCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImYxOCIsIDUwLCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTkiLCA1MSwgMSwgTlVM TCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAiZjIwIiwgNTIsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYyMSIsIDUzLCAx LCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJmMjIiLCA1NCwgMSwgTlVMTCwgMzIsICJpZWVlX3Np bmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjIzIiwg NTUsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgImYyNCIsIDU2LCAxLCBOVUxMLCAzMiwgImll ZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJm MjUiLCA1NywgMSwgTlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjI2IiwgNTgsIDEsIE5VTEwsIDMy LCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVy ZSwgImYyNyIsIDU5LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMjgiLCA2MCwgMSwgTlVM TCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChm ZWF0dXJlLCAiZjI5IiwgNjEsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYzMCIsIDYyLCAx LCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9y ZWcgKGZlYXR1cmUsICJmMzEiLCA2MywgMSwgTlVMTCwgMzIsICJpZWVlX3Np bmdsZSIpOworCisgIHRkZXNjX3NwYXJjX3NvbGFyaXMgPSByZXN1bHQ7Cit9 CmRpZmYgLU5wdXIgYS9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmMzMi1zb2xh cmlzLnhtbCBiL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzMyLXNvbGFyaXMu eG1sCi0tLSBhL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzMyLXNvbGFyaXMu eG1sCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKyBi L2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzMyLXNvbGFyaXMueG1sCTIwMTct MDEtMDQgMDg6MDE6MjAuNDA0NjczMDU3ICswMDAwCkBAIC0wLDAgKzEsMTUg QEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBDb3B5cmlnaHQgKEMp IDIwMTMtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwor ICAgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3 aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorICAgICBhcmUgcGVybWl0 dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRo ZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUg cHJlc2VydmVkLiAgLS0+CisKKzwhRE9DVFlQRSB0YXJnZXQgU1lTVEVNICJn ZGItdGFyZ2V0LmR0ZCI+Cis8dGFyZ2V0PgorICA8YXJjaGl0ZWN0dXJlPnNw YXJjPC9hcmNoaXRlY3R1cmU+CisgIDxvc2FiaT5Tb2xhcmlzPC9vc2FiaT4K KyAgPHhpOmluY2x1ZGUgaHJlZj0ic3BhcmMzMi1jcHUueG1sIi8+CisgIDx4 aTppbmNsdWRlIGhyZWY9InNwYXJjMzItY3AwLnhtbCIvPgorICA8eGk6aW5j bHVkZSBocmVmPSJzcGFyYzMyLWZwdS54bWwiLz4KKzwvdGFyZ2V0PgpkaWZm IC1OcHVyIGEvZ2RiL2ZlYXR1cmVzL3NwYXJjL3NwYXJjNjQtY3AwLnhtbCBi L2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzY0LWNwMC54bWwKLS0tIGEvZ2Ri L2ZlYXR1cmVzL3NwYXJjL3NwYXJjNjQtY3AwLnhtbAkxOTY5LTEyLTMxIDE2 OjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysgYi9nZGIvZmVhdHVyZXMvc3Bh cmMvc3BhcmM2NC1jcDAueG1sCTIwMTctMDEtMDQgMDg6MDE6MjAuNDAzMTEy MzM1ICswMDAwCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEu MCI/PgorPCEtLSBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgICBDb3B5aW5nIGFuZCBkaXN0 cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZp Y2F0aW9uLAorICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0 aG91dCByb3lhbHR5IHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQKKyAgICAgbm90 aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiAgLS0+CisKKzwh RE9DVFlQRSBmZWF0dXJlIFNZU1RFTSAiZ2RiLXRhcmdldC5kdGQiPgorPGZl YXR1cmUgbmFtZT0ib3JnLmdudS5nZGIuc3BhcmMuY3AwIj4KKyAgPHJlZyBu YW1lPSJwYyIgYml0c2l6ZT0iNjQiIHR5cGU9ImNvZGVfcHRyIiByZWdudW09 IjgwIi8+CisgIDxyZWcgbmFtZT0ibnBjIiBiaXRzaXplPSI2NCIgdHlwZT0i Y29kZV9wdHIiIHJlZ251bT0iODEiLz4KKyAgPHJlZyBuYW1lPSJzdGF0ZSIg Yml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSI4MiIvPgorICA8 cmVnIG5hbWU9ImZzciIgYml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVn bnVtPSI4MyIvPgorICA8cmVnIG5hbWU9ImZwcnMiIGJpdHNpemU9IjY0IiB0 eXBlPSJ1aW50NjQiIHJlZ251bT0iODQiLz4KKyAgPHJlZyBuYW1lPSJ5IiBi aXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09Ijg1Ii8+Cis8L2Zl YXR1cmU+CisKZGlmZiAtTnB1ciBhL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFy YzY0LWNwdS54bWwgYi9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmM2NC1jcHUu eG1sCi0tLSBhL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzY0LWNwdS54bWwJ MTk2OS0xMi0zMSAxNjowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrIGIvZ2Ri L2ZlYXR1cmVzL3NwYXJjL3NwYXJjNjQtY3B1LnhtbAkyMDE3LTAxLTA0IDA4 OjAxOjIwLjQwNDMyOTAyNSArMDAwMApAQCAtMCwwICsxLDQyIEBACis8P3ht bCB2ZXJzaW9uPSIxLjAiPz4KKzwhLS0gQ29weXJpZ2h0IChDKSAyMDEzLTIw MTYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgICAgQ29w eWluZyBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3 aXRob3V0IG1vZGlmaWNhdGlvbiwKKyAgICAgYXJlIHBlcm1pdHRlZCBpbiBh bnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJp Z2h0CisgICAgIG5vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZl ZC4gIC0tPgorCis8IURPQ1RZUEUgZmVhdHVyZSBTWVNURU0gImdkYi10YXJn ZXQuZHRkIj4KKzxmZWF0dXJlIG5hbWU9Im9yZy5nbnUuZ2RiLnNwYXJjLmNw dSI+CisgIDxyZWcgbmFtZT0iZzAiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50 NjQiIHJlZ251bT0iMCIvPgorICA8cmVnIG5hbWU9ImcxIiBiaXRzaXplPSI2 NCIgdHlwZT0idWludDY0IiByZWdudW09IjEiLz4KKyAgPHJlZyBuYW1lPSJn MiIgYml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSIyIi8+Cisg IDxyZWcgbmFtZT0iZzMiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50NjQiIHJl Z251bT0iMyIvPgorICA8cmVnIG5hbWU9Imc0IiBiaXRzaXplPSI2NCIgdHlw ZT0idWludDY0IiByZWdudW09IjQiLz4KKyAgPHJlZyBuYW1lPSJnNSIgYml0 c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSI1Ii8+CisgIDxyZWcg bmFtZT0iZzYiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50NjQiIHJlZ251bT0i NiIvPgorICA8cmVnIG5hbWU9Imc3IiBiaXRzaXplPSI2NCIgdHlwZT0idWlu dDY0IiByZWdudW09IjciLz4KKyAgPHJlZyBuYW1lPSJvMCIgYml0c2l6ZT0i NjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSI4Ii8+CisgIDxyZWcgbmFtZT0i bzEiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50NjQiIHJlZ251bT0iOSIvPgor ICA8cmVnIG5hbWU9Im8yIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiBy ZWdudW09IjEwIi8+CisgIDxyZWcgbmFtZT0ibzMiIGJpdHNpemU9IjY0IiB0 eXBlPSJ1aW50NjQiIHJlZ251bT0iMTEiLz4KKyAgPHJlZyBuYW1lPSJvNCIg Yml0c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSIxMiIvPgorICA8 cmVnIG5hbWU9Im81IiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdu dW09IjEzIi8+CisgIDxyZWcgbmFtZT0ic3AiIGJpdHNpemU9IjY0IiB0eXBl PSJ1aW50NjQiIHJlZ251bT0iMTQiLz4KKyAgPHJlZyBuYW1lPSJvNyIgYml0 c2l6ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSIxNSIvPgorICA8cmVn IG5hbWU9ImwwIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09 IjE2Ii8+CisgIDxyZWcgbmFtZT0ibDEiIGJpdHNpemU9IjY0IiB0eXBlPSJ1 aW50NjQiIHJlZ251bT0iMTciLz4KKyAgPHJlZyBuYW1lPSJsMiIgYml0c2l6 ZT0iNjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSIxOCIvPgorICA8cmVnIG5h bWU9ImwzIiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09IjE5 Ii8+CisgIDxyZWcgbmFtZT0ibDQiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50 NjQiIHJlZ251bT0iMjAiLz4KKyAgPHJlZyBuYW1lPSJsNSIgYml0c2l6ZT0i NjQiIHR5cGU9InVpbnQ2NCIgcmVnbnVtPSIyMSIvPgorICA8cmVnIG5hbWU9 Imw2IiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09IjIyIi8+ CisgIDxyZWcgbmFtZT0ibDciIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50NjQi IHJlZ251bT0iMjMiLz4KKyAgPHJlZyBuYW1lPSJpMCIgYml0c2l6ZT0iNjQi IHR5cGU9InVpbnQ2NCIgcmVnbnVtPSIyNCIvPgorICA8cmVnIG5hbWU9Imkx IiBiaXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09IjI1Ii8+Cisg IDxyZWcgbmFtZT0iaTIiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50NjQiIHJl Z251bT0iMjYiLz4KKyAgPHJlZyBuYW1lPSJpMyIgYml0c2l6ZT0iNjQiIHR5 cGU9InVpbnQ2NCIgcmVnbnVtPSIyNyIvPgorICA8cmVnIG5hbWU9Imk0IiBi aXRzaXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09IjI4Ii8+CisgIDxy ZWcgbmFtZT0iaTUiIGJpdHNpemU9IjY0IiB0eXBlPSJ1aW50NjQiIHJlZ251 bT0iMjkiLz4KKyAgPHJlZyBuYW1lPSJmcCIgYml0c2l6ZT0iNjQiIHR5cGU9 InVpbnQ2NCIgcmVnbnVtPSIzMCIvPgorICA8cmVnIG5hbWU9Imk3IiBiaXRz aXplPSI2NCIgdHlwZT0idWludDY0IiByZWdudW09IjMxIi8+Cis8L2ZlYXR1 cmU+CmRpZmYgLU5wdXIgYS9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmM2NC1m cHUueG1sIGIvZ2RiL2ZlYXR1cmVzL3NwYXJjL3NwYXJjNjQtZnB1LnhtbAot LS0gYS9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmM2NC1mcHUueG1sCTE5Njkt MTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKyBiL2dkYi9mZWF0 dXJlcy9zcGFyYy9zcGFyYzY0LWZwdS54bWwJMjAxNy0wMS0wNCAwODowMToy MC40MDE2NDg2MjAgKzAwMDAKQEAgLTAsMCArMSw2MCBAQAorPD94bWwgdmVy c2lvbj0iMS4wIj8+Cis8IS0tIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICAgIENvcHlpbmcg YW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91 dCBtb2RpZmljYXRpb24sCisgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55IG1l ZGl1bSB3aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlIGNvcHlyaWdodAor ICAgICBub3RpY2UgYW5kIHRoaXMgbm90aWNlIGFyZSBwcmVzZXJ2ZWQuICAt LT4KKworPCFET0NUWVBFIGZlYXR1cmUgU1lTVEVNICJnZGItdGFyZ2V0LmR0 ZCI+Cis8ZmVhdHVyZSBuYW1lPSJvcmcuZ251LmdkYi5zcGFyYy5mcHUiPgor ICA8cmVnIG5hbWU9ImYwIiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5n bGUiIHJlZ251bT0iMzIiLz4KKyAgPHJlZyBuYW1lPSJmMSIgYml0c2l6ZT0i MzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjMzIi8+CisgIDxyZWcg bmFtZT0iZjIiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVn bnVtPSIzNCIvPgorICA8cmVnIG5hbWU9ImYzIiBiaXRzaXplPSIzMiIgdHlw ZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iMzUiLz4KKyAgPHJlZyBuYW1lPSJm NCIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjM2 Ii8+CisgIDxyZWcgbmFtZT0iZjUiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVl X3NpbmdsZSIgcmVnbnVtPSIzNyIvPgorICA8cmVnIG5hbWU9ImY2IiBiaXRz aXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iMzgiLz4KKyAg PHJlZyBuYW1lPSJmNyIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xl IiByZWdudW09IjM5Ii8+CisgIDxyZWcgbmFtZT0iZjgiIGJpdHNpemU9IjMy IiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI0MCIvPgorICA8cmVnIG5h bWU9ImY5IiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251 bT0iNDEiLz4KKyAgPHJlZyBuYW1lPSJmMTAiIGJpdHNpemU9IjMyIiB0eXBl PSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI0MiIvPgorICA8cmVnIG5hbWU9ImYx MSIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjQz Ii8+CisgIDxyZWcgbmFtZT0iZjEyIiBiaXRzaXplPSIzMiIgdHlwZT0iaWVl ZV9zaW5nbGUiIHJlZ251bT0iNDQiLz4KKyAgPHJlZyBuYW1lPSJmMTMiIGJp dHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI0NSIvPgor ICA8cmVnIG5hbWU9ImYxNCIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2lu Z2xlIiByZWdudW09IjQ2Ii8+CisgIDxyZWcgbmFtZT0iZjE1IiBiaXRzaXpl PSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iNDciLz4KKyAgPHJl ZyBuYW1lPSJmMTYiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIg cmVnbnVtPSI0OCIvPgorICA8cmVnIG5hbWU9ImYxNyIgYml0c2l6ZT0iMzIi IHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjQ5Ii8+CisgIDxyZWcgbmFt ZT0iZjE4IiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251 bT0iNTAiLz4KKyAgPHJlZyBuYW1lPSJmMTkiIGJpdHNpemU9IjMyIiB0eXBl PSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI1MSIvPgorICA8cmVnIG5hbWU9ImYy MCIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjUy Ii8+CisgIDxyZWcgbmFtZT0iZjIxIiBiaXRzaXplPSIzMiIgdHlwZT0iaWVl ZV9zaW5nbGUiIHJlZ251bT0iNTMiLz4KKyAgPHJlZyBuYW1lPSJmMjIiIGJp dHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI1NCIvPgor ICA8cmVnIG5hbWU9ImYyMyIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2lu Z2xlIiByZWdudW09IjU1Ii8+CisgIDxyZWcgbmFtZT0iZjI0IiBiaXRzaXpl PSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251bT0iNTYiLz4KKyAgPHJl ZyBuYW1lPSJmMjUiIGJpdHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIg cmVnbnVtPSI1NyIvPgorICA8cmVnIG5hbWU9ImYyNiIgYml0c2l6ZT0iMzIi IHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjU4Ii8+CisgIDxyZWcgbmFt ZT0iZjI3IiBiaXRzaXplPSIzMiIgdHlwZT0iaWVlZV9zaW5nbGUiIHJlZ251 bT0iNTkiLz4KKyAgPHJlZyBuYW1lPSJmMjgiIGJpdHNpemU9IjMyIiB0eXBl PSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI2MCIvPgorICA8cmVnIG5hbWU9ImYy OSIgYml0c2l6ZT0iMzIiIHR5cGU9ImllZWVfc2luZ2xlIiByZWdudW09IjYx Ii8+CisgIDxyZWcgbmFtZT0iZjMwIiBiaXRzaXplPSIzMiIgdHlwZT0iaWVl ZV9zaW5nbGUiIHJlZ251bT0iNjIiLz4KKyAgPHJlZyBuYW1lPSJmMzEiIGJp dHNpemU9IjMyIiB0eXBlPSJpZWVlX3NpbmdsZSIgcmVnbnVtPSI2MyIvPgor CisgIDxyZWcgbmFtZT0iZjMyIiBiaXRzaXplPSI2NCIgdHlwZT0iaWVlZV9k b3VibGUiIHJlZ251bT0iNjQiLz4KKyAgPHJlZyBuYW1lPSJmMzQiIGJpdHNp emU9IjY0IiB0eXBlPSJpZWVlX2RvdWJsZSIgcmVnbnVtPSI2NSIvPgorICA8 cmVnIG5hbWU9ImYzNiIgYml0c2l6ZT0iNjQiIHR5cGU9ImllZWVfZG91Ymxl IiByZWdudW09IjY2Ii8+CisgIDxyZWcgbmFtZT0iZjM4IiBiaXRzaXplPSI2 NCIgdHlwZT0iaWVlZV9kb3VibGUiIHJlZ251bT0iNjciLz4KKyAgPHJlZyBu YW1lPSJmNDAiIGJpdHNpemU9IjY0IiB0eXBlPSJpZWVlX2RvdWJsZSIgcmVn bnVtPSI2OCIvPgorICA8cmVnIG5hbWU9ImY0MiIgYml0c2l6ZT0iNjQiIHR5 cGU9ImllZWVfZG91YmxlIiByZWdudW09IjY5Ii8+CisgIDxyZWcgbmFtZT0i ZjQ0IiBiaXRzaXplPSI2NCIgdHlwZT0iaWVlZV9kb3VibGUiIHJlZ251bT0i NzAiLz4KKyAgPHJlZyBuYW1lPSJmNDYiIGJpdHNpemU9IjY0IiB0eXBlPSJp ZWVlX2RvdWJsZSIgcmVnbnVtPSI3MSIvPgorICA8cmVnIG5hbWU9ImY0OCIg Yml0c2l6ZT0iNjQiIHR5cGU9ImllZWVfZG91YmxlIiByZWdudW09IjcyIi8+ CisgIDxyZWcgbmFtZT0iZjUwIiBiaXRzaXplPSI2NCIgdHlwZT0iaWVlZV9k b3VibGUiIHJlZ251bT0iNzMiLz4KKyAgPHJlZyBuYW1lPSJmNTIiIGJpdHNp emU9IjY0IiB0eXBlPSJpZWVlX2RvdWJsZSIgcmVnbnVtPSI3NCIvPgorICA8 cmVnIG5hbWU9ImY1NCIgYml0c2l6ZT0iNjQiIHR5cGU9ImllZWVfZG91Ymxl IiByZWdudW09Ijc1Ii8+CisgIDxyZWcgbmFtZT0iZjU2IiBiaXRzaXplPSI2 NCIgdHlwZT0iaWVlZV9kb3VibGUiIHJlZ251bT0iNzYiLz4KKyAgPHJlZyBu YW1lPSJmNTgiIGJpdHNpemU9IjY0IiB0eXBlPSJpZWVlX2RvdWJsZSIgcmVn bnVtPSI3NyIvPgorICA8cmVnIG5hbWU9ImY2MCIgYml0c2l6ZT0iNjQiIHR5 cGU9ImllZWVfZG91YmxlIiByZWdudW09Ijc4Ii8+CisgIDxyZWcgbmFtZT0i ZjYyIiBiaXRzaXplPSI2NCIgdHlwZT0iaWVlZV9kb3VibGUiIHJlZ251bT0i NzkiLz4KKzwvZmVhdHVyZT4KKwpkaWZmIC1OcHVyIGEvZ2RiL2ZlYXR1cmVz L3NwYXJjL3NwYXJjNjQtc29sYXJpcy5jIGIvZ2RiL2ZlYXR1cmVzL3NwYXJj L3NwYXJjNjQtc29sYXJpcy5jCi0tLSBhL2dkYi9mZWF0dXJlcy9zcGFyYy9z cGFyYzY0LXNvbGFyaXMuYwkxOTY5LTEyLTMxIDE2OjAwOjAwLjAwMDAwMDAw MCArMDAwMAorKysgYi9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmM2NC1zb2xh cmlzLmMJMjAxNy0wMS0wNCAwODowMToyMC40MDA3MDY2NTcgKzAwMDAKQEAg LTAsMCArMSwxMTIgQEAKKy8qIFRISVMgRklMRSBJUyBHRU5FUkFURUQuICAt Ki0gYnVmZmVyLXJlYWQtb25seTogdCAtKi0gdmk6c2V0IHJvOgorICBPcmln aW5hbDogc3BhcmM2NC1zb2xhcmlzLnhtbCAqLworCisjaW5jbHVkZSAiZGVm cy5oIgorI2luY2x1ZGUgIm9zYWJpLmgiCisjaW5jbHVkZSAidGFyZ2V0LWRl c2NyaXB0aW9ucy5oIgorCitzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjX3Nw YXJjNjRfc29sYXJpczsKK3N0YXRpYyB2b2lkCitpbml0aWFsaXplX3RkZXNj X3NwYXJjNjRfc29sYXJpcyAodm9pZCkKK3sKKyAgc3RydWN0IHRhcmdldF9k ZXNjICpyZXN1bHQgPSBhbGxvY2F0ZV90YXJnZXRfZGVzY3JpcHRpb24gKCk7 CisgIHN0cnVjdCB0ZGVzY19mZWF0dXJlICpmZWF0dXJlOworCisgIHNldF90 ZGVzY19hcmNoaXRlY3R1cmUgKHJlc3VsdCwgYmZkX3NjYW5fYXJjaCAoInNw YXJjIikpOworCisgIHNldF90ZGVzY19vc2FiaSAocmVzdWx0LCBvc2FiaV9m cm9tX3RkZXNjX3N0cmluZyAoIlNvbGFyaXMiKSk7CisKKyAgZmVhdHVyZSA9 IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5z cGFyYy5jcHUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImcw IiwgMCwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImcxIiwgMSwgMSwgTlVMTCwgNjQsICJ1aW50NjQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImcyIiwgMiwgMSwg TlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImczIiwgMywgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImc0IiwgNCwgMSwgTlVMTCwgNjQs ICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImc1 IiwgNSwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRl X3JlZyAoZmVhdHVyZSwgImc2IiwgNiwgMSwgTlVMTCwgNjQsICJ1aW50NjQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImc3IiwgNywgMSwg TlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgIm8wIiwgOCwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgIm8xIiwgOSwgMSwgTlVMTCwgNjQs ICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgIm8y IiwgMTAsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJvMyIsIDExLCAxLCBOVUxMLCA2NCwgInVpbnQ2 NCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAibzQiLCAxMiwg MSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAo ZmVhdHVyZSwgIm81IiwgMTMsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJzcCIsIDE0LCAxLCBOVUxM LCA2NCwgInVpbnQ2NCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAibzciLCAxNSwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImwwIiwgMTYsIDEsIE5VTEwsIDY0LCAi dWludDY0Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJsMSIs IDE3LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOworICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAibDIiLCAxOCwgMSwgTlVMTCwgNjQsICJ1aW50NjQi KTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImwzIiwgMTksIDEs IE5VTEwsIDY0LCAidWludDY0Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJsNCIsIDIwLCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAibDUiLCAyMSwgMSwgTlVMTCwg NjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg Imw2IiwgMjIsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJsNyIsIDIzLCAxLCBOVUxMLCA2NCwgInVp bnQ2NCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiaTAiLCAy NCwgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgImkxIiwgMjUsIDEsIE5VTEwsIDY0LCAidWludDY0Iik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJpMiIsIDI2LCAxLCBO VUxMLCA2NCwgInVpbnQ2NCIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0 dXJlLCAiaTMiLCAyNywgMSwgTlVMTCwgNjQsICJ1aW50NjQiKTsKKyAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImk0IiwgMjgsIDEsIE5VTEwsIDY0 LCAidWludDY0Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJp NSIsIDI5LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOworICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAiZnAiLCAzMCwgMSwgTlVMTCwgMzIsICJ1aW50 NjQiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImk3IiwgMzEs IDEsIE5VTEwsIDY0LCAidWludDY0Iik7CisKKyAgZmVhdHVyZSA9IHRkZXNj X2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsICJvcmcuZ251LmdkYi5zcGFyYy5j cDAiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInBjIiwgODAs IDEsIE5VTEwsIDY0LCAiY29kZV9wdHIiKTsKKyAgdGRlc2NfY3JlYXRlX3Jl ZyAoZmVhdHVyZSwgIm5wYyIsIDgxLCAxLCBOVUxMLCA2NCwgImNvZGVfcHRy Iik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJzdGF0ZSIsIDgy LCAxLCBOVUxMLCA2NCwgInVpbnQ2NCIpOworICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZnNyIiwgODMsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5n bGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImZwcnMiLCA4 NCwgMSwgTlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVh dGVfcmVnIChmZWF0dXJlLCAieSIsIDg1LCAxLCBOVUxMLCA2NCwgInVpbnQ2 NCIpOworCisgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVyZSAocmVz dWx0LCAib3JnLmdudS5nZGIuc3BhcmMuZnB1Iik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmMCIsIDMyLCAxLCBOVUxMLCAzMiwgImllZWVf c2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMSIs IDMzLCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJmMiIsIDM0LCAxLCBOVUxMLCAzMiwgImll ZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJm MyIsIDM1LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNj X2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNCIsIDM2LCAxLCBOVUxMLCAzMiwg ImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmNSIsIDM3LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNiIsIDM4LCAxLCBOVUxMLCAz MiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1 cmUsICJmNyIsIDM5LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7Cisg IHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmOCIsIDQwLCAxLCBOVUxM LCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZl YXR1cmUsICJmOSIsIDQxLCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTAiLCA0MiwgMSwg TlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZjExIiwgNDMsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5n bGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxMiIsIDQ0 LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmMTMiLCA0NSwgMSwgTlVMTCwgMzIsICJpZWVl X3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjE0 IiwgNDYsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImYxNSIsIDQ3LCAxLCBOVUxMLCAzMiwg ImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmMTYiLCA0OCwgMSwgTlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjE3IiwgNDksIDEsIE5VTEws IDMyLCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImYxOCIsIDUwLCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMTkiLCA1MSwgMSwg TlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZjIwIiwgNTIsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5n bGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYyMSIsIDUz LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmMjIiLCA1NCwgMSwgTlVMTCwgMzIsICJpZWVl X3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjIz IiwgNTUsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImYyNCIsIDU2LCAxLCBOVUxMLCAzMiwg ImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmMjUiLCA1NywgMSwgTlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjI2IiwgNTgsIDEsIE5VTEws IDMyLCAiaWVlZV9zaW5nbGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImYyNyIsIDU5LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmMjgiLCA2MCwgMSwg TlVMTCwgMzIsICJpZWVlX3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZjI5IiwgNjEsIDEsIE5VTEwsIDMyLCAiaWVlZV9zaW5n bGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImYzMCIsIDYy LCAxLCBOVUxMLCAzMiwgImllZWVfc2luZ2xlIik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmMzEiLCA2MywgMSwgTlVMTCwgMzIsICJpZWVl X3NpbmdsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjMy IiwgNjQsIDEsIE5VTEwsIDY0LCAiaWVlZV9kb3VibGUiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImYzNCIsIDY1LCAxLCBOVUxMLCA2NCwg ImllZWVfZG91YmxlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmMzYiLCA2NiwgMSwgTlVMTCwgNjQsICJpZWVlX2RvdWJsZSIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjM4IiwgNjcsIDEsIE5VTEws IDY0LCAiaWVlZV9kb3VibGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImY0MCIsIDY4LCAxLCBOVUxMLCA2NCwgImllZWVfZG91YmxlIik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNDIiLCA2OSwgMSwg TlVMTCwgNjQsICJpZWVlX2RvdWJsZSIpOworICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZjQ0IiwgNzAsIDEsIE5VTEwsIDY0LCAiaWVlZV9kb3Vi bGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgImY0NiIsIDcx LCAxLCBOVUxMLCA2NCwgImllZWVfZG91YmxlIik7CisgIHRkZXNjX2NyZWF0 ZV9yZWcgKGZlYXR1cmUsICJmNDgiLCA3MiwgMSwgTlVMTCwgNjQsICJpZWVl X2RvdWJsZSIpOworICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjUw IiwgNzMsIDEsIE5VTEwsIDY0LCAiaWVlZV9kb3VibGUiKTsKKyAgdGRlc2Nf Y3JlYXRlX3JlZyAoZmVhdHVyZSwgImY1MiIsIDc0LCAxLCBOVUxMLCA2NCwg ImllZWVfZG91YmxlIik7CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJmNTQiLCA3NSwgMSwgTlVMTCwgNjQsICJpZWVlX2RvdWJsZSIpOworICB0 ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZjU2IiwgNzYsIDEsIE5VTEws IDY0LCAiaWVlZV9kb3VibGUiKTsKKyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVh dHVyZSwgImY1OCIsIDc3LCAxLCBOVUxMLCA2NCwgImllZWVfZG91YmxlIik7 CisgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJmNjAiLCA3OCwgMSwg TlVMTCwgNjQsICJpZWVlX2RvdWJsZSIpOworICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZjYyIiwgNzksIDEsIE5VTEwsIDY0LCAiaWVlZV9kb3Vi bGUiKTsKKworICB0ZGVzY19zcGFyYzY0X3NvbGFyaXMgPSByZXN1bHQ7Cit9 CmRpZmYgLU5wdXIgYS9nZGIvZmVhdHVyZXMvc3BhcmMvc3BhcmM2NC1zb2xh cmlzLnhtbCBiL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzY0LXNvbGFyaXMu eG1sCi0tLSBhL2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzY0LXNvbGFyaXMu eG1sCTE5NjktMTItMzEgMTY6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKyBi L2dkYi9mZWF0dXJlcy9zcGFyYy9zcGFyYzY0LXNvbGFyaXMueG1sCTIwMTct MDEtMDQgMDg6MDE6MjAuNDAzODAzMDU1ICswMDAwCkBAIC0wLDAgKzEsMTUg QEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCEtLSBDb3B5cmlnaHQgKEMp IDIwMTMtMjAxNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKwor ICAgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3 aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLAorICAgICBhcmUgcGVybWl0 dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3ZpZGVkIHRo ZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlIGFuZCB0aGlzIG5vdGljZSBhcmUg cHJlc2VydmVkLiAgLS0+CisKKzwhRE9DVFlQRSB0YXJnZXQgU1lTVEVNICJn ZGItdGFyZ2V0LmR0ZCI+Cis8dGFyZ2V0PgorICA8YXJjaGl0ZWN0dXJlPnNw YXJjOnY5PC9hcmNoaXRlY3R1cmU+CisgIDxvc2FiaT5Tb2xhcmlzPC9vc2Fi aT4KKyAgPHhpOmluY2x1ZGUgaHJlZj0ic3BhcmM2NC1jcHUueG1sIi8+Cisg IDx4aTppbmNsdWRlIGhyZWY9InNwYXJjNjQtY3AwLnhtbCIvPgorICA8eGk6 aW5jbHVkZSBocmVmPSJzcGFyYzY0LWZwdS54bWwiLz4KKzwvdGFyZ2V0Pgot LS0gYS9nZGIvc3BhcmMtdGRlcC5jCTIwMTYtMDItMDkgMTk6MTk6MzkuMDAw MDAwMDAwICswMDAwCisrKyBiL2dkYi9zcGFyYy10ZGVwLmMJMjAxNy0wMS0w NCAwODowMToyMC40ODI0MTY1ODcgKzAwMDAKQEAgLTMzLDYgKzMzLDcgQEAK ICNpbmNsdWRlICJvc2FiaS5oIgogI2luY2x1ZGUgInJlZ2NhY2hlLmgiCiAj aW5jbHVkZSAidGFyZ2V0LmgiCisjaW5jbHVkZSAidGFyZ2V0LWRlc2NyaXB0 aW9ucy5oIgogI2luY2x1ZGUgInZhbHVlLmgiCiAKICNpbmNsdWRlICJzcGFy Yy10ZGVwLmgiCkBAIC0yOTUsMjAgKzI5NiwyMyBAQCBzcGFyY19zdHJ1Y3R1 cmVfb3JfdW5pb25fcCAoY29uc3Qgc3RydWN0CiB9CiAKIC8qIFJlZ2lzdGVy IGluZm9ybWF0aW9uLiAgKi8KKyNkZWZpbmUgU1BBUkMzMl9GUFVfUkVHSVNU RVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJmMCIsICJm MSIsICJmMiIsICJmMyIsICJmNCIsICJmNSIsICJmNiIsICJmNyIsICAgICAg ICAgXAorICAiZjgiLCAiZjkiLCAiZjEwIiwgImYxMSIsICJmMTIiLCAiZjEz IiwgImYxNCIsICJmMTUiLCAgIFwKKyAgImYxNiIsICJmMTciLCAiZjE4Iiwg ImYxOSIsICJmMjAiLCAiZjIxIiwgImYyMiIsICJmMjMiLCBcCisgICJmMjQi LCAiZjI1IiwgImYyNiIsICJmMjciLCAiZjI4IiwgImYyOSIsICJmMzAiLCAi ZjMxIgorI2RlZmluZSBTUEFSQzMyX0NQMF9SRUdJU1RFUlMgXAorICAieSIs ICJwc3IiLCAid2ltIiwgInRiciIsICJwYyIsICJucGMiLCAiZnNyIiwgImNz ciIKKworc3RhdGljIGNvbnN0IGNoYXIgKnNwYXJjX2NvcmVfcmVnaXN0ZXJf bmFtZXNbXSA9IHsgU1BBUkNfQ09SRV9SRUdJU1RFUlMgfTsKK3N0YXRpYyBj b25zdCBjaGFyICpzcGFyYzMyX2ZwdV9yZWdpc3Rlcl9uYW1lc1tdID0geyBT UEFSQzMyX0ZQVV9SRUdJU1RFUlMgfTsKK3N0YXRpYyBjb25zdCBjaGFyICpz cGFyYzMyX2NwMF9yZWdpc3Rlcl9uYW1lc1tdID0geyBTUEFSQzMyX0NQMF9S RUdJU1RFUlMgfTsKIAogc3RhdGljIGNvbnN0IGNoYXIgKnNwYXJjMzJfcmVn aXN0ZXJfbmFtZXNbXSA9CiB7Ci0gICJnMCIsICJnMSIsICJnMiIsICJnMyIs ICJnNCIsICJnNSIsICJnNiIsICJnNyIsCi0gICJvMCIsICJvMSIsICJvMiIs ICJvMyIsICJvNCIsICJvNSIsICJzcCIsICJvNyIsCi0gICJsMCIsICJsMSIs ICJsMiIsICJsMyIsICJsNCIsICJsNSIsICJsNiIsICJsNyIsCi0gICJpMCIs ICJpMSIsICJpMiIsICJpMyIsICJpNCIsICJpNSIsICJmcCIsICJpNyIsCi0K LSAgImYwIiwgImYxIiwgImYyIiwgImYzIiwgImY0IiwgImY1IiwgImY2Iiwg ImY3IiwKLSAgImY4IiwgImY5IiwgImYxMCIsICJmMTEiLCAiZjEyIiwgImYx MyIsICJmMTQiLCAiZjE1IiwKLSAgImYxNiIsICJmMTciLCAiZjE4IiwgImYx OSIsICJmMjAiLCAiZjIxIiwgImYyMiIsICJmMjMiLAotICAiZjI0IiwgImYy NSIsICJmMjYiLCAiZjI3IiwgImYyOCIsICJmMjkiLCAiZjMwIiwgImYzMSIs Ci0KLSAgInkiLCAicHNyIiwgIndpbSIsICJ0YnIiLCAicGMiLCAibnBjIiwg ImZzciIsICJjc3IiCisgIFNQQVJDX0NPUkVfUkVHSVNURVJTLAorICBTUEFS QzMyX0ZQVV9SRUdJU1RFUlMsCisgIFNQQVJDMzJfQ1AwX1JFR0lTVEVSUwog fTsKIAogLyogVG90YWwgbnVtYmVyIG9mIHJlZ2lzdGVycy4gICovCkBAIC0z MjcsMTcgKzMzMSwyOSBAQCBzdGF0aWMgY29uc3QgY2hhciAqc3BhcmMzMl9w c2V1ZG9fcmVnaXN0CiAjZGVmaW5lIFNQQVJDMzJfTlVNX1BTRVVET19SRUdT IEFSUkFZX1NJWkUgKHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVyX25hbWVzKQog CiAvKiBSZXR1cm4gdGhlIG5hbWUgb2YgcmVnaXN0ZXIgUkVHTlVNLiAgKi8K K3N0YXRpYyBjb25zdCBjaGFyICoKK3NwYXJjMzJfcHNldWRvX3JlZ2lzdGVy X25hbWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBpbnQgcmVnbnVtKQor eworICByZWdudW0gLT0gZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJjaCk7CisK KyAgaWYgKHJlZ251bSA8IFNQQVJDMzJfTlVNX1BTRVVET19SRUdTKQorICAg IHJldHVybiBzcGFyYzMyX3BzZXVkb19yZWdpc3Rlcl9uYW1lc1tyZWdudW1d OworCisgIGludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCisg ICAgICAgICAgICAgICAgICBfKCJzcGFyYzMyX3BzZXVkb19yZWdpc3Rlcl9u YW1lOiBiYWQgcmVnaXN0ZXIgbnVtYmVyICVkIiksCisgICAgICAgICAgICAg ICAgICByZWdudW0pOworfQogCiBzdGF0aWMgY29uc3QgY2hhciAqCiBzcGFy YzMyX3JlZ2lzdGVyX25hbWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBp bnQgcmVnbnVtKQogewotICBpZiAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwg U1BBUkMzMl9OVU1fUkVHUykKLSAgICByZXR1cm4gc3BhcmMzMl9yZWdpc3Rl cl9uYW1lc1tyZWdudW1dOworICBpZiAodGRlc2NfaGFzX3JlZ2lzdGVycyAo Z2RiYXJjaF90YXJnZXRfZGVzYyAoZ2RiYXJjaCkpKQorICAgIHJldHVybiB0 ZGVzY19yZWdpc3Rlcl9uYW1lIChnZGJhcmNoLCByZWdudW0pOwogCi0gIGlm IChyZWdudW0gPCBTUEFSQzMyX05VTV9SRUdTICsgU1BBUkMzMl9OVU1fUFNF VURPX1JFR1MpCi0gICAgcmV0dXJuIHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVy X25hbWVzW3JlZ251bSAtIFNQQVJDMzJfTlVNX1JFR1NdOworICBpZiAocmVn bnVtID49IDAgJiYgcmVnbnVtIDwgZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJj aCkpCisgICAgcmV0dXJuIHNwYXJjMzJfcmVnaXN0ZXJfbmFtZXNbcmVnbnVt XTsKIAotICByZXR1cm4gTlVMTDsKKyAgcmV0dXJuIHNwYXJjMzJfcHNldWRv X3JlZ2lzdGVyX25hbWUgKGdkYmFyY2gsIHJlZ251bSk7CiB9CiAMCiAvKiBD b25zdHJ1Y3QgdHlwZXMgZm9yIElTQS1zcGVjaWZpYyByZWdpc3RlcnMuICAq LwpAQCAtMzk5LDE2ICs0MTUsMjggQEAgc3BhcmNfZnNyX3R5cGUgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoKQogCiAvKiBSZXR1cm4gdGhlIEdEQiB0eXBl IG9iamVjdCBmb3IgdGhlICJzdGFuZGFyZCIgZGF0YSB0eXBlIG9mIGRhdGEg aW4KICAgIHJlZ2lzdGVyIFJFR05VTS4gICovCitzdGF0aWMgc3RydWN0IHR5 cGUgKgorc3BhcmMzMl9wc2V1ZG9fcmVnaXN0ZXJfdHlwZSAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsIGludCByZWdudW0pCit7CisgIHJlZ251bSAtPSBn ZGJhcmNoX251bV9yZWdzIChnZGJhcmNoKTsKKworICBpZiAocmVnbnVtID49 IFNQQVJDMzJfRDBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFSQzMyX0QzMF9S RUdOVU0pCisgICAgcmV0dXJuIGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1 aWx0aW5fZG91YmxlOworCisgIGludGVybmFsX2Vycm9yIChfX0ZJTEVfXywg X19MSU5FX18sCisgICAgICAgICAgICAgICAgICBfKCJzcGFyYzMyX3BzZXVk b19yZWdpc3Rlcl90eXBlOiBiYWQgcmVnaXN0ZXIgbnVtYmVyICVkIiksCisg ICAgICAgICAgICAgICAgICByZWdudW0pOworfQogCiBzdGF0aWMgc3RydWN0 IHR5cGUgKgogc3BhcmMzMl9yZWdpc3Rlcl90eXBlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgaW50IHJlZ251bSkKIHsKKyAgaWYgKHRkZXNjX2hhc19y ZWdpc3RlcnMgKGdkYmFyY2hfdGFyZ2V0X2Rlc2MgKGdkYmFyY2gpKSkKKyAg ICByZXR1cm4gdGRlc2NfcmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgcmVnbnVt KTsKKwogICBpZiAocmVnbnVtID49IFNQQVJDX0YwX1JFR05VTSAmJiByZWdu dW0gPD0gU1BBUkNfRjMxX1JFR05VTSkKICAgICByZXR1cm4gYnVpbHRpbl90 eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9mbG9hdDsKIAotICBpZiAocmVnbnVt ID49IFNQQVJDMzJfRDBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFSQzMyX0Qz MF9SRUdOVU0pCi0gICAgcmV0dXJuIGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCkt PmJ1aWx0aW5fZG91YmxlOwotCiAgIGlmIChyZWdudW0gPT0gU1BBUkNfU1Bf UkVHTlVNIHx8IHJlZ251bSA9PSBTUEFSQ19GUF9SRUdOVU0pCiAgICAgcmV0 dXJuIGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1aWx0aW5fZGF0YV9wdHI7 CiAKQEAgLTQyMSw2ICs0NDksOSBAQCBzcGFyYzMyX3JlZ2lzdGVyX3R5cGUg KHN0cnVjdCBnZGJhcmNoICpnCiAgIGlmIChyZWdudW0gPT0gU1BBUkMzMl9G U1JfUkVHTlVNKQogICAgIHJldHVybiBzcGFyY19mc3JfdHlwZSAoZ2RiYXJj aCk7CiAKKyAgaWYgKHJlZ251bSA+PSBnZGJhcmNoX251bV9yZWdzIChnZGJh cmNoKSkKKyAgICByZXR1cm4gc3BhcmMzMl9wc2V1ZG9fcmVnaXN0ZXJfdHlw ZSAoZ2RiYXJjaCwgcmVnbnVtKTsKKwogICByZXR1cm4gYnVpbHRpbl90eXBl IChnZGJhcmNoKS0+YnVpbHRpbl9pbnQzMjsKIH0KIApAQCAtNDMxLDYgKzQ2 Miw3IEBAIHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVyX3JlYWQgKHN0cnVjdCBn ZGIKIHsKICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgc3RhdHVzOwogCisgIHJl Z251bSAtPSBnZGJhcmNoX251bV9yZWdzIChnZGJhcmNoKTsKICAgZ2RiX2Fz c2VydCAocmVnbnVtID49IFNQQVJDMzJfRDBfUkVHTlVNICYmIHJlZ251bSA8 PSBTUEFSQzMyX0QzMF9SRUdOVU0pOwogCiAgIHJlZ251bSA9IFNQQVJDX0Yw X1JFR05VTSArIDIgKiAocmVnbnVtIC0gU1BBUkMzMl9EMF9SRUdOVU0pOwpA QCAtNDQ1LDYgKzQ3Nyw3IEBAIHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVyX3dy aXRlIChzdHJ1Y3QgZ2QKIAkJCSAgICAgICBzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLAogCQkJICAgICAgIGludCByZWdudW0sIGNvbnN0IGdkYl9ieXRl ICpidWYpCiB7CisgIHJlZ251bSAtPSBnZGJhcmNoX251bV9yZWdzIChnZGJh cmNoKTsKICAgZ2RiX2Fzc2VydCAocmVnbnVtID49IFNQQVJDMzJfRDBfUkVH TlVNICYmIHJlZ251bSA8PSBTUEFSQzMyX0QzMF9SRUdOVU0pOwogCiAgIHJl Z251bSA9IFNQQVJDX0YwX1JFR05VTSArIDIgKiAocmVnbnVtIC0gU1BBUkMz Ml9EMF9SRUdOVU0pOwpAQCAtMTY2MCwxMSArMTY5MywzNiBAQCBzcGFyY19p dGVyYXRlX292ZXJfcmVnc2V0X3NlY3Rpb25zIChzdHJ1CiB9CiAMCiAKK3N0 YXRpYyBpbnQKK3ZhbGlkYXRlX3RkZXNjX3JlZ2lzdGVycyAoY29uc3Qgc3Ry dWN0IHRhcmdldF9kZXNjICp0ZGVzYywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHRkZXNjX2FyY2hfZGF0YSAqdGRlc2NfZGF0YSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqZmVhdHVyZV9u YW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpy ZWdpc3Rlcl9uYW1lc1tdLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgcmVnaXN0ZXJzX251bSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgaW50IHJlZ19zdGFydCkKK3sKKyAgaW50IHZh bGlkX3AgPSAxOworICBjb25zdCBzdHJ1Y3QgdGRlc2NfZmVhdHVyZSAqZmVh dHVyZTsKKworICBmZWF0dXJlID0gdGRlc2NfZmluZF9mZWF0dXJlICh0ZGVz YywgZmVhdHVyZV9uYW1lKTsKKyAgaWYgKGZlYXR1cmUgPT0gTlVMTCkKKyAg ICByZXR1cm4gMDsKKworICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8 IHJlZ2lzdGVyc19udW07IGkrKykKKyAgICB2YWxpZF9wICY9IHRkZXNjX251 bWJlcmVkX3JlZ2lzdGVyIChmZWF0dXJlLCB0ZGVzY19kYXRhLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ19zdGFydCAr IGksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVnaXN0ZXJfbmFtZXNbaV0pOworCisgIHJldHVybiB2YWxpZF9wOworfQor CiBzdGF0aWMgc3RydWN0IGdkYmFyY2ggKgogc3BhcmMzMl9nZGJhcmNoX2lu aXQgKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywgc3RydWN0IGdkYmFyY2hf bGlzdCAqYXJjaGVzKQogewogICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVw OworICBjb25zdCBzdHJ1Y3QgdGFyZ2V0X2Rlc2MgKnRkZXNjID0gaW5mby50 YXJnZXRfZGVzYzsKICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2g7CisgIGlu dCB2YWxpZF9wID0gMTsKIAogICAvKiBJZiB0aGVyZSBpcyBhbHJlYWR5IGEg Y2FuZGlkYXRlLCB1c2UgaXQuICAqLwogICBhcmNoZXMgPSBnZGJhcmNoX2xp c3RfbG9va3VwX2J5X2luZm8gKGFyY2hlcywgJmluZm8pOwpAQCAtMTY3OCw2 ICsxNzM2LDEwIEBAIHNwYXJjMzJfZ2RiYXJjaF9pbml0IChzdHJ1Y3QgZ2Ri YXJjaF9pbmYKICAgdGRlcC0+cGNfcmVnbnVtID0gU1BBUkMzMl9QQ19SRUdO VU07CiAgIHRkZXAtPm5wY19yZWdudW0gPSBTUEFSQzMyX05QQ19SRUdOVU07 CiAgIHRkZXAtPnN0ZXBfdHJhcCA9IHNwYXJjX3N0ZXBfdHJhcDsKKyAgdGRl cC0+ZnB1X3JlZ2lzdGVyX25hbWVzID0gc3BhcmMzMl9mcHVfcmVnaXN0ZXJf bmFtZXM7CisgIHRkZXAtPmZwdV9yZWdpc3RlcnNfbnVtID0gQVJSQVlfU0la RSAoc3BhcmMzMl9mcHVfcmVnaXN0ZXJfbmFtZXMpOworICB0ZGVwLT5jcDBf cmVnaXN0ZXJfbmFtZXMgPSBzcGFyYzMyX2NwMF9yZWdpc3Rlcl9uYW1lczsK KyAgdGRlcC0+Y3AwX3JlZ2lzdGVyc19udW0gPSBBUlJBWV9TSVpFIChzcGFy YzMyX2NwMF9yZWdpc3Rlcl9uYW1lcyk7CiAKICAgc2V0X2dkYmFyY2hfbG9u Z19kb3VibGVfYml0IChnZGJhcmNoLCAxMjgpOwogICBzZXRfZ2RiYXJjaF9s b25nX2RvdWJsZV9mb3JtYXQgKGdkYmFyY2gsIGZsb2F0Zm9ybWF0c19zcGFy Y19xdWFkKTsKQEAgLTE2ODYsNiArMTc0OCw4IEBAIHNwYXJjMzJfZ2RiYXJj aF9pbml0IChzdHJ1Y3QgZ2RiYXJjaF9pbmYKICAgc2V0X2dkYmFyY2hfcmVn aXN0ZXJfbmFtZSAoZ2RiYXJjaCwgc3BhcmMzMl9yZWdpc3Rlcl9uYW1lKTsK ICAgc2V0X2dkYmFyY2hfcmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgc3BhcmMz Ml9yZWdpc3Rlcl90eXBlKTsKICAgc2V0X2dkYmFyY2hfbnVtX3BzZXVkb19y ZWdzIChnZGJhcmNoLCBTUEFSQzMyX05VTV9QU0VVRE9fUkVHUyk7CisgIHNl dF90ZGVzY19wc2V1ZG9fcmVnaXN0ZXJfbmFtZSAoZ2RiYXJjaCwgc3BhcmMz Ml9wc2V1ZG9fcmVnaXN0ZXJfbmFtZSk7CisgIHNldF90ZGVzY19wc2V1ZG9f cmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgc3BhcmMzMl9wc2V1ZG9fcmVnaXN0 ZXJfdHlwZSk7CiAgIHNldF9nZGJhcmNoX3BzZXVkb19yZWdpc3Rlcl9yZWFk IChnZGJhcmNoLCBzcGFyYzMyX3BzZXVkb19yZWdpc3Rlcl9yZWFkKTsKICAg c2V0X2dkYmFyY2hfcHNldWRvX3JlZ2lzdGVyX3dyaXRlIChnZGJhcmNoLCBz cGFyYzMyX3BzZXVkb19yZWdpc3Rlcl93cml0ZSk7CiAKQEAgLTE3MzQsNiAr MTc5OCwzOSBAQCBzcGFyYzMyX2dkYmFyY2hfaW5pdCAoc3RydWN0IGdkYmFy Y2hfaW5mCiAKICAgZnJhbWVfdW53aW5kX2FwcGVuZF91bndpbmRlciAoZ2Ri YXJjaCwgJnNwYXJjMzJfZnJhbWVfdW53aW5kKTsKIAorICBpZiAodGRlc2Nf aGFzX3JlZ2lzdGVycyAodGRlc2MpKQorICAgIHsKKyAgICAgIHN0cnVjdCB0 ZGVzY19hcmNoX2RhdGEgKnRkZXNjX2RhdGEgPSB0ZGVzY19kYXRhX2FsbG9j ICgpOworCisgICAgICAvKiBWYWxpZGF0ZSB0aGF0IHRoZSBkZXNjcmlwdG9y IHByb3ZpZGVzIHRoZSBtYW5kYXRvcnkgcmVnaXN0ZXJzCisgICAgICAgICBh bmQgYWxsb2NhdGUgdGhlaXIgbnVtYmVycy4gKi8KKyAgICAgIHZhbGlkX3Ag Jj0gdmFsaWRhdGVfdGRlc2NfcmVnaXN0ZXJzICh0ZGVzYywgdGRlc2NfZGF0 YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAib3JnLmdudS5nZGIuc3BhcmMuY3B1IiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFyY19jb3JlX3JlZ2lzdGVy X25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEFSUkFZX1NJWkUgKHNwYXJjX2NvcmVfcmVnaXN0ZXJfbmFtZXMp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNQQVJDX0cwX1JFR05VTSk7CisgICAgICB2YWxpZF9wICY9IHZhbGlkYXRl X3RkZXNjX3JlZ2lzdGVycyAodGRlc2MsIHRkZXNjX2RhdGEsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9yZy5nbnUu Z2RiLnNwYXJjLmZwdSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGRlcC0+ZnB1X3JlZ2lzdGVyX25hbWVzLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRkZXAt PmZwdV9yZWdpc3RlcnNfbnVtLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNQQVJDX0YwX1JFR05VTSk7CisgICAgICB2 YWxpZF9wICY9IHZhbGlkYXRlX3RkZXNjX3JlZ2lzdGVycyAodGRlc2MsIHRk ZXNjX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIm9yZy5nbnUuZ2RiLnNwYXJjLmNwMCIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGRlcC0+Y3AwX3Jl Z2lzdGVyX25hbWVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRkZXAtPmNwMF9yZWdpc3RlcnNfbnVtLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQQVJDX0Yw X1JFR05VTSArIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRkZXAtPmZwdV9yZWdpc3RlcnNfbnVtKTsKKyAgICAgIGlm ICghdmFsaWRfcCkKKyAgICAgICAgeworICAgICAgICAgIHRkZXNjX2RhdGFf Y2xlYW51cCAodGRlc2NfZGF0YSk7CisgICAgICAgICAgcmV0dXJuIE5VTEw7 CisgICAgICAgIH0KKworICAgICAgLyogVGFyZ2V0IGRlc2NyaXB0aW9uIG1h eSBoYXZlIGNoYW5nZWQuICovCisgICAgICBpbmZvLnRkZXBfaW5mbyA9IHRk ZXNjX2RhdGE7CisgICAgICB0ZGVzY191c2VfcmVnaXN0ZXJzIChnZGJhcmNo LCB0ZGVzYywgdGRlc2NfZGF0YSk7CisgICAgfQorCiAgIC8qIElmIHdlIGhh dmUgcmVnaXN0ZXIgc2V0cywgZW5hYmxlIHRoZSBnZW5lcmljIGNvcmUgZmls ZSBzdXBwb3J0LiAgKi8KICAgaWYgKHRkZXAtPmdyZWdzZXQpCiAgICAgc2V0 X2dkYmFyY2hfaXRlcmF0ZV9vdmVyX3JlZ3NldF9zZWN0aW9ucwotLS0gYS9n ZGIvc3BhcmMtdGRlcC5oCTIwMTYtMDItMDkgMTk6MTk6MzkuMDAwMDAwMDAw ICswMDAwCisrKyBiL2dkYi9zcGFyYy10ZGVwLmgJMjAxNy0wMS0wNCAwODow MToxOS45MDkxOTUwOTcgKzAwMDAKQEAgLTIwLDYgKzIwLDEyIEBACiAjaWZu ZGVmIFNQQVJDX1RERVBfSAogI2RlZmluZSBTUEFSQ19UREVQX0ggMQogCisj ZGVmaW5lIFNQQVJDX0NPUkVfUkVHSVNURVJTICAgICAgICAgICAgICAgICAg ICAgIFwKKyAgImcwIiwgImcxIiwgImcyIiwgImczIiwgImc0IiwgImc1Iiwg Imc2IiwgImc3IiwgXAorICAibzAiLCAibzEiLCAibzIiLCAibzMiLCAibzQi LCAibzUiLCAic3AiLCAibzciLCBcCisgICJsMCIsICJsMSIsICJsMiIsICJs MyIsICJsNCIsICJsNSIsICJsNiIsICJsNyIsIFwKKyAgImkwIiwgImkxIiwg ImkyIiwgImkzIiwgImk0IiwgImk1IiwgImZwIiwgImk3IgorCiBzdHJ1Y3Qg ZnJhbWVfaW5mbzsKIHN0cnVjdCBnZGJhcmNoOwogc3RydWN0IHJlZ2NhY2hl OwpAQCAtNTcsNiArNjMsMTIgQEAgc3RydWN0IGdkYmFyY2hfdGRlcAogICBp bnQgcGNfcmVnbnVtOwogICBpbnQgbnBjX3JlZ251bTsKIAorICAvKiBSZWdp c3RlciBuYW1lcyBzcGVjaWZpYyBmb3IgYXJjaGl0ZWN0dXJlIChzcGFyYzMy IHZzLiBzcGFyYzY0KSAqLworICBjb25zdCBjaGFyICoqZnB1X3JlZ2lzdGVy X25hbWVzOworICBzaXplX3QgZnB1X3JlZ2lzdGVyc19udW07CisgIGNvbnN0 IGNoYXIgKipjcDBfcmVnaXN0ZXJfbmFtZXM7CisgIHNpemVfdCBjcDBfcmVn aXN0ZXJzX251bTsKKwogICAvKiBSZWdpc3RlciBzZXRzLiAgKi8KICAgY29u c3Qgc3RydWN0IHJlZ3NldCAqZ3JlZ3NldDsKICAgc2l6ZV90IHNpemVvZl9n cmVnc2V0OwpAQCAtODUsNyArOTcsNyBAQCBzdHJ1Y3QgZ2RiYXJjaF90ZGVw CiAKIGVudW0gc3BhcmNfcmVnbnVtCiB7Ci0gIFNQQVJDX0cwX1JFR05VTSwJ CS8qICVnMCAqLworICBTUEFSQ19HMF9SRUdOVU0gPSAwLAkJLyogJWcwICov CiAgIFNQQVJDX0cxX1JFR05VTSwKICAgU1BBUkNfRzJfUkVHTlVNLAogICBT UEFSQ19HM19SRUdOVU0sCkBAIC0xNDAsOSArMTUyLDEyIEBAIGVudW0gc3Bh cmMzMl9yZWdudW0KICAgU1BBUkMzMl9OUENfUkVHTlVNLAkJLyogJW5wYyAq LwogICBTUEFSQzMyX0ZTUl9SRUdOVU0sCQkvKiAlZnNyICovCiAgIFNQQVJD MzJfQ1NSX1JFR05VTSwJCS8qICVjc3IgKi8KK307CiAKLSAgLyogUHNldWRv IHJlZ2lzdGVycy4gICovCi0gIFNQQVJDMzJfRDBfUkVHTlVNLAkJLyogJWQw ICovCisvKiBQc2V1ZG8gcmVnaXN0ZXJzLiAgKi8KK2VudW0gc3BhcmMzMl9w c2V1ZG9fcmVnbnVtCit7CisgIFNQQVJDMzJfRDBfUkVHTlVNID0gMCwJLyog JWQwICovCiAgIFNQQVJDMzJfRDMwX1JFR05VTQkJLyogJWQzMCAqLwogICA9 IFNQQVJDMzJfRDBfUkVHTlVNICsgMTUKIH07Ci0tLSBhL2dkYi9zcGFyYzY0 LXRkZXAuYwkyMDE2LTAyLTA5IDE5OjE5OjM5LjAwMDAwMDAwMCArMDAwMAor KysgYi9nZGIvc3BhcmM2NC10ZGVwLmMJMjAxNy0wMS0wNCAwODowMToxOS44 MjQ0MjA5NjAgKzAwMDAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJv YmpmaWxlcy5oIgogI2luY2x1ZGUgIm9zYWJpLmgiCiAjaW5jbHVkZSAicmVn Y2FjaGUuaCIKKyNpbmNsdWRlICJ0YXJnZXQtZGVzY3JpcHRpb25zLmgiCiAj aW5jbHVkZSAidGFyZ2V0LmgiCiAjaW5jbHVkZSAidmFsdWUuaCIKIApAQCAt MjI2LDI4ICsyMjcsMjkgQEAgc3BhcmM2NF9mcHJzX3R5cGUgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcgogCiAKIC8qIFJlZ2lzdGVyIGluZm9ybWF0aW9uLiAg Ki8KKyNkZWZpbmUgU1BBUkM2NF9GUFVfUkVHSVNURVJTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICJmMCIsICJmMSIsICJmMiIsICJmMyIs ICJmNCIsICJmNSIsICJmNiIsICJmNyIsICAgICAgICAgXAorICAiZjgiLCAi ZjkiLCAiZjEwIiwgImYxMSIsICJmMTIiLCAiZjEzIiwgImYxNCIsICJmMTUi LCAgIFwKKyAgImYxNiIsICJmMTciLCAiZjE4IiwgImYxOSIsICJmMjAiLCAi ZjIxIiwgImYyMiIsICJmMjMiLCBcCisgICJmMjQiLCAiZjI1IiwgImYyNiIs ICJmMjciLCAiZjI4IiwgImYyOSIsICJmMzAiLCAiZjMxIiwgXAorICAiZjMy IiwgImYzNCIsICJmMzYiLCAiZjM4IiwgImY0MCIsICJmNDIiLCAiZjQ0Iiwg ImY0NiIsIFwKKyAgImY0OCIsICJmNTAiLCAiZjUyIiwgImY1NCIsICJmNTYi LCAiZjU4IiwgImY2MCIsICJmNjIiCisjZGVmaW5lIFNQQVJDNjRfQ1AwX1JF R0lTVEVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgInBjIiwgIm5wYyIsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAv KiBGSVhNRTogR2l2ZSAic3RhdGUiIGEgbmFtZSB1bnRpbCB3ZSBzdGFydCB1 c2luZyByZWdpc3RlciBncm91cHMuICAqLyBcCisgICJzdGF0ZSIsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgImZzciIsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorICAiZnBycyIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICJ5IgorCitz dGF0aWMgY29uc3QgY2hhciAqc3BhcmM2NF9mcHVfcmVnaXN0ZXJfbmFtZXNb XSA9IHsgU1BBUkM2NF9GUFVfUkVHSVNURVJTIH07CitzdGF0aWMgY29uc3Qg Y2hhciAqc3BhcmM2NF9jcDBfcmVnaXN0ZXJfbmFtZXNbXSA9IHsgU1BBUkM2 NF9DUDBfUkVHSVNURVJTIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICpzcGFy YzY0X3JlZ2lzdGVyX25hbWVzW10gPQogewotICAiZzAiLCAiZzEiLCAiZzIi LCAiZzMiLCAiZzQiLCAiZzUiLCAiZzYiLCAiZzciLAotICAibzAiLCAibzEi LCAibzIiLCAibzMiLCAibzQiLCAibzUiLCAic3AiLCAibzciLAotICAibDAi LCAibDEiLCAibDIiLCAibDMiLCAibDQiLCAibDUiLCAibDYiLCAibDciLAot ICAiaTAiLCAiaTEiLCAiaTIiLCAiaTMiLCAiaTQiLCAiaTUiLCAiZnAiLCAi aTciLAotCi0gICJmMCIsICJmMSIsICJmMiIsICJmMyIsICJmNCIsICJmNSIs ICJmNiIsICJmNyIsCi0gICJmOCIsICJmOSIsICJmMTAiLCAiZjExIiwgImYx MiIsICJmMTMiLCAiZjE0IiwgImYxNSIsCi0gICJmMTYiLCAiZjE3IiwgImYx OCIsICJmMTkiLCAiZjIwIiwgImYyMSIsICJmMjIiLCAiZjIzIiwKLSAgImYy NCIsICJmMjUiLCAiZjI2IiwgImYyNyIsICJmMjgiLCAiZjI5IiwgImYzMCIs ICJmMzEiLAotICAiZjMyIiwgImYzNCIsICJmMzYiLCAiZjM4IiwgImY0MCIs ICJmNDIiLCAiZjQ0IiwgImY0NiIsCi0gICJmNDgiLCAiZjUwIiwgImY1MiIs ICJmNTQiLCAiZjU2IiwgImY1OCIsICJmNjAiLCAiZjYyIiwKLQotICAicGMi LCAibnBjIiwKLSAgCi0gIC8qIEZJWE1FOiBHaXZlICJzdGF0ZSIgYSBuYW1l IHVudGlsIHdlIHN0YXJ0IHVzaW5nIHJlZ2lzdGVyIGdyb3Vwcy4gICovCi0g ICJzdGF0ZSIsCi0gICJmc3IiLAotICAiZnBycyIsCi0gICJ5IiwKKyAgU1BB UkNfQ09SRV9SRUdJU1RFUlMsCisgIFNQQVJDNjRfRlBVX1JFR0lTVEVSUywK KyAgU1BBUkM2NF9DUDBfUkVHSVNURVJTCiB9OwogCiAvKiBUb3RhbCBudW1i ZXIgb2YgcmVnaXN0ZXJzLiAgKi8KQEAgLTI3MywyOCArMjc1LDYzIEBAIHN0 YXRpYyBjb25zdCBjaGFyICpzcGFyYzY0X3BzZXVkb19yZWdpc3QKICNkZWZp bmUgU1BBUkM2NF9OVU1fUFNFVURPX1JFR1MgQVJSQVlfU0laRSAoc3BhcmM2 NF9wc2V1ZG9fcmVnaXN0ZXJfbmFtZXMpCiAKIC8qIFJldHVybiB0aGUgbmFt ZSBvZiByZWdpc3RlciBSRUdOVU0uICAqLworc3RhdGljIGNvbnN0IGNoYXIg Kgorc3BhcmM2NF9wc2V1ZG9fcmVnaXN0ZXJfbmFtZSAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIGludCByZWdudW0pCit7CisgIHJlZ251bSAtPSBnZGJh cmNoX251bV9yZWdzIChnZGJhcmNoKTsKKworICBpZiAocmVnbnVtIDwgU1BB UkM2NF9OVU1fUFNFVURPX1JFR1MpCisgICAgcmV0dXJuIHNwYXJjNjRfcHNl dWRvX3JlZ2lzdGVyX25hbWVzW3JlZ251bV07CisKKyAgaW50ZXJuYWxfZXJy b3IgKF9fRklMRV9fLCBfX0xJTkVfXywKKyAgICAgICAgICAgICAgICAgIF8o InNwYXJjNjRfcHNldWRvX3JlZ2lzdGVyX25hbWU6IGJhZCByZWdpc3RlciBu dW1iZXIgJWQiKSwKKyAgICAgICAgICAgICAgICAgIHJlZ251bSk7Cit9CiAK IHN0YXRpYyBjb25zdCBjaGFyICoKIHNwYXJjNjRfcmVnaXN0ZXJfbmFtZSAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGludCByZWdudW0pCiB7Ci0gIGlm IChyZWdudW0gPj0gMCAmJiByZWdudW0gPCBTUEFSQzY0X05VTV9SRUdTKQot ICAgIHJldHVybiBzcGFyYzY0X3JlZ2lzdGVyX25hbWVzW3JlZ251bV07Cisg IGlmICh0ZGVzY19oYXNfcmVnaXN0ZXJzIChnZGJhcmNoX3RhcmdldF9kZXNj IChnZGJhcmNoKSkpCisgICAgcmV0dXJuIHRkZXNjX3JlZ2lzdGVyX25hbWUg KGdkYmFyY2gsIHJlZ251bSk7CiAKLSAgaWYgKHJlZ251bSA+PSBTUEFSQzY0 X05VTV9SRUdTCi0gICAgICAmJiByZWdudW0gPCBTUEFSQzY0X05VTV9SRUdT ICsgU1BBUkM2NF9OVU1fUFNFVURPX1JFR1MpCi0gICAgcmV0dXJuIHNwYXJj NjRfcHNldWRvX3JlZ2lzdGVyX25hbWVzW3JlZ251bSAtIFNQQVJDNjRfTlVN X1JFR1NdOworICBpZiAocmVnbnVtID49IDAgJiYgcmVnbnVtIDwgZ2RiYXJj aF9udW1fcmVncyAoZ2RiYXJjaCkpCisgICAgcmV0dXJuIHNwYXJjNjRfcmVn aXN0ZXJfbmFtZXNbcmVnbnVtXTsKIAotICByZXR1cm4gTlVMTDsKKyAgcmV0 dXJuIHNwYXJjNjRfcHNldWRvX3JlZ2lzdGVyX25hbWUgKGdkYmFyY2gsIHJl Z251bSk7CiB9CiAKIC8qIFJldHVybiB0aGUgR0RCIHR5cGUgb2JqZWN0IGZv ciB0aGUgInN0YW5kYXJkIiBkYXRhIHR5cGUgb2YgZGF0YSBpbgogICAgcmVn aXN0ZXIgUkVHTlVNLiAgKi8KK3N0YXRpYyBzdHJ1Y3QgdHlwZSAqCitzcGFy YzY0X3BzZXVkb19yZWdpc3Rlcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgaW50IHJlZ251bSkKK3sKKyAgcmVnbnVtIC09IGdkYmFyY2hfbnVt X3JlZ3MgKGdkYmFyY2gpOworCisgIGlmIChyZWdudW0gPT0gU1BBUkM2NF9D V1BfUkVHTlVNKQorICAgIHJldHVybiBidWlsdGluX3R5cGUgKGdkYmFyY2gp LT5idWlsdGluX2ludDY0OworICBpZiAocmVnbnVtID09IFNQQVJDNjRfUFNU QVRFX1JFR05VTSkKKyAgICByZXR1cm4gc3BhcmM2NF9wc3RhdGVfdHlwZSAo Z2RiYXJjaCk7CisgIGlmIChyZWdudW0gPT0gU1BBUkM2NF9BU0lfUkVHTlVN KQorICAgIHJldHVybiBidWlsdGluX3R5cGUgKGdkYmFyY2gpLT5idWlsdGlu X2ludDY0OworICBpZiAocmVnbnVtID09IFNQQVJDNjRfQ0NSX1JFR05VTSkK KyAgICByZXR1cm4gYnVpbHRpbl90eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9p bnQ2NDsKKyAgaWYgKHJlZ251bSA+PSBTUEFSQzY0X0QwX1JFR05VTSAmJiBy ZWdudW0gPD0gU1BBUkM2NF9ENjJfUkVHTlVNKQorICAgIHJldHVybiBidWls dGluX3R5cGUgKGdkYmFyY2gpLT5idWlsdGluX2RvdWJsZTsKKyAgaWYgKHJl Z251bSA+PSBTUEFSQzY0X1EwX1JFR05VTSAmJiByZWdudW0gPD0gU1BBUkM2 NF9RNjBfUkVHTlVNKQorICAgIHJldHVybiBidWlsdGluX3R5cGUgKGdkYmFy Y2gpLT5idWlsdGluX2xvbmdfZG91YmxlOworCisgIGludGVybmFsX2Vycm9y IChfX0ZJTEVfXywgX19MSU5FX18sCisgICAgICAgICAgICAgICAgICBfKCJz cGFyYzY0X3BzZXVkb19yZWdpc3Rlcl90eXBlOiBiYWQgcmVnaXN0ZXIgbnVt YmVyICVkIiksCisgICAgICAgICAgICAgICAgICByZWdudW0pOworfQogCiBz dGF0aWMgc3RydWN0IHR5cGUgKgogc3BhcmM2NF9yZWdpc3Rlcl90eXBlIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHJlZ251bSkKIHsKLSAgLyog UmF3IHJlZ2lzdGVycy4gICovCisgIGlmICh0ZGVzY19oYXNfcmVnaXN0ZXJz IChnZGJhcmNoX3RhcmdldF9kZXNjIChnZGJhcmNoKSkpCisgICAgcmV0dXJu IHRkZXNjX3JlZ2lzdGVyX3R5cGUgKGdkYmFyY2gsIHJlZ251bSk7CiAKKyAg LyogUmF3IHJlZ2lzdGVycy4gICovCiAgIGlmIChyZWdudW0gPT0gU1BBUkNf U1BfUkVHTlVNIHx8IHJlZ251bSA9PSBTUEFSQ19GUF9SRUdOVU0pCiAgICAg cmV0dXJuIGJ1aWx0aW5fdHlwZSAoZ2RiYXJjaCktPmJ1aWx0aW5fZGF0YV9w dHI7CiAgIGlmIChyZWdudW0gPj0gU1BBUkNfRzBfUkVHTlVNICYmIHJlZ251 bSA8PSBTUEFSQ19JN19SRUdOVU0pCkBAIC0zMTksMTkgKzM1Niw4IEBAIHNw YXJjNjRfcmVnaXN0ZXJfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmcKICAgICBy ZXR1cm4gYnVpbHRpbl90eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9pbnQ2NDsK IAogICAvKiBQc2V1ZG8gcmVnaXN0ZXJzLiAgKi8KLQotICBpZiAocmVnbnVt ID09IFNQQVJDNjRfQ1dQX1JFR05VTSkKLSAgICByZXR1cm4gYnVpbHRpbl90 eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9pbnQ2NDsKLSAgaWYgKHJlZ251bSA9 PSBTUEFSQzY0X1BTVEFURV9SRUdOVU0pCi0gICAgcmV0dXJuIHNwYXJjNjRf cHN0YXRlX3R5cGUgKGdkYmFyY2gpOwotICBpZiAocmVnbnVtID09IFNQQVJD NjRfQVNJX1JFR05VTSkKLSAgICByZXR1cm4gYnVpbHRpbl90eXBlIChnZGJh cmNoKS0+YnVpbHRpbl9pbnQ2NDsKLSAgaWYgKHJlZ251bSA9PSBTUEFSQzY0 X0NDUl9SRUdOVU0pCi0gICAgcmV0dXJuIGJ1aWx0aW5fdHlwZSAoZ2RiYXJj aCktPmJ1aWx0aW5faW50NjQ7Ci0gIGlmIChyZWdudW0gPj0gU1BBUkM2NF9E MF9SRUdOVU0gJiYgcmVnbnVtIDw9IFNQQVJDNjRfRDYyX1JFR05VTSkKLSAg ICByZXR1cm4gYnVpbHRpbl90eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9kb3Vi bGU7Ci0gIGlmIChyZWdudW0gPj0gU1BBUkM2NF9RMF9SRUdOVU0gJiYgcmVn bnVtIDw9IFNQQVJDNjRfUTYwX1JFR05VTSkKLSAgICByZXR1cm4gYnVpbHRp bl90eXBlIChnZGJhcmNoKS0+YnVpbHRpbl9sb25nX2RvdWJsZTsKKyAgaWYg KHJlZ251bSA+PSBnZGJhcmNoX251bV9yZWdzIChnZGJhcmNoKSkKKyAgICBy ZXR1cm4gc3BhcmM2NF9wc2V1ZG9fcmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwg cmVnbnVtKTsKIAogICBpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElO RV9fLCBfKCJpbnZhbGlkIHJlZ251bSIpKTsKIH0KQEAgLTM0NCw3ICszNzAs NyBAQCBzcGFyYzY0X3BzZXVkb19yZWdpc3Rlcl9yZWFkIChzdHJ1Y3QgZ2Ri CiAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRl X29yZGVyIChnZGJhcmNoKTsKICAgZW51bSByZWdpc3Rlcl9zdGF0dXMgc3Rh dHVzOwogCi0gIGdkYl9hc3NlcnQgKHJlZ251bSA+PSBTUEFSQzY0X05VTV9S RUdTKTsKKyAgcmVnbnVtIC09IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gp OwogCiAgIGlmIChyZWdudW0gPj0gU1BBUkM2NF9EMF9SRUdOVU0gJiYgcmVn bnVtIDw9IFNQQVJDNjRfRDMwX1JFR05VTSkKICAgICB7CkBAIC00MjEsNyAr NDQ3LDggQEAgc3BhcmM2NF9wc2V1ZG9fcmVnaXN0ZXJfd3JpdGUgKHN0cnVj dCBnZAogCQkJICAgICAgIGludCByZWdudW0sIGNvbnN0IGdkYl9ieXRlICpi dWYpCiB7CiAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJj aF9ieXRlX29yZGVyIChnZGJhcmNoKTsKLSAgZ2RiX2Fzc2VydCAocmVnbnVt ID49IFNQQVJDNjRfTlVNX1JFR1MpOworCisgIHJlZ251bSAtPSBnZGJhcmNo X251bV9yZWdzIChnZGJhcmNoKTsKIAogICBpZiAocmVnbnVtID49IFNQQVJD NjRfRDBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFSQzY0X0QzMF9SRUdOVU0p CiAgICAgewpAQCAtNjM4LDYgKzY2NSw3IEBAIHN0YXRpYyB2b2lkCiBzcGFy YzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCiAJCQkgICAgICAgY29uc3Qg Z2RiX2J5dGUgKnZhbGJ1ZiwgaW50IGVsZW1lbnQsIGludCBiaXRwb3MpCiB7 CisgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X3JlZ2NhY2hlX2Fy Y2ggKHJlZ2NhY2hlKTsKICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBl KTsKIAogICBnZGJfYXNzZXJ0IChlbGVtZW50IDwgMTYpOwpAQCAtNjUyLDE0 ICs2ODAsMTUgQEAgc3BhcmM2NF9zdG9yZV9mbG9hdGluZ19maWVsZHMgKHN0 cnVjdCByZQogCSAgZ2RiX2Fzc2VydCAoYml0cG9zID09IDApOwogCSAgZ2Ri X2Fzc2VydCAoKGVsZW1lbnQgJSAyKSA9PSAwKTsKIAotCSAgcmVnbnVtID0g U1BBUkM2NF9RMF9SRUdOVU0gKyBlbGVtZW50IC8gMjsKKwkgIHJlZ251bSA9 IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgU1BBUkM2NF9RMF9SRUdO VU0gKyBlbGVtZW50IC8gMjsKIAkgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSAo cmVnY2FjaGUsIHJlZ251bSwgdmFsYnVmKTsKIAl9CiAgICAgICBlbHNlIGlm IChsZW4gPT0gOCkKIAl7CiAJICBnZGJfYXNzZXJ0IChiaXRwb3MgPT0gMCB8 fCBiaXRwb3MgPT0gNjQpOwogCi0JICByZWdudW0gPSBTUEFSQzY0X0QwX1JF R05VTSArIGVsZW1lbnQgKyBiaXRwb3MgLyA2NDsKKwkgIHJlZ251bSA9IGdk YmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgU1BBUkM2NF9EMF9SRUdOVU0K KyAgICAgICAgICAgICAgICAgICArIGVsZW1lbnQgKyBiaXRwb3MgLyA2NDsK IAkgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSAocmVnY2FjaGUsIHJlZ251bSwg dmFsYnVmICsgKGJpdHBvcyAvIDgpKTsKIAl9CiAgICAgICBlbHNlCkBAIC03 MTIsNiArNzQxLDggQEAgc3RhdGljIHZvaWQKIHNwYXJjNjRfZXh0cmFjdF9m bG9hdGluZ19maWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0 cnVjdCB0eXBlICp0eXBlLAogCQkJCSBnZGJfYnl0ZSAqdmFsYnVmLCBpbnQg Yml0cG9zKQogeworICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9y ZWdjYWNoZV9hcmNoIChyZWdjYWNoZSk7CisKICAgaWYgKHNwYXJjNjRfZmxv YXRpbmdfcCAodHlwZSkpCiAgICAgewogICAgICAgaW50IGxlbiA9IFRZUEVf TEVOR1RIICh0eXBlKTsKQEAgLTcyMSwxNCArNzUyLDE1IEBAIHNwYXJjNjRf ZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHN0cnVjdAogCXsKIAkgIGdkYl9h c3NlcnQgKGJpdHBvcyA9PSAwIHx8IGJpdHBvcyA9PSAxMjgpOwogCi0JICBy ZWdudW0gPSBTUEFSQzY0X1EwX1JFR05VTSArIGJpdHBvcyAvIDEyODsKKwkg IHJlZ251bSA9IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgU1BBUkM2 NF9RMF9SRUdOVU0KKyAgICAgICAgICAgICAgICAgICArIGJpdHBvcyAvIDEy ODsKIAkgIHJlZ2NhY2hlX2Nvb2tlZF9yZWFkIChyZWdjYWNoZSwgcmVnbnVt LCB2YWxidWYgKyAoYml0cG9zIC8gOCkpOwogCX0KICAgICAgIGVsc2UgaWYg KGxlbiA9PSA4KQogCXsKIAkgIGdkYl9hc3NlcnQgKGJpdHBvcyAlIDY0ID09 IDAgJiYgYml0cG9zID49IDAgJiYgYml0cG9zIDwgMjU2KTsKIAotCSAgcmVn bnVtID0gU1BBUkM2NF9EMF9SRUdOVU0gKyBiaXRwb3MgLyA2NDsKKwkgIHJl Z251bSA9IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgU1BBUkM2NF9E MF9SRUdOVU0gKyBiaXRwb3MgLyA2NDsKIAkgIHJlZ2NhY2hlX2Nvb2tlZF9y ZWFkIChyZWdjYWNoZSwgcmVnbnVtLCB2YWxidWYgKyAoYml0cG9zIC8gOCkp OwogCX0KICAgICAgIGVsc2UKQEAgLTkxMSwxMyArOTQzLDEzIEBAIHNwYXJj NjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUKIAkgIC8qIEZs b2F0IENvbXBsZXggb3IgZG91YmxlIENvbXBsZXggYXJndW1lbnRzLiAgKi8K IAkgIGlmIChlbGVtZW50IDwgMTYpCiAJICAgIHsKLQkgICAgICByZWdudW0g PSBTUEFSQzY0X0QwX1JFR05VTSArIGVsZW1lbnQ7CisJICAgICAgcmVnbnVt ID0gZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJjaCkgKyBTUEFSQzY0X0QwX1JF R05VTSArIGVsZW1lbnQ7CiAKIAkgICAgICBpZiAobGVuID09IDE2KQogCQl7 Ci0JCSAgaWYgKHJlZ251bSA8IFNQQVJDNjRfRDMwX1JFR05VTSkKKwkJICBp ZiAocmVnbnVtIDwgZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJjaCkgKyBTUEFS QzY0X0QzMF9SRUdOVU0pCiAJCSAgICByZWdjYWNoZV9jb29rZWRfd3JpdGUg KHJlZ2NhY2hlLCByZWdudW0gKyAxLCB2YWxidWYgKyA4KTsKLQkJICBpZiAo cmVnbnVtIDwgU1BBUkM2NF9EMTBfUkVHTlVNKQorCQkgIGlmIChyZWdudW0g PCBnZGJhcmNoX251bV9yZWdzIChnZGJhcmNoKSArIFNQQVJDNjRfRDEwX1JF R05VTSkKIAkJICAgIHJlZ2NhY2hlX2Nvb2tlZF93cml0ZSAocmVnY2FjaGUs CiAJCQkJCSAgIFNQQVJDX08wX1JFR05VTSArIGVsZW1lbnQgKyAxLAogCQkJ CQkgICB2YWxidWYgKyA4KTsKQEAgLTkzMiwxMiArOTY0LDE0IEBAIHNwYXJj NjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUKIAkgICAgICBp ZiAoZWxlbWVudCAlIDIpCiAJCWVsZW1lbnQrKzsKIAkgICAgICBpZiAoZWxl bWVudCA8IDE2KQotCQlyZWdudW0gPSBTUEFSQzY0X1EwX1JFR05VTSArIGVs ZW1lbnQgLyAyOworCQlyZWdudW0gPSBnZGJhcmNoX251bV9yZWdzIChnZGJh cmNoKSArIFNQQVJDNjRfUTBfUkVHTlVNCisgICAgICAgICAgICAgICAgICAg ICAgICAgKyBlbGVtZW50IC8gMjsKIAkgICAgfQogCSAgZWxzZSBpZiAobGVu ID09IDgpCiAJICAgIHsKIAkgICAgICBpZiAoZWxlbWVudCA8IDE2KQotCQly ZWdudW0gPSBTUEFSQzY0X0QwX1JFR05VTSArIGVsZW1lbnQ7CisJCXJlZ251 bSA9IGdkYmFyY2hfbnVtX3JlZ3MgKGdkYmFyY2gpICsgU1BBUkM2NF9EMF9S RUdOVU0KKyAgICAgICAgICAgICAgICAgICAgICAgICArIGVsZW1lbnQ7CiAJ ICAgIH0KIAkgIGVsc2UgaWYgKGxlbiA9PSA0KQogCSAgICB7CkBAIC05NTIs NyArOTg2LDggQEAgc3BhcmM2NF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCBy ZWdjYWNoZQogCSAgICAgIHZhbGJ1ZiA9IGJ1ZjsKIAkgICAgICBsZW4gPSA4 OwogCSAgICAgIGlmIChlbGVtZW50IDwgMTYpCi0JCXJlZ251bSA9IFNQQVJD NjRfRDBfUkVHTlVNICsgZWxlbWVudDsKKwkJcmVnbnVtID0gZ2RiYXJjaF9u dW1fcmVncyAoZ2RiYXJjaCkgKyBTUEFSQzY0X0QwX1JFR05VTQorICAgICAg ICAgICAgICAgICAgICAgICAgICsgZWxlbWVudDsKIAkgICAgfQogCX0KICAg ICAgIGVsc2UKQEAgLTk2OSwxOSArMTAwNCwyNCBAQCBzcGFyYzY0X3N0b3Jl X2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlCiAKIAkgIC8qIElmIHdlJ3Jl IHN0b3JpbmcgdGhlIHZhbHVlIGluIGEgZmxvYXRpbmctcG9pbnQgcmVnaXN0 ZXIsCiAgICAgICAgICAgICAgYWxzbyBzdG9yZSBpdCBpbiB0aGUgY29ycmVz cG9uZGluZyAlMCByZWdpc3RlcihzKS4gICovCi0JICBpZiAocmVnbnVtID49 IFNQQVJDNjRfRDBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFSQzY0X0QxMF9S RUdOVU0pCi0JICAgIHsKLQkgICAgICBnZGJfYXNzZXJ0IChlbGVtZW50IDwg Nik7Ci0JICAgICAgcmVnbnVtID0gU1BBUkNfTzBfUkVHTlVNICsgZWxlbWVu dDsKLQkgICAgICByZWdjYWNoZV9jb29rZWRfd3JpdGUgKHJlZ2NhY2hlLCBy ZWdudW0sIHZhbGJ1Zik7Ci0JICAgIH0KLQkgIGVsc2UgaWYgKHJlZ251bSA+ PSBTUEFSQzY0X1EwX1JFR05VTSAmJiByZWdudW0gPD0gU1BBUkM2NF9ROF9S RUdOVU0pCi0JICAgIHsKLQkgICAgICBnZGJfYXNzZXJ0IChlbGVtZW50IDwg NSk7Ci0JICAgICAgcmVnbnVtID0gU1BBUkNfTzBfUkVHTlVNICsgZWxlbWVu dDsKLQkgICAgICByZWdjYWNoZV9jb29rZWRfd3JpdGUgKHJlZ2NhY2hlLCBy ZWdudW0sIHZhbGJ1Zik7Ci0JICAgICAgcmVnY2FjaGVfY29va2VkX3dyaXRl IChyZWdjYWNoZSwgcmVnbnVtICsgMSwgdmFsYnVmICsgOCk7Ci0JICAgIH0K KwkgIGlmIChyZWdudW0gPj0gZ2RiYXJjaF9udW1fcmVncyAoZ2RiYXJjaCkp CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIHJlZ251bSAtPSBnZGJh cmNoX251bV9yZWdzIChnZGJhcmNoKTsKKworICAgICAgICAgICAgICBpZiAo cmVnbnVtID49IFNQQVJDNjRfRDBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFS QzY0X0QxMF9SRUdOVU0pCisJICAgICAgICB7CisJICAgICAgICAgIGdkYl9h c3NlcnQgKGVsZW1lbnQgPCA2KTsKKwkgICAgICAgICAgcmVnbnVtID0gU1BB UkNfTzBfUkVHTlVNICsgZWxlbWVudDsKKwkgICAgICAgICAgcmVnY2FjaGVf Y29va2VkX3dyaXRlIChyZWdjYWNoZSwgcmVnbnVtLCB2YWxidWYpOworICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxzZSBpZiAocmVnbnVt ID49IFNQQVJDNjRfUTBfUkVHTlVNICYmIHJlZ251bSA8PSBTUEFSQzY0X1E4 X1JFR05VTSkKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg ICBnZGJfYXNzZXJ0IChlbGVtZW50IDwgNSk7CisgICAgICAgICAgICAgICAg ICByZWdudW0gPSBTUEFSQ19PMF9SRUdOVU0gKyBlbGVtZW50OworICAgICAg ICAgICAgICAgICAgcmVnY2FjaGVfY29va2VkX3dyaXRlIChyZWdjYWNoZSwg cmVnbnVtLCB2YWxidWYpOworICAgICAgICAgICAgICAgICAgcmVnY2FjaGVf Y29va2VkX3dyaXRlIChyZWdjYWNoZSwgcmVnbnVtICsgMSwgdmFsYnVmICsg OCk7CisJICAgICAgICB9CisgICAgICAgICAgICB9CiAJfQogCiAgICAgICAv KiBBbHdheXMgc3RvcmUgdGhlIGFyZ3VtZW50IGluIG1lbW9yeS4gICovCkBA IC0xMTg1LDYgKzEyMjUsMTAgQEAgc3BhcmM2NF9pbml0X2FiaSAoc3RydWN0 IGdkYmFyY2hfaW5mbyBpbgogCiAgIHRkZXAtPnBjX3JlZ251bSA9IFNQQVJD NjRfUENfUkVHTlVNOwogICB0ZGVwLT5ucGNfcmVnbnVtID0gU1BBUkM2NF9O UENfUkVHTlVNOworICB0ZGVwLT5mcHVfcmVnaXN0ZXJfbmFtZXMgPSBzcGFy YzY0X2ZwdV9yZWdpc3Rlcl9uYW1lczsKKyAgdGRlcC0+ZnB1X3JlZ2lzdGVy c19udW0gPSBBUlJBWV9TSVpFIChzcGFyYzY0X2ZwdV9yZWdpc3Rlcl9uYW1l cyk7CisgIHRkZXAtPmNwMF9yZWdpc3Rlcl9uYW1lcyA9IHNwYXJjNjRfY3Aw X3JlZ2lzdGVyX25hbWVzOworICB0ZGVwLT5jcDBfcmVnaXN0ZXJzX251bSA9 IEFSUkFZX1NJWkUgKHNwYXJjNjRfY3AwX3JlZ2lzdGVyX25hbWVzKTsKIAog ICAvKiBUaGlzIGlzIHdoYXQgYWxsIHRoZSBmdXNzIGlzIGFib3V0LiAgKi8K ICAgc2V0X2dkYmFyY2hfbG9uZ19iaXQgKGdkYmFyY2gsIDY0KTsKQEAgLTEx OTUsNiArMTIzOSw4IEBAIHNwYXJjNjRfaW5pdF9hYmkgKHN0cnVjdCBnZGJh cmNoX2luZm8gaW4KICAgc2V0X2dkYmFyY2hfcmVnaXN0ZXJfbmFtZSAoZ2Ri YXJjaCwgc3BhcmM2NF9yZWdpc3Rlcl9uYW1lKTsKICAgc2V0X2dkYmFyY2hf cmVnaXN0ZXJfdHlwZSAoZ2RiYXJjaCwgc3BhcmM2NF9yZWdpc3Rlcl90eXBl KTsKICAgc2V0X2dkYmFyY2hfbnVtX3BzZXVkb19yZWdzIChnZGJhcmNoLCBT UEFSQzY0X05VTV9QU0VVRE9fUkVHUyk7CisgIHNldF90ZGVzY19wc2V1ZG9f cmVnaXN0ZXJfbmFtZSAoZ2RiYXJjaCwgc3BhcmM2NF9wc2V1ZG9fcmVnaXN0 ZXJfbmFtZSk7CisgIHNldF90ZGVzY19wc2V1ZG9fcmVnaXN0ZXJfdHlwZSAo Z2RiYXJjaCwgc3BhcmM2NF9wc2V1ZG9fcmVnaXN0ZXJfdHlwZSk7CiAgIHNl dF9nZGJhcmNoX3BzZXVkb19yZWdpc3Rlcl9yZWFkIChnZGJhcmNoLCBzcGFy YzY0X3BzZXVkb19yZWdpc3Rlcl9yZWFkKTsKICAgc2V0X2dkYmFyY2hfcHNl dWRvX3JlZ2lzdGVyX3dyaXRlIChnZGJhcmNoLCBzcGFyYzY0X3BzZXVkb19y ZWdpc3Rlcl93cml0ZSk7CiAKLS0tIGEvZ2RiL3NwYXJjNjQtdGRlcC5oCTIw MTYtMDItMDkgMTk6MTk6MzkuMDAwMDAwMDAwICswMDAwCisrKyBiL2dkYi9z cGFyYzY0LXRkZXAuaAkyMDE3LTAxLTA0IDA4OjAxOjIwLjAzNTcyNTA1MiAr MDAwMApAQCAtNTYsOSArNTYsMTIgQEAgZW51bSBzcGFyYzY0X3JlZ251bQog ICBTUEFSQzY0X0ZTUl9SRUdOVU0sCQkvKiAlZnNyICovCiAgIFNQQVJDNjRf RlBSU19SRUdOVU0sCQkvKiAlZnBycyAqLwogICBTUEFSQzY0X1lfUkVHTlVN LAkJLyogJXkgKi8KK307CiAKLSAgLyogUHNldWRvIHJlZ2lzdGVycy4gICov Ci0gIFNQQVJDNjRfQ1dQX1JFR05VTSwJCS8qICVjd3AgKi8KKy8qIFBzZXVk byByZWdpc3RlcnMuICAqLworZW51bSBzcGFyYzY0X3BzZXVkb19yZWdudW0K K3sKKyAgU1BBUkM2NF9DV1BfUkVHTlVNID0gMCwJLyogJWN3cCAqLwogICBT UEFSQzY0X1BTVEFURV9SRUdOVU0sCS8qICVwc3RhdGUgKi8KICAgU1BBUkM2 NF9BU0lfUkVHTlVNLAkJLyogJWFzaSAqLwogICBTUEFSQzY0X0NDUl9SRUdO VU0sCQkvKiAlY2NyICovCi0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnhtbC90 ZGVzYy1yZWdzLmV4cAkyMDE2LTAyLTA5IDE5OjE5OjM5LjAwMDAwMDAwMCAr MDAwMAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi54bWwvdGRlc2MtcmVncy5l eHAJMjAxNy0wMS0wNCAwODowMToxOS41NDgwNDc2MzIgKzAwMDAKQEAgLTQ5 LDYgKzQ5LDE0IEBAIHN3aXRjaCAtZ2xvYiAtLSBbaXN0YXJnZXRdIHsKICAg ICAiczM5MCotKi0qIiB7CiAJc2V0IGNvcmUtcmVncyB7czM5MC1jb3JlMzIu eG1sIHMzOTAtYWNyLnhtbCBzMzkwLWZwci54bWx9CiAgICAgfQorICAgICJz cGFyYy0qLSoiIHsKKwlzZXQgcmVnZGlyICJzcGFyYy8iCisgICAgICAgIHNl dCBjb3JlLXJlZ3Mge3NwYXJjMzItY3B1LnhtbCBzcGFyYzMyLWZwdS54bWwg c3BhcmMzMi1jcDAueG1sfQorICAgIH0KKyAgICAic3BhcmM2NC0qLSoiIHsK KwlzZXQgcmVnZGlyICJzcGFyYy8iCisgICAgICAgIHNldCBjb3JlLXJlZ3Mg e3NwYXJjNjQtY3B1LnhtbCBzcGFyYzY0LWZwdS54bWwgc3BhcmM2NC1jcDAu eG1sfQorICAgIH0KICAgICAic3B1Ki0qLSoiIHsKIAkjIFRoaXMgbWF5IGJl IGVpdGhlciB0aGUgc3B1LWxpbnV4LW5hdCB0YXJnZXQsIG9yIHRoZSBDZWxs L0IuRS4KIAkjIG11bHRpLWFyY2hpdGVjdHVyZSBkZWJ1Z2dlciBpbiBTUFUg c3RhbmRhbG9uZSBleGVjdXRhYmxlIG1vZGUuCg== --------------2F2140B02A0B61ECF6A9FB09 Content-Type: text/plain; charset=UTF-8; name="ChangeLog.doc.entry" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ChangeLog.doc.entry" Content-length: 240 Q2hhbmdlTG9nIGVudHJ5OgoyMDE3LTAxLTA0ICBJdm8gUmFpc3IgIDxpdm8u cmFpc3JAb3JhY2xlLmNvbT4KCglQUiB0ZGVwLzIwOTM2CgkqIGdkYi50ZXhp bmZvOiAoU3RhbmRhcmQgVGFyZ2V0IEZlYXR1cmVzKTogRG9jdW1lbnQgU1BB UkMgZmVhdHVyZXMuCgkoU3BhcmMgRmVhdHVyZXMpOiBOZXcgbm9kZS4K --------------2F2140B02A0B61ECF6A9FB09 Content-Type: text/plain; charset=UTF-8; name="ChangeLog.entry-002" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ChangeLog.entry-002" Content-length: 3144 Q2hhbmdlTG9nIGVudHJ5OgoyMDE3LTAxLTA0ICBJdm8gUmFpc3IgIDxpdm8u cmFpc3JAb3JhY2xlLmNvbT4KCglQUiB0ZGVwLzIwOTM2CglQcm92aWRlIGFu ZCB1c2Ugc3BhcmMzMiBhbmQgc3BhcmM2NCB0YXJnZXQgZGVzY3JpcHRpb24g WE1MIGZpbGVzLgoJKiBmZWF0dXJlL3NwYXJjL3NwYXJjMzItY3AwLnhtbCwg ZmVhdHVyZS9zcGFyYy9zcGFyYzMyLWNwdS54bWwsCglmZWF0dXJlL3NwYXJj L3NwYXJjMzItZnB1LnhtbDogTmV3IGZpbGVzIGZvciBzcGFyYyAzMi1iaXQu CgkqIGZlYXR1cmUvc3BhcmMvc3BhcmM2NC1jcDAueG1sLCBmZWF0dXJlL3Nw YXJjL3NwYXJjNjQtY3B1LnhtbCwKCWZlYXR1cmUvc3BhcmMvc3BhcmM2NC1m cHUueG1sOiBOZXcgZmlsZXMgZm9yIHNwYXJjIDY0LWJpdC4KCSogc3BhcmMz Mi1zb2xhcmlzLnhtbCwgc3BhcmM2NC1zb2xhcmlzLnhtbDogTmV3IGZpbGVz IGZvciBzcGFyYzMyCglhbmQgc3BhcmM2NCBvbiBTb2xhcmlzLgoJKiBzcGFy Yy1zb2xhcmlzLmMsIHNwYXJjNjQtc29sYXJpcy5jOiBHZW5lcmF0ZWQuCgkq IHNwYXJjLXRkZXAuaDogRGVhbCB3aXRoIHNwYXJjMzIgYW5kIHNwYXJjNjQg ZGlmZmVyZW5jZXMKCWluIHRhcmdldCBkZXNjcmlwdGlvbnMuIFNlcGFyYXRl IHJlYWwgYW5kIHBzZXVkbyByZWdpc3RlcnMuCgkqIHNwYXJjNjQtdGRlcC5o OiBTZXBhcmF0ZSByZWFsIGFuZCBwc2V1ZG8gcmVnaXN0ZXJzLgoJKiBzcGFy Yy10ZGVwLmMgKHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVyX25hbWUpOiBOZXcg ZnVuY3Rpb24gcmV0dXJuaW5nCglwc2V1ZG8gcmVnaXN0ZXIgbmFtZXMgb24g c3BhcmMgMzItYml0LgoJKHNwYXJjMzJfcmVnaXN0ZXJfbmFtZSk6IEFjY291 bnQgZm9yIHJlZ2lzdGVyIG5hbWVzIHByb3ZpZGVkIGJ5IHRoZQoJdGFyZ2V0 IGRlc2NyaXB0aW9uLgoJKHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVyX3R5cGUp OiBOZXcgZnVuY3Rpb24gcmV0dXJuaW5nIHBzZXVkbyByZWdpc3RlcgoJdHlw ZXMgb24gc3BhcmMgMzItYml0LgoJKHNwYXJjMzJfcmVnaXN0ZXJfdHlwZSk6 IEFjY291bnQgZm9yIHJlZ2lzdGVyIHR5cGVzIHByb3ZpZGVkIGJ5IHRoZQoJ dGFyZ2V0IGRlc2NyaXB0aW9uLgoJKHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVy X3JlYWQsIHNwYXJjMzJfcHNldWRvX3JlZ2lzdGVyX3dyaXRlKTogUHNldWRv CglyZWdpc3RlcnMgbWF5IGhhdmUgZGlmZmVyZW50IG51bWJlcnMgYmFzZWQg b24gdGhlIHRhcmdldCBkZXNjcmlwdGlvbi4KCSh2YWxpZGF0ZV90ZGVzY19y ZWdpc3RlcnMpOiBWYWxpZGF0ZSByZWdpc3RlcnMgcHJvdmlkZWQgYnkgdGhl IHRhcmdldAoJZGVzY3JpcHRpb24uCgkoc3BhcmMzMl9nZGJhcmNoX2luaXQp OiBVc2UgbmV3IGZ1bmN0aW9ucyBzcGFyYzMyX3BzZXVkb19yZWdpc3Rlcl9u YW1lCglhbmQgc3BhcmMzMl9wc2V1ZG9fcmVnaXN0ZXJfdHlwZS4gVmFsaWRh dGUgYW5kIHVzZSByZWdpc3RlcnMgcHJvdmlkZWQKCWJ5IHRoZSB0YXJnZXQg ZGVzY3JpcHRpb24uCgkqIHNwYXJjNjQtdGRlcC5jIChzcGFyYzY0X3BzZXVk b19yZWdpc3Rlcl9uYW1lKTogTmV3IGZ1bmN0aW9uIHJldHVybmluZwoJcHNl dWRvIHJlZ2lzdGVyIG5hbWVzIG9uIHNwYXJjIDY0LWJpdC4KCShzcGFyYzY0 X3JlZ2lzdGVyX25hbWUpOiBBY2NvdW50IGZvciByZWdpc3RlciBuYW1lcyBw cm92aWRlZCBieSB0aGUKCXRhcmdldCBkZXNjcmlwdGlvbi4KCShzcGFyYzY0 X3BzZXVkb19yZWdpc3Rlcl90eXBlKTogTmV3IGZ1bmN0aW9uIHJldHVybmlu ZyBwc2V1ZG8gcmVnaXN0ZXIKCXR5cGVzIG9uIHNwYXJjIDY0LWJpdC4KCShz cGFyYzY0X3JlZ2lzdGVyX3R5cGUpOiBBY2NvdW50IGZvciByZWdpc3RlciB0 eXBlcyBwcm92aWRlZCBieSB0aGUKCXRhcmdldCBkZXNjcmlwdGlvbi4KCShz cGFyYzY0X3BzZXVkb19yZWdpc3Rlcl9yZWFkLCBzcGFyYzY0X3BzZXVkb19y ZWdpc3Rlcl93cml0ZSk6IFBzZXVkbwoJcmVnaXN0ZXJzIG1heSBoYXZlIGRp ZmZlcmVudCBudW1iZXJzIGJhc2VkIG9uIHRoZSB0YXJnZXQgZGVzY3JpcHRp b24uCgkoc3BhcmM2NF9zdG9yZV9mbG9hdGluZ19maWVsZHMsIHNwYXJjNjRf ZXh0cmFjdF9mbG9hdGluZ19maWVsZHMsCglzcGFyYzY0X3N0b3JlX2FyZ3Vt ZW50cyk6IFBzZXVkbyByZWdpc3RlcnMgbWF5IGhhdmUgZGlmZmVyZW50IG51 bWJlcnMKCWJhc2VkIG9uIHRoZSB0YXJnZXQgZGVzY3JpcHRpb247IGRlYWwg d2l0aCBpdC4KCShzcGFyYzY0X2luaXRfYWJpKTogVXNlIG5ldyBmdW5jdGlv bnMgc3BhcmM2NF9wc2V1ZG9fcmVnaXN0ZXJfbmFtZQoJYW5kIHNwYXJjNjRf cHNldWRvX3JlZ2lzdGVyX3R5cGUuCg== --------------2F2140B02A0B61ECF6A9FB09 Content-Type: text/plain; charset=UTF-8; name="ChangeLog.testsuite.entry" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ChangeLog.testsuite.entry" Content-length: 208 Q2hhbmdlTG9nIGVudHJ5OgoyMDE3LTAxLTA0ICBJdm8gUmFpc3IgIDxpdm8u cmFpc3JAb3JhY2xlLmNvbT4KCglQUiB0ZGVwLzIwOTM2CgkqIGdkYi54bWwv dGRlc2MtcmVncy5leHA6IFByb3ZpZGUgc3BhcmMgY29yZSByZWdpc3RlcnMg Zm9yCgl0aGUgdGVzdHMuCg== --------------2F2140B02A0B61ECF6A9FB09--