From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on2041.outbound.protection.outlook.com [40.107.96.41]) by sourceware.org (Postfix) with ESMTPS id 15C023858D32 for ; Tue, 10 Oct 2023 06:54:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 15C023858D32 Authentication-Results: sourceware.org; dmarc=fail (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XQFHNSmmqLWFE97tbVoNG+MBOTmzyhd/DK1riHL14vs1eMniqx5CcF6djdBv6LjlOK7AQm6UTES0qBQgntk+RykQPD59ABYaVU+rk1FnRsD0FcAgZKWKzc1lDqetJwns4H8dp9m9bkyFgZOGSLkab9CE073+ZB1hzE1ix9QLKWEODdMeMcl8/H1Lc1YobvbIT7GOlJSBURQcqhWILqRgnh0RSjUjCA/jncYNVrlfs9QzcATvkzboAgnTg+DS6PWWxGH7WRgJAiH3sAbcq+1GcqlX4hjCBlPfZ4GKPCPGTmVn2biBesQNoM6EfvBAqpO3UFdIY8FpNZyKtfCVqcF1cQ== 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=n0SrO2mMmApbE8zgg5xYqKsW1R6yY++oERw3+T8QJeQ=; b=HRwepGb8BoFXeWZYmkDky7I9qraXObyxLURpvqObsV+Q/p+j8nRxreQAslaJX71KGTnzCXsgjgCGpNY2743b01KxO8wPFnG611Sp5vR+Wqw71aSzC4WeUzBSB8kZpKBZYHuB/dyFWdwT1ehoQh3qBiHVW9WKmmm2ouZEHbTRUXWrmYdibaHszOv6gacYq/loMa0wew8vlcw0o7QnFS3cc1QN9PGvDnecUPsorlSvC0PV8NupteZ/S9XvN/vLZhRYd0a3yLQaj8MD0YGLsbo+nXChi44k2LeswnxFKH3jLT915moXRT231lOQOJ2PwSlzVzhHvOly351/QAUTGC/pLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=n0SrO2mMmApbE8zgg5xYqKsW1R6yY++oERw3+T8QJeQ=; b=AS4trS945GwiVh8s+2Gs/ofr+yC2GOYgMfpreFlOznp1MS+flMke+v/2hHIRz65OOHPxuk21AjB26EIwsQV/9O+ILYncBZSOWaL5ueCZOiJVnpaaWMlWiNM5VHmfRh0yrwWwvVel9s8hbVJAM8MyZj+dg14IY4sP27mmBPiH0pE= Received: from CH2PR12MB5004.namprd12.prod.outlook.com (2603:10b6:610:62::16) by SA1PR12MB6895.namprd12.prod.outlook.com (2603:10b6:806:24e::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.37; Tue, 10 Oct 2023 06:54:37 +0000 Received: from CH2PR12MB5004.namprd12.prod.outlook.com ([fe80::53cc:feb5:431:6de1]) by CH2PR12MB5004.namprd12.prod.outlook.com ([fe80::53cc:feb5:431:6de1%4]) with mapi id 15.20.6863.032; Tue, 10 Oct 2023 06:54:36 +0000 From: "Frager, Neal" To: Michael Eager , Michael Eager , "Maciej W. Rozycki" CC: "binutils@sourceware.org" , "Erkiaga Elorza, Ibai" , "Mekala, Nagaraju" , "Hatle, Mark" , "Mutyala, Sadanand" , "Nali, Appa Rao" , "Hunsigida, Vidhumouli" , "luca.ceresoli@bootlin.com" , Nick Clifton Subject: RE: [PATCH v2 1/1] opcodes: microblaze: Add new bit-field instructions Thread-Topic: [PATCH v2 1/1] opcodes: microblaze: Add new bit-field instructions Thread-Index: AQHZ94qevy3iAKR6zECrNTXFT3d2rbA9JEqAgAGUB4CAAD+uAIACCjVQgACT+wCAAP9K8A== Date: Tue, 10 Oct 2023 06:54:35 +0000 Message-ID: References: <20231005125103.1330807-1-neal.frager@amd.com> <5d2ce973-6287-db3d-fc82-966914f765a7@eagercon.com> <66d26b55-0457-9ed6-50af-0f5feeb057b0@eagercon.com> <4a0c359d-3651-655b-c5ef-1f92918b3e69@eagerm.com> In-Reply-To: <4a0c359d-3651-655b-c5ef-1f92918b3e69@eagerm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR12MB5004:EE_|SA1PR12MB6895:EE_ x-ms-office365-filtering-correlation-id: 99b67cf6-0d8a-4acc-ae84-08dbc95dc391 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: h1g2jJOqLtaZw5Je0DrBNaY4e6Co9cU5Ye4MzPWTsVaVwrXpcknC5TejvC/v289SPdnOaTMb5qs6OWyfKQkHqUqxM/Jue9sjTSMApoErBJAuMJcztZjU/c2aZ7mqbcyv+m6Mx5vzzYVIZWlCcCb2JfKwDj57Cky/drrW5jkkeqAXUaeHL5fFNSELPs0Pduz5AYsYJBW80FxdGoZoFcLnrK/C8cwZU8+E9ZTQv2JmEz6aGWRcJhXy6iG+hIal4on/L9noFR+1kqR+PbeXt1Re38M0Hp0ny12JD/kr74Q5nusOC/6aWEWKKZrdtxqs4GED8LkGIMrP0fHp/sde558XkNxYK0+wlOg1xnEBgL+0KeP+6UrSwKmk9C3IjNq0zVE+qyJ53z26gLSPjyaMdPNxGajMcKImF2m8HFD6DeVuaPhp0HHCFbiiTBPX9LNJesy0miuIBWMWtwqjA1cpWs9hprRc1aPEGZMo0QjddJ+SHWM7Tbe2wNp2BdFR13PauOsHwhBqI+JbH96VvqjLTCPO1k+9jwyEgi3Aq2RmcKMnAW3qc3XEBDC0wLtGDnvProWxHCjIzBqfXZZy1C4SwAvkuZWdWsutRS54h7lddq6XLXY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR12MB5004.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(376002)(346002)(396003)(366004)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(9686003)(6506007)(7696005)(478600001)(966005)(71200400001)(83380400001)(2906002)(5660300002)(110136005)(66446008)(66476007)(76116006)(54906003)(64756008)(66556008)(66946007)(4326008)(8676002)(8936002)(41300700001)(316002)(52536014)(33656002)(122000001)(38070700005)(38100700002)(86362001)(55016003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?a05kSno4MXd3WUFDRUgwRUxkWFNDd2cyNkU4WUkvbFVDc3NlUStFWVlmQk1m?= =?utf-8?B?Q0RVODRYNE5LQ0FENVZtZU9ObDlDMUROcFJZanMxL2Y5Zy9uZ1l3LzUwQmJr?= =?utf-8?B?c3RBcktxSk5iY3l5YzloeXUzYmJ3eTdQT1Q1cTk1c2hYZEhSZ2tnaDkyK21I?= =?utf-8?B?VWVzVWtURjd3NFBuRGxuRGgyQ3JUSi8yOUFzYmNENXlkM3ZITGxnbGFxa3lW?= =?utf-8?B?WFdQakM2cU1mTDgvSi9NRU51UjByN3Y2NXAxTklDcStLdDRuajVWRWdENTlw?= =?utf-8?B?dWZ4WDVyYjNUWUZ5UDNMemNEb1pBZFpHQk1Gbmw2d0laemdFS25UUS9CWWZY?= =?utf-8?B?QTduZ2ZoN2FVTDd4SUVHV1pYZWMybitxeXBRbnhMK09KZ0ZpNlBkckRuTE9J?= =?utf-8?B?WWZQRzFKTGRKdWJXdURxNnNKbld2T0ZVYjFwZmo5c3cybHF3Vlcxdys0NE82?= =?utf-8?B?OXZnaklhbzc4bmczdHhpVmNIODI1YlU1RnQvOUR0Ui84eXhZWVg3clI4WWRx?= =?utf-8?B?em4xYlVsRW1uZE55T0JYVUdTMng4MCs4WkRzS0hpYUdldnowcmNTUGNSdVVO?= =?utf-8?B?Qk5GM2ZPajNQK0VCM2pRd1JHOWZydHo3emltd1QxcFM3dVAzeUVOc0w3M3Y3?= =?utf-8?B?QXBSVkZ1UmQ5WkRtTWFXeTYrMFZPRE8wV3pKSEhkdjJScEM2dGkxdXluL29u?= =?utf-8?B?ZGU5QzNKak9xUkNaZ1l1TFJnRE9xd2pBREVGKzRiVUdTR3U4WFRYUStsSzJ6?= =?utf-8?B?cUZwSWM0OVlQUEJTbWdNTk5ZQ3pZWUpscFJLUmVOb3IzWFVmNnZza3p6Q1Jj?= =?utf-8?B?Myt3RHdMWVhNYlc1SjhKQnpHTnRtZWpPM251MWJZWDRnNnNYNVNsRVhBWUpN?= =?utf-8?B?Um5sVXNBaExiRFNjeTU3SWNTMkNycVZRNFdYdWhtUFQ3T1lrYVd4VzhhaThG?= =?utf-8?B?alFUUDU1amM2dGV5YVVPa1NaZ0tBOHBDd3pBOGgwRXRuNGVUVU1XdFkzU1F3?= =?utf-8?B?RndTVDZZRC9NL01kMUMvd280RHpmUkRXRkdWSXlEN2NPNUpKVytYWFU2VkhF?= =?utf-8?B?NjlwN3FibUJxRi9uRmFJR0M4T2M2N21kZHBGQkRuejlXcW05L0EwZW9WY2F0?= =?utf-8?B?ZDloaVhML3B5NDI1OExZODV4NGpUbEdZdXM4NmxvU3NYZGpKRyt6QnpaNWYw?= =?utf-8?B?WnRJZDh5bElXWFdtWVBYblFMb2xyTUREV0dYTTVCZnhqek1GYVA0NVQrZDc1?= =?utf-8?B?UEZzNHBWSTd6WHFONG01QjdlSXVCTXNRc0FKcnpHclNDWHJQc1llYWsyeCsx?= =?utf-8?B?OTlvL2hSQVRkSmx1alhzQjhWL1NPdjVIanArRlA2U1lEdGJvTU5HR21teWQ3?= =?utf-8?B?eU1zbGpYc2ZOSXR3NDhqN3lLamZFYXlnZUtwVkNKTWlXZjQ1VWRvdGwzNmZa?= =?utf-8?B?S1FKU2ltVWZrTVMxemhSdURPTWpIclVXZmhWTmRCZVRETXk5a2UreDZ4cjVl?= =?utf-8?B?dzFHMi9OT0lGcU5yOFU4ZGlERm5mdmdJRDh4Q0NYL1NGTjUwaDlrVnpVKzJw?= =?utf-8?B?Mkp6M0lXN2x0SmxhdnJTVVJJWitVMFZZLzJTR01ua1F6bkQ0eENwOUFybmVE?= =?utf-8?B?Tit1RGFwLzcwYjAvVENXelUvdEs2QVhpL3dmbjB0Q2tIUlEzN1Q1Wmt2b2Uz?= =?utf-8?B?TXl1NlJjWGREMWxpbkRVdTNCcHY3dlJkYVRTcUF5cThheUFqTGRmUlk2THBH?= =?utf-8?B?QnBTZ2NnRGpkS1hrRDNVWVZrUDZBUVczRlUzNjF5QXVtMVgydEdBQ2Z2cUtp?= =?utf-8?B?ZmpZYjljQzNhTG9HejJSaTltQUgrU2t4MXprOXMyM1MzZytPTmFWRmY0U0Rx?= =?utf-8?B?MmJPWjh6RnVodDNpamJxUUVveFQxbGZCdU9BOVFsVVMxWURHb2JxMGc3M0l0?= =?utf-8?B?NnQ0MkpHMUw5UmM5eVhEQ0d4bEdqcGs2QjYzMC9XNGQrNDkreHc2TUpNNkxv?= =?utf-8?B?aXhPaWUreDM1QlBTanFKWm9oRk9aTjJHUm4ybVZRaStWK2h4K2xuYktPZk5P?= =?utf-8?B?T24vK3ZxeEk2L2tXR201bEFZNXJRcHhPYjlFRW4xdHFZeFErNHQ2YTkwQ0NO?= =?utf-8?B?TUZVY3hjQ09PVGZqTUtKWmcrQnVTakdQSEZBSjBhcmFCRUo1MmxHN1dpaGlS?= =?utf-8?Q?6s+cxqpoTJybQ68EYWoAckw=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR12MB5004.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99b67cf6-0d8a-4acc-ae84-08dbc95dc391 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2023 06:54:35.3032 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 85+Srh5eTnugwPT9IXoa6tjBpbr8wbx+VAPjCJz0i3LwSQO0PC8GK4Ht85z6hQUk X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6895 X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP 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: PiBIaSBNaWNoYWVsLCBNYWNpZWosDQo+IA0KPj4gTmVhbCAtLQ0KPiANCj4+IFBsZWFzZSByZXN1 Ym1pdCB0aGlzIHBhdGNoLg0KPiANCj4+IEFkZCB0ZXN0IGNhc2VzIGZvciBuZXcgaW5zdHJ1Y3Rp b25zLg0KPj4gRml4IEdOVSBDb2RpbmcgU3RhbmRhcmQgaXNzdWVzLg0KPj4gUnVuIGJpbnV0aWxz IHRlc3Qgc3VpdGUuDQo+IA0KPiBUaGFuayB5b3UgZm9yIGZlZWRiYWNrLiAgQ291bGQgeW91IHBv c3NpYmx5IGhlbHAgbWUgd2l0aCByZXNvbHZpbmcgdGhlIEdOVSBjb2Rpbmcgc3RhbmRhcmQgaXNz dWVzIGFuZCB0aGUgYnVpbGQgaXNzdWUgTWFjaWVqIGlzIHJlcG9ydGluZz8NCg0KPiBTZWUgb3Ro ZXIgbWVzc2FnZXMgZm9yIEdOVSBDb2RpbmcgU3RhbmRhcmRzLg0KDQo+IE1hY2llaiBkaWQgbm90 IHJlcG9ydCBhIGJ1aWxkIGlzc3VlOiB0aGVyZSBhcmUgdGVzdCBjYXNlIHJlZ3Jlc3Npb25zLg0K PiBTZWUgaGlzIGluc3RydWN0aW9ucyBvbiBydW5uaW5nIHRoZSBiaW51dGlscyB0ZXN0IHN1aXRl Lg0KDQo+IA0KPiBDdXJyZW50bHksIHRoZSBwcm9ibGVtIHdlIGFyZSBmYWNpbmcgaXMgdGhhdCB0 aGUgdXBzdHJlYW0gYmludXRpbHMgaXMgdW5hYmxlIHRvIGJ1aWxkIHRoZSB6eW5xbXAgcG11Zncg YXBwbGljYXRpb24uICBJIGFtIHRyeWluZyB0byByZXNvbHZlIHRoaXMgYnkgdXBzdHJlYW1pbmcg dGhlIHRvb2xjaGFpbiBwYXRjaGVzIEFNRCBpcyBjdXJyZW50bHkgdXNpbmcgaW4gaXRzIG1pY3Jv YmxhemUgdG9vbGNoYWluIHJlbGVhc2UuDQo+IA0KPiBUaGlzIGlzIHRoZSBvbmx5IHBhdGNoIHJl bWFpbmluZyB0aGF0IGlzIHByZXZlbnRpbmcgdGhlIHp5bnFtcCBwbXVmdyBhcHBsaWNhdGlvbiBm cm9tIGJ1aWxkaW5nLCBhcyB0aGUgYXBwbGljYXRpb24gbmVlZHMgdGhlIG1pY3JvYmxhemUgYnNl ZmkgYW5kIGJzaWZpIGluc3RydWN0aW9ucy4NCj4gDQo+IE15IHBhdGNoIGZvciBhZGRpbmcgdGhl c2UgaW5zdHJ1Y3Rpb25zIGlzIGNvbWluZyBmcm9tIHRoZSBmb2xsb3dpbmcgdHdvIHBhdGNoZXMg d2hpY2ggQU1EIGN1cnJlbnRseSBhcHBsaWVzIG9uIGl0cyBvd24gbWljcm9ibGF6ZSB0b29sY2hh aW4gdGhhdCBjb21lcyB3aXRoIG91ciB5b2N0byByZWxlYXNlczoNCj4gaHR0cHM6Ly9naXRodWIu Y29tL1hpbGlueC9tZXRhLXhpbGlueC9ibG9iL21hc3Rlci9tZXRhLW1pY3JvYmxhemUvcmVjaQ0K PiBwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwNC1MT0NBTC1GaXgtcmVsYXhhdGlv bi1vZi1hc3NlbWJsZXItDQo+IHJlc29sdmVkLXJlZmVyZW5jZS5wYXRjaCANCj4gaHR0cHM6Ly9n aXRodWIuY29tL1hpbGlueC9tZXRhLXhpbGlueC9ibG9iL21hc3Rlci9tZXRhLW1pY3JvYmxhemUv cmVjaQ0KPiBwZXMtZGV2dG9vbHMvYmludXRpbHMvYmludXRpbHMvMDAwOC1BZGQtbmV3LWJpdC1m aWVsZC1pbnN0cnVjdGlvbnMucGF0DQo+IGNoDQoNCj4gSSBkb24ndCBoYXZlIHRpbWUgdG8gcmVz ZWFyY2ggcGF0Y2hlcyBpbiBhIG91dC1vZi10cmVlIHJlcG9zaXRvcnkuICBJIGRpZCBsb29rIGF0 IHRoZSBvdGhlciBwYXRjaGVzIHlvdSBzdWJtaXR0ZWQgdG8gc2VlIGlmIHRoZXJlIHdhcyBzb21l IGluZm9ybWF0aW9uIGFib3V0IHdoYXQgcHJvYmxlbSB0aGUgcGF0Y2ggd2FzIHNvbHZpbmcgYW5k IGZvdW5kIG5vdGhpbmcuDQo+IElmIHRoZXJlIGlzIHJlbGV2YW50IGluZm9ybWF0aW9uIGluIHRo ZXNlIG90aGVyIHBhdGNoZXMsIGluY2x1ZGUgaXQgd2l0aCB5b3VyIHBhdGNoLg0KDQpIaSBNaWNo YWVsLA0KDQpZb3Ugc2hvdWxkIG5vdCBuZWVkIHRvIGxvb2sgYXQgdGhlc2UgcGF0Y2hlcy4gIEV2 ZXJ5dGhpbmcgaW1wbGVtZW50ZWQgYnkgdGhlc2UgcGF0Y2hlcyBoYXMgYmVlbiBpbmNsdWRlZCBp biB0aGUgcGF0Y2ggSSBzdWJtaXR0ZWQuICBJIG9ubHkgbWVudGlvbmVkIHRoZW0gdG8gc2hvdyB3 aGVyZSB0aGUgcGF0Y2ggSSBzdWJtaXR0ZWQgb3JpZ2luYXRlZCBmcm9tLg0KDQo+IA0KPiBBcyBJ IGFtIGZhciBhd2F5IGZyb20gYmVpbmcgYSB0b29sY2hhaW4gb3IgR05VIGJpbnV0aWxzIGV4cGVy dCwgY291bGQgeW91IHBsZWFzZSBoZWxwIG1lIGluIHRoZSBzaW1wbGVzdCBvZiB0ZXJtcyB1bmRl cnN0YW5kIHdoYXQgaXMgbm90IGZvbGxvd2luZyB0aGUgR05VIGNvZGluZyBzdGFuZGFyZCBpbiB0 aGVzZSBwYXRjaGVzLCBzbyB0aGF0IEkgY2FuIGZpeCBpdD8NCg0KPiBTZWUgb3RoZXIgbWVzc2Fn ZS4NCg0KSSBqdXN0IHN1Ym1pdHRlZCB2NCBvZiB0aGUgcGF0Y2ggd2l0aCB0aGUgZm9sbG93aW5n IHVwZGF0ZXM6DQogIC0gQ2xlYW5lZCB1cCBhbGwgb2YgdGhlIEdOVSBjb2Rpbmcgc3RhbmRhcmQg aXNzdWVzLg0KICAtIFJlbW92ZWQgYW55IGxpbmUgbW9kaWZpY2F0aW9ucyB3aGljaCB3ZXJlIHVu bmVjZXNzYXJ5LCBzbyB2NCBvZiB0aGUgcGF0Y2ggbG9va3MgbXVjaCBjbGVhbmVyIG5vdy4NCiAg LSBUZXN0ZWQgdGhpcyBwYXRjaCBvbiB0aGUgQU1EIGZ1bmN0aW9uYWwgc2lkZSBpbiB0aGF0IGl0 IG5vdCBvbmx5IGJ1aWxkcywgYnV0IHRoZSBidWlsdCBiaW51dGlscyBhcmUgYWJsZSB0byBidWls ZCB0aGUgenlucW1wIHBtdWZ3IGFwcGxpY2F0aW9uIGNvcnJlY3RseS4NCiAgLSBWZXJpZmllZCB0 aGF0IHRoZSAzMi1iaXQgaG9zdCBtYWNoaW5lIGJ1aWxkIGlzc3VlIGlzIHJlc29sdmVkLg0KDQpB cyBmYXIgYXMgSSBjYW4gdGVsbCwgdGhlIG9ubHkgdGhpbmcgbWlzc2luZyBpcyBhIHRlc3QgY2Fz ZSBmb3IgdGhlIGdhcyB0ZXN0c3VpdGUgdG8gdmVyaWZ5IHRoZSByZWxvY2F0aW9uIHdvcmtzIGFz IGV4cGVjdGVkLg0KDQpXb3VsZCB5b3UgYmUgb2sgd2l0aCBhcHBseWluZyB0aGUgY3VycmVudCB2 NCBvZiB0aGUgcGF0Y2ggd2hpbGUgSSB3b3JrIG9uIHRoaXMgbGFzdCBwYXJ0Pw0KDQo+IA0KPiBN eSBjdXJyZW50IHdheSBvZiB0ZXN0aW5nIGlzIHZlcmlmeWluZyB0aGF0IHRoZSBtYXN0ZXIgYnJh bmNoIGJ1aWxkIG9mIEdOVSBiaW51dGlscyBpcyBhYmxlIHRvIGJ1aWxkIHRoZSB6eW5xbXAgcG11 ZncgYXBwbGljYXRpb24gYW5kIHRoYXQgaXQgZXhlY3V0ZXMgY29ycmVjdGx5IG9uIHp5bnFtcCBo YXJkd2FyZS4gIFNvIEkgaGF2ZSB2ZXJpZmllZCBvbiBoYXJkd2FyZSB0aGF0IHRoZSB2MiB2ZXJz aW9uIG9mIHRoZSBwYXRjaCBJIHN1Ym1pdHRlZCBpcyBpbmRlZWQgd29ya2luZy4gIElmIHlvdSBj b3VsZCBoZWxwIG1lIHdpdGggcmVzb2x2aW5nIHRoZXNlIHJlZ3Jlc3Npb25zLCBzbyB0aGF0IHRo aXMgcGF0Y2ggY2FuIHNvbHZlIHRoZSBwcm9ibGVtIEkgYW0gdHJ5aW5nIHRvIHNvbHZlIHdpdGhv dXQgY2F1c2luZyBhbm90aGVyIHByb2JsZW0sIEkgd291bGQgYXBwcmVjaWF0ZSBhbnkgc3VwcG9y dCB5b3UgY2FuIHByb3ZpZGUuDQoNCj4gVGhhdCBtYXkgYmUgc2F0aXNmYWN0b3J5IGZvciBBTUQn cyByZXF1aXJlbWVudHMsIGJ1dCB5b3VyIHBhdGNoIGhhcyB0byANCj4gd29yayB3aXRoIG90aGVy IHRhcmdldHMuICBJJ20gaGFwcHkgdG8gaGVscCB5b3UsIGJ1dCBteSB0aW1lIGlzIGxpbWl0ZWQu IA0KPiAgWW91IChvciBzb21lb25lIGVsc2UpIHdpbGwgaGF2ZSB0byBkbyB0aGUgaGVhdnkgbGlm dGluZyB0byByZXNvbHZlIA0KPiByZWdyZXNzaW9ucy4NCg0KPiBGb3IgZWFjaCBvZiB0aGUgdGVz dCBzdWl0ZSBmYWlsdXJlcyB3aGljaCBNYWNpZWogcmVwb3J0ZWQsIHJlcHJvZHVjZSB0aGUgDQo+ IHByb2JsZW0gb3V0c2lkZSBvZiB0aGUgdGVzdCBzdWl0ZS4gIEkgYmVsaWV2ZSB0aGVyZSBhcmUg ZXJyb3IgbWVzc2FnZXMuDQoNCkFyZSB5b3Ugc3VyZSB0aGF0IHRoZSBwcm9ibGVtcyBNYWNpZWog cmVwb3J0ZWQgY2FuIGJlIHJlcHJvZHVjZWQgb3V0c2lkZSBvZiB0aGUgdGVzdCBzdWl0ZT8gIElm IHNvLCBob3c/DQoNCj4gDQo+IEFsc28sIGFyZSB0aGVyZSBhbnkgaW5zdHJ1Y3Rpb25zIGZvciBj b2Rpbmcgc3RhbmRhcmQgZm9yIGdlbmVyYXRpbmcgdGVzdCBjYXNlcyBmb3IgdGhlIGJzZWZpIGFu ZCBic2lmaSBpbnN0cnVjdGlvbnM/ICBBcyBJIGhhdmUgbmV2ZXIgd3JpdHRlbiBHTlUgYmludXRp bHMgdGVzdCBjYXNlcyBiZWZvcmUsIHBlcmhhcHMgeW91IGNhbiBwb2ludCBtZSB0byBzb21ldGhp bmcgdGhhdCB3aWxsIGhlbHAgbWUgdG8gc2F2ZSB0aW1lIHdpdGggdGhpcyBhcyB3ZWxsPw0KDQo+ IFRvIHRlc3QgdGhlIGZ1bmN0aW9ucyBpbiB5b3VyIHBhdGNoLCB5b3Ugd2lsbCBuZWVkIHRvIGNy ZWF0ZSBhIHNtYWxsIA0KPiBhc3NlbWJsZXIgdGVzdCBjYXNlIHdoaWNoIGludm9rZXMgdGhlIGNv cnJlY3QgcmVsb2NhdGlvbnMuICBUaGUgYmFyZSANCj4gYm9uZXMgImlzIHRoZSBvcGNvZGUgY29y cmVjdCIgdGVzdCB3aGljaCB5b3UgYWRkZWQgd2lsbCBub3QgZG8gdGhpcy4NCg0KPiBJJ2xsIHRh a2UgYSBsb29rIGF0IHRoZSBNQiB0ZXN0IGNhc2VzIGFuZCBzZWUgaWYgdGhlcmUgaXMgb25lIHlv dSBjYW4gDQo+IGFkYXB0Lg0KDQpVbmRlcnN0b29kIGFuZCB0aGFuayB5b3UgZm9yIHlvdXIgaGVs cC4gIEkgd2lsbCB3b3JrIG9uIHRoaXMgbm93Lg0KIA0KVGhhbmsgeW91IGZvciB5b3VyIHN1cHBv cnQhDQogDQpCZXN0IHJlZ2FyZHMsDQpOZWFsIEZyYWdlcg0KQU1EDQo=