From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2045.outbound.protection.outlook.com [40.107.104.45]) by sourceware.org (Postfix) with ESMTPS id 341153857718 for ; Mon, 15 May 2023 12:35:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 341153857718 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=mv+CrYBGNLMlNevltx5ByWkWPOyMq3tILotONjGgFtc=; b=nsoy8viLNynIOf1N10ppwXLj3fRlwPJRtxQiXv8vrf+dWyZWVfh/yva2Ai2iptgN/tJtIEhmO/etsYWuBV/aCwhIfLOuPZ8gt2OuUXR5HaAIYCO+V/Grasf90coJxLY03inxgcTIhp1ECZoZT2D+fMt23MlrXb8KkP3shsZOd0U= Received: from AS8PR04CA0026.eurprd04.prod.outlook.com (2603:10a6:20b:310::31) by DBAPR08MB5768.eurprd08.prod.outlook.com (2603:10a6:10:1b1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 12:35:34 +0000 Received: from AM7EUR03FT011.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::3c) by AS8PR04CA0026.outlook.office365.com (2603:10a6:20b:310::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30 via Frontend Transport; Mon, 15 May 2023 12:35:34 +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 AM7EUR03FT011.mail.protection.outlook.com (100.127.140.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6411.14 via Frontend Transport; Mon, 15 May 2023 12:35:34 +0000 Received: ("Tessian outbound 945aec65ec65:v136"); Mon, 15 May 2023 12:35:34 +0000 X-CR-MTA-TID: 64aa7808 Received: from d13a3e58ea83.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EC8FB29F-F700-4271-8108-9AB9002A6E69.1; Mon, 15 May 2023 12:35:28 +0000 Received: from EUR02-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d13a3e58ea83.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 15 May 2023 12:35:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B0ybrhb/ZQ725R93hpfUannQNuoh6ksotz3pQ5dzAglA15lyz6EPdg+/mhwjBmkXbj1Qz/a3QjJsvsbihM/BsWXJeNZxmNEAp+X0MBf+NOYkOIjkmjtI3a73JLmU7RTsV6CKz6CuZ8UFsSk5+RmVsV/vyLMOKs65E83oyyvPwI63xeySwbS29wm0flRvuh8ksAczjNi470JfHCjh8zlMhjSyq+Dxf9JFjKQpWRwqC9goc6lohV1INdaaALbKxFcaPAtOfv6bV2Fx4yniUZoQRtFQuHtTVr07YQVkEPAlERhnDfmCaG2Iy1nqxewkdwvLctjvgWf8NNcjvFu7P/wW6Q== 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=mv+CrYBGNLMlNevltx5ByWkWPOyMq3tILotONjGgFtc=; b=jzkZPfmAaZlWrMFyhkJFpuTJq+VGBwDZqaGu+HzMPFLjhFJWPx9ieBaOFSF/fzJ5UTAn0BguaLAFEqBcI9gBanCRH2z7L3wlLeHQD7m7SF7XjwF+EGk61cITkIdQVoHEEWy/mx229C9mPF2PwHP5B7EcBYqbwjcX+VDj+CQ66fs1ihNFRxO4YSjmD/sTi/DWLhD9tvXSCVg6GcnDX7ieMM6LaV1jf7MsSM/4b93THEXBFCo0NMpLLqDPVFDvVqFSyim8pcIFEigg8t42GIyqGH8vublJ1PMg4MvEfP20nZnd2L9F8bRoin8N9VSWgT8YzFvBJbrd5YHAv3E/vBjkLw== 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=mv+CrYBGNLMlNevltx5ByWkWPOyMq3tILotONjGgFtc=; b=nsoy8viLNynIOf1N10ppwXLj3fRlwPJRtxQiXv8vrf+dWyZWVfh/yva2Ai2iptgN/tJtIEhmO/etsYWuBV/aCwhIfLOuPZ8gt2OuUXR5HaAIYCO+V/Grasf90coJxLY03inxgcTIhp1ECZoZT2D+fMt23MlrXb8KkP3shsZOd0U= Received: from DB7PR08MB3452.eurprd08.prod.outlook.com (2603:10a6:10:48::13) by DU0PR08MB7543.eurprd08.prod.outlook.com (2603:10a6:10:314::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6387.30; Mon, 15 May 2023 12:35:25 +0000 Received: from DB7PR08MB3452.eurprd08.prod.outlook.com ([fe80::8f5a:a899:a879:14dc]) by DB7PR08MB3452.eurprd08.prod.outlook.com ([fe80::8f5a:a899:a879:14dc%7]) with mapi id 15.20.6387.030; Mon, 15 May 2023 12:35:25 +0000 From: Oluwatamilore Adebayo To: Richard Biener , "gcc-patches@gcc.gnu.org" , Richard Sandiford Subject: RE: [PATCH] vect: Missed opportunity to use [SU]ABD Thread-Topic: [PATCH] vect: Missed opportunity to use [SU]ABD Thread-Index: AQHZgpAn75PbUsPndUKZNZGfrUEDI69TNu9tgAANTgCAADtTAoAHzq2w Date: Mon, 15 May 2023 12:35:25 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ts-tracking-id: F509E74C8D5CD94E92E45AFA320BD84C.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: DB7PR08MB3452:EE_|DU0PR08MB7543:EE_|AM7EUR03FT011:EE_|DBAPR08MB5768:EE_ X-MS-Office365-Filtering-Correlation-Id: cb375015-bb4e-4604-8c27-08db5540e127 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: ll8m4OHl6bCqzRIYClZ9JfGeuD6WwJlNK1hHRVUYER2vLHZyEVYtlkeAd/2C4N0UQe0V979fg7qCLc3vzuZ2FK5DJQt6uKOP5Oz4XVCqf8rIGZOzB/2I50fufq0EMooSRR6CnuFG8NWXRLwxNqiNZt2Fc4oq0Stnsw7Tw6GhB/w9+vvoGweXmVdx0UtY+mTG5sMpRoCBraBJmp5kvK/92CAG06E9bOPl+dCfbfJKX4uW0QVMXGU3cOFMR62ydLU9T3Y8/QVKMY5MKHQ0LC4c54upjxFpFFxiw8uIQoPicu6IX4PsE1b0GpTS1KwYretyWyXbhIedNeFC7fx+I8PHW31k9U1c6wCQSpOdQc3u0sTygXYQCAdWsoA2z2a/385rrA/bgSZwuunFBWbaQ/CzFDfSt8y7enaJ5/6uhq96HTyD0x+Wau3yuku+fsrtYmlWH9x9xVyN+UQjpxu1Ela4W+NbvppBA+pZNnu8/soRrOiCFUTDH7pjPvol4N04vx9cRkat57l0EhhAhOyNth0RWiL3b5UH41DIC0LCV7Fyn1NZHCciDHR65wOzNJhTxF6f4lhdtLD19MhkFZWMMbdI/uc0V8kxvKj92BKL215FZgeVqa7WA1UPRjnQASUbq+U4 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3452.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(376002)(39860400002)(136003)(346002)(396003)(451199021)(2906002)(30864003)(38070700005)(316002)(122000001)(41300700001)(52536014)(5660300002)(8936002)(8676002)(38100700002)(33656002)(86362001)(55016003)(45080400002)(71200400001)(478600001)(6506007)(53546011)(9686003)(26005)(186003)(7696005)(76116006)(66946007)(66556008)(66476007)(64756008)(66446008)(83380400001)(6636002)(110136005);DIR:OUT;SFP:1101; Content-Type: multipart/alternative; boundary="_000_DB7PR08MB3452A5D7B62D4D43472D6DEBF5789DB7PR08MB3452eurp_" MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7543 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: AM7EUR03FT011.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c2e485ba-037b-49a5-cb44-08db5540dbd4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DrvvFLyxXmoae8NSpckGc8qMOfBSWepS/F3IDvLHPhJbIFQeD66+e7eOEvxJcnJwNwDsTx//zNTXL11dzCF9M/5XuNa1TNC/9/KWGCbwq05jY4k3gOlzD80ZiE2F4UtTvvgdbmHc0dMuPivTySqSrd4Chg2biz2qyjEIr3Q069yLRiYwVL0JArdSl4zNSpeF76Oiu9bmbbywvtcYvrBJ2+cozMhz1V6+72orJGTP5/RWjRdF+kTTrUp4nsKdJbgd5mHkMtMkVKts/hgkLsmW3YOQ6wbo7cQh6+gj+D4vaAwzFRWOU/MAGijWQtIaos4TJCPAs8ZwVPpwAjfkTZZk4Fs6pt2OsThamfD4MaHKo6fTdMnT2nnbOr+M+PRZVYltyJ7D8sbMG1Joh+Spq4ut5isOP22DKjMCUaa9EVLQbvGMveQqeCUtc1qqoQlTcyCq0oymTuxNdW4MMnEOsjUeTcFSgEJUe1L9P1EgYJlQZ1bQFKz5UD91RNKIFFTgIuM+wNxWH4q4BpbUFI0zW4K6GsK4fjhK/enkZHyM7ToJtngFImX1tOZOeVIxBywwP0bXU4Mfohh+6dApQmmF5KumScuD6w1gVhFpLqv+t04EWSKmLU6SeVdixdugKDv4RdhF0DBLaiy6v3PdB4ojnGnVWGzSdMv5zp46L9xHJWk1yUgzX1nAbCHwumcAJjb9kO0Ha4XXLXCQpgZo+/4AaJj5zw== 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)(39850400004)(136003)(376002)(396003)(346002)(451199021)(46966006)(36840700001)(110136005)(478600001)(70206006)(70586007)(7696005)(33964004)(45080400002)(316002)(86362001)(6636002)(82310400005)(36860700001)(336012)(186003)(82740400003)(47076005)(356005)(81166007)(55016003)(41300700001)(52536014)(5660300002)(2906002)(30864003)(6506007)(8936002)(8676002)(26005)(53546011)(33656002)(9686003)(40480700001)(83380400001)(579004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 May 2023 12:35:34.6009 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cb375015-bb4e-4604-8c27-08db5540e127 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: AM7EUR03FT011.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5768 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_NONE,KAM_LOTSOFHASH,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,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: --_000_DB7PR08MB3452A5D7B62D4D43472D6DEBF5789DB7PR08MB3452eurp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCkZyb206IE9sdXdhdGFtaWxvcmUgQWRlYmF5byA8T2x1d2F0YW1pbG9y ZS5BZGViYXlvQGFybS5jb20+DQpTZW50OiBXZWRuZXNkYXksIE1heSAxMCwg MjAyMyAxNDoyOQ0KVG86IFJpY2hhcmQgQmllbmVyIDxyaWNoYXJkLmd1ZW50 aGVyQGdtYWlsLmNvbT47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnOyBSaWNo YXJkIFNhbmRpZm9yZCA8UmljaGFyZC5TYW5kaWZvcmRAYXJtLmNvbT4NClN1 YmplY3Q6IFJlOiBbUEFUQ0hdIHZlY3Q6IE1pc3NlZCBvcHBvcnR1bml0eSB0 byB1c2UgW1NVXUFCRA0KDQpXaGVuIHVzaW5nIGlucHV0cyBvZiAweDdmZmYg YW5kIDB4ODAwMCB0aGUgcmVzdWx0IHlpZWxkZWQgaXMgLTEuDQpXaGVuIHVz aW5nIGlucHV0cyBvZiAtMSBhbmQgMHg3ZmZmIHRoZSByZXN1bHRzIHlpZWxk ZWQgaXMgMHg4MDAwLg0KDQpUYW1pDQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KRnJvbTogUmljaGFyZCBCaWVuZXIgPHJpY2hhcmQuZ3Vl bnRoZXJAZ21haWwuY29tPG1haWx0bzpyaWNoYXJkLmd1ZW50aGVyQGdtYWls LmNvbT4+DQpTZW50OiBXZWRuZXNkYXksIE1heSAxMCwgMjAyMyAxMDo0OSBB TQ0KVG86IE9sdXdhdGFtaWxvcmUgQWRlYmF5byA8T2x1d2F0YW1pbG9yZS5B ZGViYXlvQGFybS5jb208bWFpbHRvOk9sdXdhdGFtaWxvcmUuQWRlYmF5b0Bh cm0uY29tPj47IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPG1haWx0bzpnY2Mt cGF0Y2hlc0BnY2MuZ251Lm9yZz4gPGdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn PG1haWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4+OyByaWNoYXJkLmd1 ZW50aGVyQGdtYWlsLmNvbTxtYWlsdG86cmljaGFyZC5ndWVudGhlckBnbWFp bC5jb20+IDxyaWNoYXJkLmd1ZW50aGVyQGdtYWlsLmNvbTxtYWlsdG86cmlj aGFyZC5ndWVudGhlckBnbWFpbC5jb20+PjsgUmljaGFyZCBTYW5kaWZvcmQg PFJpY2hhcmQuU2FuZGlmb3JkQGFybS5jb208bWFpbHRvOlJpY2hhcmQuU2Fu ZGlmb3JkQGFybS5jb20+Pg0KU3ViamVjdDogUmU6IFtQQVRDSF0gdmVjdDog TWlzc2VkIG9wcG9ydHVuaXR5IHRvIHVzZSBbU1VdQUJEDQoNCk9uIFdlZCwg TWF5IDEwLCAyMDIzIGF0IDExOjAx4oCvQU0gUmljaGFyZCBTYW5kaWZvcmQN CjxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPG1haWx0bzpyaWNoYXJkLnNh bmRpZm9yZEBhcm0uY29tPj4gd3JvdGU6DQo+DQo+IE9sdXdhdGFtaWxvcmUg QWRlYmF5byA8T2x1d2F0YW1pbG9yZS5BZGViYXlvQGFybS5jb208bWFpbHRv Ok9sdXdhdGFtaWxvcmUuQWRlYmF5b0Bhcm0uY29tPj4gd3JpdGVzOg0KPiA+ IEZyb20gMGI1ZjQ2OTE3MWMzNDBlZjYxYTQ4YTMxODc3ZDQ5NWJiNzdiZDM1 ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCj4gPiBGcm9tOiBvbHVhZGUw MSA8b2x1d2F0YW1pbG9yZS5hZGViYXlvQGFybS5jb208bWFpbHRvOm9sdXdh dGFtaWxvcmUuYWRlYmF5b0Bhcm0uY29tPj4NCj4gPiBEYXRlOiBGcmksIDE0 IEFwciAyMDIzIDEwOjI0OjQzICswMTAwDQo+ID4gU3ViamVjdDogW1BBVENI IDEvNF0gTWlzc2VkIG9wcG9ydHVuaXR5IHRvIHVzZSBbU1VdQUJEDQo+ID4N Cj4gPiBUaGlzIGFkZHMgYSByZWNvZ25pdGlvbiBwYXR0ZXJuIGZvciB0aGUg bm9uLXdpZGVuaW5nDQo+ID4gYWJzb2x1dGUgZGlmZmVyZW5jZSAoQUJEKS4N Cj4gPg0KPiA+IGdjYy9DaGFuZ2VMb2c6DQo+ID4NCj4gPiAgICAgICAgICog ZG9jL21kLnRleGkgKHNhYmQsIHVhYmQpOiBEb2N1bWVudCB0aGVtLg0KPiA+ ICAgICAgICAgKiBpbnRlcm5hbC1mbi5kZWYgKEFCRCk6IFVzZSBuZXcgb3B0 YWIuDQo+ID4gICAgICAgICAqIG9wdGFicy5kZWYgKHNhYmRfb3B0YWIsIHVh YmRfb3B0YWIpOiBOZXcgb3B0YWJzLA0KPiA+ICAgICAgICAgKiB0cmVlLXZl Y3QtcGF0dGVybnMuY2MgKHZlY3RfcmVjb2dfYWJzb2x1dGVfZGlmZmVyZW5j ZSk6DQo+ID4gICAgICAgICBSZWNvZ25pemUgdGhlIGZvbGxvd2luZyBpZGlv bSBhYnMgKGEgLSBiKS4NCj4gPiAgICAgICAgICh2ZWN0X3JlY29nX3NhZF9w YXR0ZXJuKTogUmVmYWN0b3IgdG8gdXNlDQo+ID4gICAgICAgICB2ZWN0X3Jl Y29nX2Fic29sdXRlX2RpZmZlcmVuY2UuDQo+ID4gICAgICAgICAodmVjdF9y ZWNvZ19hYmRfcGF0dGVybik6IFVzZSBwYXR0ZXJucyBmb3VuZCBieQ0KPiA+ ICAgICAgICAgdmVjdF9yZWNvZ19hYnNvbHV0ZV9kaWZmZXJlbmNlIHRvIGJ1 aWxkIGEgbmV3IEFCRA0KPiA+ICAgICAgICAgaW50ZXJuYWwgY2FsbC4NCj4g PiAtLS0NCj4gPiAgZ2NjL2RvYy9tZC50ZXhpICAgICAgICAgICB8ICAxMCAr Kw0KPiA+ICBnY2MvaW50ZXJuYWwtZm4uZGVmICAgICAgIHwgICAzICsNCj4g PiAgZ2NjL29wdGFicy5kZWYgICAgICAgICAgICB8ICAgMiArDQo+ID4gIGdj Yy90cmVlLXZlY3QtcGF0dGVybnMuY2MgfCAyNTAgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0NCj4gPiAgNCBmaWxlcyBjaGFuZ2Vk LCAyMzQgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pDQo+ID4NCj4g PiBkaWZmIC0tZ2l0IGEvZ2NjL2RvYy9tZC50ZXhpIGIvZ2NjL2RvYy9tZC50 ZXhpDQo+ID4gaW5kZXggMDdiZjhiZGViZmZiMmU1MjNmMjVhNDFmMmI1N2U0 M2MwMjc2Yjc0NS4uMGFkNTQ2YzYzYThkZWViYjRiNmRiODk0ZjQzN2QxZTIx ZjAyNDVhOCAxMDA2NDQNCj4gPiAtLS0gYS9nY2MvZG9jL21kLnRleGkNCj4g PiArKysgYi9nY2MvZG9jL21kLnRleGkNCj4gPiBAQCAtNTc3OCw2ICs1Nzc4 LDE2IEBAIE90aGVyIHNoaWZ0IGFuZCByb3RhdGUgaW5zdHJ1Y3Rpb25zLCBh bmFsb2dvdXMgdG8gdGhlDQo+ID4gIFZlY3RvciBzaGlmdCBhbmQgcm90YXRl IGluc3RydWN0aW9ucyB0aGF0IHRha2UgdmVjdG9ycyBhcyBvcGVyYW5kIDIN Cj4gPiAgaW5zdGVhZCBvZiBhIHNjYWxhciB0eXBlLg0KPiA+DQo+ID4gK0Bj aW5kZXggQGNvZGV7dWFiZEB2YXJ7bX19IGluc3RydWN0aW9uIHBhdHRlcm4N Cj4gPiArQGNpbmRleCBAY29kZXtzYWJkQHZhcnttfX0gaW5zdHJ1Y3Rpb24g cGF0dGVybg0KPiA+ICtAaXRlbSBAc2FtcHt1YWJkQHZhcnttfX0sIEBzYW1w e3NhYmRAdmFye219fQ0KPiA+ICtTaWduZWQgYW5kIHVuc2lnbmVkIGFic29s dXRlIGRpZmZlcmVuY2UgaW5zdHJ1Y3Rpb25zLiAgVGhlc2UNCj4gPiAraW5z dHJ1Y3Rpb25zIGZpbmQgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBvcGVyYW5k cyAxIGFuZCAyDQo+ID4gK3RoZW4gcmV0dXJuIHRoZSBhYnNvbHV0ZSB2YWx1 ZS4gIEEgQyBjb2RlIGVxdWl2YWxlbnQgd291bGQgYmU6DQo+ID4gK0BzbWFs bGV4YW1wbGUNCj4gPiArb3AwID0gYWJzIChvcDAgLSBvcDEpDQo+DQo+IG9w MCA9IGFicyAob3AxIC0gb3AyKQ0KPg0KPiBCdXQgdGhhdCBpc24ndCB0aGUg Y29ycmVjdCBjYWxjdWxhdGlvbiBmb3IgdW5zaWduZWQgKHdoZXJlIGFicyBk b2Vzbid0DQo+IHJlYWxseSB3b3JrKS4gIEl0IGFsc28gZG9lc24ndCBoYW5k bGUgc29tZSBjYXNlcyBjb3JyZWN0bHkgZm9yIHNpZ25lZC4NCj4NCj4gSSB0 aGluayBpdCdzIG1vcmU6DQo+DQo+ICAgb3AwID0gb3AxID4gb3AyID8gKHVu c2lnbmVkIHR5cGUpIG9wMSAtIG9wMiA6ICh1bnNpZ25lZCB0eXBlKSBvcDIg LSBvcDENCj4NCj4gb3IgKGNvbmNlcHR1YWxseSkgbWF4IG1pbnVzIG1pbi4N Cj4NCj4gRS5nLiBmb3IgMTYtYml0IHZhbHVlcywgdGhlIGFic29sdXRlIGRp ZmZlcmVuY2UgYmV0d2VlbiBzaWduZWQgMHg3ZmZmDQo+IGFuZCBzaWduZWQg LTB4ODAwMCBpcyAweGZmZmYgKHJlaW50ZXJwcmV0ZWQgYXMgLTEgaWYgeW91 IGNhc3QgYmFjaw0KPiB0byBzaWduZWQpLiAgQnV0LCBpZ25vcmluZyB1bmRl ZmluZWQgYmVoYXZpb3VyOg0KPg0KPiAgIDB4N2ZmZiAtIDB4ODAwMCA9IC0x DQo+ICAgYWJzKC0xKSA9IDENCj4NCj4gd2hpY2ggZ2l2ZXMgdGhlIHdyb25n IGFuc3dlci4NCj4NCj4gV2UgbWlnaHQgc3RpbGwgYmUgYWJsZSB0byBmb2xk IEMgYWJzKGEgLSBiKSB0byBhYmQgZm9yIHNpZ25lZCBhIGFuZCBiDQo+IGJ5 IHJlbHlpbmcgb24gdW5kZWZpbmVkIGJlaGF2aW91ciAoVFlQRV9PVkVSRkxP V19VTkRFRklORUQpLiAgQnV0IHdlDQo+IGNhbid0IGRvIGl0IGZvciAtZndy YXB2Lg0KPg0KPiBSaWNoaSBrbm93cyBiZXR0ZXIgdGhhbiBtZSB3aGF0IHdv dWxkIGJlIGFwcHJvcHJpYXRlIGhlcmUuDQoNClRoZSBxdWVzdGlvbiBpcyB3 aGF0IGRvZXMgdGhlIGhhcmR3YXJlIGRvPyAgRm9yIHRoZSB3aWRlbmluZyBb dXNdc2FkIGl0J3MNCm9idmlvdXMgc2luY2UgdGhlIGRpZmZlcmVuY2UgaXMg Y29tcHV0ZWQgaW4gYSB3aWRlciBzaWduZWQgbW9kZSBhbmQgdGhlDQphYnNv bHV0ZSB2YWx1ZSBhbHdheXMgZml0cy4NCg0KU28gd2hhdCBkb2VzIGl0IGFj dHVhbGx5IGRvLCBlc3AuIHdoZW4gdGhlIGRpZmZlcmVuY2UgeWllbGRzIDB4 ODAwMD8NCg0KUmljaGFyZC4NCg0KPg0KPiBUaGFua3MsDQo+IFJpY2hhcmQN Cj4NCj4gPiArQGVuZCBzbWFsbGV4YW1wbGUNCj4gPiArDQo+ID4gIEBjaW5k ZXggQGNvZGV7YXZnQHZhcnttfTNfZmxvb3J9IGluc3RydWN0aW9uIHBhdHRl cm4NCj4gPiAgQGNpbmRleCBAY29kZXt1YXZnQHZhcnttfTNfZmxvb3J9IGlu c3RydWN0aW9uIHBhdHRlcm4NCj4gPiAgQGl0ZW0gQHNhbXB7YXZnQHZhcntt fTNfZmxvb3J9DQo+ID4gZGlmZiAtLWdpdCBhL2djYy9pbnRlcm5hbC1mbi5k ZWYgYi9nY2MvaW50ZXJuYWwtZm4uZGVmDQo+ID4gaW5kZXggN2ZlNzQyYzJh ZTcxM2U3MTUyYWIwNWNmZGZiYTg2ZTRlMGFhMzQ1Ni4uMGYxNzI0ZWNmMzdh MzFjMjMxNTcyZWRmOTBiNTU3N2UyZDgyZjQ2OCAxMDA2NDQNCj4gPiAtLS0g YS9nY2MvaW50ZXJuYWwtZm4uZGVmDQo+ID4gKysrIGIvZ2NjL2ludGVybmFs LWZuLmRlZg0KPiA+IEBAIC0xNjcsNiArMTY3LDkgQEAgREVGX0lOVEVSTkFM X09QVEFCX0ZOIChGTVMsIEVDRl9DT05TVCwgZm1zLCB0ZXJuYXJ5KQ0KPiA+ ICBERUZfSU5URVJOQUxfT1BUQUJfRk4gKEZOTUEsIEVDRl9DT05TVCwgZm5t YSwgdGVybmFyeSkNCj4gPiAgREVGX0lOVEVSTkFMX09QVEFCX0ZOIChGTk1T LCBFQ0ZfQ09OU1QsIGZubXMsIHRlcm5hcnkpDQo+ID4NCj4gPiArREVGX0lO VEVSTkFMX1NJR05FRF9PUFRBQl9GTiAoQUJELCBFQ0ZfQ09OU1QgfCBFQ0Zf Tk9USFJPVywgZmlyc3QsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2FiZCwgdWFiZCwgYmluYXJ5KQ0KPiA+ICsNCj4gPiAgREVGX0lO VEVSTkFMX1NJR05FRF9PUFRBQl9GTiAoQVZHX0ZMT09SLCBFQ0ZfQ09OU1Qg fCBFQ0ZfTk9USFJPVywgZmlyc3QsDQo+ID4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2F2Z19mbG9vciwgdWF2Z19mbG9vciwgYmluYXJ5KQ0K PiA+ICBERUZfSU5URVJOQUxfU0lHTkVEX09QVEFCX0ZOIChBVkdfQ0VJTCwg RUNGX0NPTlNUIHwgRUNGX05PVEhST1csIGZpcnN0LA0KPiA+IGRpZmYgLS1n aXQgYS9nY2Mvb3B0YWJzLmRlZiBiL2djYy9vcHRhYnMuZGVmDQo+ID4gaW5k ZXggNjk1ZjU5MTFiMzAwYzljYTU3MzdkZTliZTgwOWZhMDFhYWJlNWUwMS4u MjliYzkyMjgxYTIxNzVmODk4NjM0Y2JlNmFmNjNjMTgwMjFlNTI2OCAxMDA2 NDQNCj4gPiAtLS0gYS9nY2Mvb3B0YWJzLmRlZg0KPiA+ICsrKyBiL2djYy9v cHRhYnMuZGVmDQo+ID4gQEAgLTM1OSw2ICszNTksOCBAQCBPUFRBQl9EICht YXNrX2ZvbGRfbGVmdF9wbHVzX29wdGFiLCAibWFza19mb2xkX2xlZnRfcGx1 c18kYSIpDQo+ID4gIE9QVEFCX0QgKGV4dHJhY3RfbGFzdF9vcHRhYiwgImV4 dHJhY3RfbGFzdF8kYSIpDQo+ID4gIE9QVEFCX0QgKGZvbGRfZXh0cmFjdF9s YXN0X29wdGFiLCAiZm9sZF9leHRyYWN0X2xhc3RfJGEiKQ0KPiA+DQo+ID4g K09QVEFCX0QgKHVhYmRfb3B0YWIsICJ1YWJkJGEzIikNCj4gPiArT1BUQUJf RCAoc2FiZF9vcHRhYiwgInNhYmQkYTMiKQ0KPiA+ICBPUFRBQl9EIChzYXZn X2Zsb29yX29wdGFiLCAiYXZnJGEzX2Zsb29yIikNCj4gPiAgT1BUQUJfRCAo dWF2Z19mbG9vcl9vcHRhYiwgInVhdmckYTNfZmxvb3IiKQ0KPiA+ICBPUFRB Ql9EIChzYXZnX2NlaWxfb3B0YWIsICJhdmckYTNfY2VpbCIpDQo+ID4gZGlm ZiAtLWdpdCBhL2djYy90cmVlLXZlY3QtcGF0dGVybnMuY2MgYi9nY2MvdHJl ZS12ZWN0LXBhdHRlcm5zLmNjDQo+ID4gaW5kZXggYTQ5YjA5NTM5Nzc2YzAw NTZlNzdmOTliMTAzNjVkMGE4NzQ3ZmJjNS4uOTFlMWY5ZDRiNjEwMjc1ZGQ4 MzNlYzU2ZGM3N2Y3NjM2N2VlNzg4NiAxMDA2NDQNCj4gPiAtLS0gYS9nY2Mv dHJlZS12ZWN0LXBhdHRlcm5zLmNjDQo+ID4gKysrIGIvZ2NjL3RyZWUtdmVj dC1wYXR0ZXJucy5jYw0KPiA+IEBAIC03NzAsNiArNzcwLDg5IEBAIHZlY3Rf c3BsaXRfc3RhdGVtZW50ICh2ZWNfaW5mbyAqdmluZm8sIHN0bXRfdmVjX2lu Zm8gc3RtdDJfaW5mbywgdHJlZSBuZXdfcmhzLA0KPiA+ICAgICAgfQ0KPiA+ ICB9DQo+ID4NCj4gPiArLyogTG9vayBmb3IgdGhlIGZvbGxvd2luZyBwYXR0 ZXJuDQo+ID4gKyAgICAgICBYID0geFtpXQ0KPiA+ICsgICAgICAgWSA9IHlb aV0NCj4gPiArICAgICAgIERJRkYgPSBYIC0gWQ0KPiA+ICsgICAgICAgREFE ID0gQUJTX0VYUFI8RElGRj4NCj4gPiArICovDQo+ID4gK3N0YXRpYyBib29s DQo+ID4gK3ZlY3RfcmVjb2dfYWJzb2x1dGVfZGlmZmVyZW5jZSAodmVjX2lu Zm8gKnZpbmZvLCBnYXNzaWduICphYnNfc3RtdCwNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRyZWUgKmhhbGZfdHlwZSwgYm9vbCBy ZWplY3RfdW5zaWduZWQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2ZWN0X3VucHJvbW90ZWRfdmFsdWUgdW5wcm9tWzJdLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJlZSBkaWZmX29w cm5kc1syXSkNCj4gPiArew0KPiA+ICsgIGlmICghYWJzX3N0bXQpDQo+ID4g KyAgICByZXR1cm4gZmFsc2U7DQo+ID4gKw0KPiA+ICsgIC8qIEZPUk5PVy4g IENhbiBjb250aW51ZSBhbmFseXppbmcgdGhlIGRlZi11c2UgY2hhaW4gd2hl biB0aGlzIHN0bXQgaW4gYSBwaGkNCj4gPiArICAgICBpbnNpZGUgdGhlIGxv b3AgKGluIGNhc2Ugd2UgYXJlIGFuYWx5emluZyBhbiBvdXRlci1sb29wKS4g ICovDQo+ID4gKyAgZW51bSB0cmVlX2NvZGUgY29kZSA9IGdpbXBsZV9hc3Np Z25fcmhzX2NvZGUgKGFic19zdG10KTsNCj4gPiArICBpZiAoY29kZSAhPSBB QlNfRVhQUiAmJiBjb2RlICE9IEFCU1VfRVhQUikNCj4gPiArICAgIHJldHVy biBmYWxzZTsNCj4gPiArDQo+ID4gKyAgdHJlZSBhYnNfb3BybmQgPSBnaW1w bGVfYXNzaWduX3JoczEgKGFic19zdG10KTsNCj4gPiArICB0cmVlIGFic190 eXBlID0gVFJFRV9UWVBFIChhYnNfb3BybmQpOw0KPiA+ICsgIGlmICghYWJz X29wcm5kKQ0KPiA+ICsgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsgIGlmIChy ZWplY3RfdW5zaWduZWQgJiYgVFlQRV9VTlNJR05FRCAoYWJzX3R5cGUpKQ0K PiA+ICsgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsgIGlmICghQU5ZX0lOVEVH UkFMX1RZUEVfUCAoYWJzX3R5cGUpIHx8IFRZUEVfT1ZFUkZMT1dfV1JBUFMg KGFic190eXBlKSkNCj4gPiArICAgIHJldHVybiBmYWxzZTsNCj4gPiArDQo+ ID4gKyAgLyogUGVlbCBvZmYgY29udmVyc2lvbnMgZnJvbSB0aGUgQUJTIGlu cHV0LiAgVGhpcyBjYW4gaW52b2x2ZSBzaWduDQo+ID4gKyAgICAgY2hhbmdl cyAoZS5nLiAgZnJvbSBhbiB1bnNpZ25lZCBzdWJ0cmFjdGlvbiB0byBhIHNp Z25lZCBBQlMgaW5wdXQpDQo+ID4gKyAgICAgb3Igc2lnbmVkIHByb21vdGlv biwgYnV0IGl0IGNhbid0IGluY2x1ZGUgdW5zaWduZWQgcHJvbW90aW9uLg0K PiA+ICsgICAgIChOb3RlIHRoYXQgQUJTIG9mIGFuIHVuc2lnbmVkIHByb21v dGlvbiBzaG91bGQgaGF2ZSBiZWVuIGZvbGRlZA0KPiA+ICsgICAgIGF3YXkg YmVmb3JlIG5vdyBhbnl3YXkuKSAgKi8NCj4gPiArICB2ZWN0X3VucHJvbW90 ZWRfdmFsdWUgdW5wcm9tX2RpZmY7DQo+ID4gKyAgYWJzX29wcm5kID0gdmVj dF9sb29rX3Rocm91Z2hfcG9zc2libGVfcHJvbW90aW9uICh2aW5mbywgYWJz X29wcm5kLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmdW5wcm9tX2RpZmYpOw0KPiA+ICsgIGlm ICghYWJzX29wcm5kKQ0KPiA+ICsgICAgcmV0dXJuIGZhbHNlOw0KPiA+ICsg IGlmIChUWVBFX1BSRUNJU0lPTiAodW5wcm9tX2RpZmYudHlwZSkgIT0gVFlQ RV9QUkVDSVNJT04gKGFic190eXBlKQ0KPiA+ICsgICAgICAmJiBUWVBFX1VO U0lHTkVEICh1bnByb21fZGlmZi50eXBlKSkNCj4gPiArICAgIGlmICghcmVq ZWN0X3Vuc2lnbmVkKQ0KPiA+ICsgICAgICByZXR1cm4gZmFsc2U7DQo+ID4g Kw0KPiA+ICsgIC8qIFdlIHRoZW4gZGV0ZWN0IGlmIHRoZSBvcGVyYW5kIG9m IGFic19leHByIGlzIGRlZmluZWQgYnkgYSBtaW51c19leHByLiAgKi8NCj4g PiArICBzdG10X3ZlY19pbmZvIGRpZmZfc3RtdF92aW5mbyA9IHZlY3RfZ2V0 X2ludGVybmFsX2RlZiAodmluZm8sIGFic19vcHJuZCk7DQo+ID4gKyAgaWYg KCFkaWZmX3N0bXRfdmluZm8pDQo+ID4gKyAgICByZXR1cm4gZmFsc2U7DQo+ ID4gKw0KPiA+ICsgIGJvb2wgYXNzaWduZWRfb3BybmRzID0gZmFsc2U7DQo+ ID4gKyAgZ2Fzc2lnbiAqZGlmZiA9IGR5bl9jYXN0IDxnYXNzaWduICo+IChT VE1UX1ZJTkZPX1NUTVQgKGRpZmZfc3RtdF92aW5mbykpOw0KPiA+ICsgIGlm IChkaWZmX29wcm5kcyAmJiBkaWZmICYmIGdpbXBsZV9hc3NpZ25fcmhzX2Nv ZGUgKGRpZmYpID09IE1JTlVTX0VYUFIpDQo+ID4gKyAgew0KPiA+ICsgICAg YXNzaWduZWRfb3BybmRzID0gdHJ1ZTsNCj4gPiArICAgIGRpZmZfb3BybmRz WzBdID0gZ2ltcGxlX2Fzc2lnbl9yaHMxIChkaWZmKTsNCj4gPiArICAgIGRp ZmZfb3BybmRzWzFdID0gZ2ltcGxlX2Fzc2lnbl9yaHMyIChkaWZmKTsNCj4g PiArICB9DQo+ID4gKw0KPiA+ICsgIC8qIEZPUk5PVy4gIENhbiBjb250aW51 ZSBhbmFseXppbmcgdGhlIGRlZi11c2UgY2hhaW4gd2hlbiB0aGlzIHN0bXQg aW4gYSBwaGkNCj4gPiArICAgICBpbnNpZGUgdGhlIGxvb3AgKGluIGNhc2Ug d2UgYXJlIGFuYWx5emluZyBhbiBvdXRlci1sb29wKS4gICovDQo+ID4gKyAg aWYgKHZlY3Rfd2lkZW5lZF9vcF90cmVlICh2aW5mbywgZGlmZl9zdG10X3Zp bmZvLCBNSU5VU19FWFBSLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgV0lERU5fTUlOVVNfRVhQUiwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZhbHNlLCAyLCB1bnByb20sIGhhbGZfdHlwZSkpDQo+ ID4gKyAgew0KPiA+ICsgICAgaWYgKGRpZmZfb3BybmRzICYmICFhc3NpZ25l ZF9vcHJuZHMpDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgIGRpZmZfb3BybmRz WzBdID0gdW5wcm9tWzBdLm9wOw0KPiA+ICsgICAgICBkaWZmX29wcm5kc1sx XSA9IHVucHJvbVsxXS5vcDsNCj4gPiArICAgIH0NCj4gPiArICB9DQo+ID4g KyAgZWxzZSBpZiAoIWFzc2lnbmVkX29wcm5kcykNCj4gPiArICB7DQo+ID4g KyAgICByZXR1cm4gZmFsc2U7DQo+ID4gKyAgfQ0KPiA+ICsgIGVsc2UNCj4g PiArICB7DQo+ID4gKyAgICAqaGFsZl90eXBlID0gTlVMTF9UUkVFOw0KPiA+ ICsgIH0NCj4gPiArDQo+ID4gKyAgcmV0dXJuIHRydWU7DQo+ID4gK30NCj4g PiArDQo+ID4gIC8qIENvbnZlcnQgVU5QUk9NIHRvIFRZUEUgYW5kIHJldHVy biB0aGUgcmVzdWx0LCBhZGRpbmcgbmV3IHN0YXRlbWVudHMNCj4gPiAgICAg dG8gU1RNVF9JTkZPJ3MgcGF0dGVybiBkZWZpbml0aW9uIHN0YXRlbWVudHMg aWYgbm8gYmV0dGVyIHdheSBpcw0KPiA+ICAgICBhdmFpbGFibGUuICBWRUNU WVBFIGlzIHRoZSB2ZWN0b3IgZm9ybSBvZiBUWVBFLg0KPiA+IEBAIC0xMzA4 LDQwICsxMzkxLDEzIEBAIHZlY3RfcmVjb2dfc2FkX3BhdHRlcm4gKHZlY19p bmZvICp2aW5mbywNCj4gPiAgICAvKiBGT1JOT1cuICBDYW4gY29udGludWUg YW5hbHl6aW5nIHRoZSBkZWYtdXNlIGNoYWluIHdoZW4gdGhpcyBzdG10IGlu IGEgcGhpDQo+ID4gICAgICAgaW5zaWRlIHRoZSBsb29wIChpbiBjYXNlIHdl IGFyZSBhbmFseXppbmcgYW4gb3V0ZXItbG9vcCkuICAqLw0KPiA+ICAgIGdh c3NpZ24gKmFic19zdG10ID0gZHluX2Nhc3QgPGdhc3NpZ24gKj4gKGFic19z dG10X3ZpbmZvLT5zdG10KTsNCj4gPiAtICBpZiAoIWFic19zdG10DQo+ID4g LSAgICAgIHx8IChnaW1wbGVfYXNzaWduX3Joc19jb2RlIChhYnNfc3RtdCkg IT0gQUJTX0VYUFINCj4gPiAtICAgICAgICAgJiYgZ2ltcGxlX2Fzc2lnbl9y aHNfY29kZSAoYWJzX3N0bXQpICE9IEFCU1VfRVhQUikpDQo+ID4gLSAgICBy ZXR1cm4gTlVMTDsNCj4gPiAtDQo+ID4gLSAgdHJlZSBhYnNfb3BybmQgPSBn aW1wbGVfYXNzaWduX3JoczEgKGFic19zdG10KTsNCj4gPiAtICB0cmVlIGFi c190eXBlID0gVFJFRV9UWVBFIChhYnNfb3BybmQpOw0KPiA+IC0gIGlmIChU WVBFX1VOU0lHTkVEIChhYnNfdHlwZSkpDQo+ID4gLSAgICByZXR1cm4gTlVM TDsNCj4gPiAtDQo+ID4gLSAgLyogUGVlbCBvZmYgY29udmVyc2lvbnMgZnJv bSB0aGUgQUJTIGlucHV0LiAgVGhpcyBjYW4gaW52b2x2ZSBzaWduDQo+ID4g LSAgICAgY2hhbmdlcyAoZS5nLiBmcm9tIGFuIHVuc2lnbmVkIHN1YnRyYWN0 aW9uIHRvIGEgc2lnbmVkIEFCUyBpbnB1dCkNCj4gPiAtICAgICBvciBzaWdu ZWQgcHJvbW90aW9uLCBidXQgaXQgY2FuJ3QgaW5jbHVkZSB1bnNpZ25lZCBw cm9tb3Rpb24uDQo+ID4gLSAgICAgKE5vdGUgdGhhdCBBQlMgb2YgYW4gdW5z aWduZWQgcHJvbW90aW9uIHNob3VsZCBoYXZlIGJlZW4gZm9sZGVkDQo+ID4g LSAgICAgYXdheSBiZWZvcmUgbm93IGFueXdheS4pICAqLw0KPiA+IC0gIHZl Y3RfdW5wcm9tb3RlZF92YWx1ZSB1bnByb21fZGlmZjsNCj4gPiAtICBhYnNf b3BybmQgPSB2ZWN0X2xvb2tfdGhyb3VnaF9wb3NzaWJsZV9wcm9tb3Rpb24g KHZpbmZvLCBhYnNfb3BybmQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ1bnByb21fZGlmZik7 DQo+ID4gLSAgaWYgKCFhYnNfb3BybmQpDQo+ID4gLSAgICByZXR1cm4gTlVM TDsNCj4gPiAtICBpZiAoVFlQRV9QUkVDSVNJT04gKHVucHJvbV9kaWZmLnR5 cGUpICE9IFRZUEVfUFJFQ0lTSU9OIChhYnNfdHlwZSkNCj4gPiAtICAgICAg JiYgVFlQRV9VTlNJR05FRCAodW5wcm9tX2RpZmYudHlwZSkpDQo+ID4gLSAg ICByZXR1cm4gTlVMTDsNCj4gPg0KPiA+IC0gIC8qIFdlIHRoZW4gZGV0ZWN0 IGlmIHRoZSBvcGVyYW5kIG9mIGFic19leHByIGlzIGRlZmluZWQgYnkgYSBt aW51c19leHByLiAgKi8NCj4gPiAtICBzdG10X3ZlY19pbmZvIGRpZmZfc3Rt dF92aW5mbyA9IHZlY3RfZ2V0X2ludGVybmFsX2RlZiAodmluZm8sIGFic19v cHJuZCk7DQo+ID4gLSAgaWYgKCFkaWZmX3N0bXRfdmluZm8pDQo+ID4gKyAg dmVjdF91bnByb21vdGVkX3ZhbHVlIHVucHJvbVsyXTsNCj4gPiArICBpZiAo IXZlY3RfcmVjb2dfYWJzb2x1dGVfZGlmZmVyZW5jZSAodmluZm8sIGFic19z dG10LCAmaGFsZl90eXBlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRydWUsIHVucHJvbSwgTlVMTCkpDQo+ID4gICAg ICByZXR1cm4gTlVMTDsNCj4gPg0KPiA+IC0gIC8qIEZPUk5PVy4gIENhbiBj b250aW51ZSBhbmFseXppbmcgdGhlIGRlZi11c2UgY2hhaW4gd2hlbiB0aGlz IHN0bXQgaW4gYSBwaGkNCj4gPiAtICAgICBpbnNpZGUgdGhlIGxvb3AgKGlu IGNhc2Ugd2UgYXJlIGFuYWx5emluZyBhbiBvdXRlci1sb29wKS4gICovDQo+ ID4gLSAgdmVjdF91bnByb21vdGVkX3ZhbHVlIHVucHJvbVsyXTsNCj4gPiAt ICBpZiAoIXZlY3Rfd2lkZW5lZF9vcF90cmVlICh2aW5mbywgZGlmZl9zdG10 X3ZpbmZvLCBNSU5VU19FWFBSLCBXSURFTl9NSU5VU19FWFBSLA0KPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsIDIsIHVucHJvbSwg JmhhbGZfdHlwZSkpDQo+ID4gKyAgaWYgKCFoYWxmX3R5cGUpDQo+ID4gICAg ICByZXR1cm4gTlVMTDsNCj4gPg0KPiA+ICAgIHZlY3RfcGF0dGVybl9kZXRl Y3RlZCAoInZlY3RfcmVjb2dfc2FkX3BhdHRlcm4iLCBsYXN0X3N0bXQpOw0K PiA+IEBAIC0xMzYzLDYgKzE0MTksMTM3IEBAIHZlY3RfcmVjb2dfc2FkX3Bh dHRlcm4gKHZlY19pbmZvICp2aW5mbywNCj4gPiAgICByZXR1cm4gcGF0dGVy bl9zdG10Ow0KPiA+ICB9DQo+ID4NCj4gPiArLyogRnVuY3Rpb24gdmVjdF9y ZWNvZ19hYmRfcGF0dGVybg0KPiA+ICsNCj4gPiArICAgVHJ5IHRvIGZpbmQg dGhlIGZvbGxvd2luZyBBQnNvbHV0ZSBEaWZmZXJlbmNlIChBQkQpIHBhdHRl cm46DQo+ID4gKw0KPiA+ICsgICAgIFZUWVBFIHgsIHksIG91dDsNCj4gPiAr ICAgICB0eXBlIGRpZmY7DQo+ID4gKyAgIGxvb3AgaSBpbiByYW5nZToNCj4g PiArICAgICBTMSBkaWZmID0geFtpXSAtIHlbaV0NCj4gPiArICAgICBTMiBv dXRbaV0gPSBBQlNfRVhQUiA8ZGlmZj47DQo+ID4gKw0KPiA+ICsgICB3aGVy ZSAndHlwZScgaXMgYSBpbnRlZ2VyIGFuZCAnVlRZUEUnIGlzIGEgdmVjdG9y IG9mIGludGVnZXJzDQo+ID4gKyAgIHRoZSBzYW1lIHNpemUgYXMgJ3R5cGUn DQo+ID4gKw0KPiA+ICsgICBJbnB1dDoNCj4gPiArDQo+ID4gKyAgICogU1RN VF9WSU5GTzogVGhlIHN0bXQgZnJvbSB3aGljaCB0aGUgcGF0dGVybiBzZWFy Y2ggYmVnaW5zDQo+ID4gKw0KPiA+ICsgICBPdXRwdXQ6DQo+ID4gKw0KPiA+ ICsgICAqIFRZUEVfb3V0OiBUaGUgdHlwZSBvZiB0aGUgb3V0cHV0IG9mIHRo aXMgcGF0dGVybg0KPiA+ICsNCj4gPiArICAgKiBSZXR1cm4gdmFsdWU6IEEg bmV3IHN0bXQgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmVwbGFjZSB0aGUgc2Vx dWVuY2Ugb2YNCj4gPiArICAgICBzdG10cyB0aGF0IGNvbnN0aXR1dGUgdGhl IHBhdHRlcm47IGVpdGhlciBTQUJEIG9yIFVBQkQ6DQo+ID4gKyAgICAgICBT QUJEX0VYUFI8eCwgeSwgb3V0Pg0KPiA+ICsgICAgICAgVUFCRF9FWFBSPHgs IHksIG91dD4NCj4gPiArDQo+ID4gKyAgICAgIFVBQkQgZXhwcmVzc2lvbnMg YXJlIHVzZWQgd2hlbiB0aGUgaW5wdXQgdHlwZXMgYXJlDQo+ID4gKyAgICAg IG5hcnJvd2VyIHRoYW4gdGhlIG91dHB1dCB0eXBlcyBvciB0aGUgb3V0cHV0 IHR5cGUgaXMgbmFycm93ZXINCj4gPiArICAgICAgdGhhbiAzMiBiaXRzDQo+ ID4gKyAqLw0KPiA+ICsNCj4gPiArc3RhdGljIGdpbXBsZSAqDQo+ID4gK3Zl Y3RfcmVjb2dfYWJkX3BhdHRlcm4gKHZlY19pbmZvICp2aW5mbywNCj4gPiAr ICAgICAgICAgICAgICAgc3RtdF92ZWNfaW5mbyBzdG10X3ZpbmZvLCB0cmVl ICp0eXBlX291dCkNCj4gPiArew0KPiA+ICsgIC8qIExvb2sgZm9yIHRoZSBm b2xsb3dpbmcgcGF0dGVybnMNCj4gPiArICAgICAgIFggPSB4W2ldDQo+ID4g KyAgICAgICBZID0geVtpXQ0KPiA+ICsgICAgICAgRElGRiA9IFggLSBZDQo+ ID4gKyAgICAgICBEQUQgPSBBQlNfRVhQUjxESUZGPg0KPiA+ICsgICAgICAg b3V0W2ldID0gREFEDQo+ID4gKw0KPiA+ICsgICAgIEluIHdoaWNoDQo+ID4g KyAgICAgIC0gWCwgWSwgRElGRiwgREFEIGFsbCBoYXZlIHRoZSBzYW1lIHR5 cGUNCj4gPiArICAgICAgLSB4LCB5LCBvdXQgYXJlIGFsbCB2ZWN0b3JzIG9m IHRoZSBzYW1lIHR5cGUNCj4gPiArICAqLw0KPiA+ICsgIGdhc3NpZ24gKmxh c3Rfc3RtdCA9IGR5bl9jYXN0IDxnYXNzaWduICo+IChTVE1UX1ZJTkZPX1NU TVQgKHN0bXRfdmluZm8pKTsNCj4gPiArICBpZiAoIWxhc3Rfc3RtdCkNCj4g PiArICAgIHJldHVybiBOVUxMOw0KPiA+ICsNCj4gPiArICB0cmVlIG91dF90 eXBlID0gVFJFRV9UWVBFIChnaW1wbGVfYXNzaWduX2xocyAobGFzdF9zdG10 KSk7DQo+ID4gKw0KPiA+ICsgIGdhc3NpZ24gKmFic19zdG10ID0gbGFzdF9z dG10Ow0KPiA+ICsgIGlmIChnaW1wbGVfYXNzaWduX2Nhc3RfcCAobGFzdF9z dG10KSkNCj4gPiArICB7DQo+ID4gKyAgICB0cmVlIGxhc3RfcmhzID0gZ2lt cGxlX2Fzc2lnbl9yaHMxIChsYXN0X3N0bXQpOw0KPiA+ICsgICAgaWYgKCFT U0FfVkFSX1AgKGxhc3RfcmhzKSkNCj4gPiArICAgICAgcmV0dXJuIE5VTEw7 DQo+ID4gKw0KPiA+ICsgICAgYWJzX3N0bXQgPSBkeW5fY2FzdCA8Z2Fzc2ln biAqPiAoU1NBX05BTUVfREVGX1NUTVQgKGxhc3RfcmhzKSk7DQo+ID4gKyAg ICBpZiAoIWFic19zdG10KQ0KPiA+ICsgICAgICByZXR1cm4gTlVMTDsNCj4g PiArICB9DQo+ID4gKw0KPiA+ICsgIHZlY3RfdW5wcm9tb3RlZF92YWx1ZSB1 bnByb21bMl07DQo+ID4gKyAgdHJlZSBkaWZmX29wcm5kc1syXTsNCj4gPiAr ICB0cmVlIGhhbGZfdHlwZTsNCj4gPiArICBpZiAoIXZlY3RfcmVjb2dfYWJz b2x1dGVfZGlmZmVyZW5jZSAodmluZm8sIGFic19zdG10LCAmaGFsZl90eXBl LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZhbHNlLCB1bnByb20sIGRpZmZfb3BybmRzKSkNCj4gPiArICAgIHJldHVy biBOVUxMOw0KPiA+ICsNCj4gPiArI2RlZmluZSBTQU1FX1RZUEUoQSwgQikg KFRZUEVfUFJFQ0lTSU9OIChBKSA9PSBUWVBFX1BSRUNJU0lPTiAoQikpDQo+ ID4gKw0KPiA+ICsgIHRyZWUgYWJkX29wcm5kc1syXTsNCj4gPiArICBpZiAo aGFsZl90eXBlKQ0KPiA+ICsgIHsNCj4gPiArICAgIGlmICghU0FNRV9UWVBF ICh1bnByb21bMF0udHlwZSwgdW5wcm9tWzFdLnR5cGUpKQ0KPiA+ICsgICAg ICByZXR1cm4gTlVMTDsNCj4gPiArDQo+ID4gKyAgICB0cmVlIGRpZmZfdHlw ZSA9IFRSRUVfVFlQRSAoZGlmZl9vcHJuZHNbMF0pOw0KPiA+ICsgICAgaWYg KFRZUEVfUFJFQ0lTSU9OIChvdXRfdHlwZSkgIT0gVFlQRV9QUkVDSVNJT04g KGRpZmZfdHlwZSkpDQo+ID4gKyAgICB7DQo+ID4gKyAgICAgIHZlY3RfY29u dmVydF9pbnB1dHMgKHZpbmZvLCBzdG10X3ZpbmZvLCAyLCBhYmRfb3BybmRz LCBoYWxmX3R5cGUsIHVucHJvbSwNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgICAgICBnZXRfdmVjdHlwZV9mb3Jfc2NhbGFyX3R5cGUgKHZpbmZvLCBo YWxmX3R5cGUpKTsNCj4gPiArICAgIH0NCj4gPiArICAgIGVsc2UNCj4gPiAr ICAgIHsNCj4gPiArICAgICAgYWJkX29wcm5kc1swXSA9IGRpZmZfb3BybmRz WzBdOw0KPiA+ICsgICAgICBhYmRfb3BybmRzWzFdID0gZGlmZl9vcHJuZHNb MV07DQo+ID4gKyAgICB9DQo+ID4gKyAgfQ0KPiA+ICsgIGVsc2UNCj4gPiAr ICB7DQo+ID4gKyAgICBpZiAodW5wcm9tWzBdLm9wICYmIHVucHJvbVsxXS5v cA0KPiA+ICsgICAgICAgJiYgKCFTQU1FX1RZUEUgKHVucHJvbVswXS50eXBl LCB1bnByb21bMV0udHlwZSkNCj4gPiArICAgICAgIHx8ICFTQU1FX1RZUEUg KHVucHJvbVswXS50eXBlLCBvdXRfdHlwZSkpKQ0KPiA+ICsgICAgICByZXR1 cm4gTlVMTDsNCj4gPiArDQo+ID4gKyAgICB1bnByb21bMF0ub3AgPSBkaWZm X29wcm5kc1swXTsNCj4gPiArICAgIHVucHJvbVsxXS5vcCA9IGRpZmZfb3By bmRzWzFdOw0KPiA+ICsgICAgdHJlZSBzaWduZWRfb3V0ID0gc2lnbmVkX3R5 cGVfZm9yIChvdXRfdHlwZSk7DQo+ID4gKyAgICB0cmVlIHNpZ25lZF9vdXRf dmVjdHlwZSA9IGdldF92ZWN0eXBlX2Zvcl9zY2FsYXJfdHlwZSAodmluZm8s IHNpZ25lZF9vdXQpOw0KPiA+ICsgICAgdmVjdF9jb252ZXJ0X2lucHV0cyAo dmluZm8sIHN0bXRfdmluZm8sIDIsIGFiZF9vcHJuZHMsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgIHNpZ25lZF9vdXQsIHVucHJvbSwgc2lnbmVk X291dF92ZWN0eXBlKTsNCj4gPiArDQo+ID4gKyAgICBpZiAoIVNBTUVfVFlQ RSAoVFJFRV9UWVBFIChkaWZmX29wcm5kc1swXSksIFRSRUVfVFlQRSAoYWJk X29wcm5kc1swXSkpKQ0KPiA+ICsgICAgICByZXR1cm4gTlVMTDsNCj4gPiAr ICB9DQo+ID4gKw0KPiA+ICsgIGlmICghU0FNRV9UWVBFIChUUkVFX1RZUEUg KGFiZF9vcHJuZHNbMF0pLCBUUkVFX1RZUEUgKGFiZF9vcHJuZHNbMV0pKQ0K PiA+ICsgICAgICB8fCAhU0FNRV9UWVBFIChUUkVFX1RZUEUgKGFiZF9vcHJu ZHNbMF0pLCBvdXRfdHlwZSkpDQo+ID4gKyAgICByZXR1cm4gTlVMTDsNCj4g PiArDQo+ID4gKyAgdmVjdF9wYXR0ZXJuX2RldGVjdGVkICgidmVjdF9yZWNv Z19hYmRfcGF0dGVybiIsIGxhc3Rfc3RtdCk7DQo+ID4gKw0KPiA+ICsgIHRy ZWUgdmVjdHlwZSA9IGdldF92ZWN0eXBlX2Zvcl9zY2FsYXJfdHlwZSAodmlu Zm8sIG91dF90eXBlKTsNCj4gPiArICBpZiAoIXZlY3R5cGUNCj4gPiArICAg ICAgfHwgIWRpcmVjdF9pbnRlcm5hbF9mbl9zdXBwb3J0ZWRfcCAoSUZOX0FC RCwgdmVjdHlwZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPUFRJTUlaRV9GT1JfU1BFRUQpKQ0KPiA+ICsgICAg cmV0dXJuIE5VTEw7DQo+ID4gKw0KPiA+ICsgICp0eXBlX291dCA9IFNUTVRf VklORk9fVkVDVFlQRSAoc3RtdF92aW5mbyk7DQo+ID4gKw0KPiA+ICsgIHRy ZWUgdmFyID0gdmVjdF9yZWNvZ190ZW1wX3NzYV92YXIgKG91dF90eXBlLCBO VUxMKTsNCj4gPiArICBnY2FsbCAqYWJkX3N0bXQgPSBnaW1wbGVfYnVpbGRf Y2FsbF9pbnRlcm5hbCAoSUZOX0FCRCwgMiwNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYmRfb3BybmRz WzBdLCBhYmRfb3BybmRzWzFdKTsNCj4gPiArICBnaW1wbGVfY2FsbF9zZXRf bGhzIChhYmRfc3RtdCwgdmFyKTsNCj4gPiArICBnaW1wbGVfc2V0X2xvY2F0 aW9uIChhYmRfc3RtdCwgZ2ltcGxlX2xvY2F0aW9uIChsYXN0X3N0bXQpKTsN Cj4gPiArICByZXR1cm4gYWJkX3N0bXQ7DQo+ID4gK30NCj4gPiArDQo+ID4g IC8qIFJlY29nbml6ZSBhbiBvcGVyYXRpb24gdGhhdCBwZXJmb3JtcyBPUklH X0NPREUgb24gd2lkZW5lZCBpbnB1dHMsDQo+ID4gICAgIHNvIHRoYXQgaXQg Y2FuIGJlIHRyZWF0ZWQgYXMgdGhvdWdoIGl0IGhhZCB0aGUgZm9ybToNCj4g Pg0KPiA+IEBAIC02NDM5LDYgKzY2MjYsNyBAQCBzdHJ1Y3QgdmVjdF9yZWNv Z19mdW5jDQo+ID4gIHN0YXRpYyB2ZWN0X3JlY29nX2Z1bmMgdmVjdF92ZWN0 X3JlY29nX2Z1bmNfcHRyc1tdID0gew0KPiA+ICAgIHsgdmVjdF9yZWNvZ19i aXRmaWVsZF9yZWZfcGF0dGVybiwgImJpdGZpZWxkX3JlZiIgfSwNCj4gPiAg ICB7IHZlY3RfcmVjb2dfYml0X2luc2VydF9wYXR0ZXJuLCAiYml0X2luc2Vy dCIgfSwNCj4gPiArICB7IHZlY3RfcmVjb2dfYWJkX3BhdHRlcm4sICJhYmQi IH0sDQo+ID4gICAgeyB2ZWN0X3JlY29nX292ZXJfd2lkZW5pbmdfcGF0dGVy biwgIm92ZXJfd2lkZW5pbmciIH0sDQo+ID4gICAgLyogTXVzdCBjb21lIGFm dGVyIG92ZXJfd2lkZW5pbmcsIHdoaWNoIG5hcnJvd3MgdGhlIHNoaWZ0IGFz IG11Y2ggYXMNCj4gPiAgICAgICBwb3NzaWJsZSBiZWZvcmVoYW5kLiAgKi8N Cj4gPiAtLQ0KPiA+IDIuMjUuMQ0K --_000_DB7PR08MB3452A5D7B62D4D43472D6DEBF5789DB7PR08MB3452eurp_--