From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30056.outbound.protection.outlook.com [40.107.3.56]) by sourceware.org (Postfix) with ESMTPS id BD6553861C54 for ; Tue, 6 Jul 2021 08:03:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org BD6553861C54 Received: from DB9PR06CA0023.eurprd06.prod.outlook.com (2603:10a6:10:1db::28) by VI1PR08MB4462.eurprd08.prod.outlook.com (2603:10a6:803:f9::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.31; Tue, 6 Jul 2021 08:03:46 +0000 Received: from DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:1db:cafe::cc) by DB9PR06CA0023.outlook.office365.com (2603:10a6:10:1db::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.23 via Frontend Transport; Tue, 6 Jul 2021 08:03:46 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT024.mail.protection.outlook.com (10.152.20.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4287.22 via Frontend Transport; Tue, 6 Jul 2021 08:03:45 +0000 Received: ("Tessian outbound 3362253f4878:v97"); Tue, 06 Jul 2021 08:03:45 +0000 X-CR-MTA-TID: 64aa7808 Received: from 57bbc6d24d34.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 395322C1-5E78-4C25-89BF-02447B14C603.1; Tue, 06 Jul 2021 08:03:40 +0000 Received: from EUR02-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 57bbc6d24d34.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 06 Jul 2021 08:03:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KVSfDidLdLKKLKvSgXpNmiwxNxWId1c8i5CmjoUtYzmRBTktvC+CxYKw1ydbqrvp8lmjUOxiWGrZRNKnNoim5WKYDHTYu2qz3jYKCtaSxhYhakQLl0o/NDrnu97zAfc5CsLF6NpgkSHze/bXM3B/lVpxAxrbJp16+/YtfIsnn3wxNDdKfgjHGWK91X+V8s7oUoj6Ex82IUsO55PcV9p7u8e5MSp2tAuZLNDhISllbz7UtVj5cjLsJvedEcU7brv9dy2KYlSlswib7PQOegaPhKO4Y5muR75juPwASc7ck68PDJXZUY+bSuT+iBfeHV34hHgYKXD85ckFKzyNBSSomw== 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-SenderADCheck; bh=tEU9rwexDsWOJ+F0hDHpE4gXtG+eiHYIeBMmeGEwDOE=; b=Exc1o18JE8xTs9CtkGcGCROY/c0UZVOCI/ZH2gRAMqfrU0cGvwFsTJJeWs7d1b10Lko9AX4ZGIGZindql3rqVUus7FjAENU7s4uJynVfJ3Wg73fZQ/ggUaztyuXhgPSdE93tb5KH5Vj8I0zewKomKaCx67ZWgT5vTNFwIpICrvLwKpJi8VsSYPA9kYhKjb808+u+x/pAkyYY0cTw+vg2oRDaYpZpLUiDUWxo+STM9v3vLB7UkV0ZRQN4p2Ril7gIhH3lapYMWbKZrXDq3Cbs7amFKYIbvXTpO1uwbAcL78Kyhf2socZrb8QKqQSvhHl7KznfJnmfAeHUgoPzNKpP/Q== 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 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PA4PR08MB6238.eurprd08.prod.outlook.com (2603:10a6:102:e8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.21; Tue, 6 Jul 2021 08:03:38 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::a0ac:755e:a041:e9eb]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::a0ac:755e:a041:e9eb%6]) with mapi id 15.20.4308.019; Tue, 6 Jul 2021 08:03:38 +0000 From: Kyrylo Tkachov To: Prathamesh Kulkarni , Christophe LYON CC: gcc Patches Subject: RE: [ARM] PR98435: Missed optimization in expanding vector constructor Thread-Topic: [ARM] PR98435: Missed optimization in expanding vector constructor Thread-Index: AQHXWRLyJygokSmMF0CR9NG1rePGzqsDeP8AgAgJIgCAB7LIAIAQRO5QgAXFzgCAAACLoIAACqAAgAGq/gCAAd9QAIABSFqAgAebFICAAA+L8A== Date: Tue, 6 Jul 2021 08:03:37 +0000 Message-ID: References: <9fd8bc30-f7d1-0171-4147-d570413f7a62@foss.st.com> <1d306b96-daa5-3a47-5e3e-d07ddd56dcf4@foss.st.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 8FFA4BC072A9A24489AAD8C186A18CDC.0 x-checkrecipientchecked: true Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [86.31.103.53] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: ab76648b-587c-43f9-8cdd-08d940549457 x-ms-traffictypediagnostic: PA4PR08MB6238:|VI1PR08MB4462: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:4125;OLM:4125; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: AzXQzRFuEg0Wq9HIiK+J9ZUop1MCnzyZ+yQkmfO8Sv7cf4qtPyat7Go/OgYucEdOWxVGS3xPPllUssODTh1z/9IgYPL8rYHp8w7BZOb02/kp9+cE07M4QvhXnrgvd5JUAbtsJaFlyjzcLgBEJj3KBKuCpI4+iM/vFZCDIzwyqtP6H7a9ZQ1Jmnh0AVEC71s5730qof7OsqD3n51Xh3grGjQCAyKvkWXPuEK7yy6wrXt2ernRluipIP2zD60hKoaowFpNKAMEK6/7WuK8vO4+j+4JC2TpnZTBB09Q35Vz7vIfrDe/HXrOfA46b+yKY+HA75BoqOdOBOJU5uANOGxgrSqJJgiqbQgQpaqYIs512tOMdGgRxYiYUKlBdtUkXlMXosHmnCm0mt5b1vOOOsOY42my3SIy4rCmO6TNRwgFzEIBVl1fUeJt5qLY3EuQnkM/mk0OMoT24eexVIZcY7usiW1/1hOPjO7PEP8FnLsxKuOibhvuE7RVP8CEz/+jcBFKwGBNmlsqmxkigG2WNrvAbH7HDkRz9NqlLspZDEp7vQlqf/6xfkQYJ+OM/8dxsXt1UPCrUuOtPf2LJnZuvYWuHFRYz/S7oyyTTysBlN6uPbwhZ48IxlYk17RdLHKpFRhzpapFONJGZ7RT9hp9gW5OTnUlQAETZB1QahbTOwvJQKlmxLbWy/MlD8u1c7RMbvnlGqCDy2w7/ZLEYSXoY/WiOOOEeEnL2fi52ZSUpTOUflDeZBjGNXfnd7MDEFfwDt7P/UWcZ/PQ9sZc+z5BoThScQ== 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:(4636009)(39860400002)(396003)(346002)(366004)(136003)(376002)(66946007)(26005)(8676002)(83380400001)(71200400001)(76116006)(110136005)(4326008)(186003)(2906002)(66556008)(64756008)(86362001)(9686003)(33656002)(66446008)(966005)(52536014)(122000001)(53546011)(6506007)(66476007)(7696005)(38100700002)(316002)(55236004)(8936002)(55016002)(478600001)(5660300002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WEpTcGRjdXVwQ0pWQVE4Lzh1a2pOU01ja0JGbHkwMWQzL1RXM0VIZmNSekdP?= =?utf-8?B?bVJPWFdBVFdvbVpyUjZHeXFZZVozMUtKZTl6RmRydTZ3R0pNdE8ydGZJc0dM?= =?utf-8?B?SGFTVFRQK1pwMDk2b3hhTXZqMEQ0UHk5WlVXeUV5MWpWSWhRUmZoOFFTZzVs?= =?utf-8?B?NVVncHRETUxpNE1CcGMxUXl3TjZrck9NMWFpWEQ0MXNzcWlDbDZtTVBZdE9q?= =?utf-8?B?L0J0MEUycFBzV01vejZoV2VTNnM5MTFZMllySTZOMW9IYVh3SEdveTFqekdl?= =?utf-8?B?QVFtWFR5K2h0WVNFWkNzRFdvbmp0OUlMUzNHSXRSR1lUaFYzaTh2ZlNaMVR3?= =?utf-8?B?eWw2WDVGbDZiUFZwL1E4ZEVEYi9WeWs0VmFxUnQvT0NWZzZzRU94czR0T092?= =?utf-8?B?aGl2S2RzZSt1cEt5TGRlUjVqMDU0YWlsOWpaVGx5K0lsNTRPdE9qMHNNSGla?= =?utf-8?B?aVc3Y0xIMFk2LzlwbFV4OXgxNGdVbTdka1JFcjI2dkIwdXFQcGRYN0hYZTJa?= =?utf-8?B?cXlMOVIrUktRbWF2TjVLR0dDaVluRHFWTmo5cmZKbjhDMzN1aTc3UGZZQjF1?= =?utf-8?B?bmFlS0xxcUl1U3I0bjVxc3ozWXdZNzlHM2tweVh4dXdtTTYvb3ppbVhpQnJB?= =?utf-8?B?R2lRZmNsZ3AwU1VsallEbkQrK1c5UVZPZHQwdmk4TzEyRUdNU1J2L0lueE45?= =?utf-8?B?d2VqVkJPUnR0QmxBYmg2WmdrVXVEQjFWcDZ4OHhqL0xaV213N2RZWlRjZG56?= =?utf-8?B?aWJteDlBclI3SXBwOWxwWisyQkNlcWNwdlp5SDJ6T0pwb0d1TW1vYmNpYS9l?= =?utf-8?B?QjI2eDl6UUkyWldIRG5NVEMzS3ErczFzTTJpb1NjY1MzU2p3dit1THR2RW8w?= =?utf-8?B?eDFBN2kwNzEyNk9zWWJ5TjZ3UXBBc3RtOGs2M3ZKUkoxR1Vyc2orMmtWK3VF?= =?utf-8?B?MFlYaWNYN2QzWW1CYldaSk5Pa3RuL2dzUkdLOFFQQlh1WDlnS2kxTU1FQ0pD?= =?utf-8?B?ZXk0VXdqZEdTM21UOFE2ek5RNTEvVXdiSWt5eGFtL0NDMWdJeWZjajI4eTFz?= =?utf-8?B?N2M0MU5HaU9rUE1kUFNRalhLVytnRXZmZjNxb3pUNzhHRWJjb2xLQWl1ZXp4?= =?utf-8?B?MWFKL3B0ZXZvK2YrNlVDUE9NWmo4VDZTbHJyWStrRHBOMXZPWEgrcDdabERU?= =?utf-8?B?OGZoSWlWQVV6a2hZTnlXcExsaTg3Mzh2VSt6WFRhQmhDOWtzM2kxNi96U2wv?= =?utf-8?B?T3dDUjVORWVtOGVaZWtZUk9hZmhzVlR4YllCdVVITHd5SWpZS3l0YkFzRWk1?= =?utf-8?B?M0VyVjB0LzE0TktxNVh4STNld1ArVTFCT3dCaG1CWjU4TVFFMnd4T0pXRlR0?= =?utf-8?B?ZGVMalREY096OU5mcGJqbTVpajNWMVI1OHBic0ErcHNTOW94K1p3ZWRmOHl0?= =?utf-8?B?RmVraVhsVWdIUFBuWW1GNW5sM2VFd0VRL2x0OWwzSWJZZFdDaGRQRzY1b2VH?= =?utf-8?B?K3Q3eE92eFFZcUpWZjdUMXFyL3pkek9mWFY3N1FrWVBqVjBYT0F5akxMSzZM?= =?utf-8?B?TGFvYjFueXhyT1ZpVi81VGpRYU5ZaGYxZmRDdGVJTStNUW1pRWRTS0s5UUtY?= =?utf-8?B?ZDV4U05ad1ZYQ3V1bmk2eUp0elFHOWQwNmVLaVFma0xUVmd2R2w3bWNTRDI2?= =?utf-8?B?SEtMejJadVdaMXdUZzkrUjA1RWxyRWhIU0Q0clhLeFpnb3lOdytiTjB1UGxF?= =?utf-8?Q?U2FmhoO83cxozcHTes=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6238 Original-Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: c72403e3-619f-48af-23cb-08d940548fa7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: haBTSMi+Q04cNFubiD5i4r3xeZ0cAr9pBvdZ8TiaYiJsEcO7+sAEX5WO4b36jjoyBISKAs2lD572Ap2ltFOSRxCEJIn4caWKTaEryD98iuIpet572cSWXNVx6UQ9f2ajY8GgxniUZcQ5WMKB2gWSXOpA4C75mihOGvjXplAsXOgbcYOy+nvICTbbETlNymBX2zeTMR6Ksh/JPe5zMxExWavJHVm/nmrPZASKNO9K4C85ntQzlL/kDOacbsigYtv+vfA3yQrA7lZx1z7DWagbfX9fXLu7aVyA0V+Nm+1Pi8gySCpJYpG8Rml6SCN/dqUYTw2z5NHhCciDbNaJPiWBFyIPXh5ECIiW8o7HhK6R6BuTg5/ii7136SCSwP5h/W757NF+14d+901FTaccvzeD3inq806TDRDddZhXXOf13IL6efi8GZgEo1A6snhnbj+inhv4BI/jhsfocYFTSZqmL3ozxmNgpOtDN7tyfcz8L1eYvlWDsGA8j6jnMaStMUs8sJ8HHgccxnNuWJjj7rW/qEMN9B49juMwD+NrtE4oeHWQW8dQ3P3ByCF2lvwat4/xO8QQLxHCoF7vewOTX4c3k4hPE9+DTPWQUcc1mja94zMsEGe82ySLctmfyttiDdm/COlVFk0SOk5wjBHrDURt8IJKZqGNo7LcSeDZJGMMRbv0shehw3Oevwf/06Mcrny6GLE1fRSodLtIKzltyC1WJHZ05Mxuiy2i8VcixnsXCRNu52eUzsiI5jzKnLAaLTjBlCTqeQYZhLyjEgyIo76vnTbwEONPlljaU+XBzfrgLgD88nEyHrKIjrMjXhuwDR5Osd1/Fdfcv6B2/o+xa0B6Ng== 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:(4636009)(396003)(346002)(136003)(39860400002)(376002)(46966006)(36840700001)(36860700001)(966005)(82740400003)(53546011)(70206006)(6506007)(186003)(86362001)(5660300002)(8936002)(82310400003)(8676002)(336012)(55236004)(33656002)(9686003)(478600001)(26005)(110136005)(81166007)(356005)(52536014)(7696005)(316002)(55016002)(4326008)(2906002)(83380400001)(70586007)(47076005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2021 08:03:45.9752 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ab76648b-587c-43f9-8cdd-08d940549457 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: DB5EUR03FT024.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4462 X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY 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-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jul 2021 08:03:52 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUHJhdGhhbWVzaCBLdWxr YXJuaSA8cHJhdGhhbWVzaC5rdWxrYXJuaUBsaW5hcm8ub3JnPg0KPiBTZW50OiAwNiBKdWx5IDIw MjEgMDg6MDYNCj4gVG86IENocmlzdG9waGUgTFlPTiA8Y2hyaXN0b3BoZS5seW9uQGZvc3Muc3Qu Y29tPg0KPiBDYzogS3lyeWxvIFRrYWNob3YgPEt5cnlsby5Ua2FjaG92QGFybS5jb20+OyBnY2Mg UGF0Y2hlcyA8Z2NjLQ0KPiBwYXRjaGVzQGdjYy5nbnUub3JnPg0KPiBTdWJqZWN0OiBSZTogW0FS TV0gUFI5ODQzNTogTWlzc2VkIG9wdGltaXphdGlvbiBpbiBleHBhbmRpbmcgdmVjdG9yDQo+IGNv bnN0cnVjdG9yDQo+IA0KPiBPbiBUaHUsIDEgSnVsIDIwMjEgYXQgMTY6MjYsIFByYXRoYW1lc2gg S3Vsa2FybmkNCj4gPHByYXRoYW1lc2gua3Vsa2FybmlAbGluYXJvLm9yZz4gd3JvdGU6DQo+ID4N Cj4gPiBPbiBXZWQsIDMwIEp1biAyMDIxIGF0IDIwOjUxLCBDaHJpc3RvcGhlIExZT04NCj4gPiA8 Y2hyaXN0b3BoZS5seW9uQGZvc3Muc3QuY29tPiB3cm90ZToNCj4gPiA+DQo+ID4gPg0KPiA+ID4g T24gMjkvMDYvMjAyMSAxMjo0NiwgUHJhdGhhbWVzaCBLdWxrYXJuaSB3cm90ZToNCj4gPiA+ID4g T24gTW9uLCAyOCBKdW4gMjAyMSBhdCAxNDo0OCwgQ2hyaXN0b3BoZSBMWU9ODQo+ID4gPiA+IDxj aHJpc3RvcGhlLmx5b25AZm9zcy5zdC5jb20+IHdyb3RlOg0KPiA+ID4gPj4NCj4gPiA+ID4+IE9u IDI4LzA2LzIwMjEgMTA6NDAsIEt5cnlsbyBUa2FjaG92IHZpYSBHY2MtcGF0Y2hlcyB3cm90ZToN Cj4gPiA+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4+Pj4gRnJvbTog UHJhdGhhbWVzaCBLdWxrYXJuaSA8cHJhdGhhbWVzaC5rdWxrYXJuaUBsaW5hcm8ub3JnPg0KPiA+ ID4gPj4+PiBTZW50OiAyOCBKdW5lIDIwMjEgMDk6MzgNCj4gPiA+ID4+Pj4gVG86IEt5cnlsbyBU a2FjaG92IDxLeXJ5bG8uVGthY2hvdkBhcm0uY29tPg0KPiA+ID4gPj4+PiBDYzogQ2hyaXN0b3Bo ZSBMeW9uIDxjaHJpc3RvcGhlLmx5b25AbGluYXJvLm9yZz47IGdjYyBQYXRjaGVzDQo+IDxnY2Mt DQo+ID4gPiA+Pj4+IHBhdGNoZXNAZ2NjLmdudS5vcmc+DQo+ID4gPiA+Pj4+IFN1YmplY3Q6IFJl OiBbQVJNXSBQUjk4NDM1OiBNaXNzZWQgb3B0aW1pemF0aW9uIGluIGV4cGFuZGluZw0KPiB2ZWN0 b3INCj4gPiA+ID4+Pj4gY29uc3RydWN0b3INCj4gPiA+ID4+Pj4NCj4gPiA+ID4+Pj4gT24gVGh1 LCAyNCBKdW4gMjAyMSBhdCAyMjowMSwgS3lyeWxvIFRrYWNob3YNCj4gPEt5cnlsby5Ua2FjaG92 QGFybS5jb20+DQo+ID4gPiA+Pj4+IHdyb3RlOg0KPiA+ID4gPj4+Pj4NCj4gPiA+ID4+Pj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPj4+Pj4+IEZyb206IFByYXRoYW1lc2gg S3Vsa2FybmkgPHByYXRoYW1lc2gua3Vsa2FybmlAbGluYXJvLm9yZz4NCj4gPiA+ID4+Pj4+PiBT ZW50OiAxNCBKdW5lIDIwMjEgMDk6MDINCj4gPiA+ID4+Pj4+PiBUbzogQ2hyaXN0b3BoZSBMeW9u IDxjaHJpc3RvcGhlLmx5b25AbGluYXJvLm9yZz4NCj4gPiA+ID4+Pj4+PiBDYzogZ2NjIFBhdGNo ZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPjsgS3lyeWxvIFRrYWNob3YNCj4gPiA+ID4+Pj4+ PiA8S3lyeWxvLlRrYWNob3ZAYXJtLmNvbT4NCj4gPiA+ID4+Pj4+PiBTdWJqZWN0OiBSZTogW0FS TV0gUFI5ODQzNTogTWlzc2VkIG9wdGltaXphdGlvbiBpbiBleHBhbmRpbmcNCj4gdmVjdG9yDQo+ ID4gPiA+Pj4+Pj4gY29uc3RydWN0b3INCj4gPiA+ID4+Pj4+Pg0KPiA+ID4gPj4+Pj4+IE9uIFdl ZCwgOSBKdW4gMjAyMSBhdCAxNTo1OCwgUHJhdGhhbWVzaCBLdWxrYXJuaQ0KPiA+ID4gPj4+Pj4+ IDxwcmF0aGFtZXNoLmt1bGthcm5pQGxpbmFyby5vcmc+IHdyb3RlOg0KPiA+ID4gPj4+Pj4+PiBP biBGcmksIDQgSnVuIDIwMjEgYXQgMTM6MTUsIENocmlzdG9waGUgTHlvbg0KPiA+ID4gPj4+PiA8 Y2hyaXN0b3BoZS5seW9uQGxpbmFyby5vcmc+DQo+ID4gPiA+Pj4+Pj4gd3JvdGU6DQo+ID4gPiA+ Pj4+Pj4+PiBPbiBGcmksIDQgSnVuIDIwMjEgYXQgMDk6MjcsIFByYXRoYW1lc2ggS3Vsa2Fybmkg dmlhIEdjYy0NCj4gcGF0Y2hlcw0KPiA+ID4gPj4+Pj4+Pj4gPGdjYy1wYXRjaGVzQGdjYy5nbnUu b3JnPiB3cm90ZToNCj4gPiA+ID4+Pj4+Pj4+PiBIaSwNCj4gPiA+ID4+Pj4+Pj4+PiBBcyBtZW50 aW9uZWQgaW4gUFIsIGZvciB0aGUgZm9sbG93aW5nIHRlc3QtY2FzZToNCj4gPiA+ID4+Pj4+Pj4+ Pg0KPiA+ID4gPj4+Pj4+Pj4+ICNpbmNsdWRlIDxhcm1fbmVvbi5oPg0KPiA+ID4gPj4+Pj4+Pj4+ DQo+ID4gPiA+Pj4+Pj4+Pj4gYmZsb2F0MTZ4NF90IGYxIChiZmxvYXQxNl90IGEpDQo+ID4gPiA+ Pj4+Pj4+Pj4gew0KPiA+ID4gPj4+Pj4+Pj4+ICAgICByZXR1cm4gdmR1cF9uX2JmMTYgKGEpOw0K PiA+ID4gPj4+Pj4+Pj4+IH0NCj4gPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4gPj4+Pj4+Pj4+IGJmbG9h dDE2eDRfdCBmMiAoYmZsb2F0MTZfdCBhKQ0KPiA+ID4gPj4+Pj4+Pj4+IHsNCj4gPiA+ID4+Pj4+ Pj4+PiAgICAgcmV0dXJuIChiZmxvYXQxNng0X3QpIHthLCBhLCBhLCBhfTsNCj4gPiA+ID4+Pj4+ Pj4+PiB9DQo+ID4gPiA+Pj4+Pj4+Pj4NCj4gPiA+ID4+Pj4+Pj4+PiBDb21waWxpbmcgd2l0aCBh cm0tbGludXgtZ251ZWFiaSAtTzMgLW1mcHU9bmVvbiAtbWZsb2F0LQ0KPiA+ID4gPj4+PiBhYmk9 c29mdGZwDQo+ID4gPiA+Pj4+Pj4+Pj4gLW1hcmNoPWFybXY4LjItYStiZjE2K2ZwMTYgcmVzdWx0 cyBpbiBmMiBub3QgYmVpbmcNCj4gdmVjdG9yaXplZDoNCj4gPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4g Pj4+Pj4+Pj4+IGYxOg0KPiA+ID4gPj4+Pj4+Pj4+ICAgICAgICAgICB2ZHVwLjE2IGQxNiwgcjAN Cj4gPiA+ID4+Pj4+Pj4+PiAgICAgICAgICAgdm1vdiAgICByMCwgcjEsIGQxNiAgQCB2NGJmDQo+ ID4gPiA+Pj4+Pj4+Pj4gICAgICAgICAgIGJ4ICAgICAgbHINCj4gPiA+ID4+Pj4+Pj4+Pg0KPiA+ ID4gPj4+Pj4+Pj4+IGYyOg0KPiA+ID4gPj4+Pj4+Pj4+ICAgICAgICAgICBtb3YgICAgIHIzLCBy MCAgQCBfX2JmMTYNCj4gPiA+ID4+Pj4+Pj4+PiAgICAgICAgICAgYWRyICAgICByMSwgLkw0DQo+ ID4gPiA+Pj4+Pj4+Pj4gICAgICAgICAgIGxkcmQgICAgcjAsIFtyMV0NCj4gPiA+ID4+Pj4+Pj4+ PiAgICAgICAgICAgbW92ICAgICByMiwgcjMgIEAgX19iZjE2DQo+ID4gPiA+Pj4+Pj4+Pj4gICAg ICAgICAgIG1vdiAgICAgaXAsIHIzICBAIF9fYmYxNg0KPiA+ID4gPj4+Pj4+Pj4+ICAgICAgICAg ICBiZmkgICAgIHIxLCByMiwgIzAsICMxNg0KPiA+ID4gPj4+Pj4+Pj4+ICAgICAgICAgICBiZmkg ICAgIHIwLCBpcCwgIzAsICMxNg0KPiA+ID4gPj4+Pj4+Pj4+ICAgICAgICAgICBiZmkgICAgIHIx LCByMywgIzE2LCAjMTYNCj4gPiA+ID4+Pj4+Pj4+PiAgICAgICAgICAgYmZpICAgICByMCwgcjIs ICMxNiwgIzE2DQo+ID4gPiA+Pj4+Pj4+Pj4gICAgICAgICAgIGJ4ICAgICAgbHINCj4gPiA+ID4+ Pj4+Pj4+Pg0KPiA+ID4gPj4+Pj4+Pj4+IFRoaXMgc2VlbXMgdG8gaGFwcGVuIGJlY2F1c2UgdmVj X2luaXQgcGF0dGVybiBpbiBuZW9uLm1kDQo+IGhhcyBWRFENCj4gPiA+ID4+Pj4+PiBtb2RlDQo+ ID4gPiA+Pj4+Pj4+Pj4gaXRlcmF0b3IsIHdoaWNoIGRvZXNuJ3QgaW5jbHVkZSBWNEJGLiBJbiBh dHRhY2hlZCBwYXRjaCwgSQ0KPiBjaGFuZ2VkDQo+ID4gPiA+Pj4+Pj4+Pj4gbW9kZQ0KPiA+ID4g Pj4+Pj4+Pj4+IHRvIFZEUVggd2hpY2ggc2VlbXMgdG8gd29yayBmb3IgdGhlIHRlc3QtY2FzZSwg YW5kIHRoZQ0KPiBjb21waWxlcg0KPiA+ID4gPj4+PiBub3cNCj4gPiA+ID4+Pj4+PiBnZW5lcmF0 ZXM6DQo+ID4gPiA+Pj4+Pj4+Pj4gZjI6DQo+ID4gPiA+Pj4+Pj4+Pj4gICAgICAgICAgIHZkdXAu MTYgZDE2LCByMA0KPiA+ID4gPj4+Pj4+Pj4+ICAgICAgICAgICB2bW92ICAgIHIwLCByMSwgZDE2 ICBAIHY0YmYNCj4gPiA+ID4+Pj4+Pj4+PiAgICAgICAgICAgYnggICAgICBscg0KPiA+ID4gPj4+ Pj4+Pj4+DQo+ID4gPiA+Pj4+Pj4+Pj4gSG93ZXZlciwgdGhlIHBhdHRlcm4gaXMgYWxzbyBnYXRl ZCBvbiBUQVJHRVRfSEFWRV9NVkUNCj4gYW5kIEkgYW0NCj4gPiA+ID4+Pj4+PiBub3QNCj4gPiA+ ID4+Pj4+Pj4+PiBzdXJlIGlmIGVpdGhlciBWRFEgb3IgVkRRWCBhcmUgY29ycmVjdCBtb2RlcyBm b3IgTVZFIHNpbmNlDQo+IE1WRQ0KPiA+ID4gPj4+PiBoYXMNCj4gPiA+ID4+Pj4+Pj4+PiBvbmx5 IDEyOC1iaXQgdmVjdG9ycyA/DQo+ID4gPiA+Pj4+Pj4+Pj4NCj4gPiA+ID4+Pj4+Pj4+IEkgdGhp bmsgcGF0dGVybnMgY29tbW9uIHRvIGJvdGggTmVvbiBhbmQgTVZFIHNob3VsZCBiZQ0KPiBtb3Zl ZCB0bw0KPiA+ID4gPj4+Pj4+Pj4gdmVjLWNvbW1vbi5tZCwgSSBkb24ndCBrbm93IHdoeSBzdWNo IHBhdHRlcm5zIHdlcmUgbGVmdCBpbg0KPiA+ID4gPj4+PiBuZW9uLm1kLg0KPiA+ID4gPj4+Pj4+ PiBTaW5jZSB3ZSBlbmQgdXAgY2FsbGluZyBuZW9uX2V4cGFuZF92ZWN0b3JfaW5pdCBmb3IgYm90 aA0KPiBORU9OIGFuZA0KPiA+ID4gPj4+PiBNVkUsDQo+ID4gPiA+Pj4+Pj4+IEkgYW0gbm90IHN1 cmUgaWYgd2Ugc2hvdWxkIHNlcGFyYXRlIHRoZSBwYXR0ZXJuID8NCj4gPiA+ID4+Pj4+Pj4gV291 bGQgaXQgbWFrZSBzZW5zZSB0byBGQUlMIGlmIHRoZSBtb2RlIHNpemUgaXNuJ3QgMTYgYnl0ZXMg Zm9yDQo+IE1WRSBhcw0KPiA+ID4gPj4+Pj4+PiBpbiBhdHRhY2hlZCBwYXRjaCBzbw0KPiA+ID4g Pj4+Pj4+PiBpdCB3aWxsIGNhbGwgbmVvbl9leHBhbmRfdmVjdG9yX2luaXQgb25seSBmb3IgMTI4 LWJpdCB2ZWN0b3JzID8NCj4gPiA+ID4+Pj4+Pj4gQWx0aG8gaGFyZC1jb2RpbmcgMTYgaW4gdGhl IHBhdHRlcm4gZG9lc24ndCBzZWVtIGEgZ29vZCBpZGVhIHRvDQo+IG1lDQo+ID4gPiA+Pj4+IGVp dGhlci4NCj4gPiA+ID4+Pj4+PiBwaW5nIGh0dHBzOi8vZ2NjLmdudS5vcmcvcGlwZXJtYWlsL2dj Yy1wYXRjaGVzLzIwMjEtDQo+IEp1bmUvNTcyMzQyLmh0bWwNCj4gPiA+ID4+Pj4+PiAoYXR0YWNo aW5nIHBhdGNoIGFzIHRleHQpLg0KPiA+ID4gPj4+Pj4+DQo+ID4gPiA+Pj4+PiAtLS0gYS9nY2Mv Y29uZmlnL2FybS9uZW9uLm1kDQo+ID4gPiA+Pj4+PiArKysgYi9nY2MvY29uZmlnL2FybS9uZW9u Lm1kDQo+ID4gPiA+Pj4+PiBAQCAtNDU5LDEwICs0NTksMTIgQEANCj4gPiA+ID4+Pj4+ICAgICkN Cj4gPiA+ID4+Pj4+DQo+ID4gPiA+Pj4+PiAgICAoZGVmaW5lX2V4cGFuZCAidmVjX2luaXQ8bW9k ZT48Vl9lbGVtX2w+Ig0KPiA+ID4gPj4+Pj4gLSAgWyhtYXRjaF9vcGVyYW5kOlZEUSAwICJzX3Jl Z2lzdGVyX29wZXJhbmQiKQ0KPiA+ID4gPj4+Pj4gKyAgWyhtYXRjaF9vcGVyYW5kOlZEUVggMCAi c19yZWdpc3Rlcl9vcGVyYW5kIikNCj4gPiA+ID4+Pj4+ICAgICAgIChtYXRjaF9vcGVyYW5kIDEg IiIgIiIpXQ0KPiA+ID4gPj4+Pj4gICAgICAiVEFSR0VUX05FT04gfHwgVEFSR0VUX0hBVkVfTVZF Ig0KPiA+ID4gPj4+Pj4gICAgew0KPiA+ID4gPj4+Pj4gKyAgaWYgKFRBUkdFVF9IQVZFX01WRSAm JiBHRVRfTU9ERV9TSVpFIChHRVRfTU9ERQ0KPiA+ID4gPj4+PiAob3BlcmFuZHNbMF0pKSAhPSAx NikNCj4gPiA+ID4+Pj4+ICsgICAgRkFJTDsNCj4gPiA+ID4+Pj4+ICAgICAgbmVvbl9leHBhbmRf dmVjdG9yX2luaXQgKG9wZXJhbmRzWzBdLCBvcGVyYW5kc1sxXSk7DQo+ID4gPiA+Pj4+PiAgICAg IERPTkU7DQo+ID4gPiA+Pj4+PiAgICB9KQ0KPiA+ID4gPj4+Pj4NCj4gPiA+ID4+Pj4+IEkgdGhp bmsgd2Ugc2hvdWxkIG1vdmUgdGhpcyB0byB2ZWMtY29tbW9uLm1kIGxpa2UgQ2hyaXN0b3BoZQ0K PiBzYWlkLg0KPiA+ID4gPj4+Pj4gUGVyaGFwcyByYXRoZXIgdGhhbiBtYWtpbmcgaXQgRkFJTCBm b3Igbm9uLTE2IE1WRSBzaXplcyB3ZSBqdXN0DQo+IGRpc2FibGUgaXQgaW4NCj4gPiA+ID4+Pj4g dGhlIGV4cGFuZGVyIGNvbmRpdGlvbj8NCj4gPiA+ID4+Pj4+ICJUQVJHRVRfTkVPTiB8fCAoVEFS R0VUX0hBVkVfTVZFICYmIEdFVF9NT0RFX1NJWkUgKDwNCj4gPiA+ID4+Pj4gVkRRPm1vZGUpICE9 IDE2KSINCj4gPiA+ID4+Pj4gSXMgaXQgT0sgdG8gdXNlIDxNT0RFPm1vZGUgPyBCZWNhdXNlIHVz aW5nIDxWRFE+bW9kZSByZXN1bHRlZA0KPiBpbiBsb3QNCj4gPiA+ID4+Pj4gb2YgYnVpbGQgZXJy b3JzLg0KPiA+ID4gPj4+PiBBbHNvLCBJIHRoaW5rIHRoZSBjb21wYXJpc29uIHNob3VsZCBiZSBp bnZlcnRlZCwgaWUsIEdFVF9NT0RFX1NJWkUNCj4gPiA+ID4+Pj4gKDxNT0RFPm1vZGUpID09IDE2 IHNpbmNlDQo+ID4gPiA+Pj4+IHdlIHdhbnQgdG8gbWFrZSB0aGUgcGF0dGVybiBwYXNzIGlmIHRh cmdldCBpcyBNVkUgYW5kIHZlY3RvciBzaXplIGlzDQo+IDE2IGJ5dGVzID8NCj4gPiA+ID4+Pj4g RG8gdGhlc2UgY2hhbmdlcyBpbiBhdHRhY2hlZCBwYXRjaCBsb29rIE9LID8NCj4gPiA+ID4+PiBZ ZXMsIHlvdSdyZSByaWdodC4NCj4gPiA+ID4+DQo+ID4gPiA+PiBDYW4ndCB0aGlzIGJlIEFSTV9I QVZFXzxNT0RFPl9BUklUSCBsaWtlIGluIG1vc3QgZXhwYW5kZXJzIGluDQo+IHZlYy1jb21tb24u bWQ/DQo+ID4gPiA+Pg0KPiA+ID4gPj4gKG1heWJlIHdpdGggYSAmJiAhVEFSR0VUX1JFQUxMWV9J V01NWFQgaWYgbmVlZGVkKQ0KPiA+ID4gPiBJIHdvbmRlciBpZiB0aGlzIHNob3VsZCBiZSBBUk1f SEFWRV88TU9ERT5fTERTVCBpbnN0ZWFkIHNpbmNlDQo+IHdlJ3JlDQo+ID4gPiA+IGluaXRpYWxp emluZyB0aGUgdmVjdG9yID8NCj4gPiA+DQo+ID4gPg0KPiA+ID4gV2VsbCwgaXQgcmVhbGx5IGRl cGVuZHMgb24gd2hpY2ggbW9kZXMgeW91IHdhbnQgdG8gZW5hYmxlLg0KPiA+ID4NCj4gPiA+DQo+ ID4gPiBMb29rcyBsaWtlIHlvdXIgbW92ZSBWRFEgLT4gVkRRIGFkZHMgVjRCRiwgVjhCRiBhbmQg REkuDQo+ID4gPg0KPiA+ID4gQXJlIHRoZXkgYWxsIE9LIGZvciBOZW9uPw0KPiA+ID4NCj4gPiA+ IFRoZXkgYXJlIG5vdCBPSyBmb3IgTVZFLg0KPiA+ID4NCj4gPiA+IElkZWFsbHkgeW91IGNvdWxk IGFkZCB0ZXN0Y2FzZXMgdG8gY292ZXIgdG8gdGhlIHN1cHBvcnRlZCBhbmQNCj4gPiA+IHVuc3Vw cG9ydGVkIG1vZGVzIGZvciBib3RoIE5lb24gYW5kIE1WRS5cDQo+ID4gPg0KPiA+ID4gQmVmb3Jl IHlvdXIgcGF0Y2gsIHRoZSBleHBhbmRlciBpcyBlbmFibGVkIGZvciBNVkUgZm9yIDY0IGJpdCBt b2Rlcw0KPiA+ID4gKFY4UUksIFY0SEksIFYyU0kpOiB3aGF0IGhhcHBlbnMgaW4gdGhpcyBjYXNl PyBEb2VzIHRoZSBjb21waWxlciBjcmFzaA0KPiA+ID4gb3IgaXMgdGhlcmUgc29tZXRoaW5nIGVs c2UgcHJldmVudGluZyB0aGUgbWF0Y2g/DQo+ID4gSGksDQo+ID4gQXBwYXJlbnRseSB0aGVyZSBp cyBWQUxJRF9NVkVfTU9ERSBtYWNybywgc28gaXMgaXQgYmV0dGVyIHRvIHVzZToNCj4gPiBUQVJH RVRfTkVPTiB8fCAoVEFSR0VUX0hBVkVfTVZFICYmDQo+IFZBTElEX01WRV9NT0RFKDxNT0RFPm1v ZGUpKQ0KPiA+IGFzIGluIHRoZSBhdHRhY2hlZCBwYXRjaCA/DQoNClRoZSBjaGFuZ2UgaXMgb2su IEkgd291bGQgbGlrZSB0byBzZWUgc29tZSB0ZXN0Y2FzZXMgbGlrZSBDaHJpc3RvcGhlIHN1Z2dl c3RlZCwgYnV0IHRoaXMgcGF0Y2gganVzdCBtb3ZlcyB0aGUgZXhwYW5kZXIgYXJvdW5kIHJhdGhl ciB0aGFuIGludHJvZHVjaW5nIG5ldyBmdW5jdGlvbmFsaXR5Lg0KVGhhbmtzLA0KS3lyaWxsDQoN Cj4gcGluZyBodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIxLUp1 bHkvNTc0MjA2Lmh0bWwNCj4gDQo+IFRoYW5rcywNCj4gUHJhdGhhbWVzaA0KPiA+DQo+ID4gVGhh bmtzLA0KPiA+IFByYXRoYW1lc2gNCj4gPiA+DQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4N Cj4gPiA+DQo+ID4gPiBDaHJpc3RvcGhlDQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gVGhhbmtzLA0K PiA+ID4gPiBQcmF0aGFtZXNoDQo+ID4gPiA+Pg0KPiA+ID4gPj4gQ2hyaXN0b3BoZQ0KPiA+ID4g Pj4NCj4gPiA+ID4+DQo+ID4gPiA+Pj4gT2suDQo+ID4gPiA+Pj4gVGhhbmtzLA0KPiA+ID4gPj4+ IEt5cmlsbA0KPiA+ID4gPj4+DQo+ID4gPiA+Pj4NCj4gPiA+ID4+Pj4gVGhhbmtzLA0KPiA+ID4g Pj4+PiBQcmF0aGFtZXNoDQo+ID4gPiA+Pj4+PiBUaGFua3MsDQo+ID4gPiA+Pj4+PiBLeXJpbGwN Cj4gPiA+ID4+Pj4+DQo+ID4gPiA+Pj4+Pj4gVGhhbmtzLA0KPiA+ID4gPj4+Pj4+IFByYXRoYW1l c2gNCj4gPiA+ID4+Pj4+Pj4gVGhhbmtzLA0KPiA+ID4gPj4+Pj4+PiBQcmF0aGFtZXNoDQo+ID4g PiA+Pj4+Pj4+PiBUaGF0IGJlaW5nIHNhaWQsIEkgc3VnZ2VzdCB5b3UgbG9vayBhdCBvdGhlciBz aW1pbGFyIHBhdHRlcm5zIGluDQo+ID4gPiA+Pj4+Pj4+PiB2ZWMtY29tbW9uLm1kLCBtb3N0IG9m IHdoaWNoIGFyZSBnYXRlZCBvbg0KPiA+ID4gPj4+Pj4+Pj4gQVJNX0hBVkVfPE1PREU+X0FSSVRI DQo+ID4gPiA+Pj4+Pj4+PiBhbmQgcG9zc2libHkgYmV3YXJlIG9mIGlzc3VlcyB3aXRoIGl3bW14 dCA6LSkNCj4gPiA+ID4+Pj4+Pj4+DQo+ID4gPiA+Pj4+Pj4+PiBDaHJpc3RvcGhlDQo+ID4gPiA+ Pj4+Pj4+Pg0KPiA+ID4gPj4+Pj4+Pj4+IFRoYW5rcywNCj4gPiA+ID4+Pj4+Pj4+PiBQcmF0aGFt ZXNoDQo=