From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2054.outbound.protection.outlook.com [40.107.93.54]) by sourceware.org (Postfix) with ESMTPS id A782F3858C27 for ; Wed, 19 Jan 2022 17:57:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A782F3858C27 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gvK1c68Sk+xROUlkhlpAnHboSfIonk6SbNs95xc9NzRw3n79mdY28kBhXsnCyESjfMy62SqPmyspDIT72UZLJqMSKYLTzQtGiA0YxIEeuIPD4a4zIp0hQVZ2ZDO8FPV1fuSrKJD8AcCGNJ7MUME5KOCTx7afwTVxD8+vKCLOzQaFU50cK8IAfHZ4Z6D82tm2aHzQ2vegUucDPRmp/bLD31Wp6tjNMCZdxyn7EOBL5wFrSX/GuhAr3/QilEziYUUoRT7hYhIJgUevWyDoJi68MFCe6KgTKf7E8C22m/yS/rC+u0uhjKwwO3RTOLfXLfUJP2i8frydxucXnLX7cDJNgQ== 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=lkNEXYVkuln0naAZlbdOv+x73bluLY0hwcBQ2wHA9+s=; b=I5A+mqkLgBSSAAa7Ut6/iGUbpckQNcnGXGM7/X81oMXwv8lvJLoX5GLHuzu33L6wbTRLbR+3YleeIFOPMqNmctEcVcPyvWsAODifh6P5evpXISJZwySBCaJszJR8VWaiNDVPRFaet6wuWBW/WPpKRzYGFqBqBdn4aEn287PmpMoAD2SwX/fs6XfJBJkh6fgnjJa6L8gwHpFGGyKeBSsnTS/E6V+xmW/vmrxsJTJHYz+qvxm3myRw/+MxWRhgB/hk9wLXV/dTKQ6T7aG2A8Cv7k36uqG0l3xg4Nv/TUwIT8xkK28atQg711f1rsQU37pIVr020scLGi6hfSAdVaaOGg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DM6PR12MB4219.namprd12.prod.outlook.com (2603:10b6:5:217::14) by DM5PR12MB1385.namprd12.prod.outlook.com (2603:10b6:3:6e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.12; Wed, 19 Jan 2022 17:57:53 +0000 Received: from DM6PR12MB4219.namprd12.prod.outlook.com ([fe80::b178:7e7:4811:5cd6]) by DM6PR12MB4219.namprd12.prod.outlook.com ([fe80::b178:7e7:4811:5cd6%7]) with mapi id 15.20.4888.014; Wed, 19 Jan 2022 17:57:53 +0000 From: "Potharla, Rupesh" To: "gdb-patches@sourceware.org" CC: "George, Jini Susan" , "Parasuraman, Hariharan" , "Sharma, Alok Kumar" , "Achra, Nitika" , "Kumar N, Bhuvanendra" , "Natarajan, Kavitha" , "Balasubrmanian, Vignesh" , "E, Nagajyothi" , "Kaushik, Sharang" Subject: [PATCH] Support for Fortran's ASSUMED RANK Thread-Topic: [PATCH] Support for Fortran's ASSUMED RANK Thread-Index: AdgNXQtM8LEGEAevRfiMoU/ZVB5Cww== Date: Wed, 19 Jan 2022 17:57:53 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Enabled=true; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_SetDate=2022-01-19T17:37:33Z; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Method=Standard; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_Name=AMD Official Use Only-AIP 2.0; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_ActionId=eb36053e-549a-4009-a715-2bb12b6995b5; MSIP_Label_88914ebd-7e6c-4e12-a031-a9906be2db14_ContentBits=1 msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_enabled: true msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_setdate: 2022-01-19T17:57:49Z msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_method: Standard msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_name: AMD Official Use Only-AIP 2.0 msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_siteid: 3dd8961f-e488-4e60-8e11-a82d994e183d msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_actionid: 0c0a41c8-7a04-4866-bb78-aa376f1cc73d msip_label_88914ebd-7e6c-4e12-a031-a9906be2db14_contentbits: 0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1db4bf0c-967e-4ae5-4fca-08d9db753786 x-ms-traffictypediagnostic: DM5PR12MB1385:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3276; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AHr5WvMS23svkG1DeXAo4+uB19MDO86JVxFDcuNaPQyc5/JE+2QFxiF8TLBTfgwMn3KRB5r8toOQjIgxGmCjFuw7/+I2QOHiJ0IBd69tIhXeteDnsHnEyaWdVHmnwHG5Mpi0FS08ffeeAXypYk/dXFgYu7Kp9zgKYuluvt9+1IfyAZ8T9h3SOIoPCA326PwdJA1mf8XUaPRsZT8v1VB2sEx1XQT2z2g/9Cpq+Bz9gRfzLjRJ/sH7ZHCo0timUigI5bmNM7Kpdhf1b1AY3HiJMxsjaBqiB8E027j2BGbO7f5fjLr0etL5zDzRddMdlaKpB+aD+ZBuen7teGm0yrOUBX0d3MuMcW/dXVb/8omMVWNFnxrnSmSg1a7/J2cfe87rNl673OhxZghnYRgFOgRy2ovSkOg8RwkHdFnYCCxzvUNGXJXAXwpD+UupLr917e65Yu8DiGZNx/c/NJMm0FcrJMXnGxdNM5W5Mi8wXBdD+JuqZcLdBLIVt86u+wOf3BmmQuVenXC8dkrCKxF5lNdk5Qyqr5v2fMssE2X8iEeXeOEbHmZxiUEh5A8Ukpao5q3Abc4SPU2vfzsnQm4Jrj2tomWr6PbhWGt4XC/66b5sd8p6LM1TflJcuFG2/AcQCjuK/jEn4NFlD2MpYWGRigWqp9OT9xWiuVbf9kgKidW7niFQ1vCAaVMsZuPsXPKDeoiGCS/mpTF+hhKDY0+1cIfQTw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4219.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(26005)(4326008)(55016003)(38070700005)(64756008)(86362001)(71200400001)(5660300002)(316002)(122000001)(38100700002)(66556008)(33656002)(8936002)(66946007)(66476007)(9686003)(76116006)(99936003)(66446008)(54906003)(83380400001)(6506007)(6916009)(7696005)(508600001)(8676002)(52536014)(186003)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?K5Tkz3IVZyYWSm+OlCCiZ74i/abbchNkIECzb7H1+7SIK9+Ioacx7LMJH6oQ?= =?us-ascii?Q?mKfyZCq1SGLJ43TKQ/4Vr03C5K6gPmX/dJyTDtw/VVtBIC53AgR1xvcdSKcy?= =?us-ascii?Q?RYHYxFF1bKfSLFmlb7wOazQ/r164JX/QYOju5pzjDfiaS5REuP681qESY1HB?= =?us-ascii?Q?geeudJha1KGzSRCedqp4FKv/cKRgbrdSqAEYaTtMdZzqFwpzVb5LNKsWfEv4?= =?us-ascii?Q?ahNeunmQGoVdxVSCrCv7jD6SZmZzEJ4o86KVcFeroxofl9RqlCD34w1snwdY?= =?us-ascii?Q?Ad9GtC9aGKHjhvqhanjByly6fG8QbCuaRo1BKwF0p0vvPy02sYrj8djrBFzu?= =?us-ascii?Q?WF0iCbgOL3gZMm1BexZEUfsb58HO9s6CHdCuL0y6Z8Q2L7IxWogVZj8CyAeF?= =?us-ascii?Q?ECd/IfVCqiTDBsl1L2aYUqKW/ksAgVDIDiUn+GXR1djDau6OscnbnVDxGiy+?= =?us-ascii?Q?PZu0Bekhq75F3h86Y75foGKpt9k4U9U4qlgIJ5XhhpgYdcBGVnVR/R8nAdEv?= =?us-ascii?Q?/khHkjoM8WGkA9xYc7UT31ePUKXaqn2SIfr+GKv+prRlkJvRk7zNbHSwEs2x?= =?us-ascii?Q?lIv5+iYraiZHScDyf93wNMS1k6aEhxrrQl4I58nRirFQnWFRSYi3jUem5Ao3?= =?us-ascii?Q?PuFM1Fv7yielD5D4QdIMnbeXEwlAANlIDyKtofD2RT08UAHGSM4GzErFQmOK?= =?us-ascii?Q?JTQ7VRO+dmDzZbVNGmgIlPcqfAYstYIT4MUc2wPTcjcP+T9NQFUMruRMK2mW?= =?us-ascii?Q?g7ohWLTAHhgHAgf1saOchtdKqvEJBGmpbVBDENnki8NAwzurcNJ7hZo0nbOk?= =?us-ascii?Q?gC3UDCPcrFhT6cm+noYKzzGo+4q3bFC6SzVyev7b3ZtGAQY2m6ttY42+PZ02?= =?us-ascii?Q?6ceAT8BAJbZdil2ug4R1BPOeYn++0PMoLprZRMYI4rSI8iKK6ubhhJ7UOFZ3?= =?us-ascii?Q?jLzltBXPrLELMHvMdreoqFcnBwfl5GxPXbZ9c9Q9IsB5l0BnlPeZzn7i73a+?= =?us-ascii?Q?vc92tbJQ960BTkzo82I3PF6rCPBxTa9p+Pv2ovaL6YPka3JpWqW7osMn0RSo?= =?us-ascii?Q?f0zO3t9q7N6TjJ4EU5802DGY0VHEqqTyuhdv284dVa2s5TYksTWGp7XwWYYu?= =?us-ascii?Q?4RHudFBPTxC4/OVs9Ei0sAXjARRtN2FfYEe37myDzr3J+YN+kx4hwq97CItj?= =?us-ascii?Q?Jz/78iE06ZLJFm/DmA+uBFVIqMyPnbr3R+Qcrn4EcvDrOC/FIk3C4gY5pehC?= =?us-ascii?Q?JiRye2WfZNw22AckqIu/p+JiveArfRc5LC2MjYRJIREit31jGEOI/k0lp4dp?= =?us-ascii?Q?hlSmLLVZhFYYuZN+VGPSl9INV37Rc7pL3aNGroaStwhCERKCrYbALIFraR+x?= =?us-ascii?Q?TO9lm0UYTdIp0HsrpzmS7b4rsk6shg5Fh3MEC6IpVbOHjU7z7zqSSY1xBnuT?= =?us-ascii?Q?L2g/yyvZbqlVk48tklLZOWZm05qA8VX2mDEirPFFB0a6rEo08oJ6h4U3PPJZ?= =?us-ascii?Q?t49TtOgdj2u20DwypjRLuHpFHROw6V9INXXktI/Yfqs1giWch9fhrgF+fsLP?= =?us-ascii?Q?za4NYV5b+zDDJ7hCMKPKFEp+KyLfkIMbfuNY80kd3pid0k0D0YBA/mBqJSw2?= =?us-ascii?Q?dtFOQHQFbby32+CSkw/SnOQ=3D?= Content-Type: multipart/mixed; boundary="_004_DM6PR12MB4219AEC5C71FC0F22300594DE7599DM6PR12MB4219namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4219.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1db4bf0c-967e-4ae5-4fca-08d9db753786 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Jan 2022 17:57:53.8060 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4Daz7Po9/08u3ZtJlK2IkMKlNhv7kQ6JHumyWkQS1GXsU5w14JFVjmhspdmKtvjkVLxCrwK9QptT7esxsXV62A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1385 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jan 2022 17:57:59 -0000 --_004_DM6PR12MB4219AEC5C71FC0F22300594DE7599DM6PR12MB4219namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only] Requesting to please review the attached patch. This patch adds support for debugging assumed rank arrays of Fortran. Testcase used: PROGRAM arank REAL :: a1(10) CALL sub1(a1) CONTAINS SUBROUTINE sub1(a) REAL :: a(..) PRINT *, RANK(a) END END Compiler Version: gcc (GCC) 12.0.0 20211122 (experimental) Compilation command: gfortran assumedrank.f90 -gdwarf-5 -o assumedrank Without Patch: gdb -q assumedrank Reading symbols from assumedrank... (gdb) br sub1 Breakpoint 1 at 0x4006ff: file assumedrank.f90, line 10. (gdb) r Starting program: /home/rupesh/STAGING-BUILD-2787/bin/assumedrank Breakpoint 1, arank::sub1 (a=3D) at assumedrank.f90:10 10 PRINT *, RANK(a) (gdb) p RANK(a) 'a' has unknown type; cast it to its declared type With patch : gdb -q assumedrank Reading symbols from assumedrank... (gdb) br sub1 Breakpoint 1 at 0x4006ff: file assumedrank.f90, line 10. (gdb) r Starting program: /home/rupesh/STAGING-BUILD-2787/bin/assumedrank Breakpoint 1, arank::sub1 (a=3D...) at assumedrank.f90:10 10 PRINT *, RANK(a) (gdb) p RANK(a) $1 =3D 1 (gdb) ptype a type =3D real(kind=3D4) (10) (gdb) Regards, Rupesh P --_004_DM6PR12MB4219AEC5C71FC0F22300594DE7599DM6PR12MB4219namp_ Content-Type: application/octet-stream; name="0001-Support-for-Fortran-s-ASSUMED-RANK.patch" Content-Description: 0001-Support-for-Fortran-s-ASSUMED-RANK.patch Content-Disposition: attachment; filename="0001-Support-for-Fortran-s-ASSUMED-RANK.patch"; size=21960; creation-date="Wed, 19 Jan 2022 17:45:22 GMT"; modification-date="Wed, 19 Jan 2022 17:57:52 GMT" Content-Transfer-Encoding: base64 RnJvbSAzODNjNTYxYTFlOTI2YjdiNjVhMWQ4ZmZiNWQ3MGEwNDdhNGQ0NTU5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBydXBlc2ggPHJ1cGVzaC5wb3RoYXJsYUBhbWQuY29tPgpEYXRl OiBGcmksIDI5IE9jdCAyMDIxIDExOjMyOjU4ICswNTMwClN1YmplY3Q6IFtQQVRDSF0gU3VwcG9y dCBmb3IgRm9ydHJhbidzIEFTU1VNRUQgUkFOSy4KClRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZv ciBkZWJ1Z2dpbmcgYXNzdW1lZCByYW5rIGFycmF5cyBvZiBGb3J0cmFuLgoKVGVzdGNhc2UgdXNl ZDoKClBST0dSQU0gYXJhbmsKClJFQUwgOjogYTEoMTApCgpDQUxMIHN1YjEoYTEpCgpDT05UQUlO UwpTVUJST1VUSU5FIHN1YjEoYSkKUkVBTCA6OiBhKC4uKQpQUklOVCAqLCBSQU5LKGEpCkVORApF TkQKCkNvbXBpbGVyIFZlcnNpb246CmdjYyAoR0NDKSAxMi4wLjAgMjAyMTExMjIgKGV4cGVyaW1l bnRhbCkKCkNvbXBpbGF0aW9uIGNvbW1hbmQ6Cmdmb3J0cmFuIGFzc3VtZWRyYW5rLmY5MCAtZ2R3 YXJmLTUgLW8gYXNzdW1lZHJhbmsKCldpdGhvdXQgUGF0Y2g6CgpnZGIgLXEgYXNzdW1lZHJhbmsK UmVhZGluZyBzeW1ib2xzIGZyb20gYXNzdW1lZHJhbmsuLi4KKGdkYikgYnIgc3ViMQpCcmVha3Bv aW50IDEgYXQgMHg0MDA2ZmY6IGZpbGUgYXNzdW1lZHJhbmsuZjkwLCBsaW5lIDEwLgooZ2RiKSBy ClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL3J1cGVzaC9TVEFHSU5HLUJVSUxELTI3ODcvYmluL2Fz c3VtZWRyYW5rCgpCcmVha3BvaW50IDEsIGFyYW5rOjpzdWIxIChhPTx1bmtub3duIHR5cGUgaW4g L2hvbWUvcnVwZXNoL1NUQUdJTkctQlVJTEQtMjc4Ny9iaW4vYXNzdW1lZHJhbmssIENVIDB4MCwg RElFIDB4ZDU+KSBhdCBhc3N1bWVkcmFuay5mOTA6MTAKMTAgICAgICAgUFJJTlQgKiwgUkFOSyhh KQooZ2RiKSBwIFJBTksoYSkKJ2EnIGhhcyB1bmtub3duIHR5cGU7IGNhc3QgaXQgdG8gaXRzIGRl Y2xhcmVkIHR5cGUKCldpdGggcGF0Y2ggOgpnZGIgLXEgYXNzdW1lZHJhbmsKUmVhZGluZyBzeW1i b2xzIGZyb20gYXNzdW1lZHJhbmsuLi4KKGdkYikgYnIgc3ViMQpCcmVha3BvaW50IDEgYXQgMHg0 MDA2ZmY6IGZpbGUgYXNzdW1lZHJhbmsuZjkwLCBsaW5lIDEwLgooZ2RiKSByClN0YXJ0aW5nIHBy b2dyYW06IC9ob21lL3J1cGVzaC9TVEFHSU5HLUJVSUxELTI3ODcvYmluL2Fzc3VtZWRyYW5rCgpC cmVha3BvaW50IDEsIGFyYW5rOjpzdWIxIChhPS4uLikgYXQgYXNzdW1lZHJhbmsuZjkwOjEwCjEw ICAgICAgIFBSSU5UICosIFJBTksoYSkKKGdkYikgcCBSQU5LKGEpCiQxID0gMQooZ2RiKSBwdHlw ZSBhCnR5cGUgPSByZWFsKGtpbmQ9NCkgKDEwKQooZ2RiKQoKZ2RiL0NoYW5nZUxvZzoKCgkqIGR3 YXJmMi9sb2MuYzogKGR3YXJmMl9sb2NleHByX2JhdG9uX2V2YWwpOiBQdXNoIGFycmF5IGRpbWVu c2lvbiBvbnRvIHRoZSBzdGFjay4KCSogZHdhcmYyL2xvYy5oOiBBZGRlZCBhbiBhZGRpdGlvbmFs IHBhcmFtZXRlciB0byB0aGUgZnVuY3Rpb24gZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5LgoJKiBk d2FyZjIvcmVhZC5jOiAoc2Nhbl9wYXJ0aWFsX3N5bWJvbHMpOiBQcm9jZXNzIERXX1RBR19nZW5l cmljX3N1YnJhbmdlLgoJKiAoYWRkX3BhcnRpYWxfc3ltYm9sKTogUHJvY2VzcyBEV19UQUdfZ2Vu ZXJpY19zdWJyYW5nZS4KCSogKHByb2Nlc3NfZGllKTogUHJvY2VzcyBEV19UQUdfZ2VuZXJpY19z dWJyYW5nZS4KCSogKGlzX3R5cGVfdGFnX2Zvcl9wYXJ0aWFsKSA6IENoZWNrIGZvciBEV19UQUdf Z2VuZXJpY19zdWJyYW5nZSB0eXBlLgoJKiAobG9hZF9wYXJ0aWFsX2RpZXMpOiBMb2FkIERXX1RB R19nZW5lcmljX3N1YnJhbmdlLgoJKiAobmV3X3N5bWJvbCk6IENyZWF0ZSBlbnRyeSBmb3IgRFdf VEFHX2dlbmVyaWNfc3VicmFuZ2UgdHlwZS4KCSogKHJlYWRfdHlwZV9kaWVfMSk6IFJlYWQgRFdf VEFHX2dlbmVyaWNfc3VicmFuZ2UgdHlwZS4KCSogKHNldF9kaWVfdHlwZSkgOiBBZGQgZHluYW1p YyBwcm9wZXJ0eSB0eXBlIGZvciBEV19BVF9yYW5rLgoJKiBmLXR5cGVwcmludC5jOiAoZl90eXBl X3ByaW50X3ZhcnNwZWNfc3VmZml4KTogUmVtb3ZlZCBUWVBFX0RBVEFfTE9DQVRJT04uCgkqIGZp bmR2YXIuYzogKGZvbGxvd19zdGF0aWNfbGluayk6IFBhc3NpbmcgbmV3IGFyZ3VtZW50IHRvIHRo ZSBmdW5jdGlvbiBjYWxsIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eS4KCSogZ2RidHlwZXMuYzog KHJlc29sdmVfZHluYW1pY19yYW5nZSk6IFBhc3NpbmcgbmV3IGFyZ3VtZW50IHRvIHRoZSBmdW5j dGlvbiBjYWxsIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eS4KCSogKHJlc29sdmVfZHluYW1pY19h cnJheV9vcl9zdHJpbmcpOiBIYW5kbGUgcmFuayBkeW5hbWljIHByb3BlcnR5IGJ5IGNyZWF0aW5n IGFuZCByZW1vdmluZyB0eXBlcy4KCSogZ2RidHlwZXMuaDogKERZTl9QUk9QX1JBTkssIFRZUEVf RFlOX1BST1AsICBUWVBFX1JBTktfUFJPUCk6IE5ldyBNYWNyb3MKCSogZ251LXYzLWFiaS5jOiBQ YXNzaW5nIG5ldyBhcmd1bWVudCB0byB0aGUgZnVuY3Rpb24gY2FsbCBkd2FyZjJfZXZhbHVhdGVf cHJvcGVydHkuCgkqIHRlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5leHA6IE5ldyBU ZXN0Y2FzZQoJKiB0ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZjkwOiBOZXcgVGVz dGNhc2UKLS0tCiBnZGIvZHdhcmYyL2xvYy5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEw ICsrLQogZ2RiL2R3YXJmMi9sb2MuaCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKwog Z2RiL2R3YXJmMi9yZWFkLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAxOSArKysrKy0KIGdk Yi9mLXR5cGVwcmludC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KIGdkYi9maW5k dmFyLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGdkYi9nZGJ0eXBlcy5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTkgKysrKysrKysrKysrKy0tLS0KIGdkYi9n ZGJ0eXBlcy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDcgKysKIGdkYi9nbnUtdjMt YWJpLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGdkYi90ZXN0c3VpdGUvZ2Ri LmZvcnRyYW4vYXNzdW1lZHJhbmsuZXhwIHwgNzkgKysrKysrKysrKysrKysrKysrKysrKysKIGdk Yi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZjkwIHwgNDIgKysrKysrKysrKysr CiAxMCBmaWxlcyBjaGFuZ2VkLCAyMDkgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5l eHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fzc3VtZWRy YW5rLmY5MAoKZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvbG9jLmMgYi9nZGIvZHdhcmYyL2xvYy5j CmluZGV4IDE4MmYxNWU3MDc3Li42MGY4MzFjMmNmZiAxMDA2NDQKLS0tIGEvZ2RiL2R3YXJmMi9s b2MuYworKysgYi9nZGIvZHdhcmYyL2xvYy5jCkBAIC0xNTQ3LDcgKzE1NDcsOCBAQCBkd2FyZjJf bG9jZXhwcl9iYXRvbl9ldmFsIChjb25zdCBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKmRs YmF0b24sCiAJCQkgICBjb25zdCBzdHJ1Y3QgcHJvcGVydHlfYWRkcl9pbmZvICphZGRyX3N0YWNr LAogCQkJICAgQ09SRV9BRERSICp2YWxwLAogCQkJICAgYm9vbCBwdXNoX2luaXRpYWxfdmFsdWUs Ci0JCQkgICBib29sICppc19yZWZlcmVuY2UpCisJCQkgICBib29sICppc19yZWZlcmVuY2UsCisJ CQkgICBpbnQgcmFuaykKIHsKICAgaWYgKGRsYmF0b24gPT0gTlVMTCB8fCBkbGJhdG9uLT5zaXpl ID09IDApCiAgICAgcmV0dXJuIDA7CkBAIC0xNTU5LDYgKzE1NjAsMTAgQEAgZHdhcmYyX2xvY2V4 cHJfYmF0b25fZXZhbCAoY29uc3Qgc3RydWN0IGR3YXJmMl9sb2NleHByX2JhdG9uICpkbGJhdG9u LAogICB2YWx1ZSAqcmVzdWx0OwogICBzY29wZWRfdmFsdWVfbWFyayBmcmVlX3ZhbHVlczsKIAor ICAvKiBwdXNoIHJhbmsgdmFsdWUgdG8gdGhlIHN0YWNrICovCisgIGlmIChyYW5rKQorICAgICBj dHgucHVzaF9hZGRyZXNzKChyYW5rIC0gMSksIGZhbHNlKTsKKwogICBpZiAocHVzaF9pbml0aWFs X3ZhbHVlKQogICAgIHsKICAgICAgIGlmIChhZGRyX3N0YWNrICE9IG51bGxwdHIpCkBAIC0xNjEx LDYgKzE2MTYsNyBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5h bWljX3Byb3AgKnByb3AsCiAJCQkgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKIAkJCSAgY29u c3Qgc3RydWN0IHByb3BlcnR5X2FkZHJfaW5mbyAqYWRkcl9zdGFjaywKIAkJCSAgQ09SRV9BRERS ICp2YWx1ZSwKKwkJCSAgaW50IHJhbmssCiAJCQkgIGJvb2wgcHVzaF9pbml0aWFsX3ZhbHVlKQog ewogICBpZiAocHJvcCA9PSBOVUxMKQpAQCAtMTYyOSw3ICsxNjM1LDcgQEAgZHdhcmYyX2V2YWx1 YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAogCiAJYm9vbCBp c19yZWZlcmVuY2UgPSBiYXRvbi0+bG9jZXhwci5pc19yZWZlcmVuY2U7CiAJaWYgKGR3YXJmMl9s b2NleHByX2JhdG9uX2V2YWwgKCZiYXRvbi0+bG9jZXhwciwgZnJhbWUsIGFkZHJfc3RhY2ssCi0J CQkJICAgICAgIHZhbHVlLCBwdXNoX2luaXRpYWxfdmFsdWUsICZpc19yZWZlcmVuY2UpKQorCQkJ CSAgICAgICB2YWx1ZSwgcHVzaF9pbml0aWFsX3ZhbHVlLCAmaXNfcmVmZXJlbmNlLCByYW5rKSkK IAkgIHsKIAkgICAgaWYgKGlzX3JlZmVyZW5jZSkKIAkgICAgICB7CmRpZmYgLS1naXQgYS9nZGIv ZHdhcmYyL2xvYy5oIGIvZ2RiL2R3YXJmMi9sb2MuaAppbmRleCA1ZmYwNjFiYjRiNi4uNjZiMzU4 NzZkYTEgMTAwNjQ0Ci0tLSBhL2dkYi9kd2FyZjIvbG9jLmgKKysrIGIvZ2RiL2R3YXJmMi9sb2Mu aApAQCAtMTE0LDYgKzExNCw5IEBAIHN0cnVjdCBwcm9wZXJ0eV9hZGRyX2luZm8KICAgIFJldHVy bnMgdHJ1ZSBpZiBQUk9QIGNvdWxkIGJlIGNvbnZlcnRlZCBhbmQgdGhlIHN0YXRpYyB2YWx1ZSBp cyBwYXNzZWQKICAgIGJhY2sgaW50byBWQUxVRSwgb3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCiAK KyAgIHJhbmsgaXMgcHVzaGVkIG9uIHRvIHRoZSBzdGFjayBiZWZvcmUgZXZhbHVhdGluZyBhc3N1 bWVkIHJhbmsgYXJyYXkKKyAgIGRpbWVuc2lvbnMuCisKICAgIElmIFBVU0hfSU5JVElBTF9WQUxV RSBpcyB0cnVlLCB0aGVuIHRoZSB0b3AgdmFsdWUgb2YgQUREUl9TVEFDSwogICAgd2lsbCBiZSBw dXNoZWQgYmVmb3JlIGV2YWx1YXRpbmcgYSBsb2NhdGlvbiBleHByZXNzaW9uLiAgKi8KIApAQCAt MTIxLDYgKzEyNCw3IEBAIGJvb2wgZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChjb25zdCBzdHJ1 Y3QgZHluYW1pY19wcm9wICpwcm9wLAogCQkJICAgICAgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFt ZSwKIAkJCSAgICAgICBjb25zdCBzdHJ1Y3QgcHJvcGVydHlfYWRkcl9pbmZvICphZGRyX3N0YWNr LAogCQkJICAgICAgIENPUkVfQUREUiAqdmFsdWUsCisJCQkgICAgICAgaW50IHJhbmssCiAJCQkg ICAgICAgYm9vbCBwdXNoX2luaXRpYWxfdmFsdWUgPSBmYWxzZSk7CiAKIC8qIEEgaGVscGVyIGZv ciB0aGUgY29tcGlsZXIgaW50ZXJmYWNlIHRoYXQgY29tcGlsZXMgYSBzaW5nbGUgZHluYW1pYwpk aWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwppbmRleCBm MmQ3ZGE3ZGU1Mi4uMDVlMWJjOWM2YzIgMTAwNjQ0Ci0tLSBhL2dkYi9kd2FyZjIvcmVhZC5jCisr KyBiL2dkYi9kd2FyZjIvcmVhZC5jCkBAIC03Njk0LDYgKzc2OTQsNyBAQCBzY2FuX3BhcnRpYWxf c3ltYm9scyAoc3RydWN0IHBhcnRpYWxfZGllX2luZm8gKmZpcnN0X2RpZSwgQ09SRV9BRERSICps b3dwYywKIAkJYWRkX3BhcnRpYWxfZW51bWVyYXRpb24gKHBkaSwgY3UpOwogCSAgICAgIGJyZWFr OwogCSAgICBjYXNlIERXX1RBR19iYXNlX3R5cGU6CisJICAgIGNhc2UgRFdfVEFHX2dlbmVyaWNf c3VicmFuZ2U6CiAJICAgIGNhc2UgRFdfVEFHX3N1YnJhbmdlX3R5cGU6CiAJICAgICAgLyogRmls ZSBzY29wZSBiYXNlIHR5cGUgZGVmaW5pdGlvbnMgYXJlIGFkZGVkIHRvIHRoZSBwYXJ0aWFsCiAJ CSBzeW1ib2wgdGFibGUuICAqLwpAQCAtODAyMCw2ICs4MDIxLDcgQEAgYWRkX3BhcnRpYWxfc3lt Ym9sIChzdHJ1Y3QgcGFydGlhbF9kaWVfaW5mbyAqcGRpLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK ICAgICBjYXNlIERXX1RBR190eXBlZGVmOgogICAgIGNhc2UgRFdfVEFHX2Jhc2VfdHlwZToKICAg ICBjYXNlIERXX1RBR19zdWJyYW5nZV90eXBlOgorICAgIGNhc2UgRFdfVEFHX2dlbmVyaWNfc3Vi cmFuZ2U6CiAgICAgICBwc3ltYm9sLmRvbWFpbiA9IFZBUl9ET01BSU47CiAgICAgICBwc3ltYm9s LmFjbGFzcyA9IExPQ19UWVBFREVGOwogICAgICAgd2hlcmUgPSBwc3ltYm9sX3BsYWNlbWVudDo6 U1RBVElDOwpAQCAtOTcyMSw2ICs5NzIzLDcgQEAgcHJvY2Vzc19kaWUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgIC8qIEZBTExUSFJPVUdIICovCiAg ICAgY2FzZSBEV19UQUdfYmFzZV90eXBlOgogICAgIGNhc2UgRFdfVEFHX3N1YnJhbmdlX3R5cGU6 CisgICAgY2FzZSBEV19UQUdfZ2VuZXJpY19zdWJyYW5nZToKICAgICBjYXNlIERXX1RBR190eXBl ZGVmOgogICAgICAgLyogQWRkIGEgdHlwZWRlZiBzeW1ib2wgZm9yIHRoZSB0eXBlIGRlZmluaXRp b24sIGlmIGl0IGhhcyBhCiAJIERXX0FUX25hbWUuICAqLwpAQCAtMTY2MTIsNyArMTY2MTUsOCBA QCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKICAgY2hpbGRfZGllID0gZGllLT5jaGlsZDsKICAgd2hpbGUgKGNoaWxkX2RpZSAmJiBj aGlsZF9kaWUtPnRhZykKICAgICB7Ci0gICAgICBpZiAoY2hpbGRfZGllLT50YWcgPT0gRFdfVEFH X3N1YnJhbmdlX3R5cGUpCisgICAgICBpZiAoY2hpbGRfZGllLT50YWcgPT0gRFdfVEFHX3N1YnJh bmdlX3R5cGUKKyAgICAgICAgICB8fCBjaGlsZF9kaWUtPnRhZyA9PSBEV19UQUdfZ2VuZXJpY19z dWJyYW5nZSkKIAl7CiAJICBzdHJ1Y3QgdHlwZSAqY2hpbGRfdHlwZSA9IHJlYWRfdHlwZV9kaWUg KGNoaWxkX2RpZSwgY3UpOwogCkBAIC0xODkzNCw2ICsxODkzOCw3IEBAIGlzX3R5cGVfdGFnX2Zv cl9wYXJ0aWFsIChpbnQgdGFnLCBlbnVtIGxhbmd1YWdlIGxhbmcpCiAgICAgY2FzZSBEV19UQUdf ZW51bWVyYXRpb25fdHlwZToKICAgICBjYXNlIERXX1RBR19zdHJ1Y3R1cmVfdHlwZToKICAgICBj YXNlIERXX1RBR19zdWJyYW5nZV90eXBlOgorICAgIGNhc2UgRFdfVEFHX2dlbmVyaWNfc3VicmFu Z2U6CiAgICAgY2FzZSBEV19UQUdfdHlwZWRlZjoKICAgICBjYXNlIERXX1RBR191bmlvbl90eXBl OgogICAgICAgcmV0dXJuIDE7CkBAIC0xOTA2Nyw2ICsxOTA3Miw3IEBAIGxvYWRfcGFydGlhbF9k aWVzIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAogCSAgJiYgKChwZGku dGFnID09IERXX1RBR190eXBlZGVmICYmICFwZGkuaGFzX2NoaWxkcmVuKQogCSAgICAgIHx8IHBk aS50YWcgPT0gRFdfVEFHX2Jhc2VfdHlwZQogCSAgICAgIHx8IHBkaS50YWcgPT0gRFdfVEFHX2Fy cmF5X3R5cGUKKwkgICAgICB8fCBwZGkudGFnID09IERXX1RBR19nZW5lcmljX3N1YnJhbmdlCiAJ ICAgICAgfHwgcGRpLnRhZyA9PSBEV19UQUdfc3VicmFuZ2VfdHlwZSkpCiAJewogCSAgaWYgKGJ1 aWxkaW5nX3BzeW10YWIgJiYgcGRpLnJhd19uYW1lICE9IE5VTEwpCkBAIC0yMTk4OSw2ICsyMTk5 NSw3IEBAIG5ld19zeW1ib2wgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAJY2FzZSBEV19UQUdfYXJyYXlfdHlwZToKIAljYXNl IERXX1RBR19iYXNlX3R5cGU6CiAJY2FzZSBEV19UQUdfc3VicmFuZ2VfdHlwZToKKwljYXNlIERX X1RBR19nZW5lcmljX3N1YnJhbmdlOgogCSAgU1lNQk9MX0FDTEFTU19JTkRFWCAoc3ltKSA9IExP Q19UWVBFREVGOwogCSAgU1lNQk9MX0RPTUFJTiAoc3ltKSA9IFZBUl9ET01BSU47CiAJICBsaXN0 X3RvX2FkZCA9IGN1LT5saXN0X2luX3Njb3BlOwpAQCAtMjI0ODIsNiArMjI0ODksNyBAQCByZWFk X3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK ICAgICBjYXNlIERXX1RBR190eXBlZGVmOgogICAgICAgdGhpc190eXBlID0gcmVhZF90eXBlZGVm IChkaWUsIGN1KTsKICAgICAgIGJyZWFrOworICAgIGNhc2UgRFdfVEFHX2dlbmVyaWNfc3VicmFu Z2U6CiAgICAgY2FzZSBEV19UQUdfc3VicmFuZ2VfdHlwZToKICAgICAgIHRoaXNfdHlwZSA9IHJl YWRfc3VicmFuZ2VfdHlwZSAoZGllLCBjdSk7CiAgICAgICBicmVhazsKQEAgLTI0NzY3LDYgKzI0 Nzc1LDE1IEBAIHNldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBl ICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKIAl0eXBlLT5hZGRfZHluX3Byb3AgKERZTl9Q Uk9QX0FTU09DSUFURUQsIHByb3ApOwogICAgIH0KIAorICAvKiBSZWFkIERXX0FUX3JhbmsgYW5k IHNldCBpbiB0eXBlICovCisgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9yYW5rLCBj dSk7CisgIGlmIChhdHRyICE9IE5VTEwpCisgICAgeworICAgICAgc3RydWN0IHR5cGUgKnByb3Bf dHlwZSA9IGN1LT5hZGRyX3NpemVkX2ludF90eXBlIChmYWxzZSk7CisgICAgICBpZiAoYXR0cl90 b19keW5hbWljX3Byb3AgKGF0dHIsIGRpZSwgY3UsICZwcm9wLCBwcm9wX3R5cGUpKQorCXR5cGUt PmFkZF9keW5fcHJvcCAoRFlOX1BST1BfUkFOSywgcHJvcCk7CisgICAgfQorCiAgIC8qIFJlYWQg RFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUuICAqLwogICBpZiAoIXNraXBfZGF0 YV9sb2NhdGlvbikKICAgICB7CmRpZmYgLS1naXQgYS9nZGIvZi10eXBlcHJpbnQuYyBiL2dkYi9m LXR5cGVwcmludC5jCmluZGV4IDE3OTFjYjI5NDUxLi45NTUwMGU5MzBiYSAxMDA2NDQKLS0tIGEv Z2RiL2YtdHlwZXByaW50LmMKKysrIGIvZ2RiL2YtdHlwZXByaW50LmMKQEAgLTE3Nyw5ICsxNzcs NyBAQCBmX2xhbmd1YWdlOjpmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBl ICp0eXBlLAogICAgICAgZWxzZSBpZiAoKFRZUEVfQVNTT0NJQVRFRF9QUk9QICh0eXBlKQogCQkm JiBQUk9QX0NPTlNUICE9IFRZUEVfQVNTT0NJQVRFRF9QUk9QICh0eXBlKS0+a2luZCAoKSkKIAkg ICAgICAgfHwgKFRZUEVfQUxMT0NBVEVEX1BST1AgKHR5cGUpCi0JCSAgICYmIFBST1BfQ09OU1Qg IT0gVFlQRV9BTExPQ0FURURfUFJPUCAodHlwZSktPmtpbmQgKCkpCi0JICAgICAgIHx8IChUWVBF X0RBVEFfTE9DQVRJT04gKHR5cGUpCi0JCSAgICYmIFBST1BfQ09OU1QgIT0gVFlQRV9EQVRBX0xP Q0FUSU9OICh0eXBlKS0+a2luZCAoKSkpCisJCSAgICYmIFBST1BfQ09OU1QgIT0gVFlQRV9BTExP Q0FURURfUFJPUCAodHlwZSktPmtpbmQgKCkpKQogCXsKIAkgIC8qIFRoaXMgY2FzZSBleGlzdCB3 aGVuIHdlIHB0eXBlIGEgdHlwZW5hbWUgd2hpY2ggaGFzIHRoZSBkeW5hbWljCiAJICAgICBwcm9w ZXJ0aWVzIGJ1dCBjYW5ub3QgYmUgcmVzb2x2ZWQgYXMgdGhlcmUgaXMgbm8gb2JqZWN0LiAgKi8K ZGlmZiAtLWdpdCBhL2dkYi9maW5kdmFyLmMgYi9nZGIvZmluZHZhci5jCmluZGV4IGEwMDMxZDJk YWRkLi5hMWMyNTMyM2JjNiAxMDA2NDQKLS0tIGEvZ2RiL2ZpbmR2YXIuYworKysgYi9nZGIvZmlu ZHZhci5jCkBAIC00NDAsNyArNDQwLDcgQEAgZm9sbG93X3N0YXRpY19saW5rIChzdHJ1Y3QgZnJh bWVfaW5mbyAqZnJhbWUsCiB7CiAgIENPUkVfQUREUiB1cHBlcl9mcmFtZV9iYXNlOwogCi0gIGlm ICghZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChzdGF0aWNfbGluaywgZnJhbWUsIE5VTEwsICZ1 cHBlcl9mcmFtZV9iYXNlKSkKKyAgaWYgKCFkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKHN0YXRp Y19saW5rLCBmcmFtZSwgTlVMTCwgICZ1cHBlcl9mcmFtZV9iYXNlLCAwKSkKICAgICByZXR1cm4g TlVMTDsKIAogICAvKiBOb3cgY2xpbWIgdXAgdGhlIHN0YWNrIGZyYW1lIHVudGlsIHdlIHJlYWNo IHRoZSBmcmFtZSB3ZSBhcmUgaW50ZXJlc3RlZApkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMg Yi9nZGIvZ2RidHlwZXMuYwppbmRleCAwMDkzNGQ5YTRiYy4uMjI3YjdhZjJjMWIgMTAwNjQ0Ci0t LSBhL2dkYi9nZGJ0eXBlcy5jCisrKyBiL2dkYi9nZGJ0eXBlcy5jCkBAIC0yMTk2LDYgKzIxOTYs NyBAQCBzdGF0aWMgc3RydWN0IHR5cGUgKnJlc29sdmVfZHluYW1pY190eXBlX2ludGVybmFsCiBz dGF0aWMgc3RydWN0IHR5cGUgKgogcmVzb2x2ZV9keW5hbWljX3JhbmdlIChzdHJ1Y3QgdHlwZSAq ZHluX3JhbmdlX3R5cGUsCiAJCSAgICAgICBzdHJ1Y3QgcHJvcGVydHlfYWRkcl9pbmZvICphZGRy X3N0YWNrLAorCQkgICAgICAgaW50IGN1cnJfcmFuaywKIAkJICAgICAgIGJvb2wgcmVzb2x2ZV9w ID0gdHJ1ZSkKIHsKICAgQ09SRV9BRERSIHZhbHVlOwpAQCAtMjIwNSwxMyArMjIwNiwxMyBAQCBy ZXNvbHZlX2R5bmFtaWNfcmFuZ2UgKHN0cnVjdCB0eXBlICpkeW5fcmFuZ2VfdHlwZSwKICAgZ2Ri X2Fzc2VydCAoZHluX3JhbmdlX3R5cGUtPmNvZGUgKCkgPT0gVFlQRV9DT0RFX1JBTkdFKTsKIAog ICBjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wID0gJmR5bl9yYW5nZV90eXBlLT5ib3Vu ZHMgKCktPmxvdzsKLSAgaWYgKHJlc29sdmVfcCAmJiBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkg KHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICZ2YWx1ZSkpCisgIGlmIChyZXNvbHZlX3AgJiYgZHdh cmYyX2V2YWx1YXRlX3Byb3BlcnR5IChwcm9wLCBOVUxMLCBhZGRyX3N0YWNrLCAmdmFsdWUsIGN1 cnJfcmFuaykpCiAgICAgbG93X2JvdW5kLnNldF9jb25zdF92YWwgKHZhbHVlKTsKICAgZWxzZQog ICAgIGxvd19ib3VuZC5zZXRfdW5kZWZpbmVkICgpOwogCiAgIHByb3AgPSAmZHluX3JhbmdlX3R5 cGUtPmJvdW5kcyAoKS0+aGlnaDsKLSAgaWYgKHJlc29sdmVfcCAmJiBkd2FyZjJfZXZhbHVhdGVf cHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICZ2YWx1ZSkpCisgIGlmIChyZXNvbHZl X3AgJiYgZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChwcm9wLCBOVUxMLCBhZGRyX3N0YWNrLCAm dmFsdWUsIGN1cnJfcmFuaykpCiAgICAgewogICAgICAgaGlnaF9ib3VuZC5zZXRfY29uc3RfdmFs ICh2YWx1ZSk7CiAKQEAgLTIyMjQsNyArMjIyNSw3IEBAIHJlc29sdmVfZHluYW1pY19yYW5nZSAo c3RydWN0IHR5cGUgKmR5bl9yYW5nZV90eXBlLAogCiAgIGJvb2wgYnl0ZV9zdHJpZGVfcCA9IGR5 bl9yYW5nZV90eXBlLT5ib3VuZHMgKCktPmZsYWdfaXNfYnl0ZV9zdHJpZGU7CiAgIHByb3AgPSAm ZHluX3JhbmdlX3R5cGUtPmJvdW5kcyAoKS0+c3RyaWRlOwotICBpZiAocmVzb2x2ZV9wICYmIGR3 YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFjaywgJnZhbHVlKSkK KyAgaWYgKHJlc29sdmVfcCAmJiBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEws IGFkZHJfc3RhY2ssICZ2YWx1ZSwgY3Vycl9yYW5rKSkKICAgICB7CiAgICAgICBzdHJpZGUuc2V0 X2NvbnN0X3ZhbCAodmFsdWUpOwogCkBAIC0yMjcyLDggKzIyNzMsMTIgQEAgcmVzb2x2ZV9keW5h bWljX2FycmF5X29yX3N0cmluZyAoc3RydWN0IHR5cGUgKnR5cGUsCiAgIHN0cnVjdCB0eXBlICpl bHRfdHlwZTsKICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGU7CiAgIHN0cnVjdCB0eXBlICphcnlf ZGltOworICBzdHJ1Y3QgdHlwZSAqdG1wX3R5cGU7CisgIHN0cnVjdCB0eXBlICplbGVtZW50X3R5 cGU7CiAgIHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3A7CiAgIHVuc2lnbmVkIGludCBiaXRfc3Ry aWRlID0gMDsKKyAgdW5zaWduZWQgaW50IGk7CisgIHN0YXRpYyBpbnQgcmFuayA9IDA7CiAKICAg LyogRm9yIGR5bmFtaWMgdHlwZSByZXNvbHV0aW9uIHN0cmluZ3MgY2FuIGJlIHRyZWF0ZWQgbGlr ZSBhcnJheXMgb2YKICAgICAgY2hhcmFjdGVycy4gICovCkBAIC0yMjkzLDcgKzIyOTgsNyBAQCBy ZXNvbHZlX2R5bmFtaWNfYXJyYXlfb3Jfc3RyaW5nIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAg ZGltZW5zaW9uIG9mIHRoZSBhcnJheS4gICovCiAgIHByb3AgPSBUWVBFX0FMTE9DQVRFRF9QUk9Q ICh0eXBlKTsKICAgaWYgKHByb3AgIT0gTlVMTCAmJiByZXNvbHZlX3AKLSAgICAgICYmIGR3YXJm Ml9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFjaywgJnZhbHVlKSkKKyAg ICAgICYmIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFjaywg JnZhbHVlLCAwKSkKICAgICB7CiAgICAgICBwcm9wLT5zZXRfY29uc3RfdmFsICh2YWx1ZSk7CiAg ICAgICBpZiAodmFsdWUgPT0gMCkKQEAgLTIzMDIsMTUgKzIzMDcsNDcgQEAgcmVzb2x2ZV9keW5h bWljX2FycmF5X29yX3N0cmluZyAoc3RydWN0IHR5cGUgKnR5cGUsCiAKICAgcHJvcCA9IFRZUEVf QVNTT0NJQVRFRF9QUk9QICh0eXBlKTsKICAgaWYgKHByb3AgIT0gTlVMTCAmJiByZXNvbHZlX3AK LSAgICAgICYmIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFj aywgJnZhbHVlKSkKKyAgICAgICYmIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAocHJvcCwgTlVM TCwgYWRkcl9zdGFjaywgJnZhbHVlLCAwKSkKICAgICB7CiAgICAgICBwcm9wLT5zZXRfY29uc3Rf dmFsICh2YWx1ZSk7CiAgICAgICBpZiAodmFsdWUgPT0gMCkKIAlyZXNvbHZlX3AgPSBmYWxzZTsK ICAgICB9CiAKKyAgLyogUmVzb2x2ZSB0aGUgcmFuayBwcm9wZXJ0eSB0byBnZXQgcmFuayB2YWx1 ZS4gSWYgcmFuayBpcyB6ZXJvIG9yIGlzIG9mCisgICAgIHZhcmlhYmxlIHR5cGUgcmVtb3ZlIHRo ZSBhcnJheSB0eXBlIGZyb20gdGhlIGxpbmtlZCBsaXN0LiBJZiB0aGUgcmFuaworICAgICBpcyBn cmVhdGVyIHRoYW4gMSBhZGQgbW9yZSBhcnJheSB0eXBlcyB0byB0aGUgbGlzdCBiYXNlZCBvbiBy YW5rIHZhbHVlCisgICAgIHRvIGhvbGQgbXVsdGkgZGltZW5zaW9uYWwgYXJyYXkgaW5mb3JtYXRp b24uICAgKi8KKyAgcHJvcCA9IFRZUEVfUkFOS19QUk9QICh0eXBlKTsKKyAgaWYgKCFyYW5rICYm IHByb3AgIT0gTlVMTCAmJiByZXNvbHZlX3AKKyAgICAgJiYgIGR3YXJmMl9ldmFsdWF0ZV9wcm9w ZXJ0eSAocHJvcCwgTlVMTCwgYWRkcl9zdGFjaywgJnZhbHVlLCAwKSkKKyAgICB7CisgICAgICBw cm9wLT5zZXRfY29uc3RfdmFsICh2YWx1ZSk7CisgICAgICBpZiAodmFsdWUgPT0gMCkKKyAgICAg IHsKKwlyZXNvbHZlX3AgPSBmYWxzZTsKKwlUWVBFX0RZTl9QUk9QKFRZUEVfVEFSR0VUX1RZUEUo dHlwZSkpID0gVFlQRV9EWU5fUFJPUCh0eXBlKTsKKwl0eXBlID0gVFlQRV9UQVJHRVRfVFlQRSh0 eXBlKTsKKwlyZXR1cm4gdHlwZTsKKyAgICAgIH0KKyAgICAgIGVsc2UKKyAgICAgIHsKKyAgICAg ICAgcmFuayA9IHZhbHVlOworICAgICAgICB0bXBfdHlwZSA9IHR5cGU7CisgICAgICAgIGVsZW1l bnRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUodG1wX3R5cGUpOworICAgICAgICBmb3IgKGkgPSAx OyBpIDwgcmFuazsgaSsrKQorICAgICAgICB7CisgICAgICAgICAgVFlQRV9UQVJHRVRfVFlQRSh0 bXBfdHlwZSkgPSBjb3B5X3R5cGUodG1wX3R5cGUpOworICAgICAgICAgIHRtcF90eXBlID0gVFlQ RV9UQVJHRVRfVFlQRSh0bXBfdHlwZSk7CisgICAgICAgIH0KKyAgICAgICAgVFlQRV9UQVJHRVRf VFlQRSh0bXBfdHlwZSkgPSBlbGVtZW50X3R5cGU7CisgICAgICB9CisgICAgfQorCiAgIHJhbmdl X3R5cGUgPSBjaGVja190eXBlZGVmICh0eXBlLT5pbmRleF90eXBlICgpKTsKLSAgcmFuZ2VfdHlw ZSA9IHJlc29sdmVfZHluYW1pY19yYW5nZSAocmFuZ2VfdHlwZSwgYWRkcl9zdGFjaywgcmVzb2x2 ZV9wKTsKKyAgcmFuZ2VfdHlwZSA9IHJlc29sdmVfZHluYW1pY19yYW5nZSAocmFuZ2VfdHlwZSwg YWRkcl9zdGFjaywgcmFuaywgcmVzb2x2ZV9wKTsKKyAgaWYgKHJhbmspCisgICAgcmFuay0tOwog CiAgIGFyeV9kaW0gPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSk7CiAg IGlmIChhcnlfZGltICE9IE5VTEwgJiYgYXJ5X2RpbS0+Y29kZSAoKSA9PSBUWVBFX0NPREVfQVJS QVkpCkBAIC0yMzIxLDcgKzIzNTgsNyBAQCByZXNvbHZlX2R5bmFtaWNfYXJyYXlfb3Jfc3RyaW5n IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgcHJvcCA9IHR5cGUtPmR5bl9wcm9wIChEWU5fUFJPUF9C WVRFX1NUUklERSk7CiAgIGlmIChwcm9wICE9IE5VTEwgJiYgcmVzb2x2ZV9wKQogICAgIHsKLSAg ICAgIGlmIChkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ss ICZ2YWx1ZSkpCisgICAgICBpZiAoZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5IChwcm9wLCBOVUxM LCBhZGRyX3N0YWNrLCAgJnZhbHVlLCAwKSkKIAl7CiAJICB0eXBlLT5yZW1vdmVfZHluX3Byb3Ag KERZTl9QUk9QX0JZVEVfU1RSSURFKTsKIAkgIGJpdF9zdHJpZGUgPSAodW5zaWduZWQgaW50KSAo dmFsdWUgKiA4KTsKQEAgLTI1OTcsNyArMjYzNCw3IEBAIHJlc29sdmVfZHluYW1pY19zdHJ1Y3Qg KHN0cnVjdCB0eXBlICp0eXBlLAogCSAgcHJvcC5zZXRfbG9jZXhwciAoJmJhdG9uKTsKIAogCSAg Q09SRV9BRERSIGFkZHI7Ci0JICBpZiAoZHdhcmYyX2V2YWx1YXRlX3Byb3BlcnR5ICgmcHJvcCwg bnVsbHB0ciwgYWRkcl9zdGFjaywgJmFkZHIsCisJICBpZiAoZHdhcmYyX2V2YWx1YXRlX3Byb3Bl cnR5ICgmcHJvcCwgbnVsbHB0ciwgYWRkcl9zdGFjaywgJmFkZHIsIDAsCiAJCQkJCXRydWUpKQog CSAgICByZXNvbHZlZF90eXBlLT5maWVsZCAoaSkuc2V0X2xvY19iaXRwb3MKIAkgICAgICAoVEFS R0VUX0NIQVJfQklUICogKGFkZHIgLSBhZGRyX3N0YWNrLT5hZGRyKSk7CkBAIC0yNjgyLDcgKzI3 MTksNyBAQCByZXNvbHZlX2R5bmFtaWNfdHlwZV9pbnRlcm5hbCAoc3RydWN0IHR5cGUgKnR5cGUs CiAgIGdkYjo6b3B0aW9uYWw8Q09SRV9BRERSPiB0eXBlX2xlbmd0aDsKICAgcHJvcCA9IFRZUEVf RFlOQU1JQ19MRU5HVEggKHR5cGUpOwogICBpZiAocHJvcCAhPSBOVUxMCi0gICAgICAmJiBkd2Fy ZjJfZXZhbHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICZ2YWx1ZSkpCisg ICAgICAmJiBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ss ICZ2YWx1ZSwgMCkpCiAgICAgdHlwZV9sZW5ndGggPSB2YWx1ZTsKIAogICBpZiAodHlwZS0+Y29k ZSAoKSA9PSBUWVBFX0NPREVfVFlQRURFRikKQEAgLTI3MjcsNyArMjc2NCw3IEBAIHJlc29sdmVf ZHluYW1pY190eXBlX2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwKIAkgIGJyZWFrOwogCiAJ Y2FzZSBUWVBFX0NPREVfUkFOR0U6Ci0JICByZXNvbHZlZF90eXBlID0gcmVzb2x2ZV9keW5hbWlj X3JhbmdlICh0eXBlLCBhZGRyX3N0YWNrKTsKKwkgIHJlc29sdmVkX3R5cGUgPSByZXNvbHZlX2R5 bmFtaWNfcmFuZ2UgKHR5cGUsIGFkZHJfc3RhY2ssIDApOwogCSAgYnJlYWs7CiAKIAljYXNlIFRZ UEVfQ09ERV9VTklPTjoKQEAgLTI3NTIsNyArMjc4OSw3IEBAIHJlc29sdmVfZHluYW1pY190eXBl X2ludGVybmFsIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgLyogUmVzb2x2ZSBkYXRhX2xvY2F0aW9u IGF0dHJpYnV0ZS4gICovCiAgIHByb3AgPSBUWVBFX0RBVEFfTE9DQVRJT04gKHJlc29sdmVkX3R5 cGUpOwogICBpZiAocHJvcCAhPSBOVUxMCi0gICAgICAmJiBkd2FyZjJfZXZhbHVhdGVfcHJvcGVy dHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICZ2YWx1ZSkpCisgICAgICAmJiBkd2FyZjJfZXZh bHVhdGVfcHJvcGVydHkgKHByb3AsIE5VTEwsIGFkZHJfc3RhY2ssICAmdmFsdWUsIDApKQogICAg IHsKICAgICAgIC8qIFN0YXJ0IG9mIEZvcnRyYW4gaGFjay4gIFNlZSBjb21tZW50IGluIGYtbGFu Zy5oIGZvciB3aGF0IGlzIGdvaW5nCiAJIG9uIGhlcmUuKi8KZGlmZiAtLWdpdCBhL2dkYi9nZGJ0 eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKaW5kZXggNTI4NGE0YzNhMDMuLjM3NGY3ZTllMWY2IDEw MDY0NAotLS0gYS9nZGIvZ2RidHlwZXMuaAorKysgYi9nZGIvZ2RidHlwZXMuaApAQCAtNTU2LDYg KzU1NiwxMCBAQCBlbnVtIGR5bmFtaWNfcHJvcF9ub2RlX2tpbmQKICAgLyogQSBwcm9wZXJ0eSBo b2xkaW5nIHZhcmlhbnQgcGFydHMuICAqLwogICBEWU5fUFJPUF9WQVJJQU5UX1BBUlRTLAogCisg IC8qIEEgcHJvcGVydHkgcmVwcmVzZW50aW5nIERXX0FUX3JhbmsuIFRoZSBwcmVzZW5jZSBvZiB0 aGlzIGF0dHJpYnV0ZQorICAgICBpbmRpY2F0ZXMgdGhhdCB0aGUgb2JqZWN0IGlzIG9mIGFzc3Vt ZWQgcmFuayBhcnJheSB0eXBlLiAgKi8KKyAgRFlOX1BST1BfUkFOSywKKwogICAvKiBBIHByb3Bl cnR5IGhvbGRpbmcgdGhlIHNpemUgb2YgdGhlIHR5cGUuICAqLwogICBEWU5fUFJPUF9CWVRFX1NJ WkUsCiB9OwpAQCAtMjAzNSw2ICsyMDM5LDcgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9h dXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CiAjZGVmaW5lIFRZUEVfUkVGRVJFTkNFX1RZUEUodGhp c3R5cGUpICh0aGlzdHlwZSktPnJlZmVyZW5jZV90eXBlCiAjZGVmaW5lIFRZUEVfUlZBTFVFX1JF RkVSRU5DRV9UWVBFKHRoaXN0eXBlKSAodGhpc3R5cGUpLT5ydmFsdWVfcmVmZXJlbmNlX3R5cGUK ICNkZWZpbmUgVFlQRV9DSEFJTih0aGlzdHlwZSkgKHRoaXN0eXBlKS0+Y2hhaW4KKyNkZWZpbmUg VFlQRV9EWU5fUFJPUCh0aGlzdHlwZSkgIFRZUEVfTUFJTl9UWVBFKHRoaXN0eXBlKS0+ZHluX3By b3BfbGlzdAogLyogKiBOb3RlIHRoYXQgaWYgdGhpc3R5cGUgaXMgYSBUWVBFREVGIHR5cGUsIHlv dSBoYXZlIHRvIGNhbGwgY2hlY2tfdHlwZWRlZi4KICAgIEJ1dCBjaGVja190eXBlZGVmIGRvZXMg c2V0IHRoZSBUWVBFX0xFTkdUSCBvZiB0aGUgVFlQRURFRiB0eXBlLAogICAgc28geW91IG9ubHkg aGF2ZSB0byBjYWxsIGNoZWNrX3R5cGVkZWYgb25jZS4gIFNpbmNlIGFsbG9jYXRlX3ZhbHVlCkBA IC0yMDc3LDYgKzIwODIsOCBAQCBleHRlcm4gYm9vbCBzZXRfdHlwZV9hbGlnbiAoc3RydWN0IHR5 cGUgKiwgVUxPTkdFU1QpOwogICAoKHRoaXN0eXBlKS0+ZHluX3Byb3AgKERZTl9QUk9QX0FMTE9D QVRFRCkpCiAjZGVmaW5lIFRZUEVfQVNTT0NJQVRFRF9QUk9QKHRoaXN0eXBlKSBcCiAgICgodGhp c3R5cGUpLT5keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCkpCisjZGVmaW5lIFRZUEVfUkFO S19QUk9QKHRoaXN0eXBlKSBcCisgICgodGhpc3R5cGUpLT5keW5fcHJvcCAoRFlOX1BST1BfUkFO SykpCiAKIC8qIEMrKyAqLwogCmRpZmYgLS1naXQgYS9nZGIvZ251LXYzLWFiaS5jIGIvZ2RiL2du dS12My1hYmkuYwppbmRleCAxODdjMTA1OTVhYy4uZTQyZTIwMTQ4ZjQgMTAwNjQ0Ci0tLSBhL2dk Yi9nbnUtdjMtYWJpLmMKKysrIGIvZ2RiL2dudS12My1hYmkuYwpAQCAtNDgzLDcgKzQ4Myw3IEBA IGdudXYzX2Jhc2VjbGFzc19vZmZzZXQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCiAK ICAgICAgIENPUkVfQUREUiByZXN1bHQ7CiAgICAgICBpZiAoZHdhcmYyX2V2YWx1YXRlX3Byb3Bl cnR5ICgmcHJvcCwgbnVsbHB0ciwgJmFkZHJfc3RhY2ssICZyZXN1bHQsCi0JCQkJICAgIHRydWUp KQorCQkJCSAgICAwLCB0cnVlKSkKIAlyZXR1cm4gKGludCkgKHJlc3VsdCAtIGFkZHJfc3RhY2su YWRkcik7CiAgICAgfQogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2Fz c3VtZWRyYW5rLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZXhw Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lMzk2MWQwMDI3OAotLS0g L2Rldi9udWxsCisrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJhbmsuZXhw CkBAIC0wLDAgKzEsNzkgQEAKKyMgQ29weXJpZ2h0IDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMg KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m CisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4gLgorCisjIFRlc3RpbmcgR0RCJ3MgaW1wbGVt ZW50YXRpb24gb2YgQVNTVU1FRCBSQU5LLgorCitpZiB7W3NraXBfZm9ydHJhbl90ZXN0c119IHsg cmV0dXJuIC0xIH0KKworc3RhbmRhcmRfdGVzdGZpbGUgIi5mOTAiCitsb2FkX2xpYiBmb3J0cmFu LmV4cAorCitpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHt0ZXN0ZmlsZX0uZXhwICR7dGVzdGZp bGV9ICR7c3JjZmlsZX0gXAorCSB7ZGVidWcgZjkwfV19IHsKKyAgICByZXR1cm4gLTEKK30KKwor aWYgIVtmb3J0cmFuX3J1bnRvX21haW5dIHsKKyAgICB1bnRlc3RlZCAiY291bGQgbm90IHJ1biB0 byBtYWluIgorICAgIHJldHVybiAtMQorfQorCitnZGJfYnJlYWtwb2ludCBbZ2RiX2dldF9saW5l X251bWJlciAiVGVzdCBCcmVha3BvaW50Il0KK2dkYl9icmVha3BvaW50IFtnZGJfZ2V0X2xpbmVf bnVtYmVyICJGaW5hbCBCcmVha3BvaW50Il0KKworIyBXZSBwbGFjZSBhIGxpbWl0IG9uIHRoZSBu dW1iZXIgb2YgdGVzdHMgdGhhdCBjYW4gYmUgcnVuLCBqdXN0IGluCisjIGNhc2Ugc29tZXRoaW5n IGdvZXMgd3JvbmcsIGFuZCBHREIgZ2V0cyBzdHVjayBpbiBhbiBsb29wIGhlcmUuCitzZXQgZm91 bmRfZmluYWxfYnJlYWtwb2ludCBmYWxzZQorc2V0IHRlc3RfY291bnQgMAord2hpbGUgeyAkdGVz dF9jb3VudCA8IDUwMCB9IHsKKyAgICB3aXRoX3Rlc3RfcHJlZml4ICJ0ZXN0ICR0ZXN0X2NvdW50 IiB7CisJaW5jciB0ZXN0X2NvdW50CisKKwlnZGJfdGVzdF9tdWx0aXBsZSAiY29udGludWUiICJj b250aW51ZSIgeworCSAgICAtcmUgLXdyYXAgIiEgVGVzdCBCcmVha3BvaW50IiB7CisJCSMgV2Ug Y2FuIHJ1biBhIHRlc3QgZnJvbSBoZXJlLgorCSAgICB9CisJICAgIC1yZSAiISBGaW5hbCBCcmVh a3BvaW50IiB7CisJCSMgV2UncmUgZG9uZSB3aXRoIHRoZSB0ZXN0cy4KKwkJc2V0IGZvdW5kX2Zp bmFsX2JyZWFrcG9pbnQgdHJ1ZQorCSAgICB9CisJfQorCisJaWYgKCRmb3VuZF9maW5hbF9icmVh a3BvaW50KSB7CisJICAgIGJyZWFrCisJfQorCisJIyBGaXJzdCBncmFiIHRoZSBleHBlY3RlZCBh bnN3ZXIuCisJc2V0IGFuc3dlciBbZ2V0X3ZhbHVlb2YgIiIgInJhbmsoYW5zd2VyKSIgIioqdW5r bm93bioqIl0KKworCSMgTm93IG1vdmUgdXAgYSBmcmFtZSBhbmQgZmlndXJlIG91dCBhIGNvbW1h bmQgZm9yIHVzIHRvIHJ1bgorCSMgYXMgYSB0ZXN0LgorCXNldCBjb21tYW5kICIiCisJZ2RiX3Rl c3RfbXVsdGlwbGUgInVwIiAidXAiIHsKKwktcmUgLXdyYXAgIlxyXG5cWzAtOVxdK1xbIFx0XF0r Y2FsbCB0ZXN0X3JhbmsgKFxbXlxyXG5cXSspIiB7CisJCXNldCBjb21tYW5kICRleHBlY3Rfb3V0 KDEsc3RyaW5nKQorCSAgICB9CisJfQorCisJZ2RiX2Fzc2VydCB7ICFbc3RyaW5nIGVxdWFsICRj b21tYW5kICIiXSB9ICJmb3VuZCBhIGNvbW1hbmQgdG8gcnVuIgorCisJZ2RiX3Rlc3QgInAgcmFu aygkY29tbWFuZCkiICIgPSAoJGFuc3dlcikiCisgICAgfQorfQorCisjIEVuc3VyZSB3ZSByZWFj aGVkIHRoZSBmaW5hbCBicmVha3BvaW50LiAgSWYgbW9yZSB0ZXN0cyBoYXZlIGJlZW4gYWRkZWQK KyMgdG8gdGhlIHRlc3Qgc2NyaXB0LCBhbmQgdGhpcyBzdGFydHMgZmFpbGluZywgdGhlbiB0aGUg c2FmZXR5ICd3aGlsZScKKyMgbG9vcCBhYm92ZSBtaWdodCBuZWVkIHRvIGJlIGluY3JlYXNlZC4K K2dkYl9hc3NlcnQgeyRmb3VuZF9maW5hbF9icmVha3BvaW50fSAicmFuIGFsbCBjb21waWxlZCBp biB0ZXN0cyIKZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vYXNzdW1lZHJh bmsuZjkwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5mOTAKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjUzYjRkN2ZjMzVkCi0tLSAvZGV2L251 bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hc3N1bWVkcmFuay5mOTAKQEAgLTAs MCArMSw0MiBAQAorISBDb3B5cmlnaHQgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KKyEKKyEgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKKyEgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyEgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyEgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyEKKyEgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCishIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCishIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKKyEgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyEKKyEg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKyEgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKKyEKKyEgU3RhcnQgb2YgdGVzdCBwcm9ncmFtLgor IQorCisKK1BST0dSQU0gIGFyYW5rCisKK1JFQUwgOjogYXJyYXkxKDEwKQorUkVBTCA6OiBhcnJh eTIoMSwgMikKK1JFQUwgOjogYXJyYXkzKDMsIDQsIDUpCitSRUFMIDo6IGFycmF5NCg0LCA1LCA2 LCA3KQorCitjYWxsIHRlc3RfcmFuayAoYXJyYXkxKQorY2FsbCB0ZXN0X3JhbmsgKGFycmF5MikK K2NhbGwgdGVzdF9yYW5rIChhcnJheTMpCitjYWxsIHRlc3RfcmFuayAoYXJyYXk0KQorCitwcmlu dCAqLCAiIiAhIEZpbmFsIEJyZWFrcG9pbnQKKworQ09OVEFJTlMKKyAgU1VCUk9VVElORSB0ZXN0 X3JhbmsoYW5zd2VyKQorICAgIFJFQUwgOjogYW5zd2VyKC4uKQorICAgIHByaW50ICosIFJBTkso YW5zd2VyKSAgICAgISBUZXN0IEJyZWFrcG9pbnQKKyAgRU5ECisKK0VORCBQUk9HUkFNIGFyYW5r CisKLS0gCjIuMTcuMQoK --_004_DM6PR12MB4219AEC5C71FC0F22300594DE7599DM6PR12MB4219namp_--