From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by sourceware.org (Postfix) with ESMTPS id ECD1E3857B9E for ; Tue, 12 Dec 2023 10:45:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org ECD1E3857B9E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org ECD1E3857B9E Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.55.52.43 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702377904; cv=pass; b=BuPMNTjpYYhDdcIf1bvoHBJkXWpXhUAn1WLWYBn43vnf0iB87rBBb0wiopNFFxPW98ZJjcMo6MTk2NXd6LGqp5pH0q3kIFbeMKjd+C/QlZKi7zmiOdAx0ERKeTSDxUXG0nZ+ywIt6Iuhng9ufhic09hL1VtNkAx/R/hM7aXVzPQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1702377904; c=relaxed/simple; bh=klBEQhYkQMJczi5rfonEPmfg9Mxp/Sg/wqt7UvbgHmc=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=DWsfJcbCh4ixpzkZMcyMAEJW8QUhZgn2ok4AprBoRnw86bqrng850JXWnLPQ8dxf3ih81xCIqLR0EobYHhaxOi2TyWkFueQUh+V99tjClIXdMgA2VrIeJfzGJ8FS44wX5SspHExPEv1lXtb+MBWnnSCSTmyuVuJBWVeYtCD7yPI= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702377903; x=1733913903; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=klBEQhYkQMJczi5rfonEPmfg9Mxp/Sg/wqt7UvbgHmc=; b=IgXyeTckfWMKwVcnP/ykxIT+EQ4ZfbogzL8h8wNeje45GYUjvyfYNr4p oZ3OiWWnxgP9v2aXQTogU5rXOLXwvTNInYwAYtTqMJHgl9feHxnvlc/H1 qB4/wnM6cC3yvrUmHzXlkZ/LWhbqpH9ztVtHCAfnWQIOxIhmI7wdCMYhF 0PXS1CdV+V2j1fcyXZKsuFlZ9U7bJZcqaHvguWDKnqEFZ1+lDjNYYEvF8 f/iGzCLF2t6MXG5FxXXhCFUGrtvP7phs9it9Jqac99Qa5NGC9vLTtCRso /7c+lkexpdUxqjizJ1tnnOz0oa6D+abdgKtN5pF80KCOMuLFGFJQ1Yury g==; X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="480983461" X-IronPort-AV: E=Sophos;i="6.04,269,1695711600"; d="scan'208";a="480983461" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Dec 2023 02:45:01 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10921"; a="807714114" X-IronPort-AV: E=Sophos;i="6.04,269,1695711600"; d="scan'208";a="807714114" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Dec 2023 02:45:00 -0800 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 12 Dec 2023 02:44:59 -0800 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Tue, 12 Dec 2023 02:44:59 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 12 Dec 2023 02:44:59 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GIy6ZszkdxI8nWkntLAz/Apn3ppPCSMf40H4Zm+ryNa3vrKDk2FCxG2bnXi/HF5CAiHEoCQkQuzRDKswoeVaLHBSpBwfjI7n9R53CE60X7/UP3NCDw9FPvE3m1Wg4gUqtGpAh8L1iyTWS8vv80Ek7EKDLY9hRqzxOBiB6VFYHd5241z1/y6meQqIULtWz7sY+Q++MW0wrdffITZGzqf5YQr7OjN9Dmum2fkHsIjdUPOM8veg10SjScWYoTTiHPWWhG4ckijJZNRwO1e/gLuw0Whhr+XIDC32zwfmHG3/3FqJdlr3ojuEsUljJE1i/k2mwwwDQaJ0D+8H+DNPlaWBoA== 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=klBEQhYkQMJczi5rfonEPmfg9Mxp/Sg/wqt7UvbgHmc=; b=N4GOJqD9747iV1T6/sy/lk0LPHP3k9gDgKah1pnQqd/yfJffO6izoHvNknqMeGH7vsOdwy0ff8Lsqir7REuVSOYi3YINwEDQexG0EFAeNXQL6jXiH4TBWmDsvsoLAE8qoEsdzAsL6Agt2YVevOJgLz2xa4H29J1q5JiaQU5g8CQBUt6VIyiEPpm/MzgGSV+W4LFUruDVyQwQG3/Cu2XAW1dXksn1OdQdZj+6VAtKlMmH6mhX/sDM2wKz0cvGL/Ryf6PWyR1YAU+6LDxvDm50qpuIHBNj0FEJXTzTbrOn4qjbn5rK1BPl2heB/+CaVeO3bzSCHbr4CsvVaU8TANQCVA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5600.namprd11.prod.outlook.com (2603:10b6:a03:3ab::16) by LV3PR11MB8505.namprd11.prod.outlook.com (2603:10b6:408:1b7::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.33; Tue, 12 Dec 2023 10:44:55 +0000 Received: from SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549]) by SJ0PR11MB5600.namprd11.prod.outlook.com ([fe80::f925:7c4b:8747:4549%3]) with mapi id 15.20.7091.022; Tue, 12 Dec 2023 10:44:55 +0000 From: "Cui, Lili" To: "Beulich, Jan" CC: "Lu, Hongjiu" , "binutils@sourceware.org" Subject: RE: [PATCH v3 4/9] Support APX GPR32 with extend evex prefix Thread-Topic: [PATCH v3 4/9] Support APX GPR32 with extend evex prefix Thread-Index: AQHaHqSBoOJdrIV6akyqA3/eSh9S+7Cd12QAgAEdKVCABOfkAIABrRPw Date: Tue, 12 Dec 2023 10:44:54 +0000 Message-ID: References: <20231124070213.3886483-1-lili.cui@intel.com> <20231124070213.3886483-4-lili.cui@intel.com> <546c8890-0526-49a3-8310-319358bf55c2@suse.com> <0bb5fbcd-f58e-48ad-a5ee-3413b026f903@suse.com> In-Reply-To: <0bb5fbcd-f58e-48ad-a5ee-3413b026f903@suse.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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5600:EE_|LV3PR11MB8505:EE_ x-ms-office365-filtering-correlation-id: 03f474b8-2e63-4558-e7dc-08dbfaff60bf x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ED9c/Bl9HKGuwwObkOCxwew3QSPWLIgo14OAF+AONOV3Ql9X0VrPAO3JrvdEEPEjOjeHb7HUUu15vvv/SYDAu7qWhfYA2uHMG0MnBXozxJK8Ano5KUiVQzCZVgSXkI+R06q1MekM2NG7olu50+c4uPCmISp02c4jGdFvoTYXwfNeLWpkL+4KiHibg4xlP3XylIMjRrrgOEbGOhbateZKRbKk8IgFVEkvGwT3xvQ1A1XJZ83NqIzbheoaWtFJMs+uEZkMG5skCtaS8+pZDZCgu7PW2BU2gEcLO7ooH/moItvkOpriB/GD4T2eTqflvGNjHzNOZ6a7QLIIe4BXWSes4Y8L2pbnfQtclPZFhyPzovR1hzdXiFgTYD8OU7zvv89tfUPO0lj0142+Ua8xmYopaDWU8Zp43xitCnKNy24+VED9MQShizGWzIf5grGBNg/H/W4J0UvDMKhb5HqVzHJombAxuwLpVlNtrleO6tY5QGAgEHEtWhUi5nj71+d5OKL3l4go3tDmrHu6148vnjcupsW5NbsjBltGKgx4P9pmLJaHSpdxfrVSI5yJ6OT+dwT7cQNLWNwzbMAtNlz+Jz/esPxqPlpNcurqc4ElMJOhtpmqiEGa2gQNcsTCmNieWNnC x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5600.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(396003)(376002)(366004)(136003)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(38100700002)(122000001)(41300700001)(83380400001)(71200400001)(26005)(55016003)(86362001)(33656002)(38070700009)(82960400001)(7696005)(6506007)(9686003)(478600001)(316002)(6916009)(76116006)(54906003)(66946007)(66556008)(66476007)(66446008)(64756008)(52536014)(8936002)(8676002)(4326008)(5660300002)(2906002)(53546011);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aHorb0VlYzJOT2grTXVrY0RSWkU1eXlocldobHdiQS9ZUzZLYmdnaytHV3Zv?= =?utf-8?B?NmJ0Y24wY2QrbXloVDJRNnM1aE9UUkRnNVlDL3VURzRhc2ZPTWxqTkJWalVN?= =?utf-8?B?UXhlbWdObExyR05GZ0lOZHpWWFhFVFg0TVhWNUFOTjFOcU1PK2ZYQW4yZEM2?= =?utf-8?B?TVBURjJlTURzZzNacXl5dEUrY2JZVWNNNS9Zc1ZJUGxZUFQ5Y0ZQQlJ4ekcw?= =?utf-8?B?RUg5ME9JMDhKOHZsaTdmV0dPVTZIVUV6ZjBVaEJXbmExZUEyMkQzWFpVNjVo?= =?utf-8?B?SytzM1RIejN6ZFlLYU9sSXNtWUdUSnBRN3hteHBpRjltUkNmbEpjY0tLRjUy?= =?utf-8?B?NFNYVkxBRDhjaXkvM21qQS9nMTM4aHQ0MEhMbUZUaDYxRURxUlV2ZU5zak9U?= =?utf-8?B?cHBZMHBnZVhtRTVrV2hkY3RYbW9tTXE4SzZCWXc5U1RkcWhhdW5mc0Zxd2Rh?= =?utf-8?B?bGJKS2tUeDRrZ0VrWEl1OE1TYnFhVFFEOXJlOENCK3pXd2c3WVpHZUZNZGp0?= =?utf-8?B?M2FjVVY3Q0c1ZzNiMm5RWGU0QVV6eFBieVZFcmthTnZuMmhJdS82ajlscm5B?= =?utf-8?B?NzU2SFhmQlR3K1hvelA5cVpybmJhdVFFd3QxeXE1UllJcE4vU091N0tSV2s2?= =?utf-8?B?OHJka0JtSFZRYmNCV1hRQVBCRE9yME90Y3ZmRzdHYi9HUlVMSHZLemhDMHZJ?= =?utf-8?B?cWl5UGMxVjhJMzhtTTlsN1IzbXMwdEZVTjRVbFJra1JyaU1wTHVlVmxyNHhZ?= =?utf-8?B?MnFPcU42NjlTV0dxL1Zza2dKNDV1eTRtcXdWTU5ZRWN3NmFQRS9MSVJKTjk5?= =?utf-8?B?SjBldnhzcXhjQ1VYQXIzQWx4VThjd01RWDVxa0hTZ1JwOTNoOGk0Snh6dHZa?= =?utf-8?B?aXVGNFd0azlrQkd6RFFsbG42bWkwdURTT2wxdlkxSklVWU1vVWZrSTNGODdv?= =?utf-8?B?dGRRNHVxWWZIYmxaR2F3a1BEL0FzWFV3QWRWd2grbzQwYUEyUGtMNUFxYi9I?= =?utf-8?B?WDkwRlA2cnNKQWxTMmxERytTbVBuY0JaVzRxNTV1YTJydzJML1l0dERhb01u?= =?utf-8?B?ejljc05wZE9nWURIRnJ1L1NIeHhXR01RbDNGengraG45LzNCNVo2UytYWVc3?= =?utf-8?B?S2xRdWQxQzBna3gwc21nUXRzQzZnSzdLZWFUaCtISFdoZzZwSVM1bHNsR1F1?= =?utf-8?B?UHRkdWtScS9rQUhORHg3ODd3SEttVGhUdE9tUFl0MFBuU29WV2doR0tIY3lk?= =?utf-8?B?VDltcWRVbFFFeHhtWjZ0bTJ2bEM1NWM5WkxBekY5SHV3VHY2bkZhbytTcUw4?= =?utf-8?B?MzBPQm0vNjhCa212NDVTVnMyeGczMzVzRWwxZFo4SS94NzhBQytUSWp3MDI3?= =?utf-8?B?Y05ybG9sSHowcElRSkdpL3gwRmpPbWpTeWE3Z0VWZUJYVmxmYjcrc0grWFhL?= =?utf-8?B?U1ZUemE2SjJUd1F4Zm1HMUtodktWdEF5TURYZXA4SzAxWTNHRmdWdTdSZGxy?= =?utf-8?B?UXdoa0hUVnNHREtpTSsxMHRkczRQOUVGNGhjVUdVQlRUL2s4b1BVVVU0T3Ra?= =?utf-8?B?K0dWNWZac3ZqcnozdVpDY1VkRnRqemxtRDBkdEpFVldPdEdjcFVNNTZjVVpT?= =?utf-8?B?OGxZMm93QjRxSVBXejRSZU9wL3F6Z01KZXJ6NGJwOHRmcXlpWmlTZUN0ZDFO?= =?utf-8?B?Y05XWUpWTnRFZlNwVlZRd0RyTkFCa0xzMUp2blE2TXE3cU40a3k5djVESjlh?= =?utf-8?B?dG8rTUVZUUIrYlpWRGpuWSsrWVYzYXhpRXBkbjdOZXdnYVkyeE1NaTN1RFlN?= =?utf-8?B?M3NUckZpSzdUckduV2NoZUpuL0lsVzRlNGlsLzkyVFEzNDVRTTVsUUFyd09M?= =?utf-8?B?ZGZTb284R29FbWxvTy83VmZxQXdYYk1LN0xqNy9zTDYxMElKVlovaGZLNldr?= =?utf-8?B?cHhCTXRNU0xHTTZpc0drMDdnREo2VGVHRDdLMjlSeTJkWlZRMHFGWWU0Vlkz?= =?utf-8?B?MEhlRnc1djQ5dWRiVmgwM3VJdmV2eDh0KzVDM0UwZHo3bHo4U1N2QzhRMENO?= =?utf-8?B?TFZHM0FlcEpUSlpwaVozL3BtZHpjem1TNHg4UjlURVl3a1gxTW1YUlh4YUVo?= =?utf-8?Q?DiGT47J+Z4kh6YqsN1F4qK1Xi?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5600.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 03f474b8-2e63-4558-e7dc-08dbfaff60bf X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2023 10:44:54.9233 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bx2CRLHly4sRUZvYlMGMEUw2vMn2bqMHtgc4MrtsE2HLsPMRcRGHyxezCtkEM8haqcuq9rSfmbyPTaXx5XlLng== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR11MB8505 X-OriginatorOrg: intel.com 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,KAM_ASCII_DIVIDERS,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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: PiA+PiBPbiAyNC4xMS4yMDIzIDA4OjAyLCBDdWksIExpbGkgd3JvdGU6DQo+ID4+PiBAQCAtMzY3 MCwxMCArMzY3MywxMSBAQCBpbnN0YWxsX3RlbXBsYXRlIChjb25zdCBpbnNuX3RlbXBsYXRlICp0 KQ0KPiA+Pj4NCj4gPj4+ICAgIC8qIER1YWwgVkVYL0VWRVggdGVtcGxhdGVzIG5lZWQgc3RyaXBw aW5nIG9uZSBvZiB0aGUgcG9zc2libGUNCj4gdmFyaWFudHMuICAqLw0KPiA+Pj4gICAgaWYgKHQt Pm9wY29kZV9tb2RpZmllci52ZXggJiYgdC0+b3Bjb2RlX21vZGlmaWVyLmV2ZXgpDQo+ID4+PiAt ICB7DQo+ID4+PiAtICAgICAgaWYgKChtYXliZV9jcHUgKHQsIENwdUFWWCkgfHwgbWF5YmVfY3B1 ICh0LCBDcHVBVlgyKQ0KPiA+Pj4gLQkgICB8fCBtYXliZV9jcHUgKHQsIENwdUZNQSkpDQo+ID4+ PiAtCSAgJiYgKG1heWJlX2NwdSAodCwgQ3B1QVZYNTEyRikgfHwgbWF5YmVfY3B1ICh0LCBDcHVB Vlg1MTJWTCkpKQ0KPiA+Pj4gKyAgICB7DQo+ID4+PiArICAgICAgaWYgKEFWWDUxMkYoQ3B1QVZY KSB8fCBBVlg1MTJGKENwdUFWWDIpIHx8IEFWWDUxMkYoQ3B1Rk1BKQ0KPiA+Pj4gKwkgIHx8IEFW WDUxMlZMKENwdUFWWCkgfHwgQVZYNTEyVkwoQ3B1QVZYMikgfHwNCj4gPj4gQVBYX0YoQ3B1Q01Q Q0NYQUREKQ0KPiA+Pj4gKwkgIHx8IEFQWF9GKENwdUFNWF9USUxFKSB8fCBBUFhfRihDcHVBVlg1 MTJGKSB8fA0KPiA+PiBBUFhfRihDcHVBVlg1MTJEUSkNCj4gPj4+ICsJICB8fCBBUFhfRihDcHVB Vlg1MTJCVykgfHwgQVBYX0YoQ3B1Qk1JKSB8fCBBUFhfRihDcHVCTUkyKSkNCj4gPj4+ICAJew0K PiA+Pj4gIAkgIGlmIChuZWVkX2V2ZXhfZW5jb2RpbmcgKCkpDQo+ID4+DQo+ID4+IFRoZXJlIGFy ZSBzZXZlcmFsIGlzc3VlcyBoZXJlOg0KPiA+PiAtIFdoeSBkaWQgeW91IG5lZWQgdG8gY2hhbmdl ICh0byB0aGUgd29yc2UpIHRoZSBvcmlnaW5hbCBjb2RlPw0KPiA+PiAtIFdoeSBkaWQgeW91IG5v dCBtb2RlbCB0aGUgYWRkaXRpb24gYWZ0ZXIgdGhhdCBvcmlnaW5hbCBjb2RlPw0KPiA+PiAtIEhv dyBjb21lIEFQWF9GIChDcHVBVlg1MTIqKSBjb25zdHJ1Y3RzIGFwcGVhciBoZXJlLCB3aGVuIG5v DQo+IEFWWDUxMg0KPiA+PiBpbnNuIGNhbiBiZSBWRVgtZW5jb2RlZD8NCj4gPg0KPiA+ICBJIGRv bid0IHVuZGVyc3RhbmQgd2hhdCB5b3UgbWVhbiwgd2UgaGF2ZSB0aGlzIGNvbWJpbmF0aW9uLg0K PiA+DQo+ID4ga21vdjxkcT4sIDB4PGRxOmtwZng+OTAsIEFWWDUxMkJXJihBVlg1MTJCV3xBUFhf RiksDQo+ID4gTW9kcm18VmV4MTI4fEVWZXgxMjh8U3BhY2UwRnxWZXhXMXw8ZHE6a3Zzej58Tm9T dWYsIHsNCj4gPiBSZWdNYXNrfDxkcTplbGVtPnxVbnNwZWNpZmllZHxCYXNlSW5kZXgsIFJlZ01h c2sgfQ0KPiANCj4gT2gsIEknbSBzb3JyeTogSSBmb3Jnb3QgYWJvdXQgdGhlIG1hc2sgcmVnaXN0 ZXIgaW5zbnMuDQo+IA0KPiA+PiAtIElmIHRoZXNlIG5ldyBtYWNyb3MgYXJlIHJlYWxseSBuZWVk ZWQgZm9yIHdoYXRldmVyIHJlYXNvbiwgdGhleQ0KPiBzaG91bGRuJ3QNCj4gPj4gICBiZSBhZGRl ZCB0byBvcGNvZGVzL2kzODYtb3BjLmggd2hlbiB0aGV5J3JlIHVzZWZ1bCBvbmx5IGluIHRoZQ0K PiBhc3NlbWJsZXIuDQo+ID4+IC0gU3R5bGUgcmVxdWlyZXMgYSBibGFuayBiZWZvcmUgdGhlIG9w ZW5pbmcgcGFyZW50aGVzaXMgaW4gZnVuY3Rpb24NCj4gPj4gICBpbnZvY2F0aW9ucyAod2hpY2gg YWxzbyBjb3ZlcnMgZnVuY3Rpb24tbGlrZSBtYWNybyBpbnZvY2F0aW9ucykuDQo+ID4+DQo+ID4+ IEkgdGhpbmsgSSBhc2tlZCBiZWZvcmU6IEhvdyBpcyBpdCB0aGF0IHlvdSBnZXQgYXdheSB3aXRo b3V0IGFsdGVyaW5nDQo+ID4+IGNwdV9mbGFnc19tYXRjaCgpLCBjb250YWluaW5nIHJlbGF0ZWQg YW5kIHF1aXRlIHNpbWlsYXIgbG9naWM/DQo+ID4+DQo+ID4NCj4gPiBGb3IgdGhlIG9yaWdpbmFs IGxvZ2ljICggLi4uIHx8IC4uLiApICYmICggLi4uIHx8IC4uLiksIHRoZSBjb250ZW50IGluIHRo ZSBmaXJzdCBicmFja2V0DQo+IGFuZCB0aGUgY29udGVudCBpbiB0aGUgZm9sbG93aW5nIGJyYWNr ZXRzIGNhbiBiZSBjb21iaW5lZCBhcmJpdHJhcmlseS4gSSB0aGluaw0KPiBpdCBpcyBJbmFjY3Vy YXRlLg0KPiANCj4gSW4gd2hpY2ggd2F5PyBJZiB0aGVyZSBhcmUgaXNzdWVzIHdpdGggdGhlIGV4 aXN0aW5nIGNvZGUsIHRoZXNlIGlzc3VlcyB3YW50DQo+IHRha2luZyBjYXJlIG9mIGluIHNlcGFy YXRlIChwcmVyZXEpIHBhdGNoZXMuIE9mIGNvdXJzZSB0aGVyZSBhcmUgYXNzdW1wdGlvbnMNCj4g bWFkZSBoZXJlIGFib3V0IHRoZSBDUFUgY29tYmluYXRpb25zIHRoYXQgY2FuIChhbmQgY2Fubm90 KSBvY2N1ciBpbiBhbnkgb2YNCj4gb3VyIHRlbXBsYXRlcy4gU2ltaWxhciBhc3N1bXB0aW9ucyBh cmUgaW1vIGZpbmUgdG8gbWFrZSBpbiB0aGUgQVBYIGFkZGl0aW9ucy4NCj4gDQo+IE5vdGUgaG93 IEkgdXNlZCB0d28gbmVzdGVkIGlmKClzIGRlc3BpdGUgdGhhdCBub3QgaGF2aW5nIGJlZW4gbmVj ZXNzYXJ5IGF0DQo+IHRoYXQgdGltZS4gSSBkaWQgc28gaW4gYW50aWNpcGF0aW9uIHRoYXQgZm9y IEFQWCB5b3UnZCB3YW50IHRvIGFkZCBhbm90aGVyDQo+IChzZXBhcmF0ZSkgaW5uZXIgaWYoKSwg cmF0aGVyIHRoYW4gYWx0ZXJpbmcgdGhlIG9uZSB0aGF0J3MgdGhlcmUuDQo+IA0KSGkgSmFuLCAN Cg0KQ291bGQgd2UgcmVtb3ZlIHRoZSBDUFUgY2hlY2sgaGVyZT8gaXQncyBhIGJpdCB1Z2x5IGFu ZCBoYXMgbGltaXRlZCBlZmZlY3RpdmVuZXNzLg0KDQogIGlmICh0LT5vcGNvZGVfbW9kaWZpZXIu dmV4ICYmIHQtPm9wY29kZV9tb2RpZmllci5ldmV4KQ0KICAgIHsNCiAgICAgIGlmIChBVlg1MTJG KENwdUFWWCkgfHwgQVZYNTEyRihDcHVBVlgyKSB8fCBBVlg1MTJGKENwdUZNQSkNCiAgICAgICAg ICB8fCBBVlg1MTJWTChDcHVBVlgpIHx8IEFWWDUxMlZMKENwdUFWWDIpIHx8IEFQWF9GKENwdUNN UENDWEFERCkNCiAgICAgICAgICB8fCBBUFhfRihDcHVBTVhfVElMRSkgfHwgQVBYX0YoQ3B1QVZY NTEyRikgfHwgQVBYX0YoQ3B1QVZYNTEyRFEpDQogICAgICAgICAgfHwgQVBYX0YoQ3B1QVZYNTEy QlcpIHx8IEFQWF9GKENwdUJNSSkgfHwgQVBYX0YoQ3B1Qk1JMikpDQoNCg0KPiA+IFNvIEkgZ2l2 ZSBleGFtcGxlcyBvbmUgYnkgb25lIGZvciBlYWNoIGlkZW50aWZpZWQgY29tYmluYXRpb24uDQo+ IA0KPiBXaGljaCBleGFtcGxlcyBhcmUgeW91IHRhbGtpbmcgYWJvdXQ/IEkgc2VlIG5vbmUgZ2l2 ZW4gaW4geW91ciByZXBseS4NCj4gDQoNClNvcnJ5LCBJIHdhbnQgdG8gc2F5ICJJJ3ZlIGxpc3Rl ZCBldmVyeSBwb3NzaWJsZSBjb21iaW5hdGlvbiIuDQoNCj4gPiBKdXN0IGZvdW5kIGNwdV9mbGFn c19tYXRjaCgpIGhhcyBzaW1pbGFyIGxvZ2ljLCBJIHRoaW5rIHRoZSBmb2xsb3dpbmcgaXMgdGhl DQo+IG9ubHkgY29kZSByZWxhdGVkIHRvIENQVUlEIGFsZXJ0cywgYnV0IG5vbmUgb2Ygb3VyIGNv bWJpbmF0aW9ucyBhcmUgcmVsYXRlZA0KPiB0byBjcHVhdnguDQo+ID4NCj4gPiAgICAgICAgICAg aWYgKGFsbC5iaXRmaWVsZC5jcHVhdngpDQo+ID4gICAgICAgICAgICAgew0KPiA+ICAgICAgICAg ICAgICAgLyogV2UgbmVlZCB0byBjaGVjayBTU0UyQVZYIHdpdGggQVZYLiAgKi8NCj4gPiAgICAg ICAgICAgICAgIGlmICghdC0+b3Bjb2RlX21vZGlmaWVyLnNzZTJhdngNCj4gPiAgICAgICAgICAg ICAgICAgICB8fCAoc3NlMmF2eCAmJiAhaS5wcmVmaXhbREFUQV9QUkVGSVhdKSkNCj4gPiAgICAg ICAgICAgICAgICAgbWF0Y2ggfD0gQ1BVX0ZMQUdTX0FSQ0hfTUFUQ0g7DQo+ID4gICAgICAgICAg ICAgfQ0KPiANCj4gTm90IHN1cmUgd2h5IHlvdSBwaWNrIG91dCB0aGlzIG9uZS4gVGhpcyBzcGVj aWFsIGNhc2UgaXMgbmVlZGVkIGZvciBzc2UyYXZ4OyBJDQo+IGRvbid0IHNlZSBob3cgaXQncyBy ZWxhdGVkIGhlcmUuIFdoYXQgSSd2ZSBiZWVuIHBvaW50aW5nIHlvdSBhdCBpcyB0aGUgY29kZSBp bg0KPiB0aGF0IGZ1bmN0aW9uIHdoaWNoIGZvbGxvd3MgYSBzaW1pbGFyICJEdWFsIFZFWC9FVkVY IHRlbXBsYXRlcyAuLi4iDQo+IGNvbW1lbnQuDQo+IA0KDQpJIGtub3cgeW91J3JlIHRhbGtpbmcg YWJvdXQgdGhpcyBjb2RlLCBJJ20ganVzdCBndWVzc2luZyB3aGF0IGl0IGRvZXM/IERvbid0IGtu b3cgd2hhdCBJIG1pc3NlZC4NCg0KRm9yIGV4YW1wbGUgDQoNCi5hcmNoIC5ub2JtaQ0KYW5kbiAg ICAoJWVheCksICVlYXgsICVlYXgNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQogIGlmIChmbGFnX2NvZGUgIT0gQ09ERV82NEJJVCkNCiAgICBhY3RpdmUgPSBjcHVfZmxh Z3NfYW5kX25vdCAoY3B1X2FyY2hfZmxhZ3MsIGNwdV82NF9mbGFncyk7DQogIGVsc2UNCiAgICBh Y3RpdmUgPSBjcHVfYXJjaF9mbGFnczsgICAgICAgICAgICAgICAgICAgLS0tPiBjcHVibWkgPSAw Ow0KICBjcHUgPSBjcHVfZmxhZ3NfYW5kIChhbGwsIGFjdGl2ZSk7ICAgICAgLS0tPiBjcHVhcHgg PTE7IGNwdWJtaSA9IDA7DQogIGlmIChjcHVfZmxhZ3NfZXF1YWwgKCZjcHUsICZhbGwpKSAgICAg ICAtLS0+ICZjcHUgYW5kICZhbGwgYXJlIG5vdCBzYW1lLg0KICAgIHsNCiAgICAuLi4NCiAgICB9 ICAgIA0KUmV0dXJuICBDUFVfRkxBR1NfNjRCSVRfTUFUQ0gNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRoZW4gd2Ugd2lsbCByZXBvcnQgYW4gYXJjaCBlcnJvci4NCg0K ICAgICAgICAgIGlmIChzdXBwb3J0ZWQgIT0gQ1BVX0ZMQUdTX1BFUkZFQ1RfTUFUQ0gpDQogICAg ICAgICAgICB7DQogICAgICAgICAgICAgIGFzX2JhZCAoXygiYCVzJyBpcyBub3Qgc3VwcG9ydGVk IG9uIGAlcyVzJyIpLA0KICAgICAgICAgICAgICAgICAgICAgIGluc25fbmFtZSAoY3VycmVudF90 ZW1wbGF0ZXMuc3RhcnQpLA0KICAgICAgICAgICAgICAgICAgICAgIGNwdV9hcmNoX25hbWUgPyBj cHVfYXJjaF9uYW1lIDogZGVmYXVsdF9hcmNoLA0KICAgICAgICAgICAgICAgICAgICAgIGNwdV9z dWJfYXJjaF9uYW1lID8gY3B1X3N1Yl9hcmNoX25hbWUgOiAiIik7DQogICAgICAgICAgICAgIHJl dHVybiBOVUxMOw0KICAgICAgICAgICAgfQ0KDQpUaGFua3MsDQpMaWxpLg0K