From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70081.outbound.protection.outlook.com [40.107.7.81]) by sourceware.org (Postfix) with ESMTPS id 49A5C3858D26 for ; Thu, 3 Nov 2022 08:51:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 49A5C3858D26 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=Vi4AJ5I8MMoqwiIO1iPYWkRkYSZ+0IIGmC2NzFczCX36pgx0OlfFriuIYoku+N8JLZx5cwCO0QY9U3z+avrVPTQJVT5weOTntBRgJ5lYMpZO41tGT4xq93MxY4XhBRlJUo77dcY7aKkN8olZTXayNOwesXOc5NNBXtTolG3DgLV2lGbgRRso4hpcYa/duIQQKiQTJ3EyZNmFfxUXsizJh6JSBZGBfqa6kD42iseDV0xoLVClgNgaVybR0GkSCERuVz8codb4/F6rONKIp5CBx1fXd7lNJQL96wM0Yw7jyuMGo8aCXYIY4VVVqsGMYMRhhjIX4TDFQVqO1JnkJa56Ew== ARC-Message-Signature: i=2; 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=/VFNTTUwC+ZUracTee7JglcF8XOXgmi59e/xuz3NSmk=; b=nOGJu4f+Sq6SmEj5xrA0f8D8r50w6rIMWBcODTkLDx8YDUarWwOm/859uj0MAuBbDxJcU3Hv1TdKAOJXcs9aflUF/E7QSfgcHGzGla7hBeM3DiThbIruIweIVDXBYxMpyDMf8FQx1VEdgiscey173MWVX+zc+Od8E46ms7UFySea8ThOyWXEGh4RzgSzv0vMCd3rbxn6hkLmV7rbTgpsT0b8UXuN5gO0FB+YEocaQsrt8/ajVsWQtwfOSzDTA1EQC0p84bqN+abjO2VCNdyaZkczb+gmUIZYO0YDt4XaF9i4Ho5BZq33KC9hJ4lukcIC5bmT9Sr7jKLducn+IAyyyw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=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=/VFNTTUwC+ZUracTee7JglcF8XOXgmi59e/xuz3NSmk=; b=Kex8kgdZmVxBfEx+3h26XGueBKhUYndm92EcnGWQ2U/yIVrp8d7EBqygIoI4luW0IIk4A6dH07gfagwFU+lIMaMcWXF1gCgpO7WqkztFJfCg2PXdO/d6g3JETPFgG1qDT1l/EYiKXBw3MBhGPc2zhOMPxmiabKpB41lXUxtKkp8= Received: from DB7PR05CA0063.eurprd05.prod.outlook.com (2603:10a6:10:2e::40) by PAWPR08MB10119.eurprd08.prod.outlook.com (2603:10a6:102:364::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.15; Thu, 3 Nov 2022 08:51:38 +0000 Received: from DBAEUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2e:cafe::ba) by DB7PR05CA0063.outlook.office365.com (2603:10a6:10:2e::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20 via Frontend Transport; Thu, 3 Nov 2022 08:51:38 +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 DBAEUR03FT042.mail.protection.outlook.com (100.127.142.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.20 via Frontend Transport; Thu, 3 Nov 2022 08:51:38 +0000 Received: ("Tessian outbound f394866f3f2b:v130"); Thu, 03 Nov 2022 08:51:38 +0000 X-CR-MTA-TID: 64aa7808 Received: from d4f3677176f8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 77E4482D-C7E0-4930-985E-7EDA11828BBC.1; Thu, 03 Nov 2022 08:51:27 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d4f3677176f8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 03 Nov 2022 08:51:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zyu0PedlW3QVWlOxw/Xzrk+nCLMeikI4u68PK3GTrJjiMXx8AuvHVmA0UsFWCbCJFt7TwyjDwTDK63v5uioQVqI6YgfgakGvKSXP9bSagbJJKzY6I38RSraP0GmS9FgdPDU5sGyzOqTI9jTzmYJ9aEcVn9MDBBLW20d44c/oRTrOIHsuxxUz8OmpROEHPJZekfNqpDWNlSp6qhczk5BJ0W/OS33uKpaQ7wGjI9BaOSzCqULEzf3lLgFLeirgsPvwRlXpFdqBIUig+5iliWTNFpiRt5t5cfR6w0/mS0Vw/BJVs7skGEb0RLdhwXFPGmquV81s/AfLPvr/Regx21bzfg== 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=/VFNTTUwC+ZUracTee7JglcF8XOXgmi59e/xuz3NSmk=; b=U87G3bCI1Z7leNDBTrr7/Z207bifry5hT9V0U/+gS9tj5K914BAVUUxSYVcNKR2tME+6p51X1LnxIVxvVYNJuRiYq6knNIH7a5T1tIACZvJtg8Xc9s/Sl7UyRZOvItzMhZN6ReZLeGsp+n6vNrcuLssaI2aCiekj898z1bHMBAGyWSgO3rJ2kb8q5NNeVS8vTU6wu0X3Z9tF3JVkDhx8ukmM0XC0rMIA/Sf3M8lswuYgpyQTvQCI3FK2lDuQarvh0iWNtlOvd9mqqWPtTVROvOJAtAnQc9gN9JFdCaRTyd9d2ThmGRXeYqoz28+U4q02IId8gfS+ZbJ+wfB+GTgqPQ== 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=/VFNTTUwC+ZUracTee7JglcF8XOXgmi59e/xuz3NSmk=; b=Kex8kgdZmVxBfEx+3h26XGueBKhUYndm92EcnGWQ2U/yIVrp8d7EBqygIoI4luW0IIk4A6dH07gfagwFU+lIMaMcWXF1gCgpO7WqkztFJfCg2PXdO/d6g3JETPFgG1qDT1l/EYiKXBw3MBhGPc2zhOMPxmiabKpB41lXUxtKkp8= Received: from VI1PR08MB5325.eurprd08.prod.outlook.com (2603:10a6:803:13e::17) by DBBPR08MB5993.eurprd08.prod.outlook.com (2603:10a6:10:1f4::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.22; Thu, 3 Nov 2022 08:51:24 +0000 Received: from VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9f63:ffed:1aee:9835]) by VI1PR08MB5325.eurprd08.prod.outlook.com ([fe80::9f63:ffed:1aee:9835%6]) with mapi id 15.20.5791.022; Thu, 3 Nov 2022 08:51:23 +0000 From: Tamar Christina To: Jeff Law , "gcc-patches@gcc.gnu.org" CC: Richard Sandiford , "rep.dot.nop@gmail.com" , "rguenther@suse.de" Subject: RE: [PATCH 1/2]middle-end: Support early break/return auto-vectorization. Thread-Topic: [PATCH 1/2]middle-end: Support early break/return auto-vectorization. Thread-Index: AQHY7snIAwho+tAVIES+mK7MOEeJC64sLLoAgAALzICAAKmZsA== Date: Thu, 3 Nov 2022 08:51:23 +0000 Message-ID: References: <9D26FE2F-11D7-4245-A0A9-94246542DFF9@gmail.com> <49d6c337-0b22-6b77-8bae-ad5724acbb8d@gmail.com> In-Reply-To: <49d6c337-0b22-6b77-8bae-ad5724acbb8d@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: B99A80FF3AAC6C40AC820AFDFE7FC460.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: VI1PR08MB5325:EE_|DBBPR08MB5993:EE_|DBAEUR03FT042:EE_|PAWPR08MB10119:EE_ X-MS-Office365-Filtering-Correlation-Id: 60f717bc-34b7-4d14-359c-08dabd789ea8 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: /bMVmWaBNj6/mEMPIkgzCTgwZQLyFP4H0TxJzRZLw/6+CI2VrGeBis9esYKYqHOj6lTbYsB+umAFzms2Zff4DWcgYkcMRHIn1j/er35e0WE0X+ePKQPg7nuR3kTTMf6MpW9/Wh8zQEOcS8VWBL37yX096pE7fWFUO4zlGu0E6tAzvNsH38qTe5D3fq8HHC0nLShUKLUiE+aoU+j/tX1PZSCinFGmpHAsIarq9fx/RVAu/9fDVFTHYrQsKhh+SF8TS0l0Ela42gNj4Qw864Ch8ffE6dToCxjKm/l68ls4nQmErNmT+OXqefJcjlaE5YfRJp1ZkUaNTxwEetP2WL9OpiMy1ItwCg/shibpNp91sOQbkbs/z56n96UhDmaXOaAdbfP/Ig6Si4MCKbsNWPQDh9Stx6woofHigH/Ss+C0BjDBEBdgj+P5Od09gWQg2hkKr/galdqVCUGAyU2VUpklB53suQ7DG1t6gecwGmq8eyyNZf2+JHL4BpLHQv2EubajtjzW24xYbjeGr4gh854wbDOT2Z4yJVWoK4Xp4m060UTzAV80g5qr0xcKorawVCXjSqUuWPlpjVioq3dylmB50vQUAt/dbxKC4pwUk1CMG5BRBmm5iNCX3ms1Eu4Bxd0chz9UX4ImWHcCcxyxoY4QnIaViGsS3jxVF8asTQUeGgSapjpKcVMix0D17dbNjVcmyQK+HR7I8c4nLhnm9bMzSWhP5/Bv4lQQ852eo16OzGVvcrzO7Op7MSE1mFhnVCAyvNx/TSUvcbX5aqhYRKpJHQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB5325.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(136003)(346002)(366004)(39860400002)(451199015)(478600001)(38100700002)(122000001)(71200400001)(6506007)(86362001)(83380400001)(7696005)(38070700005)(316002)(2906002)(54906003)(186003)(110136005)(5660300002)(64756008)(52536014)(66446008)(8936002)(4326008)(76116006)(66946007)(9686003)(8676002)(66556008)(66476007)(53546011)(55016003)(41300700001)(33656002)(26005);DIR:OUT;SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5993 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: DBAEUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 43798c95-0f3f-48fd-0d97-08dabd789608 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: T1B4qhqSG+kAQaZqyS6gdj+P/dEaaE9QVeObYOMNiRQmurfYhknaKaconifbUrHG4Qh8PvkRkpaGUns1EwHjpCAdLhNI3Cumooml3nZEldTEGovWlFbD66sU9v9H6Tp7zr7eD1Sr+QuS2xaY1ALzRq7gF+t8e+tw4l/l1Z4ONbf1xEwvt2XKiLbATnFo7u82M69/eWy5j6uIyC997C/jYmdGotM6BdzteqI6RxywPR/+pAJoDwANGAXf95LOQoRI+FzbnRUNqT/RSt7JFknea7AcfRLwuy7kUlraGyZvMNK5ZJ13Hbv2yldGTZXuZl7cMUkI9dAnrYmwCDX76buaEGDEfa7bieyNNrnAG0HJhC8hYpIhp9UPEsdN7YyqINds4D4x0hpmfp9b1fUzlEC2jMzO2rJ32dUXlInvb2aAhx+W3zFvh5omZsrU7GrISx+qWWK1gJ3HuyWrsy4EjlyDTT5YM7yKkkY4YnK5pVa9nSx8IkNawaCheGkhRMTEEDVCv4wWKrd3StdRAYIluMzqjTCSONq65Hzjvx3J1dSBbu4sqMoCqUzWvCsPRWU/azzzzUDRWNVu7xWlFya3azw1T8baxinoxOEwzt77rQKsofPNiD1BiylwTB70BvtPTHuLCjvYAt7xQri9lc7c9fA0+/dYzDUOw+vbF5LFGFufoWj/4y+I1jmrEDlpohqkxMV+NWYhNYTtLO0Y9IErhmyzko29wDoRPLS9zNeVpDr0GeJ1xfriDeNXKX6IpygGgFRXhAoiPhQZ7EXwBmWUGyPw+w== 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:(13230022)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199015)(46966006)(36840700001)(40470700004)(70206006)(9686003)(52536014)(86362001)(40480700001)(8936002)(36860700001)(41300700001)(83380400001)(356005)(33656002)(81166007)(26005)(5660300002)(2906002)(186003)(336012)(82310400005)(47076005)(40460700003)(82740400003)(55016003)(70586007)(478600001)(110136005)(107886003)(316002)(8676002)(54906003)(4326008)(6506007)(7696005)(53546011);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2022 08:51:38.1739 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 60f717bc-34b7-4d14-359c-08dabd789ea8 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: DBAEUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10119 X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,KAM_DMARC_NONE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBHY2MtcGF0Y2hlcyA8Z2NjLXBh dGNoZXMtDQo+IGJvdW5jZXMrdGFtYXIuY2hyaXN0aW5hPWFybS5jb21AZ2NjLmdudS5vcmc+IE9u IEJlaGFsZiBPZiBKZWZmIExhdyB2aWENCj4gR2NjLXBhdGNoZXMNCj4gU2VudDogV2VkbmVzZGF5 LCBOb3ZlbWJlciAyLCAyMDIyIDEwOjMzIFBNDQo+IFRvOiBnY2MtcGF0Y2hlc0BnY2MuZ251Lm9y Zw0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvMl1taWRkbGUtZW5kOiBTdXBwb3J0IGVhcmx5IGJy ZWFrL3JldHVybiBhdXRvLQ0KPiB2ZWN0b3JpemF0aW9uLg0KPiANCj4gDQo+IE9uIDExLzIvMjIg MTU6NTAsIEJlcm5oYXJkIFJldXRuZXItRmlzY2hlciB2aWEgR2NjLXBhdGNoZXMgd3JvdGU6DQo+ ID4gT24gMiBOb3ZlbWJlciAyMDIyIDE1OjQ1OjM5IENFVCwgVGFtYXIgQ2hyaXN0aW5hIHZpYSBH Y2MtcGF0Y2hlcyA8Z2NjLQ0KPiBwYXRjaGVzQGdjYy5nbnUub3JnPiB3cm90ZToNCj4gPj4gSGkg QWxsLA0KPiA+Pg0KPiA+PiBUaGlzIHBhdGNoIGFkZHMgaW5pdGlhbCBzdXBwb3J0IGZvciBlYXJs eSBicmVhayB2ZWN0b3JpemF0aW9uIGluIEdDQy4NCj4gPj4gVGhlIHN1cHBvcnQgaXMgYWRkZWQg Zm9yIGFueSB0YXJnZXQgdGhhdCBpbXBsZW1lbnRzIGEgdmVjdG9yIGNicmFuY2gNCj4gb3B0YWIu DQo+ID4+DQo+ID4+IENvbmNyZXRlbHkgdGhlIGtpbmQgb2YgbG9vcHMgc3VwcG9ydGVkIGFyZSBv ZiB0aGUgZm9ybXM6DQo+ID4+DQo+ID4+IGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKQ0KPiA+ PiB7DQo+ID4+ICAgIDxzdGF0ZW1lbnRzMT4NCj4gPj4gICAgaWYgKDxjb25kaXRpb24+KQ0KPiA+ PiAgICAgIDxhY3Rpb24+Ow0KPiA+PiAgICA8c3RhdGVtZW50czI+DQo+ID4+IH0NCj4gPj4NCj4g Pj4gd2hlcmUgPGFjdGlvbj4gY2FuIGJlOg0KPiA+PiAtIGJyZWFrDQo+ID4+IC0gcmV0dXJuDQo+ ID4gSnVzdCBjdXJpb3VzLCBidXQgZG9uJ3Qgd2UgaGF2ZSBncmFwaGl0ZSBmb3Igc3BsaXR0aW5n IGxvb3BzIG9uIGNvbnRyb2wgZmxvdywNCj4gcmVzcGVjdGl2ZWx5IHJlZmxvdyBsb29wcyB0byBo ZWxwIHZlY3Rvcml6YXRpb24gbGlrZSBpbiB0aGlzIGNhc2U/IERpZCB5b3UNCj4gY29tcGFyZSwg YW5kIGlmIHNvLCB3aGF0J3MgbWlzc2luZz8NCj4gDQo+IEdyYXBoaXRlIGlzbid0IGdlbmVyYWxs eSBlbmFibGVkLCBpcyBsYXJnZWx5IHVubWFpbnRhaW5lZCBhbmQgb2Z0ZW4gbWFrZXMNCj4gdGhp bmdzIHdvcnNlIHJhdGhlciB0aGFuIGJldHRlci4NCj4gDQoNCkluZGVlZCwgYnV0IGFsc28gY291 bGRuJ3QgZ2V0IGdyYXBoaXRlIHRvIGRvIG11Y2ggaW4gdGhpcyBjYXNlLg0KDQpQYXNzIGp1c3Qg c2F5cw0KDQowIGxvb3BzIGNhcnJpZWQgbm8gZGVwZW5kZW5jeS4NClBhc3Mgc3RhdGlzdGljcyBv ZiAiZ3JhcGhpdGUiOiAtLS0tLS0tLS0tLS0tLS0tDQoNCkFuZCBiYWlscyBvdXQuIGFuZCBub25l IG9mIHRoZSBvdGhlciBncmFwaGl0ZSBwYXNzZXMgc2VlbSB0byBwdXQgYW55dGhpbmcNCmluIHRo ZSBkdW1wIGZpbGVzLi4NCg0KVGhhdCBhc2lkZSwgb3RoZXIgcmVhc29uIHRvIGRvIGl0IGluIHRo ZSB2ZWN0b3JpemVyIGlzIHRoYXQgZXZlbnR1YWxseSB3ZSBjYW4gYnVpbGQNCnRvIHN1cHBvcnQg Z2VuZXJhbCBjb250cm9sIGZsb3cgc3VwcG9ydCBhbmQgdmVjdG9yaXppbmcgdGhlc2UgbG9vcHMg d2l0aG91dA0KbmVlZGluZyB0byBwZWVsIHRoZSBsb29wIGZvciBJU0FzIHRoYXQgYXJlIGZ1bGx5 IG1hc2tlZC4NCg0KUmVnYXJkcywNClRhbWFyDQoNCj4gDQo+IGplZmYNCj4gDQoNCg==