From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6523 invoked by alias); 19 Nov 2016 00:40:09 -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 6462 invoked by uid 89); 19 Nov 2016 00:40:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=3467, 2108, 3528, mcount X-HELO: NAM03-BY2-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1479515990.908.96.camel@caviumnetworks.com> Subject: [PATCH] Partial ILP32 support for aarch64 From: Steve Ellcey To: Date: Sat, 19 Nov 2016 00:40:00 -0000 Content-Type: multipart/mixed; boundary="=-5ooojnu/SkVlaqFCkjGo" MIME-Version: 1.0 X-ClientProxiedBy: CY4PR02CA0043.namprd02.prod.outlook.com (10.175.57.157) To BLUPR0701MB1059.namprd07.prod.outlook.com (10.160.34.156) X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1059;2:Gr7FkStKmvrPDHjLV6gGsTHAnbgV0ZazgLLmHAQ5a6LlqOK7abeNu8352sqxNg2CElmcKa7KVzKZRCea60myTrcrNtjIlfJvo/ZmDZ+Ra8ZaNJy+BYO2fGTdDeW62bM1OcDMOFFtcddtLBRpiPphJ3sxprnPj6qo+j6oL3/Nv+0=;3:IWLPcTiMMVVIwlM3lQcQ3y4vWGAkD5NRAJTGZT1SKLqKihmxDg6HK2kwtHALWXwlBku37ezg9bcA/312w5V1C58L9vVgpupeo1aItvloegrfxhjHbRh6M90LponIvkmGv9EQtOxth2wRMUqI0rWzFW1CaI5FADI5LzL+UWC/S8Y= X-MS-Office365-Filtering-Correlation-Id: d3d6dacb-e8a4-4091-4d81-08d410149481 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BLUPR0701MB1059; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1059;25:0g7zLA9+H1s328EWfg0p9b6SqswsxzX97Epvw+DOZ60IXo+5gt+i7d3J6kUznDFTE3OM8ZcjbFQPnKfI73FYkgHwA/Gwn797vUxWa5uH1nbTXWxZVjqGzW38aVAfhR1LfOGgVz9n4BXJRsmfQM7WHtQ4SruhtYAPRnLH6BRJ1jrSoLfLWMVnlgXJf7fuc/BEa5DbErT+gXPLOBXRQvJ1NRDrRcXr1uziv7Hd+4U0/Pn2/Mku1NNxyKKxoPUBPaXiiLFDvcHFV+zmexE2vaa0iukew3qcAc6k24UaFFHx6n1YKOG/kL92NEzRTMuyFov3Gkzsw/V3zTzVTIqAP3azTJMZDvFPVGxFx6+iVxLs35ZgPDeKXXql9I7p7MywVo36zm6/mlC/MRTSkYYiDluqv3M5dmbE8XqcYMI6RvAMt82WS53eCDXRv56m4aV8V+5jGpXNmiQQEamXsV+HzMSC01PqCTpE7xSAigoSOdOeukvvDgV7cBDS+iOhpk2zBCuxPyK1yASrQxWIAwotruxp3OLnEtrbKAqlSbUVQxEVO3E2z/b8S6IaiNB8Tol12aqtoctReSfmdAe1eZAgwn0EKj4hUjsSn4Vlb5jHkoYhpuxGN1DBFLbrpZu6Anmmz0JQ+Xbrud2wMaGdPWQYq6VO1CzhrjbxIDLdAnetc37oFZLWgIGLRbxEubNP4uIOhkAtKJjNtqBG4sXOYrtd8L5UX82lxohFRkSyU0SAoUev7DGeU2quhQV3QqVBSzSdKVaxHDtmB+DKhCnbrJaH7FWeCU/Svk2+t8nd1QUWHUFsBS8tYj32BfzxK0TYKxsAnVhVkxuKrn/ag07NieqeMrJJErdQs9ccCbOSrZ+EVsba3zEgH7uEWupHF/7BDF8ckSwR X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1059;31:1J1LM1F05rlK33gNI6GJrHSy8vVkfCKK+n34U+ng29b1zV3E+qQOUAVCbTgpeq2LiKAO6n/V+WuEiI/8rtyYuzV2XBREuq60JfvrkmqaFPeGqi9cRU8EK0xaVdj5i6VXyP3CAHoOjGP5wNQ03nvmul/woInPtTXXtsNEXUebIfdtUvQV9sf72habpBos01wTzsugPQSINAEZQozzAEdhnBHiqC6eE47uhKpVdoIIFng30dmb50PJqQSQ1Zb86GfXgLIxGfBGSJf9n3Ztngj7xis9tHJNenxjw9Ic0lHuf0M=;20:XcAgiov7CLJ5fyLo1qqCZ5OBtBC0Z9TCwNsVaA0Puc5+01yUmuC26vCdJRgl0xWLJ+B3Av2HZlj7Uum5wcHuqg+FWo1Eh1HT7Kh3tHvWq7qfWmpzmVIqs89N+fjlgdzeeDTLoMKcev/3o8kObVsHwe+sW27A/2moSoE2EufVvdviDaZ9SlehR/W4wHtr7tmhxnZmsCdGS+1P/CWfEb/7vQNK1yKMpi9l8KgyVoXavTMif2KS0zMb1y1ZUHbsPxrwvqPk9awZMaBooXcH7gVdiMBBIdYoIA4YdoaVzzOlPRD85DqI5aytcJZuiEkVl+XuAdNaq7Z+aPTkrWP+55h6Nd7Iy+gxPVlE+SiWfTDX11MAaDy37yN9USwU4RVs6ztukYgsZqbop1zLJRRERwcVaWEQh9a5HMsioeFcTOP9uhmhKlP57PvsuzIELW+d7ydnhMXrwkYiceI809xuC1aND2WEeYnTyJG9ocvpYviOQAfYoHMW61yR+NlAeoIGPyOPVhxXLyG2wFSDB0RepjTFk0dFM34tKN8BTqdx8is8QF2dTlmR99NJS8NTcsxosIPkx3+lahNzzvTyCM5nIFuIJrB44hz7tkP0iKVugq6DUuA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(102415395)(6040281)(6060326)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6061324)(6041223);SRVR:BLUPR0701MB1059;BCL:0;PCL:0;RULEID:;SRVR:BLUPR0701MB1059; X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1059;4:ZVvCvJTJe59kapzHxEMYuj8/IlMbpmrY6SmwaZ8xp7FZm2SP5sLVXdPyvFgTlo3NJXvkZ6ckvsfotoGYmy+d0pj2lsa4yyndYDjcQkI7at9LdvlLg2Y7FCnQ3wyLNfhwwnbuAPnMTzfZKCIiRakIDIUZXysHsJ3rczm20J8zOi1RDr/w+S9vIjrLFU8Slnezhunh4mNons373e5dk+752ITjUg5KeCUO43xAnsyc8EykIcRboW9B+oGGX5i1FXxHUCU6tRc/cgoogFm+75kc3JiZ9i/1m8NVVdn8+bWLEFwPMebCXxtBuVe6iuNhIrkrnCtU/Z4IpaVQKMLTkpGiBs5eqlIoBz+jAFwe5NGdAalvHKndKVP3mcJXo1fM6rEdPQ9nl0JieTvI3oRLFW8u699VvEP69SmHU2ZnHoLPiYuWcMj+mpHrewv9W3jidgYGagomTNx8Q4hkgI3iFjeGaKhLhyqZz8GkYr+UMC5kqyc= X-Forefront-PRVS: 0131D22242 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(377424004)(199003)(189002)(103116003)(77096005)(2351001)(4610100001)(92566002)(512874002)(7736002)(97736004)(66066001)(4001150100001)(568964002)(68736007)(2906002)(450100001)(305945005)(8676002)(5890100001)(7846002)(84326002)(36756003)(101416001)(42882006)(5660300001)(33646002)(6916009)(53416004)(69596002)(42186005)(107886002)(189998001)(50226002)(6116002)(81166006)(81156014)(50986999)(2476003)(105586002)(3846002)(38730400001)(106356001)(110136003)(99106002);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR0701MB1059;H:sellcey-lt.caveonetworks.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX: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;BLUPR0701MB1059;23:HkFV59wJjpJgAwALoyMrVNeEHOj8FnU3Opkacfr?= =?us-ascii?Q?wPvJJsK4ZWew/sTDVFaKLghC7QB1Q/8XqsO5efu7pCB82IM30UKI2nWQO6yU?= =?us-ascii?Q?zQURy72R4V2v7pBvZFcoNwslSIqUWlQEHP/PKG+xYXsy+G/S8wPHkAVcbuEv?= =?us-ascii?Q?1QiwVdkHE1W+ARe0P6N+9LR6Jf8qPnfqSMJh7KVIsw9V/b3H4A3mdLEZooNI?= =?us-ascii?Q?3ECNjO0HKRhjkuWZMCN2fX8HqzX0LZQNvNr80rByhjPDUKAiBgs9537EPFxQ?= =?us-ascii?Q?i2uCFQEw7o0Fx2hZnnTAdZMu+C+sSCOeaiWl1EnS5HAT+NTSZ6MyU+eXLr+M?= =?us-ascii?Q?aZbvRJmGyRduW7SQBxZgcOqWbL4e9u/hhNgWhHDvSR3dDcmL4xv13OSC0tz5?= =?us-ascii?Q?+e5ldUjoUjZr9vIrCruzklh9N/Xx1mZW7nW2wbGHADQRprm+DQJQ1rNpJZEI?= =?us-ascii?Q?h4C7NnfaBfQ0fGs/0NhEJh7AyiccPaHNfEBACrZSu7C81ayL6i6yMGsSgWQh?= =?us-ascii?Q?aH/+Ija2BFuI9WLa8I0dqX1ZpzOZ7l2UJ3ZqLf/tBWAmWGbgYuhdNVzi3NcN?= =?us-ascii?Q?uL2sxZKO2BVyL90OVKZXyQnkhIVuHHK6LTTGTNChBNKMINL4nHwg4sSfXf0J?= =?us-ascii?Q?Nip7ujbOiad4XC0p5MT59fFzRdq7U1KLCDebzHhKx72V9vnotjW6Yck6n0kh?= =?us-ascii?Q?fz/0+uwQmDNlpctBGQ4ovo/XF9kipMkl5StO5GKZ4VDW5yLqnwF5VGVnlsvP?= =?us-ascii?Q?j8MLcpF5s6ah2GMblWL4VbQIg31JPPC0jjuNrZwij+r/Yi7HjGrf+6OOUTGS?= =?us-ascii?Q?2ie4SQ06SknK4nLOVw6u3n37t/rbKEFDZMx66txxiRA+StSTogUSFz9IWYGD?= =?us-ascii?Q?o/l2vA3NwEKC2cAntIY1LtD4fAPuCgL3Jl18wVtgYcxjblYHesNOIOf6fDKZ?= =?us-ascii?Q?p6+cEPBkhgWAmLs8X5SnhLA5fnoW7BHAW9g0c9WjgXAx+QcmEQJrMM26oe+f?= =?us-ascii?Q?qThYqjYfVNgt5l5vyXFxeoFSU/IB0s05SSOkMnYVFvE7HSenHqHzFPI/ZEji?= =?us-ascii?Q?Y37H5QzEUBa5bPng+IEiHSfqDLOTc8vwqgTMDRjFQ8hKehTuWg4xt3L7Ysug?= =?us-ascii?Q?AQhHgtr1juTOT3zH5I35AoPacji946+ltx+ngajYTvEM134YXMEAYUYcusTU?= =?us-ascii?Q?IoW8PM0OMQ1jyQba9tZtPEycvDBRmVhfK3fE0dDFVww/dpa/x/Qzzjn15Ig?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1059;6:9L/FSxcNFDLbdN6EG+sufni7PyMr7gmP8sBdwpAAabQOwZTu4WDmwDFF5hGYLv3CC16WpBfMUROd/B5xcdvqAqYPONDhJ7Fl40nnzMRbPdbSNLfw72PS8Gee2nK74W1OtUPVU8fqL6yY2maKctRt1HXkGS8jKnjYJcsyXm/YXzmCLiueyFS5uAS3OWR0BqhCkPmnML26PSx1DK+sobaWKOnDJXpQDscmvArB+BMgQFiwqLbuHQszJQsDhaaHkNYSwt4OFTz7JjgmXZZXlcsnkPirXAaEdkC+K5Kwjjx0Hu7weKiDWS5kc3GJJIh9+bUU6rCLsh/eoJn4AfMa0VbsPg==;5:DvkaLALMiG2FWSf5GWo9YR8gfd8K7d5y7sI7wsAUzU9V0upnN/vZkbrTaCRuAI86Rxb0+42BisuN1rdR5GuALXxCw+WdBEzBU+jjcx4r+Fmu4BhgUvLoxvsGYPw9XhAf3x8c1VxUwKRL1zkhU7JHFg==;24:8Bh2AuxHnWGReph+8JCaUKSe2Cf6svVxfrvVa5aN3rRxhiW+jbr2BpNoaAoe5xWDPUQuDQqnxIoTAWd2eQ8gaAXPi3G7tqs6E5DyM2hOjV8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BLUPR0701MB1059;7:dqRB6tpiFvUTucJ6Xs6uzh+WcExpL/zIN8Q5Zb65pwainMqUBIxm+jVdLDjlbMQNOEQ6hz0TUqja3wbBNdg+xj3MaDXJiDqJSqDZKkNlm+Kfl6coTStQOFa5BNlSfyKFsn/80ckydKNaXTDH8MNAlPTc01K8OglDHSRkdedzlJifWmgWTQAYgL4ixIPdcu1wluU1/n2VyaLydiMKleEl9cAiRlMzIEKgNzEqp9ZLg0itJpyGabNYGOuRtgU2D5hvNifN7tylKu+YlKjAbOGsPYQXbx61ILl9yT3/j0lofPGA9YPHjaeGUbn0QhqXhp1GOAxXSsRQcrtcU039ocrjOD+8hKRp6mQRtpRi8SsAfkA= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2016 00:39:53.9832 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1059 X-SW-Source: 2016-11/txt/msg00677.txt.bz2 --=-5ooojnu/SkVlaqFCkjGo Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Content-length: 3993 This is the first of the aarch64 ILP32 patches.  I don't know if this can be approved and checked in before the rest of the ILP32 patches but I was hoping it could be so that we can get everything checked in before the glibc code freeze.   This part of the patch does not include any of the structural changes to support ILP32 builds but it contains the majority of the assembly language changes and macro changes.  This patch has been tested to make sure it does not break the aarch64 LP64 build or cause any regressions. Almost all LP64 objects are identical before and after this patch, there are a couple of exceptions due to changes in the add_system_dir macro in sysdeps/unix/sysv/linux/aarch64/dl-cache.h. OK to checkin? Steve Ellcey sellcey@caviumnetworks.com 2016-11-18  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. --=-5ooojnu/SkVlaqFCkjGo 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: 48813 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 eCAzY2M1YjM3Li4xZDEzODljIDEwMDY0NAotLS0gYS9zeXNkZXBzL2FhcmNo NjQvbnB0bC9iaXRzL3NlbWFwaG9yZS5oCisrKyBiL3N5c2RlcHMvYWFyY2g2 NC9ucHRsL2JpdHMvc2VtYXBob3JlLmgKQEAgLTIxLDcgKzIxLDExIEBACiAj ZW5kaWYKIAogCisjaWZkZWYgX19JTFAzMl9fCisjZGVmaW5lIF9fU0laRU9G X1NFTV9UCTE2CisjZWxzZQogI2RlZmluZSBfX1NJWkVPRl9TRU1fVAkzMgor I2VuZGlmCiAKIAogLyogVmFsdWUgcmV0dXJuZWQgaWYgYHNlbV9vcGVuJyBm YWlsZWQuICAqLwpkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3NldGpt cC5TIGIvc3lzZGVwcy9hYXJjaDY0L3NldGptcC5TCmluZGV4IDIyZjQzNjgu LmUwM2IzYjUgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zZXRqbXAu UworKysgYi9zeXNkZXBzL2FhcmNoNjQvc2V0am1wLlMKQEAgLTMzLDYgKzMz LDcgQEAgRU5EIChfc2V0am1wKQogbGliY19oaWRkZW5fZGVmIChfc2V0am1w KQogCiBFTlRSWSAoX19zaWdzZXRqbXApCisJREVMT1VTRSAoMCkKIAogMToK IAlzdHAJeDE5LCB4MjAsIFt4MCwgI0pCX1gxOTw8M10KQEAgLTQyLDcgKzQz LDcgQEAgRU5UUlkgKF9fc2lnc2V0am1wKQogCXN0cAl4MjcsIHgyOCwgW3gw LCAjSkJfWDI3PDwzXQogCiAjaWZkZWYgUFRSX01BTkdMRQotCVBUUl9NQU5H TEUgKHg0LCB4MzAsIHgzLCB4MikKKwlQVFJfTUFOR0xFICg0LCAzMCwgMywg MikKIAlzdHAJeDI5LCAgeDQsIFt4MCwgI0pCX1gyOTw8M10KICNlbHNlCiAJ c3RwCXgyOSwgeDMwLCBbeDAsICNKQl9YMjk8PDNdCkBAIC01Nyw3ICs1OCw3 IEBAIEVOVFJZIChfX3NpZ3NldGptcCkKIAlzdHAJZDE0LCBkMTUsIFt4MCwg I0pCX0QxNDw8M10KICNpZmRlZiBQVFJfTUFOR0xFCiAJbW92CXg0LCBzcAot CVBUUl9NQU5HTEUgKHg1LCB4NCwgeDMsIHgyKQorCVBUUl9NQU5HTEUgKDUs IDQsIDMsIDIpCiAJc3RyCXg1LCBbeDAsICNKQl9TUDw8M10KICNlbHNlCiAJ bW92CXgyLCAgc3AKZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9zdGFy dC5TIGIvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMKaW5kZXggZWZlMjQ3NC4u OTE5OGM1NyAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMK KysrIGIvc3lzZGVwcy9hYXJjaDY0L3N0YXJ0LlMKQEAgLTE2LDYgKzE2LDgg QEAKICAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeS4g IElmIG5vdCwgc2VlCiAgICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uICAqLwogCisjaW5jbHVkZSA8c3lzZGVwLmg+CisKIC8qIFRoaXMgaXMg dGhlIGNhbm9uaWNhbCBlbnRyeSBwb2ludCwgdXN1YWxseSB0aGUgZmlyc3Qg dGhpbmcgaW4gdGhlIHRleHQKICAgIHNlZ21lbnQuCiAKQEAgLTI1LDcgKzI3 LDcgQEAKIAogICAgQXQgdGhpcyBlbnRyeSBwb2ludCwgbW9zdCByZWdpc3Rl cnMnIHZhbHVlcyBhcmUgdW5zcGVjaWZpZWQsIGV4Y2VwdDoKIAotICAgeDAJ CUNvbnRhaW5zIGEgZnVuY3Rpb24gcG9pbnRlciB0byBiZSByZWdpc3RlcmVk IHdpdGggYGF0ZXhpdCcuCisgICB4MC93MAlDb250YWlucyBhIGZ1bmN0aW9u IHBvaW50ZXIgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIGBhdGV4aXQnLgogCQlU aGlzIGlzIGhvdyB0aGUgZHluYW1pYyBsaW5rZXIgYXJyYW5nZXMgdG8gaGF2 ZSBEVF9GSU5JCiAJCWZ1bmN0aW9ucyBjYWxsZWQgZm9yIHNoYXJlZCBsaWJy YXJpZXMgdGhhdCBoYXZlIGJlZW4gbG9hZGVkCiAJCWJlZm9yZSB0aGlzIGNv ZGUgcnVucy4KQEAgLTUyLDI2ICs1NCwyNiBAQCBfc3RhcnQ6CiAJbW92CXg1 LCB4MAogCiAJLyogTG9hZCBhcmdjIGFuZCBhIHBvaW50ZXIgdG8gYXJndiAq LwotCWxkcgl4MSwgW3NwLCAjMF0KLQlhZGQJeDIsIHNwLCAjOAorCWxkcglQ VFJfUkVHICgxKSwgW3NwLCAjMF0KKwlhZGQJeDIsIHNwLCAjUFRSX1NJWkUK IAogCS8qIFNldHVwIHN0YWNrIGxpbWl0IGluIGFyZ3VtZW50IHJlZ2lzdGVy ICovCiAJbW92CXg2LCBzcAogCiAjaWZkZWYgU0hBUkVECiAgICAgICAgIGFk cnAgICAgeDAsIDpnb3Q6bWFpbgotCWxkciAgICAgeDAsIFt4MCwgIzpnb3Rf bG8xMjptYWluXQorCWxkciAgICAgUFRSX1JFRyAoMCksIFt4MCwgIzpnb3Rf bG8xMjptYWluXQogCiAgICAgICAgIGFkcnAgICAgeDMsIDpnb3Q6X19saWJj X2NzdV9pbml0Ci0JbGRyICAgICB4MywgW3gzLCAjOmdvdF9sbzEyOl9fbGli Y19jc3VfaW5pdF0KKwlsZHIgICAgIFBUUl9SRUcgKDMpLCBbeDMsICM6Z290 X2xvMTI6X19saWJjX2NzdV9pbml0XQogCiAgICAgICAgIGFkcnAgICAgeDQs IDpnb3Q6X19saWJjX2NzdV9maW5pCi0JbGRyICAgICB4NCwgW3g0LCAjOmdv dF9sbzEyOl9fbGliY19jc3VfZmluaV0KKwlsZHIgICAgIFBUUl9SRUcgKDQp LCBbeDQsICM6Z290X2xvMTI6X19saWJjX2NzdV9maW5pXQogI2Vsc2UKIAkv KiBTZXQgdXAgdGhlIG90aGVyIGFyZ3VtZW50cyBpbiByZWdpc3RlcnMgKi8K LQlsZHIJeDAsID1tYWluCi0JbGRyCXgzLCA9X19saWJjX2NzdV9pbml0Ci0J bGRyCXg0LCA9X19saWJjX2NzdV9maW5pCisJbGRyCVBUUl9SRUcgKDApLCA9 bWFpbgorCWxkcglQVFJfUkVHICgzKSwgPV9fbGliY19jc3VfaW5pdAorCWxk cglQVFJfUkVHICg0KSwgPV9fbGliY19jc3VfZmluaQogI2VuZGlmCiAKIAkv KiBfX2xpYmNfc3RhcnRfbWFpbiAobWFpbiwgYXJnYywgYXJndiwgaW5pdCwg ZmluaSwgcnRsZF9maW5pLApkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0 L3N0cmNoci5TIGIvc3lzZGVwcy9hYXJjaDY0L3N0cmNoci5TCmluZGV4IDVl M2FlY2YuLmM2NmZlYTMgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9z dHJjaHIuUworKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RyY2hyLlMKQEAgLTYy LDYgKzYyLDcgQEAKIC8qIExvY2FscyBhbmQgdGVtcG9yYXJpZXMuICAqLwog CiBFTlRSWSAoc3RyY2hyKQorCURFTE9VU0UgKDApCiAJbW92CXd0bXAyLCAj MHgwNDAxCiAJbW92awl3dG1wMiwgIzB4NDAxMCwgbHNsICMxNgogCWR1cAl2 cmVwY2hyLjE2YiwgY2hyaW4KZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2 NC9zdHJjaHJudWwuUyBiL3N5c2RlcHMvYWFyY2g2NC9zdHJjaHJudWwuUwpp bmRleCBhNjI0YzhkLi5jMmNjNDdlIDEwMDY0NAotLS0gYS9zeXNkZXBzL2Fh cmNoNjQvc3RyY2hybnVsLlMKKysrIGIvc3lzZGVwcy9hYXJjaDY0L3N0cmNo cm51bC5TCkBAIC02MCw2ICs2MCw3IEBACiAgICBpZGVudGlmeSBleGFjdGx5 IHdoaWNoIGJ5dGUgaXMgY2F1c2luZyB0aGUgdGVybWluYXRpb24uICAqLwog CiBFTlRSWSAoX19zdHJjaHJudWwpCisJREVMT1VTRSAoMCkKIAkvKiBNYWdp YyBjb25zdGFudCAweDQwMTAwNDAxIHRvIGFsbG93IHVzIHRvIGlkZW50aWZ5 IHdoaWNoIGxhbmUKIAkgICBtYXRjaGVzIHRoZSB0ZXJtaW5hdGlvbiBjb25k aXRpb24uICAqLwogCW1vdgl3dG1wMiwgIzB4MDQwMQpkaWZmIC0tZ2l0IGEv c3lzZGVwcy9hYXJjaDY0L3N0cmNtcC5TIGIvc3lzZGVwcy9hYXJjaDY0L3N0 cmNtcC5TCmluZGV4IGJhMGNjYjQuLjQ5ZTUyOGIgMTAwNjQ0Ci0tLSBhL3N5 c2RlcHMvYWFyY2g2NC9zdHJjbXAuUworKysgYi9zeXNkZXBzL2FhcmNoNjQv c3RyY21wLlMKQEAgLTQ5LDYgKzQ5LDggQEAKIAkvKiBTdGFydCBvZiBwZXJm b3JtYW5jZS1jcml0aWNhbCBzZWN0aW9uICAtLSBvbmUgNjRCIGNhY2hlIGxp bmUuICAqLwogRU5UUllfQUxJR04oc3RyY21wLCA2KQogCisJREVMT1VTRSAo MCkKKwlERUxPVVNFICgxKQogCWVvcgl0bXAxLCBzcmMxLCBzcmMyCiAJbW92 CXplcm9vbmVzLCAjUkVQOF8wMQogCXRzdAl0bXAxLCAjNwpkaWZmIC0tZ2l0 IGEvc3lzZGVwcy9hYXJjaDY0L3N0cmNweS5TIGIvc3lzZGVwcy9hYXJjaDY0 L3N0cmNweS5TCmluZGV4IDA2OTQxOTkuLjQ1ODA5ZTggMTAwNjQ0Ci0tLSBh L3N5c2RlcHMvYWFyY2g2NC9zdHJjcHkuUworKysgYi9zeXNkZXBzL2FhcmNo NjQvc3RyY3B5LlMKQEAgLTkxLDYgKzkxLDggQEAKICNkZWZpbmUgTUlOX1BB R0VfU0laRSAoMSA8PCBNSU5fUEFHRV9QMikKIAogRU5UUllfQUxJR04gKFNU UkNQWSwgNikKKwlERUxPVVNFICgwKQorCURFTE9VU0UgKDEpCiAJLyogRm9y IG1vZGVyYXRlbHkgc2hvcnQgc3RyaW5ncywgdGhlIGZhc3Rlc3Qgd2F5IHRv IGRvIHRoZSBjb3B5IGlzIHRvCiAJICAgY2FsY3VsYXRlIHRoZSBsZW5ndGgg b2YgdGhlIHN0cmluZyBpbiB0aGUgc2FtZSB3YXkgYXMgc3RybGVuLCB0aGVu CiAJICAgZXNzZW50aWFsbHkgZG8gYSBtZW1jcHkgb2YgdGhlIHJlc3VsdC4g IFRoaXMgYXZvaWRzIHRoZSBuZWVkIGZvcgpkaWZmIC0tZ2l0IGEvc3lzZGVw cy9hYXJjaDY0L3N0cmxlbi5TIGIvc3lzZGVwcy9hYXJjaDY0L3N0cmxlbi5T CmluZGV4IGEwNzgzNGIuLjVmYjY1M2EgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMv YWFyY2g2NC9zdHJsZW4uUworKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RybGVu LlMKQEAgLTg1LDYgKzg1LDggQEAKIAkgICBib3VuZGFyeS4gICovCiAKIEVO VFJZX0FMSUdOIChfX3N0cmxlbiwgNikKKwlERUxPVVNFICgwKQorCURFTE9V U0UgKDEpCiAJYW5kCXRtcDEsIHNyY2luLCBNSU5fUEFHRV9TSVpFIC0gMQog CW1vdgl6ZXJvb25lcywgUkVQOF8wMQogCWNtcAl0bXAxLCBNSU5fUEFHRV9T SVpFIC0gMTYKZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9zdHJuY21w LlMgYi9zeXNkZXBzL2FhcmNoNjQvc3RybmNtcC5TCmluZGV4IGY2YTE3ZmQu LjAyZGU5M2MgMTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zdHJuY21w LlMKKysrIGIvc3lzZGVwcy9hYXJjaDY0L3N0cm5jbXAuUwpAQCAtNTEsNiAr NTEsOSBAQAogI2RlZmluZSBlbmRsb29wCQl4MTUKIAogRU5UUllfQUxJR05f QU5EX1BBRCAoc3RybmNtcCwgNiwgNykKKwlERUxPVVNFICgwKQorCURFTE9V U0UgKDEpCisJREVMT1VTRSAoMikKIAljYnoJbGltaXQsIEwocmV0MCkKIAll b3IJdG1wMSwgc3JjMSwgc3JjMgogCW1vdgl6ZXJvb25lcywgI1JFUDhfMDEK ZGlmZiAtLWdpdCBhL3N5c2RlcHMvYWFyY2g2NC9zdHJubGVuLlMgYi9zeXNk ZXBzL2FhcmNoNjQvc3Rybmxlbi5TCmluZGV4IDRjY2U0NWYuLmFmNzY1ZjEg MTAwNjQ0Ci0tLSBhL3N5c2RlcHMvYWFyY2g2NC9zdHJubGVuLlMKKysrIGIv c3lzZGVwcy9hYXJjaDY0L3N0cm5sZW4uUwpAQCAtNTAsNiArNTAsOSBAQAog I2RlZmluZSBSRVA4XzgwIDB4ODA4MDgwODA4MDgwODA4MAogCiBFTlRSWV9B TElHTl9BTkRfUEFEIChfX3N0cm5sZW4sIDYsIDkpCisJREVMT1VTRSAoMCkK KwlERUxPVVNFICgxKQorCURFTE9VU0UgKDIpCiAJY2J6CWxpbWl0LCBMKGhp dF9saW1pdCkKIAltb3YJemVyb29uZXMsICNSRVA4XzAxCiAJYmljCXNyYywg c3JjaW4sICMxNQpkaWZmIC0tZ2l0IGEvc3lzZGVwcy9hYXJjaDY0L3N0cnJj aHIuUyBiL3N5c2RlcHMvYWFyY2g2NC9zdHJyY2hyLlMKaW5kZXggNDRjMTkx Ny4uZWEzNzk2OCAxMDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N0cnJj aHIuUworKysgYi9zeXNkZXBzL2FhcmNoNjQvc3RycmNoci5TCkBAIC02OCw2 ICs2OCw3IEBACiAgICBpZGVudGlmeSBleGFjdGx5IHdoaWNoIGJ5dGUgaXMg Y2F1c2luZyB0aGUgdGVybWluYXRpb24sIGFuZCB3aHkuICAqLwogCiBFTlRS WShzdHJyY2hyKQorCURFTE9VU0UgKDApCiAJY2J6CXgxLCBMKG51bGxfc2Vh cmNoKQogCS8qIE1hZ2ljIGNvbnN0YW50IDB4NDAxMDA0MDEgdG8gYWxsb3cg dXMgdG8gaWRlbnRpZnkgd2hpY2ggbGFuZQogCSAgIG1hdGNoZXMgdGhlIHJl cXVlc3RlZCBieXRlLiAgTWFnaWMgY29uc3RhbnQgMHg4MDIwMDgwMiB1c2Vk CmRpZmYgLS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvc3lzZGVwLmggYi9zeXNk ZXBzL2FhcmNoNjQvc3lzZGVwLmgKaW5kZXggZTA0NTc1OS4uMGE3ZGNjYiAx MDA2NDQKLS0tIGEvc3lzZGVwcy9hYXJjaDY0L3N5c2RlcC5oCisrKyBiL3N5 c2RlcHMvYWFyY2g2NC9zeXNkZXAuaApAQCAtMTYsOCArMTYsMjUgQEAKICAg IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90 LCBzZWUKICAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICov CiAKKyNpZm5kZWYgX0FBUkNINjRfU1lTREVQX0gKKyNkZWZpbmUgX0FBUkNI NjRfU1lTREVQX0gKKwogI2luY2x1ZGUgPHN5c2RlcHMvZ2VuZXJpYy9zeXNk ZXAuaD4KIAorI2lmZGVmIF9fTFA2NF9fCisjIGRlZmluZSBBQVJDSDY0X1Io TkFNRSkJUl9BQVJDSDY0XyAjIyBOQU1FCisjIGRlZmluZSBQVFJfUkVHKG4p CQl4IyNuCisjIGRlZmluZSBQVFJfTE9HX1NJWkUJCTMKKyMgZGVmaW5lIERF TE9VU0UobikKKyNlbHNlCisjIGRlZmluZSBBQVJDSDY0X1IoTkFNRSkJUl9B QVJDSDY0X1AzMl8gIyMgTkFNRQorIyBkZWZpbmUgUFRSX1JFRyhuKQkJdyMj bgorIyBkZWZpbmUgUFRSX0xPR19TSVpFCQkyCisjIGRlZmluZSBERUxPVVNF KG4pCQltb3YgICAgIHcjI24sIHcjI24KKyNlbmRpZgorCisjZGVmaW5lIFBU Ul9TSVpFCSgxPDxQVFJfTE9HX1NJWkUpCisKICNpZmRlZglfX0FTU0VNQkxF Ul9fCiAKIC8qIFN5bnRhY3RpYyBkZXRhaWxzIG9mIGFzc2VtYmxlci4gICov CkBAIC0xMDcsMTYgKzEyNCwxOCBAQAogIyBkZWZpbmUgTChuYW1lKSAgICAg ICAgIC5MIyNuYW1lCiAjZW5kaWYKIAotLyogTG9hZCBvciBzdG9yZSB0by9m cm9tIGEgcGMtcmVsYXRpdmUgRVhQUiBpbnRvL2Zyb20gUiwgdXNpbmcgVC4g ICovCi0jZGVmaW5lIExEU1RfUENSRUwoT1AsIFIsIFQsIEVYUFIpICBcCi0J YWRycAlULCBFWFBSOwkgICAgXAotCU9QCVIsIFtULCAjOmxvMTI6RVhQUl07 XAorLyogTG9hZCBvciBzdG9yZSB0by9mcm9tIGEgcGMtcmVsYXRpdmUgRVhQ UiBpbnRvL2Zyb20gUiwgdXNpbmcgVC4KKyAgIE5vdGUgUiBhbmQgVCBhcmUg cmVnaXN0ZXIgbnVtYmVycyBhbmQgbm90IHJlZ2lzdGVyIG5hbWVzLiAgKi8K KyNkZWZpbmUgTERTVF9QQ1JFTChPUCwgUiwgVCwgRVhQUikJCQlcCisJYWRy cAl4IyNULCBFWFBSOwkJCQlcCisJT1AJUFRSX1JFRyAoUiksIFt4IyNULCAj OmxvMTI6RVhQUl07CVwKIAotLyogTG9hZCBvciBzdG9yZSB0by9mcm9tIGEg Z290LXJlbGF0aXZlIEVYUFIgaW50by9mcm9tIFIsIHVzaW5nIFQuICAqLwot I2RlZmluZSBMRFNUX0dMT0JBTChPUCwgUiwgVCwgRVhQUikgICAgIFwKLQlh ZHJwCVQsIDpnb3Q6RVhQUjsJCVwKLQlsZHIJVCwgW1QsICM6Z290X2xvMTI6 RVhQUl07XAotCU9QCVIsIFtUXTsKKy8qIExvYWQgb3Igc3RvcmUgdG8vZnJv bSBhIGdvdC1yZWxhdGl2ZSBFWFBSIGludG8vZnJvbSBSLCB1c2luZyBULgor ICAgTm90ZSBSIGFuZCBUIGFyZSByZWdpc3RlciBudW1iZXJzIGFuZCBub3Qg cmVnaXN0ZXIgbmFtZXMuICAqLworI2RlZmluZSBMRFNUX0dMT0JBTChPUCwg UiwgVCwgIEVYUFIpCQkJXAorCWFkcnAJeCMjVCwgOmdvdDpFWFBSOwkJCVwK KwlsZHIJUFRSX1JFRyAoVCksIFt4IyNULCAjOmdvdF9sbzEyOkVYUFJdOwlc CisJT1AJUFRSX1JFRyAoUiksIFt4IyNUXTsKIAogLyogU2luY2UgQyBpZGVu dGlmaWVycyBhcmUgbm90IG5vcm1hbGx5IHByZWZpeGVkIHdpdGggYW4gdW5k ZXJzY29yZQogICAgb24gdGhpcyBzeXN0ZW0sIHRoZSBhc20gaWRlbnRpZmll ciBgc3lzY2FsbF9lcnJvcicgaW50cnVkZXMgb24gdGhlCkBAIC0xMjUsMyAr MTQ0LDUgQEAKICNkZWZpbmUgbWNvdW50CQlfbWNvdW50CiAKICNlbmRpZgkv KiBfX0FTU0VNQkxFUl9fICovCisKKyNlbmRpZiAgLyogX0FBUkNINjRfU1lT REVQX0ggKi8KZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4 L2FhcmNoNjQvYml0cy9mY250bC5oIGIvc3lzZGVwcy91bml4L3N5c3YvbGlu dXgvYWFyY2g2NC9iaXRzL2ZjbnRsLmgKaW5kZXggNjU4ZjY5Ni4uMTcxN2Mz NSAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2 NC9iaXRzL2ZjbnRsLmgKKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgv YWFyY2g2NC9iaXRzL2ZjbnRsLmgKQEAgLTI1LDExICsyNSwxNyBAQAogI2Rl ZmluZSBfX09fTk9GT0xMT1cJMDEwMDAwMAogI2RlZmluZSBfX09fRElSRUNU CTAyMDAwMDAKIAotI2RlZmluZSBfX09fTEFSR0VGSUxFCTAKKyNpZmRlZiBf X0lMUDMyX18KKyMgZGVmaW5lIF9fT19MQVJHRUZJTEUJMDQwMDAwMAorI2Vs c2UKKyMgZGVmaW5lIF9fT19MQVJHRUZJTEUJMAorI2VuZGlmCiAKKyNpZmRl ZiBfX0xQNjRfXwogIyBkZWZpbmUgRl9HRVRMSzY0CTUKICMgZGVmaW5lIEZf U0VUTEs2NAk2CiAjIGRlZmluZSBGX1NFVExLVzY0CTcKKyNlbmRpZgogCiBz dHJ1Y3QgZmxvY2sKICAgewpkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5 c3YvbGludXgvYWFyY2g2NC9jbG9uZS5TIGIvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvYWFyY2g2NC9jbG9uZS5TCmluZGV4IDc2YmFhN2EuLjIyMGVjMTEg MTAwNjQ0Ci0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQv Y2xvbmUuUworKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0 L2Nsb25lLlMKQEAgLTM5LDYgKzM5LDEzIEBACiAgKi8KICAgICAgICAgLnRl eHQKIEVOVFJZKF9fY2xvbmUpCisJREVMT1VTRSAoMCkKKwlERUxPVVNFICgx KQorCURFTE9VU0UgKDIpCisJREVMT1VTRSAoMykKKwlERUxPVVNFICg0KQor CURFTE9VU0UgKDUpCisJREVMT1VTRSAoNikKIAkvKiBTYXZlIGFyZ3MgZm9y IHRoZSBjaGlsZC4gICovCiAJbW92CXgxMCwgeDAKIAltb3YJeDExLCB4Mgpk aWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9k bC1jYWNoZS5oIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9k bC1jYWNoZS5oCmluZGV4IDljN2IyNzEuLjA0NGZkYmEgMTAwNjQ0Ci0tLSBh L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvZGwtY2FjaGUuaAor KysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2RsLWNhY2hl LmgKQEAgLTE4LDcgKzE4LDExIEBACiAKICNpbmNsdWRlIDxsZGNvbmZpZy5o PgogCisjaWZkZWYgX19MUDY0X18KICNkZWZpbmUgX0RMX0NBQ0hFX0RFRkFV TFRfSUQgICAgKEZMQUdfQUFSQ0g2NF9MSUI2NCB8IEZMQUdfRUxGX0xJQkM2 KQorI2Vsc2UKKyNkZWZpbmUgX0RMX0NBQ0hFX0RFRkFVTFRfSUQgICAgKEZM QUdfQUFSQ0g2NF9MSUIzMiB8IEZMQUdfRUxGX0xJQkM2KQorI2VuZGlmCiAK ICNkZWZpbmUgX2RsX2NhY2hlX2NoZWNrX2ZsYWdzKGZsYWdzKSAgICAgICAg ICAgICAgICAgICAgXAogICAoKGZsYWdzKSA9PSBfRExfQ0FDSEVfREVGQVVM VF9JRCkKQEAgLTI3LDE4ICszMSwyNSBAQAogICBkbwkJCQkJCQkJXAogICAg IHsJCQkJCQkJCVwKICAgICAgIHNpemVfdCBsZW4gPSBzdHJsZW4gKGRpcik7 CQkJCVwKLSAgICAgIGNoYXIgcGF0aFtsZW4gKyAzXTsJCQkJCVwKKyAgICAg IGNoYXIgcGF0aFtsZW4gKyA2XTsJCQkJCVwKICAgICAgIG1lbWNweSAocGF0 aCwgZGlyLCBsZW4gKyAxKTsJCQkJXAogICAgICAgaWYgKGxlbiA+PSA2ICYm ICEgbWVtY21wIChwYXRoICsgbGVuIC0gNiwgIi9saWI2NCIsIDYpKQlcCiAJ ewkJCQkJCQlcCiAJICBsZW4gLT0gMjsJCQkJCQlcCiAJICBwYXRoW2xlbl0g PSAnXDAnOwkJCQkJXAogCX0JCQkJCQkJXAorICAgICAgaWYgKGxlbiA+PSA5 ICYmICEgbWVtY21wIChwYXRoICsgbGVuIC0gOSwgIi9saWJpbHAzMiIsIDkp KVwKKwl7CQkJCQkJCVwKKwkgIGxlbiAtPSA1OwkJCQkJCVwKKwkgIHBhdGhb bGVuXSA9ICdcMCc7CQkJCQlcCisJfQkJCQkJCQlcCiAgICAgICBhZGRfZGly IChwYXRoKTsJCQkJCQlcCiAgICAgICBpZiAobGVuID49IDQgJiYgISBtZW1j bXAgKHBhdGggKyBsZW4gLSA0LCAiL2xpYiIsIDQpKQlcCiAJewkJCQkJCQlc CiAJICBtZW1jcHkgKHBhdGggKyBsZW4sICI2NCIsIDMpOwkJCQlcCiAJICBh ZGRfZGlyIChwYXRoKTsJCQkJCVwKKwkgIG1lbWNweSAocGF0aCArIGxlbiwg ImlscDMyIiwgNik7CQkJXAorCSAgYWRkX2RpciAocGF0aCk7CQkJCQlcCiAJ fQkJCQkJCQlcCiAgICAgfSB3aGlsZSAoMCkKIApkaWZmIC0tZ2l0IGEvc3lz ZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9nZXRjb250ZXh0LlMgYi9z eXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2dldGNvbnRleHQuUwpp bmRleCBjMmRkNWI4Li5mNmJmMjRmIDEwMDY0NAotLS0gYS9zeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9hYXJjaDY0L2dldGNvbnRleHQuUworKysgYi9zeXNk ZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L2dldGNvbnRleHQuUwpAQCAt MzAsNiArMzAsNyBAQAogCS50ZXh0CiAKIEVOVFJZKF9fZ2V0Y29udGV4dCkK KwlERUxPVVNFICgwKQogCS8qIFRoZSBzYXZlZCBjb250ZXh0IHdpbGwgcmV0 dXJuIHRvIHRoZSBnZXRjb250ZXh0KCkgY2FsbCBwb2ludAogCSAgIHdpdGgg YSByZXR1cm4gdmFsdWUgb2YgMCAqLwogCXN0cgl4enIsCSAgW3gwLCBvWDAg KyAgMCAqIFNaUkVHXQpAQCAtOTAsNyArOTEsNyBAQCBFTlRSWShfX2dldGNv bnRleHQpCiAKIAkvKiBHcmFiIHRoZSBzaWduYWwgbWFzayAqLwogCS8qIHJ0 X3NpZ3Byb2NtYXNrIChTSUdfQkxPQ0ssIE5VTEwsICZ1Y3AtPnVjX3NpZ21h c2ssIF9OU0lHOCkgKi8KLQlhZGQJeDIsIHgwLCAjVUNPTlRFWFRfU0lHTUFT SworCWFkZAlQVFJfUkVHICgyKSwgUFRSX1JFRyAoMCksICNVQ09OVEVYVF9T SUdNQVNLCiAJbW92CXgwLCBTSUdfQkxPQ0sKIAltb3YJeDEsIDAKIAltb3YJ eDMsIF9OU0lHOApkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGlu dXgvYWFyY2g2NC9pbml0LWZpcnN0LmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9hYXJjaDY0L2luaXQtZmlyc3QuYwppbmRleCBmNzIyNGEyLi5mN2Jm YzRkIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJj aDY0L2luaXQtZmlyc3QuYworKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51 eC9hYXJjaDY0L2luaXQtZmlyc3QuYwpAQCAtMjcsMTcgKzI3LDIxIEBAIGlu dCAoKlZEU09fU1lNQk9MKGNsb2NrX2dldHJlcykpIChjbG9ja2lkX3QsIHN0 cnVjdCB0aW1lc3BlYyAqKTsKIHN0YXRpYyBpbmxpbmUgdm9pZAogX2xpYmNf dmRzb19wbGF0Zm9ybV9zZXR1cCAodm9pZCkKIHsKLSAgUFJFUEFSRV9WRVJT SU9OIChsaW51eDI2MzksICJMSU5VWF8yLjYuMzkiLCAxMjM3MTg1MzcpOwor I2lmZGVmIF9fTFA2NF9fCisgIFBSRVBBUkVfVkVSU0lPTiAobGludXhfdmVy c2lvbiwgIkxJTlVYXzIuNi4zOSIsIDEyMzcxODUzNyk7CisjZWxzZQorICBQ UkVQQVJFX1ZFUlNJT04gKGxpbnV4X3ZlcnNpb24sICJMSU5VWF80LjkiLCA2 MTc2NTYyNSk7CisjZW5kaWYKIAotICB2b2lkICpwID0gX2RsX3Zkc29fdnN5 bSAoIl9fa2VybmVsX2dldHRpbWVvZmRheSIsICZsaW51eDI2MzkpOworICB2 b2lkICpwID0gX2RsX3Zkc29fdnN5bSAoIl9fa2VybmVsX2dldHRpbWVvZmRh eSIsICZsaW51eF92ZXJzaW9uKTsKICAgUFRSX01BTkdMRSAocCk7CiAgIFZE U09fU1lNQk9MKGdldHRpbWVvZmRheSkgPSBwOwogCi0gIHAgPSBfZGxfdmRz b192c3ltICgiX19rZXJuZWxfY2xvY2tfZ2V0dGltZSIsICZsaW51eDI2Mzkp OworICBwID0gX2RsX3Zkc29fdnN5bSAoIl9fa2VybmVsX2Nsb2NrX2dldHRp bWUiLCAmbGludXhfdmVyc2lvbik7CiAgIFBUUl9NQU5HTEUgKHApOwogICBW RFNPX1NZTUJPTChjbG9ja19nZXR0aW1lKSA9IHA7CiAKLSAgcCA9IF9kbF92 ZHNvX3ZzeW0gKCJfX2tlcm5lbF9jbG9ja19nZXRyZXMiLCAmbGludXgyNjM5 KTsKKyAgcCA9IF9kbF92ZHNvX3ZzeW0gKCJfX2tlcm5lbF9jbG9ja19nZXRy ZXMiLCAmbGludXhfdmVyc2lvbik7CiAgIFBUUl9NQU5HTEUgKHApOwogICBW RFNPX1NZTUJPTChjbG9ja19nZXRyZXMpID0gcDsKIH0KZGlmZiAtLWdpdCBh L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvbGRjb25maWcuaCBi L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQvbGRjb25maWcuaApp bmRleCBlZTkxZWY4Li5hYzg0MTk0IDEwMDY0NAotLS0gYS9zeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9hYXJjaDY0L2xkY29uZmlnLmgKKysrIGIvc3lzZGVw cy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9sZGNvbmZpZy5oCkBAIC0yMSw2 ICsyMSw4IEBACiAjZGVmaW5lIFNZU0RFUF9LTk9XTl9JTlRFUlBSRVRFUl9O QU1FUyBcCiAgIHsgIi9saWIvbGQtbGludXgtYWFyY2g2NC5zby4xIiwgRkxB R19FTEZfTElCQzYgfSwgXAogICB7ICIvbGliL2xkLWxpbnV4LWFhcmNoNjRf YmUuc28uMSIsIEZMQUdfRUxGX0xJQkM2IH0sIFwKKyAgeyAiL2xpYi9sZC1s aW51eC1hYXJjaDY0X2lscDMyLnNvLjEiLCBGTEFHX0VMRl9MSUJDNiB9LCBc CisgIHsgIi9saWIvbGQtbGludXgtYWFyY2g2NF9iZV9pbHAzMi5zby4xIiwg RkxBR19FTEZfTElCQzYgfSwgXAogICB7ICIvbGliL2xkLWxpbnV4LnNvLjMi LCBGTEFHX0VMRl9MSUJDNiB9LCBcCiAgIHsgIi9saWIvbGQtbGludXgtYXJt aGYuc28uMyIsIEZMQUdfRUxGX0xJQkM2IH0sCiAjZGVmaW5lIFNZU0RFUF9L Tk9XTl9MSUJSQVJZX05BTUVTIFwKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2FhcmNoNjQvc2V0Y29udGV4dC5TIGIvc3lzZGVwcy91 bml4L3N5c3YvbGludXgvYWFyY2g2NC9zZXRjb250ZXh0LlMKaW5kZXggZDE3 ZjhjOC4uYzJiY2EyNiAxMDA2NDQKLS0tIGEvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvYWFyY2g2NC9zZXRjb250ZXh0LlMKKysrIGIvc3lzZGVwcy91bml4 L3N5c3YvbGludXgvYWFyY2g2NC9zZXRjb250ZXh0LlMKQEAgLTM0LDYgKzM0 LDcgQEAKIAkudGV4dAogCiBFTlRSWSAoX19zZXRjb250ZXh0KQorCURFTE9V U0UgKDApCiAJLyogU2F2ZSBhIGNvcHkgb2YgVUNQLiAgKi8KIAltb3YJeDks IHgwCiAKZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Fh cmNoNjQvc2lnY29udGV4dGluZm8uaCBiL3N5c2RlcHMvdW5peC9zeXN2L2xp bnV4L2FhcmNoNjQvc2lnY29udGV4dGluZm8uaAppbmRleCBhNTc5NTAxLi5l ZTU0MjIyIDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9h YXJjaDY0L3NpZ2NvbnRleHRpbmZvLmgKKysrIGIvc3lzZGVwcy91bml4L3N5 c3YvbGludXgvYWFyY2g2NC9zaWdjb250ZXh0aW5mby5oCkBAIC0xOSw3ICsx OSw3IEBACiAjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+CiAKICNkZWZpbmUg U0lHQ09OVEVYVCBzaWdpbmZvX3QgKl9zaSwgc3RydWN0IHVjb250ZXh0ICoK LSNkZWZpbmUgR0VUX1BDKGN0eCkgKCh2b2lkICopIChjdHgpLT51Y19tY29u dGV4dC5wYykKKyNkZWZpbmUgR0VUX1BDKGN0eCkgKCh2b2lkICopIChzaXpl X3QpIChjdHgpLT51Y19tY29udGV4dC5wYykKIAogLyogVGhlcmUgaXMgbm8g cmVsaWFibGUgd2F5IHRvIGdldCB0aGUgc2lnY29udGV4dCB1bmxlc3Mgd2Ug dXNlIGEKICAgIHRocmVlLWFyZ3VtZW50IHNpZ25hbCBoYW5kbGVyLiAgKi8K ZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNoNjQv c3dhcGNvbnRleHQuUyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNo NjQvc3dhcGNvbnRleHQuUwppbmRleCBjMWExNmYzLi44ZTJjYWRkIDEwMDY0 NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L3N3YXBj b250ZXh0LlMKKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2 NC9zd2FwY29udGV4dC5TCkBAIC0yNyw2ICsyNyw3IEBACiAKIAkudGV4dAog RU5UUlkoX19zd2FwY29udGV4dCkKKwlERUxPVVNFICgwKQogCS8qIFNldCB0 aGUgdmFsdWUgcmV0dXJuZWQgd2hlbiBzd2FwY29udGV4dCgpIHJldHVybnMg aW4gdGhpcyBjb250ZXh0LiAqLwogCXN0cgl4enIsICAgICAgW3gwLCBvWDAg KyAgMCAqIFNaUkVHXQogCmRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lz di9saW51eC9hYXJjaDY0L3N5c2RlcC5oIGIvc3lzZGVwcy91bml4L3N5c3Yv bGludXgvYWFyY2g2NC9zeXNkZXAuaAppbmRleCBhMzk3ZTUwLi4xZmZhYmMy IDEwMDY0NAotLS0gYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0 L3N5c2RlcC5oCisrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FhcmNo NjQvc3lzZGVwLmgKQEAgLTI1MCwxMiArMjUwLDE0IEBACiAgICAgICghZGVm aW5lZCBTSEFSRUQgJiYgKElTX0lOIChsaWJjKSBcCiAJCQkgIHx8IElTX0lO IChsaWJwdGhyZWFkKSkpKQogIyBpZmRlZiBfX0FTU0VNQkxFUl9fCisvKiBO b3RlLCBkc3QsIHNyYywgZ3VhcmQsIGFuZCB0bXAgYXJlIGFsbCByZWdpc3Rl ciBudW1iZXJzIHJhdGhlciB0aGFuCisgICByZWdpc3RlciBuYW1lcyBzbyB0 aGV5IHdpbGwgd29yayB3aXRoIGJvdGggSUxQMzIgYW5kIExQNjQuICovCiAj ICBkZWZpbmUgUFRSX01BTkdMRShkc3QsIHNyYywgZ3VhcmQsIHRtcCkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgTERTVF9QQ1JFTCAo bGRyLCBndWFyZCwgdG1wLCBDX1NZTUJPTF9OQU1FKF9fcG9pbnRlcl9jaGtf Z3VhcmRfbG9jYWwpKTsgXAogICBQVFJfTUFOR0xFMiAoZHN0LCBzcmMsIGd1 YXJkKQogLyogVXNlIFBUUl9NQU5HTEUyIGZvciBlZmZpY2llbmN5IGlmIGd1 YXJkIGlzIGFscmVhZHkgbG9hZGVkLiAgKi8KICMgIGRlZmluZSBQVFJfTUFO R0xFMihkc3QsIHNyYywgZ3VhcmQpXAotICBlb3IgZHN0LCBzcmMsIGd1YXJk CisgIGVvciB4IyNkc3QsIHgjI3NyYywgeCMjZ3VhcmQKICMgIGRlZmluZSBQ VFJfREVNQU5HTEUoZHN0LCBzcmMsIGd1YXJkLCB0bXApXAogICBQVFJfTUFO R0xFIChkc3QsIHNyYywgZ3VhcmQsIHRtcCkKICMgIGRlZmluZSBQVFJfREVN QU5HTEUyKGRzdCwgc3JjLCBndWFyZClcCkBAIC0yNjgsMTIgKzI3MCwxNCBA QCBleHRlcm4gdWludHB0cl90IF9fcG9pbnRlcl9jaGtfZ3VhcmRfbG9jYWwg YXR0cmlidXRlX3JlbHJvIGF0dHJpYnV0ZV9oaWRkZW47CiAjIGVuZGlmCiAj ZWxzZQogIyBpZmRlZiBfX0FTU0VNQkxFUl9fCisvKiBOb3RlLCBkc3QsIHNy YywgZ3VhcmQsIGFuZCB0bXAgYXJlIGFsbCByZWdpc3RlciBudW1iZXJzIHJh dGhlciB0aGFuCisgICByZWdpc3RlciBuYW1lcyBzbyB0aGV5IHdpbGwgd29y ayB3aXRoIGJvdGggSUxQMzIgYW5kIExQNjQuICovCiAjICBkZWZpbmUgUFRS X01BTkdMRShkc3QsIHNyYywgZ3VhcmQsIHRtcCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgTERTVF9HTE9CQUwgKGxkciwgZ3VhcmQsIHRt cCwgQ19TWU1CT0xfTkFNRShfX3BvaW50ZXJfY2hrX2d1YXJkKSk7ICAgXAog ICBQVFJfTUFOR0xFMiAoZHN0LCBzcmMsIGd1YXJkKQogLyogVXNlIFBUUl9N QU5HTEUyIGZvciBlZmZpY2llbmN5IGlmIGd1YXJkIGlzIGFscmVhZHkgbG9h ZGVkLiAgKi8KICMgIGRlZmluZSBQVFJfTUFOR0xFMihkc3QsIHNyYywgZ3Vh cmQpXAotICBlb3IgZHN0LCBzcmMsIGd1YXJkCisgIGVvciB4IyNkc3QsIHgj I3NyYywgeCMjZ3VhcmQKICMgIGRlZmluZSBQVFJfREVNQU5HTEUoZHN0LCBz cmMsIGd1YXJkLCB0bXApXAogICBQVFJfTUFOR0xFIChkc3QsIHNyYywgZ3Vh cmQsIHRtcCkKICMgIGRlZmluZSBQVFJfREVNQU5HTEUyKGRzdCwgc3JjLCBn dWFyZClcCg== --=-5ooojnu/SkVlaqFCkjGo--