From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 8B62D740034 for ; Mon, 4 Dec 2023 02:58:49 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=e5vXmFD6OipkmQOol6DWxR1zmVot2DND0A76pj4Sx8E=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:In-Reply-To:Accept-Language:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1701658728; v=1; b=Xrhe1nHvI9bPySt8QI9B1YSAw20CmdocvS3Re4gl+Y1WZWZZZRdVPzL1d1P6bu1KNEVUAWmw zcshXXsLmnOAhi4T/aCEizSERpQbqtiASDHuW60QPhtPtxtBcYUkbve00Qd2/FpTO1XBodHQN7j 9q0WNiBFAuJ7E9TvloYoZfq4= X-Received: by 127.0.0.2 with SMTP id sIc4YY7687511x4MEiCgyOha; Sun, 03 Dec 2023 18:58:48 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by mx.groups.io with SMTP id smtpd.web11.60440.1701658725661680221 for ; Sun, 03 Dec 2023 18:58:45 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10913"; a="724628" X-IronPort-AV: E=Sophos;i="6.04,248,1695711600"; d="scan'208";a="724628" X-Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Dec 2023 18:58:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10913"; a="1017691178" X-IronPort-AV: E=Sophos;i="6.04,248,1695711600"; d="scan'208";a="1017691178" X-Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Dec 2023 18:58:44 -0800 X-Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.34; Sun, 3 Dec 2023 18:58:44 -0800 X-Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Sun, 3 Dec 2023 18:58:44 -0800 X-Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.41) 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.34; Sun, 3 Dec 2023 18:58:43 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJHExKDe8+zR6kT9Pw6xqNpF2hT+gYrKQlBq8SO2ghXdlt6qKyp0u7Sut3mLIxJZM+jAuSw8HIhxhsX/CrO77SMLJFV7POWnqxW2+b5IexwIS4WmHOnuehI4tNeJiQ8KNeoWqs1wDB6T22vvQjcbfwrXkizDr5jkCCI9Tb2IFc506gu3VV6DdtttIErhGyKGWERkd6ikvp8VnAwtu3GzEYvVv7eUoXp9a7HmNcalFZ4ldnKM8ucw/nyJHWVVaGlvJ1SaBJe+xsyJtVwxUBUlTGp1DvEvM+GmHgbh57hQ7rdyQ1EbbjfNqMLfnubsYRYNCTLEpj0c+4/tLZc4idfT+g== 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=87MNfT+VTl4gBEgXLfuNjKLqTwMVNKAh3XAmqCAK3kA=; b=P9K+VtoWsnbCcP7ZkNguabZNwTj2Sq5kGSpIVQHTPjwlvZ353bIDrCAvgkrmiYgJU2eo3UzdV+M+OShn1opWBeDx+DIBt+oKzzIOcEU4HF4aTrtr72CL0Mn95kpZ1va8HO+nUK80ix9WyPDshiqAX6Uqw3wzH8QwV2rmM4jBjveqv/MdI9hLCf1d365yKAzdE8ZrIk+ZMsIqrhf3e9qo8sofda31LvOqR8RyVwf82wW1CWUOuU3iHdoFW9qLJzHVp0FpCVbyV6C1lxp8JipLrWE8zaDLxp2tjcL2xgVGsWZmUWMimPNopUW7bV6aYD3IyxF4FS2WhFnIL9K7tV7pkg== 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 X-Received: from MW5PR11MB5906.namprd11.prod.outlook.com (2603:10b6:303:1a0::21) by DM4PR11MB5456.namprd11.prod.outlook.com (2603:10b6:5:39c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.33; Mon, 4 Dec 2023 02:58:41 +0000 X-Received: from MW5PR11MB5906.namprd11.prod.outlook.com ([fe80::5cfe:c156:aa65:75e]) by MW5PR11MB5906.namprd11.prod.outlook.com ([fe80::5cfe:c156:aa65:75e%3]) with mapi id 15.20.7046.033; Mon, 4 Dec 2023 02:58:41 +0000 From: "Yuwei Chen" To: "Gao, Liming" , "devel@edk2.groups.io" , "Feng, Bob C" CC: 'Rebecca Cran' , "Guo, Gua" Subject: Re: [edk2-devel] [Patch V2 1/4] BaseTools: fixing FMMT ShrinkFv issue Thread-Topic: [edk2-devel] [Patch V2 1/4] BaseTools: fixing FMMT ShrinkFv issue Thread-Index: AQHZqjqnOrgRz1+Kpk2l/i/F4mklM6+hWFbAgGGPLoCAEmDXMIB8nMJAgAB+sICABwMqQA== Date: Mon, 4 Dec 2023 02:58:40 +0000 Message-ID: References: <20230629033420.872-1-yuwei.chen@intel.com> <046601d9db1d$fdb03b60$f910b220$@byosoft.com.cn> <1783B3A3A09571FB.23877@groups.io> <046b01da22dc$2221f050$6665d0f0$@byosoft.com.cn> In-Reply-To: <046b01da22dc$2221f050$6665d0f0$@byosoft.com.cn> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5906:EE_|DM4PR11MB5456:EE_ x-ms-office365-filtering-correlation-id: 9e3ad46a-add5-462b-17b3-08dbf474eb67 x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: 8Uh7zFSW8ePPYGqg7crQT4usEejvaksg+yW6Yhq1ypFJoXTuU+A6JHJkN9QhAEyAmFTjRetcSSK7jWJds0747eSVBs3e+IZtmECoqjfjWYVMxAUZHiQf+/1NfF17RvobVZh74Jg3K8bX5MaKYKOxLQsK5KtiF4VIhi7PVsb5lkehOYKNvk8a7zdZ1pxph0xnhVT+AxbteBiKeXnqEZKevWbQUrd4IJMMiL15eBwCeXyB+2QoH2BmQvzSf5yqq3Qzwt1UTQf/6mRUN37l10oV8W4v3VqJulVdknKmQOlaXFkynvnMr1ScmfHmLgCbq/JC3k1eZVc4Hxj/1sA76YBrz1Mbp5NyQ8T0UkWpzkSusmeutZXVov/roR6VzUeqZEa+urvwpwSVMlE2WGYQ0ThLsPWArs22LtyRaGFJzs4Ki6+nMjE13YB45vx3p4erXJME8jcaxDpIg4lVleilVQeSc3x1JNK1N0oTSk3Q1rK/POe3fH8EyhJlMcmwFoH7gzbBc8yJ/kgXQAikdwiKISjBJUbYxB7gtQekCj4CpzTT5qiUiCoiCDtjcN0raJdbWmFKRtjMIN2bmD47gK6km9BvJ1z2ffGj9A2Gw4GjpMpPW1NnfGNZx0/fi4Ry5AshN8zdFk34OyTo6ndDh4SmkmxiRQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YUQ5VVk1aGFsVXAvZHduMEFVODlqU2VpSE9lK3RSOTVRQTlGVkt3amRURllD?= =?utf-8?B?NnRxYUlSa0lzSkVJM1V5LzdhS2pSNUdOb01pM2h2RDVxMjdpdXo1aTI2SmZW?= =?utf-8?B?TmJ0R2JIY0ZZSEdleFd1ZlJHSVU0V1hscDcrRHdzS3FhVjlWUWNabHpiTFB2?= =?utf-8?B?a1Q2a1cxUTZBcmxjdDlJeCsxRGFNTEpvM2U3ZisvRk5MbG5tUmlMMlJqZGhr?= =?utf-8?B?TUNQQUQ0bGlxOVRFejBoUkVwbC9qWlBWOVBBU0hXR3dRK1RsOXNSeGJMSkFG?= =?utf-8?B?OE94S1N1Z2lRN1hncE4xeXU3REd0R3gwNEpYYUJVUVFubktqRlYwdEV5ajJB?= =?utf-8?B?RW0yRmhPQ1dvRTJIZklYOHFlYWViMWlRVURMcmNQNEtlbzR4N29FUWFYYkZH?= =?utf-8?B?SnprSi9PZ0NuaVNOYWtLUmNsbHNhMktUTG00MFBXWG11bjNIZUFIU2d3TTdL?= =?utf-8?B?UTFPVmpmZlVGVWpEY0ZHdmlGRzA0TzR5WHA2cVJPNnRLbXRFNUFSMHVCemU0?= =?utf-8?B?WW5TdTlGNnVqYjZOdmg4WDBHMmJObmtyckJYbHI5ZktLb0VUekJwcFBWaG1s?= =?utf-8?B?cXdSUkw0RmVHNTBCbEFreWZzR1Q0OXdvOFRndUk2Z2REMHJMNytiSTV6alM0?= =?utf-8?B?M09QQksyOXlqcGpZR2dNb0lacStScDZTWTlxWnVIbmkxeTQyN2hFTzl0K3FZ?= =?utf-8?B?emlnVXg4cjVkS3YzOHdDTzYwRUVNcUZQS0lEV0o4RENTUWRGc0Q4dk1ZNFNw?= =?utf-8?B?ejdWazd0Yi9pTStDMHpXNm5RMHh6N05PanQ0ZW5udExORVNtc1ZMTStHajZK?= =?utf-8?B?NWc2WDlnV1Z3V2wwaXI2TUNzY28zN3locUJEZXlFZFRXQnQvMmhSelBiYlZG?= =?utf-8?B?ZTRCajFJUzNoR29ubjhMUS9OeGdUT1FVUHdqK3ZCRWxDWW5GMDdqSUsyeXBp?= =?utf-8?B?dDN2d3pUcVJWcm9KL01iZTljbEM1MWI5dEtScGw0YWlIK2UyQTh5MWJ1RWhz?= =?utf-8?B?TnFVb2hQSUh5THV2NVF0cTFCaGY3ak80UW0yTHJVY2ZMbDdUUUQ0TVpFQ0VE?= =?utf-8?B?RWpTLzFxNnltT21OOVZvQ3FQcTZCUGU5YTdXQWM1QlpXdGNCa2YrbStqU202?= =?utf-8?B?bXRZOEpmQ1B6MTN6R2p4cTkxZ0M0aWNOcE5VUmdjbDFUMHJKUzNGUEdhZ21L?= =?utf-8?B?NW1Ncnd4WHBUQTFNSXkvcG9GS1lzaFM2b0JMUGNYNFRBRjhXV3lMbFlPWWV2?= =?utf-8?B?aTdoK3pQRXRnQXNITmltRDM5dURSMG1BbW5GVzRzd1Y2ZGZ6UFZ4bjVvNE8v?= =?utf-8?B?NG0xaXVncnF1TVhEb1RnTjhHL0VSOW1XUHNiVjNwZzJ1dy8zL05GNEYwZ2tL?= =?utf-8?B?MFpzOURnczdHNWxyR0lHYjN6SkMxbXhUSW5IY2hpL0oyU1N0U2FhTmcvNGwx?= =?utf-8?B?a3hSQnVZSWFKVm5wUVVaUmEwb1ljZ0pSR0g5MEFlSEYvWjFmbVZ6bTlHeDA5?= =?utf-8?B?NURLQk5aSldnZHZxOWJvN1pnbWQ0TnNKZ00zVXRjTVJESzRUZ3pzU3VsRys5?= =?utf-8?B?R0NURGtydG81QjRGaDBRcXlnU0V1d2JCQ2NEcExjTGdDcnJrREFnb0hLb1Zy?= =?utf-8?B?SGxiYVVpWVVvRFI1N0F6SXlOMHhnOEJXVXJlZkh1c21TS0RMTHhHazNsd25q?= =?utf-8?B?V3RWV3FqM2JqY1BtNkM2RGxieWxkTGpVQm9TWjF1M1p6NlRKOWpIQ3hlUE9y?= =?utf-8?B?U3BQUVpVT1FLR0xwdVB1RTM0NnFPUU9ydUxVT3BBdktmV3psOGZxWFRwSFIz?= =?utf-8?B?RlgvTkpBbkkyc0ZHc05Fcjh1QVdQc1d2Rk1INXdrMnQ3akIvcGRVWW9FcjZB?= =?utf-8?B?SjI4cTN4RFhpaHVKZjNyZHFjTDF3MGducFBrb1NkNzFQakpuVU1Ed0FXeWZN?= =?utf-8?B?WnJ1ZnJveU4zV09uR0NvQmM0eW5ZaENIZ3FlbnJIODVKOHdXbkJLWStkNUV4?= =?utf-8?B?TVdzajZ6T01Va0lnVVJ3OUg4NnFlcEJKLzRKY3p4SkxpSWNXSVZqeU5xV283?= =?utf-8?B?NTNvZHI0Vi9QeTZEc3A3b2lyclVEajFlQVpzSFFqRDFkN2VIZW5aUG0wdzlR?= =?utf-8?Q?XlNl5TwupR0tf41rEbHQuZlPs?= 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: 9e3ad46a-add5-462b-17b3-08dbf474eb67 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Dec 2023 02:58:40.5577 (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: OK2pjGaYgspCUwyCpiDXXPlTinApbm4uGjTYBNxelg03jracZku/lBBhVefzsHqByMaZieBDUiS507L61R9lwg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB5456 X-OriginatorOrg: intel.com Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yuwei.chen@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: j1K1GnWYQNu8QrB5eXqwpfbex7686176AA= Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=Xrhe1nHv; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") SGkgTGltaW5nLA0KVG8gYXZvaWQgd3Jvbmcgb3BlcmF0aW9uLiBJIGNyZWF0ZSBhIG5ldyBQUiBm b3IgdGhpcyBwYXRjaCBzZXJpZXMgd2l0aCBSZXZpZXdlZC1ieS4gDQpQbGVhc2UgaGVscCBhZGRp bmcgcHVzaCBsYWJlbC4gVGhhbmtzLg0KaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsy L3B1bGwvNTEwMg0KDQpUaGFua3MsDQpDaHJpc3RpbmUNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4g U2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAyOSwgMjAyMyAxMTo1MyBQTQ0KPiBUbzogZGV2ZWxA ZWRrMi5ncm91cHMuaW87IENoZW4sIENocmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+OyBG ZW5nLA0KPiBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+DQo+IENjOiAnUmViZWNjYSBDcmFu JyA8cmViZWNjYUBic2Rpby5jb20+OyBHdW8sIEd1YSA8Z3VhLmd1b0BpbnRlbC5jb20+DQo+IFN1 YmplY3Q6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtQYXRjaCBWMiAxLzRdIEJhc2VUb29sczogZml4 aW5nIEZNTVQgU2hyaW5rRnYNCj4gaXNzdWUNCj4gDQo+IFl1d2VpOg0KPiAgIFBsZWFzZSB1cGRh dGUgY29tbWl0IG1lc3NhZ2Ugd2l0aCByZXZpZXdlZC1ieSBpbmZvLCB0aGVuIEkgd2lsbCBhZGQg cHVzaA0KPiBsYWJlbCBmb3IgdGhpcyBwYXRjaCBzZXQuDQo+IA0KPiBUaGFua3MNCj4gTGltaW5n DQo+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+IOWPkeS7tuS6ujogZGV2ZWxAZWRrMi5n cm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiDku6PooaggWXV3ZWkgQ2hlbg0KPiA+IOWP kemAgeaXtumXtDogMjAyM+W5tDEx5pyIMjnml6UgMTY6MjYNCj4gPiDmlLbku7bkuro6IEdhbywg TGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBGZW5nLCBCb2IgQw0KPiA+IDxib2Iu Yy5mZW5nQGludGVsLmNvbT4NCj4gPiDmioTpgIE6ICdSZWJlY2NhIENyYW4nIDxyZWJlY2NhQGJz ZGlvLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBDaGVuLA0KPiA+IENocmlzdGluZSA8eXV3 ZWkuY2hlbkBpbnRlbC5jb20+OyBHdW8sIEd1YSA8Z3VhLmd1b0BpbnRlbC5jb20+DQo+ID4g5Li7 6aKYOiBSZTogW2VkazItZGV2ZWxdIFtQYXRjaCBWMiAxLzRdIEJhc2VUb29sczogZml4aW5nIEZN TVQgU2hyaW5rRnYNCj4gPiBpc3N1ZQ0KPiA+DQo+ID4gSGkgTGltaW5nIGFuZCBDcmFuLA0KPiA+ DQo+ID4gSSBoYXZlIGNyZWF0ZWQgdGhlIEVkazIgUFIgZm9yIHRoaXMgb25lOg0KPiA+IGh0dHBz Oi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzUwMDkNCj4gPiBBcyBpdCBoYXMgYmVl biByZXZpZXdlZCwgcGxlYXNlIGhlbHAgbWVyZ2UgdGhhdC4gVGhhbmtzfg0KPiA+DQo+ID4gVGhh bmtzLA0KPiA+IFl1d2VpIChDaHJpc3RpbmUpDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5n cm91cHMuaW8+IE9uIEJlaGFsZiBPZiBZdXdlaQ0KPiA+ID4gQ2hlbg0KPiA+ID4gU2VudDogTW9u ZGF5LCBTZXB0ZW1iZXIgMTEsIDIwMjMgOToyMyBBTQ0KPiA+ID4gVG86IEdhbywgTGltaW5nIDxn YW9saW1pbmdAYnlvc29mdC5jb20uY24+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsNCj4gPiA+IEZl bmcsIEJvYiBDIDxib2IuYy5mZW5nQGludGVsLmNvbT4NCj4gPiA+IENjOiAnUmViZWNjYSBDcmFu JyA8cmViZWNjYUBic2Rpby5jb20+DQo+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ YXRjaCBWMiAxLzRdIEJhc2VUb29sczogZml4aW5nIEZNTVQNCj4gPiA+IFNocmlua0Z2IGlzc3Vl DQo+ID4gPg0KPiA+ID4gVGhhbmtzIGxpbWluZ34gSG9wZSBpdCB3aWxsIGJlIG1lcmdlZCBzb29u fiDwn5iKDQo+ID4gPg0KPiA+ID4gTWFueSB0aGFua3MsDQo+ID4gPiBDaHJpc3RpbmUNCj4gPiA+ DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IGdhb2xp bWluZyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+ID4gPiBTZW50OiBXZWRuZXNkYXks IEF1Z3VzdCAzMCwgMjAyMyA0OjQzIFBNDQo+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdAaW50ZWwuY29tPjsNCj4gPiA+ID4gQ2hlbiwgQ2hy aXN0aW5lIDx5dXdlaS5jaGVuQGludGVsLmNvbT4NCj4gPiA+ID4gQ2M6ICdSZWJlY2NhIENyYW4n IDxyZWJlY2NhQGJzZGlvLmNvbT4NCj4gPiA+ID4gU3ViamVjdDog5Zue5aSNOiBbZWRrMi1kZXZl bF0gW1BhdGNoIFYyIDEvNF0gQmFzZVRvb2xzOiBmaXhpbmcgRk1NVA0KPiA+ID4gPiBTaHJpbmtG diBpc3N1ZQ0KPiA+ID4gPg0KPiA+ID4gPiBDaHJpc3RpbmU6DQo+ID4gPiA+ICAgSSBoYXZlIG5v IGNvbW1lbnRzIGZvciB0aGlzIHBhdGNoIHNldC4gUmV2aWV3ZWQtYnk6IExpbWluZyBHYW8NCj4g PiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmtz DQo+ID4gPiA+IExpbWluZw0KPiA+ID4gPiA+IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4gPiA+ ID4gPiDlj5Hku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5p bz4g5Luj6KGoIEJvYg0KPiA+IEZlbmcNCj4gPiA+ID4gPiDlj5HpgIHml7bpl7Q6IDIwMjPlubQ2 5pyIMjnml6UgMTQ6NTQNCj4gPiA+ID4gPiDmlLbku7bkuro6IENoZW4sIENocmlzdGluZSA8eXV3 ZWkuY2hlbkBpbnRlbC5jb20+Ow0KPiA+IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+ID4g 5oqE6YCBOiBSZWJlY2NhIENyYW4gPHJlYmVjY2FAYnNkaW8uY29tPjsgR2FvLCBMaW1pbmcNCj4g PiA+ID4gPiA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+ID4gPiA+IOS4u+mimDogUmU6 IFtlZGsyLWRldmVsXSBbUGF0Y2ggVjIgMS80XSBCYXNlVG9vbHM6IGZpeGluZyBGTU1UDQo+ID4g PiA+ID4gU2hyaW5rRnYNCj4gPiA+ID4gaXNzdWUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFJldmll d2VkLWJ5OiBCb2IgRmVuZyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+DQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IENoZW4sIENo cmlzdGluZSA8eXV3ZWkuY2hlbkBpbnRlbC5jb20+DQo+ID4gPiA+ID4gU2VudDogVGh1cnNkYXks IEp1bmUgMjksIDIwMjMgMTE6MzQgQU0NCj4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMu aW8NCj4gPiA+ID4gPiBDYzogUmViZWNjYSBDcmFuIDxyZWJlY2NhQGJzZGlvLmNvbT47IEdhbywg TGltaW5nDQo+ID4gPiA+ID4gPGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47IEZlbmcsIEJvYiBD IDxib2IuYy5mZW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBbUGF0Y2ggVjIgMS80 XSBCYXNlVG9vbHM6IGZpeGluZyBGTU1UIFNocmlua0Z2IGlzc3VlDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiAxLiBGdkxlbmd0aCBub3QgY2hhbmdlIGlzc3VlOw0KPiA+ID4gPiA+IDIuIEZpbGVTeXN0 ZW1HdWlkIGFsaWduIHdpdGggRmlsZSBTaXplOw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gQ2M6IFJl YmVjY2EgQ3JhbiA8cmViZWNjYUBic2Rpby5jb20+DQo+ID4gPiA+ID4gQ2M6IExpbWluZyBHYW8g PGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj4NCj4gPiA+ID4gPiBDYzogQm9iIEZlbmcgPGJvYi5j LmZlbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFl1d2VpIENoZW4gPHl1 d2VpLmNoZW5AaW50ZWwuY29tPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICBCYXNlVG9vbHMv U291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRk1NVE9wZXJhdGlvbi5weSB8ICAyICstDQo+ID4gPiA+ ID4gIEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GdkhhbmRsZXIucHkgICAgIHwg MTANCj4gPiArKysrKysrLS0tDQo+ID4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRp b25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBh L0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1UT3BlcmF0aW9uLnB5DQo+ID4g PiA+ID4gYi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9GTU1UL2NvcmUvRk1NVE9wZXJhdGlvbi5w eQ0KPiA+ID4gPiA+IGluZGV4IGE4NmY4ZGRhOWExYS4uZDRhYTMzOTcwMzZkIDEwMDY0NA0KPiA+ ID4gPiA+IC0tLSBhL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GTU1UT3BlcmF0 aW9uLnB5DQo+ID4gPiA+ID4gKysrIGIvQmFzZVRvb2xzL1NvdXJjZS9QeXRob24vRk1NVC9jb3Jl L0ZNTVRPcGVyYXRpb24ucHkNCj4gPiA+ID4gPiBAQCAtMTg4LDcgKzE4OCw3IEBAIGRlZiBFeHRy YWN0RmZzKGlucHV0ZmlsZTogc3RyLCBGZnNfbmFtZToNCj4gPiA+ID4gPiBzdHIsDQo+ID4gPiA+ IG91dHB1dGZpbGU6DQo+ID4gPiA+ID4gc3RyLCBGdl9uYW1lOiBzdHI9Tm9uZQ0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiBGbW10UGFyc2VyLldob2xlRnZUcmVlLkZpbmRsaXN0LnJlbW92ZShG bW10UGFyc2VyLldob2xlRnZUcmVlLkZpbmRsaQ0KPiA+ID4gPiA+IHN0DQo+ID4gPiA+ID4gW2kN Cj4gPiA+ID4gPiBuZGV4XSkNCj4gPiA+ID4gPiAgICAgIGlmIEZtbXRQYXJzZXIuV2hvbGVGdlRy ZWUuRmluZGxpc3QgIT0gW106DQo+ID4gPiA+ID4gICAgICAgICAgVGFyZ2V0Tm9kZSA9IEZtbXRQ YXJzZXIuV2hvbGVGdlRyZWUuRmluZGxpc3RbMF0NCj4gPiA+ID4gPiAtICAgICAgICBpZiBUYXJn ZXROb2RlLnR5cGUgPT0gRlZfVFJFRSBvciBTRUNfRlZfVFJFRSBvcg0KPiA+ID4gPiA+IERBVEFf RlZfVFJFRToNCj4gPiA+ID4gPiArICAgICAgICBpZiBUYXJnZXROb2RlLnR5cGUgPT0gRlZfVFJF RSBvciBUYXJnZXROb2RlLnR5cGUgPT0NCj4gPiA+ID4gPiBTRUNfRlZfVFJFRSBvciBUYXJnZXRO b2RlLnR5cGUgPT0gREFUQV9GVl9UUkVFOg0KPiA+ID4gPiA+ICAgICAgICAgICAgICBGaW5hbERh dGEgPSBzdHJ1Y3Qyc3RyZWFtKFRhcmdldE5vZGUuRGF0YS5IZWFkZXIpICsNCj4gPiA+ID4gPiBU YXJnZXROb2RlLkRhdGEuRGF0YQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICB3aXRoIG9wZW4ob3V0 cHV0ZmlsZSwgIndiIikgYXMgZjoNCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAgIGYud3JpdGUo RmluYWxEYXRhKSBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gYS9CYXNlVG9vbHMvU291cmNlL1B5dGhv bi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5DQo+ID4gPiA+ID4gYi9CYXNlVG9vbHMvU291cmNlL1B5 dGhvbi9GTU1UL2NvcmUvRnZIYW5kbGVyLnB5DQo+ID4gPiA+ID4gaW5kZXggZmYzZDYzNzYyM2Y4 Li5iMGNjMTk1MWExYzYgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tIGEvQmFzZVRvb2xzL1NvdXJjZS9Q eXRob24vRk1NVC9jb3JlL0Z2SGFuZGxlci5weQ0KPiA+ID4gPiA+ICsrKyBiL0Jhc2VUb29scy9T b3VyY2UvUHl0aG9uL0ZNTVQvY29yZS9GdkhhbmRsZXIucHkNCj4gPiA+ID4gPiBAQCAtMjc5LDcg KzI3OSw3IEBAIGNsYXNzIEZ2SGFuZGxlcjoNCj4gPiA+ID4gPg0KPiA+IFBhclRyZWUuQ2hpbGQu cmVtb3ZlKFBhclRyZWUuQ2hpbGRbLTFdKQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUGFyVHJlZS5EYXRhLkZyZWVfU3BhY2UgPSAwDQo+ID4gPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgIFBhclRyZWUuRGF0YS5TaXplICs9IE5lZWRlZF9TcGFjZQ0KPiA+ID4g PiA+IC0gICAgICAgICAgICAgICAgICAgICAgICBQYXJUcmVlLkRhdGEuSGVhZGVyLkZ2bGVuZ3Ro ID0NCj4gPiA+ID4gPiBQYXJUcmVlLkRhdGEuU2l6ZQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICBQYXJUcmVlLkRhdGEuSGVhZGVyLkZ2TGVuZ3RoID0NCj4gPiA+ID4gPiBQYXJU cmVlLkRhdGEuU2l6ZQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgTW9kaWZ5RnZTeXN0ZW1H dWlkKFBhclRyZWUpDQo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICBmb3IgaXRlbSBpbiBQYXJU cmVlLkNoaWxkOg0KPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgIGlmIGl0ZW0udHlwZSA9 PSBGRlNfRlJFRV9TUEFDRToNCj4gPiA+ID4gPiBAQCAtNjUwLDggKzY1MCwxMiBAQCBjbGFzcyBG dkhhbmRsZXI6DQo+ID4gPiA+ID4gICAgICAgICAgICAgIFJlbW92ZWRfU3BhY2UgPSBUYXJnZXRG di5EYXRhLkZyZWVfU3BhY2UgLQ0KPiA+IE5ld19GcmVlX1NwYWNlDQo+ID4gPiA+ID4gICAgICAg ICAgICAgIFRhcmdldEZ2LkNoaWxkWy0xXS5EYXRhLkRhdGEgPSBiJ1x4ZmYnICoNCj4gPiBOZXdf RnJlZV9TcGFjZQ0KPiA+ID4gPiA+ICAgICAgICAgICAgICBUYXJnZXRGdi5EYXRhLlNpemUgLT0g UmVtb3ZlZF9TcGFjZQ0KPiA+ID4gPiA+IC0gICAgICAgICAgICBUYXJnZXRGdi5EYXRhLkhlYWRl ci5Gdmxlbmd0aCA9IFRhcmdldEZ2LkRhdGEuU2l6ZQ0KPiA+ID4gPiA+IC0gICAgICAgICAgICBN b2RpZnlGdlN5c3RlbUd1aWQoVGFyZ2V0RnYpDQo+ID4gPiA+ID4gKyAgICAgICAgICAgIFRhcmdl dEZ2LkRhdGEuSGVhZGVyLkZ2TGVuZ3RoID0gVGFyZ2V0RnYuRGF0YS5TaXplDQo+ID4gPiA+ID4g KyAgICAgICAgICAgIGlmDQo+ID4gPiA+ID4gKyBzdHJ1Y3Qyc3RyZWFtKFRhcmdldEZ2LkRhdGEu SGVhZGVyLkZpbGVTeXN0ZW1HdWlkKQ0KPiA+ID4gPiA+ICsgPT0NCj4gPiA+ID4gPiBFRklfRklS TVdBUkVfRklMRV9TWVNURU0zX0dVSURfQllURToNCj4gPiA+ID4gPiArICAgICAgICAgICAgICAg IGlmIFRhcmdldEZ2LkRhdGEuU2l6ZSA8PSAweEZGRkZGRjoNCj4gPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgICBUYXJnZXRGdi5EYXRhLkhlYWRlci5GaWxlU3lzdGVtR3VpZCA9DQo+ID4gPiA+ ID4gTW9kaWZ5R3VpZEZvcm1hdCgNCj4gPiA+ID4gPiArDQo+ID4gIjhjOGNlNTc4LThhM2QtNGYx Yy05OTM1LTg5NjE4NWMzMmRkMyIpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAgICAgICAgICAg ICBmb3IgaXRlbSBpbiBUYXJnZXRGdi5DaGlsZDoNCj4gPiA+ID4gPiAgICAgICAgICAgICAgICAg IGlmIGl0ZW0udHlwZSA9PSBGRlNfRlJFRV9TUEFDRToNCj4gPiA+ID4gPiAgICAgICAgICAgICAg ICAgICAgICBUYXJnZXRGdi5EYXRhLkRhdGEgKz0gaXRlbS5EYXRhLkRhdGEgKw0KPiA+ID4gPiA+ IGl0ZW0uRGF0YS5QYWREYXRhDQo+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiAyLjI3LjAud2luZG93 cy4xDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g Pg0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ ID4NCj4gPg0KPiA+DQo+ID4gDQo+ID4NCj4gDQo+IA0KDQoNCgotPS09LT0tPS09LT0tPS09LT0t PS09LQpHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRo aXMgZ3JvdXAuClZpZXcvUmVwbHkgT25saW5lICgjMTEyMDAxKTogaHR0cHM6Ly9lZGsyLmdyb3Vw cy5pby9nL2RldmVsL21lc3NhZ2UvMTEyMDAxCk11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9ncm91 cHMuaW8vbXQvMTAyOTY0MjcxLzc2ODYxNzYKR3JvdXAgT3duZXI6IGRldmVsK293bmVyQGVkazIu Z3JvdXBzLmlvClVuc3Vic2NyaWJlOiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvdW5z dWIgW3JlYmVjY2FAb3BlbmZ3LmlvXQotPS09LT0tPS09LT0tPS09LT0tPS09LQoKDQo=