From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 1683A384AB58 for ; Fri, 3 May 2024 14:34:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1683A384AB58 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1683A384AB58 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=148.163.156.1 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714746863; cv=fail; b=FYBu9vZvzb4+/t6eZiSV14TpH032r4t7QHKKYDzYvL3TczW4M0U4fKGNrXqcqSEJiZJqrpv+hpGjKXCO4oFqqsYaHrBgBfPT1dQkk7sIC4ikF3F5Qs9GJgdhFC0A7bAbtd1aMFWqQYGd/i2kstAQi39zb3tCWh8PqPhrmn+xryU= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714746863; c=relaxed/simple; bh=IyUv9eadH5WCoNAcyA+DgwAp4W6kDsbLErZLUplcQb8=; h=DKIM-Signature:From:To:Date:Message-ID:MIME-Version:Subject; b=AUOkP7db5x1m1Ud5jBfB/RbmUZwyK6f8GlTOn7Zu4wX2rIYFeSXrDhk8q6zxGUctRWX9eatBnqHtG1MLVvwjWLNT8b5L8b4Jw5lRq/JpUCPyb57APkAx7QpMbsQzmmD6cNcP5IfkUXMLyJjA772Q0UZ6J9wPUIMOXy9lvsh5UE0= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 443ER6m9013486; Fri, 3 May 2024 14:34:15 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : date : message-id : references : in-reply-to : content-type : mime-version : subject; s=pp1; bh=IyUv9eadH5WCoNAcyA+DgwAp4W6kDsbLErZLUplcQb8=; b=RM7WtxPjIcE5Mrd8niEUelzAiFe1ibADx/FAe52dXX11bzJ3zxQUyqXYMdXHmbovlXZ+ PRbMyl2NOkD4VUuue3eq3xETTNl2cav7eOlkGfDY7P4wafM03lXXNV6AWjhNsDhrT5Dh 6uknhgmSjpZyWkNIk3wxKdi9g4k2Mwt0W35ysmzFljD0lOoR1VFoJvAULn+JrR5aoXuI gp2GCZ3pHGZpnGVBYQBJALSas8szdNzPuFeb6UyKTT2J0pxZipAPnRlPpZyvnHSZSKZE 8036poeuoAo/7f/qfNNkl7bW349Uu/qXB13Ks7JYWaE5JnKrp6HM3EIFnnNgsdxbhhjR nQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xw1ptr0hf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 03 May 2024 14:34:14 +0000 Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 443EVMWd020277; Fri, 3 May 2024 14:34:13 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2173.outbound.protection.outlook.com [104.47.58.173]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xw1ptr0hc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 03 May 2024 14:34:13 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lxUVtgPD0wcdfIieABHjlqy3PWgY9cQTOUsmhVnhGRZ4bVjzRO6TKYFxdS89KeT+6/ViY+8VZLq2+lzo/o5f74WGz9X7NBIaF/B97I3U3mdDNTKWenT+C9isH1ykN0xLvx3h6/4Lc6s2VuAS0f7S9i0n8TXX9d19N3I3OJs9aLp2wugz0OQhuoCmO1uEhkfIkNzZl7xuxWtrEctbGmcygnY7hOiOnk7St3jT8OF+ouI28IXPcZ7iQM8jHrnj8jX8E7GR/RvWpNNFXlHUqgNeGrl8dQV6ekkcsGKLCcofJVOuhod+5mLjAaA1okhd1zrnytReibD/kFGVUMunqLLmyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IyUv9eadH5WCoNAcyA+DgwAp4W6kDsbLErZLUplcQb8=; b=Gbbn4PeDGqMIOj8ixJZxN1h8bmSUtzhv5l2LjyfWqB5wsESDJadeOZAtp2PFSDs1JKCn3vKDYOUQlO3OyVCNg6tjxw8hiPGZGoabDG/cD9pDzlGYc+RRe4iHvPwty/TdXEBd2Gim2ryeuI4Zz/k78JMCycqH6zw8M+1k39toGubE1UjIV3SGQqWZjBrEXUh9TTv6Xy0dvtfVDZUNqcY73osi4xJyQuArvwnChVvcLF5UdBhjcaK9xKNTYvl496LIOlASbslX+dKFdsx00hayp/nWIHaazT+sqgsT90Z1+dSvj8QPHER7zkfoZWfMqJPEqV03Psz5IaplyuePKCA6Pg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by BLAPR15MB3905.namprd15.prod.outlook.com (2603:10b6:208:271::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.33; Fri, 3 May 2024 14:34:10 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::86ba:f8f8:c478:6919]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::86ba:f8f8:c478:6919%3]) with mapi id 15.20.7544.029; Fri, 3 May 2024 14:34:10 +0000 From: Aditya Kamath1 To: Aditya Vidyadhar Kamath , "tom@tromey.com" CC: Ulrich Weigand , "gdb-patches@sourceware.org" , Sangamesh Mallayya , "jhb@FreeBSD.org" Thread-Topic: [EXTERNAL] [PATCH v4] Fix AIX thread exit events not being reported and UI to show kernel thread ID. Thread-Index: AQHanWYFADnYVIfNrE20RWsAAgkN4bGFkVeP Date: Fri, 3 May 2024 14:34:10 +0000 Message-ID: References: <20240503142610.27676-1-akamath996@gmail.com> In-Reply-To: <20240503142610.27676-1-akamath996@gmail.com> Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|BLAPR15MB3905:EE_ x-ms-office365-filtering-correlation-id: b022a7c5-426e-4bc2-2240-08dc6b7e187d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|376005|366007|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?M1dlRnVlNzhzV2JPazhIclBqc0VYcTVIc2FBUTczNW1TUmxVRWlxcUJaZkZm?= =?utf-8?B?ZVAvaEJ5ckNrdW9IcHZrSWxGRi9EZ3dERzZZLzQxa3ZGN29EQ3R2OWF2S0p3?= =?utf-8?B?UmZicjc4Uk9OTndiRFdWTmt6Vml6c2RneVVZN014TG05R0sxak56ZVhYUWlr?= =?utf-8?B?YVp3QnVkUHRBTUNYRnlFdENHT09LbzdpTm53VmlxbTZNRnRRb3kvUkxJWEZy?= =?utf-8?B?K041d0IvQlllVVN1dmtKRkNsMHJVRXFUMVJqQXZHUnRCWjNLM3YyWG5URlEz?= =?utf-8?B?bHFUOGVCRTU1SGwxMUcxQXJSVWtOdGVzK2VBOGJJTTFMbHhVcHhtN1NBS213?= =?utf-8?B?Q2wvWWJVcEpwWEx4a09YT1lXNHpGN0NXZ3lQQTI3SW8yMkhsb01jU0VTKzd4?= =?utf-8?B?NlI0QWI5VmQ4eE1Mb1oyeGZVSExIY3NnZG5ydVR0OUNYcm51QTdWK1VObDNs?= =?utf-8?B?eU9YcENmaXBPOG9VaWd6NmZXRHlETk5lbkdWa3Nwa2JobUl5bU9KWGk0aUpo?= =?utf-8?B?UjlCYTArUjBuM3Zyb2tHSHF4Zm54S2Rid1dJYlRJQzBmVituejR5UG9jK2VW?= =?utf-8?B?bGpjVTVtVW5NQ21nTk1pb0I1SmxaWmhITk5xdllHc2l6SzVRK0J5azBKTEdx?= =?utf-8?B?QkFzWis4V0VhYWRtS2VGZG5ybVljMk1GNUIwakxScEN3YkFaMjh2N1M2QWVy?= =?utf-8?B?Qml1cm5kQnNCZXhDV2k5RW5YRHY0bUJmd2U1SFV6UnRxbzhlUVdNa1JvSUlN?= =?utf-8?B?RmhPdDN0WnYvMUlVMlhhTHFRc0xjTXRseGhFbjRtcUhEclhnVEcrVzI0TmIy?= =?utf-8?B?Z3FVdSs4RWxDdW9tR210d3BnVFFRSWNQVHJ1Yk9jRE1BbCtjaHFrT05lZVRU?= =?utf-8?B?cGl2VlJjeUEvNnMzSXVCVjdCSDBnZE9yNDQ5ZHlLY0h2L3NmMGVQTUFmN0Rx?= =?utf-8?B?N1o4Ujl5ck5uRmc0cXRQSEtvbnArMU0zK1prS28vR0lCendYb1lFNmx5MHlW?= =?utf-8?B?ZVZMOWc5T3pLWHlQVWJMaWhmRkJXQTgwdzJ0YVA2azFtTitNNGZ3dGpKa3BJ?= =?utf-8?B?aEtzQjc0OVo4dG52dHByV0tpeGpLNkIyYy9NRGZUWUo3U0hRc1BhQ083YXdQ?= =?utf-8?B?MmpoV1FIT09IZUNIbmpRMWcrM3AvWjY1K290dmsraVYyV1FtMG1qWEVXcmtX?= =?utf-8?B?aUZlWnhncG1lVVBzYS83bm1oZW1LeG1VNkxRQThVbDQ2eGRURjBJMWtzcGFK?= =?utf-8?B?bjFIdWNuTHlZRkRuc1Bpa2xPVVJxKzdkOG0xemlPOTJYc2xidWhTSTJyME1K?= =?utf-8?B?eUVPNi94aEc3Si9wWVlLZWpGRitnQVVvcGY5ZG1vVlV1dFNwdFpyakh1WVE4?= =?utf-8?B?anZKYm9Kcjh1cWQwU091Wko5Z2xSdjFMMlR4bGxsUDRmaEVYRjV6WU5JbER3?= =?utf-8?B?K0pHcENEVFlDSmljU0tuc3RXMGh2RmsrVGFzOUtmaGdzYWRMZUg3TzBXaURj?= =?utf-8?B?elU3MWFhLzJIYjlQUFV1VGk5dXRRTHJwQVFmVW9pc2kxc1hlc1pwN2Zsek90?= =?utf-8?B?eityOU1IaFNsK3E2UUVHaEJaTWtDaUVQU3h3ZC96ZDRWcWtuT3FhUTFGRUsx?= =?utf-8?B?cytsaThSSHFRSmRESGNqYVgwUVdTV0hwNXhwTXNoenQ2RnRiaENYVEpSMHpQ?= =?utf-8?B?a3NRbk4xSHJaNk80ZFFteU9qVnBtTjVBQVYycCthODVpTkZPWUdxMDZBPT0=?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR15MB3544.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RDFLWkJCaE45aVpJYmdxWU1TcDRqb3FSM2UzaC9XSXB5R0Z1Uld6NnhUNmY0?= =?utf-8?B?cXlsQWtLOG1heXZiYmt2Ky9TSkxaVHFCelJYckk5YTZXL1hvdGVxVzNXVzdm?= =?utf-8?B?Z1RRVUlBQmJtZGpnSjkzaDFCNXQ2TkdEbTdOaFVWcVlmZy9Cb1M2K1R1TWZw?= =?utf-8?B?YVZucjUwUE9KdmNQVE1LZXIvVEIxK04zdGo1K0hva3prbE1IMW1zLzJkMGNk?= =?utf-8?B?ZjBOYmtGU1JENHVPMkNOUGY2ckdDcGhNQVdPNUR2d0tBVWdMVE94T01wTHRB?= =?utf-8?B?T3JYSGFydElLSURoSHVWSm1ETWxBcmthcmhtZTA1Q1VJZkIvSkhXY0grN0RX?= =?utf-8?B?SUMyTWpDYldsUDNpdDRiN1dPRzZoTEhmYlkybDBxdDQycHhqWmFZVDgyU0FQ?= =?utf-8?B?cVFvd1hRKzlwNjI4NzRkUW4wTVFVNHgwcGRTNHFlN3hOVVJuOSs3a3hkZjlJ?= =?utf-8?B?dUdUVEtIcE9Xdm5KSlZzS0prVHg1L0dHalRkeEZLNGVrU1lyaXBJZVpjVXdw?= =?utf-8?B?TDZDMUg4RFRmK29qdFhSdVo0VWg4elNabzljbkJESTR6U2RGK2cycW9kdlg1?= =?utf-8?B?QTE3dE9hNEtuMXVXamM4YzQ0WlJiMEVVU2dYWXJ0eVhWV1d0MkFmSW5vRkQ2?= =?utf-8?B?WFM1QTlaSGR4Z0pxbUR0UFpXV1NaSDU0QkFOS0pic01nRjBsekxYbm5Bbm9Z?= =?utf-8?B?NlJwM1pJaDZpVjJkalB2YVg5MGNRdWNDZ0lFNmlWU3VuVCsxZlR6M2wyYUpF?= =?utf-8?B?U1FtS2VnSW5XdU8zeFFEcGFOWnRKQXJVMndUY080YTJXM3JYVFRSUFkvZTBX?= =?utf-8?B?dXRHSSt4REZTR01qVGVkc3krMnJPNXF5VG1vYzYvblFhZzNoSjlPZ2pCQ205?= =?utf-8?B?UXczSyt5TTlQc1pSWVlpVTNDOXpyVEFydGwyNnM1WnlVaVlERm1oOUZZcTdE?= =?utf-8?B?cjU5RFNmeHZ0akNza1poTERRYXJNN1pRSUM3UHlrQmt3QlhxVXhyVUlwcUIw?= =?utf-8?B?MlJLcUM5c1FPU1J1Uk9tZTcxZDI0amZ6czR3RXhmVENrTHkzMXFmRm91Ly9l?= =?utf-8?B?cHNua2tpVnBJOC9YSXFVQ3Q0UVM4VDg2ckRKampVb2wxS0ZjZHhMakZMWmlZ?= =?utf-8?B?M0U3NHA4OW8zQjR5RExRdU1HdFBvK3p6cG1XVEpsdWs0dWVjdTJRTCtQY0Rw?= =?utf-8?B?L1BQUWlkQlZCeTdXQWF1THRSVVlpMGQ4OC9wU3U2L2pXWG82SkRzUU5jSFU0?= =?utf-8?B?R3dYYXlsZ2ZZUjRDNHFYNzE4c1JaTUMySlFucWJFMVZOR3lsU2xDdEdJR3dK?= =?utf-8?B?YzRlb003dEdPRGRnQTAzRmF0ZlFXVjMzdEVtQUlkbTFCTXpQT0lkUTJsQkgz?= =?utf-8?B?ak5jM00za1hjVit6SUt2cGVGcFhDeFkwc2trNldaOWZPOFpkNWt5ODhqMExX?= =?utf-8?B?TGZNNGJkc2hrRmcwR01CdUVmOEpZVjZja2ovL0RVT2swVVdQK05rTkVyYTQx?= =?utf-8?B?dU40ZEtFeGMrMlRuYlJ6U1JhdGdSZTQrWmd3TXlTdG5mNGZSbzFFb2dKa0Vr?= =?utf-8?B?ckoyakZLRDdnY09YR203OHJwVjhvKzF4bC8wRnRENnNTaVZjU01pcUVBTzVi?= =?utf-8?B?TnBxTmt4d09TeUo5SDI5eEVZSFMxUWxSNHFxYlBGcU5WWHZ2OUsvNFRIRXFX?= =?utf-8?B?MFB3dTJXRUhmUTdMbit3OWJEaS9XbWlDa0NwK3BsT3NoMjJzL1lxR0FGdUpE?= =?utf-8?B?bXRzSjZ3eHl4T1R2dExMVDQvUkJhS25BL1ZrMXRzUTRadDhGOVRrOVJvU05G?= =?utf-8?B?WWNMT1VMTlBuOTJmMjN3TW1sYTNTYjUyYk05dUJyRzJhSzdocGFpMGkwOHc1?= =?utf-8?B?anZ6TWVuTGVqS2IwWkFzR2VTUkE3elhvd01FSy9kTHpLaE5DcVdhdUFaTndu?= =?utf-8?B?YVlnMzFQSHN0YXRMM29sNTlwK3NqVGE1QkNxU3dGK1dzSlZTR2o5dy92RVQ0?= =?utf-8?B?S0FHc0NwYlRqbkkrV3ZoZ3Z1VVJHNGRDeWRFNDU4VGtrN2xZWWNna2FQdVhV?= =?utf-8?B?c0VaOE11Z1p4Y05LMzZZckJEbUd3WlgzR2FNWEx2eHBTR0lCQ0g3MGZpOVkv?= =?utf-8?B?U3MxWmEwVkV2bWtTWm9LZ0hyMGI1WFdBWldvWUtSYW9IbmFSd2g4ZEV1SDZa?= =?utf-8?B?UEpLRHZ6Zmt6cWJkSFZKU3k3MEZUeDM4TldBcm5zWGM2TFVtbkNlNFlvMW0z?= =?utf-8?B?Q1ROYjY1MDM4cDFWK1BqOUFnZnp3PT0=?= Content-Type: multipart/alternative; boundary="_000_CH2PR15MB35444796084FB1E144E996CED61F2CH2PR15MB3544namp_" X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b022a7c5-426e-4bc2-2240-08dc6b7e187d X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2024 14:34:10.0612 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Rp1oCc/KAihF1R8rxUz78nfRyRNf7qc+zhhUcHPs5fXGPLUlhMh2z7V18Ug2GH3pX1goT/vuV0YEyvVgiGxBWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR15MB3905 X-Proofpoint-GUID: Hp6wW4NGf_elO8xobqzgcrQ_UBtzbR_r X-Proofpoint-ORIG-GUID: sBPsW1UMpb4Cy1ZSqtoTh4ioV696qGIs X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 Subject: Re: [PATCH v4] Fix AIX thread exit events not being reported and UI to show kernel thread ID. X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-03_09,2024-05-03_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 phishscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 bulkscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2405030103 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_CH2PR15MB35444796084FB1E144E996CED61F2CH2PR15MB3544namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmVzcGVjdGVkIGNvbW11bml0eSBtZW1iZXJzLA0KDQpQbGVhc2UgY2hlY2sg b3V0IHRoZSB2NCBvZiB0aGlzIHBhdGNoIGFuZCByZXZpZXcgdGhlIHNhbWUu DQoNClRoYW5rIHlvdSBmb3IgdGhlIGZlZWRiYWNrIHNvIGZhci4NCg0KVGhp cyBwYXRjaCB3b3Jrcy4NCg0KS2luZGx5IGxldCBtZSBrbm93IGlmIGFueSBj aGFuZ2VzLiBUZXN0IGNhc2VzIGNoYW5nZXMgYWxzbyBpcyBkb25lIGluIHRo aXMgcGF0Y2ggaXRzZWxmLg0KDQpLaW5kbHkgcHVzaCB0aGlzIHBhdGNoIGlm IHRoZXJlIGFyZSBubyBjaGFuZ2VzIG5lZWRlZC4NCg0KSGF2ZSBhIG5pY2Ug ZGF5IGFoZWFkLg0KDQpUaGFua3MgYW5kIHJlZ2FyZHMsDQpBZGl0eWEuDQoN Cg0KDQpHZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLmV4cCB0ZXN0IGNhc2Ug cmVzdWx0IGFmdGVyIHRoaXMgcGF0Y2gNCg0KPT09IGdkYiBTdW1tYXJ5ID09 PQ0KDQojIG9mIGV4cGVjdGVkIHBhc3NlcyAgICAgICAgICAgIDExDQovY3Vy cmVudF9nZGIvYmludXRpbHMtZ2RiL2dkYi9nZGIgdmVyc2lvbiAgMTUuMC41 MC4yMDI0MDMyNS1naXQgLW53IC1ueCAtcSAtaWV4ICJzZXQgaGVpZ2h0IDAi IC1pZXggInNldCB3aWR0aCAwIiAtZGF0YS1kaXJlY3RvcnkgL2N1cnJlbnRf Z2RiL2JpbnV0aWxzLWdkYi9nZGIvZGF0YS1kaXJlY3RvcnkNCg0KT3V0cHV0 IG9mIHByb2dyYW0gMShQcm9ncmFtIDEgUGFzdGVkIGJlbG93IHRoaXMgZW1h aWwpDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSB0ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvdGhyZWFkX2V2ZW50cy4uLg0KKGdkYikgYiBtYWluDQpCcmVha3BvaW50 IDEgYXQgMHgxMDAwMDdkYzogZmlsZSBnZGIudGhyZWFkcy90aHJlYWRfZXZl bnRzLmMsIGxpbmUgNDEuDQooZ2RiKSByDQpTdGFydGluZyBwcm9ncmFtOiAv Y3VycmVudF9nZGIvYmludXRpbHMtZ2RiL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGhyZWFkX2V2ZW50cw0KDQpCcmVha3BvaW50IDEsIG1haW4gKGFy Z2M9MSwgYXJndj0weDJmZjIyOTQwKSBhdCBnZGIudGhyZWFkcy90aHJlYWRf ZXZlbnRzLmM6NDENCjQxICAgICAgICBpZiAocHRocmVhZF9jcmVhdGUgKCZ0 aHJlYWQsIE5VTEwsIHRocmVhZGZ1bmMsIE5VTEwpICE9IDApDQooZ2RiKSBi IHRocmVhZGZ1bmMNCkJyZWFrcG9pbnQgMiBhdCAweDEwMDAwNzE4OiBmaWxl IGdkYi50aHJlYWRzL3RocmVhZF9ldmVudHMuYywgbGluZSAyNy4NCihnZGIp IGIgYWZ0ZXJfam9pbl9mdW5jDQpCcmVha3BvaW50IDMgYXQgMHgxMDAwMDc3 ODogZmlsZSBnZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLmMsIGxpbmUgMzQu DQooZ2RiKSBjDQpDb250aW51aW5nLg0KW05ldyBUaHJlYWQgMjU4ICh0aWQg MjQ5Njk2MzEpXQ0KW1N3aXRjaGluZyB0byBUaHJlYWQgMjU4ICh0aWQgMjQ5 Njk2MzEpXQ0KDQpUaHJlYWQgMiBoaXQgQnJlYWtwb2ludCAyLCB0aHJlYWRm dW5jIChhcmc9MHgwKSBhdCBnZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLmM6 MjcNCjI3ICAgICAgICBwcmludGYgKCJpbiB0aHJlYWRmdW5jXG4iKTsNCihn ZGIpDQpDb250aW51aW5nLg0KaW4gdGhyZWFkZnVuYw0KW1RocmVhZCAyNTgg KHRpZCAyNDk2OTYzMSkgZXhpdGVkXQ0KW1N3aXRjaGluZyB0byBUaHJlYWQg MSAodGlkIDM0MzQxMTM3KV0NCg0KVGhyZWFkIDEgaGl0IEJyZWFrcG9pbnQg MywgYWZ0ZXJfam9pbl9mdW5jICgpIGF0IGdkYi50aHJlYWRzL3RocmVhZF9l dmVudHMuYzozNA0KMzQgICAgICAgIHByaW50ZiAoImZpbmlzaGVkXG4iKTsN CihnZGIpIGluZm8gdGhyZWFkcw0KICBJZCAgIFRhcmdldCBJZCAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZyYW1lDQoqIDEgICAgVGhyZWFkIDEgKHRp ZCAzNDM0MTEzNykgKFtydW5uaW5nXSkgYWZ0ZXJfam9pbl9mdW5jICgpIGF0 IGdkYi50aHJlYWRzL3RocmVhZF9ldmVudHMuYzozNA0KKGdkYikgYw0KQ29u dGludWluZy4NCmZpbmlzaGVkDQpbVGhyZWFkIDEgKHRpZCAzNDM0MTEzNykg ZXhpdGVkXQ0KW0luZmVyaW9yIDEgKHByb2Nlc3MgMTEzMzgxMjIpIGV4aXRl ZCBub3JtYWxseV0NCihnZGIpIHENCg0KUHJvZ3JhbSAxOg0KDQovKiAgIFRo aXMgZmlsZSB3YXMgd3JpdHRlbiBieSBDaHJpcyBEZW1ldHJpb3UgKGNnZEBn b29nbGUuY29tPG1haWx0bzpjZ2RAZ29vZ2xlLmNvbT4pLiAgKi8NCg0KLyog U2ltcGxlIHRlc3QgdG8gdHJpZ2dlciB0aHJlYWQgZXZlbnRzICh0aHJlYWQg c3RhcnQsIHRocmVhZCBleGl0KS4gICovDQoNCiNpbmNsdWRlIDxwdGhyZWFk Lmg+DQojaW5jbHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8c3RkaW8uaD4N Cg0Kc3RhdGljIHZvaWQgKg0KdGhyZWFkZnVuYyAodm9pZCAqYXJnKQ0Kew0K ICBwcmludGYgKCJpbiB0aHJlYWRmdW5jXG4iKTsNCiAgcmV0dXJuIE5VTEw7 DQp9DQoNCnN0YXRpYyB2b2lkDQphZnRlcl9qb2luX2Z1bmMgKHZvaWQpDQp7 DQogIHByaW50ZiAoImZpbmlzaGVkXG4iKTsNCn0NCg0KaW50IG1haW4gKGlu dCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQogIHB0aHJlYWRfdCB0aHJlYWQ7 DQoNCiAgaWYgKHB0aHJlYWRfY3JlYXRlICgmdGhyZWFkLCBOVUxMLCB0aHJl YWRmdW5jLCBOVUxMKSAhPSAwKQ0KICAgIHsNCiAgICAgIHByaW50ZiAoInB0 aHJlYWRfY3JlYXRlIGZhaWxlZFxuIik7DQogICAgICBleGl0ICgxKTsNCiAg ICB9DQoNCiAgaWYgKHB0aHJlYWRfam9pbiAodGhyZWFkLCBOVUxMKSAhPSAw KQ0KICAgIHsNCiAgICAgIHByaW50ZiAoInB0aHJlYWRfam9pbiBmYWlsZWRc biIpOw0KICAgICAgZXhpdCAoMSk7DQogICAgfQ0KDQogIGFmdGVyX2pvaW5f ZnVuYyAoKTsNCiAgcmV0dXJuIDA7DQp9DQoNCg0KDQpPdXRwdXQgb2YgcHJv Z3JhbSAyIFtQcm9ncmFtIDIgcGFzdGVkIGJlbG93XQ0KDQpSZWFkaW5nIHN5 bWJvbHMgZnJvbSAvL2dkYl90ZXN0cy9jb250aW51ZS1wZW5kaW5nLXN0YXR1 c19leGl0X3Rlc3QuLi4NCihnZGIpIHINClN0YXJ0aW5nIHByb2dyYW06IC9n ZGJfdGVzdHMvY29udGludWUtcGVuZGluZy1zdGF0dXNfZXhpdF90ZXN0DQpI ZWxsbyBXb3JsZA0KSGVsbG8gV29ybGQNCk1vcmUgdGhyZWFkcw0KSGVsbG8g V29ybGQNCkhlbGxvIFdvcmxkDQpIZWxsbyBXb3JsZA0KSGVsbG8gV29ybGQN CltOZXcgVGhyZWFkIDI1OCAodGlkIDI0OTY5NjMzKV0NCltUaHJlYWQgMjU4 ICh0aWQgMjQ5Njk2MzMpIGV4aXRlZF0NCltOZXcgVGhyZWFkIDUxNSAodGlk IDMwNTQwMDY3KV0NCltUaHJlYWQgNTE1ICh0aWQgMzA1NDAwNjcpIGV4aXRl ZF0NCltOZXcgVGhyZWFkIDc3MiAodGlkIDMwNjcxMTA3KV0NCltUaHJlYWQg NzcyICh0aWQgMzA2NzExMDcpIGV4aXRlZF0NCltOZXcgVGhyZWFkIDEwMjkg KHRpZCAzMTU4ODc2NyldDQpbVGhyZWFkIDEwMjkgKHRpZCAzMTU4ODc2Nykg ZXhpdGVkXQ0KW05ldyBUaHJlYWQgMTI4NiAodGlkIDMwOTk4OTQ3KV0NCltU aHJlYWQgMTI4NiAodGlkIDMwOTk4OTQ3KSBleGl0ZWRdDQpbTmV3IFRocmVh ZCAxNTQzICh0aWQgMjg5Njc0MTMpXQ0KW1RocmVhZCAxNTQzICh0aWQgMjg5 Njc0MTMpIGV4aXRlZF0NCg0KVGhyZWFkIDEgcmVjZWl2ZWQgc2lnbmFsIFNJ R0lOVCwgSW50ZXJydXB0Lg0KMHhkMDYxMWQ3MCBpbiBfcF9uc2xlZXAgKCkg ZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLmEoX3Nocl94cGc1Lm8pDQooZ2Ri KSBpbmZvIHRocmVhZHMNCiAgSWQgICBUYXJnZXQgSWQgICAgICAgICAgICAg ICAgICAgICAgICAgICBGcmFtZQ0KKiAxICAgIFRocmVhZCAxICh0aWQgMzQz NDExMzkpIChbcnVubmluZ10pIDB4ZDA2MTFkNzAgaW4gX3BfbnNsZWVwICgp IGZyb20gL3Vzci9saWIvbGlicHRocmVhZC5hKF9zaHJfeHBnNS5vKQ0KKGdk YikgcQ0KQSBkZWJ1Z2dpbmcgc2Vzc2lvbiBpcyBhY3RpdmUuDQoNCiAgICAg ICAgSW5mZXJpb3IgMSBbcHJvY2VzcyAxMTMzODEyNl0gd2lsbCBiZSBraWxs ZWQuDQoNClF1aXQgYW55d2F5PyAoeSBvciBuKSB5DQoNClByb2dyYW0gMjoN Cg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQoj aW5jbHVkZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8cHRocmVhZC5oPg0KI2lu Y2x1ZGUgPGFzc2VydC5oPg0KDQpwdGhyZWFkX2JhcnJpZXJfdCBiYXJyaWVy Ow0KDQojZGVmaW5lIE5VTV9USFJFQURTIDMNCg0Kdm9pZCAqDQp0aHJlYWRf ZnVuY3Rpb24gKHZvaWQgKmFyZykNCnsNCiAgLyogVGhpcyBlbnN1cmVzIHRo YXQgdGhlIGJyZWFrcG9pbnQgaXMgb25seSBoaXQgYWZ0ZXIgYm90aCB0aHJl YWRzDQogICAgIGFyZSBjcmVhdGVkLCBzbyB0aGUgdGVzdCBjYW4gYWx3YXlz IHN3aXRjaCB0byB0aGUgbm9uLWV2ZW50DQogICAgIHRocmVhZCB3aGVuIHRo ZSBicmVha3BvaW50IHRyaWdnZXJzLiAgKi8NCi8vICBwdGhyZWFkX2JhcnJp ZXJfd2FpdCAoJmJhcnJpZXIpOw0KDQogIHByaW50ZiAoIkhlbGxvIFdvcmxk IFxuIik7IC8qIGJyZWFrIGhlcmUgKi8NCn0NCg0KaW50DQptYWluICh2b2lk KQ0Kew0KICBpbnQgaTsNCg0KICBhbGFybSAoMzAwKTsNCg0KICBwdGhyZWFk X2JhcnJpZXJfaW5pdCAoJmJhcnJpZXIsIE5VTEwsIE5VTV9USFJFQURTKTsN Cg0KICBmb3IgKGkgPSAwOyBpIDwgTlVNX1RIUkVBRFM7IGkrKykNCiAgICB7 DQogICAgICBwdGhyZWFkX3QgdGhyZWFkOw0KICAgICAgaW50IHJlczsNCg0K ICAgICAgcmVzID0gcHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQsIE5VTEwsDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyZWFkX2Z1bmN0aW9uLCBO VUxMKTsNCiAgICAgIGFzc2VydCAocmVzID09IDApOw0KICAgIH0NCg0KICBw cmludGYgKCJNb3JlIHRocmVhZHMgXG4iKTsNCiAgZm9yIChpID0gMDsgaSA8 IE5VTV9USFJFQURTOyBpKyspDQogICAgew0KICAgICAgcHRocmVhZF90IHRo cmVhZDsNCiAgICAgIGludCByZXM7DQoNCiAgICAgIHJlcyA9IHB0aHJlYWRf Y3JlYXRlICgmdGhyZWFkLCBOVUxMLA0KICAgICAgICAgICAgICAgIHRocmVh ZF9mdW5jdGlvbiwgTlVMTCk7DQogICAgICBhc3NlcnQgKHJlcyA9PSAwKTsN CiAgICB9DQogIHdoaWxlICgxKQ0KICAgIHNsZWVwICgxKTsNCg0KICByZXR1 cm4gMDsNCn0NCg0KDQpGcm9tOiBBZGl0eWEgVmlkeWFkaGFyIEthbWF0aCA8 YWthbWF0aDk5NkBnbWFpbC5jb20+DQpEYXRlOiBGcmlkYXksIDMgTWF5IDIw MjQgYXQgNzo1N+KAr1BNDQpUbzogdG9tQHRyb21leS5jb20gPHRvbUB0cm9t ZXkuY29tPg0KQ2M6IFVscmljaCBXZWlnYW5kIDxVbHJpY2guV2VpZ2FuZEBk ZS5pYm0uY29tPiwgZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcgPGdkYi1w YXRjaGVzQHNvdXJjZXdhcmUub3JnPiwgQWRpdHlhIEthbWF0aDEgPEFkaXR5 YS5LYW1hdGgxQGlibS5jb20+LCBTYW5nYW1lc2ggTWFsbGF5eWEgPHNhbmdh bWVzaC5zd2FteUBpbi5pYm0uY29tPiwgamhiQEZyZWVCU0Qub3JnIDxqaGJA RnJlZUJTRC5vcmc+DQpTdWJqZWN0OiBbRVhURVJOQUxdIFtQQVRDSCB2NF0g Rml4IEFJWCB0aHJlYWQgZXhpdCBldmVudHMgbm90IGJlaW5nIHJlcG9ydGVk IGFuZCBVSSB0byBzaG93IGtlcm5lbCB0aHJlYWQgSUQuDQpGcm9tOiBBZGl0 eWEgVmlkeWFkaGFyIEthbWF0aCA8QWRpdHlhLkthbWF0aDFAaWJtLmNvbT4N Cg0KSW4gQUlYIHdoZW4gYSB0aHJlYWQgZXhpdHMgd2Ugd2VyZSBub3Qgc2hv d2luZyB0aGF0IGEgdGhyZWFkIGV4aXQgZXZlbnQgaGFwcGVuZWQNCmFuZCBH REIgY29udGludWVkIHRvIGtlZXAgdGhlIHRlcm1pbmF0ZWQgdGhyZWFkcy4N Cg0KSWYgd2UgaGF2ZSB0ZXJtaW5hdGVkIHRocmVhZHMgdGhlbiB0aGUgVUkg b24gaW5mbyB0aHJlYWRzIGNvbW1hbmQgd2lsbCBsb29rIGxpa2UNCihnZGIp IGluZm8gdGhyZWFkcw0KICBJZCAgIFRhcmdldCBJZCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyYW1lDQoqIDEgICAgVGhy ZWFkIDEgKHRpZCAyNjYwNzk3OSwgcnVubmluZykgICAgMHhkMDYxMWQ3MCBp biBfcF9uc2xlZXAgKCkgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkcy5hKF9z aHJfeHBnNS5vKQ0KICAyICAgIFRocmVhZCAyNTggKHRpZCAzMDk5ODc5OSwg ZmluaXNoZWQpIGFpeC10aHJlYWQ6IHB0cmFjZSAoNTIsIDMwOTk4Nzk5KSBy ZXR1cm5lZCAtMSAoZXJybm8gPSAzIFRoZSBwcm9jZXNzIGRvZXMgbm90IGV4 aXN0LikNCg0KSWYgd2Ugc2VlIHRoZSBmcmFtZSBpcyBub3QgZ2V0dGluZyBk aXNwbGF5ZWQgY29ycmVjdGx5Lg0KDQpUaGUgcmVhc29uIGZvciB0aGUgc2Ft ZSBpcyB0aGF0IGluIEFJWCB3ZSB3ZXJlIG5vdCBtYW5hZ2luZyB0aHJlYWQg c3RhdGVzLiBJbiBwYXJ0aWN1bGFyIHdlIGRvIG5vdCBrbm93DQp3aGVuIGEg dGhyZWFkIHRlcm1pbmF0ZXMuDQoNClRoZSByZWFzb24gYmVpbmcgaW4gc3lu Y190aHJlYWRsaXN0cyAoKSB0aGUgcGJ1ZiBhbmQgZ2J1ZiBsaXN0cyByZW1h aW4gdGhlIHNhbWUgdGhvdWdoIGNlcnRhaW4gdGhyZWFkcyBleGl0Lg0KDQpU aGlzIHBhdGNoIGlzIGEgZml4IHRvIHRoZSBzYW1lLg0KDQpBbHNvIGNlcnRh aW4gVUkgaXMgY2hhbmdlZC4NCg0KT24gYSBuZXcgdGhyZWFkIGJvcm4gYW5k IGV4aXQgdGhlIFVJIGluIEFJWCB3aWxsIGJlIHNpbWlsYXIgdG8gTGludXgg d2l0aCBib3RoIHVzZXIgYW5kIGtlcm5lbCB0aHJlYWQgaW5mb3JtYXRpb24u DQoNCltOZXcgVGhyZWFkIDI1OCAodGlkIDMyMTc4NTMzKV0NCltOZXcgVGhy ZWFkIDUxNSAodGlkIDMwMzQzNjUxKV0NCltOZXcgVGhyZWFkIDc3MiAodGlk IDMzNTU0OTA5KV0NCltOZXcgVGhyZWFkIDEwMjkgKHRpZCAyNDk2OTQ4OSld DQpbTmV3IFRocmVhZCAxMjg2ICh0aWQgMTgxNTM5NDUpXQ0KW05ldyBUaHJl YWQgMTU0MyAodGlkIDMwNzM2NzM5KV0NCltUaHJlYWQgMjU4ICh0aWQgMzIx Nzg1MzMpIGV4aXRlZF0NCltUaHJlYWQgNTE1ICh0aWQgMzAzNDM2NTEpIGV4 aXRlZF0NCltUaHJlYWQgNzcyICh0aWQgMzM1NTQ5MDkpIGV4aXRlZF0NCltU aHJlYWQgMTAyOSAodGlkIDI0OTY5NDg5KSBleGl0ZWRdDQpbVGhyZWFkIDEy ODYgKHRpZCAxODE1Mzk0NSkgZXhpdGVkXQ0KW1RocmVhZCAxNTQzICh0aWQg MzA3MzY3MzkpIGV4aXRlZF0NCg0KYW5kIGluZm8gdGhyZWFkcyB3aWxsIGxv b2sgbGlrZQ0KKGdkYikgaW5mbyB0aHJlYWRzDQogIElkICAgVGFyZ2V0IElk ICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJhbWUNCiogMSAgICBUaHJl YWQgMSAodGlkIDMxMzI2NTc5KSAoW3J1bm5pbmddKSAweGQwNjExZDcwIGlu IF9wX25zbGVlcCAoKSBmcm9tIC91c3IvbGliL2xpYnB0aHJlYWQuYShfc2hy X3hwZzUubykNCg0KQWxzbyBhIHNtYWxsIGNoYW5nZSB0byB0ZXN0Y2FzZSBn ZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLmV4cCB0byBtYWtlIHN1cmUgdGhp cyB0ZXN0IHJ1bnMgb24gQUlYIGFzIHdlbGwuDQotLS0NCiBnZGIvYWl4LXRo cmVhZC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjQ0ICsrKysr KystLS0tLS0tLS0tLS0tDQogZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90 aHJlYWRfZXZlbnRzLmV4cCB8ICAgNCArLQ0KIDIgZmlsZXMgY2hhbmdlZCwg ODAgaW5zZXJ0aW9ucygrKSwgMTY4IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0t Z2l0IGEvZ2RiL2FpeC10aHJlYWQuYyBiL2dkYi9haXgtdGhyZWFkLmMNCmlu ZGV4IGM3MGJkODJiYzI0Li5jNTEzZTVlNjI4ZiAxMDA2NDQNCi0tLSBhL2dk Yi9haXgtdGhyZWFkLmMNCisrKyBiL2dkYi9haXgtdGhyZWFkLmMNCkBAIC01 NSw2ICs1NSw3IEBADQogI2luY2x1ZGUgPHN5cy9yZWcuaD4NCiAjaW5jbHVk ZSA8c2NoZWQuaD4NCiAjaW5jbHVkZSA8c3lzL3B0aGRlYnVnLmg+DQorI2lu Y2x1ZGUgPHVub3JkZXJlZF9zZXQ+DQoNCiAjaWYgIUhBVkVfREVDTF9HRVRU SFJEUw0KIGV4dGVybiBpbnQgZ2V0dGhyZHMgKHBpZF90LCBzdHJ1Y3QgdGhy ZHNpbmZvNjQgKiwgaW50LCB0aWRfdCAqLCBpbnQpOw0KQEAgLTE5MCw2ICsx OTEsOSBAQCBzdHJ1Y3QgYWl4X3RocmVhZF92YXJpYWJsZXMNCiAgIC8qIFdo ZXRoZXIgdGhlIGN1cnJlbnQgYXJjaGl0ZWN0dXJlIGlzIDY0LWJpdC4NCiAg ICBPbmx5IHZhbGlkIHdoZW4gcGRfYWJsZSBpcyB0cnVlLiAgKi8NCiAgIGlu dCBhcmNoNjQ7DQorDQorICAvKiBEZXNjcmliZXMgdGhlIG51bWJlciBvZiB0 aHJlYWQgZXhpdCBldmVudHMgcmVwb3J0ZWQuICAqLw0KKyAgc3RkOjp1bm9y ZGVyZWRfc2V0PHB0aGRiX3B0aHJlYWRfdD4gZXhpdGVkX3RocmVhZHM7DQog fTsNCg0KIC8qIEtleSB0byBvdXIgcGVyLWluZmVyaW9yIGRhdGEuICAqLw0K QEAgLTczNyw0NyArNzQxLDYgQEAgc3RhdGUyc3RyIChwdGhkYl9zdGF0ZV90 IHN0YXRlKQ0KICAgICB9DQogfQ0KDQotLyogcXNvcnQoKSBjb21wYXJpc29u IGZ1bmN0aW9uIGZvciBzb3J0aW5nIHBkX3RocmVhZCBzdHJ1Y3RzIGJ5IHB0 aGlkLiAgKi8NCi0NCi1zdGF0aWMgaW50DQotcGNtcCAoY29uc3Qgdm9pZCAq cDF2LCBjb25zdCB2b2lkICpwMnYpDQotew0KLSAgc3RydWN0IHBkX3RocmVh ZCAqcDEgPSAoc3RydWN0IHBkX3RocmVhZCAqKSBwMXY7DQotICBzdHJ1Y3Qg cGRfdGhyZWFkICpwMiA9IChzdHJ1Y3QgcGRfdGhyZWFkICopIHAydjsNCi0g IHJldHVybiBwMS0+cHRoaWQgPCBwMi0+cHRoaWQgPyAtMSA6IHAxLT5wdGhp ZCA+IHAyLT5wdGhpZDsNCi19DQotDQotLyogcHRpZCBjb21wYXJpc29uIGZ1 bmN0aW9uICovDQotDQotc3RhdGljIGludA0KLXB0aWRfY21wIChwdGlkX3Qg cHRpZDEsIHB0aWRfdCBwdGlkMikNCi17DQotICBpZiAocHRpZDEucGlkICgp IDwgcHRpZDIucGlkICgpKQ0KLSAgICByZXR1cm4gLTE7DQotICBlbHNlIGlm IChwdGlkMS5waWQgKCkgPiBwdGlkMi5waWQgKCkpDQotICAgIHJldHVybiAx Ow0KLSAgZWxzZSBpZiAocHRpZDEudGlkICgpIDwgcHRpZDIudGlkICgpKQ0K LSAgICByZXR1cm4gLTE7DQotICBlbHNlIGlmIChwdGlkMS50aWQgKCkgPiBw dGlkMi50aWQgKCkpDQotICAgIHJldHVybiAxOw0KLSAgZWxzZSBpZiAocHRp ZDEubHdwICgpIDwgcHRpZDIubHdwICgpKQ0KLSAgICByZXR1cm4gLTE7DQot ICBlbHNlIGlmIChwdGlkMS5sd3AgKCkgPiBwdGlkMi5sd3AgKCkpDQotICAg IHJldHVybiAxOw0KLSAgZWxzZQ0KLSAgICByZXR1cm4gMDsNCi19DQotDQot LyogcXNvcnQoKSBjb21wYXJpc29uIGZ1bmN0aW9uIGZvciBzb3J0aW5nIHRo cmVhZF9pbmZvIHN0cnVjdHMgYnkgcGlkLiAgKi8NCi0NCi1zdGF0aWMgaW50 DQotZ2NtcCAoY29uc3Qgdm9pZCAqdDF2LCBjb25zdCB2b2lkICp0MnYpDQot ew0KLSAgc3RydWN0IHRocmVhZF9pbmZvICp0MSA9ICooc3RydWN0IHRocmVh ZF9pbmZvICoqKSB0MXY7DQotICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnQyID0g KihzdHJ1Y3QgdGhyZWFkX2luZm8gKiopIHQydjsNCi0gIHJldHVybiBwdGlk X2NtcCAodDEtPnB0aWQsIHQyLT5wdGlkKTsNCi19DQotDQogLyogU2VhcmNo IHRocm91Z2ggdGhlIGxpc3Qgb2YgYWxsIGtlcm5lbCB0aHJlYWRzIGZvciB0 aGUgdGhyZWFkDQogICAgdGhhdCBoYXMgc3RvcHBlZCBvbiBhIFNJR1RSQVAg c2lnbmFsLCBhbmQgcmV0dXJuIGl0cyBUSUQuDQogICAgUmV0dXJuIDAgaWYg bm9uZSBmb3VuZC4gICovDQpAQCAtODIyLDIyICs3ODUsMTcgQEAgc3RhdGlj IHZvaWQNCiBzeW5jX3RocmVhZGxpc3RzIChwaWRfdCBwaWQpDQogew0KICAg aW50IGNtZCwgc3RhdHVzOw0KLSAgaW50IHBjb3VudCwgcHNpemUsIHBpLCBn Y291bnQsIGdpOw0KLSAgc3RydWN0IHBkX3RocmVhZCAqcGJ1ZjsNCi0gIHN0 cnVjdCB0aHJlYWRfaW5mbyAqKmdidWYsICoqZywgKnRocmVhZDsNCiAgIHB0 aGRiX3B0aHJlYWRfdCBwZHRpZDsNCiAgIHB0aHJlYWRfdCBwdGhpZDsNCiAg IHB0aGRiX3RpZF90IHRpZDsNCiAgIHByb2Nlc3Nfc3RyYXR1bV90YXJnZXQg KnByb2NfdGFyZ2V0ID0gY3VycmVudF9pbmZlcmlvciAoKS0+cHJvY2Vzc190 YXJnZXQgKCk7DQogICBzdHJ1Y3QgYWl4X3RocmVhZF92YXJpYWJsZXMgKmRh dGE7DQogICBkYXRhID0gZ2V0X3RocmVhZF9kYXRhX2hlbHBlcl9mb3JfcGlk IChwaWQpOw0KKyAgcHRoZGJfc3RhdGVfdCBzdGF0ZTsNCisgIHN0ZDo6c2V0 PHB0aGRiX3B0aHJlYWRfdD4gaW5fcXVldWVfdGhyZWFkczsNCg0KICAgLyog QWNjdW11bGF0ZSBhbiBhcnJheSBvZiBsaWJwdGhkZWJ1ZyB0aHJlYWRzIHNv cnRlZCBieSBwdGhyZWFkIGlkLiAgKi8NCg0KLSAgcGNvdW50ID0gMDsNCi0g IHBzaXplID0gMTsNCi0gIHBidWYgPSBYTkVXVkVDIChzdHJ1Y3QgcGRfdGhy ZWFkLCBwc2l6ZSk7DQotDQogICBmb3IgKGNtZCA9IFBUSERCX0xJU1RfRklS U1Q7OyBjbWQgPSBQVEhEQl9MSVNUX05FWFQpDQogICAgIHsNCiAgICAgICBz dGF0dXMgPSBwdGhkYl9wdGhyZWFkIChkYXRhLT5wZF9zZXNzaW9uLCAmcGR0 aWQsIGNtZCk7DQpAQCAtODQ4LDExOCArODA2LDY4IEBAIHN5bmNfdGhyZWFk bGlzdHMgKHBpZF90IHBpZCkNCiAgICAgICBpZiAoc3RhdHVzICE9IFBUSERC X1NVQ0NFU1MgfHwgcHRoaWQgPT0gUFRIREJfSU5WQUxJRF9QVElEKQ0KICAg ICAgICAgY29udGludWU7DQoNCi0gICAgICBpZiAocGNvdW50ID09IHBzaXpl KQ0KLSAgICAgICB7DQotICAgICAgICAgcHNpemUgKj0gMjsNCi0gICAgICAg ICBwYnVmID0gKHN0cnVjdCBwZF90aHJlYWQgKikgeHJlYWxsb2MgKHBidWYs DQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwc2l6ZSAqIHNpemVvZiAqcGJ1Zik7DQotICAgICAgIH0NCi0gICAg ICBwYnVmW3Bjb3VudF0ucGR0aWQgPSBwZHRpZDsNCi0gICAgICBwYnVmW3Bj b3VudF0ucHRoaWQgPSBwdGhpZDsNCi0gICAgICBwY291bnQrKzsNCi0gICAg fQ0KLQ0KLSAgZm9yIChwaSA9IDA7IHBpIDwgcGNvdW50OyBwaSsrKQ0KLSAg ICB7DQotICAgICAgc3RhdHVzID0gcHRoZGJfcHRocmVhZF90aWQgKGRhdGEt PnBkX3Nlc3Npb24sIHBidWZbcGldLnBkdGlkLCAmdGlkKTsNCi0gICAgICBp ZiAoc3RhdHVzICE9IFBUSERCX1NVQ0NFU1MpDQotICAgICAgIHRpZCA9IFBU SERCX0lOVkFMSURfVElEOw0KLSAgICAgIHBidWZbcGldLnRpZCA9IHRpZDsN Ci0gICAgfQ0KLQ0KLSAgcXNvcnQgKHBidWYsIHBjb3VudCwgc2l6ZW9mICpw YnVmLCBwY21wKTsNCi0NCi0gIC8qIEFjY3VtdWxhdGUgYW4gYXJyYXkgb2Yg R0RCIHRocmVhZHMgc29ydGVkIGJ5IHBpZC4gICovDQotDQotICAvKiBnY291 bnQgaXMgR0RCIHRocmVhZCBjb3VudCBhbmQgcGNvdW50IGlzIHB0aHJlYWRs aWIgdGhyZWFkIGNvdW50LiAgKi8NCi0NCi0gIGdjb3VudCA9IDA7DQotICBm b3IgKHRocmVhZF9pbmZvICp0cCA6IGFsbF90aHJlYWRzIChwcm9jX3Rhcmdl dCwgcHRpZF90IChwaWQpKSkNCi0gICAgZ2NvdW50Kys7DQotICBnID0gZ2J1 ZiA9IFhORVdWRUMgKHN0cnVjdCB0aHJlYWRfaW5mbyAqLCBnY291bnQpOw0K LSAgZm9yICh0aHJlYWRfaW5mbyAqdHAgOiBhbGxfdGhyZWFkcyAocHJvY190 YXJnZXQsIHB0aWRfdCAocGlkKSkpDQotICAgICpnKysgPSB0cDsNCi0gIHFz b3J0IChnYnVmLCBnY291bnQsIHNpemVvZiAqZ2J1ZiwgZ2NtcCk7DQorICAg ICAgcHRpZF90IHB0aWQgKHBpZCwgMCwgcHRoaWQpOw0KKyAgICAgIHN0YXR1 cyA9IHB0aGRiX3B0aHJlYWRfc3RhdGUgKGRhdGEtPnBkX3Nlc3Npb24sIHBk dGlkLCAmc3RhdGUpOw0KKyAgICAgIGluX3F1ZXVlX3RocmVhZHMuaW5zZXJ0 IChwZHRpZCk7DQoNCi0gIC8qIEFwcGx5IGRpZmZlcmVuY2VzIGJldHdlZW4g dGhlIHR3byBhcnJheXMgdG8gR0RCJ3MgdGhyZWFkIGxpc3QuICAqLw0KLQ0K LSAgZm9yIChwaSA9IGdpID0gMDsgcGkgPCBwY291bnQgfHwgZ2kgPCBnY291 bnQ7KQ0KLSAgICB7DQotICAgICAgaWYgKHBpID09IHBjb3VudCkNCisgICAg ICAvKiBJZiB0aGlzIHRocmVhZCBoYXMgcmVwb3J0ZWQgYW5kIGV4aXRlZCwg ZG8gbm90IGFkZCBpdCBhZ2Fpbi4gICovDQorICAgICAgaWYgKHN0YXRlID09 IFBTVF9URVJNKQ0KICAgICAgICAgew0KLSAgICAgICAgIGRlbGV0ZV90aHJl YWQgKGdidWZbZ2ldKTsNCi0gICAgICAgICBnaSsrOw0KKyAgICAgICAgIGlm IChkYXRhLT5leGl0ZWRfdGhyZWFkcy5jb3VudCAocGR0aWQpICE9IDApDQor ICAgICAgICAgICAgY29udGludWU7DQogICAgICAgICB9DQotICAgICAgZWxz ZSBpZiAoZ2kgPT0gZ2NvdW50KQ0KLSAgICAgICB7DQotICAgICAgICAgYWl4 X3RocmVhZF9pbmZvICpwcml2ID0gbmV3IGFpeF90aHJlYWRfaW5mbzsNCi0g ICAgICAgICBwcml2LT5wZHRpZCA9IHBidWZbcGldLnBkdGlkOw0KLSAgICAg ICAgIHByaXYtPnRpZCA9IHBidWZbcGldLnRpZDsNCg0KLSAgICAgICAgIHRo cmVhZCA9IGFkZF90aHJlYWRfd2l0aF9pbmZvIChwcm9jX3RhcmdldCwNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRpZF90 IChwaWQsIDAsIHBidWZbcGldLnB0aGlkKSwNCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZV90aHJlYWRfaW5mb191 cCAocHJpdikpOw0KLQ0KLSAgICAgICAgIHBpKys7DQotICAgICAgIH0NCi0g ICAgICBlbHNlDQorICAgICAgLyogSWYgdGhpcyB0aHJlYWQgaGFzIG5ldmVy IGJlZW4gcmVwb3J0ZWQgdG8gR0RCLCBhZGQgaXQuICAqLw0KKyAgICAgIGlm ICghaW5fdGhyZWFkX2xpc3QgKHByb2NfdGFyZ2V0LCBwdGlkKSkNCiAgICAg ICAgIHsNCi0gICAgICAgICBwdGlkX3QgcHB0aWQsIGdwdGlkOw0KLSAgICAg ICAgIGludCBjbXBfcmVzdWx0Ow0KLQ0KLSAgICAgICAgIHBwdGlkID0gcHRp ZF90IChwaWQsIDAsIHBidWZbcGldLnB0aGlkKTsNCi0gICAgICAgICBncHRp ZCA9IGdidWZbZ2ldLT5wdGlkOw0KLSAgICAgICAgIHBkdGlkID0gcGJ1Zltw aV0ucGR0aWQ7DQotICAgICAgICAgdGlkID0gcGJ1ZltwaV0udGlkOw0KLQ0K LSAgICAgICAgIGNtcF9yZXN1bHQgPSBwdGlkX2NtcCAocHB0aWQsIGdwdGlk KTsNCi0NCi0gICAgICAgICBpZiAoY21wX3Jlc3VsdCA9PSAwKQ0KLSAgICAg ICAgICAgew0KLSAgICAgICAgICAgICBhaXhfdGhyZWFkX2luZm8gKnByaXYg PSBnZXRfYWl4X3RocmVhZF9pbmZvIChnYnVmW2dpXSk7DQotDQotICAgICAg ICAgICAgIHByaXYtPnBkdGlkID0gcGR0aWQ7DQotICAgICAgICAgICAgIHBy aXYtPnRpZCA9IHRpZDsNCi0gICAgICAgICAgICAgcGkrKzsNCi0gICAgICAg ICAgICAgZ2krKzsNCi0gICAgICAgICAgIH0NCi0gICAgICAgICBlbHNlIGlm IChjbXBfcmVzdWx0ID4gMCkNCisgICAgICAgICBhaXhfdGhyZWFkX2luZm8g KnByaXYgPSBuZXcgYWl4X3RocmVhZF9pbmZvOw0KKyAgICAgICAgIC8qIGlu aXQgcHJpdiAqLw0KKyAgICAgICAgIHByaXYtPnBkdGlkID0gcGR0aWQ7DQor ICAgICAgICAgc3RhdHVzID0gcHRoZGJfcHRocmVhZF90aWQgKGRhdGEtPnBk X3Nlc3Npb24sIHBkdGlkLCAmdGlkKTsNCisgICAgICAgICBwcml2LT50aWQg PSB0aWQ7DQorICAgICAgICAgLyogQ2hlY2sgaWYgdGhpcyBpcyB0aGUgbWFp biB0aHJlYWQuICBJZiBpdCBpcywgdGhlbiBjaGFuZ2UNCisgICAgICAgICAg ICBpdHMgcHRpZCBhbmQgYWRkIGl0cyBwcml2YXRlIGRhdGEuICAqLw0KKyAg ICAgICAgIGlmIChnZXRfc2lnbmFsZWRfdGhyZWFkIChwaWQpID09IHRpZA0K KyAgICAgICAgICAgICAgICYmIGluX3RocmVhZF9saXN0IChwcm9jX3Rhcmdl dCwgcHRpZF90IChwaWQpKSkNCiAgICAgICAgICAgICB7DQotICAgICAgICAg ICAgIC8qIFRoaXMgaXMgdG8gbWFrZSB0aGUgbWFpbiBwcm9jZXNzIHRocmVh ZCBub3cgbG9vaw0KLSAgICAgICAgICAgICAgICBsaWtlIGEgdGhyZWFkLiAg Ki8NCi0NCi0gICAgICAgICAgICAgaWYgKGdwdGlkLmlzX3BpZCAoKSkNCi0g ICAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICB0aHJlYWRfaW5m byAqdHAgPSBwcm9jX3RhcmdldC0+ZmluZF90aHJlYWQgKGdwdGlkKTsNCi0g ICAgICAgICAgICAgICAgIHRocmVhZF9jaGFuZ2VfcHRpZCAocHJvY190YXJn ZXQsIGdwdGlkLCBwcHRpZCk7DQotICAgICAgICAgICAgICAgICBhaXhfdGhy ZWFkX2luZm8gKnByaXYgPSBuZXcgYWl4X3RocmVhZF9pbmZvOw0KLSAgICAg ICAgICAgICAgICAgcHJpdi0+cGR0aWQgPSBwYnVmW3BpXS5wZHRpZDsNCi0g ICAgICAgICAgICAgICAgIHByaXYtPnRpZCA9IHBidWZbcGldLnRpZDsNCi0g ICAgICAgICAgICAgICAgIHRwLT5wcml2LnJlc2V0IChwcml2KTsNCi0gICAg ICAgICAgICAgICAgIGdpKys7DQotICAgICAgICAgICAgICAgICBwaSsrOw0K LSAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgZWxzZQ0KLSAgICAg ICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgIGRlbGV0ZV90aHJlYWQg KGdidWZbZ2ldKTsNCi0gICAgICAgICAgICAgICAgIGdpKys7DQotICAgICAg ICAgICAgICAgfQ0KKyAgICAgICAgICAgICB0aHJlYWRfaW5mbyAqdHAgPSBw cm9jX3RhcmdldC0+ZmluZF90aHJlYWQgKHB0aWRfdCAocGlkKSk7DQorICAg ICAgICAgICAgIHRocmVhZF9jaGFuZ2VfcHRpZCAocHJvY190YXJnZXQsIHB0 aWRfdCAocGlkKSwgcHRpZCk7DQorICAgICAgICAgICAgIHRwLT5wcml2LnJl c2V0IChwcml2KTsNCiAgICAgICAgICAgICB9DQogICAgICAgICAgIGVsc2UN Ci0gICAgICAgICAgIHsNCi0gICAgICAgICAgICAgdGhyZWFkID0gYWRkX3Ro cmVhZCAocHJvY190YXJnZXQsIHBwdGlkKTsNCisgICAgICAgICAgIGFkZF90 aHJlYWRfd2l0aF9pbmZvIChwcm9jX3RhcmdldCwgcHRpZCwNCisgICAgICAg ICAgICAgICBwcml2YXRlX3RocmVhZF9pbmZvX3VwIChwcml2KSk7DQorICAg ICAgIH0NCg0KLSAgICAgICAgICAgICBhaXhfdGhyZWFkX2luZm8gKnByaXYg PSBuZXcgYWl4X3RocmVhZF9pbmZvOw0KLSAgICAgICAgICAgICB0aHJlYWQt PnByaXYucmVzZXQgKHByaXYpOw0KLSAgICAgICAgICAgICBwcml2LT5wZHRp ZCA9IHBkdGlkOw0KLSAgICAgICAgICAgICBwcml2LT50aWQgPSB0aWQ7DQot ICAgICAgICAgICAgIHBpKys7DQotICAgICAgICAgICB9DQorICAgICAgLyog VGhlIHRocmVhZCBpcyB0ZXJtaW5hdGVkLiBSZW1vdmUgaXQuICAqLw0KKyAg ICAgIGlmIChzdGF0ZSA9PSBQU1RfVEVSTSkNCisgICAgICAgew0KKyAgICAg ICAgIHRocmVhZF9pbmZvICp0aHIgPSBwcm9jX3RhcmdldC0+ZmluZF90aHJl YWQgKHB0aWQpOw0KKyAgICAgICAgIGdkYl9hc3NlcnQgKHRociAhPSBudWxs cHRyKTsNCisgICAgICAgICBkZWxldGVfdGhyZWFkICh0aHIpOw0KKyAgICAg ICAgIGRhdGEtPmV4aXRlZF90aHJlYWRzLmluc2VydCAocGR0aWQpOw0KICAg ICAgICAgfQ0KICAgICB9DQoNCi0gIHhmcmVlIChwYnVmKTsNCi0gIHhmcmVl IChnYnVmKTsNCisgICAgLyogU29tZXRpbWVzIHRoZXJlIGNhbiBiZSBzY2Vu YXJpb3Mgd2hlcmUgdGhlIHRocmVhZCBzdGF0dXMgaXMNCisgICAgICAgdW5r bm93biBhbmQgd2UgaXQgd2lsbCBuZXZlciBpdGVyYXRlIGluIHRoZSBmb3Ig bG9vcCBhYm92ZSwNCisgICAgICAgc2luY2UgY21kIHdpbGwgYmUgbm8gbG9u Z2VyIGJlIHBvaW50aW5nIHRvIHRoYXQgdGhyZWFkcy4gIE9uZQ0KKyAgICAg ICBzdWNoIHNjZW5hcmlvIGlzIHRoZSBnZGIudGhyZWFkcy90aHJlYWRfZXZl bnRzLmV4cCB0ZXN0Y2FzZQ0KKyAgICAgICB3aGVyZSBpbiB0aGUgZW5kIGFm dGVyIHRoZSB0aHJlYWRmdW5jIGJyZWFrcG9pbnQgaXMgaGl0LCB0aGUNCisg ICAgICAgdGhyZWFkIGV4aXRzIGFuZCBnZXRzIGludG8gYSBQU1RfVU5LTk9X TiBzdGF0ZS4gIFNvIHRoaXMgdGhyZWFkDQorICAgICAgIHdpbGwgbm90IHJ1 biBpbiB0aGUgYWJvdmUgZm9yIGxvb3AuICBUaGVyZWZvcmUgdGhlIGJlbG93 IGZvciBsb29wDQorICAgICAgIGlzIHRvIG1hbnVhbGx5IGRlbGV0ZSBzdWNo IHRocmVhZHMuICAqLw0KKyAgICBmb3IgKHN0cnVjdCB0aHJlYWRfaW5mbyAq aXQgOiBhbGxfdGhyZWFkcyAoKSkNCisgICAgICB7DQorICAgICAgIGFpeF90 aHJlYWRfaW5mbyAqcHJpdiA9IGdldF9haXhfdGhyZWFkX2luZm8gKGl0KTsN CisgICAgICAgYXV0byBpdHIgPSBpbl9xdWV1ZV90aHJlYWRzLmZpbmQgKHBy aXYtPnBkdGlkKTsNCisgICAgICAgaWYgKGl0ciA9PSBpbl9xdWV1ZV90aHJl YWRzLmVuZCAoKQ0KKyAgICAgICAgICAgICAgICYmIGluX3RocmVhZF9saXN0 IChwcm9jX3RhcmdldCwgaXQtPnB0aWQpKQ0KKyAgICAgICAgIHsNCisgICAg ICAgICAgIGRlbGV0ZV90aHJlYWQgKGl0KTsNCisgICAgICAgICAgIGRhdGEt PmV4aXRlZF90aHJlYWRzLmluc2VydCAocHJpdi0+cGR0aWQpOw0KKyAgICAg ICAgIH0NCisgICAgICB9DQogfQ0KDQogLyogSXRlcmF0ZV9vdmVyX3RocmVh ZHMoKSBjYWxsYmFjayBmb3IgbG9jYXRpbmcgYSB0aHJlYWQsIHVzaW5nDQpA QCAtMTAxMyw4ICs5MjEsOCBAQCBwZF91cGRhdGUgKHBpZF90IHBpZCkNCiB9 DQoNCiAvKiBUcnkgdG8gc3RhcnQgZGVidWdnaW5nIHRocmVhZHMgaW4gdGhl IGN1cnJlbnQgcHJvY2Vzcy4NCi0gICBJZiBzdWNjZXNzZnVsIGFuZCB0aGVy ZSBleGlzdHMgYW5kIHdlIGNhbiBmaW5kIGFuIGV2ZW50IHRocmVhZCwgcmV0 dXJuIGEgcHRpZA0KLSAgIGZvciB0aGF0IHRocmVhZC4gIE90aGVyd2lzZSwg cmV0dXJuIGEgcHRpZC1vbmx5IHB0aWQgdXNpbmcgUElELiAgKi8NCisgICBJ ZiBzdWNjZXNzZnVsIGFuZCB0aGVyZSBleGlzdHMgYW5kIHdlIGNhbiBmaW5k IGFuIGV2ZW50IHRocmVhZCwgc2V0DQorICAgcGRfYWN0aXZlIGZvciB0aGF0 IHRocmVhZC4gIE90aGVyd2lzZSwgcmV0dXJuLiAgKi8NCg0KIHN0YXRpYyB2 b2lkDQogcGRfYWN0aXZhdGUgKHBpZF90IHBpZCkNCkBAIC0yMDg0LDEwICsx OTkyLDE3IEBAIGFpeF90aHJlYWRfdGFyZ2V0Ojp0aHJlYWRfYWxpdmUgKHB0 aWRfdCBwdGlkKQ0KIHN0ZDo6c3RyaW5nDQogYWl4X3RocmVhZF90YXJnZXQ6 OnBpZF90b19zdHIgKHB0aWRfdCBwdGlkKQ0KIHsNCi0gIGlmIChwdGlkLnRp ZCAoKSA9PSAwKQ0KLSAgICByZXR1cm4gYmVuZWF0aCAoKS0+cGlkX3RvX3N0 ciAocHRpZCk7DQorICB0aHJlYWRfaW5mbyAqdGhyZWFkX2luZm8gPSBjdXJy ZW50X2luZmVyaW9yICgpLT5maW5kX3RocmVhZCAocHRpZCk7DQoNCi0gIHJl dHVybiBzdHJpbmdfcHJpbnRmIChfKCJUaHJlYWQgJXMiKSwgcHVsb25nZXN0 IChwdGlkLnRpZCAoKSkpOw0KKyAgaWYgKHRocmVhZF9pbmZvICE9IE5VTEwg JiYgdGhyZWFkX2luZm8tPnByaXYgIT0gTlVMTCkNCisgICAgew0KKyAgICAg IGFpeF90aHJlYWRfaW5mbyAqcHJpdiA9IGdldF9haXhfdGhyZWFkX2luZm8g KHRocmVhZF9pbmZvKTsNCisNCisgICAgICByZXR1cm4gc3RyaW5nX3ByaW50 ZiAoXygiVGhyZWFkICVzICh0aWQgJXMpIiksIHB1bG9uZ2VzdCAocHRpZC50 aWQgKCkpLA0KKyAgICAgICAgICAgICAgIHB1bG9uZ2VzdCAocHJpdi0+dGlk KSk7DQorICAgIH0NCisNCisgIHJldHVybiBiZW5lYXRoICgpLT5waWRfdG9f c3RyIChwdGlkKTsNCiB9DQoNCiAvKiBSZXR1cm4gYSBwcmludGFibGUgcmVw cmVzZW50YXRpb24gb2YgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQNCkBAIC0y MDk4LDcgKzIwMTMsNiBAQCBhaXhfdGhyZWFkX3RhcmdldDo6ZXh0cmFfdGhy ZWFkX2luZm8gKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGhyZWFkKQ0KIHsNCiAg IGludCBzdGF0dXM7DQogICBwdGhkYl9wdGhyZWFkX3QgcGR0aWQ7DQotICBw dGhkYl90aWRfdCB0aWQ7DQogICBwdGhkYl9zdGF0ZV90IHN0YXRlOw0KICAg cHRoZGJfc3VzcGVuZHN0YXRlX3Qgc3VzcGVuZHN0YXRlOw0KICAgcHRoZGJf ZGV0YWNoc3RhdGVfdCBkZXRhY2hzdGF0ZTsNCkBAIC0yMTE1LDMzICsyMDI5 LDMxIEBAIGFpeF90aHJlYWRfdGFyZ2V0OjpleHRyYV90aHJlYWRfaW5mbyAo c3RydWN0IHRocmVhZF9pbmZvICp0aHJlYWQpDQogICBhaXhfdGhyZWFkX2lu Zm8gKnByaXYgPSBnZXRfYWl4X3RocmVhZF9pbmZvICh0aHJlYWQpOw0KDQog ICBwZHRpZCA9IHByaXYtPnBkdGlkOw0KLSAgdGlkID0gcHJpdi0+dGlkOw0K LQ0KLSAgaWYgKHRpZCAhPSBQVEhEQl9JTlZBTElEX1RJRCkNCi0gICAgLyog aTE4bjogTGlrZSAidGhyZWFkLWlkZW50aWZpZXIgJWQsIFtzdGF0ZV0gcnVu bmluZywgc3VzcGVuZGVkIiAqLw0KLSAgICBidWYucHJpbnRmIChfKCJ0aWQg JWQiKSwgKGludCl0aWQpOw0KDQogICBzdGF0dXMgPSBwdGhkYl9wdGhyZWFk X3N0YXRlIChkYXRhLT5wZF9zZXNzaW9uLCBwZHRpZCwgJnN0YXRlKTsNCisN CisgIC8qIE91dHB1dCBzaG91bGQgbG9vayBsaWtlIFRocmVhZCAlZCAodGlk ICVkKSAoW3N0YXRlXSkuICAqLw0KKyAgLyogRXhhbXBsZTotIFRocmVhZCAx ICh0aWQgMzQxNDQ1ODcpIChbcnVubmluZ10pLiAgKi8NCisgIC8qIHdoZXJl IHN0YXRlIGNhbiBiZSBydW5uaW5nLCBpZGxlLCBzbGVlcGluZywgZmluaXNo ZWQsDQorICAgICBzdXNwZW5kZWQsIGRldGFjaGVkLCBjYW5jZWwgcGVuZGlu ZywgcmVhZHkgb3IgdW5rbm93bi4gICovDQorDQogICBpZiAoc3RhdHVzICE9 IFBUSERCX1NVQ0NFU1MpDQogICAgIHN0YXRlID0gUFNUX05PVFNVUDsNCi0g IGJ1Zi5wcmludGYgKCIsICVzIiwgc3RhdGUyc3RyIChzdGF0ZSkpOw0KKyAg YnVmLnByaW50ZiAoIlslc10iLCBzdGF0ZTJzdHIgKHN0YXRlKSk7DQoNCiAg IHN0YXR1cyA9IHB0aGRiX3B0aHJlYWRfc3VzcGVuZHN0YXRlIChkYXRhLT5w ZF9zZXNzaW9uLCBwZHRpZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmc3VzcGVuZHN0YXRlKTsNCiAgIGlmIChzdGF0dXMg PT0gUFRIREJfU1VDQ0VTUyAmJiBzdXNwZW5kc3RhdGUgPT0gUFNTX1NVU1BF TkRFRCkNCi0gICAgLyogaTE4bjogTGlrZSAiVGhyZWFkLUlkICVkLCBbc3Rh dGVdIHJ1bm5pbmcsIHN1c3BlbmRlZCIgKi8NCi0gICAgYnVmLnByaW50ZiAo XygiLCBzdXNwZW5kZWQiKSk7DQorICAgIGJ1Zi5wcmludGYgKF8oIltzdXNw ZW5kZWRdIikpOw0KDQogICBzdGF0dXMgPSBwdGhkYl9wdGhyZWFkX2RldGFj aHN0YXRlIChkYXRhLT5wZF9zZXNzaW9uLCBwZHRpZCwNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXRhY2hzdGF0ZSk7DQog ICBpZiAoc3RhdHVzID09IFBUSERCX1NVQ0NFU1MgJiYgZGV0YWNoc3RhdGUg PT0gUERTX0RFVEFDSEVEKQ0KLSAgICAvKiBpMThuOiBMaWtlICJUaHJlYWQt SWQgJWQsIFtzdGF0ZV0gcnVubmluZywgZGV0YWNoZWQiICovDQotICAgIGJ1 Zi5wcmludGYgKF8oIiwgZGV0YWNoZWQiKSk7DQorICAgIGJ1Zi5wcmludGYg KF8oIltkZXRhY2hlZF0iKSk7DQoNCiAgIHB0aGRiX3B0aHJlYWRfY2FuY2Vs cGVuZCAoZGF0YS0+cGRfc2Vzc2lvbiwgcGR0aWQsICZjYW5jZWxwZW5kKTsN CiAgIGlmIChzdGF0dXMgPT0gUFRIREJfU1VDQ0VTUyAmJiBjYW5jZWxwZW5k KQ0KLSAgICAvKiBpMThuOiBMaWtlICJUaHJlYWQtSWQgJWQsIFtzdGF0ZV0g cnVubmluZywgY2FuY2VsIHBlbmRpbmciICovDQotICAgIGJ1Zi5wcmludGYg KF8oIiwgY2FuY2VsIHBlbmRpbmciKSk7DQorICAgIGJ1Zi5wcmludGYgKF8o IltjYW5jZWwgcGVuZGluZ10iKSk7DQoNCiAgIGJ1Zi53cml0ZSAoIiIsIDEp Ow0KDQpkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90 aHJlYWRfZXZlbnRzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGhyZWFkX2V2ZW50cy5leHANCmluZGV4IDEwMDIwNWU1ZjU4Li45YzNmOWNl MTcwOCAxMDA2NDQNCi0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv dGhyZWFkX2V2ZW50cy5leHANCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvdGhyZWFkX2V2ZW50cy5leHANCkBAIC0yMSw5ICsyMSw5IEBADQog IyBtZXNzYWdlcyBhcmUgcHJpbnRlZCBhbmQgY2FuIGJlIGRpc2FibGVkKSBp cyBkZXBlbmRlbnQgb24gdGhlIHRhcmdldA0KICMgdGhyZWFkIHN1cHBvcnQg Y29kZS4NCg0KLSMgVGhpcyB0ZXN0IGhhcyBvbmx5IGJlZW4gdmVyaWZpZWQg d2l0aCBMaW51eCB0YXJnZXRzLCBhbmQgd291bGQgbmVlZA0KKyMgVGhpcyB0 ZXN0IGhhcyBiZWVuIHZlcmlmaWVkIHdpdGggTGludXggdGFyZ2V0cyBhbmQg QUlYIHRhcmdldCwgYW5kIHdvdWxkIG5lZWQNCiAjIHRvIGJlIGdlbmVyYWxp emVkIHRvIHN1cHBvcnQgb3RoZXIgdGFyZ2V0cw0KLWlmIHshW2lzdGFyZ2V0 ICotKi1saW51eCpdfSB7DQoraWYgeyEoW2lzdGFyZ2V0ICotKi1saW51eCpd IHx8IFtpc3RhcmdldCAqLSotYWl4Kl0pfSB7DQogICAgIHJldHVybg0KIH0N Cg0KLS0NCjIuNDEuMA0K --_000_CH2PR15MB35444796084FB1E144E996CED61F2CH2PR15MB3544namp_--