From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2100.outbound.protection.outlook.com [40.107.236.100]) by sourceware.org (Postfix) with ESMTPS id 688C63858D33 for ; Mon, 4 Sep 2023 10:33:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 688C63858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=os.amperecomputing.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=os.amperecomputing.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B7iMzru8+2SdysBKge3RJgkh50h+5IdUh8yqBgW8xF6aOOW3yiDHHuZ3tQKuda+JPtFOc6h8yt+770Hv8Z7d+I1GQMO65o2w36nTRHqI1Tj0IpCls5f6SgLqD4alikCVfj2mNukX8+J0YcB+v5LeGOYhVIUMfILHDX3vREVyx5cc7Tpbm4TmqaWaiW4gnMUkTVrow5vKf8ZMagwXEdICuAk9hxOJGPMiKrV07nK+0pdJjmXIhrXrnsIYrvbdJBW9k287xkAcw0WDgYas1odnmwMXxW5xccAvijjszV/WNQUXCGltbB2HYRhGrwh5lAGvfEk3rybw2OZ/7u7MNi/HRQ== 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=x0oB9xBWEKdBB5CffaRqAXaEuGR9LCtYA4s7/XeWiAA=; b=HrVHgRVMF/YM+KCxPgoPzPCmlgTwvxw3rE4FYXeKdodp+LtTbQlZLIuABR8e6xHucmK+m/VyBu3c0HEq6z+phHTPSxxOMce+7Z26Z3cWFA84I6I5pjVDHqRFzsRLIcS4zHUgth3Pd9R/jOsf1kLaH/c9VVsYpz30V+kjwmmiClv8BoBaF9xD85n/Nqge16LTSvbIE5/Iih3YQ7xGvNzf39UndPQbiTKmxMkvDlX39Wz97/ozM8WCKFF0LnktYm3JkfiIdS2nA1BN+/51yHntV2qartjSLPUIHZuawcr/X9jH9maOEfBgG7wfcTNy8TuZ1/P8+iMxlaNzVNHTW7nLlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=x0oB9xBWEKdBB5CffaRqAXaEuGR9LCtYA4s7/XeWiAA=; b=EdoCpRZWaLkWNSGXqg0bodWoWxFI2QT00kRZrIzGzVVIAmmxX/q9fc8KLZkpNhEi0niNr3GdWuaDX1ayl3Ig0WltuHEyagkdb61MWh4HaRrDHzA4NVtZnIeoJbe1mQFrRwx/RwEEzA1XRlPuEsFS924gx7mYGojk8Ldm1NBLUjo= Received: from BYAPR01MB4231.prod.exchangelabs.com (2603:10b6:a03:55::25) by SJ0PR01MB7461.prod.exchangelabs.com (2603:10b6:a03:3e1::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.30; Mon, 4 Sep 2023 10:33:17 +0000 Received: from BYAPR01MB4231.prod.exchangelabs.com ([fe80::f607:933d:86db:aa55]) by BYAPR01MB4231.prod.exchangelabs.com ([fe80::f607:933d:86db:aa55%6]) with mapi id 15.20.6745.030; Mon, 4 Sep 2023 10:33:17 +0000 From: Di Zhao OS To: Richard Biener CC: Jeff Law , Martin Jambor , "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH] [tree-optimization/110279] swap operands in reassoc to reduce cross backedge FMA Thread-Topic: [PATCH] [tree-optimization/110279] swap operands in reassoc to reduce cross backedge FMA Thread-Index: AdnZh/Le9F594Tc5S4ekqukOGNY+CgAfpPqAABFqbYAAABuGoAAA3x2AAAAt8pAABiw4AAAr784QADslHIAAwgZN0A== Date: Mon, 4 Sep 2023 10:33:17 +0000 Message-ID: References: <4c3c9a1c-e182-30a9-342d-525adfb8cffd@gmail.com> In-Reply-To: Accept-Language: en-US Content-Language: zh-CN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_ActionId=9ba4aa08-8043-4928-85dd-8d68ef3d427b;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_ContentBits=0;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Enabled=true;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Method=Standard;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_Name=Confidential (Default);MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_SetDate=2023-09-04T08:58:14Z;MSIP_Label_5b82cb1d-c2e0-4643-920a-bbe7b2d7cc47_SiteId=3bc2b170-fd94-476d-b0ce-4229bdc904a7; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR01MB4231:EE_|SJ0PR01MB7461:EE_ x-ms-office365-filtering-correlation-id: 592a1cf8-632f-448d-f080-08dbad3259fe x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Wj4h+2ffegSv7WHyCpjGbJYfVJwkefYryKYBjMBCmMafD+0LGK7s2fSYyBb+SzW3faaYYZbYvxIhiYDyPa4KD5HqnItbr7FPMfWFUWhLcMXtTd1l6OuA3zUnEKwU5En8Ack0amhiCwUhUtty+zMAKJZRvRmfXngiyjtxQOdHionHTAjkCVnndGUD/KXUqTjKzwx0d1wn9f9K2TpDzINPPM/hA9+VQ8FyimXmidtE/+iXYEi+nTU9KFwUjdBmseOKaK2v7JYipc37Z+54rhBNPMTocwxpkCEXeSXDz09kdwOn+8IIcmsi1qABn6rCs8TtSphP+f2CrlOrsencumylvDy8EaB6qNmDSBpIJQZ/+qaOyHygGGBTn+H8xzdBwEp0rEgR6AM/4ILp/IfnObuPa3A/IVpNQXuhp7HLZSRUxRD0xSv57N10rHc5bKyEh0ebgOPEpz3OJ68jzckGtbW5HBEirfB/BC8YNJuFS7ffFosZlKhEIBogFN9oUO0CJzmS/7TVubZBpopBUDGCqK1NvkX2BDfldXWZ9pBaDZrbHLgC6S27ZQUaiDyAK8xvYzOwr7JrIEIymUAzel3S7ddEpnv+CuOCrQJNLkvHKJAzZ2s= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR01MB4231.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39850400004)(366004)(396003)(136003)(376002)(1800799009)(186009)(451199024)(9686003)(71200400001)(52536014)(6506007)(7696005)(53546011)(966005)(83380400001)(30864003)(26005)(478600001)(2906002)(41300700001)(316002)(6916009)(64756008)(66556008)(66446008)(54906003)(66476007)(66946007)(76116006)(4326008)(5660300002)(8676002)(8936002)(122000001)(33656002)(38070700005)(38100700002)(86362001)(55016003)(84970400001)(99936003)(66899024);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?NlErV0pSQWpONStqWnFGbWZHcnZmQU1OUHovV1NVVTU2UkhNYWlHaGFLb3E3?= =?utf-8?B?cnUyeXYzUHVIQVlDS3pKMW9LL3hzbWZtYWVMeE95SWdzOUV5c2NPbTA1MDN4?= =?utf-8?B?MUlkMEhLQk9yM2o1MFFuVytnR1RhbmxXMkFZczZSNUxUdDJJSnhKZzdWbkMy?= =?utf-8?B?c2FyeDI0NmtQcXZPYmtNY0xZeHdWQnNubU5URzhFbWtzRllUVThnZUtPQjUw?= =?utf-8?B?dkpsK2JoKzBFbnpleG1SUk1qWjJZWUVjWE5KaVZmdlJBUDc3cHRWQnVyaXh1?= =?utf-8?B?MUJOVThBazlmdDVGMzJlT1FDUHNJRFZZQVVMdFJEYnFSZnViTHl2QXpjd1ZV?= =?utf-8?B?WWEvTWdDVktNNWlld0wvUk9wZEVrY3I0SkNucHQ1QWw1SnJhdkYvU3ZheXVr?= =?utf-8?B?UkZmczdFZFdPNDV0QkpjT0JqcW53R2NhZ1ZaM0lUbnlUbmt6Znh3L0JHNUgy?= =?utf-8?B?Z0pVcGUvdktqOGVrdkhVcFN5VllnUFF2QjY5ZE83Tmx2R2tHV3Zza0phWEJs?= =?utf-8?B?SjB1UWprTXRoQTJNMkVQRTRNU1ZQWDhtVEwybmtXN0VKKytmcnNrZkg2Wkxs?= =?utf-8?B?KzhvVHRWTkdlN3RCanQ1eHo0b1FQVTJxckUrV0h1NXo3RFUxSjN2RTVHZUUw?= =?utf-8?B?NEFOZDl3M0VOSStQbmE0bVUrTE9PR2N4SlR6ZWRxSnNFcENGc0hBZ0ZZK2FQ?= =?utf-8?B?clI1QXhoeDRIQlpUNmRKRUtuOFZUMVdMN0EzRHJHaTVrNUpxKzh2UnViZmtK?= =?utf-8?B?TnFiem5vbWlGTGx3U2MzNGdhOFc0Z1pDNmJvQzNEeGkxR3BKTEdSUEdaRVk0?= =?utf-8?B?MjNNZjA4M05UeEZPT3YrN0IyWkF5YzVWaFhrcDc0VFYrZFdPdzhDNjkrSWVu?= =?utf-8?B?L3dPOEVEeVBhaVFMejMyWmlvYUpRQ1I3SEVlQWZhRldPb211QWJsRy85TUFV?= =?utf-8?B?UFN2cFZOcDQrdEJ0c1g4YVZER0dWMk1FbGZ6NGNHRjhSeENQVjVnLzRmVUlX?= =?utf-8?B?c2pOUFg4TUNiMnY0NUdTNGFZeUlxczlhUTlIcklvb2t4WGtIYkx4RXBsYk9O?= =?utf-8?B?Mm54TjZQRC9LanByT1JydElCSWdod3p3UmVwakJFNitnbUFYdWZ2dEhoTWFo?= =?utf-8?B?cEx6dEkzWE9KemFrREt2Z3BzMmhiVVNrMW9hN0lvNlhvZWFuOG1Bdy9QNmRU?= =?utf-8?B?dmtDeEphc0JhYmM4clp4WHVMU0U2a2xCNDZCODNtNEtITXFjTHN6V2xEeUl6?= =?utf-8?B?VkdNY0VVS1JpeFpHNWFYRXVSbTZHSitjWUVHZ0lIZ3h0Q085WlJRTVNIMER5?= =?utf-8?B?M0cyc1J1NUNaVm13ZTBuWmxXLy9XeEF6enNiZ0xkZmNvODNYRFVRbHJDNzJr?= =?utf-8?B?Q1Z4VENTbllINzBHcFRlM0doQ3lpanlCV2FJdFlNNXh5Y0ZoWlJwS2NPVklI?= =?utf-8?B?bzIwcnEyeHAyNlF5N21pSFVzZG1NOUh4N01CUTUyTkxLOG9mKzNodjdGSTQv?= =?utf-8?B?RzNMdUJlMTdudEFKVml5aUZtUHNOM0V1eUVubkNDdDNmV0lzWTR5eVRHZy9p?= =?utf-8?B?akdLeG9GajdXTW82a1hTM2hMbmZJQjFxSG1YdW0wdTlWSDd6TGFzWFN5U1cx?= =?utf-8?B?ek1WSE1LZklEeUVQd1NrVk03M1pwTnNNWVozK24wcUF2YVZLeWVHRkhnQmpt?= =?utf-8?B?b0dSYmxPSU1PVGZGcU9JNTMzbHQrd1pYTnZCWElMYzIxM0pXWUMybVlsQWgr?= =?utf-8?B?ZENZMmtJNko0NXJSbzk3ZnNXTHhBVHppYjZNUDhkc1RCdDZnMVJza0dFa3lk?= =?utf-8?B?TncvS21oa2YzRE1XVVFNbURkRzdPQ0s3dnV4TFBKU3RTMXZBZms4dFpPRWIv?= =?utf-8?B?L2h4bGp3MERzNEZ0NmltYnN1UENXM1JmQ1pKN3NhK0J0TmV5ZTEzbHAzcmZO?= =?utf-8?B?WHVkdFp2T2Rsa3ppTW1EaDRIclpXd2JtMkpraHUvMFJlelVLVERsMElSamVx?= =?utf-8?B?THQyRXgvRlBKazJKYVlzR1g3UnJIa3JoZnh5dWVqeXEyejV6M1hCRVdFYnAx?= =?utf-8?B?YlNuSlV1MWptTXZZS0Zob1hIdlFTSG5uVmE2VEdneElyMHJSUmxZekxXZi9S?= =?utf-8?B?V2NjcUxJSWh4V2tJZzJzNFNVYzNvelZnbnJNQ1MrNkVtdDQ4NHBmVmdybGpx?= =?utf-8?B?Wmc9PQ==?= Content-Type: multipart/mixed; boundary="_002_BYAPR01MB423164E752B7BF84C1E0D186E8E9ABYAPR01MB4231prod_" MIME-Version: 1.0 X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR01MB4231.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 592a1cf8-632f-448d-f080-08dbad3259fe X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Sep 2023 10:33:17.2480 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: s2pHjYzrUEfUHRFK03NpF2bZ/MABaQbRqtoOavHlbzO8rgDh7gw+Z/EmIdEwJqACuHp8jVrJCbX4rm/MhAqOeVu2QjNzli9FQZiffI/qhaMEfOnuO9xpd1/qP6DUkjTS X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR01MB7461 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,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: --_002_BYAPR01MB423164E752B7BF84C1E0D186E8E9ABYAPR01MB4231prod_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBSaWNoYXJkIEJpZW5lciA8cmlj aGFyZC5ndWVudGhlckBnbWFpbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMzEsIDIw MjMgODoyMyBQTQ0KPiBUbzogRGkgWmhhbyBPUyA8ZGl6aGFvQG9zLmFtcGVyZWNvbXB1dGluZy5j b20+DQo+IENjOiBKZWZmIExhdyA8amVmZnJleWFsYXdAZ21haWwuY29tPjsgTWFydGluIEphbWJv ciA8bWphbWJvckBzdXNlLmN6PjsgZ2NjLQ0KPiBwYXRjaGVzQGdjYy5nbnUub3JnDQo+IFN1Ympl Y3Q6IFJlOiBbUEFUQ0hdIFt0cmVlLW9wdGltaXphdGlvbi8xMTAyNzldIHN3YXAgb3BlcmFuZHMg aW4gcmVhc3NvYyB0bw0KPiByZWR1Y2UgY3Jvc3MgYmFja2VkZ2UgRk1BDQo+IA0KPiBPbiBXZWQs IEF1ZyAzMCwgMjAyMyBhdCAxMTozM+KAr0FNIERpIFpoYW8gT1MNCj4gPGRpemhhb0Bvcy5hbXBl cmVjb21wdXRpbmcuY29tPiB3cm90ZToNCj4gPg0KPiA+IEhlbGxvIFJpY2hhcmQsDQo+ID4NCj4g PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBSaWNoYXJkIEJpZW5l ciA8cmljaGFyZC5ndWVudGhlckBnbWFpbC5jb20+DQo+ID4gPiBTZW50OiBUdWVzZGF5LCBBdWd1 c3QgMjksIDIwMjMgNzoxMSBQTQ0KPiA+ID4gVG86IERpIFpoYW8gT1MgPGRpemhhb0Bvcy5hbXBl cmVjb21wdXRpbmcuY29tPg0KPiA+ID4gQ2M6IEplZmYgTGF3IDxqZWZmcmV5YWxhd0BnbWFpbC5j b20+OyBNYXJ0aW4gSmFtYm9yIDxtamFtYm9yQHN1c2UuY3o+Ow0KPiBnY2MtDQo+ID4gPiBwYXRj aGVzQGdjYy5nbnUub3JnDQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIXSBbdHJlZS1vcHRpbWl6 YXRpb24vMTEwMjc5XSBzd2FwIG9wZXJhbmRzIGluIHJlYXNzb2MNCj4gdG8NCj4gPiA+IHJlZHVj ZSBjcm9zcyBiYWNrZWRnZSBGTUENCj4gPiA+DQo+ID4gPiBPbiBUdWUsIEF1ZyAyOSwgMjAyMyBh dCAxMDo1OeKAr0FNIERpIFpoYW8gT1MNCj4gPiA+IDxkaXpoYW9Ab3MuYW1wZXJlY29tcHV0aW5n LmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+IEhpLA0KPiA+ID4gPg0KPiA+ID4gPiA+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogUmljaGFyZCBCaWVuZXIg PHJpY2hhcmQuZ3VlbnRoZXJAZ21haWwuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIEF1 Z3VzdCAyOSwgMjAyMyA0OjA5IFBNDQo+ID4gPiA+ID4gVG86IERpIFpoYW8gT1MgPGRpemhhb0Bv cy5hbXBlcmVjb21wdXRpbmcuY29tPg0KPiA+ID4gPiA+IENjOiBKZWZmIExhdyA8amVmZnJleWFs YXdAZ21haWwuY29tPjsgTWFydGluIEphbWJvciA8bWphbWJvckBzdXNlLmN6PjsNCj4gPiA+IGdj Yy0NCj4gPiA+ID4gPiBwYXRjaGVzQGdjYy5nbnUub3JnDQo+ID4gPiA+ID4gU3ViamVjdDogUmU6 IFtQQVRDSF0gW3RyZWUtb3B0aW1pemF0aW9uLzExMDI3OV0gc3dhcCBvcGVyYW5kcyBpbg0KPiBy ZWFzc29jDQo+ID4gPiB0bw0KPiA+ID4gPiA+IHJlZHVjZSBjcm9zcyBiYWNrZWRnZSBGTUENCj4g PiA+ID4gPg0KPiA+ID4gPiA+IE9uIFR1ZSwgQXVnIDI5LCAyMDIzIGF0IDk6NDnigK9BTSBEaSBa aGFvIE9TDQo+ID4gPiA+ID4gPGRpemhhb0Bvcy5hbXBlcmVjb21wdXRpbmcuY29tPiB3cm90ZToN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBIaSwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+IEZyb206IFJpY2hhcmQg QmllbmVyIDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiA+ID4gU2VudDog VHVlc2RheSwgQXVndXN0IDI5LCAyMDIzIDM6NDEgUE0NCj4gPiA+ID4gPiA+ID4gVG86IEplZmYg TGF3IDxqZWZmcmV5YWxhd0BnbWFpbC5jb20+OyBNYXJ0aW4gSmFtYm9yDQo+IDxtamFtYm9yQHN1 c2UuY3o+DQo+ID4gPiA+ID4gPiA+IENjOiBEaSBaaGFvIE9TIDxkaXpoYW9Ab3MuYW1wZXJlY29t cHV0aW5nLmNvbT47IGdjYy0NCj4gPiA+IHBhdGNoZXNAZ2NjLmdudS5vcmcNCj4gPiA+ID4gPiA+ ID4gU3ViamVjdDogUmU6IFtQQVRDSF0gW3RyZWUtb3B0aW1pemF0aW9uLzExMDI3OV0gc3dhcCBv cGVyYW5kcyBpbg0KPiA+ID4gcmVhc3NvYw0KPiA+ID4gPiA+IHRvDQo+ID4gPiA+ID4gPiA+IHJl ZHVjZSBjcm9zcyBiYWNrZWRnZSBGTUENCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gT24g VHVlLCBBdWcgMjksIDIwMjMgYXQgMToyM+KAr0FNIEplZmYgTGF3IHZpYSBHY2MtcGF0Y2hlcw0K PiA+ID4gPiA+ID4gPiA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+IHdyb3RlOg0KPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ IE9uIDgvMjgvMjMgMDI6MTcsIERpIFpoYW8gT1MgdmlhIEdjYy1wYXRjaGVzIHdyb3RlOg0KPiA+ ID4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCB0cmllcyB0byBmaXggdGhlIDIlIHJlZ3Jlc3Npb24g aW4gNTEwLnBhcmVzdF9yIG9uDQo+ID4gPiA+ID4gPiA+ID4gPiBhbXBlcmUxIGluIHRoZSB0cmFj a2VyLiAoUHJldmlvdXMgZGlzY3Vzc2lvbiBpcyBoZXJlOg0KPiA+ID4gPiA+ID4gPiA+ID4gaHR0 cHM6Ly9nY2MuZ251Lm9yZy9waXBlcm1haWwvZ2NjLXBhdGNoZXMvMjAyMy0NCj4gSnVseS82MjQ4 OTMuaHRtbCkNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiAxLiBBZGQgdGVz dGNhc2VzIGZvciB0aGUgcHJvYmxlbS4gRm9yIGFuIG9wIGxpc3QgaW4gdGhlIGZvcm0NCj4gb2YN Cj4gPiA+ID4gPiA+ID4gPiA+ICJhY2MgPSBhICogYiArIGMgKiBkICsgYWNjIiwgY3VycmVudGx5 IHJlYXNzb2NpYXRpb24gZG9lc24ndA0KPiA+ID4gPiA+ID4gPiA+ID4gU3dhcCB0aGUgb3BlcmFu ZHMgc28gdGhhdCBtb3JlIEZNQXMgY2FuIGJlIGdlbmVyYXRlZC4NCj4gPiA+ID4gPiA+ID4gPiA+ IEFmdGVyIHdpZGVuaW5nX211bCB0aGUgcmVzdWx0IGxvb2tzIGxpa2U6DQo+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gICAgIF8xID0gLkZNQShhLCBiLCBhY2NfMCk7DQo+ID4g PiA+ID4gPiA+ID4gPiAgICAgYWNjXzEgPSAuRk1BKGMsIGQsIF8xKTsNCj4gPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBXaGlsZSBwcmV2aW91c2x5IChiZWZvcmUgdGhlICJIYW5k bGUgRk1BIGZyaWVuZGx5Li4uIiBwYXRjaCksDQo+ID4gPiA+ID4gPiA+ID4gPiB3aWRlbmluZ19t dWwncyByZXN1bHQgd2FzIGxpa2U6DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ID4gICAgIF8xID0gYSAqIGI7DQo+ID4gPiA+ID4gPiA+ID4gPiAgICAgXzIgPSAuRk1BIChjLCBk LCBfMSk7DQo+ID4gPiA+ID4gPiA+ID4gPiAgICAgYWNjXzEgPSBhY2NfMCArIF8yOw0KPiA+ID4g PiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBIb3cgY2FuIHdlIGV4ZWN1dGUgdGhlIG11bHRpcGx5IGFu ZCB0aGUgRk1BIGluIHBhcmFsbGVsPyAgVGhleQ0KPiA+ID4gPiA+ID4gPiBkZXBlbmQgb24gZWFj aCBvdGhlci4gIE9yIGlzIGl0IHRoZSB1YXJjaCBjYW4gaGFuZGxlIGRlcGVuZGVuY2UNCj4gPiA+ ID4gPiA+ID4gb24gdGhlIGFkZCBvcGVyYW5kIGJ1dCBvbmx5IHdoZW4gaXQgaXMgd2l0aCBhIG11 bHRpcGxpY2F0aW9uIGFuZA0KPiA+ID4gPiA+ID4gPiBub3QgYSBGTUEgaW4gc29tZSBiZXR0ZXIg d2F5cz8gIChJJ2QgZG91YnQgc28gbXVjaCBjb21wbGV4aXR5KQ0KPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiBDYW4geW91IGV4cGxhaW4gaW4gbW9yZSBkZXRhaWwgaG93IHRoZSB1YXJjaCBl eGVjdXRlcyBvbmUgdnMuIHRoZQ0KPiA+ID4gPiA+ID4gPiBvdGhlciBjYXNlPw0KPiA+ID4gPg0K PiA+ID4gPiBIZXJlJ3MgbXkgdW5kZXJzdGFuZGluZyBhZnRlciBjb25zdWx0ZWQgb3VyIGhhcmR3 YXJlIHRlYW0uIEZvciB0aGUNCj4gPiA+ID4gc2Vjb25kIGNhc2UsIHRoZSB1YXJjaCBvZiBzb21l IG91dC1vZi1vcmRlciBwcm9jZXNzb3JzIGNhbiBjYWxjdWxhdGUNCj4gPiA+ID4gIl8yIiBvZiBz ZXZlcmFsIGxvb3BzIGF0IHRoZSBzYW1lIHRpbWUsIHNpbmNlIHRoZXJlJ3Mgbm8gZGVwZW5kZW5j eQ0KPiA+ID4gPiBhbW9uZyBkaWZmZXJlbnQgaXRlcmF0aW9ucy4gV2hpbGUgZm9yIHRoZSBmaXJz dCBjYXNlIHRoZSBuZXh0IGl0ZXJhdGlvbg0KPiA+ID4gPiBoYXMgdG8gd2FpdCBmb3IgdGhlIGN1 cnJlbnQgaXRlcmF0aW9uIHRvIGZpbmlzaCwgc28gImFjY18wIidzIHZhbHVlIGlzDQo+ID4gPiA+ IGtub3duLiBJIGFzc3VtZSBpdCBpcyBhbHNvIHRoZSBjYXNlIGluIHNvbWUgaTM4NiBwcm9jZXNz b3JzLCBzaW5jZSBJDQo+ID4gPiA+IHNhdyB0aGUgcGF0Y2ggIkRlZmVycmluZyBGTUEgdHJhbnNm b3JtYXRpb25zIGluIHRpZ2h0IGxvb3BzIiBhbHNvDQo+ID4gPiA+IGNoYW5nZWQgY29ycmVzcG9u ZGluZyBmaWxlcy4NCj4gPiA+DQo+ID4gPiBUaGF0IHNob3VsZCBiZSB0cnVlIGZvciBhbGwga2lu ZCBvZiBvcGVyYXRpb25zLCBubz8gIFRodXMgaXQgbWVhbnMNCj4gPiA+IHJlYXNzb2Mgc2hvdWxk IGluIGdlbmVyYWwgYXNzb2NpYXRlIGNyb3NzLWl0ZXJhdGlvbiBhY2N1bXVsYXRpb24NCj4gPiBZ ZXMgSSB0aGluayBib3RoIGFyZSB0cnVlLg0KPiA+DQo+ID4gPiBsYXN0PyAgSGlzdG9yaWNhbGx5 IHdlIGFzc29jaWF0ZWQgdGhvc2UgZmlyc3QgYmVjYXVzZSB0aGF0J3MgaG93IHRoZQ0KPiA+ID4g dmVjdG9yaXplciBsaWtlZCB0byBzZWUgdGhlbSwgYnV0IEkgdGhpbmsgdGhhdCdzIG5vIGxvbmdl ciBuZWNlc3NhcnkuDQo+ID4gPg0KPiA+ID4gSXQgc2hvdWxkIGJlIGFjaGlldmFibGUgYnkgcHJv cGVybHkgYmlhc2luZyB0aGUgb3BlcmFuZCBkdXJpbmcNCj4gPiA+IHJhbmsgY29tcHV0YXRpb24g KGRvbid0IHdlIGFscmVhZHkgZG8gdGhhdD8pLg0KPiA+DQo+ID4gVGhlIGlzc3VlIGlzIHJlbGF0 ZWQgd2l0aCB0aGUgZm9sbG93aW5nIGNvZGVzIChoYW5kbGluZyBjYXNlcyB3aXRoDQo+ID4gdGhy ZWUgb3BlcmFuZHMgbGVmdCk6DQo+ID4gICAgICAgLyogV2hlbiB0aGVyZSBhcmUgdGhyZWUgb3Bl cmFuZHMgbGVmdCwgd2Ugd2FudA0KPiA+ICAgICAgICAgIHRvIG1ha2Ugc3VyZSB0aGUgb25lcyB0 aGF0IGdldCB0aGUgZG91YmxlDQo+ID4gICAgICAgICAgYmluYXJ5IG9wIGFyZSBjaG9zZW4gd2lz ZWx5LiAgKi8NCj4gPiAgICAgICBpbnQgbGVuID0gb3BzLmxlbmd0aCAoKTsNCj4gPiAgICAgICBp ZiAobGVuID49IDMgJiYgIWhhc19mbWEpDQo+ID4gICAgICAgICBzd2FwX29wc19mb3JfYmluYXJ5 X3N0bXQgKG9wcywgbGVuIC0gMyk7DQo+ID4NCj4gPiAgICAgICBuZXdfbGhzID0gcmV3cml0ZV9l eHByX3RyZWUgKHN0bXQsIHJoc19jb2RlLCAwLCBvcHMsDQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwb3dpX3Jlc3VsdCAhPSBOVUxMDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8fCBuZWdhdGVfcmVzdWx0LA0KPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGVuICE9IG9yaWdfbGVuKTsNCj4gPg0KPiA+IE9yaWdpbmFs bHkgKGJlZm9yZSB0aGUgIkhhbmRsZSBGTUEgZnJpZW5kbHkuLi4iIHBhdGNoKSwgZm9yIHRoZQ0K PiA+IHRpbnkgZXhhbXBsZSwgdGhlIDIgbXVsdGlwbGljYXRpb25zIHdpbGwgYmUgcGxhY2VkIGZp cnN0IGJ5DQo+ID4gc3dhcF9vcHNfZm9yX2JpbmFyeV9zdG10IGFuZCByZXdyaXRlX2V4cHJfdHJl ZSwgYWNjb3JkaW5nIHRvDQo+ID4gcmFua3MuIFdoaWxlIGN1cnJlbnRseSwgdG8gcHJlc2VydmUg bW9yZSBGTUFzLA0KPiA+IHN3YXBfb3BzX2Zvcl9iaW5hcnlfc3RtdCB3b24ndCBiZSBjYWxsZWQs IHNvIHRoZSByZXN1bHQgd291bGQNCj4gPiBiZSBNVUxUX0VYUFJzIGFuZCBQTFVTX0VYUFJzIGlu dGVybGVhdmVkIHdpdGggZWFjaCBvdGhlciAod2hpY2gNCj4gPiBpcyBtb3N0bHkgZmluZSBpZiB0 aGVzZSBhcmUgbm90IGluIHN1Y2ggdGlnaHQgbG9vcHMpLg0KPiA+DQo+ID4gV2hhdCB0aGlzIHBh dGNoIHRyaWVzIHRvIGRvIGNhbiBiZSBzdW1tYXJpemVkIGFzOiB3aGVuIGNyb3NzDQo+ID4gYmFj a2VkZ2UgZGVwZW5kZW5jeSBpcyBkZXRlY3RlZCAoYW5kIHRoZSB1YXJjaCBkb2Vzbid0IGxpa2Ug aXQpLA0KPiA+IGJldHRlciBmYWxsYmFjayB0byB0aGUgIm9sZCIgd2F5LCBzaW5jZSB3ZSBkb24n dCB3YW50IHRoZSBsb29wDQo+ID4gZGVwZW5kaW5nIEZNQSBhbnl3YXkuIChJIGhvcGUgSSdtIHVu ZGVyc3RhbmRpbmcgdGhlIHF1ZXN0aW9uDQo+ID4gY29ycmVjdGx5LikNCj4gDQo+IEhtbSwgSSdk IGFyZ3VlIHRoaXMgc2hvdWxkIGJlDQo+IA0KPiAgaWYgKGxlbiA+PSAzICYmICghaGFzX2ZtYSB8 fCAod2lkdGggPSBnZXRfcmVhc3NvY2lhdGlvbl93aWR0aCAoLi4uKSkgPiAxKSkNCj4gICBzd2Fw X29wc19mb3JfYmluYXJ5X3N0bXQgKG9wcywgbGVuIC0gMyk7DQo+IA0KPiB0byBjb3ZlciB0aGUg Y2FzZSBvZiBleGFjdGx5IDMgb3BzIC0gdGhpcyBpcyBmb3IgZXhhY3RseSAzIG9wcywgcmlnaHQ/ DQoNClllcywgdGhpcyBpcyBiZXR0ZXIuDQoNCj4gSW4gcHJpbmNpcGxlIHdlIGNvdWxkLCBpbiBz d2FwX29wc19mb3JfYmluYXJ5X3N0bXQsIGZvciBoYXNfZm1hDQo+IGF2b2lkIGRvaW5nIHN0aCB3 aGVuIG5vIFBISSByZWN1cnJlbmNlIGlzIGludm9sdmVkLiAgQnV0IHRoZSBwb2ludA0KPiBpcyB0 aGUgdGFyZ2V0IGNhbiBleGVjdXRlIHRoaW5ncyBpbiBwYXJhbGxlbCwgYW5kIHRoZSB0aGluZyB0 byBjaGVjayBmb3INCj4gdGhpcyBpcyB0aGUgcmVhc3NvY2lhdGlvbi13aWR0aCAoZXZlbiBpZiBp dHMgZm9yIGV4dGVuZGluZyB0aGUgY2hhaW4NCj4gdmlhIHNwZWN1bGF0aXZlIGV4ZWN1dGlvbiBh Y3Jvc3MgYSBiYWNrZWRnZSkuDQoNCkF0dGFjaGVkIGlzIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0 aGUgcGF0Y2guIEkgdXNlZCBhIG5ldyBmdW5jdGlvbg0KKHN3YXBfZm9yX2JldHRlcl9yZWFzc29j X3dpZHRoX3ApIHRvIGNoZWNrIGZvciBjcm9zcyBiYWNrZWRnZQ0KZGVwZW5kZW5jeSByYXRoZXIg dGhhbiBleHRlbmRpbmcgZ2V0X3JlYXNzb2NpYXRpb25fd2lkdGgsIGNvbnNpZGVyaW5nDQp3ZSB3 YW50IGEgbWF0Y2ggb25seSBpZiB0aGUgd2lkdGggd2l0aG91dCBzd2FwcGluZyBpcyB3b3JzZSB0 aGFuDQpzd2FwcGVkLiBGb3IgYSBjYXNlIGxpa2UgImFjYyA9IGEgKiBiICsgYyAqIGQgKyBlIiAo d2l0aG91dCBsb29wDQpkZXBlbmRlbmN5KSwgdGhlc2UgdWFyY2hzIGNhbiBleGVjdXRlIHRoZSBj b2RlIGluIHBhcmFsbGVsIHdoZXRoZXINCml0J3Mgc3dhcHBlZCBvciBub3QuIEluIHRoaXMgY2Fz ZSBpdCdzIGJldHRlciBub3QgdG8gc3dhcCB0aGUNCm9wZXJhbmRzIHNvIG1vcmUgRk1BcyBjYW4g YmUgZ2VuZXJhdGVkLg0KDQo+IA0KPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4g PiA+IElmIHRoZSBjb2RlIGZyYWdtZW50IGlzIGluIGEgbG9vcCwgc29tZSBhcmNoaXRlY3R1cmUg Y2FuDQo+IGV4ZWN1dGUNCj4gPiA+ID4gPiA+ID4gPiA+IHRoZSBsYXR0ZXIgaW4gcGFyYWxsZWws IHNvIHRoZSBwZXJmb3JtYW5jZSBjYW4gYmUgbXVjaCBmYXN0ZXINCj4gPiA+IHRoYW4NCj4gPiA+ ID4gPiA+ID4gPiA+IHRoZSBmb3JtZXIuIEZvciB0aGUgc21hbGwgdGVzdGNhc2UsIHRoZSBwZXJm b3JtYW5jZSBnYXAgaXMNCj4gb3Zlcg0KPiA+ID4gPiA+ID4gPiA+ID4gMTAlIG9uIGJvdGggYW1w ZXJlMSBhbmQgbmVvdmVyc2UtbjEuIFNvIHRoZSBwb2ludCBoZXJlIGlzIHRvDQo+ID4gPiBhdm9p ZA0KPiA+ID4gPiA+ID4gPiA+ID4gdHVybmluZyB0aGUgbGFzdCBzdGF0ZW1lbnQgaW50byBGTUEs IGFuZCBrZWVwIGl0IGEgUExVU19FWFBSDQo+IGFzDQo+ID4gPiA+ID4gPiA+ID4gPiBtdWNoIGFz IHBvc3NpYmxlLiAoSWYgd2UgYXJlIHJld3JpdGluZyB0aGUgb3AgbGlzdCBpbnRvDQo+IHBhcmFs bGVsLA0KPiA+ID4gPiA+ID4gPiA+ID4gbm8gc3BlY2lhbCB0cmVhdG1lbnQgaXMgbmVlZGVkLCBz aW5jZSB0aGUgbGFzdCBzdGF0ZW1lbnQNCj4gYWZ0ZXINCj4gPiA+ID4gPiA+ID4gPiA+IHJld3Jp dGVfZXhwcl90cmVlX3BhcmFsbGVsIHdpbGwgYmUgUExVU19FWFBSIGFueXdheS4pDQo+ID4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gMi4gRnVuY3Rpb24gcmVzdWx0X2ZlZWRzX2Jh Y2tfZnJvbV9waGlfcCBpcyB0byBjaGVjayBmb3INCj4gY3Jvc3MNCj4gPiA+ID4gPiA+ID4gPiA+ IGJhY2tlZGdlIGRlcGVuZGVuY3kuIEFkZGVkIG5ldyBlbnVtIGZtYV9zdGF0ZSB0byBkZXNjcmli ZSB0aGUNCj4gPiA+ID4gPiA+ID4gPiA+IHN0YXRlIG9mIEZNQSBjYW5kaWRhdGVzLg0KPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IFdpdGggdGhpcyBwYXRjaCwgdGhlcmUncyBh IDMlIGltcHJvdmVtZW50IGluIDUxMC5wYXJlc3RfciAxLQ0KPiBjb3B5DQo+ID4gPiA+ID4gPiA+ ID4gPiBydW4gb24gYW1wZXJlMS4gVGhlIGNvbXBpbGUgb3B0aW9ucyBhcmU6DQo+ID4gPiA+ID4g PiA+ID4gPiAiLU9mYXN0IC1tY3B1PWFtcGVyZTEgLWZsdG8gLS1wYXJhbSBhdm9pZC1mbWEtbWF4 LWJpdHM9NTEyIi4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBCZXN0IHJl Z2FyZHMsDQo+ID4gPiA+ID4gPiA+ID4gPiBEaSBaaGFvDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiA+ID4gLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ ICAgICAgICAgIFBSIHRyZWUtb3B0aW1pemF0aW9uLzExMDI3OQ0KPiA+ID4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gPiA+IGdjYy9DaGFuZ2VMb2c6DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gPiA+ID4gICAgICAgICAgKiB0cmVlLXNzYS1yZWFzc29jLmNjIChlbnVtIGZtYV9z dGF0ZSk6IE5ldyBlbnVtIHRvDQo+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICBkZXNjcmliZSB0 aGUgc3RhdGUgb2YgRk1BIGNhbmRpZGF0ZXMgZm9yIGFuIG9wIGxpc3QuDQo+ID4gPiA+ID4gPiA+ ID4gPiAgICAgICAgICAocmV3cml0ZV9leHByX3RyZWVfcGFyYWxsZWwpOiBDaGFuZ2VkIGJvb2xl YW4NCj4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgIHBhcmFtZXRlciB0byBlbnVtIHR5cGUuDQo+ ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAocmVzdWx0X2ZlZWRzX2JhY2tfZnJvbV9waGlfcCk6 IE5ldyBmdW5jdGlvbiB0bw0KPiBjaGVjaw0KPiA+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgZm9y IGNyb3NzIGJhY2tlZGdlIGRlcGVuZGVuY3kuDQo+ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAo cmFua19vcHNfZm9yX2ZtYSk6IFJldHVybiBlbnVtIGZtYV9zdGF0ZS4gQWRkZWQgbmV3DQo+ID4g PiA+ID4gPiA+ID4gPiAgICAgICAgICBwYXJhbWV0ZXIuDQo+ID4gPiA+ID4gPiA+ID4gPiAgICAg ICAgICAocmVhc3NvY2lhdGVfYmIpOiBJZiB0aGVyZSdzIGJhY2tlZGdlIGRlcGVuZGVuY3kgaW4N Cj4gYW4NCj4gPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgIG9wIGxpc3QsIHN3YXAgdGhlIG9wZXJh bmRzIGJlZm9yZSByZXdyaXRlX2V4cHJfdHJlZS4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiA+ID4gPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiAgICAgICAgICAqIGdjYy5kZy9wcjExMDI3OS5jOiBOZXcgdGVzdC4N Cj4gPiA+ID4gPiA+ID4gPiBOb3QgYSByZXZpZXcsIGJ1dCBtb3JlIG9mIGEgcXVlc3Rpb24gLS0g aXNuJ3QgdGhpcw0KPiB0cmFuc2Zvcm1hdGlvbidzDQo+ID4gPiA+ID4gPiA+ID4gcHJvZml0YWJp bGl0eSB1YXJjaCBzZW5zaXRpdmUuICBpZSwganVzdCBiZWNhdXNlIGl0J3MgYmFkIGZvciBhDQo+ IHNldA0KPiA+ID4gb2YNCj4gPiA+ID4gPiA+ID4gPiBhYXJjaDY0IHVhcmNoZXMsIGRvZXNuJ3Qg bWVhbiBpdCdzIGJhZCBldmVyeXdoZXJlLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gQW5kIGluIGdlbmVyYWwgd2Ugc2h5IGF3YXkgZnJvbSB0cnlpbmcgdG8gYWRqdXN0IGdpbXBs ZSBjb2RlDQo+IGJhc2VkDQo+ID4gPiBvbg0KPiA+ID4gPiA+ID4gPiA+IHVhcmNoIHByZWZlcmVu Y2VzLg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSXQgc2VlbXMgdGhlIHJpZ2h0 IHBsYWNlIHRvIGRvIHRoaXMgaXMgZ2ltcGxlLT5ydGwgZXhwYW5zaW9uLg0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiBBbm90aGVyIGNvbW1lbnQgaXMgdGhhdCBGTUEgZm9ybWluZyBoYXMg dGhpcyBkZWZlcnJpbmcgY29kZSB3aGljaA0KPiBJDQo+ID4gPiA+ID4gPiA+IHRoaW5rIGRlYWxz IGV4YWN0bHkgd2l0aCB0aGlzIGtpbmQgb2YgdGhpbmc/ICBDQ2luZyBNYXJ0aW4gd2hvDQo+IGRp ZA0KPiA+ID4gdGhpcw0KPiA+ID4gPiA+ID4gPiB3b3JrIGJhc2VkIG9uIEFNRCB1YXJjaHMgYWxz byBub3Qgd2FudGluZyBjcm9zcy1sb29wIGRlcGVuZGVuY2VzDQo+ID4gPiA+ID4gPiA+IG9uIEZN QXMgKG9yIHNvKS4gIEluIHBhcnRpY3VsYXIgSSBzZWUNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ID4gICBpZiAoZm1hX3N0YXRlLm1fZGVmZXJyaW5nX3ANCj4gPiA+ID4gPiA+ID4gICAgICAg JiYgZm1hX3N0YXRlLm1faW5pdGlhbF9waGkpDQo+ID4gPiA+ID4gPiA+ICAgICB7DQo+ID4gPiA+ ID4gPiA+ICAgICAgIGdjY19jaGVja2luZ19hc3NlcnQgKGZtYV9zdGF0ZS5tX2xhc3RfcmVzdWx0 KTsNCj4gPiA+ID4gPiA+ID4gICAgICAgaWYgKCFsYXN0X2ZtYV9jYW5kaWRhdGVfZmVlZHNfaW5p dGlhbF9waGkgKCZmbWFfc3RhdGUsDQo+ID4gPiA+ID4gPiA+DQo+ICZtX2xhc3RfcmVzdWx0X3Nl dCkpDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgY2FuY2VsX2ZtYV9kZWZlcnJpbmcgKCZmbWFfc3Rh dGUpOw0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBhbmQgSSB0aGluayBjb2RlIHRvIGF2 b2lkIEZNQXMgaW4gb3RoZXIvcmVsYXRlZCBjYXNlcyBzaG91bGQgYmUNCj4gaGVyZQ0KPiA+ID4g PiA+ID4gPiBhcyB3ZWxsLCBsaWtlIGF2b2lkIGZvcm1pbmcgYmFjay10by1iYWNrIEZNQXMuDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVGhlIGNoYW5nZXMgaW4gdGhpcyBwYXRjaCBpcyBjb250 cm9sbGVkIGJ5DQo+ICJwYXJhbV9hdm9pZF9mbWFfbWF4X2JpdHMiLA0KPiA+ID4gc28NCj4gPiA+ ID4gPiA+IEkgdGhpbmsgaXQgc2hvdWxkIG9ubHkgYWZmZWN0IGFyY2hpdGVjdHVyZXMgd2l0aCBz aW1pbGFyIGJlaGF2aW9yLg0KPiAoVGhlDQo+ID4gPiA+ID4gPiBwYXJhbWV0ZXIgd2FzIGFkZGVk IGluIGEgcHJldmlvdXMgcGF0Y2ggIkRlZmVycmluZyBGTUENCj4gdHJhbnNmb3JtYXRpb25zDQo+ ID4gPiA+ID4gPiBpbiB0aWdodCBsb29wcyIsIHdoaWNoIHNlZW1zIHRvIGJlIGRlYWxpbmcgd2l0 aCB0aGUgc2FtZSBpc3N1ZS4pDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBUaGF0J3Mgd2hhdCBJIHNh aWQuICBJcyB0aGUgcGlwZWxpbmUgYmVoYXZpb3IgcHJvcGVybHkgbW9kZWxlZCBieSB0aGUNCj4g PiA+ID4gPiBzY2hlZHVsZXIgZGVzY3JpcHRpb24/ICBZb3VyIHBhdGNoIHNlZW1zIHRvIG5vdCBv bmx5IGFmZmVjdCBsb29wcw0KPiA+ID4gPiA+IGJ1dCB0aGUgRk1BIGZvcm1pbmcgY2FzZSBhbHJl YWR5IHByZXNlbnQgZG9lcyAtIGlzIHRoZSBjYXNlIHlvdSBhcmUNCj4gPiA+ID4gPiBhZnRlciBu b3QgaW4gYSB0aWdodCBsb29wPyAgSW4gcHJpbmNpcGxlIHdpdGggYSBsb29wIHdpdGggZW5vdWdo DQo+ID4gPiBzY2hlZHVsaW5nDQo+ID4gPiA+ID4gZnJlZWRvbSB0aGlzIHNob3VsZCBiZSBhIG5v bi1pc3N1ZSAtIHVubGVzcyB0aGUgcGlwZWxpbmUgbW9kZWwgaXNuJ3QNCj4gPiA+ID4gPiBhY2N1 cmF0ZSBhbmQgd2UgcHV0IHRoZSBGTUFzIHRvbyBjbG9zZSB0b2dldGhlcj8NCj4gPiA+ID4NCj4g PiA+ID4gVGhlIGN1cnJlbnQgZGVmZXJyaW5nIEZNQSBzY2hlbWUgZGlzY2FyZHMgYWxsIHRoZSBG TUEgY2FuZGlkYXRlcyBpbiB0aGUNCj4gRk1BDQo+ID4gPiA+IGNoYWluIHRoYXQgaGFzIGxvb3Ag ZGVwZW5kZW5jeS4gU28gZm9yIHRoaXMgY2FzZSB0aGVyZSB3aWxsIGJlIHRvbyBsZXNzDQo+ID4g PiAoemVybykNCj4gPiA+ID4gRk1BIGdlbmVyYXRlZDsgd2hpbGUgYmVmb3JlIHRoZSAiSGFuZGxl IEZNQSBmcmllbmRseS4uLiIgcGF0Y2ggb3IgYWZ0ZXINCj4gPiA+IHRoaXMNCj4gPiA+ID4gcGF0 Y2ggd2UgY2FuIHN0aWxsIGhhdmUgMSBGTUEuIEkgYWxzbyB0cmllZCB0byBjaGFuZ2UgdGhlIGRl ZmVycmluZyBGTUENCj4gPiA+IHNjaGVtZQ0KPiA+ID4gPiBzbyBvbmx5IHRoZSBsYXN0IEZNQSBp cyBkaXNjYXJkZWQsIGJ1dCBpdCBzdGlsbCBjYW4ndCBzb2x2ZSB0aGUNCj4gcmVncmVzc2lvbi4N Cj4gPiA+ID4gSSB0aGluayBpdCdzIGJlY2F1c2UgdGhpcyBkZWZlcnJpbmcgc2NoZW1lIGlzIGlu IHRoZSBsYXRlciBwYXNzDQo+ID4gPiB3aWRlbmluZ19tdWwsDQo+ID4gPiA+IHdoaWNoIG9ubHkg ZGVjaWRlcyB3aGV0aGVyIHRvIGZvcm0gRk1BLCBidXQgZG9lc24ndCBtYW5pcHVsYXRlIHRoZSB0 cmVlDQo+IGZvcg0KPiA+ID4gPiBiZXR0ZXIgZGF0YSBwYXJhbGxlbGlzbS4gU28gaXQgc2VlbXMg YmV0dGVyIHRvIG9wdGltaXplIGZvciBkYXRhDQo+ID4gPiBwYXJhbGxlbGlzbQ0KPiA+ID4gPiAo c3dhcHBpbmcgdGhlIG9wZXJhbmRzKSBpbiByZWFzc29jIGlmIHdlIGtub3cgdGhlcmUgY2FuIGJl IEZNQXMgd2l0aA0KPiBsb29wDQo+ID4gPiA+IGRlcGVuZGVuY3ksIGFuZCBsZWF2ZSB0aGUgY3Vy cmVudCBkZWZlcnJpbmcgRk1BIHNjaGVtZSBhcyB0aGUgbGFzdA0KPiByZXNvcnQ/DQo+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBSaWNoYXJkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ IFJpY2hhcmQuDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gSmVmZg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiBEaSBaaGFvDQo+ ID4NCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBEaSBaaGFvDQoNClRoYW5rcywNCkRpIFpoYW8NCg0K DQotLS0tDQogICAgICAgIFBSIHRyZWUtb3B0aW1pemF0aW9uLzExMDI3OQ0KDQpnY2MvQ2hhbmdl TG9nOg0KDQogICAgICAgICogdHJlZS1zc2EtcmVhc3NvYy5jYyAoc3dhcF9mb3JfYmV0dGVyX3Jl YXNzb2Nfd2lkdGhfcCk6DQogICAgICAgIE5ldyBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHJh bmtpbmcgdGhlIG9wcyByZXN1bHRzIGluDQogICAgICAgIGJldHRlciBwYXJhbGxlbGlzbS4NCiAg ICAgICAgKHJlYXNzb2NpYXRlX2JiKTogRm9yIDMgb3BzLCByZWZpbmUgdGhlIGNvbmRpdGlvbiB0 byBjYWxsDQogICAgICAgIHN3YXBfb3BzX2Zvcl9iaW5hcnlfc3RtdC4NCg0KZ2NjL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6DQoNCiAgICAgICAgKiBnY2MuZGcvcHIxMTAyNzkuYzogTmV3IHRlc3QuDQo= --_002_BYAPR01MB423164E752B7BF84C1E0D186E8E9ABYAPR01MB4231prod_ Content-Type: application/octet-stream; name="0001-PATCH-swap-operands-in-reassoc-to-reduce-cross-backe.patch" Content-Description: 0001-PATCH-swap-operands-in-reassoc-to-reduce-cross-backe.patch Content-Disposition: attachment; filename="0001-PATCH-swap-operands-in-reassoc-to-reduce-cross-backe.patch"; size=5045; creation-date="Mon, 04 Sep 2023 10:14:04 GMT"; modification-date="Mon, 04 Sep 2023 10:33:15 GMT" Content-Transfer-Encoding: base64 RnJvbSAxYjZhY2Q2ZjY1YWNjOTkwNWVjOTMzNDgwYzM2NzZmZDcxMDFjOTU2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiZHpoYW8uYW1wZXJlIiA8ZGkuemhhb0BhbXBlcmVjb21wdXRp bmcuY29tPgpEYXRlOiBNb24sIDQgU2VwIDIwMjMgMTE6MzY6NTEgKzA4MDAKU3ViamVjdDogW1BB VENIXSBbUEFUQ0hdIHN3YXAgb3BlcmFuZHMgaW4gcmVhc3NvYyB0byByZWR1Y2UgY3Jvc3MgYmFj a2VkZ2UgRk1BCgotLS0KIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMTEwMjc5LmMgfCA2MiArKysr KysrKysrKysrKysrKysrKysrKysrKwogZ2NjL3RyZWUtc3NhLXJlYXNzb2MuY2MgICAgICAgICB8 IDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAx NDAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2NjLmRnL3ByMTEwMjc5LmMKCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9wcjExMDI3OS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHIxMTAyNzkuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYjMyOTMxY2EzMTgKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wcjExMDI3OS5jCkBAIC0wLDAgKzEsNjIgQEAK Ky8qIHsgZGctZG8gY29tcGlsZSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1PZmFzdCAtLXBhcmFt IGF2b2lkLWZtYS1tYXgtYml0cz01MTIgLS1wYXJhbSB0cmVlLXJlYXNzb2Mtd2lkdGg9NCAtZmR1 bXAtdHJlZS13aWRlbmluZ19tdWwtZGV0YWlscyIgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9w dGlvbnMgIi1tYXJjaD1hcm12OC4yLWEiIH0gKi8KKworI2RlZmluZSBMT09QX0NPVU5UIDgwMDAw MDAwMAordHlwZWRlZiBkb3VibGUgZGF0YV9lOworCisvKiBDaGVjayB0aGF0IEZNQXMgd2l0aCBi YWNrZWRnZSBkZXBlbmRlbmN5IGFyZSBhdm9pZGVkLiBPdGhlcndpc2UgdGhlcmUgd29uJ3QKKyAg IGJlIEZNQSBnZW5lcmF0ZWQgd2l0aCAiLS1wYXJhbSBhdm9pZC1mbWEtbWF4LWJpdHM9NTEyIi4g ICAqLworCitmb28xIChkYXRhX2UgYSwgZGF0YV9lIGIsIGRhdGFfZSBjLCBkYXRhX2UgZCkKK3sK KyAgZGF0YV9lIHJlc3VsdCA9IDA7CisKKyAgZm9yIChpbnQgaWMgPSAwOyBpYyA8IExPT1BfQ09V TlQ7IGljKyspCisgICAgeworICAgICAgcmVzdWx0ICs9IChhICogYiArIGMgKiBkKTsKKworICAg ICAgYSAtPSAwLjE7CisgICAgICBiICs9IDAuOTsKKyAgICAgIGMgKj0gMS4wMjsKKyAgICAgIGQg Kj0gMC42MTsKKyAgICB9CisKKyAgcmV0dXJuIHJlc3VsdDsKK30KKworZm9vMiAoZGF0YV9lIGEs IGRhdGFfZSBiLCBkYXRhX2UgYywgZGF0YV9lIGQpCit7CisgIGRhdGFfZSByZXN1bHQgPSAwOwor CisgIGZvciAoaW50IGljID0gMDsgaWMgPCBMT09QX0NPVU5UOyBpYysrKQorICAgIHsKKyAgICAg IHJlc3VsdCA9IGEgKiBiICsgcmVzdWx0ICsgYyAqIGQ7CisKKyAgICAgIGEgLT0gMC4xOworICAg ICAgYiArPSAwLjk7CisgICAgICBjICo9IDEuMDI7CisgICAgICBkICo9IDAuNjE7CisgICAgfQor CisgIHJldHVybiByZXN1bHQ7Cit9CisKK2ZvbzMgKGRhdGFfZSBhLCBkYXRhX2UgYiwgZGF0YV9l IGMsIGRhdGFfZSBkKQoreworICBkYXRhX2UgcmVzdWx0ID0gMDsKKworICBmb3IgKGludCBpYyA9 IDA7IGljIDwgTE9PUF9DT1VOVDsgaWMrKykKKyAgICB7CisgICAgICByZXN1bHQgPSByZXN1bHQg KyBhICogYiArIGMgKiBkOworCisgICAgICBhIC09IDAuMTsKKyAgICAgIGIgKz0gMC45OworICAg ICAgYyAqPSAxLjAyOworICAgICAgZCAqPSAwLjYxOworICAgIH0KKworICByZXR1cm4gcmVzdWx0 OworfQorCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIkdlbmVyYXRlZCBG TUEiIDMgIndpZGVuaW5nX211bCJ9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90cmVlLXNzYS1yZWFz c29jLmNjIGIvZ2NjL3RyZWUtc3NhLXJlYXNzb2MuY2MKaW5kZXggZWRhMDNiZjk4YTYuLjg0NDM5 ZGJjYjZiIDEwMDY0NAotLS0gYS9nY2MvdHJlZS1zc2EtcmVhc3NvYy5jYworKysgYi9nY2MvdHJl ZS1zc2EtcmVhc3NvYy5jYwpAQCAtNTQyNyw2ICs1NDI3LDgxIEBAIGdldF9yZXF1aXJlZF9jeWNs ZXMgKGludCBvcHNfbnVtLCBpbnQgY3B1X3dpZHRoKQogICByZXR1cm4gcmVzOwogfQogCisvKiBH aXZlbiB0aGF0IExIUyBpcyB0aGUgcmVzdWx0IFNTQV9OQU1FIG9mIE9QUywgcmV0dXJucyB3aGV0 aGVyIHJhbmtpbmcgdGhlCisgICBvcHMgcmVzdWx0cyBpbiBiZXR0ZXIgcGFyYWxsZWxpc20uICAq Lworc3RhdGljIGJvb2wKK3N3YXBfZm9yX2JldHRlcl9yZWFzc29jX3dpZHRoX3AgKHZlYzxvcGVy YW5kX2VudHJ5ICo+ICpvcHMsIHRyZWUgbGhzKQoreworICAvKiBJZiB0aGVyZSdzIGNvZGUgbGlr ZSAiYWNjID0gYSAqIGIgKyBjICogZCArIGFjYyIgaW4gYSB0aWdodCBsb29wLCBzb21lCisgICAg IHVhcmNocyBjYW4gZXhlY3V0ZSByZXN1bHRzIGxpa2U6CisKKwlfMSA9IGEgKiBiOworCV8yID0g LkZNQSAoYywgZCwgXzEpOworCWFjY18xID0gYWNjXzAgKyBfMjsKKworICAgICBpbiBwYXJhbGxl bCwgd2hpbGUgdHVybmluZyBpdCBpbnRvCisKKwlfMSA9IC5GTUEoYSwgYiwgYWNjXzApOworCWFj Y18xID0gLkZNQShjLCBkLCBfMSk7CisKKyAgICAgaGluZGVycyB0aGF0LCBiZWNhdXNlIHRoZW4g dGhlIGZpcnN0IEZNQSBkZXBlbmRzIG9uIHRoZSByZXN1bHQgb2YKKyAgICAgcHJlY2VkaW5nIGl0 ZXJhdGlvbi4gICovCisgIGlmIChtYXliZV9sZSAodHJlZV90b19wb2x5X2ludDY0IChUWVBFX1NJ WkUgKFRSRUVfVFlQRSAobGhzKSkpLAorCQlwYXJhbV9hdm9pZF9mbWFfbWF4X2JpdHMpKQorICAg IHsKKyAgICAgIC8qIExvb2sgZm9yIGNyb3NzIGJhY2tlZGdlIGRlcGVuZGVuY3k6CisJMS4gTEhT IGlzIGEgcGhpIGFyZ3VtZW50IGluIHRoZSBzYW1lIGJhc2ljIGJsb2NrIGl0IGlzIGRlZmluZWQu CisJMi4gQW5kIHRoZSByZXN1bHQgb2YgdGhlIHBoaSBub2RlIGlzIHVzZWQgaW4gT1BTLiAgKi8K KyAgICAgIGJhc2ljX2Jsb2NrIGJiID0gZ2ltcGxlX2JiIChTU0FfTkFNRV9ERUZfU1RNVCAobGhz KSk7CisgICAgICBnaW1wbGVfc3RtdF9pdGVyYXRvciBnc2k7CisgICAgICBmb3IgKGdzaSA9IGdz aV9zdGFydF9waGlzIChiYik7ICFnc2lfZW5kX3AgKGdzaSk7IGdzaV9uZXh0ICgmZ3NpKSkKKwl7 CisJICBncGhpICpwaGkgPSBkeW5fY2FzdDxncGhpICo+IChnc2lfc3RtdCAoZ3NpKSk7CisJICBm b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZ2ltcGxlX3BoaV9udW1fYXJncyAocGhpKTsgKytpKQor CSAgICB7CisJICAgICAgdHJlZSBvcCA9IFBISV9BUkdfREVGIChwaGksIGkpOworCSAgICAgIGlm ICghKG9wID09IGxocyAmJiBnaW1wbGVfcGhpX2FyZ19lZGdlIChwaGksIGkpLT5zcmMgPT0gYmIp KQorCQljb250aW51ZTsKKwkgICAgICB0cmVlIHBoaV9yZXN1bHQgPSBnaW1wbGVfcGhpX3Jlc3Vs dCAocGhpKTsKKwkgICAgICBvcGVyYW5kX2VudHJ5ICpvZTsKKwkgICAgICB1bnNpZ25lZCBpbnQg ajsKKwkgICAgICBGT1JfRUFDSF9WRUNfRUxUICgqb3BzLCBqLCBvZSkKKwkJeworCQkgIGlmIChU UkVFX0NPREUgKG9lLT5vcCkgIT0gU1NBX05BTUUpCisJCSAgICBjb250aW51ZTsKKworCQkgIC8q IFJlc3VsdCBvZiBwaGkgaXMgb3BlcmFuZCBvZiBQTFVTX0VYUFIuICAqLworCQkgIGlmIChvZS0+ b3AgPT0gcGhpX3Jlc3VsdCkKKwkJICAgIHJldHVybiB0cnVlOworCisJCSAgLyogQ2hlY2sgaXMg cmVzdWx0IG9mIHBoaSBpcyBvcGVyYW5kIG9mIE1VTFRfRVhQUi4gICovCisJCSAgZ2ltcGxlICpk ZWZfc3RtdCA9IFNTQV9OQU1FX0RFRl9TVE1UIChvZS0+b3ApOworCQkgIGlmIChpc19naW1wbGVf YXNzaWduIChkZWZfc3RtdCkKKwkJICAgICAgJiYgZ2ltcGxlX2Fzc2lnbl9yaHNfY29kZSAoZGVm X3N0bXQpID09IE5FR0FURV9FWFBSKQorCQkgICAgeworCQkgICAgICB0cmVlIHJocyA9IGdpbXBs ZV9hc3NpZ25fcmhzMSAoZGVmX3N0bXQpOworCQkgICAgICBpZiAoVFJFRV9DT0RFIChyaHMpID09 IFNTQV9OQU1FKQorCQkJeworCQkJICBpZiAocmhzID09IHBoaV9yZXN1bHQpCisJCQkgICAgcmV0 dXJuIHRydWU7CisJCQkgIGRlZl9zdG10ID0gU1NBX05BTUVfREVGX1NUTVQgKHJocyk7CisJCQl9 CisJCSAgICB9CisJCSAgaWYgKGlzX2dpbXBsZV9hc3NpZ24gKGRlZl9zdG10KQorCQkgICAgICAm JiBnaW1wbGVfYXNzaWduX3Joc19jb2RlIChkZWZfc3RtdCkgPT0gTVVMVF9FWFBSKQorCQkgICAg eworCQkgICAgICBpZiAoZ2ltcGxlX2Fzc2lnbl9yaHMxIChkZWZfc3RtdCkgPT0gcGhpX3Jlc3Vs dAorCQkJICB8fCBnaW1wbGVfYXNzaWduX3JoczIgKGRlZl9zdG10KSA9PSBwaGlfcmVzdWx0KQor CQkJcmV0dXJuIHRydWU7CisJCSAgICB9CisJCX0KKwkgICAgfQorCX0KKyAgICB9CisKKyAgcmV0 dXJuIGZhbHNlOworfQorCiAvKiBSZXR1cm5zIGFuIG9wdGltYWwgbnVtYmVyIG9mIHJlZ2lzdGVy cyB0byB1c2UgZm9yIGNvbXB1dGF0aW9uIG9mCiAgICBnaXZlbiBzdGF0ZW1lbnRzLiAgKi8KIApA QCAtNzA0Niw3ICs3MTIxLDkgQEAgcmVhc3NvY2lhdGVfYmIgKGJhc2ljX2Jsb2NrIGJiKQogCQkJ IHRvIG1ha2Ugc3VyZSB0aGUgb25lcyB0aGF0IGdldCB0aGUgZG91YmxlCiAJCQkgYmluYXJ5IG9w IGFyZSBjaG9zZW4gd2lzZWx5LiAgKi8KIAkJICAgICAgaW50IGxlbiA9IG9wcy5sZW5ndGggKCk7 Ci0JCSAgICAgIGlmIChsZW4gPj0gMyAmJiAhaGFzX2ZtYSkKKwkJICAgICAgaWYgKGxlbiA+PSAz CisJCQkgICYmICghaGFzX2ZtYQorCQkJICAgICAgfHwgc3dhcF9mb3JfYmV0dGVyX3JlYXNzb2Nf d2lkdGhfcCAoJm9wcywgbGhzKSkpCiAJCQlzd2FwX29wc19mb3JfYmluYXJ5X3N0bXQgKG9wcywg bGVuIC0gMyk7CiAKIAkJICAgICAgbmV3X2xocyA9IHJld3JpdGVfZXhwcl90cmVlIChzdG10LCBy aHNfY29kZSwgMCwgb3BzLAotLSAKMi4yNS4xCgo= --_002_BYAPR01MB423164E752B7BF84C1E0D186E8E9ABYAPR01MB4231prod_--