From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web10.31089.1688954400110559876 for ; Sun, 09 Jul 2023 19:00:00 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=NPW2duxc; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: yuwei.chen@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1688954400; x=1720490400; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=3APrx7HzZprOr9BFmcNKHZUSKu6qbIUE11+klnC4BM0=; b=NPW2duxcvPn3OMy5hXmxfNolBVRbj0HYXA2MSJoeSJDazWtG1Zg9L6tR I/0sqsT41s18uA+c0NZF0tKXTMtCqQklQ3rW206FWvRyiZflwduW1LXza ntDVw6Ce9AA61Qnjs84xqqKzFD91XYNgj4FNJdguzC2Bk6yyRgsYiwCLD /PRr4eifPCklR35RQYOSsacTclMcC/xvyHkt1tsFNURPZ1kq+nscsd2nl Xj5e2Pfdv2WojRL/MMaSAfqI7aOXYBLocdadt9YPGVvCKB8UEzwIa8Rz4 nDwrWpQF4vrFZmbke8KO7UekVQgUGvnrr8+UuSejsSmcgmxbtH2Lpck0D A==; X-IronPort-AV: E=McAfee;i="6600,9927,10766"; a="427928632" X-IronPort-AV: E=Sophos;i="6.01,193,1684825200"; d="scan'208";a="427928632" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jul 2023 18:59:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10766"; a="810662744" X-IronPort-AV: E=Sophos;i="6.01,193,1684825200"; d="scan'208";a="810662744" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by FMSMGA003.fm.intel.com with ESMTP; 09 Jul 2023 18:59:59 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Sun, 9 Jul 2023 18:59:58 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Sun, 9 Jul 2023 18:59:58 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Sun, 9 Jul 2023 18:59:58 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.173) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Sun, 9 Jul 2023 18:59:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YlLH90FybN9xUd/S2fiVyG1/hARIQDWz9I2a/VtRP3MfE/Lfq7f3n5Bz1qs9I0VRsVaa/B0qy1yUTiZXnYnpdnfKdUFJaYD9Zb4QMY6r+lXlwfoDaXT2tKKTD8CbSqtMsAQ5KmvnDYyCLMZZnuh0U27QhEbJ54KcwJ0ax+gPLP1czmHadOhBYZiTx03ux7quoDspSBGfcRaRum6KA/xGS8F9YPfWsXD+VyMS0gQNvoloD35YofVHkh/RXW8aX7/ymWRNDPDRZCqGj0cm19YFFOVeLER21eqTnqRX7/Nj12GGZXuvvWaLX25i8aRWaog0xoWwN57nI20AAU7YvKy7aQ== 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=3APrx7HzZprOr9BFmcNKHZUSKu6qbIUE11+klnC4BM0=; b=n8Cbcl370thy96XDHe1G5EA2OHHfseMVJnYIWQQLToq49BZuf+xvyGzElma6nEP9aImCeVVeCyDXR5uKaV/LNrlILOl2ZE2+xNT6FyqUfS73g+GgylsQY89z6XzE2jpwtBFpo1ZR/Cern5D6MB3x3UOO5u64guC+q/rWJFpoOZBbc+8+c/UgWVJp0gVXFASsYQ2xULF87HHmyDg+Go+8TbHBUJY/U99FTCXTi8H4Y2zV5WKV1q6FBMTOPBKd+Kv7rkSMXSc2T2aVyWN/0Uo/8yPycF/FNx+y3I0eva/KhqY8D1NeE9NxVfY8QeWvMlrbXNy+d0LXAyrIUj6n60jyqA== 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 MW5PR11MB5906.namprd11.prod.outlook.com (2603:10b6:303:1a0::21) by PH0PR11MB5159.namprd11.prod.outlook.com (2603:10b6:510:3c::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Mon, 10 Jul 2023 01:59:55 +0000 Received: from MW5PR11MB5906.namprd11.prod.outlook.com ([fe80::25f5:e54f:7c07:9982]) by MW5PR11MB5906.namprd11.prod.outlook.com ([fe80::25f5:e54f:7c07:9982%4]) with mapi id 15.20.6565.026; Mon, 10 Jul 2023 01:59:55 +0000 From: "Yuwei Chen" To: "Gao, Liming" , "devel@edk2.groups.io" CC: 'Rebecca Cran' , "Feng, Bob C" , "Chan, Amy" , "Huang, Yanbo" Subject: Re: [edk2-devel] [Patch V3] [edk2-staging] BaseTools/FMMT: C FMMT match new version machine defines Thread-Topic: [edk2-devel] [Patch V3] [edk2-staging] BaseTools/FMMT: C FMMT match new version machine defines Thread-Index: AQHTEhfsxaJBEAPTqnMe0B1G6wLfHK+rWPZQgAsZyvCACQsTgIAAAk2g Date: Mon, 10 Jul 2023 01:59:55 +0000 Message-ID: References: <20230627025330.1579-1-yuwei.chen@intel.com> <017d01d9a8be$996c8960$cc459c20$@byosoft.com.cn> <009201d9b2d1$023b4cd0$06b1e670$@byosoft.com.cn> In-Reply-To: <009201d9b2d1$023b4cd0$06b1e670$@byosoft.com.cn> Accept-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: MW5PR11MB5906:EE_|PH0PR11MB5159:EE_ x-ms-office365-filtering-correlation-id: c9eedadb-a24b-40e3-0efa-08db80e95ba5 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: 9COVRmfl5EpjEq3/CKRK8O/O+6A2Hig/snwlmVmwmIIWF/c/M3MnXmN0u5ZGyZxRtxiTxX+6dRMICoRBwhdGTaEJid+CZfPYBvdpFQwkXdNItCKMbK+EVbU/AmpYLz6qG2Ib+7O/qEr1zVPkn+xzu0zu7trWachF0sHAhdLVNPmrbEmJiQcHkjb+8HGDM7RjG9iFxAeac/h/F1MN9TsY8ql69CuwaLf+l0bldm9VI9yrUNe0EhasPlHb6ipz5+niP5Y/MvGxktaQm62L4XTOyn6jcq+zVGuVdj4x/4EqmlF2m3Wrw0CRn1r5C4NrOOKKyoDflfAt/3bsu8ispzOAGEM74b9yyoJEf7d8rm87uLKtN7A2ZdHZ5PoossaofhGvM1NuBYYeIBgeAZs+x35iclvePmVY/d12+8OIrZQEKiaHwdnaPo6hQExuEiSRB9KmRa1SHPl/1BF3Fo7zt9vTuHAxzTD31ndiSJoG/244SdaokEz6CK/PjZl69q4qjeD2KGTuKSUanqRtAeMXNZpa9TpE89TG8p5QmshOAd0BPWgMoL/5Z1a3dZGQ89NC8D8hmrUQJ831nAm3NTm6ZwS14+mxAPHmBA7xMIDcQsqxLq6ek9UZeeiM2X9NWu78vSGDc6hvxUXohduiUuCUzcDWjg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5906.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(376002)(346002)(136003)(84040400005)(451199021)(186003)(26005)(6506007)(53546011)(966005)(9686003)(107886003)(83380400001)(41300700001)(4326008)(64756008)(66446008)(2906002)(66556008)(316002)(52536014)(5660300002)(8676002)(8936002)(66476007)(66946007)(478600001)(7696005)(71200400001)(76116006)(110136005)(54906003)(55016003)(33656002)(122000001)(82960400001)(86362001)(38100700002)(38070700005)(66899021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WHR6SFFzbkx0Y1duSjlaMmtXNis4VGE5UUdsOUNLRTZlZmF1YmZFblZEbXRt?= =?utf-8?B?Y2s3YTdIV3RtR2preStPZ081TUVOSEFoTy94L0tsVkFxbUhkMStkMUNnNW1U?= =?utf-8?B?VHJsYlN3U01HUGVxMGpPcmprRDRJTWxRZnN6cml0KzU3TlVpOFJIUlBQVVNa?= =?utf-8?B?c0UwL284L0ZYR1MxdGw0dUt0Qmh0OVFLVmtyODFHSEJORUVqcjl0Vkhnb2ho?= =?utf-8?B?MlpCK2RXTDJPK3pvMFY2S3dDWk9CSmVpU3U4enk5c0gzRGlrWkNrR2dtcXYz?= =?utf-8?B?bU9EQTR1S2F3QTIzSFFjTEkvMWFhU0R6UkpOVUs4UHJyUGlRS2FDdk9Kci9J?= =?utf-8?B?MnJSRCt1bmJEdWlrcDFuZVZvYncxVEVuMjRzNDlFclpzQjJuVDhGT0RnTUdF?= =?utf-8?B?S1BiK1ZUK095SWtjWHZNZzBSMytvZFhJQVRxbkU3RWxxdDE3eVM5TmpRdXY5?= =?utf-8?B?UWFzSVJROXcxNVc0R0Y0YmttNys3VUhXZUZwQndYWmJTbnV0SjFTRlZSdzhM?= =?utf-8?B?WDFodFJGNTR3YXZSSXdrSEdSUWdHcUs2KzBvWW5PaWsycjVCUVlKK0xrR0dT?= =?utf-8?B?L2RwQWJHNGtkNXVBc2w5aWNaeWZxaHlrQittTnM3cU5Uem84LzJnRFpjSWcw?= =?utf-8?B?TmdITTJ0OHFhYnRVOWpFU2k2bjdzRGxHUmdYQjVSTGU0c2kxb1VWZjlqME5x?= =?utf-8?B?M1BpbWJxYTBHcDRqellQM1ppdkUrbE1NMmVKMHhIV0t0TnlRenhaL0RsenJ1?= =?utf-8?B?c0tWYUFVeXV5MmdWT2pZMmpZLzIxb20xVWwxa3pKSE1GVzBjSXJESy9DV01x?= =?utf-8?B?OVZrelFvclQxbVVaZmdTT3FiRHRYZkF3ZzB4OTczYkFyOVBJaFNVM1dLMlZa?= =?utf-8?B?Rk1qWlUwM1RjNXBrbWlaSHZqalc3Vkw1RHN4TWgrWWQxY25Nc09MWUJ5YUdm?= =?utf-8?B?amZ1WGxjL29lc294UUtnNjVzMnF3OEh5YWZJNHlsNkVpTjZ1ZHVESWVCWE1Y?= =?utf-8?B?ZUh5aEFkQ2dMVzloY0R3blZ2YWNNSVBQK2g1aTRXRmYzNU8xcEgyRlNYQXpk?= =?utf-8?B?Q0ZNYk55cUxZUmRYaWhpcGZtQjB5MzROUlhwVFNITUVGSEtGdUdkSm5QOEZG?= =?utf-8?B?R0pBYUREL0owdHFtZHRCUUJ2dFJjNHQvalRlRmpnU2tPcEttaUQrbTYxRVUw?= =?utf-8?B?eGlFbHV1czFXM05aYzFHZXFhbTBvSjhpcytsbzZsVTdjUHlGd3MyNnRxeTdz?= =?utf-8?B?M3NYbXVWZXpKU01mRUc2M1UwdzNjdVNMU0I3aGtSS2ZwNUd1eThjSG0xWkQ4?= =?utf-8?B?UlMvSG92UmlGanh2YXZobHVCdFJQRnpHVHJ4bkROMk1kcnduaWo3TWFoN1Jn?= =?utf-8?B?YW0zVlpEMGlTVkExRTgzQjdNUmhvTmdLcVRIaERrTllna25zOHR5S2lqU1lr?= =?utf-8?B?UmVRclNHN0lNKzBTM0xwbmh3TUpVUXBtaHVMSmQ5RDA0QVJVSWY0SGs4R2Zy?= =?utf-8?B?ckQ4R0dhLzF5SytsVUlNOVZFMm94YStXRHI2L1ZRZVFHK25sd0N5OXhoelh4?= =?utf-8?B?SURLbUJqUDcwcWxvVmtzT3RSNmtEN3hHRnNjMHJPc0VhQkdZZ2t6S04yZ3Q5?= =?utf-8?B?S1F3OXJjRWpybTkyY0ZFRlc5eERXeDFBL0J1Rzg5TVlJS3l3SDhvdCtFTmNp?= =?utf-8?B?VStlR0pjMHZEL1hKYjFoQ3VEK3RoRDVFaitnLy9ZNHhaa2lNTzB3ZzJuRE5W?= =?utf-8?B?VXQ4NlBnVXNXUGJQUEx3WjVlbWEwS2ZxdktHN1g0blBUMzRoN0tLM3ljVlRE?= =?utf-8?B?K29YR1dob2NjeTdRd0wrWGR3QTlqck1pSzFlYzl5KzBtOFFvR1puOVJpL2Vp?= =?utf-8?B?UVZFV0VFQ0NnRE1BdEREZzBlWC9YNVlrQnZhQUJxeTFoQmRSWks0cFZvVGk3?= =?utf-8?B?WDNXeTNmbzFIeDMxY2gxaUJPZ2pyN2pTS0VZQW1oeDlVUlNRVHlzTmNjWXBM?= =?utf-8?B?OElnZmw0M3hNYVVidXFpQWF3dkVFYnNiZ05waldKMlFFUzljQ3QycFF2UjZF?= =?utf-8?B?V0dIc2ZZNU5Va3g4R1RFaEVuSkx1WlFaWEtheFh2Q2RBajVDNTg2Nmg2Qko1?= =?utf-8?Q?of+8PBRT+av8VjmGwee0iRpPT?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5906.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c9eedadb-a24b-40e3-0efa-08db80e95ba5 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jul 2023 01:59:55.6260 (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: 1MZwsrypM+8s3iPATgBdhpmomm+jyaj036/LmgfkZ9cDll9fyAiDR0EoNHpuBfiDLR9fqmK3qaI3FDP5o4+aXw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5159 Return-Path: yuwei.chen@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIExpbWluZyBmb3IgeW91ciBzdXBwb3J0fg0KDQpUaGFua3MsDQpDaHJpc3RpbmUNCg0K PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWlu Z0BieW9zb2Z0LmNvbS5jbj4NCj4gU2VudDogTW9uZGF5LCBKdWx5IDEwLCAyMDIzIDk6NTEgQU0N Cj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBDaGVuLCBDaHJpc3RpbmUgPHl1d2VpLmNoZW5A aW50ZWwuY29tPg0KPiBDYzogJ1JlYmVjY2EgQ3JhbicgPHJlYmVjY2FAYnNkaW8uY29tPjsgRmVu ZywgQm9iIEMNCj4gPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsgQ2hhbiwgQW15IDxhbXkuY2hhbkBp bnRlbC5jb20+OyBIdWFuZywgWWFuYm8NCj4gPHlhbmJvLmh1YW5nQGludGVsLmNvbT4NCj4gU3Vi amVjdDog5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYzXSBbZWRrMi1zdGFnaW5nXSBCYXNl VG9vbHMvRk1NVDogQw0KPiBGTU1UIG1hdGNoIG5ldyB2ZXJzaW9uIG1hY2hpbmUgZGVmaW5lcw0K PiANCj4gQ2hyaXN0aW5lOg0KPiAgIEkganVzdCBwdXNoIHRoaXMgcGF0Y2ggQCBiYWIxNzI0Y2Rm NzI1YjdkMjI4NjljNzlmYTJiODZlZDQ3ZTAxMTEwIGluDQo+IGVkazItc3RhZ2luZy4NCj4gDQo+ IFRoYW5rcw0KPiBMaW1pbmcNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu2 5Lq6OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IOS7o+ihqCBZ dXdlaSBDaGVuDQo+ID4g5Y+R6YCB5pe26Ze0OiAyMDIz5bm0N+aciDTml6UgMTU6NTINCj4gPiDm lLbku7bkuro6IEdhbywgTGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBkZXZlbEBl ZGsyLmdyb3Vwcy5pbw0KPiA+IOaKhOmAgTogJ1JlYmVjY2EgQ3JhbicgPHJlYmVjY2FAYnNkaW8u Y29tPjsgRmVuZywgQm9iIEMNCj4gPiA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBDaGFuLCBBbXkg PGFteS5jaGFuQGludGVsLmNvbT47IEh1YW5nLA0KPiBZYW5ibw0KPiA+IDx5YW5iby5odWFuZ0Bp bnRlbC5jb20+DQo+ID4g5Li76aKYOiBSZTogW2VkazItZGV2ZWxdIFtQYXRjaCBWM10gW2VkazIt c3RhZ2luZ10gQmFzZVRvb2xzL0ZNTVQ6IEMgRk1NVA0KPiA+IG1hdGNoIG5ldyB2ZXJzaW9uIG1h Y2hpbmUgZGVmaW5lcw0KPiA+DQo+ID4gSGkgTGltaW5nIGFuZCBDcmFuLA0KPiA+DQo+ID4gQ2Fu IHlvdSBoZWxwIG1lcmdlIHRoZSBjb2RlPyBJdCBpcyB1cmdlbnQgZm9yIHVzIHRvIHVzZS4g8J+Y ig0KPiA+DQo+ID4gVGhhbmtzIGEgbG90fg0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IENocmlzdGlu ZQ0KPiA+DQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9t OiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+IFNlbnQ6IFR1ZXNk YXksIEp1bmUgMjcsIDIwMjMgMjoxNCBQTQ0KPiA+ID4gVG86IENoZW4sIENocmlzdGluZSA8eXV3 ZWkuY2hlbkBpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiA+ID4gQ2M6ICdSZWJl Y2NhIENyYW4nIDxyZWJlY2NhQGJzZGlvLmNvbT47IEZlbmcsIEJvYiBDDQo+ID4gPiA8Ym9iLmMu ZmVuZ0BpbnRlbC5jb20+DQo+ID4gPiBTdWJqZWN0OiDlm57lpI06IFtQYXRjaCBWM10gW2VkazIt c3RhZ2luZ10gQmFzZVRvb2xzL0ZNTVQ6IEMgRk1NVCBtYXRjaA0KPiA+ID4gbmV3IHZlcnNpb24g bWFjaGluZSBkZWZpbmVzDQo+ID4gPg0KPiA+ID4gUmV2aWV3ZWQtYnk6IExpbWluZyBHYW8gPGdh b2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+DQo+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2 LS0tLS0NCj4gPiA+ID4g5Y+R5Lu25Lq6OiBZdXdlaSBDaGVuIDx5dXdlaS5jaGVuQGludGVsLmNv bT4NCj4gPiA+ID4g5Y+R6YCB5pe26Ze0OiAyMDIz5bm0NuaciDI35pelIDEwOjU0DQo+ID4gPiA+ IOaUtuS7tuS6ujogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4g5oqE6YCBOiBSZWJlY2Nh IENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPjsgTGltaW5nIEdhbw0KPiA+ID4gPiA8Z2FvbGltaW5n QGJ5b3NvZnQuY29tLmNuPjsgQm9iIEZlbmcgPGJvYi5jLmZlbmdAaW50ZWwuY29tPg0KPiA+ID4g PiDkuLvpopg6IFtQYXRjaCBWM10gW2VkazItc3RhZ2luZ10gQmFzZVRvb2xzL0ZNTVQ6IEMgRk1N VCBtYXRjaCBuZXcNCj4gPiA+IHZlcnNpb24NCj4gPiA+ID4gbWFjaGluZSBkZWZpbmVzDQo+ID4g PiA+DQo+ID4gPiA+IEJhc2VUb29scyBoYXZlIHN3aXRjaCBmcm9tIEVGSV9JTUFHRV9NQUNISU5F XyogdG8NCj4gPiA+ID4gSU1BR0VfRklMRV9NQUNISU5FXyouIFRodXMsIG1hdGNoIHRoZSBGQ0Ug JiBGTU1UIHRvb2wgaW4gZWRrMi0NCj4gPiA+IHN0YWdpbmcNCj4gPiA+ID4gcmVwbyB3aXRoIHRo ZSBuZXcgdmVyc2lvbiBkZWZpbmUuDQo+ID4gPiA+DQo+ID4gPiA+IENjOiBSZWJlY2NhIENyYW4g PHJlYmVjY2FAYnNkaW8uY29tPg0KPiA+ID4gPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPg0KPiA+ID4gPiBDYzogQm9iIEZlbmcgPGJvYi5jLmZlbmdAaW50ZWwuY29t Pg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBZdXdlaSBDaGVuIDx5dXdlaS5jaGVuQGludGVsLmNv bT4NCj4gPiA+ID4gLS0tDQo+ID4gPiA+DQo+ID4gPiA+IFYzIG1vZGlmeSB0aGUgcGF0Y2ggd2l0 aCB0aGUgY29ycmVjdCBkZWZpbmUNCj4gPiA+ID4gQmFzZVRvb2xzL1NvdXJjZS9DL0ZNTVQvUmVi YXNlLmMgfCAxMiArKysrKystLS0tLS0NCj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pDQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9C YXNlVG9vbHMvU291cmNlL0MvRk1NVC9SZWJhc2UuYw0KPiA+ID4gPiBiL0Jhc2VUb29scy9Tb3Vy Y2UvQy9GTU1UL1JlYmFzZS5jDQo+ID4gPiA+IGluZGV4IGQzMjIxN2QxOGMuLjIwZjhlNWEzZmMg MTAwNjQ0DQo+ID4gPiA+IC0tLSBhL0Jhc2VUb29scy9Tb3VyY2UvQy9GTU1UL1JlYmFzZS5jDQo+ ID4gPiA+ICsrKyBiL0Jhc2VUb29scy9Tb3VyY2UvQy9GTU1UL1JlYmFzZS5jDQo+ID4gPiA+IEBA IC0xNTksOCArMTU5LDggQEAgRUZJX05PVF9GT1VORCAgICAgICAgICAgTm8gY29tcHJlc3NlZA0K PiA+ID4gPiBzZWN0aW9ucyBjb3VsZCBiZSBmb3VuZC4NCj4gPiA+ID4gICAgICAgIHJldHVybiBT dGF0dXM7DQo+ID4gPiA+DQo+ID4gPiA+ICAgICAgfQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g Pg0KPiA+ID4gPiAtICAgIC8vaWYgKChJbWFnZUNvbnRleHQuTWFjaGluZSA9PSBFRklfSU1BR0Vf TUFDSElORV9BUk1UKSB8fA0KPiA+ID4gPg0KPiA+ID4gPiAtICAgIC8vICAoSW1hZ2VDb250ZXh0 Lk1hY2hpbmUgPT0gRUZJX0lNQUdFX01BQ0hJTkVfQUFSQ0g2NCkpIHsNCj4gPiA+ID4NCj4gPiA+ ID4gKyAgICAvL2lmICgoSW1hZ2VDb250ZXh0Lk1hY2hpbmUgPT0NCj4gPiA+ID4gSU1BR0VfRklM RV9NQUNISU5FX0FSTVRIVU1CX01JWEVEKSB8fA0KPiA+ID4gPg0KPiA+ID4gPiArICAgIC8vICAo SW1hZ2VDb250ZXh0Lk1hY2hpbmUgPT0gSU1BR0VfRklMRV9NQUNISU5FX0FSTTY0KSkgew0KPiA+ ID4gPg0KPiA+ID4gPiAgICAgIC8vICBtQXJtID0gVFJVRTsNCj4gPiA+ID4NCj4gPiA+ID4gICAg ICAvL30NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gQEAgLTQzNSw4ICs0MzUs OCBAQCBFRklfTk9UX0ZPVU5EICAgICAgICAgICBObyBjb21wcmVzc2VkDQo+ID4gPiA+IHNlY3Rp b25zIGNvdWxkIGJlIGZvdW5kLg0KPiA+ID4gPiAgICAgICAgcmV0dXJuIFN0YXR1czsNCj4gPiA+ ID4NCj4gPiA+ID4gICAgICB9DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IC0g ICAgLy9pZiAoKEltYWdlQ29udGV4dC5NYWNoaW5lID09IEVGSV9JTUFHRV9NQUNISU5FX0FSTVQp IHx8DQo+ID4gPiA+DQo+ID4gPiA+IC0gICAgLy8gIChJbWFnZUNvbnRleHQuTWFjaGluZSA9PSBF RklfSU1BR0VfTUFDSElORV9BQVJDSDY0KSkgew0KPiA+ID4gPg0KPiA+ID4gPiArICAgIC8vaWYg KChJbWFnZUNvbnRleHQuTWFjaGluZSA9PQ0KPiA+ID4gPiBJTUFHRV9GSUxFX01BQ0hJTkVfQVJN VEhVTUJfTUlYRUQpIHx8DQo+ID4gPiA+DQo+ID4gPiA+ICsgICAgLy8gIChJbWFnZUNvbnRleHQu TWFjaGluZSA9PSBJTUFHRV9GSUxFX01BQ0hJTkVfQVJNNjQpKSB7DQo+ID4gPiA+DQo+ID4gPiA+ ICAgICAgLy8gIG1Bcm0gPSBUUlVFOw0KPiA+ID4gPg0KPiA+ID4gPiAgICAgIC8vfQ0KPiA+ID4g Pg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4gPiBAQCAtODM1LDggKzgzNSw4IEBAIFJldHVybnM6 DQo+ID4gPiA+ICAgIC8vDQo+ID4gPiA+DQo+ID4gPiA+ICAgIC8vIFZlcmlmeSBtYWNoaW5lIHR5 cGUgaXMgc3VwcG9ydGVkDQo+ID4gPiA+DQo+ID4gPiA+ICAgIC8vDQo+ID4gPiA+DQo+ID4gPiA+ IC0gIGlmICgoKk1hY2hpbmVUeXBlICE9IEVGSV9JTUFHRV9NQUNISU5FX0lBMzIpICYmDQo+ID4g KCpNYWNoaW5lVHlwZSAhPQ0KPiA+ID4gPiBFRklfSU1BR0VfTUFDSElORV9YNjQpICYmICgqTWFj aGluZVR5cGUgIT0NCj4gPiA+ID4gRUZJX0lNQUdFX01BQ0hJTkVfRUJDKSAmJg0KPiA+ID4gPg0K PiA+ID4gPiAtICAgICAgKCpNYWNoaW5lVHlwZSAhPSBFRklfSU1BR0VfTUFDSElORV9BUk1UKSAm Jg0KPiA+ID4gPiAoKk1hY2hpbmVUeXBlICE9IEVGSV9JTUFHRV9NQUNISU5FX0FBUkNINjQpKSB7 DQo+ID4gPiA+DQo+ID4gPiA+ICsgIGlmICgoKk1hY2hpbmVUeXBlICE9IElNQUdFX0ZJTEVfTUFD SElORV9JMzg2KSAmJg0KPiA+ICgqTWFjaGluZVR5cGUgIT0NCj4gPiA+ID4gSU1BR0VfRklMRV9N QUNISU5FX1g2NCkgJiYgKCpNYWNoaW5lVHlwZSAhPQ0KPiA+ID4gPiBJTUFHRV9GSUxFX01BQ0hJ TkVfRUJDKSAmJg0KPiA+ID4gPg0KPiA+ID4gPiArICAgICAgKCpNYWNoaW5lVHlwZSAhPSBJTUFH RV9GSUxFX01BQ0hJTkVfQVJNVEhVTUJfTUlYRUQpDQo+ID4gJiYNCj4gPiA+ID4gKCpNYWNoaW5l VHlwZSAhPSBJTUFHRV9GSUxFX01BQ0hJTkVfQVJNNjQpKSB7DQo+ID4gPiA+DQo+ID4gPiA+ICAg ICAgRXJyb3IgKE5VTEwsIDAsIDMwMDAsICJJbnZhbGlkIiwgIlVucmVjb2duaXplZCBtYWNoaW5l IHR5cGUNCj4gPiA+ID4gaW4gdGhlDQo+ID4gPiBQRTMyDQo+ID4gPiA+IGZpbGUuIik7DQo+ID4g PiA+DQo+ID4gPiA+ICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gPiA+ID4NCj4gPiA+ ID4gICAgfQ0KPiA+ID4gPg0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjI3LjAud2luZG93cy4xDQo+ ID4gPg0KPiA+ID4NCj4gPg0KPiA+DQo+ID4NCj4gPiANCj4gPg0KPiANCj4gDQoNCg==