From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2054.outbound.protection.outlook.com [40.107.22.54]) by sourceware.org (Postfix) with ESMTPS id 4AB553857737 for ; Wed, 3 May 2023 12:55:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4AB553857737 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A9UaBw0L36Ujmmo8gt9DnqsxVR36++9baOVhbjDU+MQ=; b=n2Q3AWfY4eXRKPDhx1raJWJQFIfreqfLasn5zwynk31Mtzj4k2NFgdJiY+L6T2tNptrPO4URMPd8GiPaPwdLddgndYoMZwSbkM975fhwa3Jdp7PZnDGwQPJ6NfMWSUIZRS+RlAI6CziHkjqiLu2cQYP9Lf5m/4HyylluoxdMLmw= Received: from DUZPR01CA0334.eurprd01.prod.exchangelabs.com (2603:10a6:10:4b8::25) by DB9PR08MB6699.eurprd08.prod.outlook.com (2603:10a6:10:2a7::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.21; Wed, 3 May 2023 12:55:30 +0000 Received: from DBAEUR03FT054.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:4b8:cafe::bb) by DUZPR01CA0334.outlook.office365.com (2603:10a6:10:4b8::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.22 via Frontend Transport; Wed, 3 May 2023 12:55:30 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT054.mail.protection.outlook.com (100.127.142.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6363.20 via Frontend Transport; Wed, 3 May 2023 12:55:30 +0000 Received: ("Tessian outbound 5154e9d36775:v136"); Wed, 03 May 2023 12:55:30 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f52ddd70eedb5bba X-CR-MTA-TID: 64aa7808 Received: from fb79724856fe.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id BEC569FE-1DFF-4D15-ABED-2E11952DE5F7.1; Wed, 03 May 2023 12:55:20 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fb79724856fe.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 03 May 2023 12:55:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Nx4rb89lm6eAVYeNSOJrb9s9Tma63Zc173NRojZTwBVoXl3JWQfwDHWO0WlUeLiKkPw5i7mNkSaI6TwYfQoTK+RRETACK5r4CNB8M9RZr9aHv0WTSGb8qNbVw3bmG27SQMYe8xIGuiPpDHuT/wFxPh3yCk8M4Z6hAEKJkQchsPN0shaJxFyn0tGeVzraFGIF5dEjJo8T/Ws6yxkEaeI0CilQWORHZfLOhFmdw9HNCmbQI0732wqTEMXWdIWokSrPD2QI+3lrvwo55GwcsHYwgdyISaQ3bZsnCtklTDbRb58LO2jb/3Et9IXTXwZ7/cs87r+q3D7SGRkJkghyFYZreg== 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=A9UaBw0L36Ujmmo8gt9DnqsxVR36++9baOVhbjDU+MQ=; b=mcfx0r7xzNwqBasmfms4+ZdXDmM056UgP+PuZwocMclyMlbNRKnghg2wXvk2zq4d8w1iKqgAULlzl1K6undesDTF8Eh3TsinSzZR1/imNDE3YubSU6Tugv9bfCY0sZkaE1CauNBJyvEFtJwOk858GHnSEsZHhbB019QIFJsC07StT4auSp3DTaVFx9tFfB6Mykyc/2BAdZDFYa7Do8dJKnlFOHWxAb5LYpglWNEm91KJy01ubgJWHF7cjy87QzHf4cS+yG+K7/iSjRTig//OQSz/sS7L46qdjdcBCDO8I+LaLRpQqaQKJi+/ADP1DQlkNB4z2qMSACcVnkmetoYTYw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A9UaBw0L36Ujmmo8gt9DnqsxVR36++9baOVhbjDU+MQ=; b=n2Q3AWfY4eXRKPDhx1raJWJQFIfreqfLasn5zwynk31Mtzj4k2NFgdJiY+L6T2tNptrPO4URMPd8GiPaPwdLddgndYoMZwSbkM975fhwa3Jdp7PZnDGwQPJ6NfMWSUIZRS+RlAI6CziHkjqiLu2cQYP9Lf5m/4HyylluoxdMLmw= Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by GV1PR08MB7850.eurprd08.prod.outlook.com (2603:10a6:150:5d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Wed, 3 May 2023 12:55:15 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::db73:66ba:ae70:1ff1%3]) with mapi id 15.20.6363.022; Wed, 3 May 2023 12:55:15 +0000 From: Kyrylo Tkachov To: Stam Markianos-Wright , Andrea Corallo , "gcc-patches@gcc.gnu.org" CC: Richard Earnshaw Subject: RE: [PATCH 04/10] arm: Stop vadcq, vsbcq intrinsics from overwriting the FPSCR NZ flags Thread-Topic: [PATCH 04/10] arm: Stop vadcq, vsbcq intrinsics from overwriting the FPSCR NZ flags Thread-Index: AQHZecTlc0Ob7U01WESkAJpziAspyq9A7iEQgAeROoCAAAoQ8A== Date: Wed, 3 May 2023 12:55:15 +0000 Message-ID: References: <20230428113002.482343-1-andrea.corallo@arm.com> <20230428113002.482343-4-andrea.corallo@arm.com> <2390a355-f7ec-58b5-1faf-a95652a9aef5@arm.com> In-Reply-To: <2390a355-f7ec-58b5-1faf-a95652a9aef5@arm.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: PAXPR08MB6926:EE_|GV1PR08MB7850:EE_|DBAEUR03FT054:EE_|DB9PR08MB6699:EE_ X-MS-Office365-Filtering-Correlation-Id: ae7547a8-9bcd-47b9-f24a-08db4bd5acda x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: dyQZ6q//cK2J89j0G64tW3LwVlKVxfCByak+iyEdxkK+tJ7NeRwBXNRnaAjs/l0Iu+Ia0Km1ypZ7lyqSbt/C4rsRLLOBsSXNc0Nk76o2aZgA/swG8pDr8wH/lPL8Kw5/6NoaLutTtltWhLfnBuYr02OIIn/bIkxWJdia7U3qIc+Bl5nQDmZ3KRHe9jiPL7WU5zXOYH+wrJ/3Vr6kfYc13S7YrZznDmxYez07Rhl/tNOz1siO8gkeTPG8TxcVdXl9YquuJ09MQYh1MjDnDN+VTFuPArbwYy3qrfCRQJyJJarCBKdShIShEaO09+DjXCJfZr3mMqvDPOCG5Mwuz9uOMKAWgJbNB3mrBN527nu/OmUbsZF3Jhw62ot/gpiU1qu7S6lWu1K1meZzdF6g0ojRclQOtCdV3YsHuKYEB0Clm8D247X1fuJ9UA//8WT4u0qbXh6nNoDH4iYxE/gBxEbeDhiD+fqnJDSzDhKtuIx4jk7ujHL4bfQrYx//2PXwNBtjZUFtLa1asgZiqmo9Ql1YmMA9dhylQseB3M323fsoW3V4laa7hjFzRTJFDTCiZpJXF0Q5Nqs9aYbCw2XciZVy1tYF8JHjCEGZQA9BKuLCbgo9Sji1H5Mwmfn8qJ+YGT+O X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6926.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(366004)(136003)(346002)(396003)(451199021)(55016003)(9686003)(53546011)(52536014)(8936002)(6506007)(26005)(122000001)(83380400001)(7696005)(4326008)(41300700001)(8676002)(478600001)(71200400001)(316002)(110136005)(5660300002)(76116006)(186003)(66476007)(66946007)(33656002)(66556008)(66446008)(64756008)(86362001)(38070700005)(2906002)(38100700002);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7850 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT054.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 51929043-92e2-42a8-7384-08db4bd5a401 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: k3/uTPagKbW/jIhJCWqY1vOHVqd7gkrJatHG9hiwiPo837yRw/1hfD//w6A6Yp6lcYyX2rq7e8bmnAnkDFn/tk0pBY3PgSIyzNhQPP/dMgFbCDDxa9g/iRU5DRmsVt7kXeu74WkxWsqQfGC7jf0Fyx8BuW1F3v8z4D7lMb37WPsHEybhmuUhRZrRUe/VQP2XS94lNPylAtmA01BE8DCnw35BQIT+VNqt1uAmVfHKqykCgY2NdOImrqTGwJ2zcJtPwgAF6STRScrWsUKJfIU21fRVjJFdL3DXbAZS3fADQPwgfGlWirRJ7ia/dToye/rVw5SG71XY8T3P+8BJKpxvK6DQ27/deHmYPGChg+sQu1vMHqJFje6CVNNfleXfgay5t5vptDqexVsGhWdfqGZNzYpS8Tq9CE4DTqk2zkyH9oBvIPSlBqQ6IgQWirQuwe6zatdwln9aGaOgT9y85Qa9C2k4EqKz1f7RV6GdVfjFk4uWWxhOtZGumS2aoyUZusl1aSzp8rwmespLq52NAFU8lFgQEFUEkBwI0g2AWElsAfHtipfDzXtbJSJVfZGouDskuQF8JW1vJAtzMMdEFAjIKQlWxWTbPjB+YWgrj+AebRhAjRXgN/CStjVo4QKGNeYjyambbhJ5nultz7K7VtbcpSRZhA5JBk8YbA5TnLrpO02SmePXOEWtfFxk1MNAnExgJ1IltSJf1ykprjt0bMx5Ni2vFNn8unUfC1YLVAnExz4= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(376002)(136003)(346002)(396003)(451199021)(36840700001)(40470700004)(46966006)(82740400003)(356005)(81166007)(2906002)(40460700003)(8936002)(8676002)(52536014)(5660300002)(82310400005)(33656002)(86362001)(55016003)(40480700001)(36860700001)(47076005)(7696005)(478600001)(110136005)(186003)(9686003)(6506007)(26005)(336012)(53546011)(83380400001)(41300700001)(70206006)(70586007)(4326008)(34020700004)(316002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2023 12:55:30.3204 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ae7547a8-9bcd-47b9-f24a-08db4bd5acda X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT054.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6699 X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY 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: DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3RhbSBNYXJraWFub3Mt V3JpZ2h0IDxTdGFtLk1hcmtpYW5vcy1XcmlnaHRAYXJtLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5 LCBNYXkgMywgMjAyMyAxOjE5IFBNDQo+IFRvOiBLeXJ5bG8gVGthY2hvdiA8S3lyeWxvLlRrYWNo b3ZAYXJtLmNvbT47IEFuZHJlYSBDb3JhbGxvDQo+IDxBbmRyZWEuQ29yYWxsb0Bhcm0uY29tPjsg Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gQ2M6IFJpY2hhcmQgRWFybnNoYXcgPFJpY2hhcmQu RWFybnNoYXdAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCAwNC8xMF0gYXJtOiBTdG9w IHZhZGNxLCB2c2JjcSBpbnRyaW5zaWNzIGZyb20gb3ZlcndyaXRpbmcNCj4gdGhlIEZQU0NSIE5a IGZsYWdzDQo+IA0KPiANCj4gT24gMjgvMDQvMjAyMyAxNzo0NSwgS3lyeWxvIFRrYWNob3Ygd3Jv dGU6DQo+ID4gSGkgQW5kcmVhLCBTdGFtLA0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4+IEZyb206IEFuZHJlYSBDb3JhbGxvIDxhbmRyZWEuY29yYWxsb0Bhcm0uY29t Pg0KPiA+PiBTZW50OiBGcmlkYXksIEFwcmlsIDI4LCAyMDIzIDEyOjMwIFBNDQo+ID4+IFRvOiBn Y2MtcGF0Y2hlc0BnY2MuZ251Lm9yZw0KPiA+PiBDYzogS3lyeWxvIFRrYWNob3YgPEt5cnlsby5U a2FjaG92QGFybS5jb20+OyBSaWNoYXJkIEVhcm5zaGF3DQo+ID4+IDxSaWNoYXJkLkVhcm5zaGF3 QGFybS5jb20+OyBTdGFtIE1hcmtpYW5vcy1XcmlnaHQNCj4gPFN0YW0uTWFya2lhbm9zLQ0KPiA+ PiBXcmlnaHRAYXJtLmNvbT4NCj4gPj4gU3ViamVjdDogW1BBVENIIDA0LzEwXSBhcm06IFN0b3Ag dmFkY3EsIHZzYmNxIGludHJpbnNpY3MgZnJvbSBvdmVyd3JpdGluZw0KPiB0aGUNCj4gPj4gRlBT Q1IgTlogZmxhZ3MNCj4gPj4NCj4gPj4gRnJvbTogU3RhbSBNYXJraWFub3MtV3JpZ2h0IDxzdGFt Lm1hcmtpYW5vcy13cmlnaHRAYXJtLmNvbT4NCj4gPj4NCj4gPj4gSGkgYWxsLA0KPiA+Pg0KPiA+ PiBXZSBub3RpY2VkIHRoYXQgY2FsbHMgdG8gdGhlIHZhZGNxIGFuZCB2c2JjcSBpbnRyaW5zaWNz LCBib3RoIG9mDQo+ID4+IHdoaWNoIHVzZSBfX2J1aWx0aW5fYXJtX3NldF9mcHNjcl9uemN2cWMg dG8gc2V0IHRoZSBDYXJyeSBmbGFnIGluDQo+ID4+IHRoZSBGUFNDUiwgd291bGQgcHJvZHVjZSB0 aGUgZm9sbG93aW5nIGNvZGU6DQo+ID4+DQo+ID4+IGBgYA0KPiA+PiA8IHIyIGlzIHRoZSAqY2Fy cnkgaW5wdXQgPg0KPiA+PiB2bXJzICByMywgRlBTQ1JfbnpjdnFjDQo+ID4+IGJpYyAgIHIzLCBy MywgIzUzNjg3MDkxMg0KPiA+PiBvcnIgICByMywgcjMsIHIyLCBsc2wgIzI5DQo+ID4+IHZtc3Ig IEZQU0NSX256Y3ZxYywgcjMNCj4gPj4gYGBgDQo+ID4+DQo+ID4+IHdoZW4gdGhlIE1WRSBBQ0xF IGluc3RlYWQgZ2l2ZXMgYSBkaWZmZXJlbnQgaW5zdHJ1Y3Rpb24gc2VxdWVuY2Ugb2Y6DQo+ID4+ IGBgYA0KPiA+PiA8IFJ0IGlzIHRoZSAqY2FycnkgaW5wdXQgPg0KPiA+PiBWTVJTIFJzLEZQU0NS X256Y3ZxYw0KPiA+PiBCRkkgUnMsUnQsIzI5LCMxDQo+ID4+IFZNU1IgRlBTQ1JfbnpjdnFjLFJz DQo+ID4+IGBgYA0KPiA+Pg0KPiA+PiB0aGUgYmljICsgb3JyIHBhaXIgaXMgc2xvd2VyIGFuZCBp dCdzIGFsc28gd3JvbmcsIGJlY2F1c2UsIGlmIHRoZQ0KPiA+PiAqY2FycnkgaW5wdXQgaXMgZ3Jl YXRlciB0aGFuIDEsIHRoZW4gd2UgcmlzayBvdmVyd3JpdGluZyB0aGUgdG9wIHR3bw0KPiA+PiBi aXRzIG9mIHRoZSBGUFNDUiByZWdpc3RlciAodGhlIE4gYW5kIFogZmxhZ3MpLg0KPiA+Pg0KPiA+ PiBUaGlzIHR1cm5lZCBvdXQgdG8gYmUgYSBwcm9ibGVtIGluIHRoZSBoZWFkZXIgZmlsZSBhbmQg dGhlIHNvbHV0aW9uIHdhcw0KPiA+PiB0byBzaW1wbHkgYWRkIGEgYCYgMXgwdWAgdG8gdGhlIGAq Y2FycnlgIGlucHV0OiB0aGVuIHRoZSBjb21waWxlciBrbm93cw0KPiA+PiB0aGF0IHdlIG9ubHkg Y2FyZSBhYm91dCB0aGUgbG93ZXN0IGJpdCBhbmQgY2FuIG9wdGltaXNlIHRvIGEgQkZJLg0KPiA+ Pg0KPiA+PiBPayBmb3IgdHJ1bms/DQo+ID4gT2ssIGJ1dCBJIHRoaW5rIHRoaXMgbmVlZHMgdGVz dHN1aXRlIGNvdmVyYWdlIGZvciB0aGUgYnVnPw0KPiA+IFRoYW5rcywNCj4gPiBLeXJpbGwNCj4g DQo+IFNvIHRoaXMgY2FuIGJlIHNlZW4gaW4gdGhlIG5ldyB2YWRjcSogLCB2c2JjcSogdGVzdHM6 DQo+IA0KPiAqKsKgwqDCoCAuLi4NCj4gKirCoMKgwqAgdm1yc8KgwqDCoCAoPzppcHxmcHxyWzAt OV0rKSwgRlBTQ1JfbnpjdnFjKD86wqDCoMKgIEAuKnwpDQo+ICoqwqDCoMKgIC4uLg0KPiAqKsKg wqDCoCBiZmnCoMKgwqAgKD86aXB8ZnB8clswLTldKyksICg/OmlwfGZwfHJbMC05XSspLCAjMjks ICMxKD86IEAuKnwpDQo+ICoqwqDCoMKgIC4uLg0KPiAqKsKgwqDCoCB2bXNywqDCoMKgIEZQU0NS X256Y3ZxYywgKD86aXB8ZnB8clswLTldKykoPzrCoMKgwqAgQC4qfCkNCj4gKirCoMKgwqAgLi4u DQo+IA0KPiBUaGUgZmFjdCB0aGF0IHRoZXJlJ3MgYSBCRkkgdGhlcmUgcmF0aGVyIHRoYW4gdGhl IEJJQyArIE9SUiBzaG93cw0KPiB0aGF0IHRoaXMgaGFzIG5vdyBiZWVuIG9wdGltaXNlZCBieSB0 aGUgY29tcGlsZXIgYW5kIHRoZSBidWcgaXNuJ3QNCj4gcHJlc2VudCBpbiB0aG9zZSBpbnRyaW5z aWNzIGFueSBsb25nZXIuLi4gU29ycnksIEkgc2hvdWxkIGhhdmUgbGlua2VkDQo+IHRoYXQgaW4g YmV0dGVyIGluIG91ciBwYXRjaCBzZXJpZXMhDQo+IA0KPiBBZGRlZCBhIHJ1bnRlc3QsIGFsc28s IGFzIGl0IHdhcyBmYWlybHkgdHJpdmlhbCB0byB3cml0ZSBpdCBvdXQgOikNCg0KT2suDQpUaGFu a3MsDQpLeXJpbGwNCg0KPiANCj4gVGhhbmtzLA0KPiBTdGFtDQo+IA0KPiA+DQo+ID4+IFRoYW5r cywNCj4gPj4gU3RhbSBNYXJraWFub3MtV3JpZ2h0DQo+ID4+DQo+ID4+IGdjYy9DaGFuZ2VMb2c6 DQo+ID4+DQo+ID4+ICAgICAgICAqIGNvbmZpZy9hcm0vYXJtX212ZS5oIChfX2FybV92YWRjcV9z MzIpOiBGaXggYXJpdGhtZXRpYy4NCj4gPj4gICAgICAgIChfX2FybV92YWRjcV91MzIpOiBMaWtl d2lzZS4NCj4gPj4gICAgICAgIChfX2FybV92YWRjcV9tX3MzMik6IExpa2V3aXNlLg0KPiA+PiAg ICAgICAgKF9fYXJtX3ZhZGNxX21fdTMyKTogTGlrZXdpc2UuDQo+ID4+ICAgICAgICAoX19hcm1f dnNiY3FfczMyKTogTGlrZXdpc2UuDQo+ID4+ICAgICAgICAoX19hcm1fdnNiY3FfdTMyKTogTGlr ZXdpc2UuDQo+ID4+ICAgICAgICAoX19hcm1fdnNiY3FfbV9zMzIpOiBMaWtld2lzZS4NCj4gPj4g ICAgICAgIChfX2FybV92c2JjcV9tX3UzMik6IExpa2V3aXNlLg0KPiA+PiAtLS0NCj4gPj4gICBn Y2MvY29uZmlnL2FybS9hcm1fbXZlLmggfCAxNiArKysrKysrKy0tLS0tLS0tDQo+ID4+ICAgMSBm aWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkNCj4gPj4NCj4gPj4g ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybV9tdmUuaCBiL2djYy9jb25maWcvYXJtL2Fy bV9tdmUuaA0KPiA+PiBpbmRleCAxMjYyZDY2ODEyMS4uODc3ODIxNjMwNGIgMTAwNjQ0DQo+ID4+ IC0tLSBhL2djYy9jb25maWcvYXJtL2FybV9tdmUuaA0KPiA+PiArKysgYi9nY2MvY29uZmlnL2Fy bS9hcm1fbXZlLmgNCj4gPj4gQEAgLTE2MDU1LDcgKzE2MDU1LDcgQEAgX19leHRlbnNpb25fXyBl eHRlcm4gX19pbmxpbmUgaW50MzJ4NF90DQo+ID4+ICAgX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlz X2lubGluZV9fLCBfX2dudV9pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQ0KPiA+PiAgIF9fYXJt X3ZhZGNxX3MzMiAoaW50MzJ4NF90IF9fYSwgaW50MzJ4NF90IF9fYiwgdW5zaWduZWQgKiBfX2Nh cnJ5KQ0KPiA+PiAgIHsNCj4gPj4gLSAgX19idWlsdGluX2FybV9zZXRfZnBzY3JfbnpjdnFjKChf X2J1aWx0aW5fYXJtX2dldF9mcHNjcl9uemN2cWMgKCkgJg0KPiA+PiB+MHgyMDAwMDAwMHUpIHwg KCpfX2NhcnJ5IDw8IDI5KSk7DQo+ID4+ICsgIF9fYnVpbHRpbl9hcm1fc2V0X2Zwc2NyX256Y3Zx YygoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgpICYNCj4gPj4gfjB4MjAwMDAwMDB1 KSB8ICgoKl9fY2FycnkgJiAweDF1KSA8PCAyOSkpOw0KPiA+PiAgICAgaW50MzJ4NF90IF9fcmVz ID0gX19idWlsdGluX212ZV92YWRjcV9zdjRzaSAoX19hLCBfX2IpOw0KPiA+PiAgICAgKl9fY2Fy cnkgPSAoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgpID4+IDI5KSAmIDB4MXU7DQo+ ID4+ICAgICByZXR1cm4gX19yZXM7DQo+ID4+IEBAIC0xNjA2NSw3ICsxNjA2NSw3IEBAIF9fZXh0 ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIHVpbnQzMng0X3QNCj4gPj4gICBfX2F0dHJpYnV0ZV9f ICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpDQo+ ID4+ICAgX19hcm1fdmFkY3FfdTMyICh1aW50MzJ4NF90IF9fYSwgdWludDMyeDRfdCBfX2IsIHVu c2lnbmVkICogX19jYXJyeSkNCj4gPj4gICB7DQo+ID4+IC0gIF9fYnVpbHRpbl9hcm1fc2V0X2Zw c2NyX256Y3ZxYygoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgpICYNCj4gPj4gfjB4 MjAwMDAwMDB1KSB8ICgqX19jYXJyeSA8PCAyOSkpOw0KPiA+PiArICBfX2J1aWx0aW5fYXJtX3Nl dF9mcHNjcl9uemN2cWMoKF9fYnVpbHRpbl9hcm1fZ2V0X2Zwc2NyX256Y3ZxYyAoKSAmDQo+ID4+ IH4weDIwMDAwMDAwdSkgfCAoKCpfX2NhcnJ5ICYgMHgxdSkgPDwgMjkpKTsNCj4gPj4gICAgIHVp bnQzMng0X3QgX19yZXMgPSBfX2J1aWx0aW5fbXZlX3ZhZGNxX3V2NHNpIChfX2EsIF9fYik7DQo+ ID4+ICAgICAqX19jYXJyeSA9IChfX2J1aWx0aW5fYXJtX2dldF9mcHNjcl9uemN2cWMgKCkgPj4g MjkpICYgMHgxdTsNCj4gPj4gICAgIHJldHVybiBfX3JlczsNCj4gPj4gQEAgLTE2MDc1LDcgKzE2 MDc1LDcgQEAgX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgaW50MzJ4NF90DQo+ID4+ICAg X19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fLCBfX2dudV9pbmxpbmVfXywgX19hcnRp ZmljaWFsX18pKQ0KPiA+PiAgIF9fYXJtX3ZhZGNxX21fczMyIChpbnQzMng0X3QgX19pbmFjdGl2 ZSwgaW50MzJ4NF90IF9fYSwgaW50MzJ4NF90IF9fYiwNCj4gPj4gdW5zaWduZWQgKiBfX2NhcnJ5 LCBtdmVfcHJlZDE2X3QgX19wKQ0KPiA+PiAgIHsNCj4gPj4gLSAgX19idWlsdGluX2FybV9zZXRf ZnBzY3JfbnpjdnFjKChfX2J1aWx0aW5fYXJtX2dldF9mcHNjcl9uemN2cWMgKCkgJg0KPiA+PiB+ MHgyMDAwMDAwMHUpIHwgKCpfX2NhcnJ5IDw8IDI5KSk7DQo+ID4+ICsgIF9fYnVpbHRpbl9hcm1f c2V0X2Zwc2NyX256Y3ZxYygoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgpICYNCj4g Pj4gfjB4MjAwMDAwMDB1KSB8ICgoKl9fY2FycnkgJiAweDF1KSA8PCAyOSkpOw0KPiA+PiAgICAg aW50MzJ4NF90IF9fcmVzID0gX19idWlsdGluX212ZV92YWRjcV9tX3N2NHNpIChfX2luYWN0aXZl LCBfX2EsIF9fYiwNCj4gX19wKTsNCj4gPj4gICAgICpfX2NhcnJ5ID0gKF9fYnVpbHRpbl9hcm1f Z2V0X2Zwc2NyX256Y3ZxYyAoKSA+PiAyOSkgJiAweDF1Ow0KPiA+PiAgICAgcmV0dXJuIF9fcmVz Ow0KPiA+PiBAQCAtMTYwODUsNyArMTYwODUsNyBAQCBfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lu bGluZSB1aW50MzJ4NF90DQo+ID4+ICAgX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9f LCBfX2dudV9pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQ0KPiA+PiAgIF9fYXJtX3ZhZGNxX21f dTMyICh1aW50MzJ4NF90IF9faW5hY3RpdmUsIHVpbnQzMng0X3QgX19hLCB1aW50MzJ4NF90DQo+ IF9fYiwNCj4gPj4gdW5zaWduZWQgKiBfX2NhcnJ5LCBtdmVfcHJlZDE2X3QgX19wKQ0KPiA+PiAg IHsNCj4gPj4gLSAgX19idWlsdGluX2FybV9zZXRfZnBzY3JfbnpjdnFjKChfX2J1aWx0aW5fYXJt X2dldF9mcHNjcl9uemN2cWMgKCkgJg0KPiA+PiB+MHgyMDAwMDAwMHUpIHwgKCpfX2NhcnJ5IDw8 IDI5KSk7DQo+ID4+ICsgIF9fYnVpbHRpbl9hcm1fc2V0X2Zwc2NyX256Y3ZxYygoX19idWlsdGlu X2FybV9nZXRfZnBzY3JfbnpjdnFjICgpICYNCj4gPj4gfjB4MjAwMDAwMDB1KSB8ICgoKl9fY2Fy cnkgJiAweDF1KSA8PCAyOSkpOw0KPiA+PiAgICAgdWludDMyeDRfdCBfX3JlcyA9ICBfX2J1aWx0 aW5fbXZlX3ZhZGNxX21fdXY0c2kgKF9faW5hY3RpdmUsIF9fYSwgX19iLA0KPiA+PiBfX3ApOw0K PiA+PiAgICAgKl9fY2FycnkgPSAoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgpID4+ IDI5KSAmIDB4MXU7DQo+ID4+ICAgICByZXR1cm4gX19yZXM7DQo+ID4+IEBAIC0xNjEzMSw3ICsx NjEzMSw3IEBAIF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGludDMyeDRfdA0KPiA+PiAg IF9fYXR0cmlidXRlX18gKChfX2Fsd2F5c19pbmxpbmVfXywgX19nbnVfaW5saW5lX18sIF9fYXJ0 aWZpY2lhbF9fKSkNCj4gPj4gICBfX2FybV92c2JjcV9zMzIgKGludDMyeDRfdCBfX2EsIGludDMy eDRfdCBfX2IsIHVuc2lnbmVkICogX19jYXJyeSkNCj4gPj4gICB7DQo+ID4+IC0gIF9fYnVpbHRp bl9hcm1fc2V0X2Zwc2NyX256Y3ZxYygoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgp ICYNCj4gPj4gfjB4MjAwMDAwMDB1KSB8ICgqX19jYXJyeSA8PCAyOSkpOw0KPiA+PiArICBfX2J1 aWx0aW5fYXJtX3NldF9mcHNjcl9uemN2cWMoKF9fYnVpbHRpbl9hcm1fZ2V0X2Zwc2NyX256Y3Zx YyAoKSAmDQo+ID4+IH4weDIwMDAwMDAwdSkgfCAoKCpfX2NhcnJ5ICYgMHgxdSkgPDwgMjkpKTsN Cj4gPj4gICAgIGludDMyeDRfdCBfX3JlcyA9IF9fYnVpbHRpbl9tdmVfdnNiY3Ffc3Y0c2kgKF9f YSwgX19iKTsNCj4gPj4gICAgICpfX2NhcnJ5ID0gKF9fYnVpbHRpbl9hcm1fZ2V0X2Zwc2NyX256 Y3ZxYyAoKSA+PiAyOSkgJiAweDF1Ow0KPiA+PiAgICAgcmV0dXJuIF9fcmVzOw0KPiA+PiBAQCAt MTYxNDEsNyArMTYxNDEsNyBAQCBfX2V4dGVuc2lvbl9fIGV4dGVybiBfX2lubGluZSB1aW50MzJ4 NF90DQo+ID4+ICAgX19hdHRyaWJ1dGVfXyAoKF9fYWx3YXlzX2lubGluZV9fLCBfX2dudV9pbmxp bmVfXywgX19hcnRpZmljaWFsX18pKQ0KPiA+PiAgIF9fYXJtX3ZzYmNxX3UzMiAodWludDMyeDRf dCBfX2EsIHVpbnQzMng0X3QgX19iLCB1bnNpZ25lZCAqIF9fY2FycnkpDQo+ID4+ICAgew0KPiA+ PiAtICBfX2J1aWx0aW5fYXJtX3NldF9mcHNjcl9uemN2cWMoKF9fYnVpbHRpbl9hcm1fZ2V0X2Zw c2NyX256Y3ZxYyAoKSAmDQo+ID4+IH4weDIwMDAwMDAwdSkgfCAoKl9fY2FycnkgPDwgMjkpKTsN Cj4gPj4gKyAgX19idWlsdGluX2FybV9zZXRfZnBzY3JfbnpjdnFjKChfX2J1aWx0aW5fYXJtX2dl dF9mcHNjcl9uemN2cWMgKCkgJg0KPiA+PiB+MHgyMDAwMDAwMHUpIHwgKCgqX19jYXJyeSAmIDB4 MXUpIDw8IDI5KSk7DQo+ID4+ICAgICB1aW50MzJ4NF90IF9fcmVzID0gIF9fYnVpbHRpbl9tdmVf dnNiY3FfdXY0c2kgKF9fYSwgX19iKTsNCj4gPj4gICAgICpfX2NhcnJ5ID0gKF9fYnVpbHRpbl9h cm1fZ2V0X2Zwc2NyX256Y3ZxYyAoKSA+PiAyOSkgJiAweDF1Ow0KPiA+PiAgICAgcmV0dXJuIF9f cmVzOw0KPiA+PiBAQCAtMTYxNTEsNyArMTYxNTEsNyBAQCBfX2V4dGVuc2lvbl9fIGV4dGVybiBf X2lubGluZSBpbnQzMng0X3QNCj4gPj4gICBfX2F0dHJpYnV0ZV9fICgoX19hbHdheXNfaW5saW5l X18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNpYWxfXykpDQo+ID4+ICAgX19hcm1fdnNiY3Ff bV9zMzIgKGludDMyeDRfdCBfX2luYWN0aXZlLCBpbnQzMng0X3QgX19hLCBpbnQzMng0X3QgX19i LA0KPiA+PiB1bnNpZ25lZCAqIF9fY2FycnksIG12ZV9wcmVkMTZfdCBfX3ApDQo+ID4+ICAgew0K PiA+PiAtICBfX2J1aWx0aW5fYXJtX3NldF9mcHNjcl9uemN2cWMoKF9fYnVpbHRpbl9hcm1fZ2V0 X2Zwc2NyX256Y3ZxYyAoKSAmDQo+ID4+IH4weDIwMDAwMDAwdSkgfCAoKl9fY2FycnkgPDwgMjkp KTsNCj4gPj4gKyAgX19idWlsdGluX2FybV9zZXRfZnBzY3JfbnpjdnFjKChfX2J1aWx0aW5fYXJt X2dldF9mcHNjcl9uemN2cWMgKCkgJg0KPiA+PiB+MHgyMDAwMDAwMHUpIHwgKCgqX19jYXJyeSAm IDB4MXUpIDw8IDI5KSk7DQo+ID4+ICAgICBpbnQzMng0X3QgX19yZXMgPSBfX2J1aWx0aW5fbXZl X3ZzYmNxX21fc3Y0c2kgKF9faW5hY3RpdmUsIF9fYSwgX19iLA0KPiBfX3ApOw0KPiA+PiAgICAg Kl9fY2FycnkgPSAoX19idWlsdGluX2FybV9nZXRfZnBzY3JfbnpjdnFjICgpID4+IDI5KSAmIDB4 MXU7DQo+ID4+ICAgICByZXR1cm4gX19yZXM7DQo+ID4+IEBAIC0xNjE2MSw3ICsxNjE2MSw3IEBA IF9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIHVpbnQzMng0X3QNCj4gPj4gICBfX2F0dHJp YnV0ZV9fICgoX19hbHdheXNfaW5saW5lX18sIF9fZ251X2lubGluZV9fLCBfX2FydGlmaWNpYWxf XykpDQo+ID4+ICAgX19hcm1fdnNiY3FfbV91MzIgKHVpbnQzMng0X3QgX19pbmFjdGl2ZSwgdWlu dDMyeDRfdCBfX2EsIHVpbnQzMng0X3QNCj4gX19iLA0KPiA+PiB1bnNpZ25lZCAqIF9fY2Fycnks IG12ZV9wcmVkMTZfdCBfX3ApDQo+ID4+ICAgew0KPiA+PiAtICBfX2J1aWx0aW5fYXJtX3NldF9m cHNjcl9uemN2cWMoKF9fYnVpbHRpbl9hcm1fZ2V0X2Zwc2NyX256Y3ZxYyAoKSAmDQo+ID4+IH4w eDIwMDAwMDAwdSkgfCAoKl9fY2FycnkgPDwgMjkpKTsNCj4gPj4gKyAgX19idWlsdGluX2FybV9z ZXRfZnBzY3JfbnpjdnFjKChfX2J1aWx0aW5fYXJtX2dldF9mcHNjcl9uemN2cWMgKCkgJg0KPiA+ PiB+MHgyMDAwMDAwMHUpIHwgKCgqX19jYXJyeSAmIDB4MXUpIDw8IDI5KSk7DQo+ID4+ICAgICB1 aW50MzJ4NF90IF9fcmVzID0gX19idWlsdGluX212ZV92c2JjcV9tX3V2NHNpIChfX2luYWN0aXZl LCBfX2EsIF9fYiwNCj4gPj4gX19wKTsNCj4gPj4gICAgICpfX2NhcnJ5ID0gKF9fYnVpbHRpbl9h cm1fZ2V0X2Zwc2NyX256Y3ZxYyAoKSA+PiAyOSkgJiAweDF1Ow0KPiA+PiAgICAgcmV0dXJuIF9f cmVzOw0KPiA+PiAtLQ0KPiA+PiAyLjI1LjENCg==