From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5256 invoked by alias); 21 Nov 2016 20:50:23 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 5239 invoked by uid 89); 21 Nov 2016 20:50:22 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.7 required=5.0 tests=AWL,BAYES_50,KAM_STOCKGEN,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=5426, initfirstc, UD:init-first.c, 2717 X-HELO: NAM03-CO1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1479761404.14643.10.camel@caviumnetworks.com> Subject: Re: [PATCH] Partial ILP32 support for aarch64 From: Steve Ellcey To: Joseph Myers CC: Date: Mon, 21 Nov 2016 20:50:00 -0000 In-Reply-To: References: <1479515990.908.96.camel@caviumnetworks.com> Content-Type: multipart/mixed; boundary="=-Ha4ktLq0fyt2x2R6B1KZ" MIME-Version: 1.0 X-ClientProxiedBy: CO2PR11CA0034.namprd11.prod.outlook.com (10.141.242.172) To CO2PR0701MB1063.namprd07.prod.outlook.com (10.160.8.142) X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;2:pktkZLLXJ6llCqOhtNUELhctiEG+6tTfe908S8DKOImG4hg6A3X7Cee553yfhJWs/HHTVDkbHzihFMSq5Nulz7CW7n/4PkudrzRnjdYBJafO6szuKuFOv7/XdD6nBx9vq02chNdC4r9kFbRJlHxcWJiLruaNoMNJQFkQ6SHBvYY=;3:S2fW12vbRHlPUtfcy5EeaHDSsaCphUByVXMI0wLPe9n44wewsgSQgZe135OE04K7n9mAToZnXYyLEKJ9tWg9NxHTSYsiK+GyWr8G79kxuBarbHKnCOC6/dygsF6r1uXcEH3KFZpKhV8YYyJ0s7VL7lSvcL2S8YPNGyXHMt/BZbk= X-MS-Office365-Filtering-Correlation-Id: caf15dce-31c0-4e84-de4c-08d4124ffacc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CO2PR0701MB1063; X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;25:8lXfLEjyQe2nppQzStikgzRYlIyLMaTW3ReMXzOqUhKDiS2Dve1FMDHjqifUYB538/IobFgrX6xZqoEdATDIpwmqY3eiXD17QjbU7UDTis83CYWW+C4jT9PPjfjfnFyCeMLOwJcj3AqX518VS3wd5y4RJwXV2WQWCeMTWHGMZsNYkzAYQGD3S3lNVgfWYgbnBBdrQiI91vhga/YZdtoqOxWHB0b5OGoc4vE0/gDlQv2DLN74Bf3+2Rwpxpue1FdCBCyttyBghz64gQfizGnYJEK9zyNvhPozrTffS3O2mvEjGudepAeSDb5tEuQ24t8pg7mZWpKnBPV0ujBygmIViXEPERhWZ4JxRhUW8H/GYW6fwCDyet9YYIUFTotimql+tgoc9uLZUATv656EB8BkEwsYq7V58xgihCQD8m4ZB+DvHlnXsc3cyizHlfc7YVoc5rKe6LlDBisjM2fxfLESkW3sY0q1jOKZP9+PSaVxqQbkpjdESaTZ5QiIAH1PcyGA9caJCAM/HM/Zq190OuzP2YD7FNjOf73y5kAEkbL3OK5CBVE1WZr/lhY3FPvR53DYrygDN7pt0uoEY4lWFVNqIiC/wnMOrvnPi1C+LtUeE2zuE8Td9dA5Wx3A3CkNtGrVfOQT7jZDFOZCZhjk2Xd59SZDeE8ooisnLLqwrA+sbs2Qzwk8VBBrtD0938ss5ZiGqCUgYy+zydyBOFdN8s9OVLYtieV0E9V1rw1Vey1jwsXo8gIXhda/ff+dex4qpoHOi+Fq0Ury3Y+1Lmvp+B2n8//jm9Reh6mIJLY8ETztTZspOF2VFwRFErTbfowL17+Jpa1i9KZIwZS7gX3AfK/bGVfxInW2xRkUtXqLSXzHdM0= X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;31:82EUIBCHUORDudlf08BWThGoaIyV3t4KcM5OuBUaFkSI5bS+TAL+yKUUgjpCtUaWl9R+1mgblks6hz22TO/9aPwP1EF8jvEaRHp6qIQzHKwT4yKFhF9lQFd6ghfdzBq1kkUx9AYGKgz5jurCozQeAO2x08BtIkN08yNBuQeatB0me4trtrQ8im0tK4SMPotjM0ff6MNNryCKMz09BnwPPPK/Hizmc6sv3o1DqiklQV35WpMO/NimMNnL76ehALMJTWUeaPZFlm2VPtExKXkxFJnkzO1h1tu47nuPyoQKEmUv7iYXNTUE9jnbYbx6VPbQiiM0SGBcUgi+qF30mV2RLQ== X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;20:5eE2iBE7dC693YBCBaAhre00TOzXdHTECSR6c2pQAQs7zRaRqSKItInThNjyLUjvVWe9aVwd/7mHOlHzPjHKc7F/F3Z0j1OkyMdJBCU8IS0HGA7i8/N/BgAa/5o6Nd9Bo+mCQbnpRsAzxsmwLo/Gp3CHghHCfpCSZzGfU6OBB4zkMwLcOMTtUqI6kFJosaLgxZRI3w1t7t94GAmdIidirG7zcrH6siIJtJfObIVTrMdf1/6X5/fSEhm2Kbk7xIZWd3hTDQMMyGNFnXmmG2odOa8MAgehTddRBkRmGsmzUMdfqykfvpRD4Awel8VcmrBuWQt8d5l1uyXtiqaoRyikOtJ+VN4J1TsgBJN8rvAtsw6LLuyZbSfNCssP8BKwcTj8hIo8CfiMzjchk3bF34dNtFwnwG4dvonu27O6WWP9+D2275vRgpoKuEtRcpwNXT3ydY1cIv7TwOXCosH3ROztiWzzTy3G9EQmrfij6+XRTqvJGX+sgpYdLtZ4GzW080Sd0fMugh6Wb6DwnF/cru2ZVcdJv/twBDGmKGfDjKqtLOsAD5W6bu9qy9YsTojleyv5l9GJm7dEvY0BUkaNUQnw70zr5gTVETrYuNmYk006BTw= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(102415395)(6060326)(6040307)(6045199)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(6061324)(6072148)(6042181);SRVR:CO2PR0701MB1063;BCL:0;PCL:0;RULEID:;SRVR:CO2PR0701MB1063; X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;4:bNU4Y6IFMfySG+rE5CUNlLZttOQ9rBAf+ujvqrhXT++v3zC0FkGMZkK8czERPjzf4sMIgWbI/iGv1lPdTPcGUeiONbx7cuyWgZ1VDceQ3MFfEkFvMBnDwOx7KSwTxbqBl7+YBispcHGR7wfSRCjVYbXMcd1kK45KuLGAW3Wcs1aX/wwGxkj3rf5P6FN2+DKlSl7NxXP4GQ31GSabllSWMjqGKu2hqb5R0aeHiFkla+l7mmGAwpEXT0lJrTVWrqaNmQpauN6eeA6kdwqanR1LSvYire2OLIadMr7lfYZ1ZO3ijZ1kqZB9+eWxcNQW1uJQ4SvaSd6XVc3EIGCcbyopEexsr7k4FDOAe1tNsQLYY/ZrV8054ADEYvzxFF4gy3nKUQKDVetazgAQnnyEp6CZz51LhHaIMbKERN0QqJl9xASK4y4CiJ9Yd5ph3Wle8SCDPqK6ufH4WOD7dVMEyhQKrBT3stZyRG8pkkNLARO7NAXsv1SrcecIzclS8ZMdm2zQ+fDC22RO0uhm8JrPrOn5a7aC21qvHAv2l87WizHgnVo= X-Forefront-PRVS: 01334458E5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(189002)(377424004)(199003)(2906002)(7736002)(8676002)(50226002)(7846002)(84326002)(81166006)(568964002)(4610100001)(33646002)(68736007)(2476003)(110136003)(5890100001)(5660300001)(36756003)(38730400001)(4326007)(3846002)(81156014)(6116002)(103116003)(305945005)(69596002)(6666003)(229853002)(42882006)(106356001)(6916009)(2950100002)(50986999)(42186005)(105586002)(53416004)(101416001)(66066001)(97736004)(4001150100001)(92566002)(512874002)(77096005)(189998001)(76176999)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR0701MB1063;H:sellcey-lt.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR0701MB1063;23:OaW8IhaZ8DBlxw30YEqwj3sZ0YJFP/jtzUhC1TT?= =?us-ascii?Q?m+dtjA5Y7g5BowcrzUiRVA+iZ3okvUBHYg7bDYiT/pnT5zlCzVh2O0VQB3Pg?= =?us-ascii?Q?ssSFc9WdBgKbiit8ElP7SqadWAcqAfSP6XO0jji694sNcKSXKVw9wGJanB0z?= =?us-ascii?Q?JhlzSM1mtbvZxoSNBEEh+sW0V2d8543dUOtaaxIvK4U6QlzkDIetPtYioQiY?= =?us-ascii?Q?8WqoXF+YRNHy1NlHpAR1yVBU1AtP6+fTqTtLNiOQVRFTUS8lAwp269+81FG3?= =?us-ascii?Q?SFbxvW4w65l4ChGixpMiE34k/Eh4j03WIqjFl5Bmneav3Ai4tq/SnCYO4Bn6?= =?us-ascii?Q?ifWDJhZCkqo6chGn10y4D9mpeH4JlgWX4+I30e6gMpHaPMUPLNfIOwCnCyE2?= =?us-ascii?Q?NDhKJliNdrt1tKD5/oIomIPBsCLnz/j7j4/0TWa4XMBkeSBsaRTE6MJyCQt1?= =?us-ascii?Q?jFxfp+sbdkly0HeOA9gh1go5B0gcMhSN3nF0b3lwHMUI8wy3kuD0T3TFult8?= =?us-ascii?Q?9FBaX9h9EW9ascEukNt4xubqMZlf+19sDhE8To+BL+l7QDJtAGPDjAbqLL0O?= =?us-ascii?Q?pYLjBXzW8dq7uldayTo+WgHb4PDYNYbSJTNTkLclEnWFzmP2Y6YI3kKbPHTk?= =?us-ascii?Q?2dwURUicNhH9E4z5wAfx5FMq5RQGwzMULTiN8B89M/RY9NK4eHACIzDONq7D?= =?us-ascii?Q?C2tA2NlIrX+vKWKvD6mkUDtU6MNamNMtGEjx8Ize6cFInCyuvibEXrV7yXQS?= =?us-ascii?Q?imeIgjaMQuIokVpw4x97/l7JhGMQVRGuTNEGwElLx2cMiolDhHb9/y8J6jcZ?= =?us-ascii?Q?l8n0Pze9Tk76lTMhchd1hV2gInUbUyrIGO2myvrkrDOw886Ph/y9rqEnok4h?= =?us-ascii?Q?k3hnCxkDWPErvpuBGJLRyuOZk97ebM87nIKieyQQKgaXfMn35YZM0WgcDsUD?= =?us-ascii?Q?9C8GZX8wVepcpzXUH1flC8wDm1g5k2cbVIXLRr2UHdy7u1DBKdZk/bq33/vr?= =?us-ascii?Q?erOnbegJ3SlEFk28fG3qbgszsZ+l05hGmqKt60Qhm25XLY05BhunSkCjEdzM?= =?us-ascii?Q?J3aq5KrDWztDmSuXUkTe2i0aetM3a08bcrBhBUM/KLfLjvkv3ntzaPtw+a6W?= =?us-ascii?Q?DT7KuwnU+bGANVmxf4wnvp6RzUuHEQMfHTJRyIehZ1abDRSOoMnoUX+FCj1j?= =?us-ascii?Q?5kejAQS9FgaUAf8NpEEhbmWnKxl5e2ykNV+oCuPfbDywz/nMDE4nvz2TKpQC?= =?us-ascii?Q?vDrP9dh9qgKyru/MDlK0=3D?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;6:1xnNDoHNwKlxv5pX4lO9y3WIATRL0b3nZ6Bs8PlplHbkIFKpTR5e7LyaBeKActpaLrfeVoVX9U8bMx+Mxt/kKbntMGM1XCMWzBXKJsc+IgRnQDuBto/VJHeaFh9v/SGMrZZgSf07Roq6/RNpwFBZiwKY4mWcpEhSPyx7CdPBydvR2gbUiA9W3xaojJ5aqWsAxQslPTlEcrPA6VcIipR1M5dzcxx2qpIHC3tyVRiOg4AzLqP/WI+TBHVg4tI6q9HpSpj0ufuQRk3JAjyXM9oXD/r+xze+PZRhxmbSMu3hpa/5hS7TF17xHFeFJpAlEyYlehWa92Np3p1PiiNSEXKZO7JS+EmZegK9TMjE76Pryis=;5:QOanqHqMVMGwUeOeuqEtwsZUO8tHrFPXsWBhEaTmMrO4bqqNBFSQNsbE7qJK2aMailUBT15lzxBFR4LzLmQ0aVZpBx6PE3BV6gONpmfEM5c6r6q/Sr9sYZxpWBw3GdR3rWu3ptYny9ePGSfe/VUTRg==;24:jyVT+UHsjwjUouXDOWOMekJP+O5vRLNmCwCwhYZcB/u5Oa9HY64pMP+LsC6pts7XBI2drI5VRzs+f9ivAOT5O937/UKSq1WcgP4kFq0uaW4= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CO2PR0701MB1063;7:G6fsXQqpPj4OHjVTz6oZ34gpgN6rB/DGXoiCQ53IZO6+cypqYcaY6kmqqicCA8Na9cZTEle6AELffd2YQShWQIbgmAK7hfDeC5WDOip5356rLafHPfwohUgFLPrBNrO2XIS9gFjFPvbrRpl0EA59BQ6UeSw3QdyENMpX6GNrriOmAxZL8+sdchhMxJ03GbTBwlAcL1VLE63+kotK+CmS68QuYxem54TjPr7fXo/Pt1iUhgVe6xqfBWzexHwqTyTKbPNXToTir00p5EjqnWw69dOKMFkuj7QAdq4w1WDTKgNcq5OwC/hrfFvCvM5oYjDGYoFBlN1QfRhVOuNezNCxde4y+lRpQyChW5RXtuK0fdI= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2016 20:50:08.4017 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO2PR0701MB1063 X-SW-Source: 2016-11/txt/msg00753.txt.bz2 --=-Ha4ktLq0fyt2x2R6B1KZ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Content-length: 3311 Here is an updated version with the indentation fixed. Steve Ellcey sellcey@caviumnetworks.com 2016-11-21  Andrew Pinski       Yury Norov       Steve Ellcey   * sysdeps/aarch64/crti.S: Add include of sysdep.h. (call_weak_fn): Use PTR_REG to get correct reg name in ILP32. * sysdeps/aarch64/dl-irel.h: Add include of sysdep.h. (elf_irela): Use AARCH64_R macro to get correct relocation in ILP32. * sysdeps/aarch64/dl-machine.h: Add include of sysdep.h. (elf_machine_load_address, RTLD_START, RTLD_START_1, RTLD_START, elf_machine_type_class, ELF_MACHINE_JMP_SLOT, elf_machine_rela, elf_machine_lazy_rel): Add ifdef's for ILP32 support. * sysdeps/aarch64/dl-tlsdesc.S (_dl_tlsdesc_return, _dl_tlsdesc_return_lazy, _dl_tlsdesc_dynamic, _dl_tlsdesc_resolve_hold): Extend pointers in ILP32, use PTR_REG to get correct reg name for ILP32. * sysdeps/aarch64/dl-trampoline.S (ip01): New Macro. (RELA_SIZE): New Macro. (_dl_runtime_resolve, _dl_runtime_profile): Use new macros and PTR_REG to support ILP32. * sysdeps/aarch64/jmpbuf-unwind.h (_JMPBUF_CFA_UNWINDS_ADJ): Add cast for ILP32 mode. * sysdeps/aarch64/memcmp.S (memcmp): Extend arg pointers for ILP32 mode. * sysdeps/aarch64/memcpy.S (memmove, memcpy): Ditto. * sysdeps/aarch64/memset.S (__memset): Ditto. * sysdeps/aarch64/strchr.S (strchr): Ditto. * sysdeps/aarch64/strchrnul.S (__strchrnul): Ditto. * sysdeps/aarch64/strcmp.S (strcmp): Ditto. * sysdeps/aarch64/strcpy.S (strcpy): Ditto. * sysdeps/aarch64/strlen.S (__strlen): Ditto. * sysdeps/aarch64/strncmp.S (strncmp): Ditto. * sysdeps/aarch64/strnlen.S (strnlen): Ditto. * sysdeps/aarch64/strrchr.S (strrchr): Ditto. * sysdeps/unix/sysv/linux/aarch64/clone.S: Ditto. * sysdeps/unix/sysv/linux/aarch64/setcontext.S (__setcontext): Ditto. * sysdeps/unix/sysv/linux/aarch64/swapcontext.S (__swapcontext): Ditto. * sysdeps/aarch64/__longjmp.S (__longjmp): Extend pointers in ILP32, change PTR_MANGLE call to use register numbers instead of names. * sysdeps/unix/sysv/linux/aarch64/getcontext.S (__getcontext): Ditto. * sysdeps/aarch64/setjmp.S (__sigsetjmp): Extend arg pointers for ILP32 mode, change PTR_MANGLE calls to use register numbers. * sysdeps/aarch64/start.S (_start): Ditto. * sysdeps/aarch64/nptl/bits/pthreadtypes.h (__PTHREAD_RWLOCK_INT_FLAGS_SHARED): New define. * sysdeps/aarch64/nptl/bits/semaphore.h (__SIZEOF_SEM_T): Change define. * sysdeps/aarch64/sysdep.h (AARCH64_R, PTR_REG, PTR_LOG_SIZE, DELOUSE, PTR_SIZE): New Macros. (LDST_PCREL, LDST_GLOBAL) Update to use PTR_REG. * sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h (O_LARGEFILE): Set when in ILP32 mode. (F_GETLK64, F_SETLK64, F_SETLKW64): Only set in LP64 mode. * sysdeps/unix/sysv/linux/aarch64/dl-cache.h (DL_CACHE_DEFAULT_ID): Set elf flags for ILP32. (add_system_dir): Set ILP32 library directories. * sysdeps/unix/sysv/linux/aarch64/init-first.c (_libc_vdso_platform_setup): Set minimum kernel version for ILP32. * sysdeps/unix/sysv/linux/aarch64/ldconfig.h (SYSDEP_KNOWN_INTERPRETER_NAMES): Add ILP32 names. * sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h (GET_PC, SET_PC): New Macros. * sysdeps/unix/sysv/linux/aarch64/sysdep.h: Handle ILP32 pointers. --=-Ha4ktLq0fyt2x2R6B1KZ Content-Disposition: attachment; filename="aarch64_ilp32.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="aarch64_ilp32.patch"; charset="UTF-8" Content-length: 48951 ZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9fX2xvbmdqbXAuUyBiL3N5 c2RlcHMvYWFyY2g2NC9fX2xvbmdqbXAuUwppbmRleCA2NTExNmJlLi40ZDQx MWZlIDEwMDY0NAotLS0gYS9zeXNkZXBzL2FhcmNoNjQvX19sb25nam1wLlMK KysrIGIvc3lzZGVwcy9hYXJjaDY0L19fbG9uZ2ptcC5TCkBAIC00Niw2ICs0 Niw4IEBAIEVOVFJZIChfX2xvbmdqbXApCiAJY2ZpX29mZnNldChkMTQsIEpC X0QxNDw8MykKIAljZmlfb2Zmc2V0KGQxNSwgSkJfRDE1PDwzKQogCisJREVM T1VTRSAoMCkKKwogCWxkcAl4MTksIHgyMCwgW3gwLCAjSkJfWDE5PDwzXQog CWxkcAl4MjEsIHgyMiwgW3gwLCAjSkJfWDIxPDwzXQogCWxkcAl4MjMsIHgy NCwgW3gwLCAjSkJfWDIzPDwzXQpAQCAtNTMsNyArNTUsNyBAQCBFTlRSWSAo X19sb25nam1wKQogCWxkcAl4MjcsIHgyOCwgW3gwLCAjSkJfWDI3PDwzXQog I2lmZGVmIFBUUl9ERU1BTkdMRQogCWxkcAl4MjksICB4NCwgW3gwLCAjSkJf WDI5PDwzXQotCVBUUl9ERU1BTkdMRSAoeDMwLCB4NCwgeDMsIHgyKQorCVBU Ul9ERU1BTkdMRSAoMzAsIDQsIDMsIDIpCiAjZWxzZQogCWxkcAl4MjksIHgz MCwgW3gwLCAjSkJfWDI5PDwzXQogI2VuZGlmCkBAIC05OCw3ICsxMDAsNyBA QCBFTlRSWSAoX19sb25nam1wKQogCWNmaV9zYW1lX3ZhbHVlKGQxNSkKICNp ZmRlZiBQVFJfREVNQU5HTEUKIAlsZHIJeDQsIFt4MCwgI0pCX1NQPDwzXQot CVBUUl9ERU1BTkdMRSAoeDUsIHg0LCB4MywgeDIpCisJUFRSX0RFTUFOR0xF ICg1LCA0LCAzLCAyKQogI2Vsc2UKIAlsZHIJeDUsIFt4MCwgI0pCX1NQPDwz XQogI2VuZGlmCmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvY3J0aS5T IGIvc3lzZGVwcy9hYXJjaDY0L2NydGkuUwppbmRleCA1M2NjYjQyLi41YzQy ZmQ1IDEwMDY0NAotLS0gYS9zeXNkZXBzL2FhcmNoNjQvY3J0aS5TCisrKyBi L3N5c2RlcHMvYWFyY2g2NC9jcnRpLlMKQEAgLTM5LDYgKzM5LDcgQEAKICAg IHRoZXkgY2FuIGJlIGNhbGxlZCBhcyBmdW5jdGlvbnMuICBUaGUgc3ltYm9s cyBfaW5pdCBhbmQgX2ZpbmkgYXJlCiAgICBtYWdpYyBhbmQgY2F1c2UgdGhl IGxpbmtlciB0byBlbWl0IERUX0lOSVQgYW5kIERUX0ZJTkkuICAqLwogCisj aW5jbHVkZSA8c3lzZGVwLmg+CiAjaW5jbHVkZSA8bGliYy1zeW1ib2xzLmg+ CiAKICNpZm5kZWYgUFJFSU5JVF9GVU5DVElPTgpAQCAtNjAsNyArNjEsNyBA QAogCS50eXBlCWNhbGxfd2Vha19mbiwgJWZ1bmN0aW9uCiBjYWxsX3dlYWtf Zm46CiAJYWRycAl4MCwgOmdvdDpQUkVJTklUX0ZVTkNUSU9OCi0JbGRyCXgw LCBbeDAsICM6Z290X2xvMTI6UFJFSU5JVF9GVU5DVElPTl0KKwlsZHIJUFRS X1JFRyAoMCksIFt4MCwgIzpnb3RfbG8xMjpQUkVJTklUX0ZVTkNUSU9OXQog CWNiegl4MCwgMWYKIAliCVBSRUlOSVRfRlVOQ1RJT04KIDE6CmRpZmYgLS1n aXQgYS9zeXNkZXBzL2FhcmNoNjQvZGwtaXJlbC5oIGIvc3lzZGVwcy9hYXJj aDY0L2RsLWlyZWwuaAppbmRleCA2M2E4ZTUwLi4yZWZmY2E0IDEwMDY0NAot LS0gYS9zeXNkZXBzL2FhcmNoNjQvZGwtaXJlbC5oCisrKyBiL3N5c2RlcHMv YWFyY2g2NC9kbC1pcmVsLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRl IDxzdGRpby5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPGxk c29kZWZzLmg+CisjaW5jbHVkZSA8c3lzZGVwLmg+CiAKICNkZWZpbmUgRUxG X01BQ0hJTkVfSVJFTEEJMQogCkBAIC00MCw3ICs0MSw3IEBAIGVsZl9pcmVs YSAoY29uc3QgRWxmVyhSZWxhKSAqcmVsb2MpCiAgIEVsZlcoQWRkcikgKmNv bnN0IHJlbG9jX2FkZHIgPSAodm9pZCAqKSByZWxvYy0+cl9vZmZzZXQ7CiAg IGNvbnN0IHVuc2lnbmVkIGxvbmcgaW50IHJfdHlwZSA9IEVMRlcoUl9UWVBF KSAocmVsb2MtPnJfaW5mbyk7CiAKLSAgaWYgKF9fZ2xpYmNfbGlrZWx5IChy X3R5cGUgPT0gUl9BQVJDSDY0X0lSRUxBVElWRSkpCisgIGlmIChfX2dsaWJj X2xpa2VseSAocl90eXBlID09IEFBUkNINjRfUiAoSVJFTEFUSVZFKSkpCiAg ICAgewogICAgICAgRWxmVyhBZGRyKSB2YWx1ZSA9IGVsZl9pZnVuY19pbnZv a2UgKHJlbG9jLT5yX2FkZGVuZCk7CiAgICAgICAqcmVsb2NfYWRkciA9IHZh bHVlOwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L2RsLW1hY2hpbmUu aCBiL3N5c2RlcHMvYWFyY2g2NC9kbC1tYWNoaW5lLmgKaW5kZXggMjgyODA1 ZS4uYjVlYTdhOCAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2RsLW1h Y2hpbmUuaAorKysgYi9zeXNkZXBzL2FhcmNoNjQvZGwtbWFjaGluZS5oCkBA IC0yMSw2ICsyMSw3IEBACiAKICNkZWZpbmUgRUxGX01BQ0hJTkVfTkFNRSAi YWFyY2g2NCIKIAorI2luY2x1ZGUgPHN5c2RlcC5oPgogI2luY2x1ZGUgPHRs cy5oPgogI2luY2x1ZGUgPGRsLXRsc2Rlc2MuaD4KICNpbmNsdWRlIDxkbC1p cmVsLmg+CkBAIC01MywxOSArNTQsMzMgQEAgZWxmX21hY2hpbmVfbG9hZF9h ZGRyZXNzICh2b2lkKQogICAgICBieSBjb25zdHJ1Y3RpbmcgYSBub24gR09U IHJlZmVyZW5jZSB0byB0aGUgc3ltYm9sLCB0aGUgZHluYW1pYwogICAgICBh ZGRyZXNzIG9mIHRoZSBzeW1ib2wgd2UgY29tcHV0ZSB1c2luZyBhZHJwL2Fk ZCB0byBjb21wdXRlIHRoZQogICAgICBzeW1ib2wncyBhZGRyZXNzIHJlbGF0 aXZlIHRvIHRoZSBQQy4KLSAgICAgVGhpcyBkZXBlbmRzIG9uIDMyYml0IHJl bG9jYXRpb25zIGJlaW5nIHJlc29sdmVkIGF0IGxpbmsgdGltZQotICAgICBh bmQgdGhhdCB0aGUgc3RhdGljIGFkZHJlc3MgZml0cyBpbiB0aGUgMzJiaXRz LiAgKi8KKyAgICAgVGhpcyBkZXBlbmRzIG9uIDMyLzE2Yml0IHJlbG9jYXRp b25zIGJlaW5nIHJlc29sdmVkIGF0IGxpbmsgdGltZQorICAgICBhbmQgdGhh dCB0aGUgc3RhdGljIGFkZHJlc3MgZml0cyBpbiB0aGUgMzIvMTYgYml0cy4g ICovCiAKICAgRWxmVyhBZGRyKSBzdGF0aWNfYWRkcjsKICAgRWxmVyhBZGRy KSBkeW5hbWljX2FkZHI7CiAKICAgYXNtICgiCQkJCQlcbiIKICIJYWRycAkl MSwgX2RsX3N0YXJ0OwkJCVxuIgorI2lmZGVmIF9fTFA2NF9fCiAiCWFkZAkl MSwgJTEsICM6bG8xMjpfZGxfc3RhcnQJXG4iCisjZWxzZQorIglhZGQJJXcx LCAldzEsICM6bG8xMjpfZGxfc3RhcnQJXG4iCisjZW5kaWYKICIJbGRyCSV3 MCwgMWYJCQkJXG4iCiAiCWIJMmYJCQkJXG4iCiAiMToJCQkJCQlcbiIKKyNp ZmRlZiBfX0xQNjRfXwogIgkud29yZAlfZGxfc3RhcnQJCQlcbiIKKyNlbHNl CisjIGlmZGVmIF9fQUFSQ0g2NEVCX18KKyIJLnNob3J0ICAwICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxuIgorIyBlbmRpZgorIgkuc2hvcnQg IF9kbF9zdGFydCAgICAgICAgICAgICAgICAgICAgICAgXG4iCisjIGlmbmRl ZiBfX0FBUkNINjRFQl9fCisiCS5zaG9ydCAgMCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcbiIKKyMgZW5kaWYKKyNlbmRpZgogIjI6CQkJCQkJ XG4iCiAgICAgOiAiPXIiIChzdGF0aWNfYWRkciksICAiPXIiIChkeW5hbWlj X2FkZHIpKTsKICAgcmV0dXJuIGR5bmFtaWNfYWRkciAtIHN0YXRpY19hZGRy OwpAQCAtMTI1LDgwICsxNDAsODYgQEAgZWxmX21hY2hpbmVfcnVudGltZV9z ZXR1cCAoc3RydWN0IGxpbmtfbWFwICpsLCBpbnQgbGF6eSwgaW50IHByb2Zp bGUpCiAvKiBJbml0aWFsIGVudHJ5IHBvaW50IGZvciB0aGUgZHluYW1pYyBs aW5rZXIuIFRoZSBDIGZ1bmN0aW9uCiAgICBfZGxfc3RhcnQgaXMgdGhlIHJl YWwgZW50cnkgcG9pbnQsIGl0cyByZXR1cm4gdmFsdWUgaXMgdGhlIHVzZXIK ICAgIHByb2dyYW0ncyBlbnRyeSBwb2ludCAqLworI2lmZGVmIF9fTFA2NF9f CisjIGRlZmluZSBSVExEX1NUQVJUIFJUTERfU1RBUlRfMSAoIngiLCAiMyIs ICJzcCIpCisjZWxzZQorIyBkZWZpbmUgUlRMRF9TVEFSVCBSVExEX1NUQVJU XzEgKCJ3IiwgIjIiLCAid3NwIikKKyNlbmRpZgogCi0jZGVmaW5lIFJUTERf U1RBUlQgYXNtICgiXAotLnRleHQJCQkJCQkJCVxuXAotLmdsb2JsIF9zdGFy dAkJCQkJCQlcblwKLS50eXBlIF9zdGFydCwgJWZ1bmN0aW9uCQkJCQkJXG5c Ci0uZ2xvYmwgX2RsX3N0YXJ0X3VzZXIJCQkJCQlcblwKLS50eXBlIF9kbF9z dGFydF91c2VyLCAlZnVuY3Rpb24JCQkJCVxuXAotX3N0YXJ0OgkJCQkJCQkJ XG5cCi0JbW92CXgwLAlzcAkJCQkJXG5cCi0JYmwJX2RsX3N0YXJ0CQkJCQlc blwKLQkvLyByZXR1cm5zIHVzZXIgZW50cnkgcG9pbnQgaW4geDAJCQlcblwK LQltb3YJeDIxLCB4MAkJCQkJCVxuXAotX2RsX3N0YXJ0X3VzZXI6CQkJCQkJ CVxuXAotCS8vIGdldCB0aGUgb3JpZ2luYWwgYXJnIGNvdW50CQkJCVxuXAot CWxkcgl4MSwgW3NwXQkJCQkJXG5cCi0JLy8gZ2V0IHRoZSBhcmd2IGFkZHJl c3MJCQkJCVxuXAotCWFkZAl4Miwgc3AsICM4CQkJCQlcblwKLQkvLyBnZXQg X2RsX3NraXBfYXJncyB0byBzZWUgaWYgd2Ugd2VyZQkJCVxuXAotCS8vIGlu dm9rZWQgYXMgYW4gZXhlY3V0YWJsZQkJCQlcblwKLQlhZHJwCXg0LCBfZGxf c2tpcF9hcmdzCQkJCVxuXAotICAgICAgICBsZHIJdzQsIFt4NCwgIzpsbzEy Ol9kbF9za2lwX2FyZ3NdCQkJXG5cCi0JLy8gZG8gd2UgbmVlZCB0byBhZGp1 c3QgYXJnYy9hcmd2CQkJXG5cCi0gICAgICAgIGNtcAl3NCwgMAkJCQkJCVxu XAotCWJlcQkuTF9kb25lX3N0YWNrX2FkanVzdAkJCQlcblwKLQkvLyBzdWJ0 cmFjdCBfZGxfc2tpcF9hcmdzIGZyb20gb3JpZ2luYWwgYXJnIGNvdW50CVxu XAotCXN1Ygl4MSwgeDEsIHg0CQkJCQlcblwKLQkvLyBzdG9yZSBhZGp1c3Rl ZCBhcmdjIGJhY2sgdG8gc3RhY2sJCQlcblwKLQlzdHIJeDEsIFtzcF0JCQkJ CVxuXAotCS8vIGZpbmQgdGhlIGZpcnN0IHVuc2tpcHBlZCBhcmd1bWVudAkJ CVxuXAotCW1vdgl4MywgeDIJCQkJCQlcblwKLQlhZGQJeDQsIHgyLCB4NCwg bHNsICMzCQkJCVxuXAotCS8vIHNodWZmbGUgYXJndiBkb3duCQkJCQlcblwK LTE6CWxkcgl4NSwgW3g0XSwgIzgJCQkJCVxuXAotCXN0cgl4NSwgW3gzXSwg IzgJCQkJCVxuXAotCWNtcAl4NSwgIzAJCQkJCQlcblwKLQlibmUJMWIJCQkJ CQlcblwKLQkvLyBzaHVmZmxlIGVudnAgZG93bgkJCQkJXG5cCi0xOglsZHIJ eDUsIFt4NF0sICM4CQkJCQlcblwKLQlzdHIJeDUsIFt4M10sICM4CQkJCQlc blwKLQljbXAJeDUsICMwCQkJCQkJXG5cCi0JYm5lCTFiCQkJCQkJXG5cCi0J Ly8gc2h1ZmZsZSBhdXh2IGRvd24JCQkJCVxuXAotMToJbGRwCXgwLCB4NSwg W3g0LCAjMTZdIQkJCQlcblwKLQlzdHAJeDAsIHg1LCBbeDNdLCAjMTYJCQkJ XG5cCi0JY21wCXgwLCAjMAkJCQkJCVxuXAotCWJuZQkxYgkJCQkJCVxuXAot CS8vIFVwZGF0ZSBfZGxfYXJndgkJCQkJXG5cCi0JYWRycAl4MywgX2RsX2Fy Z3YJCQkJCVxuXAotCXN0cgl4MiwgW3gzLCAjOmxvMTI6X2RsX2FyZ3ZdCQkJ XG5cCi0uTF9kb25lX3N0YWNrX2FkanVzdDoJCQkJCQlcblwKLQkvLyBjb21w dXRlIGVudnAJCQkJCQlcblwKLQlhZGQJeDMsIHgyLCB4MSwgbHNsICMzCQkJ CVxuXAotCWFkZAl4MywgeDMsICM4CQkJCQlcblwKLQlhZHJwCXgxNiwgX3J0 bGRfbG9jYWwJCQkJXG5cCi0gICAgICAgIGFkZAl4MTYsIHgxNiwgIzpsbzEy Ol9ydGxkX2xvY2FsCQkJXG5cCi0gICAgICAgIGxkcgl4MCwgW3gxNl0JCQkJ CVxuXAotCWJsCV9kbF9pbml0CQkJCQlcblwKLQkvLyBsb2FkIHRoZSBmaW5h bGl6ZXIgZnVuY3Rpb24JCQkJXG5cCi0JYWRycAl4MCwgX2RsX2ZpbmkJCQkJ CVxuXAotCWFkZAl4MCwgeDAsICM6bG8xMjpfZGxfZmluaQkJCQlcblwKLQkv LyBqdW1wIHRvIHRoZSB1c2VyX3MgZW50cnkgcG9pbnQJCQlcblwKLQliciAg ICAgIHgyMQkJCQkJCVxuXAorCisjZGVmaW5lIFJUTERfU1RBUlRfMShQVFIs IFBUUl9TSVpFX0xPRywgUFRSX1NQKSBhc20gKCJcCisudGV4dAkJCQkJCQkJ CVxuXAorLmdsb2JsIF9zdGFydAkJCQkJCQkJXG5cCisudHlwZSBfc3RhcnQs ICVmdW5jdGlvbgkJCQkJCQlcblwKKy5nbG9ibCBfZGxfc3RhcnRfdXNlcgkJ CQkJCQlcblwKKy50eXBlIF9kbF9zdGFydF91c2VyLCAlZnVuY3Rpb24JCQkJ CQlcblwKK19zdGFydDoJCQkJCQkJCQlcblwKKwltb3YJIiBQVFIgIjAsICIg UFRSX1NQICIJCQkJCVxuXAorCWJsCV9kbF9zdGFydAkJCQkJCVxuXAorCS8v IHJldHVybnMgdXNlciBlbnRyeSBwb2ludCBpbiB4MAkJCQlcblwKKwltb3YJ eDIxLCB4MAkJCQkJCQlcblwKK19kbF9zdGFydF91c2VyOgkJCQkJCQkJXG5c CisJLy8gZ2V0IHRoZSBvcmlnaW5hbCBhcmcgY291bnQJCQkJCVxuXAorCWxk cgkiIFBUUiAiMSwgW3NwXQkJCQkJCVxuXAorCS8vIGdldCB0aGUgYXJndiBh ZGRyZXNzCQkJCQkJXG5cCisJYWRkCSIgUFRSICIyLCAiIFBUUl9TUCAiLCAj KDE8PCIgIFBUUl9TSVpFX0xPRyAiKQkJXG5cCisJLy8gZ2V0IF9kbF9za2lw X2FyZ3MgdG8gc2VlIGlmIHdlIHdlcmUJCQkJXG5cCisJLy8gaW52b2tlZCBh cyBhbiBleGVjdXRhYmxlCQkJCQlcblwKKwlhZHJwCXg0LCBfZGxfc2tpcF9h cmdzCQkJCQlcblwKKyAgICAgICAgbGRyCXc0LCBbeDQsICM6bG8xMjpfZGxf c2tpcF9hcmdzXQkJCQlcblwKKwkvLyBkbyB3ZSBuZWVkIHRvIGFkanVzdCBh cmdjL2FyZ3YJCQkJXG5cCisgICAgICAgIGNtcAl3NCwgMAkJCQkJCQlcblwK KwliZXEJLkxfZG9uZV9zdGFja19hZGp1c3QJCQkJCVxuXAorCS8vIHN1YnRy YWN0IF9kbF9za2lwX2FyZ3MgZnJvbSBvcmlnaW5hbCBhcmcgY291bnQJCVxu XAorCXN1YgkiIFBUUiAiMSwgIiBQVFIgIjEsICIgUFRSICI0CQkJCVxuXAor CS8vIHN0b3JlIGFkanVzdGVkIGFyZ2MgYmFjayB0byBzdGFjawkJCQlcblwK KwlzdHIJIiBQVFIgIjEsIFtzcF0JCQkJCQlcblwKKwkvLyBmaW5kIHRoZSBm aXJzdCB1bnNraXBwZWQgYXJndW1lbnQJCQkJXG5cCisJbW92CSIgUFRSICIz LCAiIFBUUiAiMgkJCQkJXG5cCisJYWRkCSIgUFRSICI0LCAiIFBUUiAiMiwg IiBQVFIgIjQsIGxzbCAjIiBQVFJfU0laRV9MT0cgIglcblwKKwkvLyBzaHVm ZmxlIGFyZ3YgZG93bgkJCQkJCVxuXAorMToJbGRyCSIgUFRSICI1LCBbeDRd LCAjKDE8PCIgIFBUUl9TSVpFX0xPRyAiKQkJCVxuXAorCXN0cgkiIFBUUiAi NSwgW3gzXSwgIygxPDwiICBQVFJfU0laRV9MT0cgIikJCQlcblwKKwljbXAJ IiBQVFIgIjUsICMwCQkJCQkJXG5cCisJYm5lCTFiCQkJCQkJCVxuXAorCS8v IHNodWZmbGUgZW52cCBkb3duCQkJCQkJXG5cCisxOglsZHIJIiBQVFIgIjUs IFt4NF0sICMoMTw8IiAgUFRSX1NJWkVfTE9HICIpCQkJXG5cCisJc3RyCSIg UFRSICI1LCBbeDNdLCAjKDE8PCIgIFBUUl9TSVpFX0xPRyAiKQkJCVxuXAor CWNtcAkiIFBUUiAiNSwgIzAJCQkJCQlcblwKKwlibmUJMWIJCQkJCQkJXG5c CisJLy8gc2h1ZmZsZSBhdXh2IGRvd24JCQkJCQlcblwKKzE6CWxkcAkiIFBU UiAiMCwgIiBQVFIgIjUsIFt4NCwgIygyPDwiICBQVFJfU0laRV9MT0cgIild IQlcblwKKwlzdHAJIiBQVFIgIjAsICIgUFRSICI1LCBbeDNdLCAjKDI8PCIg IFBUUl9TSVpFX0xPRyAiKQlcblwKKwljbXAJIiBQVFIgIjAsICMwCQkJCQkJ XG5cCisJYm5lCTFiCQkJCQkJCVxuXAorCS8vIFVwZGF0ZSBfZGxfYXJndgkJ CQkJCVxuXAorCWFkcnAJeDMsIF9kbF9hcmd2CQkJCQkJXG5cCisJc3RyCSIg UFRSICIyLCBbeDMsICM6bG8xMjpfZGxfYXJndl0JCQkJXG5cCisuTF9kb25l X3N0YWNrX2FkanVzdDoJCQkJCQkJXG5cCisJLy8gY29tcHV0ZSBlbnZwCQkJ CQkJCVxuXAorCWFkZAkiIFBUUiAiMywgIiBQVFIgIjIsICIgUFRSICIxLCBs c2wgIyIgUFRSX1NJWkVfTE9HICIJXG5cCisJYWRkCSIgUFRSICIzLCAiIFBU UiAiMywgIygxPDwiICBQVFJfU0laRV9MT0cgIikJCVxuXAorCWFkcnAJeDE2 LCBfcnRsZF9sb2NhbAkJCQkJXG5cCisgICAgICAgIGFkZAkiIFBUUiAiMTYs ICIgUFRSICIxNiwgIzpsbzEyOl9ydGxkX2xvY2FsCQlcblwKKyAgICAgICAg bGRyCSIgUFRSICIwLCBbeDE2XQkJCQkJCVxuXAorCWJsCV9kbF9pbml0CQkJ CQkJXG5cCisJLy8gbG9hZCB0aGUgZmluYWxpemVyIGZ1bmN0aW9uCQkJCQlc blwKKwlhZHJwCXgwLCBfZGxfZmluaQkJCQkJCVxuXAorCWFkZAkiIFBUUiAi MCwgIiBQVFIgIjAsICM6bG8xMjpfZGxfZmluaQkJCVxuXAorCS8vIGp1bXAg dG8gdGhlIHVzZXJfcyBlbnRyeSBwb2ludAkJCQlcblwKKwliciAgICAgIHgy MQkJCQkJCQlcblwKICIpOwogCiAjZGVmaW5lIGVsZl9tYWNoaW5lX3R5cGVf Y2xhc3ModHlwZSkJCQkJCVwKLSAgKCgoKHR5cGUpID09IFJfQUFSQ0g2NF9K VU1QX1NMT1QgfHwJCQkJCVwKLSAgICAgKHR5cGUpID09IFJfQUFSQ0g2NF9U TFNfRFRQTU9EIHx8CQkJCQlcCi0gICAgICh0eXBlKSA9PSBSX0FBUkNINjRf VExTX0RUUFJFTCB8fAkJCQkJXAotICAgICAodHlwZSkgPT0gUl9BQVJDSDY0 X1RMU19UUFJFTCB8fAkJCQkJXAotICAgICAodHlwZSkgPT0gUl9BQVJDSDY0 X1RMU0RFU0MpICogRUxGX1JUWVBFX0NMQVNTX1BMVCkJCVwKLSAgIHwgKCgo dHlwZSkgPT0gUl9BQVJDSDY0X0NPUFkpICogRUxGX1JUWVBFX0NMQVNTX0NP UFkpCQlcCi0gICB8ICgoKHR5cGUpID09IFJfQUFSQ0g2NF9HTE9CX0RBVCkg KiBFTEZfUlRZUEVfQ0xBU1NfRVhURVJOX1BST1RFQ1RFRF9EQVRBKSkKKyAg KCgoKHR5cGUpID09IEFBUkNINjRfUiAoSlVNUF9TTE9UKQkJCQkJXAorICB8 fCAodHlwZSkgPT0gQUFSQ0g2NF9SIChUTFNfRFRQTU9EKQkJCQkJXAorICB8 fCAodHlwZSkgPT0gQUFSQ0g2NF9SIChUTFNfRFRQUkVMKQkJCQkJXAorICB8 fCAodHlwZSkgPT0gQUFSQ0g2NF9SIChUTFNfVFBSRUwpCQkJCQlcCisgIHx8 ICh0eXBlKSA9PSBBQVJDSDY0X1IgKFRMU0RFU0MpKSAqIEVMRl9SVFlQRV9D TEFTU19QTFQpCQlcCisgICB8ICgoKHR5cGUpID09IEFBUkNINjRfUiAoQ09Q WSkpICogRUxGX1JUWVBFX0NMQVNTX0NPUFkpCQlcCisgICB8ICgoKHR5cGUp ID09IEFBUkNINjRfUiAoR0xPQl9EQVQpKSAqIEVMRl9SVFlQRV9DTEFTU19F WFRFUk5fUFJPVEVDVEVEX0RBVEEpKQogCi0jZGVmaW5lIEVMRl9NQUNISU5F X0pNUF9TTE9UCVJfQUFSQ0g2NF9KVU1QX1NMT1QKKyNkZWZpbmUgRUxGX01B Q0hJTkVfSk1QX1NMT1QJQUFSQ0g2NF9SIChKVU1QX1NMT1QpCiAKIC8qIEFB cmNoNjQgdXNlcyBSRUxBIG5vdCBSRUwgKi8KICNkZWZpbmUgRUxGX01BQ0hJ TkVfTk9fUkVMIDEKQEAgLTIzNyw5ICsyNTgsOSBAQCBlbGZfbWFjaGluZV9y ZWxhIChzdHJ1Y3QgbGlua19tYXAgKm1hcCwgY29uc3QgRWxmVyhSZWxhKSAq cmVsb2MsCiAJCSAgdm9pZCAqY29uc3QgcmVsb2NfYWRkcl9hcmcsIGludCBz a2lwX2lmdW5jKQogewogICBFbGZXKEFkZHIpICpjb25zdCByZWxvY19hZGRy ID0gcmVsb2NfYWRkcl9hcmc7Ci0gIGNvbnN0IHVuc2lnbmVkIGludCByX3R5 cGUgPSBFTEY2NF9SX1RZUEUgKHJlbG9jLT5yX2luZm8pOworICBjb25zdCB1 bnNpZ25lZCBpbnQgcl90eXBlID0gRUxGVyAoUl9UWVBFKSAocmVsb2MtPnJf aW5mbyk7CiAKLSAgaWYgKF9fYnVpbHRpbl9leHBlY3QgKHJfdHlwZSA9PSBS X0FBUkNINjRfUkVMQVRJVkUsIDApKQorICBpZiAoX19idWlsdGluX2V4cGVj dCAocl90eXBlID09IEFBUkNINjRfUiAoUkVMQVRJVkUpLCAwKSkKICAgICAg ICpyZWxvY19hZGRyID0gbWFwLT5sX2FkZHIgKyByZWxvYy0+cl9hZGRlbmQ7 CiAgIGVsc2UgaWYgKF9fYnVpbHRpbl9leHBlY3QgKHJfdHlwZSA9PSBSX0FB UkNINjRfTk9ORSwgMCkpCiAgICAgICByZXR1cm47CkBAIC0yNTcsNyArMjc4 LDcgQEAgZWxmX21hY2hpbmVfcmVsYSAoc3RydWN0IGxpbmtfbWFwICptYXAs IGNvbnN0IEVsZlcoUmVsYSkgKnJlbG9jLAogCiAgICAgICBzd2l0Y2ggKHJf dHlwZSkKIAl7Ci0JY2FzZSBSX0FBUkNINjRfQ09QWToKKwljYXNlIEFBUkNI NjRfUiAoQ09QWSk6CiAJICBpZiAoc3ltID09IE5VTEwpCiAJICAgICAgYnJl YWs7CiAKQEAgLTI3NSwxNSArMjk2LDE3IEBAIGVsZl9tYWNoaW5lX3JlbGEg KHN0cnVjdCBsaW5rX21hcCAqbWFwLCBjb25zdCBFbGZXKFJlbGEpICpyZWxv YywKIAkJICBNSU4gKHN5bS0+c3Rfc2l6ZSwgcmVmc3ltLT5zdF9zaXplKSk7 CiAJICBicmVhazsKIAotCWNhc2UgUl9BQVJDSDY0X1JFTEFUSVZFOgotCWNh c2UgUl9BQVJDSDY0X0dMT0JfREFUOgotCWNhc2UgUl9BQVJDSDY0X0pVTVBf U0xPVDoKLQljYXNlIFJfQUFSQ0g2NF9BQlMzMjoKLQljYXNlIFJfQUFSQ0g2 NF9BQlM2NDoKKwljYXNlIEFBUkNINjRfUiAoUkVMQVRJVkUpOgorCWNhc2Ug QUFSQ0g2NF9SIChHTE9CX0RBVCk6CisJY2FzZSBBQVJDSDY0X1IgKEpVTVBf U0xPVCk6CisJY2FzZSBBQVJDSDY0X1IgKEFCUzMyKToKKyNpZmRlZiBfX0xQ NjRfXworCWNhc2UgQUFSQ0g2NF9SIChBQlM2NCk6CisjZW5kaWYKIAkgICpy ZWxvY19hZGRyID0gdmFsdWUgKyByZWxvYy0+cl9hZGRlbmQ7CiAJICBicmVh azsKIAotCWNhc2UgUl9BQVJDSDY0X1RMU0RFU0M6CisJY2FzZSBBQVJDSDY0 X1IgKFRMU0RFU0MpOgogCSAgewogCSAgICBzdHJ1Y3QgdGxzZGVzYyB2b2xh dGlsZSAqdGQgPQogCSAgICAgIChzdHJ1Y3QgdGxzZGVzYyB2b2xhdGlsZSAq KXJlbG9jX2FkZHI7CkBAIC0zMTgsNyArMzQxLDcgQEAgZWxmX21hY2hpbmVf cmVsYSAoc3RydWN0IGxpbmtfbWFwICptYXAsIGNvbnN0IEVsZlcoUmVsYSkg KnJlbG9jLAogCSAgICBicmVhazsKIAkgIH0KIAotCWNhc2UgUl9BQVJDSDY0 X1RMU19EVFBNT0Q6CisJY2FzZSBBQVJDSDY0X1IgKFRMU19EVFBNT0QpOgog I2lmZGVmIFJUTERfQk9PVFNUUkFQCiAJICAqcmVsb2NfYWRkciA9IDE7CiAj ZWxzZQpAQCAtMzI5LDEyICszNTIsMTIgQEAgZWxmX21hY2hpbmVfcmVsYSAo c3RydWN0IGxpbmtfbWFwICptYXAsIGNvbnN0IEVsZlcoUmVsYSkgKnJlbG9j LAogI2VuZGlmCiAJICBicmVhazsKIAotCWNhc2UgUl9BQVJDSDY0X1RMU19E VFBSRUw6CisJY2FzZSBBQVJDSDY0X1IgKFRMU19EVFBSRUwpOgogCSAgaWYg KHN5bSkKIAkgICAgKnJlbG9jX2FkZHIgPSBzeW0tPnN0X3ZhbHVlICsgcmVs b2MtPnJfYWRkZW5kOwogCSAgYnJlYWs7CiAKLQljYXNlIFJfQUFSQ0g2NF9U TFNfVFBSRUw6CisJY2FzZSBBQVJDSDY0X1IgKFRMU19UUFJFTCk6CiAJICBp ZiAoc3ltKQogCSAgICB7CiAJICAgICAgQ0hFQ0tfU1RBVElDX1RMUyAobWFw LCBzeW1fbWFwKTsKQEAgLTM0Myw3ICszNjYsNyBAQCBlbGZfbWFjaGluZV9y ZWxhIChzdHJ1Y3QgbGlua19tYXAgKm1hcCwgY29uc3QgRWxmVyhSZWxhKSAq cmVsb2MsCiAJICAgIH0KIAkgIGJyZWFrOwogCi0JY2FzZSBSX0FBUkNINjRf SVJFTEFUSVZFOgorCWNhc2UgQUFSQ0g2NF9SIChJUkVMQVRJVkUpOgogCSAg dmFsdWUgPSBtYXAtPmxfYWRkciArIHJlbG9jLT5yX2FkZGVuZDsKIAkgIHZh bHVlID0gZWxmX2lmdW5jX2ludm9rZSAodmFsdWUpOwogCSAgKnJlbG9jX2Fk ZHIgPSB2YWx1ZTsKQEAgLTM3NCwxNiArMzk3LDE2IEBAIGVsZl9tYWNoaW5l X2xhenlfcmVsIChzdHJ1Y3QgbGlua19tYXAgKm1hcCwKIAkJICAgICAgaW50 IHNraXBfaWZ1bmMpCiB7CiAgIEVsZlcoQWRkcikgKmNvbnN0IHJlbG9jX2Fk ZHIgPSAodm9pZCAqKSAobF9hZGRyICsgcmVsb2MtPnJfb2Zmc2V0KTsKLSAg Y29uc3QgdW5zaWduZWQgaW50IHJfdHlwZSA9IEVMRjY0X1JfVFlQRSAocmVs b2MtPnJfaW5mbyk7CisgIGNvbnN0IHVuc2lnbmVkIGludCByX3R5cGUgPSBF TEZXIChSX1RZUEUpIChyZWxvYy0+cl9pbmZvKTsKICAgLyogQ2hlY2sgZm9y IHVuZXhwZWN0ZWQgUExUIHJlbG9jIHR5cGUuICAqLwotICBpZiAoX19idWls dGluX2V4cGVjdCAocl90eXBlID09IFJfQUFSQ0g2NF9KVU1QX1NMT1QsIDEp KQorICBpZiAoX19idWlsdGluX2V4cGVjdCAocl90eXBlID09IEFBUkNINjRf UiAoSlVNUF9TTE9UKSwgMSkpCiAgICAgewogICAgICAgaWYgKF9fYnVpbHRp bl9leHBlY3QgKG1hcC0+bF9tYWNoLnBsdCwgMCkgPT0gMCkKIAkqcmVsb2Nf YWRkciArPSBsX2FkZHI7CiAgICAgICBlbHNlCiAJKnJlbG9jX2FkZHIgPSBt YXAtPmxfbWFjaC5wbHQ7CiAgICAgfQotICBlbHNlIGlmIChfX2J1aWx0aW5f ZXhwZWN0IChyX3R5cGUgPT0gUl9BQVJDSDY0X1RMU0RFU0MsIDEpKQorICBl bHNlIGlmIChfX2J1aWx0aW5fZXhwZWN0IChyX3R5cGUgPT0gQUFSQ0g2NF9S IChUTFNERVNDKSwgMSkpCiAgICAgewogICAgICAgc3RydWN0IHRsc2Rlc2Mg dm9sYXRpbGUgKnRkID0KIAkoc3RydWN0IHRsc2Rlc2Mgdm9sYXRpbGUgKily ZWxvY19hZGRyOwpAQCAtMzkyLDcgKzQxNSw3IEBAIGVsZl9tYWNoaW5lX2xh enlfcmVsIChzdHJ1Y3QgbGlua19tYXAgKm1hcCwKICAgICAgIHRkLT5lbnRy eSA9ICh2b2lkKikoRF9QVFIgKG1hcCwgbF9pbmZvW0FERFJJRFggKERUX1RM U0RFU0NfUExUKV0pCiAJCQkgICsgbWFwLT5sX2FkZHIpOwogICAgIH0KLSAg ZWxzZSBpZiAoX19nbGliY191bmxpa2VseSAocl90eXBlID09IFJfQUFSQ0g2 NF9JUkVMQVRJVkUpKQorICBlbHNlIGlmIChfX2dsaWJjX3VubGlrZWx5IChy X3R5cGUgPT0gQUFSQ0g2NF9SIChJUkVMQVRJVkUpKSkKICAgICB7CiAgICAg ICBFbGZXKEFkZHIpIHZhbHVlID0gbWFwLT5sX2FkZHIgKyByZWxvYy0+cl9h ZGRlbmQ7CiAgICAgICBpZiAoX19nbGliY19saWtlbHkgKCFza2lwX2lmdW5j KSkKZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNkZXNjLlMg Yi9zeXNkZXBzL2FhcmNoNjQvZGwtdGxzZGVzYy5TCmluZGV4IDA1YmUzNzAu LjQyZmE5NDMgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9kbC10bHNk ZXNjLlMKKysrIGIvc3lzZGVwcy9hYXJjaDY0L2RsLXRsc2Rlc2MuUwpAQCAt NzQsNyArNzQsOCBAQAogCWNmaV9zdGFydHByb2MKIAkuYWxpZ24gMgogX2Rs X3Rsc2Rlc2NfcmV0dXJuOgotCWxkcgl4MCwgW3gwLCAjOF0KKwlERUxPVVNF ICgwKQorCWxkcglQVFJfUkVHICgwKSwgW3gwLCAjUFRSX1NJWkVdCiAJUkVU CiAJY2ZpX2VuZHByb2MKIAkuc2l6ZQlfZGxfdGxzZGVzY19yZXR1cm4sIC4t X2RsX3Rsc2Rlc2NfcmV0dXJuCkBAIC05NSw5ICs5NiwxMCBAQCBfZGxfdGxz ZGVzY19yZXR1cm5fbGF6eToKIAkgICBzbyBpdCByZWFkcyB0aGUgc2FtZSB2 YWx1ZSAodGhpcyBmdW5jdGlvbiBpcyB0aGUgZmluYWwgdmFsdWUgb2YKIAkg ICB0ZC0+ZW50cnkpIGFuZCB0aHVzIGl0IHN5bmNocm9uaXplcyB3aXRoIHRo ZSByZWxlYXNlIHN0b3JlIHRvCiAJICAgdGQtPmVudHJ5IGluIF9kbF90bHNk ZXNjX3Jlc29sdmVfcmVsYV9maXh1cCBlbnN1cmluZyB0aGF0IHRoZSBsb2Fk Ci0JICAgZnJvbSBbeDAsIzhdIGhlcmUgaGFwcGVucyBhZnRlciB0aGUgaW5p dGlhbGl6YXRpb24gb2YgdGQtPmFyZy4gICovCi0JbGRhcgl4enIsIFt4MF0K LQlsZHIJeDAsIFt4MCwgIzhdCisJICAgZnJvbSBbeDAsI1BUUl9TSVpFXSBo ZXJlIGhhcHBlbnMgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRkLT5h cmcuICovCisJREVMT1VTRSAoMCkKKwlsZGFyCVBUUl9SRUcgKHpyKSwgW3gw XQorCWxkcglQVFJfUkVHICgwKSwgW3gwLCAjUFRSX1NJWkVdCiAJUkVUCiAJ Y2ZpX2VuZHByb2MKIAkuc2l6ZQlfZGxfdGxzZGVzY19yZXR1cm5fbGF6eSwg Li1fZGxfdGxzZGVzY19yZXR1cm5fbGF6eQpAQCAtMTI1LDEwICsxMjcsMTEg QEAgX2RsX3Rsc2Rlc2NfdW5kZWZ3ZWFrOgogCSAgIHRkLT5lbnRyeSkgYW5k IHRodXMgaXQgc3luY2hyb25pemVzIHdpdGggdGhlIHJlbGVhc2Ugc3RvcmUg dG8KIAkgICB0ZC0+ZW50cnkgaW4gX2RsX3Rsc2Rlc2NfcmVzb2x2ZV9yZWxh X2ZpeHVwIGVuc3VyaW5nIHRoYXQgdGhlIGxvYWQKIAkgICBmcm9tIFt4MCwj OF0gaGVyZSBoYXBwZW5zIGFmdGVyIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0 ZC0+YXJnLiAgKi8KLQlsZGFyCXh6ciwgW3gwXQotCWxkcgl4MCwgW3gwLCAj OF0KKwlERUxPVVNFICgwKQorCWxkYXIJUFRSX1JFRyAoenIpLCBbeDBdCisJ bGRyCVBUUl9SRUcgKDApLCBbeDAsICNQVFJfU0laRV0KIAltcnMJeDEsIHRw aWRyX2VsMAotCXN1Ygl4MCwgeDAsIHgxCisJc3ViCVBUUl9SRUcgKDApLCBQ VFJfUkVHICgwKSwgUFRSX1JFRyAoMSkKIAlsZHIJeDEsIFtzcF0sICMxNgog CWNmaV9hZGp1c3RfY2ZhX29mZnNldCAoLTE2KQogCVJFVApAQCAtMTc0LDYg KzE3Nyw3IEBAIF9kbF90bHNkZXNjX2R5bmFtaWM6CiAJc3RwCXgyOSwgeDMw LCBbc3AsIy0oMzIrMTYqTlNBVkVYUkVHUEFJUlMpXSEKIAljZmlfYWRqdXN0 X2NmYV9vZmZzZXQgKDMyKzE2Kk5TQVZFWFJFR1BBSVJTKQogCW1vdgl4Mjks IHNwCisJREVMT1VTRSAoMCkKIAogCS8qIFNhdmUganVzdCBlbm91Z2ggcmVn aXN0ZXJzIHRvIHN1cHBvcnQgZmFzdCBwYXRoLCBpZiB3ZSBmYWxsCiAJICAg aW50byBzbG93IHBhdGggd2Ugd2lsbCBzYXZlIGFkZGl0aW9uYWwgcmVnaXN0 ZXJzLiAgKi8KQEAgLTE4NywyMiArMTkxLDIyIEBAIF9kbF90bHNkZXNjX2R5 bmFtaWM6CiAJICAgc28gaXQgcmVhZHMgdGhlIHNhbWUgdmFsdWUgKHRoaXMg ZnVuY3Rpb24gaXMgdGhlIGZpbmFsIHZhbHVlIG9mCiAJICAgdGQtPmVudHJ5 KSBhbmQgdGh1cyBpdCBzeW5jaHJvbml6ZXMgd2l0aCB0aGUgcmVsZWFzZSBz dG9yZSB0bwogCSAgIHRkLT5lbnRyeSBpbiBfZGxfdGxzZGVzY19yZXNvbHZl X3JlbGFfZml4dXAgZW5zdXJpbmcgdGhhdCB0aGUgbG9hZAotCSAgIGZyb20g W3gwLCM4XSBoZXJlIGhhcHBlbnMgYWZ0ZXIgdGhlIGluaXRpYWxpemF0aW9u IG9mIHRkLT5hcmcuICAqLwotCWxkYXIJeHpyLCBbeDBdCi0JbGRyCXgxLCBb eDAsIzhdCi0JbGRyCXgwLCBbeDRdCi0JbGRyCXgzLCBbeDEsIzE2XQotCWxk cgl4MiwgW3gwXQotCWNtcAl4MywgeDIKKwkgICBmcm9tIFt4MCwjUFRSX1NJ WkVdIGhlcmUgaGFwcGVucyBhZnRlciB0aGUgaW5pdGlhbGl6YXRpb24gb2Yg dGQtPmFyZy4gICovCisJbGRhcglQVFJfUkVHICh6ciksIFt4MF0KKwlsZHIJ UFRSX1JFRyAoMSksIFt4MCwjUFRSX1NJWkVdCisJbGRyCVBUUl9SRUcgKDAp LCBbeDRdCisJbGRyCVBUUl9SRUcgKDMpLCBbeDEsIyhQVFJfU0laRSAqIDIp XQorCWxkcglQVFJfUkVHICgyKSwgW3gwXQorCWNtcAlQVFJfUkVHICgzKSwg UFRSX1JFRyAoMikKIAliLmhpCTJmCi0JbGRyCXgyLCBbeDFdCi0JYWRkCXgw LCB4MCwgeDIsIGxzbCAjNAotCWxkcgl4MCwgW3gwXQorCWxkcglQVFJfUkVH ICgyKSwgW3gxXQorCWFkZAlQVFJfUkVHICgwKSwgUFRSX1JFRyAoMCksIFBU Ul9SRUcgKDIpLCBsc2wgIyhQVFJfTE9HX1NJWkUgKyAxKQorCWxkcglQVFJf UkVHICgwKSwgW3gwXQogCWNtbgl4MCwgIzB4MQogCWIuZXEJMmYKLQlsZHIJ eDEsIFt4MSwjOF0KLQlhZGQJeDAsIHgwLCB4MQotCXN1Ygl4MCwgeDAsIHg0 CisJbGRyCVBUUl9SRUcgKDEpLCBbeDEsIyhQVFJfU0laRSAqIDIpXQorCWFk ZAlQVFJfUkVHICgwKSwgUFRSX1JFRyAoMCksIFBUUl9SRUcgKDEpCisJc3Vi CVBUUl9SRUcgKDApLCBQVFJfUkVHICgwKSwgUFRSX1JFRyAoNCkKIDE6CiAJ bGRwCSB4MSwgIHgyLCBbc3AsICMzMisxNiowXQogCWxkcAkgeDMsICB4NCwg W3NwLCAjMzIrMTYqMV0KQEAgLTIzMyw3ICsyMzcsNyBAQCBfZGxfdGxzZGVz Y19keW5hbWljOgogCWJsCV9fdGxzX2dldF9hZGRyCiAKIAltcnMJeDEsIHRw aWRyX2VsMAotCXN1Ygl4MCwgeDAsIHgxCisJc3ViCVBUUl9SRUcgKDApLCBQ VFJfUkVHICgwKSwgUFRSX1JFRyAoMSkKIAogCVJFU1RPUkVfUV9SRUdJU1RF UlMKIApAQCAtMjc5LDEzICsyODMsMTUgQEAgX2RsX3Rsc2Rlc2NfcmVzb2x2 ZV9yZWxhOgogCiAJU0FWRV9RX1JFR0lTVEVSUwogCi0JbGRyCXgxLCBbeDMs ICM4XQorCURFTE9VU0UgKDMpCisJbGRyCVBUUl9SRUcgKDEpLCBbeDMsICNQ VFJfU0laRV0KIAlibAlfZGxfdGxzZGVzY19yZXNvbHZlX3JlbGFfZml4dXAK IAogCVJFU1RPUkVfUV9SRUdJU1RFUlMKIAogCWxkcgl4MCwgW3NwLCAjMzIr MTYqOF0KLQlsZHIJeDEsIFt4MF0KKwlERUxPVVNFICgwKQorCWxkcglQVFJf UkVHICgxKSwgW3gwXQogCWJscgl4MQogCiAJbGRwCSB4MSwgIHg0LCBbc3As ICMzMisxNiowXQpAQCAtMzQ2LDcgKzM1Miw4IEBAIF9kbF90bHNkZXNjX3Jl c29sdmVfaG9sZDoKIAlSRVNUT1JFX1FfUkVHSVNURVJTCiAKIAlsZHIJeDAs IFtzcCwgIzMyKzE2KjldCi0JbGRyCXgxLCBbeDBdCisJREVMT1VTRSAoMCkK KwlsZHIJUFRSX1JFRyAoMSksIFt4MF0KIAlibHIJeDEKIAogCWxkcAkgeDEs ICB4MiwgW3NwLCAjMzIrMTYqMF0KZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFy Y2g2NC9kbC10cmFtcG9saW5lLlMgYi9zeXNkZXBzL2FhcmNoNjQvZGwtdHJh bXBvbGluZS5TCmluZGV4IDk0N2E1MTUuLjYzZWY2ZjcgMTAwNjQ0Ci0tLSBh L3N5c2RlcHMvYWFyY2g2NC9kbC10cmFtcG9saW5lLlMKKysrIGIvc3lzZGVw cy9hYXJjaDY0L2RsLXRyYW1wb2xpbmUuUwpAQCAtMjIsOSArMjIsMTMgQEAK ICNpbmNsdWRlICJkbC1saW5rLmgiCiAKICNkZWZpbmUgaXAwIHgxNgorI2Rl ZmluZSBpcDBsIFBUUl9SRUcgKDE2KQogI2RlZmluZSBpcDEgeDE3CiAjZGVm aW5lIGxyICB4MzAKIAorLyogUkVMQSByZWxvY2F0b25zIGFyZSAzIHBvaW50 ZXJzICovCisjZGVmaW5lIFJFTEFfU0laRSAoUFRSX1NJWkUgKiAzKQorCiAJ LnRleHQKIAkuZ2xvYmwgX2RsX3J1bnRpbWVfcmVzb2x2ZQogCS50eXBlIF9k bF9ydW50aW1lX3Jlc29sdmUsICNmdW5jdGlvbgpAQCAtNzksNyArODMsNyBA QCBfZGxfcnVudGltZV9yZXNvbHZlOgogCWNmaV9yZWxfb2Zmc2V0IChxMSwg ODArNyoxNikKIAogCS8qIEdldCBwb2ludGVyIHRvIGxpbmtlciBzdHJ1Y3Qu ICAqLwotCWxkcgl4MCwgW2lwMCwgIy04XQorCWxkcglQVFJfUkVHICgwKSwg W2lwMCwgIy1QVFJfU0laRV0KIAogCS8qIFByZXBhcmUgdG8gY2FsbCBfZGxf Zml4dXAoKS4gICovCiAJbGRyCXgxLCBbc3AsIDgwKzgqMTZdCS8qIFJlY292 ZXIgJlBMVEdPVFtuXSAqLwpAQCAtODcsNyArOTEsNyBAQCBfZGxfcnVudGlt ZV9yZXNvbHZlOgogCXN1YiAgICAgeDEsIHgxLCBpcDAKIAlhZGQgICAgIHgx LCB4MSwgeDEsIGxzbCAjMQogCWxzbCAgICAgeDEsIHgxLCAjMwotCXN1YiAg ICAgeDEsIHgxLCAjMTkyCisJc3ViICAgICB4MSwgeDEsICMoUkVMQV9TSVpF PDwzKQogCWxzciAgICAgeDEsIHgxLCAjMwogCiAJLyogQ2FsbCBmaXh1cCBy b3V0aW5lLiAgKi8KQEAgLTE5MSw3ICsxOTUsNyBAQCBfZGxfcnVudGltZV9w cm9maWxlOgogCXN0cAl4MCwgeDEsIFt4MjksICNPRkZTRVRfUkcgKyBETF9P RkZTRVRfUkdfU1BdCiAKIAkvKiBHZXQgcG9pbnRlciB0byBsaW5rZXIgc3Ry dWN0LiAgKi8KLQlsZHIJeDAsIFtpcDAsICMtOF0KKwlsZHIJUFRSX1JFRyAo MCksIFtpcDAsICMtUFRSX1NJWkVdCiAKIAkvKiBQcmVwYXJlIHRvIGNhbGwg X2RsX3Byb2ZpbGVfZml4dXAoKS4gICovCiAJbGRyCXgxLCBbeDI5LCBPRkZT RVRfUExUR09UTl0JLyogUmVjb3ZlciAmUExUR09UW25dICovCkBAIC0xOTks NyArMjAzLDcgQEAgX2RsX3J1bnRpbWVfcHJvZmlsZToKIAlzdWIgICAgIHgx LCB4MSwgaXAwCiAJYWRkICAgICB4MSwgeDEsIHgxLCBsc2wgIzEKIAlsc2wg ICAgIHgxLCB4MSwgIzMKLQlzdWIgICAgIHgxLCB4MSwgIzE5MgorCXN1YiAg ICAgeDEsIHgxLCAjKFJFTEFfU0laRTw8MykKIAlsc3IgICAgIHgxLCB4MSwg IzMKIAogCXN0cAl4MCwgeDEsIFt4MjksICNPRkZTRVRfU0FWRURfQ0FMTF9Y MF0KQEAgLTIxMCw4ICsyMTQsOCBAQCBfZGxfcnVudGltZV9wcm9maWxlOgog CWFkZAl4NCwgeDI5LCAjT0ZGU0VUX0ZTCQkvKiBhZGRyZXNzIG9mIGZyYW1l c2l6ZSAqLwogCWJsCV9kbF9wcm9maWxlX2ZpeHVwCiAKLQlsZHIJaXAwLCBb eDI5LCAjT0ZGU0VUX0ZTXQkJLyogZnJhbWVzaXplID09IDAgKi8KLQljbXAJ aXAwLCAjMAorCWxkcglpcDBsLCBbeDI5LCAjT0ZGU0VUX0ZTXQkJLyogZnJh bWVzaXplID09IDAgKi8KKwljbXAJaXAwbCwgIzAKIAliZ2UJMWYKIAljZmlf cmVtZW1iZXJfc3RhdGUKIApAQCAtMjQzLDcgKzI0Nyw3IEBAIF9kbF9ydW50 aW1lX3Byb2ZpbGU6CiAxOgogCS8qIFRoZSBuZXcgZnJhbWUgc2l6ZSBpcyBp biBpcDAuICAqLwogCi0Jc3ViCXgxLCB4MjksIGlwMAorCXN1YglQVFJfUkVH ICgxKSwgUFRSX1JFRyAoMjkpLCBpcDBsCiAJYW5kCXNwLCB4MSwgIzB4ZmZm ZmZmZmZmZmZmZmZmMAogCiAJc3RyCXgwLCBbeDI5LCAjT0ZGU0VUX1QxXQpk aWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L2ptcGJ1Zi11bndpbmQuaCBi L3N5c2RlcHMvYWFyY2g2NC9qbXBidWYtdW53aW5kLmgKaW5kZXggM2UwYTM3 ZC4uMTFhY2UxNyAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L2ptcGJ1 Zi11bndpbmQuaAorKysgYi9zeXNkZXBzL2FhcmNoNjQvam1wYnVmLXVud2lu ZC5oCkBAIC0yNyw3ICsyNyw3IEBACiAgICgodm9pZCAqKSAoYWRkcmVzcykg PCAodm9pZCAqKSBkZW1hbmdsZSAoam1wYnVmW0pCX1NQXSkpCiAKICNkZWZp bmUgX0pNUEJVRl9DRkFfVU5XSU5EU19BREooam1wYnVmLCBjb250ZXh0LCBh ZGopIFwKLSAgX0pNUEJVRl9VTldJTkRTX0FESiAoam1wYnVmLCAodm9pZCAq KSBfVW53aW5kX0dldENGQSAoY29udGV4dCksIGFkaikKKyAgX0pNUEJVRl9V TldJTkRTX0FESiAoam1wYnVmLCAodm9pZCAqKSAoc2l6ZV90KSBfVW53aW5k X0dldENGQSAoY29udGV4dCksIGFkaikKIAogI2RlZmluZSBfSk1QQlVGX1VO V0lORFNfQURKKF9qbXBidWYsIF9hZGRyZXNzLCBfYWRqKSBcCiAgICgodWlu dHB0cl90KSAoX2FkZHJlc3MpIC0gKF9hZGopIDwgX2ptcGJ1Zl9zcCAoX2pt cGJ1ZikgLSAoX2FkaikpCmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQv bWVtY21wLlMgYi9zeXNkZXBzL2FhcmNoNjQvbWVtY21wLlMKaW5kZXggYWUy ZDk5Ny4uOGI4N2U5YiAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L21l bWNtcC5TCisrKyBiL3N5c2RlcHMvYWFyY2g2NC9tZW1jbXAuUwpAQCAtNDcs NiArNDcsOSBAQAogI2RlZmluZSBtYXNrCQl4MTMKIAogRU5UUllfQUxJR04g KG1lbWNtcCwgNikKKwlERUxPVVNFICgwKQorCURFTE9VU0UgKDEpCisJREVM T1VTRSAoMikKIAljYnoJbGltaXQsIEwocmV0MCkKIAllb3IJdG1wMSwgc3Jj MSwgc3JjMgogCXRzdAl0bXAxLCAjNwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy9h YXJjaDY0L21lbWNweS5TIGIvc3lzZGVwcy9hYXJjaDY0L21lbWNweS5TCmlu ZGV4IGRlNzNmMGYuLmIyNjkzMTYgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFy Y2g2NC9tZW1jcHkuUworKysgYi9zeXNkZXBzL2FhcmNoNjQvbWVtY3B5LlMK QEAgLTYxLDYgKzYxLDEwIEBACiAKIEVOVFJZX0FMSUdOIChtZW1tb3ZlLCA2 KQogCisJREVMT1VTRSAoMCkKKwlERUxPVVNFICgxKQorCURFTE9VU0UgKDIp CisKIAlzdWIJdG1wMSwgZHN0aW4sIHNyYwogCWNtcAljb3VudCwgOTYKIAlj Y21wCXRtcDEsIGNvdW50LCAyLCBoaQpAQCAtNzEsNiArNzUsMTAgQEAgRU5E IChtZW1tb3ZlKQogbGliY19oaWRkZW5fYnVpbHRpbl9kZWYgKG1lbW1vdmUp CiBFTlRSWSAobWVtY3B5KQogCisJREVMT1VTRSAoMCkKKwlERUxPVVNFICgx KQorCURFTE9VU0UgKDIpCisKIAlwcmZtCVBMREwxS0VFUCwgW3NyY10KIAlh ZGQJc3JjZW5kLCBzcmMsIGNvdW50CiAJYWRkCWRzdGVuZCwgZHN0aW4sIGNv dW50CmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvbWVtc2V0LlMgYi9z eXNkZXBzL2FhcmNoNjQvbWVtc2V0LlMKaW5kZXggNGQyMjJjNS4uN2JhZDI5 YSAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L21lbXNldC5TCisrKyBi L3N5c2RlcHMvYWFyY2g2NC9tZW1zZXQuUwpAQCAtMzksNiArMzksOSBAQAog CiBFTlRSWV9BTElHTiAoX19tZW1zZXQsIDYpCiAKKwlERUxPVVNFICgwKQor CURFTE9VU0UgKDIpCisKIAlkdXAJdjAuMTZCLCB2YWx3CiAJYWRkCWRzdGVu ZCwgZHN0aW4sIGNvdW50CiAKZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2 NC9ucHRsL2JpdHMvcHRocmVhZHR5cGVzLmggYi9zeXNkZXBzL2FhcmNoNjQv bnB0bC9iaXRzL3B0aHJlYWR0eXBlcy5oCmluZGV4IGMzNzZlNjQuLjlkY2Y4 ZDkgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9ucHRsL2JpdHMvcHRo cmVhZHR5cGVzLmgKKysrIGIvc3lzZGVwcy9hYXJjaDY0L25wdGwvYml0cy9w dGhyZWFkdHlwZXMuaApAQCAtMzIsNiArMzIsOCBAQAogI2RlZmluZSBfX1NJ WkVPRl9QVEhSRUFEX0JBUlJJRVJfVCAgICAgMzIKICNkZWZpbmUgX19TSVpF T0ZfUFRIUkVBRF9CQVJSSUVSQVRUUl9UICA4CiAKKyNkZWZpbmUgX19QVEhS RUFEX1JXTE9DS19JTlRfRkxBR1NfU0hBUkVEIDEKKwogCiAvKiBUaHJlYWQg aWRlbnRpZmllcnMuICBUaGUgc3RydWN0dXJlIG9mIHRoZSBhdHRyaWJ1dGUg dHlwZSBpcyBub3QKICAgIGV4cG9zZWQgb24gcHVycG9zZS4gICovCmRpZmYg LS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvbnB0bC9iaXRzL3NlbWFwaG9yZS5o IGIvc3lzZGVwcy9hYXJjaDY0L25wdGwvYml0cy9zZW1hcGhvcmUuaAppbmRl eCAzY2M1YjM3Li4wNTMzM2VhIDEwMDY0NAotLS0gYS9zeXNkZXBzL2FhcmNo NjQvbnB0bC9iaXRzL3NlbWFwaG9yZS5oCisrKyBiL3N5c2RlcHMvYWFyY2g2 NC9ucHRsL2JpdHMvc2VtYXBob3JlLmgKQEAgLTIxLDcgKzIxLDExIEBACiAj ZW5kaWYKIAogCi0jZGVmaW5lIF9fU0laRU9GX1NFTV9UCTMyCisjaWZkZWYg X19JTFAzMl9fCisjIGRlZmluZSBfX1NJWkVPRl9TRU1fVAkxNgorI2Vsc2UK KyMgZGVmaW5lIF9fU0laRU9GX1NFTV9UCTMyCisjZW5kaWYKIAogCiAvKiBW YWx1ZSByZXR1cm5lZCBpZiBgc2VtX29wZW4nIGZhaWxlZC4gICovCmRpZmYg LS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc2V0am1wLlMgYi9zeXNkZXBzL2Fh cmNoNjQvc2V0am1wLlMKaW5kZXggMjJmNDM2OC4uZTAzYjNiNSAxMDA2NDQK LS0tIGEvc3lzZGVwcy9hYXJjaDY0L3NldGptcC5TCisrKyBiL3N5c2RlcHMv YWFyY2g2NC9zZXRqbXAuUwpAQCAtMzMsNiArMzMsNyBAQCBFTkQgKF9zZXRq bXApCiBsaWJjX2hpZGRlbl9kZWYgKF9zZXRqbXApCiAKIEVOVFJZIChfX3Np Z3NldGptcCkKKwlERUxPVVNFICgwKQogCiAxOgogCXN0cAl4MTksIHgyMCwg W3gwLCAjSkJfWDE5PDwzXQpAQCAtNDIsNyArNDMsNyBAQCBFTlRSWSAoX19z aWdzZXRqbXApCiAJc3RwCXgyNywgeDI4LCBbeDAsICNKQl9YMjc8PDNdCiAK ICNpZmRlZiBQVFJfTUFOR0xFCi0JUFRSX01BTkdMRSAoeDQsIHgzMCwgeDMs IHgyKQorCVBUUl9NQU5HTEUgKDQsIDMwLCAzLCAyKQogCXN0cAl4MjksICB4 NCwgW3gwLCAjSkJfWDI5PDwzXQogI2Vsc2UKIAlzdHAJeDI5LCB4MzAsIFt4 MCwgI0pCX1gyOTw8M10KQEAgLTU3LDcgKzU4LDcgQEAgRU5UUlkgKF9fc2ln c2V0am1wKQogCXN0cAlkMTQsIGQxNSwgW3gwLCAjSkJfRDE0PDwzXQogI2lm ZGVmIFBUUl9NQU5HTEUKIAltb3YJeDQsIHNwCi0JUFRSX01BTkdMRSAoeDUs IHg0LCB4MywgeDIpCisJUFRSX01BTkdMRSAoNSwgNCwgMywgMikKIAlzdHIJ eDUsIFt4MCwgI0pCX1NQPDwzXQogI2Vsc2UKIAltb3YJeDIsICBzcApkaWZm IC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMgYi9zeXNkZXBzL2Fh cmNoNjQvc3RhcnQuUwppbmRleCBlZmUyNDc0Li45MTk4YzU3IDEwMDY0NAot LS0gYS9zeXNkZXBzL2FhcmNoNjQvc3RhcnQuUworKysgYi9zeXNkZXBzL2Fh cmNoNjQvc3RhcnQuUwpAQCAtMTYsNiArMTYsOCBAQAogICAgTGljZW5zZSBh bG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5LiAgSWYgbm90LCBzZWUKICAg IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAKKyNpbmNs dWRlIDxzeXNkZXAuaD4KKwogLyogVGhpcyBpcyB0aGUgY2Fub25pY2FsIGVu dHJ5IHBvaW50LCB1c3VhbGx5IHRoZSBmaXJzdCB0aGluZyBpbiB0aGUgdGV4 dAogICAgc2VnbWVudC4KIApAQCAtMjUsNyArMjcsNyBAQAogCiAgICBBdCB0 aGlzIGVudHJ5IHBvaW50LCBtb3N0IHJlZ2lzdGVycycgdmFsdWVzIGFyZSB1 bnNwZWNpZmllZCwgZXhjZXB0OgogCi0gICB4MAkJQ29udGFpbnMgYSBmdW5j dGlvbiBwb2ludGVyIHRvIGJlIHJlZ2lzdGVyZWQgd2l0aCBgYXRleGl0Jy4K KyAgIHgwL3cwCUNvbnRhaW5zIGEgZnVuY3Rpb24gcG9pbnRlciB0byBiZSBy ZWdpc3RlcmVkIHdpdGggYGF0ZXhpdCcuCiAJCVRoaXMgaXMgaG93IHRoZSBk eW5hbWljIGxpbmtlciBhcnJhbmdlcyB0byBoYXZlIERUX0ZJTkkKIAkJZnVu Y3Rpb25zIGNhbGxlZCBmb3Igc2hhcmVkIGxpYnJhcmllcyB0aGF0IGhhdmUg YmVlbiBsb2FkZWQKIAkJYmVmb3JlIHRoaXMgY29kZSBydW5zLgpAQCAtNTIs MjYgKzU0LDI2IEBAIF9zdGFydDoKIAltb3YJeDUsIHgwCiAKIAkvKiBMb2Fk IGFyZ2MgYW5kIGEgcG9pbnRlciB0byBhcmd2ICovCi0JbGRyCXgxLCBbc3As ICMwXQotCWFkZAl4Miwgc3AsICM4CisJbGRyCVBUUl9SRUcgKDEpLCBbc3As ICMwXQorCWFkZAl4Miwgc3AsICNQVFJfU0laRQogCiAJLyogU2V0dXAgc3Rh Y2sgbGltaXQgaW4gYXJndW1lbnQgcmVnaXN0ZXIgKi8KIAltb3YJeDYsIHNw CiAKICNpZmRlZiBTSEFSRUQKICAgICAgICAgYWRycCAgICB4MCwgOmdvdDpt YWluCi0JbGRyICAgICB4MCwgW3gwLCAjOmdvdF9sbzEyOm1haW5dCisJbGRy ICAgICBQVFJfUkVHICgwKSwgW3gwLCAjOmdvdF9sbzEyOm1haW5dCiAKICAg ICAgICAgYWRycCAgICB4MywgOmdvdDpfX2xpYmNfY3N1X2luaXQKLQlsZHIg ICAgIHgzLCBbeDMsICM6Z290X2xvMTI6X19saWJjX2NzdV9pbml0XQorCWxk ciAgICAgUFRSX1JFRyAoMyksIFt4MywgIzpnb3RfbG8xMjpfX2xpYmNfY3N1 X2luaXRdCiAKICAgICAgICAgYWRycCAgICB4NCwgOmdvdDpfX2xpYmNfY3N1 X2ZpbmkKLQlsZHIgICAgIHg0LCBbeDQsICM6Z290X2xvMTI6X19saWJjX2Nz dV9maW5pXQorCWxkciAgICAgUFRSX1JFRyAoNCksIFt4NCwgIzpnb3RfbG8x MjpfX2xpYmNfY3N1X2ZpbmldCiAjZWxzZQogCS8qIFNldCB1cCB0aGUgb3Ro ZXIgYXJndW1lbnRzIGluIHJlZ2lzdGVycyAqLwotCWxkcgl4MCwgPW1haW4K LQlsZHIJeDMsID1fX2xpYmNfY3N1X2luaXQKLQlsZHIJeDQsID1fX2xpYmNf Y3N1X2ZpbmkKKwlsZHIJUFRSX1JFRyAoMCksID1tYWluCisJbGRyCVBUUl9S RUcgKDMpLCA9X19saWJjX2NzdV9pbml0CisJbGRyCVBUUl9SRUcgKDQpLCA9 X19saWJjX2NzdV9maW5pCiAjZW5kaWYKIAogCS8qIF9fbGliY19zdGFydF9t YWluIChtYWluLCBhcmdjLCBhcmd2LCBpbml0LCBmaW5pLCBydGxkX2Zpbmks CmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc3RyY2hyLlMgYi9zeXNk ZXBzL2FhcmNoNjQvc3RyY2hyLlMKaW5kZXggNWUzYWVjZi4uYzY2ZmVhMyAx MDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0cmNoci5TCisrKyBiL3N5 c2RlcHMvYWFyY2g2NC9zdHJjaHIuUwpAQCAtNjIsNiArNjIsNyBAQAogLyog TG9jYWxzIGFuZCB0ZW1wb3Jhcmllcy4gICovCiAKIEVOVFJZIChzdHJjaHIp CisJREVMT1VTRSAoMCkKIAltb3YJd3RtcDIsICMweDA0MDEKIAltb3ZrCXd0 bXAyLCAjMHg0MDEwLCBsc2wgIzE2CiAJZHVwCXZyZXBjaHIuMTZiLCBjaHJp bgpkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0cmNocm51bC5TIGIv c3lzZGVwcy9hYXJjaDY0L3N0cmNocm51bC5TCmluZGV4IGE2MjRjOGQuLmMy Y2M0N2UgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zdHJjaHJudWwu UworKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RyY2hybnVsLlMKQEAgLTYwLDYg KzYwLDcgQEAKICAgIGlkZW50aWZ5IGV4YWN0bHkgd2hpY2ggYnl0ZSBpcyBj YXVzaW5nIHRoZSB0ZXJtaW5hdGlvbi4gICovCiAKIEVOVFJZIChfX3N0cmNo cm51bCkKKwlERUxPVVNFICgwKQogCS8qIE1hZ2ljIGNvbnN0YW50IDB4NDAx MDA0MDEgdG8gYWxsb3cgdXMgdG8gaWRlbnRpZnkgd2hpY2ggbGFuZQogCSAg IG1hdGNoZXMgdGhlIHRlcm1pbmF0aW9uIGNvbmRpdGlvbi4gICovCiAJbW92 CXd0bXAyLCAjMHgwNDAxCmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQv c3RyY21wLlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RyY21wLlMKaW5kZXggYmEw Y2NiNC4uNDllNTI4YiAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0 cmNtcC5TCisrKyBiL3N5c2RlcHMvYWFyY2g2NC9zdHJjbXAuUwpAQCAtNDks NiArNDksOCBAQAogCS8qIFN0YXJ0IG9mIHBlcmZvcm1hbmNlLWNyaXRpY2Fs IHNlY3Rpb24gIC0tIG9uZSA2NEIgY2FjaGUgbGluZS4gICovCiBFTlRSWV9B TElHTihzdHJjbXAsIDYpCiAKKwlERUxPVVNFICgwKQorCURFTE9VU0UgKDEp CiAJZW9yCXRtcDEsIHNyYzEsIHNyYzIKIAltb3YJemVyb29uZXMsICNSRVA4 XzAxCiAJdHN0CXRtcDEsICM3CmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNo NjQvc3RyY3B5LlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RyY3B5LlMKaW5kZXgg MDY5NDE5OS4uNDU4MDllOCAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0 L3N0cmNweS5TCisrKyBiL3N5c2RlcHMvYWFyY2g2NC9zdHJjcHkuUwpAQCAt OTEsNiArOTEsOCBAQAogI2RlZmluZSBNSU5fUEFHRV9TSVpFICgxIDw8IE1J Tl9QQUdFX1AyKQogCiBFTlRSWV9BTElHTiAoU1RSQ1BZLCA2KQorCURFTE9V U0UgKDApCisJREVMT1VTRSAoMSkKIAkvKiBGb3IgbW9kZXJhdGVseSBzaG9y dCBzdHJpbmdzLCB0aGUgZmFzdGVzdCB3YXkgdG8gZG8gdGhlIGNvcHkgaXMg dG8KIAkgICBjYWxjdWxhdGUgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIGlu IHRoZSBzYW1lIHdheSBhcyBzdHJsZW4sIHRoZW4KIAkgICBlc3NlbnRpYWxs eSBkbyBhIG1lbWNweSBvZiB0aGUgcmVzdWx0LiAgVGhpcyBhdm9pZHMgdGhl IG5lZWQgZm9yCmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc3RybGVu LlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RybGVuLlMKaW5kZXggYTA3ODM0Yi4u NWZiNjUzYSAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0cmxlbi5T CisrKyBiL3N5c2RlcHMvYWFyY2g2NC9zdHJsZW4uUwpAQCAtODUsNiArODUs OCBAQAogCSAgIGJvdW5kYXJ5LiAgKi8KIAogRU5UUllfQUxJR04gKF9fc3Ry bGVuLCA2KQorCURFTE9VU0UgKDApCisJREVMT1VTRSAoMSkKIAlhbmQJdG1w MSwgc3JjaW4sIE1JTl9QQUdFX1NJWkUgLSAxCiAJbW92CXplcm9vbmVzLCBS RVA4XzAxCiAJY21wCXRtcDEsIE1JTl9QQUdFX1NJWkUgLSAxNgpkaWZmIC0t Z2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0cm5jbXAuUyBiL3N5c2RlcHMvYWFy Y2g2NC9zdHJuY21wLlMKaW5kZXggZjZhMTdmZC4uMDJkZTkzYyAxMDA2NDQK LS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0cm5jbXAuUworKysgYi9zeXNkZXBz L2FhcmNoNjQvc3RybmNtcC5TCkBAIC01MSw2ICs1MSw5IEBACiAjZGVmaW5l IGVuZGxvb3AJCXgxNQogCiBFTlRSWV9BTElHTl9BTkRfUEFEIChzdHJuY21w LCA2LCA3KQorCURFTE9VU0UgKDApCisJREVMT1VTRSAoMSkKKwlERUxPVVNF ICgyKQogCWNieglsaW1pdCwgTChyZXQwKQogCWVvcgl0bXAxLCBzcmMxLCBz cmMyCiAJbW92CXplcm9vbmVzLCAjUkVQOF8wMQpkaWZmIC0tZ2l0IGEvc3lz ZGVwcy9hYXJjaDY0L3N0cm5sZW4uUyBiL3N5c2RlcHMvYWFyY2g2NC9zdHJu bGVuLlMKaW5kZXggNGNjZTQ1Zi4uYWY3NjVmMSAxMDA2NDQKLS0tIGEvc3lz ZGVwcy9hYXJjaDY0L3N0cm5sZW4uUworKysgYi9zeXNkZXBzL2FhcmNoNjQv c3Rybmxlbi5TCkBAIC01MCw2ICs1MCw5IEBACiAjZGVmaW5lIFJFUDhfODAg MHg4MDgwODA4MDgwODA4MDgwCiAKIEVOVFJZX0FMSUdOX0FORF9QQUQgKF9f c3RybmxlbiwgNiwgOSkKKwlERUxPVVNFICgwKQorCURFTE9VU0UgKDEpCisJ REVMT1VTRSAoMikKIAljYnoJbGltaXQsIEwoaGl0X2xpbWl0KQogCW1vdgl6 ZXJvb25lcywgI1JFUDhfMDEKIAliaWMJc3JjLCBzcmNpbiwgIzE1CmRpZmYg LS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc3RycmNoci5TIGIvc3lzZGVwcy9h YXJjaDY0L3N0cnJjaHIuUwppbmRleCA0NGMxOTE3Li5lYTM3OTY4IDEwMDY0 NAotLS0gYS9zeXNkZXBzL2FhcmNoNjQvc3RycmNoci5TCisrKyBiL3N5c2Rl cHMvYWFyY2g2NC9zdHJyY2hyLlMKQEAgLTY4LDYgKzY4LDcgQEAKICAgIGlk ZW50aWZ5IGV4YWN0bHkgd2hpY2ggYnl0ZSBpcyBjYXVzaW5nIHRoZSB0ZXJt aW5hdGlvbiwgYW5kIHdoeS4gICovCiAKIEVOVFJZKHN0cnJjaHIpCisJREVM T1VTRSAoMCkKIAljYnoJeDEsIEwobnVsbF9zZWFyY2gpCiAJLyogTWFnaWMg Y29uc3RhbnQgMHg0MDEwMDQwMSB0byBhbGxvdyB1cyB0byBpZGVudGlmeSB3 aGljaCBsYW5lCiAJICAgbWF0Y2hlcyB0aGUgcmVxdWVzdGVkIGJ5dGUuICBN YWdpYyBjb25zdGFudCAweDgwMjAwODAyIHVzZWQKZGlmZiAtLWdpdCBhL3N5 c2RlcHMvYWFyY2g2NC9zeXNkZXAuaCBiL3N5c2RlcHMvYWFyY2g2NC9zeXNk ZXAuaAppbmRleCBlMDQ1NzU5Li4wYTdkY2NiIDEwMDY0NAotLS0gYS9zeXNk ZXBzL2FhcmNoNjQvc3lzZGVwLmgKKysrIGIvc3lzZGVwcy9hYXJjaDY0L3N5 c2RlcC5oCkBAIC0xNiw4ICsxNiwyNSBAQAogICAgTGljZW5zZSBhbG9uZyB3 aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQogICAgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KIAorI2lmbmRlZiBfQUFS Q0g2NF9TWVNERVBfSAorI2RlZmluZSBfQUFSQ0g2NF9TWVNERVBfSAorCiAj aW5jbHVkZSA8c3lzZGVwcy9nZW5lcmljL3N5c2RlcC5oPgogCisjaWZkZWYg X19MUDY0X18KKyMgZGVmaW5lIEFBUkNINjRfUihOQU1FKQlSX0FBUkNINjRf ICMjIE5BTUUKKyMgZGVmaW5lIFBUUl9SRUcobikJCXgjI24KKyMgZGVmaW5l IFBUUl9MT0dfU0laRQkJMworIyBkZWZpbmUgREVMT1VTRShuKQorI2Vsc2UK KyMgZGVmaW5lIEFBUkNINjRfUihOQU1FKQlSX0FBUkNINjRfUDMyXyAjIyBO QU1FCisjIGRlZmluZSBQVFJfUkVHKG4pCQl3IyNuCisjIGRlZmluZSBQVFJf TE9HX1NJWkUJCTIKKyMgZGVmaW5lIERFTE9VU0UobikJCW1vdiAgICAgdyMj biwgdyMjbgorI2VuZGlmCisKKyNkZWZpbmUgUFRSX1NJWkUJKDE8PFBUUl9M T0dfU0laRSkKKwogI2lmZGVmCV9fQVNTRU1CTEVSX18KIAogLyogU3ludGFj dGljIGRldGFpbHMgb2YgYXNzZW1ibGVyLiAgKi8KQEAgLTEwNywxNiArMTI0 LDE4IEBACiAjIGRlZmluZSBMKG5hbWUpICAgICAgICAgLkwjI25hbWUKICNl bmRpZgogCi0vKiBMb2FkIG9yIHN0b3JlIHRvL2Zyb20gYSBwYy1yZWxhdGl2 ZSBFWFBSIGludG8vZnJvbSBSLCB1c2luZyBULiAgKi8KLSNkZWZpbmUgTERT VF9QQ1JFTChPUCwgUiwgVCwgRVhQUikgIFwKLQlhZHJwCVQsIEVYUFI7CSAg ICBcCi0JT1AJUiwgW1QsICM6bG8xMjpFWFBSXTtcCisvKiBMb2FkIG9yIHN0 b3JlIHRvL2Zyb20gYSBwYy1yZWxhdGl2ZSBFWFBSIGludG8vZnJvbSBSLCB1 c2luZyBULgorICAgTm90ZSBSIGFuZCBUIGFyZSByZWdpc3RlciBudW1iZXJz IGFuZCBub3QgcmVnaXN0ZXIgbmFtZXMuICAqLworI2RlZmluZSBMRFNUX1BD UkVMKE9QLCBSLCBULCBFWFBSKQkJCVwKKwlhZHJwCXgjI1QsIEVYUFI7CQkJ CVwKKwlPUAlQVFJfUkVHIChSKSwgW3gjI1QsICM6bG8xMjpFWFBSXTsJXAog Ci0vKiBMb2FkIG9yIHN0b3JlIHRvL2Zyb20gYSBnb3QtcmVsYXRpdmUgRVhQ UiBpbnRvL2Zyb20gUiwgdXNpbmcgVC4gICovCi0jZGVmaW5lIExEU1RfR0xP QkFMKE9QLCBSLCBULCBFWFBSKSAgICAgXAotCWFkcnAJVCwgOmdvdDpFWFBS OwkJXAotCWxkcglULCBbVCwgIzpnb3RfbG8xMjpFWFBSXTtcCi0JT1AJUiwg W1RdOworLyogTG9hZCBvciBzdG9yZSB0by9mcm9tIGEgZ290LXJlbGF0aXZl IEVYUFIgaW50by9mcm9tIFIsIHVzaW5nIFQuCisgICBOb3RlIFIgYW5kIFQg YXJlIHJlZ2lzdGVyIG51bWJlcnMgYW5kIG5vdCByZWdpc3RlciBuYW1lcy4g ICovCisjZGVmaW5lIExEU1RfR0xPQkFMKE9QLCBSLCBULCAgRVhQUikJCQlc CisJYWRycAl4IyNULCA6Z290OkVYUFI7CQkJXAorCWxkcglQVFJfUkVHIChU KSwgW3gjI1QsICM6Z290X2xvMTI6RVhQUl07CVwKKwlPUAlQVFJfUkVHIChS KSwgW3gjI1RdOwogCiAvKiBTaW5jZSBDIGlkZW50aWZpZXJzIGFyZSBub3Qg bm9ybWFsbHkgcHJlZml4ZWQgd2l0aCBhbiB1bmRlcnNjb3JlCiAgICBvbiB0 aGlzIHN5c3RlbSwgdGhlIGFzbSBpZGVudGlmaWVyIGBzeXNjYWxsX2Vycm9y JyBpbnRydWRlcyBvbiB0aGUKQEAgLTEyNSwzICsxNDQsNSBAQAogI2RlZmlu ZSBtY291bnQJCV9tY291bnQKIAogI2VuZGlmCS8qIF9fQVNTRU1CTEVSX18g Ki8KKworI2VuZGlmICAvKiBfQUFSQ0g2NF9TWVNERVBfSCAqLwpkaWZmIC0t Z2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9iaXRzL2Zj bnRsLmggYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2JpdHMv ZmNudGwuaAppbmRleCA2NThmNjk2Li4xNzE3YzM1IDEwMDY0NAotLS0gYS9z eXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2JpdHMvZmNudGwuaAor KysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2JpdHMvZmNu dGwuaApAQCAtMjUsMTEgKzI1LDE3IEBACiAjZGVmaW5lIF9fT19OT0ZPTExP VwkwMTAwMDAwCiAjZGVmaW5lIF9fT19ESVJFQ1QJMDIwMDAwMAogCi0jZGVm aW5lIF9fT19MQVJHRUZJTEUJMAorI2lmZGVmIF9fSUxQMzJfXworIyBkZWZp bmUgX19PX0xBUkdFRklMRQkwNDAwMDAwCisjZWxzZQorIyBkZWZpbmUgX19P X0xBUkdFRklMRQkwCisjZW5kaWYKIAorI2lmZGVmIF9fTFA2NF9fCiAjIGRl ZmluZSBGX0dFVExLNjQJNQogIyBkZWZpbmUgRl9TRVRMSzY0CTYKICMgZGVm aW5lIEZfU0VUTEtXNjQJNworI2VuZGlmCiAKIHN0cnVjdCBmbG9jawogICB7 CmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0 L2Nsb25lLlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2Ns b25lLlMKaW5kZXggNzZiYWE3YS4uMjIwZWMxMSAxMDA2NDQKLS0tIGEvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9jbG9uZS5TCisrKyBiL3N5 c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvY2xvbmUuUwpAQCAtMzks NiArMzksMTMgQEAKICAqLwogICAgICAgICAudGV4dAogRU5UUlkoX19jbG9u ZSkKKwlERUxPVVNFICgwKQorCURFTE9VU0UgKDEpCisJREVMT1VTRSAoMikK KwlERUxPVVNFICgzKQorCURFTE9VU0UgKDQpCisJREVMT1VTRSAoNSkKKwlE RUxPVVNFICg2KQogCS8qIFNhdmUgYXJncyBmb3IgdGhlIGNoaWxkLiAgKi8K IAltb3YJeDEwLCB4MAogCW1vdgl4MTEsIHgyCmRpZmYgLS1naXQgYS9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2RsLWNhY2hlLmggYi9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2RsLWNhY2hlLmgKaW5kZXgg OWM3YjI3MS4uODY5MDVlZCAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4L3N5 c3YvbGludXgvYWFyY2g2NC9kbC1jYWNoZS5oCisrKyBiL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FhcmNoNjQvZGwtY2FjaGUuaApAQCAtMTgsNyArMTgs MTEgQEAKIAogI2luY2x1ZGUgPGxkY29uZmlnLmg+CiAKLSNkZWZpbmUgX0RM X0NBQ0hFX0RFRkFVTFRfSUQgICAgKEZMQUdfQUFSQ0g2NF9MSUI2NCB8IEZM QUdfRUxGX0xJQkM2KQorI2lmZGVmIF9fTFA2NF9fCisjIGRlZmluZSBfRExf Q0FDSEVfREVGQVVMVF9JRCAgICAoRkxBR19BQVJDSDY0X0xJQjY0IHwgRkxB R19FTEZfTElCQzYpCisjZWxzZQorIyBkZWZpbmUgX0RMX0NBQ0hFX0RFRkFV TFRfSUQgICAgKEZMQUdfQUFSQ0g2NF9MSUIzMiB8IEZMQUdfRUxGX0xJQkM2 KQorI2VuZGlmCiAKICNkZWZpbmUgX2RsX2NhY2hlX2NoZWNrX2ZsYWdzKGZs YWdzKSAgICAgICAgICAgICAgICAgICAgXAogICAoKGZsYWdzKSA9PSBfRExf Q0FDSEVfREVGQVVMVF9JRCkKQEAgLTI3LDE4ICszMSwyNSBAQAogICBkbwkJ CQkJCQkJXAogICAgIHsJCQkJCQkJCVwKICAgICAgIHNpemVfdCBsZW4gPSBz dHJsZW4gKGRpcik7CQkJCVwKLSAgICAgIGNoYXIgcGF0aFtsZW4gKyAzXTsJ CQkJCVwKKyAgICAgIGNoYXIgcGF0aFtsZW4gKyA2XTsJCQkJCVwKICAgICAg IG1lbWNweSAocGF0aCwgZGlyLCBsZW4gKyAxKTsJCQkJXAogICAgICAgaWYg KGxlbiA+PSA2ICYmICEgbWVtY21wIChwYXRoICsgbGVuIC0gNiwgIi9saWI2 NCIsIDYpKQlcCiAJewkJCQkJCQlcCiAJICBsZW4gLT0gMjsJCQkJCQlcCiAJ ICBwYXRoW2xlbl0gPSAnXDAnOwkJCQkJXAogCX0JCQkJCQkJXAorICAgICAg aWYgKGxlbiA+PSA5ICYmICEgbWVtY21wIChwYXRoICsgbGVuIC0gOSwgIi9s aWJpbHAzMiIsIDkpKVwKKwl7CQkJCQkJCVwKKwkgIGxlbiAtPSA1OwkJCQkJ CVwKKwkgIHBhdGhbbGVuXSA9ICdcMCc7CQkJCQlcCisJfQkJCQkJCQlcCiAg ICAgICBhZGRfZGlyIChwYXRoKTsJCQkJCQlcCiAgICAgICBpZiAobGVuID49 IDQgJiYgISBtZW1jbXAgKHBhdGggKyBsZW4gLSA0LCAiL2xpYiIsIDQpKQlc CiAJewkJCQkJCQlcCiAJICBtZW1jcHkgKHBhdGggKyBsZW4sICI2NCIsIDMp OwkJCQlcCiAJICBhZGRfZGlyIChwYXRoKTsJCQkJCVwKKwkgIG1lbWNweSAo cGF0aCArIGxlbiwgImlscDMyIiwgNik7CQkJXAorCSAgYWRkX2RpciAocGF0 aCk7CQkJCQlcCiAJfQkJCQkJCQlcCiAgICAgfSB3aGlsZSAoMCkKIApkaWZm IC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9nZXRj b250ZXh0LlMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2dl dGNvbnRleHQuUwppbmRleCBjMmRkNWI4Li5mNmJmMjRmIDEwMDY0NAotLS0g YS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2dldGNvbnRleHQu UworKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2dldGNv bnRleHQuUwpAQCAtMzAsNiArMzAsNyBAQAogCS50ZXh0CiAKIEVOVFJZKF9f Z2V0Y29udGV4dCkKKwlERUxPVVNFICgwKQogCS8qIFRoZSBzYXZlZCBjb250 ZXh0IHdpbGwgcmV0dXJuIHRvIHRoZSBnZXRjb250ZXh0KCkgY2FsbCBwb2lu dAogCSAgIHdpdGggYSByZXR1cm4gdmFsdWUgb2YgMCAqLwogCXN0cgl4enIs CSAgW3gwLCBvWDAgKyAgMCAqIFNaUkVHXQpAQCAtOTAsNyArOTEsNyBAQCBF TlRSWShfX2dldGNvbnRleHQpCiAKIAkvKiBHcmFiIHRoZSBzaWduYWwgbWFz ayAqLwogCS8qIHJ0X3NpZ3Byb2NtYXNrIChTSUdfQkxPQ0ssIE5VTEwsICZ1 Y3AtPnVjX3NpZ21hc2ssIF9OU0lHOCkgKi8KLQlhZGQJeDIsIHgwLCAjVUNP TlRFWFRfU0lHTUFTSworCWFkZAlQVFJfUkVHICgyKSwgUFRSX1JFRyAoMCks ICNVQ09OVEVYVF9TSUdNQVNLCiAJbW92CXgwLCBTSUdfQkxPQ0sKIAltb3YJ eDEsIDAKIAltb3YJeDMsIF9OU0lHOApkaWZmIC0tZ2l0IGEvc3lzZGVwcy91 bml4L3N5c3YvbGludXgvYWFyY2g2NC9pbml0LWZpcnN0LmMgYi9zeXNkZXBz L3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2luaXQtZmlyc3QuYwppbmRleCBm NzIyNGEyLi5mN2JmYzRkIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lz di9saW51eC9hYXJjaDY0L2luaXQtZmlyc3QuYworKysgYi9zeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9hYXJjaDY0L2luaXQtZmlyc3QuYwpAQCAtMjcsMTcg KzI3LDIxIEBAIGludCAoKlZEU09fU1lNQk9MKGNsb2NrX2dldHJlcykpIChj bG9ja2lkX3QsIHN0cnVjdCB0aW1lc3BlYyAqKTsKIHN0YXRpYyBpbmxpbmUg dm9pZAogX2xpYmNfdmRzb19wbGF0Zm9ybV9zZXR1cCAodm9pZCkKIHsKLSAg UFJFUEFSRV9WRVJTSU9OIChsaW51eDI2MzksICJMSU5VWF8yLjYuMzkiLCAx MjM3MTg1MzcpOworI2lmZGVmIF9fTFA2NF9fCisgIFBSRVBBUkVfVkVSU0lP TiAobGludXhfdmVyc2lvbiwgIkxJTlVYXzIuNi4zOSIsIDEyMzcxODUzNyk7 CisjZWxzZQorICBQUkVQQVJFX1ZFUlNJT04gKGxpbnV4X3ZlcnNpb24sICJM SU5VWF80LjkiLCA2MTc2NTYyNSk7CisjZW5kaWYKIAotICB2b2lkICpwID0g X2RsX3Zkc29fdnN5bSAoIl9fa2VybmVsX2dldHRpbWVvZmRheSIsICZsaW51 eDI2MzkpOworICB2b2lkICpwID0gX2RsX3Zkc29fdnN5bSAoIl9fa2VybmVs X2dldHRpbWVvZmRheSIsICZsaW51eF92ZXJzaW9uKTsKICAgUFRSX01BTkdM RSAocCk7CiAgIFZEU09fU1lNQk9MKGdldHRpbWVvZmRheSkgPSBwOwogCi0g IHAgPSBfZGxfdmRzb192c3ltICgiX19rZXJuZWxfY2xvY2tfZ2V0dGltZSIs ICZsaW51eDI2MzkpOworICBwID0gX2RsX3Zkc29fdnN5bSAoIl9fa2VybmVs X2Nsb2NrX2dldHRpbWUiLCAmbGludXhfdmVyc2lvbik7CiAgIFBUUl9NQU5H TEUgKHApOwogICBWRFNPX1NZTUJPTChjbG9ja19nZXR0aW1lKSA9IHA7CiAK LSAgcCA9IF9kbF92ZHNvX3ZzeW0gKCJfX2tlcm5lbF9jbG9ja19nZXRyZXMi LCAmbGludXgyNjM5KTsKKyAgcCA9IF9kbF92ZHNvX3ZzeW0gKCJfX2tlcm5l bF9jbG9ja19nZXRyZXMiLCAmbGludXhfdmVyc2lvbik7CiAgIFBUUl9NQU5H TEUgKHApOwogICBWRFNPX1NZTUJPTChjbG9ja19nZXRyZXMpID0gcDsKIH0K ZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQv bGRjb25maWcuaCBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQv bGRjb25maWcuaAppbmRleCBlZTkxZWY4Li5hYzg0MTk0IDEwMDY0NAotLS0g YS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2xkY29uZmlnLmgK KysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9sZGNvbmZp Zy5oCkBAIC0yMSw2ICsyMSw4IEBACiAjZGVmaW5lIFNZU0RFUF9LTk9XTl9J TlRFUlBSRVRFUl9OQU1FUyBcCiAgIHsgIi9saWIvbGQtbGludXgtYWFyY2g2 NC5zby4xIiwgRkxBR19FTEZfTElCQzYgfSwgXAogICB7ICIvbGliL2xkLWxp bnV4LWFhcmNoNjRfYmUuc28uMSIsIEZMQUdfRUxGX0xJQkM2IH0sIFwKKyAg eyAiL2xpYi9sZC1saW51eC1hYXJjaDY0X2lscDMyLnNvLjEiLCBGTEFHX0VM Rl9MSUJDNiB9LCBcCisgIHsgIi9saWIvbGQtbGludXgtYWFyY2g2NF9iZV9p bHAzMi5zby4xIiwgRkxBR19FTEZfTElCQzYgfSwgXAogICB7ICIvbGliL2xk LWxpbnV4LnNvLjMiLCBGTEFHX0VMRl9MSUJDNiB9LCBcCiAgIHsgIi9saWIv bGQtbGludXgtYXJtaGYuc28uMyIsIEZMQUdfRUxGX0xJQkM2IH0sCiAjZGVm aW5lIFNZU0RFUF9LTk9XTl9MSUJSQVJZX05BTUVTIFwKZGlmZiAtLWdpdCBh L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvc2V0Y29udGV4dC5T IGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9zZXRjb250ZXh0 LlMKaW5kZXggZDE3ZjhjOC4uYzJiY2EyNiAxMDA2NDQKLS0tIGEvc3lzZGVw cy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9zZXRjb250ZXh0LlMKKysrIGIv c3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9zZXRjb250ZXh0LlMK QEAgLTM0LDYgKzM0LDcgQEAKIAkudGV4dAogCiBFTlRSWSAoX19zZXRjb250 ZXh0KQorCURFTE9VU0UgKDApCiAJLyogU2F2ZSBhIGNvcHkgb2YgVUNQLiAg Ki8KIAltb3YJeDksIHgwCiAKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9z eXN2L2xpbnV4L2FhcmNoNjQvc2lnY29udGV4dGluZm8uaCBiL3N5c2RlcHMv dW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvc2lnY29udGV4dGluZm8uaAppbmRl eCBhNTc5NTAxLi5lZTU0MjIyIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgv c3lzdi9saW51eC9hYXJjaDY0L3NpZ2NvbnRleHRpbmZvLmgKKysrIGIvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9zaWdjb250ZXh0aW5mby5o CkBAIC0xOSw3ICsxOSw3IEBACiAjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+ CiAKICNkZWZpbmUgU0lHQ09OVEVYVCBzaWdpbmZvX3QgKl9zaSwgc3RydWN0 IHVjb250ZXh0ICoKLSNkZWZpbmUgR0VUX1BDKGN0eCkgKCh2b2lkICopIChj dHgpLT51Y19tY29udGV4dC5wYykKKyNkZWZpbmUgR0VUX1BDKGN0eCkgKCh2 b2lkICopIChzaXplX3QpIChjdHgpLT51Y19tY29udGV4dC5wYykKIAogLyog VGhlcmUgaXMgbm8gcmVsaWFibGUgd2F5IHRvIGdldCB0aGUgc2lnY29udGV4 dCB1bmxlc3Mgd2UgdXNlIGEKICAgIHRocmVlLWFyZ3VtZW50IHNpZ25hbCBo YW5kbGVyLiAgKi8KZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xp bnV4L2FhcmNoNjQvc3dhcGNvbnRleHQuUyBiL3N5c2RlcHMvdW5peC9zeXN2 L2xpbnV4L2FhcmNoNjQvc3dhcGNvbnRleHQuUwppbmRleCBjMWExNmYzLi44 ZTJjYWRkIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9h YXJjaDY0L3N3YXBjb250ZXh0LlMKKysrIGIvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvYWFyY2g2NC9zd2FwY29udGV4dC5TCkBAIC0yNyw2ICsyNyw3IEBA CiAKIAkudGV4dAogRU5UUlkoX19zd2FwY29udGV4dCkKKwlERUxPVVNFICgw KQogCS8qIFNldCB0aGUgdmFsdWUgcmV0dXJuZWQgd2hlbiBzd2FwY29udGV4 dCgpIHJldHVybnMgaW4gdGhpcyBjb250ZXh0LiAqLwogCXN0cgl4enIsICAg ICAgW3gwLCBvWDAgKyAgMCAqIFNaUkVHXQogCmRpZmYgLS1naXQgYS9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L3N5c2RlcC5oIGIvc3lzZGVw cy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9zeXNkZXAuaAppbmRleCBhMzk3 ZTUwLi4xZmZhYmMyIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9hYXJjaDY0L3N5c2RlcC5oCisrKyBiL3N5c2RlcHMvdW5peC9zeXN2 L2xpbnV4L2FhcmNoNjQvc3lzZGVwLmgKQEAgLTI1MCwxMiArMjUwLDE0IEBA CiAgICAgICghZGVmaW5lZCBTSEFSRUQgJiYgKElTX0lOIChsaWJjKSBcCiAJ CQkgIHx8IElTX0lOIChsaWJwdGhyZWFkKSkpKQogIyBpZmRlZiBfX0FTU0VN QkxFUl9fCisvKiBOb3RlLCBkc3QsIHNyYywgZ3VhcmQsIGFuZCB0bXAgYXJl IGFsbCByZWdpc3RlciBudW1iZXJzIHJhdGhlciB0aGFuCisgICByZWdpc3Rl ciBuYW1lcyBzbyB0aGV5IHdpbGwgd29yayB3aXRoIGJvdGggSUxQMzIgYW5k IExQNjQuICovCiAjICBkZWZpbmUgUFRSX01BTkdMRShkc3QsIHNyYywgZ3Vh cmQsIHRtcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg TERTVF9QQ1JFTCAobGRyLCBndWFyZCwgdG1wLCBDX1NZTUJPTF9OQU1FKF9f cG9pbnRlcl9jaGtfZ3VhcmRfbG9jYWwpKTsgXAogICBQVFJfTUFOR0xFMiAo ZHN0LCBzcmMsIGd1YXJkKQogLyogVXNlIFBUUl9NQU5HTEUyIGZvciBlZmZp Y2llbmN5IGlmIGd1YXJkIGlzIGFscmVhZHkgbG9hZGVkLiAgKi8KICMgIGRl ZmluZSBQVFJfTUFOR0xFMihkc3QsIHNyYywgZ3VhcmQpXAotICBlb3IgZHN0 LCBzcmMsIGd1YXJkCisgIGVvciB4IyNkc3QsIHgjI3NyYywgeCMjZ3VhcmQK ICMgIGRlZmluZSBQVFJfREVNQU5HTEUoZHN0LCBzcmMsIGd1YXJkLCB0bXAp XAogICBQVFJfTUFOR0xFIChkc3QsIHNyYywgZ3VhcmQsIHRtcCkKICMgIGRl ZmluZSBQVFJfREVNQU5HTEUyKGRzdCwgc3JjLCBndWFyZClcCkBAIC0yNjgs MTIgKzI3MCwxNCBAQCBleHRlcm4gdWludHB0cl90IF9fcG9pbnRlcl9jaGtf Z3VhcmRfbG9jYWwgYXR0cmlidXRlX3JlbHJvIGF0dHJpYnV0ZV9oaWRkZW47 CiAjIGVuZGlmCiAjZWxzZQogIyBpZmRlZiBfX0FTU0VNQkxFUl9fCisvKiBO b3RlLCBkc3QsIHNyYywgZ3VhcmQsIGFuZCB0bXAgYXJlIGFsbCByZWdpc3Rl ciBudW1iZXJzIHJhdGhlciB0aGFuCisgICByZWdpc3RlciBuYW1lcyBzbyB0 aGV5IHdpbGwgd29yayB3aXRoIGJvdGggSUxQMzIgYW5kIExQNjQuICovCiAj ICBkZWZpbmUgUFRSX01BTkdMRShkc3QsIHNyYywgZ3VhcmQsIHRtcCkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgTERTVF9HTE9CQUwgKGxk ciwgZ3VhcmQsIHRtcCwgQ19TWU1CT0xfTkFNRShfX3BvaW50ZXJfY2hrX2d1 YXJkKSk7ICAgXAogICBQVFJfTUFOR0xFMiAoZHN0LCBzcmMsIGd1YXJkKQog LyogVXNlIFBUUl9NQU5HTEUyIGZvciBlZmZpY2llbmN5IGlmIGd1YXJkIGlz IGFscmVhZHkgbG9hZGVkLiAgKi8KICMgIGRlZmluZSBQVFJfTUFOR0xFMihk c3QsIHNyYywgZ3VhcmQpXAotICBlb3IgZHN0LCBzcmMsIGd1YXJkCisgIGVv ciB4IyNkc3QsIHgjI3NyYywgeCMjZ3VhcmQKICMgIGRlZmluZSBQVFJfREVN QU5HTEUoZHN0LCBzcmMsIGd1YXJkLCB0bXApXAogICBQVFJfTUFOR0xFIChk c3QsIHNyYywgZ3VhcmQsIHRtcCkKICMgIGRlZmluZSBQVFJfREVNQU5HTEUy KGRzdCwgc3JjLCBndWFyZClcCg== --=-Ha4ktLq0fyt2x2R6B1KZ--