From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2059.outbound.protection.outlook.com [40.107.92.59]) by sourceware.org (Postfix) with ESMTPS id 53B363858403 for ; Fri, 9 Feb 2024 10:59:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53B363858403 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-Filter: OpenARC Filter v1.0.0 sourceware.org 53B363858403 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.92.59 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707476362; cv=pass; b=cRjf9uak2EHk+P55/co+Fc8SBP5KnKJB4ZIzixYV/G3ZqxBTPKJtFIz8w4vdzxTA3M/nJrbEKhQqybvy9TuXPaaO1iL1bP+MoZ954MVF552F2gMNzSpFeDNtUGWYWLq1tiVhfy4q9gKcuaFVXnvsqHDe9gkrugCnh7UvCu1D8+g= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707476362; c=relaxed/simple; bh=cMs5y8Bze0hj/2qek9qYacMVkmJkb0Nb9CSQ+MvCU5g=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=G1cumWhbDPz+JDYY2iS8xQLHhsONMBO2x0qAS+lIaVaCsOZyw8lSkvmtAflmtypo0rbVz9d4O/H0UXLyzzUtxubf+rz+JdxrH60C0kdxot+1X26a2IcNhT7pQsn3pXwNpu3lN6PHsS4C2Bn7xzvYd2TxN7SPLNnRhnsOcxiCT9Q= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iZnF3ochyoifKq+CIh0wfQ8jRVNT+D+eLpjX0ghIcba/cxexkhuTuJjrdltMcPaqryKADSn7c/1dGPCAnyOBDB2Y5GtUsdoz5xGoHbM9UWbcKW6PdHsl33axOJ1eG5h8Z7/ToKY0R0YYUk5hX5/0HyanZRvHRJkMOExNRSgR+DMuA245XQJbeWcCtVTl9vBhDtdZC0eFhKeChR+CSTP7lNjMUGtUq4aluLsg1ETuiiYdc1S25tem9Ylkt2/1nVeRkeWSLSV81iGpoxbguvpYoV+djgTVwU0nsPR97GlQSlyrJj71m0KxZFpeMsG5cK3kT3UwsDQsqnpv+yv8M56DKA== 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=cMs5y8Bze0hj/2qek9qYacMVkmJkb0Nb9CSQ+MvCU5g=; b=gSsnCvGsASk46Qz88fb6B1ylyev1928T0FFLavzxc8uw1eE+TiYDAvyR2lKedNpuTjuMirloIL6D8IE0Kxr0zu/pl3YBE8Gd8GU7vxmf1nLEBZR7TJUdZhwJE1O/tYSU8fTUGbqBZ9bhE7P/wpOVSAdIguvGvZs+/aYa51fACA8Hq54Ji5fm4RL/b7QWngKaJPcgsyPHN+dUD+X2ovM7gRjC6v6EEE5EXLdQnqXdMptfxYOgUuYTTc5q9e0hB46CduAiHZ4hS/6D1BYxGnYjMyj3w5zMi8RoAar00/JMZ6uzmn3+gx+4/JTD17/pICQR8RG8eq0aVqu7gYxUJ0M7Uw== 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=cMs5y8Bze0hj/2qek9qYacMVkmJkb0Nb9CSQ+MvCU5g=; b=jLp6BR+LGd4koYh/7Spih/9Z/V5DF/Vtad9Hq3CkgjZ99IFcU+fHserDVSLHwpJ8TDdSkFtF3MFmlW/rzNLo32MH+/Zffo0nM++v7bk3O4EvHBs3Rq+Vogz0trH4HJQUpCuNN+HjTLJTClZWWAudu/gi8vEMw1CBICNKSQRl9Vc= Received: from SJ0PR12MB5633.namprd12.prod.outlook.com (2603:10b6:a03:428::8) by SN7PR12MB7321.namprd12.prod.outlook.com (2603:10b6:806:298::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.16; Fri, 9 Feb 2024 10:59:17 +0000 Received: from SJ0PR12MB5633.namprd12.prod.outlook.com ([fe80::eac8:9464:7be1:4a12]) by SJ0PR12MB5633.namprd12.prod.outlook.com ([fe80::eac8:9464:7be1:4a12%4]) with mapi id 15.20.7270.012; Fri, 9 Feb 2024 10:59:17 +0000 From: "Karumanchi, Sajan" To: Noah Goldstein , Adhemerval Zanella Netto CC: "libc-alpha@sourceware.org" , "H . J . Lu" , Sajan Karumanchi , "bmerry@sarao.ac.za" , "Mallappa, Premachandra" , "Karumanchi, Sajan" Subject: RE: [PATCH v2 1/3] x86: Fix Zen3/Zen4 ERMS selection (BZ 30994) Thread-Topic: [PATCH v2 1/3] x86: Fix Zen3/Zen4 ERMS selection (BZ 30994) Thread-Index: AQJzFNOBlqrkXkZQeVlUQvyyf2YUsAIbG1tHApBSAsQBZNsK6gFAeoGOAdYs6UcCm6xvIwH4FagTr2KM6eA= Date: Fri, 9 Feb 2024 10:59:17 +0000 Message-ID: References: <20240206174322.2317679-1-adhemerval.zanella@linaro.org> <20240206174322.2317679-2-adhemerval.zanella@linaro.org> <0d2ee31f-a436-4540-a2cf-6d1570270a7e@linaro.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=381e5fc7-f112-44c2-b654-765890bebab8;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2024-02-09T10:52:22Z;MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; 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: SJ0PR12MB5633:EE_|SN7PR12MB7321:EE_ x-ms-office365-filtering-correlation-id: 58ae578a-3b8b-4aa0-887e-08dc295e292e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: q5V8wzBp3FGwC4VQ1HClH1qgn8GNKZxDozzcjv7fVQnlLE9lBCovCYcegT9PywvfC9KrXI9Et+L4MagCfVjWdUQE2mT5w2sYbaEle22l98PyVU4F36OfG7/dP9qstCTBhjN3oNiRQjXESqaQP1DJpX6efAmizOPuHteJQa+9fRsZFj6iwGIixDwSK3pEDGfoQT1K7gP01hJpQVORyNXxR5eXVfSIXHmZ8rgvSMha5mMy5EN3sre6X7hoiKyEKYOEDfgmkekvT95ZNxcEwp9oQp4Im3S7VEog2DRllW2+KO1oUG+po1j8qK9mddy9ljax6HuJk4Nsz3aJ5aV/NSbcmwA3xgjy7STiUzNoKKN5XE0RFzaXWQbGIwBHBC0ZHggvo8WQ26wofHtxZ2bn7xS3U74TeP0E571I2DlFJeqr3nZh6UH1UjgGmFEiPly/7AUe7XNOwX3/uQJG6fChV+PEjEd31DHkeVo3pwa8qhg2snGEa8zyQauGJZA4fThueKGBXGjESRzXU5JnqR0Q3jXEDHJGLmCjwSlpnhOm1Y6qUPXevqN/jQCzsmuRqhtNe5Op1P03i5Sc31Bkm3zu/jDSjqlXPaXryEMSZe6ZrrMtxttpkih3FQyqaFAvRBu+7rAZ x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR12MB5633.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(396003)(376002)(39860400002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(30864003)(5660300002)(55016003)(8676002)(8936002)(4326008)(2906002)(76116006)(66476007)(66556008)(66946007)(316002)(64756008)(110136005)(54906003)(66446008)(52536014)(478600001)(33656002)(71200400001)(38070700009)(9686003)(7696005)(53546011)(6506007)(122000001)(83380400001)(41300700001)(38100700002)(26005)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QXErdnpjVUNxOE43ZXNMaE5SQUVCRjVMdFhGV0lFcmtzNlhuY2h0M25rUG11?= =?utf-8?B?bWJxMHFqQVJMdE0vY1JkS1R3c2VyWXFGMWZGcjVUZkdHMVVXNWxTbmJ4M1dq?= =?utf-8?B?dXVvdWJ0MVd0cVYwQS9TUTVhZnE4UDl4RnRvcG1uTnAxQ0xaNllZb2Z1cS9T?= =?utf-8?B?bVgyWXRuZnk1QTVnSEdMZFdNV2tHTXNvSVFrdHVJTDNKYzdnbFVwbnRWL0Rt?= =?utf-8?B?WTQ2amNCemtHS0Y4dVgwSk5KNWNvY3JHU0l6aVBaUmw1V2J3aXgvc0ZlOFZS?= =?utf-8?B?R1J1UDZSRWwydFNKclhkZVNzZ2ljRkQxUVR0R1M0QVBTWkc4dGdrUXZZelE1?= =?utf-8?B?MTByRHhTdkVzb3VqbkpUTU0xbllUWk1mUTgvd0pKMG9NUk9vOUhKSjNZRi9m?= =?utf-8?B?cENYRnFjM20xdjRPaElueGVpOWZydjJNSWN3ZGduTjZwOUJNQ1BHQmtSQWFO?= =?utf-8?B?TTdSVklpemVmZXV3RVo3Rk41OWZIK0tCV3JWdTJCUVpkTG1wVUZiemIvbmFD?= =?utf-8?B?MGVTREx3b0FZOHRkdjBDa3B0VFdXdW5xVXBpNGdjcnpuamxDWVFzamFTVFVs?= =?utf-8?B?dVRtWW1jeVN5aEZSQ2pROVRES2ZUS1ZvelAvZXIxc1NkdkRMaEhtd0tDRVZn?= =?utf-8?B?VWVpaVJOYllvejVZanFPUzFWSXFwbWR2OXZPNkhPVmlwSWp1MUtpeVZNcEpv?= =?utf-8?B?TUpubEwrdnEwano3MnJ2bUFCOVlEek83TW9JTWhtVGtweGxJQlVTMndJcGlh?= =?utf-8?B?WG8rdTdheTdPbkpDRURVTFZOQnJlYzI3MWZNY3NEMEE5MEpCQ08zT1pHWjZQ?= =?utf-8?B?ZmVzNDJ3ZnQvc3JKOW84K2t4dkYrT3M5d2R3Q3dZcjlZdUJPczY0U05DOTdr?= =?utf-8?B?dVJHQVhPRmZhbFNvMFV2VUdSOHZTSGJ3cGFIdCtYUDlVOHhJZzZwWllGQ1l2?= =?utf-8?B?U2crQzlIa0ZXMTc2Zk9zQU93UlFyTWJXOTB5WGhxMmRnR1VqeUJwWUo4UGVD?= =?utf-8?B?T200RGZGc3cwNXVyd0ZpWFV1cjc0UmIxMjgrYVd2Zmt6TW9ZWTljSlA0Q1Fl?= =?utf-8?B?amRwUDJDRFlSWktUa3JTM3B3WW9kRENTcnZ4eW10Q29xSk9EU3o4b1JLUVNT?= =?utf-8?B?ZG8rdFV3eGpFU251anU1ZjhtWmQyZE90dVpOL2YwR1REbkJJRWp4ajZuOGxY?= =?utf-8?B?RGFVZmxtK09Idi9WK2NXMldZcFdVQVVjNjF4TXJoSUt0QzJEZ1BaRW5HSEdi?= =?utf-8?B?ZFBETFJHaU5kbUNIOS96ZENsK3ZIS3R0am1COGZXSjdsNjhRdlYwV2MvM3ov?= =?utf-8?B?bDJITUhvQlI3TG5hV1FqMzYxTlRERzdxZ1ZRb25QZ0hyTnNqZFdYWStVOTZI?= =?utf-8?B?akEzd1ZrWXpLVkhyTjlUdFErMUhiN05NcHBTUlo0b1RmY2xRc0QxTndqZ2o4?= =?utf-8?B?RXJIZ2VmN2xYZGlUTy8wcDVOSjRCaVRLY3loWkJEemJaNFoyREtsamJyUDZy?= =?utf-8?B?TVNLZ3JwUjFOVnhSK1BHdytxN29CU0pMbTJzNDgrV2oyczBZT3llRVEyay9u?= =?utf-8?B?MEtDTko5djJXY21abW83MkNHTXozVkd5bGEwWjJvaU1hdVQ3ejM2dzJZWWpZ?= =?utf-8?B?bWVweTRvVmxjVXpMdld3ZVFSV09HVGRJWkNROFArZmVtc1I1V1NqakxDNXFl?= =?utf-8?B?d3FkcGpxRWViaE1aNlNKQWhGcHF4ZjQxSkVjUWFZVGdob0tmQ1dOMlJmcFda?= =?utf-8?B?Q3N4ZTNMZWhaUzFacmVNTU9yRVE1eDBxNUg1UTk5K0hzOWxRS3hMWWt2blZ1?= =?utf-8?B?SW5DbTU3dUQ5UmhFWjB2NVhuWVhiNVllbDM4ejVRb1A2YndnMHVHVnk2aGY5?= =?utf-8?B?NmFpaCtia2JKYVBuTnN2bTZMbHpKWHVnYllNV0JLa2U3RWRLMURrNVk1OXRH?= =?utf-8?B?RFJKVTVrNk94THNmbHZrZi9nbjRuYWZRTjJvaWlUTmFFMFpTT05ONEt0Yy93?= =?utf-8?B?RGJtYnhjUmRtQ0EvMWQ5cWJtaE5iYTJNYTFzWXFpVWJON3FwTVFXZWdiVUVq?= =?utf-8?B?ME5LVmE5Z2ZmUHVsanVXRDhKY1U0ajYzVXJYZ0NBVWpBRU1GaVg5eXNVeG5o?= =?utf-8?Q?Suhs=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: SJ0PR12MB5633.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 58ae578a-3b8b-4aa0-887e-08dc295e292e X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2024 10:59:17.4200 (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: dfOjSZC5li/96Z61528xP7Va7j5tXNK2X0PG00YKi9G8UdCg3ql4GPsDGDCDGvOzJEAl/C5wk0ckamkg4D1cwQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7321 X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCj4gT24gMDgvMDIvMjQgMzozNywg Tm9haCBHb2xkc3RlaW4gd3JvdGU6DQo+IE9uIFdlZCwgRmViIDcsIDIwMjQgYXQgNjoxMOKAr1BN IEFkaGVtZXJ2YWwgWmFuZWxsYSBOZXR0bw0KPiA8YWRoZW1lcnZhbC56YW5lbGxhQGxpbmFyby5v cmc+IHdyb3RlOg0KPiA+DQo+ID4NCj4gPg0KPiA+IE9uIDA3LzAyLzI0IDE1OjA2LCBBZGhlbWVy dmFsIFphbmVsbGEgTmV0dG8gd3JvdGU6DQo+ID4gPg0KPiA+ID4NCj4gPiA+IE9uIDA3LzAyLzI0 IDE0OjM5LCBOb2FoIEdvbGRzdGVpbiB3cm90ZToNCj4gPiA+PiBPbiBXZWQsIEZlYiA3LCAyMDI0 IGF0IDEyOjEw4oCvUE0gQWRoZW1lcnZhbCBaYW5lbGxhIE5ldHRvDQo+ID4gPj4gPGFkaGVtZXJ2 YWwuemFuZWxsYUBsaW5hcm8ub3JnPiB3cm90ZToNCj4gPiA+Pj4NCj4gPiA+Pj4NCj4gPiA+Pj4N Cj4gPiA+Pj4gT24gMDYvMDIvMjQgMTU6MzYsIE5vYWggR29sZHN0ZWluIHdyb3RlOg0KPiA+ID4+ Pj4gT24gVHVlLCBGZWIgNiwgMjAyNCBhdCA1OjQz4oCvUE0gQWRoZW1lcnZhbCBaYW5lbGxhDQo+ ID4gPj4+PiA8YWRoZW1lcnZhbC56YW5lbGxhQGxpbmFyby5vcmc+IHdyb3RlOg0KPiA+ID4+Pj4+ DQo+ID4gPj4+Pj4gVGhlIFJFUCBNT1ZTQiB1c2FnZSBvbiBtZW1jcHkvbWVtbW92ZSBkb2VzIG5v dCBzaG93IG11Y2gNCj4gPiA+Pj4+PiBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBvbiBaZW4zL1pl bjQgY29yZXMgY29tcGFyZWQgdG8gdGhlDQo+ID4gPj4+Pj4gdmVjdG9yaXplZCBsb29wcy4gIEFs c28sIGFzIGZyb20gQlogMzA5OTQsIGlmIHRoZSBzb3VyY2UgaXMNCj4gPiA+Pj4+PiBhbGlnbmVk IGFuZCB0aGUgZGVzdGluYXRpb24gaXMgbm90IHRoZSBwZXJmb3JtYW5jZSBjYW4gYmUgMjB4IHNs b3dlci4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IFRoZSBwZXJmb3JtYW5jZSBkaWZmZXJlbmNlIGlz IG5vdGljZWFibGUgd2l0aCBzbWFsbCBidWZmZXINCj4gPiA+Pj4+PiBzaXplcywgY2xvc2VyIHRv IHRoZSBsb3dlciBib3VuZHMgbGltaXRzIHdoZW4gbWVtY3B5L21lbW1vdmUNCj4gPiA+Pj4+PiBz dGFydHMgdG8gdXNlIEVSTVMuICBUaGUgcGVyZm9ybWFuY2Ugb2YgUkVQIE1PVlNCIGlzIHNpbWls YXIgdG8NCj4gPiA+Pj4+PiB2ZWN0b3JpemVkIGluc3RydWN0aW9uIG9uIHRoZSBzaXplIGxpbWl0 ICh0aGUgTDIgY2FjaGUpLiAgQWxzbywNCj4gPiA+Pj4+PiB0aGVyZSBpcyBubyBkcmF3YmFjayB0 byBtdWx0aXBsZSBjb3JlcyBzaGFyaW5nIHRoZSBjYWNoZS4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+ IEEgbmV3IHR1bmFibGUsIGdsaWJjLmNwdS54ODZfcmVwX21vdnNiX3N0b3BfdGhyZXNob2xkLCBh bGxvd3MgdG8NCj4gPiA+Pj4+PiBzZXQgdXAgdGhlIGhpZ2hlciBib3VuZCBzaXplIHRvIHVzZSAn cmVwIG1vdnNiJy4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IENoZWNrZWQgb24geDg2XzY0LWxpbnV4 LWdudSBvbiBaZW4zLg0KPiA+ID4+Pj4+IC0tLQ0KPiA+ID4+Pj4+ICBtYW51YWwvdHVuYWJsZXMu dGV4aSAgICAgICAgIHwgIDkgKysrKysrKw0KPiA+ID4+Pj4+ICBzeXNkZXBzL3g4Ni9kbC1jYWNo ZWluZm8uaCAgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tDQo+IC0tLS0tLQ0K PiA+ID4+Pj4+ICBzeXNkZXBzL3g4Ni9kbC10dW5hYmxlcy5saXN0IHwgMTAgKysrKysrKysNCj4g PiA+Pj4+PiAgMyBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMo LSkNCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IGRpZmYgLS1naXQgYS9tYW51YWwvdHVuYWJsZXMudGV4 aSBiL21hbnVhbC90dW5hYmxlcy50ZXhpIGluZGV4DQo+ID4gPj4+Pj4gYmU5NzE5MGQ2Ny4uZWU1 ZDkwYjkxYiAxMDA2NDQNCj4gPiA+Pj4+PiAtLS0gYS9tYW51YWwvdHVuYWJsZXMudGV4aQ0KPiA+ ID4+Pj4+ICsrKyBiL21hbnVhbC90dW5hYmxlcy50ZXhpDQo+ID4gPj4+Pj4gQEAgLTU2OSw2ICs1 NjksMTUgQEAgZ3JlYXRlciB0aGFuIHplcm8sIGFuZCBjdXJyZW50bHkgZGVmYXVsdHMgdG8NCj4g MjA0OCBieXRlcy4NCj4gPiA+Pj4+PiAgVGhpcyB0dW5hYmxlIGlzIHNwZWNpZmljIHRvIGkzODYg YW5kIHg4Ni02NC4NCj4gPiA+Pj4+PiAgQGVuZCBkZWZ0cA0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4g K0BkZWZ0cCBUdW5hYmxlIGdsaWJjLmNwdS54ODZfcmVwX21vdnNiX3N0b3BfdGhyZXNob2xkDQo+ ID4gPj4+Pj4gK1RoZSBAY29kZXtnbGliYy5jcHUueDg2X3JlcF9tb3ZzYl90aHJlc2hvbGR9IHR1 bmFibGUgYWxsb3dzIHRoZQ0KPiA+ID4+Pj4+ICt1c2VyIHRvIHNldCB0aGUgdGhyZXNob2xkIGlu IGJ5dGVzIHRvIHN0b3AgdXNpbmcgInJlcCBtb3ZzYiIuDQo+ID4gPj4+Pj4gK1RoZSB2YWx1ZSBt dXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLCBhbmQgY3VycmVudGx5LCB0aGUgZGVmYXVsdA0KPiA+ ID4+Pj4+ICtkZXBlbmRzIG9uIHRoZSBDUFUgYW5kIHRoZSBjYWNoZSBzaXplLg0KPiA+ID4+Pj4+ ICsNCj4gPiA+Pj4+PiArVGhpcyB0dW5hYmxlIGlzIHNwZWNpZmljIHRvIGkzODYgYW5kIHg4Ni02 NC4NCj4gPiA+Pj4+PiArQGVuZCBkZWZ0cA0KPiA+ID4+Pj4+ICsNCj4gPiA+Pj4+PiAgQGRlZnRw IFR1bmFibGUgZ2xpYmMuY3B1Lng4Nl9yZXBfc3Rvc2JfdGhyZXNob2xkICBUaGUNCj4gPiA+Pj4+ PiBAY29kZXtnbGliYy5jcHUueDg2X3JlcF9zdG9zYl90aHJlc2hvbGR9IHR1bmFibGUgYWxsb3dz IHRoZSB1c2VyDQo+ID4gPj4+Pj4gdG8gIHNldCB0aHJlc2hvbGQgaW4gYnl0ZXMgdG8gc3RhcnQg dXNpbmcgInJlcCBzdG9zYiIuICBUaGUNCj4gPiA+Pj4+PiB2YWx1ZSBtdXN0IGJlIGRpZmYgLS1n aXQgYS9zeXNkZXBzL3g4Ni9kbC1jYWNoZWluZm8uaA0KPiA+ID4+Pj4+IGIvc3lzZGVwcy94ODYv ZGwtY2FjaGVpbmZvLmggaW5kZXggZDUxMDE2MTVlMy4uNzRiODA0YzVlNg0KPiAxMDA2NDQNCj4g PiA+Pj4+PiAtLS0gYS9zeXNkZXBzL3g4Ni9kbC1jYWNoZWluZm8uaA0KPiA+ID4+Pj4+ICsrKyBi L3N5c2RlcHMveDg2L2RsLWNhY2hlaW5mby5oDQo+ID4gPj4+Pj4gQEAgLTc5MSw3ICs3OTEsNiBA QCBkbF9pbml0X2NhY2hlaW5mbyAoc3RydWN0IGNwdV9mZWF0dXJlcw0KPiAqY3B1X2ZlYXR1cmVz KQ0KPiA+ID4+Pj4+ICAgIGxvbmcgaW50IGRhdGEgPSAtMTsNCj4gPiA+Pj4+PiAgICBsb25nIGlu dCBzaGFyZWQgPSAtMTsNCj4gPiA+Pj4+PiAgICBsb25nIGludCBzaGFyZWRfcGVyX3RocmVhZCA9 IC0xOw0KPiA+ID4+Pj4+IC0gIGxvbmcgaW50IGNvcmUgPSAtMTsNCj4gPiA+Pj4+PiAgICB1bnNp Z25lZCBpbnQgdGhyZWFkcyA9IDA7DQo+ID4gPj4+Pj4gICAgdW5zaWduZWQgbG9uZyBpbnQgbGV2 ZWwxX2ljYWNoZV9zaXplID0gLTE7DQo+ID4gPj4+Pj4gICAgdW5zaWduZWQgbG9uZyBpbnQgbGV2 ZWwxX2ljYWNoZV9saW5lc2l6ZSA9IC0xOyBAQCAtODA5LDcNCj4gPiA+Pj4+PiArODA4LDYgQEAg ZGxfaW5pdF9jYWNoZWluZm8gKHN0cnVjdCBjcHVfZmVhdHVyZXMgKmNwdV9mZWF0dXJlcykNCj4g PiA+Pj4+PiAgICBpZiAoY3B1X2ZlYXR1cmVzLT5iYXNpYy5raW5kID09IGFyY2hfa2luZF9pbnRl bCkNCj4gPiA+Pj4+PiAgICAgIHsNCj4gPiA+Pj4+PiAgICAgICAgZGF0YSA9IGhhbmRsZV9pbnRl bCAoX1NDX0xFVkVMMV9EQ0FDSEVfU0laRSwgY3B1X2ZlYXR1cmVzKTsNCj4gPiA+Pj4+PiAtICAg ICAgY29yZSA9IGhhbmRsZV9pbnRlbCAoX1NDX0xFVkVMMl9DQUNIRV9TSVpFLCBjcHVfZmVhdHVy ZXMpOw0KPiA+ID4+Pj4+ICAgICAgICBzaGFyZWQgPSBoYW5kbGVfaW50ZWwgKF9TQ19MRVZFTDNf Q0FDSEVfU0laRSwgY3B1X2ZlYXR1cmVzKTsNCj4gPiA+Pj4+PiAgICAgICAgc2hhcmVkX3Blcl90 aHJlYWQgPSBzaGFyZWQ7DQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBAQCAtODIyLDcgKzgyMCw4IEBA IGRsX2luaXRfY2FjaGVpbmZvIChzdHJ1Y3QgY3B1X2ZlYXR1cmVzDQo+ICpjcHVfZmVhdHVyZXMp DQo+ID4gPj4+Pj4gICAgICAgICA9IGhhbmRsZV9pbnRlbCAoX1NDX0xFVkVMMV9EQ0FDSEVfQVNT T0MsIGNwdV9mZWF0dXJlcyk7DQo+ID4gPj4+Pj4gICAgICAgIGxldmVsMV9kY2FjaGVfbGluZXNp emUNCj4gPiA+Pj4+PiAgICAgICAgID0gaGFuZGxlX2ludGVsIChfU0NfTEVWRUwxX0RDQUNIRV9M SU5FU0laRSwgY3B1X2ZlYXR1cmVzKTsNCj4gPiA+Pj4+PiAtICAgICAgbGV2ZWwyX2NhY2hlX3Np emUgPSBjb3JlOw0KPiA+ID4+Pj4+ICsgICAgICBsZXZlbDJfY2FjaGVfc2l6ZQ0KPiA+ID4+Pj4+ ICsgICAgICAgPSBoYW5kbGVfaW50ZWwgKF9TQ19MRVZFTDJfQ0FDSEVfU0laRSwgY3B1X2ZlYXR1 cmVzKTsNCj4gPiA+Pj4+PiAgICAgICAgbGV2ZWwyX2NhY2hlX2Fzc29jDQo+ID4gPj4+Pj4gICAg ICAgICA9IGhhbmRsZV9pbnRlbCAoX1NDX0xFVkVMMl9DQUNIRV9BU1NPQywgY3B1X2ZlYXR1cmVz KTsNCj4gPiA+Pj4+PiAgICAgICAgbGV2ZWwyX2NhY2hlX2xpbmVzaXplDQo+ID4gPj4+Pj4gQEAg LTgzNSwxMiArODM0LDEyIEBAIGRsX2luaXRfY2FjaGVpbmZvIChzdHJ1Y3QgY3B1X2ZlYXR1cmVz DQo+ICpjcHVfZmVhdHVyZXMpDQo+ID4gPj4+Pj4gICAgICAgIGxldmVsNF9jYWNoZV9zaXplDQo+ ID4gPj4+Pj4gICAgICAgICA9IGhhbmRsZV9pbnRlbCAoX1NDX0xFVkVMNF9DQUNIRV9TSVpFLCBj cHVfZmVhdHVyZXMpOw0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gLSAgICAgIGdldF9jb21tb25fY2Fj aGVfaW5mbyAoJnNoYXJlZCwgJnNoYXJlZF9wZXJfdGhyZWFkLA0KPiAmdGhyZWFkcywgY29yZSk7 DQo+ID4gPj4+Pj4gKyAgICAgIGdldF9jb21tb25fY2FjaGVfaW5mbyAoJnNoYXJlZCwgJnNoYXJl ZF9wZXJfdGhyZWFkLA0KPiAmdGhyZWFkcywNCj4gPiA+Pj4+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxldmVsMl9jYWNoZV9zaXplKTsNCj4gPiA+Pj4+PiAgICAgIH0NCj4gPiA+Pj4+ PiAgICBlbHNlIGlmIChjcHVfZmVhdHVyZXMtPmJhc2ljLmtpbmQgPT0gYXJjaF9raW5kX3poYW94 aW4pDQo+ID4gPj4+Pj4gICAgICB7DQo+ID4gPj4+Pj4gICAgICAgIGRhdGEgPSBoYW5kbGVfemhh b3hpbiAoX1NDX0xFVkVMMV9EQ0FDSEVfU0laRSk7DQo+ID4gPj4+Pj4gLSAgICAgIGNvcmUgPSBo YW5kbGVfemhhb3hpbiAoX1NDX0xFVkVMMl9DQUNIRV9TSVpFKTsNCj4gPiA+Pj4+PiAgICAgICAg c2hhcmVkID0gaGFuZGxlX3poYW94aW4gKF9TQ19MRVZFTDNfQ0FDSEVfU0laRSk7DQo+ID4gPj4+ Pj4gICAgICAgIHNoYXJlZF9wZXJfdGhyZWFkID0gc2hhcmVkOw0KPiA+ID4+Pj4+DQo+ID4gPj4+ Pj4gQEAgLTg0OSwxOSArODQ4LDE5IEBAIGRsX2luaXRfY2FjaGVpbmZvIChzdHJ1Y3QgY3B1X2Zl YXR1cmVzDQo+ICpjcHVfZmVhdHVyZXMpDQo+ID4gPj4+Pj4gICAgICAgIGxldmVsMV9kY2FjaGVf c2l6ZSA9IGRhdGE7DQo+ID4gPj4+Pj4gICAgICAgIGxldmVsMV9kY2FjaGVfYXNzb2MgPSBoYW5k bGVfemhhb3hpbg0KPiAoX1NDX0xFVkVMMV9EQ0FDSEVfQVNTT0MpOw0KPiA+ID4+Pj4+ICAgICAg ICBsZXZlbDFfZGNhY2hlX2xpbmVzaXplID0gaGFuZGxlX3poYW94aW4NCj4gKF9TQ19MRVZFTDFf RENBQ0hFX0xJTkVTSVpFKTsNCj4gPiA+Pj4+PiAtICAgICAgbGV2ZWwyX2NhY2hlX3NpemUgPSBj b3JlOw0KPiA+ID4+Pj4+ICsgICAgICBsZXZlbDJfY2FjaGVfc2l6ZSA9IGhhbmRsZV96aGFveGlu DQo+ID4gPj4+Pj4gKyAoX1NDX0xFVkVMMl9DQUNIRV9TSVpFKTsNCj4gPiA+Pj4+PiAgICAgICAg bGV2ZWwyX2NhY2hlX2Fzc29jID0gaGFuZGxlX3poYW94aW4NCj4gKF9TQ19MRVZFTDJfQ0FDSEVf QVNTT0MpOw0KPiA+ID4+Pj4+ICAgICAgICBsZXZlbDJfY2FjaGVfbGluZXNpemUgPSBoYW5kbGVf emhhb3hpbg0KPiAoX1NDX0xFVkVMMl9DQUNIRV9MSU5FU0laRSk7DQo+ID4gPj4+Pj4gICAgICAg IGxldmVsM19jYWNoZV9zaXplID0gc2hhcmVkOw0KPiA+ID4+Pj4+ICAgICAgICBsZXZlbDNfY2Fj aGVfYXNzb2MgPSBoYW5kbGVfemhhb3hpbg0KPiAoX1NDX0xFVkVMM19DQUNIRV9BU1NPQyk7DQo+ ID4gPj4+Pj4gICAgICAgIGxldmVsM19jYWNoZV9saW5lc2l6ZSA9IGhhbmRsZV96aGFveGluDQo+ ID4gPj4+Pj4gKF9TQ19MRVZFTDNfQ0FDSEVfTElORVNJWkUpOw0KPiA+ID4+Pj4+DQo+ID4gPj4+ Pj4gLSAgICAgIGdldF9jb21tb25fY2FjaGVfaW5mbyAoJnNoYXJlZCwgJnNoYXJlZF9wZXJfdGhy ZWFkLA0KPiAmdGhyZWFkcywgY29yZSk7DQo+ID4gPj4+Pj4gKyAgICAgIGdldF9jb21tb25fY2Fj aGVfaW5mbyAoJnNoYXJlZCwgJnNoYXJlZF9wZXJfdGhyZWFkLA0KPiAmdGhyZWFkcywNCj4gPiA+ Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVsMl9jYWNoZV9zaXplKTsNCj4g PiA+Pj4+PiAgICAgIH0NCj4gPiA+Pj4+PiAgICBlbHNlIGlmIChjcHVfZmVhdHVyZXMtPmJhc2lj LmtpbmQgPT0gYXJjaF9raW5kX2FtZCkNCj4gPiA+Pj4+PiAgICAgIHsNCj4gPiA+Pj4+PiAgICAg ICAgZGF0YSA9IGhhbmRsZV9hbWQgKF9TQ19MRVZFTDFfRENBQ0hFX1NJWkUpOw0KPiA+ID4+Pj4+ IC0gICAgICBjb3JlID0gaGFuZGxlX2FtZCAoX1NDX0xFVkVMMl9DQUNIRV9TSVpFKTsNCj4gPiA+ Pj4+PiAgICAgICAgc2hhcmVkID0gaGFuZGxlX2FtZCAoX1NDX0xFVkVMM19DQUNIRV9TSVpFKTsN Cj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+ICAgICAgICBsZXZlbDFfaWNhY2hlX3NpemUgPSBoYW5kbGVf YW1kIChfU0NfTEVWRUwxX0lDQUNIRV9TSVpFKTsNCj4gPiA+Pj4+PiBAQCAtODY5LDcgKzg2OCw3 IEBAIGRsX2luaXRfY2FjaGVpbmZvIChzdHJ1Y3QgY3B1X2ZlYXR1cmVzDQo+ICpjcHVfZmVhdHVy ZXMpDQo+ID4gPj4+Pj4gICAgICAgIGxldmVsMV9kY2FjaGVfc2l6ZSA9IGRhdGE7DQo+ID4gPj4+ Pj4gICAgICAgIGxldmVsMV9kY2FjaGVfYXNzb2MgPSBoYW5kbGVfYW1kDQo+IChfU0NfTEVWRUwx X0RDQUNIRV9BU1NPQyk7DQo+ID4gPj4+Pj4gICAgICAgIGxldmVsMV9kY2FjaGVfbGluZXNpemUg PSBoYW5kbGVfYW1kDQo+IChfU0NfTEVWRUwxX0RDQUNIRV9MSU5FU0laRSk7DQo+ID4gPj4+Pj4g LSAgICAgIGxldmVsMl9jYWNoZV9zaXplID0gY29yZTsNCj4gPiA+Pj4+PiArICAgICAgbGV2ZWwy X2NhY2hlX3NpemUgPSBoYW5kbGVfYW1kIChfU0NfTEVWRUwyX0NBQ0hFX1NJWkUpOzsNCj4gPiA+ Pj4+PiAgICAgICAgbGV2ZWwyX2NhY2hlX2Fzc29jID0gaGFuZGxlX2FtZCAoX1NDX0xFVkVMMl9D QUNIRV9BU1NPQyk7DQo+ID4gPj4+Pj4gICAgICAgIGxldmVsMl9jYWNoZV9saW5lc2l6ZSA9IGhh bmRsZV9hbWQNCj4gKF9TQ19MRVZFTDJfQ0FDSEVfTElORVNJWkUpOw0KPiA+ID4+Pj4+ICAgICAg ICBsZXZlbDNfY2FjaGVfc2l6ZSA9IHNoYXJlZDsgQEAgLTg4MCwxMiArODc5LDEyIEBADQo+ID4g Pj4+Pj4gZGxfaW5pdF9jYWNoZWluZm8gKHN0cnVjdCBjcHVfZmVhdHVyZXMgKmNwdV9mZWF0dXJl cykNCj4gPiA+Pj4+PiAgICAgICAgaWYgKHNoYXJlZCA8PSAwKQ0KPiA+ID4+Pj4+ICAgICAgICAg IHsNCj4gPiA+Pj4+PiAgICAgICAgICAgICAvKiBObyBzaGFyZWQgTDMgY2FjaGUuICBBbGwgd2Ug aGF2ZSBpcyB0aGUgTDIgY2FjaGUuICAqLw0KPiA+ID4+Pj4+IC0gICAgICAgICAgIHNoYXJlZCA9 IGNvcmU7DQo+ID4gPj4+Pj4gKyAgICAgICAgICAgc2hhcmVkID0gbGV2ZWwyX2NhY2hlX3NpemU7 DQo+ID4gPj4+Pj4gICAgICAgICAgfQ0KPiA+ID4+Pj4+ICAgICAgICBlbHNlIGlmIChjcHVfZmVh dHVyZXMtPmJhc2ljLmZhbWlseSA8IDB4MTcpDQo+ID4gPj4+Pj4gICAgICAgICAgew0KPiA+ID4+ Pj4+ICAgICAgICAgICAgIC8qIEFjY291bnQgZm9yIGV4Y2x1c2l2ZSBMMiBhbmQgTDMgY2FjaGVz LiAgKi8NCj4gPiA+Pj4+PiAtICAgICAgICAgICBzaGFyZWQgKz0gY29yZTsNCj4gPiA+Pj4+PiAr ICAgICAgICAgICBzaGFyZWQgKz0gbGV2ZWwyX2NhY2hlX3NpemU7DQo+ID4gPj4+Pj4gICAgICAg ICAgfQ0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gICAgICAgIHNoYXJlZF9wZXJfdGhyZWFkID0gc2hh cmVkOyBAQCAtMTAyOCwxNiArMTAyNywyNSBAQA0KPiA+ID4+Pj4+IGRsX2luaXRfY2FjaGVpbmZv IChzdHJ1Y3QgY3B1X2ZlYXR1cmVzICpjcHVfZmVhdHVyZXMpDQo+ID4gPj4+Pj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgU0laRV9NQVgpOw0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gICAgdW5z aWduZWQgbG9uZyBpbnQgcmVwX21vdnNiX3N0b3BfdGhyZXNob2xkOw0KPiA+ID4+Pj4+IC0gIC8q IEVSTVMgZmVhdHVyZSBpcyBpbXBsZW1lbnRlZCBmcm9tIEFNRCBaZW4zIGFyY2hpdGVjdHVyZSBh bmQgaXQNCj4gaXMNCj4gPiA+Pj4+PiAtICAgICBwZXJmb3JtaW5nIHBvb3JseSBmb3IgZGF0YSBh Ym92ZSBMMiBjYWNoZSBzaXplLiBIZW5jZWZvcnRoLCBhZGRpbmcNCj4gPiA+Pj4+PiAtICAgICBh biB1cHBlciBib3VuZCB0aHJlc2hvbGQgcGFyYW1ldGVyIHRvIGxpbWl0IHRoZSB1c2FnZSBvZg0K PiBFbmhhbmNlZA0KPiA+ID4+Pj4+IC0gICAgIFJFUCBNT1ZTQiBvcGVyYXRpb25zIGFuZCBzZXR0 aW5nIGl0cyB2YWx1ZSB0byBMMiBjYWNoZSBzaXplLiAgKi8NCj4gPiA+Pj4+PiAtICBpZiAoY3B1 X2ZlYXR1cmVzLT5iYXNpYy5raW5kID09IGFyY2hfa2luZF9hbWQpDQo+ID4gPj4+Pj4gLSAgICBy ZXBfbW92c2Jfc3RvcF90aHJlc2hvbGQgPSBjb3JlOw0KPiA+ID4+Pj4+IC0gIC8qIFNldHRpbmcg dGhlIHVwcGVyIGJvdW5kIG9mIEVSTVMgdG8gdGhlIGNvbXB1dGVkIHZhbHVlIG9mDQo+ID4gPj4+ Pj4gLSAgICAgbm9uLXRlbXBvcmFsIHRocmVzaG9sZCBmb3IgYXJjaGl0ZWN0dXJlcyBvdGhlciB0 aGFuIEFNRC4gICovDQo+ID4gPj4+Pj4gLSAgZWxzZQ0KPiA+ID4+Pj4+IC0gICAgcmVwX21vdnNi X3N0b3BfdGhyZXNob2xkID0gbm9uX3RlbXBvcmFsX3RocmVzaG9sZDsNCj4gPiA+Pj4+PiArICAv KiBJZiB0aGUgdHVuYWJsZSBpcyBzZXQgYW5kIHdpdGggYSB2YWxpZCB2YWx1ZSAobGFyZ2VyIHRo YW4gdGhlIG1pbmltYWwNCj4gPiA+Pj4+PiArICAgICB0aHJlc2hvbGQgdG8gdXNlIEVSTVMpIHVz ZSBpdCBpbnN0ZWFkIG9mIGRlZmF1bHQgdmFsdWVzLg0KPiA+ID4+Pj4+ICsgKi8gIHJlcF9tb3Zz Yl9zdG9wX3RocmVzaG9sZCA9IFRVTkFCTEVfR0VUDQo+ICh4ODZfcmVwX21vdnNiX3N0b3BfdGhy ZXNob2xkLA0KPiA+ID4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxvbmcgaW50LCBOVUxMKTsgIGlmDQo+ID4gPj4+Pj4gKyAoIVRVTkFCTEVfSVNfSU5JVElB TElaRUQgKHg4Nl9yZXBfbW92c2Jfc3RvcF90aHJlc2hvbGQpDQo+ID4gPj4+Pj4gKyAgICAgIHx8 IHJlcF9tb3ZzYl9zdG9wX3RocmVzaG9sZCA8PSByZXBfbW92c2JfdGhyZXNob2xkKQ0KPiA+ID4+ Pj4+ICsgICAgew0KPiA+ID4+Pj4+ICsgICAgICAvKiBGb3IgQU1EIENQVXMgdGhhdCBzdXBwb3J0 IEVSTVMgKFplbjMrKSwgUkVQIE1PVlNCIGlzIGluIGENCj4gbG90IG9mDQo+ID4gPj4+Pj4gKyAg ICAgICAgY2FzZXMgc2xvd2VyIHRoYW4gdGhlIHZlY3Rvcml6ZWQgcGF0aCAoYW5kIGZvciBzb21l IGFsaWdubWVudHMsDQo+ID4gPj4+Pj4gKyAgICAgICAgaXQgaXMgcmVhbGx5IHNsb3csIGNoZWNr IEJaICMzMDk5NCkuICAqLw0KPiA+ID4+Pj4+ICsgICAgICBpZiAoY3B1X2ZlYXR1cmVzLT5iYXNp Yy5raW5kID09IGFyY2hfa2luZF9hbWQpDQo+ID4gPj4+Pj4gKyAgICAgICByZXBfbW92c2Jfc3Rv cF90aHJlc2hvbGQgPSAwOw0KPiA+ID4+Pj4gbm90ZSB0aGF0IGlmIGBzaXplID49IHJlcF9tb3Zz Yl90aHJlc2hvbGQgJiYgc2l6ZSA+PQ0KPiA+ID4+Pj4gcmVwX21vdnNiX3N0b3BfdGhyZXNob2xk YCB3ZSB3aWxsIHVzZSBOVCBzdG9yZXMsIG5vdCB0ZW1wb3JhbCBzdG9yZXMuDQo+ID4gPj4+Pg0K PiA+ID4+Pj4gSWQgdGhpbmsgeW91IHdvdWxkIHdhbnQgdGhpcyB0byBiZSBzZXR0aW5nIHRoZQ0K PiA+ID4+Pj4gYHJlcF9tb3ZzYl90aHJlc2hvbGRgIC0+IGBub25fdGVtcG9yYWxfdGhyZXNob2xk YCB3aGljaCB3b3VsZA0KPiA+ID4+Pj4gZXNzZW50aWFsbHkgZGlzYWJsZSBgcmVwIG1vdnNiYCBi dXQgY29udGludWUgdG8gdXNlIHRoZSBvdGhlcg0KPiA+ID4+Pj4gdHVuYWJsZXMgZm9yIHRlbXBv cmFsL25vbi10ZW1wb3JhbCBkZWNpc2lvbnMuDQo+ID4gPj4+DQo+ID4gPj4+IE15IHVuZGVyc3Rh bmRpbmcgaXMgaXQgd2lsbCBrZWVwIHVzaW5nIG5vbiB0ZW1wb3JhbCBzdG9yZXMsIGZvcg0KPiA+ ID4+PiBpbnN0YW5jZSB3aXRoIGEgc2l6ZSBlcXVhbCB0byAyNTE2NTgyNA0KPiA+ID4+PiAoeDg2 LmNwdV9mZWF0dXJlcy5ub25fdGVtcG9yYWxfdGhyZXNob2xkKQ0KPiA+ID4+PiB0aGUgY29kZSB3 aWxsOg0KPiA+ID4+Pg0KPiA+ID4+PiBzeXNkZXBzL3g4Nl82NC9tdWx0aWFyY2gvbWVtbW92ZS12 ZWMtdW5hbGlnbmVkLWVybXMuUw0KPiA+ID4+Pg0KPiA+ID4+PiAzODQgI2lmIGRlZmluZWQgVVNF X01VTFRJQVJDSCAmJiBJU19JTiAobGliYykNCj4gPiA+Pj4gMzg1IEwobW92c2JfbW9yZV8yeF92 ZWMpOg0KPiA+ID4+PiAzODYgICAgICAgICBjbXAgICAgIF9feDg2X3JlcF9tb3ZzYl90aHJlc2hv bGQoJXJpcCksICVSRFhfTFANCj4gPiA+Pj4gMzg3ICAgICAgICAgamEgICAgICBMKG1vdnNiKQ0K PiA+ID4+Pg0KPiA+ID4+Pg0KPiA+ID4+PiBBbmQgdGhlbjoNCj4gPiA+Pj4NCj4gPiA+Pj4gNjEz ICAgICAgICAgLyogSWYgYWJvdmUgX194ODZfcmVwX21vdnNiX3N0b3BfdGhyZXNob2xkIG1vc3Qg bGlrZWx5IGlzDQo+ID4gPj4+IDYxNCAgICAgICAgICAgIGNhbmRpZGF0ZSBmb3IgTlQgbW92ZXMg YXMgd2VsbC4gICovDQo+ID4gPj4+IDYxNSAgICAgICAgIGNtcCAgICAgX194ODZfcmVwX21vdnNi X3N0b3BfdGhyZXNob2xkKCVyaXApLCAlUkRYX0xQDQo+ID4gPj4+IDYxNiAgICAgICAgIGphZSAg ICAgTChsYXJnZV9tZW1jcHlfMnhfY2hlY2spDQo+ID4gPj4+DQo+ID4gPj4+IEFuZCB0aGVuIHNr aXBwaW5nICdyZXAgbW92c2InIGFsdG9nZXRoZXIuICBBbmQgaXQgd2lsbCBjaGVjaw0KPiA+ID4+ PiB3aGV0aGVyIHRvIHVzZSB0ZW1wb3JhbCBzdG9yZXM6DQo+ID4gPj4+DQo+ID4gPj4+IDY4MyBM KGxhcmdlX21lbWNweV8yeCk6DQo+ID4gPj4+IDY4NCAgICAgICAgIG1vdiAgICAgX194ODZfc2hh cmVkX25vbl90ZW1wb3JhbF90aHJlc2hvbGQoJXJpcCksICVSMTFfTFANCj4gPiA+Pj4gNjg1ICAg ICAgICAgY21wICAgICAlUjExX0xQLCAlUkRYX0xQDQo+ID4gPj4+IDY4NiAgICAgICAgIGpiICAg ICAgTChtb3JlXzh4X3ZlY19jaGVjaykNCj4gPiA+Pj4NCj4gPiA+Pg0KPiA+ID4+IEFoIHlvdSdy ZSByaWdodCwgZm9yZ290IGFib3V0IHRoYXQgY29kZSENCj4gPiA+Pg0KPiA+ID4+DQo+ID4gPj4+ DQo+ID4gPj4+IE1heWJlIG9uZSBvcHRpb25zIHdvdWxkIHRvIHNldCByZXBfbW92c2Jfc3RvcF90 aHJlc2hvbGQgdG8NCj4gPiA+Pj4gcmVwX21vdnNiX3RocmVzaG9sZCwgaXQgc2xpZ2h0IGNsZWFy IHRoYXQgdGhlIHJhbmdlIHRvIHVzZSBFUk1TIGlzIGEgMA0KPiBzaXplIGludGVybmFsLg0KPiA+ ID4+IFNvIG5ldmVyIHVzZSBgcmVwIG1vdnNiYD8NCj4gPiA+PiBJZiB0aGF0IHdoZXJlIHRoZSBj YXNlLCBJIHdvdWxkIGp1c3Qgc2V0IGByZXBfbW92c2JfdGhyZXNob2xkYCB0bw0KPiA+ID4+IGBu b25fdGVtcG9yYWxfdGhyZXNob2xkYCBhcyB0aGUgZGVmYXVsdC4NCj4gPiA+DQo+ID4gPiBJdCB3 b3JrcyBhcyB3ZWxsLCBpdCBpcyBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyBzZXR0aW5nDQo+ID4g PiByZXBfbW92c2JfdGhyZXNob2xkIHRvIHJlcF9tb3ZzYl9zdG9wX3RocmVzaG9sZC4NCj4gPiA+ DQo+ID4NCj4gPiBBbmQgSSB0aGluayBieSBqdXN0IHNldHRpbmcgcmVwX21vdnNiX3RocmVzaG9s ZCwgaXQgbWFrZXMgdGhlDQo+ID4gcmVwX21vdnNiX3N0b3BfdGhyZXNob2xkIHR1bmFibGUgbGVz cyBhcHBlYWxpbmcgKGl0IHdvdWxkIGJlIGEgbWF0dGVyDQo+ID4gdG8gYWRqdXN0IHRoZSBleGlz dGluZyB4ODZfcmVwX21vdnNiX3RocmVzaG9sZCB0dW5hYmxlIHRvIGVuYWJsZSBFUk1TKS4NCkkg YWdyZWUgd2l0aCB5b3UuIExHVE0NCj4NCj4gV291bGQgdGhpbmsgdGhhdCBpcyBhIGdvb2QgdGhp bmc/IExlc3MgY29uZmlncyB0byBqdWdnbGUuDQoNCg==