From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.13951.1589209836257122448 for ; Mon, 11 May 2020 08:10:36 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=svEMW00x; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: liming.gao@intel.com) IronPort-SDR: C8e1PuSm7ZDW7HIuMzlh2vVAT3yx1UOveCyA171TGwamJtIUdnMmAEX28skh+0Bz6Ks7wohSiQ PTcKs89ri4Vw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 May 2020 08:10:35 -0700 IronPort-SDR: zEDsO+fNhmyyITTGtPDXng9TtfvOk0Nk8wR8deZ8OiHDWzSlUQ45XBRxrO50GOhhznm0WS7Xge FB5fKhdS3wTw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,380,1583222400"; d="scan'208";a="296973598" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by fmsmga002.fm.intel.com with ESMTP; 11 May 2020 08:10:35 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 08:10:35 -0700 Received: from fmsmsx608.amr.corp.intel.com (10.18.126.88) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 11 May 2020 08:10:34 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx608.amr.corp.intel.com (10.18.126.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 11 May 2020 08:10:34 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 11 May 2020 08:10:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eI9neNlpIni0oltCuQpYu2XGOebx2cwbKAwQo1Dp6nVf+LPQNqP0u1ndzIZ7uPYAYaNzwDYDicyZmXhfMW4GrbSeBXHdCEacxv9XhRXHDxT6ccAOYgUoLudFU93dwA+n3gQMSgaeL2ffsyEHFoqzSzKC8YZC/OSLPlMdoN0Oj20ym1Qb4XgA83L5sBDlzmnkz15gmo5pr9BXMifgOcq5jt1Vt6GNiUuMcMK/K5u22cmTM2M0vfyD7K6ypi3WmMD+hsScWzXBbv2Fr9mt8F14ioQhKdJgcYQLSwbD8gE/5ZF24wkTpCcFDHdGYi6wocZPE3Idy6pE7v2a0ZUIB5KTEw== 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-SenderADCheck; bh=ctfGjNseuoLMEOHtOlerLT8hO+GP5kFpSa1jdW01pBc=; b=Zys5lhWLmyPdsMG/Y4cgWaXaFP38/CmpPbCdwoUDRe9uSzPMZzBQ+aaZpPfT5enakacdiCRkhfQ6dNff02Nvv1S1CYNs3W0caZ5aZMRnlWEDN2ZVLTcIarqWzHtpXVsoswQDAZdY4MzN7dkeI4k24+DeMVecEOkg8cnzp/Gt6od36dpaYDUP1L3KrNzuQcgVN2wSvr82pee1IDPscZUAwte6AcMrVd0Vqtd4a79eU2TIJuFeQ4trrJbd3TpLZ+C5zNy+VA8Prea/5FWGYCK4kKwA1ofkFLiL/O81QAEWMyHIGaczW32ReIaFFAM8FeHK+munN8xKYqVENyDwRa/+pw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ctfGjNseuoLMEOHtOlerLT8hO+GP5kFpSa1jdW01pBc=; b=svEMW00xH4oiT0xJtQfkMTMcPwGpvGiYcScgKVdBSvQI1zyPV3RCgyLcdYTBMSYdhI9WqXMJ/HMMv31gZYh+vtigJWCBInkdkjysi0NfayhthBYjlBiJFD9AmJeJ2nBlltRLvIq4dhfAntZduk/L5IwCWfBZj2RLJJJ4y6rgDQw= Received: from BN6PR11MB3972.namprd11.prod.outlook.com (2603:10b6:405:7f::11) by BN6PR11MB1361.namprd11.prod.outlook.com (2603:10b6:404:49::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.26; Mon, 11 May 2020 15:10:22 +0000 Received: from BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0]) by BN6PR11MB3972.namprd11.prod.outlook.com ([fe80::3c03:da06:5345:bfa0%7]) with mapi id 15.20.2979.033; Mon, 11 May 2020 15:10:22 +0000 From: "Liming Gao" To: Oleksiy Yakovlev , "devel@edk2.groups.io" , "Liu, Zhiguang" CC: "Feng, Bob C" , "Kinney, Michael D" , Felix Polyudov Subject: Re: [edk2-devel] [PATCH v4 7/7] MdePkg: UEFI JSON Capsule Support Thread-Topic: [edk2-devel] [PATCH v4 7/7] MdePkg: UEFI JSON Capsule Support Thread-Index: AQHWJYJrOtMZOaCRQ0ikgLUPAg51JKifCZOAgAPoCNCAAAmRAIAABKEAgAABnHA= Date: Mon, 11 May 2020 15:10:22 +0000 Message-ID: References: <20200508214611.70592-1-oleksiyy@ami.com> <20200508214611.70592-8-oleksiyy@ami.com> <160DFEDDA3DFE660.21511@groups.io> <6BD875C24FFE2A4E8D6EFC142C67836F03FFFF9DEF@atlms1.us.megatrends.com> In-Reply-To: <6BD875C24FFE2A4E8D6EFC142C67836F03FFFF9DEF@atlms1.us.megatrends.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: ami.com; dkim=none (message not signed) header.d=none;ami.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.52.193] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 7bceafc9-505d-4552-cc22-08d7f5bd6d08 x-ms-traffictypediagnostic: BN6PR11MB1361: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1060; x-forefront-prvs: 04004D94E2 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7fWvob7/AmSTdKDXzZV1YPHYvmMdj7HUep78WmbbX49W29WdeMFwU0k9Zt2CZ09Wv97LAFcYq37LARNyMBqBX9RwhHY74K8dqj/AiCs4k77/mboN/FYBJDtjEA/y/QLgZ4BOEkWSiKCdkOfMiRvjaTzEqTcxgmk9zjNSRNVjzRq8yag8i4X4tzExsDccgIj+clHBnfl7J1Fq+H8zUgMfEnn7/WOXq4LTFj29E/4oVgd14z0aGIvVOJlm+CAww4RYfYTU6wU5/73o4afs7e2e/ICcby80sW2PY5flR3ItIZmJFPdMbL4aKQBiiWFSEhl2FQfGIJAfVpXKI3WHiuSRm6jzLTpAKNrBmtyCanQqiOuXSXEgwQU9vtgM8wSayjKCs517J5XlvziTyCu9RAZdcXDgumLfKeYMB7lYBpXzPc5TpDpF3dFGCJBnej383TAweGOdR7n9qpSpiHXJEuPBXzZBQH5WMuTmOJF+qoSbqkMp3YdNUY2eKeDtk83StzcUX6J3LQ5EsoLo+1MOtwH3mutSp6lUsTsLonvVgwUHcsaI1xLpq64uGT2th0iXV043iSLoTv6vr3roB2Oy2lL0pkM3275AagtfqCjqMH+6Hh4= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR11MB3972.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(396003)(136003)(39860400002)(366004)(346002)(376002)(33430700001)(33656002)(8676002)(66556008)(5660300002)(26005)(66946007)(64756008)(33440700001)(71200400001)(66476007)(30864003)(76116006)(66446008)(8936002)(6636002)(186003)(4326008)(86362001)(110136005)(2906002)(54906003)(9686003)(478600001)(316002)(52536014)(53546011)(966005)(55016002)(7696005)(6506007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: z2jojw5FsIRynJiEcnnJJ1VcN7G3bVn102n5c3OJ5u7ieFaIM4n3p3P03idVAXTEOV1jziLPgwN0zTYp0G2vzqXO6Mzks5ljQMCoB3WapOsqzCY3GVt22vChPVFXTXfvLXZhHTTI3PYZV33UyOAkzL4s0vmYBvtCJ8TRZpbYiH9psVCQT2ng/iRm7a57j5O4I2nY2yycUzEHrf58MhOTNBaq6m8islfdTwlMX+80dtbxiMklf7mhG5dTTjfNuVaR2s3wbbBaTeSLtnKt1KgMXj1vtq4+x8uaVoSWXhm+v6J5BFK0lJNSe1FcxGse27l7O7ysXVzwR2C1XGomN+OUy6Fu0AwI3y7T+JbYRt7BdYnzkVZbBq41WbkfKBGHJbY3bhbQVXhu7upk7wspMVbakn7fHVAuSVMlTau64DZdVaHd8qSRV4b4rsvuuhUmY4hyLYaeq0xI9Wn5r9UEyv7BcXcLnQcGcF4n9N+J8+lNX4yFxq6oMkTl3Ciy8/OGhghh MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 7bceafc9-505d-4552-cc22-08d7f5bd6d08 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 May 2020 15:10:22.1602 (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: 7bqZiWK17jqLl/dyYsgqDjkuISP0yXIBjvwQd0u0mDEHbnm6Shl/qARBQ1KQCyVcfnOxJUAVy0KP/mrhmdNIeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1361 Return-Path: liming.gao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UGF0Y2ggNy83IGJhc2VzIG9uIHBhdGNoIDMvNy4gDQoNClRoYW5rcw0KTGltaW5nDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE9sZWtzaXkgWWFrb3ZsZXYgPE9sZWtzaXl5 QGFtaS5jb20+DQo+IFNlbnQ6IE1vbmRheSwgTWF5IDExLCAyMDIwIDExOjA0IFBNDQo+IFRvOiBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsg TGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gQ2M6IEZlbmcsIEJvYiBD IDxib2IuYy5mZW5nQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT47IEZlbGl4IFBvbHl1ZG92IDxGZWxpeHBAYW1pLmNvbT4NCj4gU3ViamVj dDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjQgNy83XSBNZGVQa2c6IFVFRkkgSlNPTiBDYXBz dWxlIFN1cHBvcnQNCj4gDQo+IEhpIExpbWluZy4NCj4gDQo+IFRha2luZyB0byBhY2NvdW50LCB0 aGF0IGJvdGggMyBhbmQgNyBwYXRjaCBhZmZlY3RzIE1kZVBrZy5kZWMsIHNob3VsZCBwYXRjaCA3 IGJlIGJhc2VkIG9uIE1kZVBrZyBhbHJlYWR5IHVwZGF0ZWQgYnkgcGF0Y2ggMywgb3INCj4gb3Jp Z2luYWw/DQo+IA0KPiBSZWdhcmRzLCBPbGVrc2l5Lg0KPiANCj4gDQo+IA0KPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBHYW8sIExpbWluZyBbbWFpbHRvOmxpbWluZy5nYW9A aW50ZWwuY29tXQ0KPiBTZW50OiBNb25kYXksIE1heSAxMSwgMjAyMCAxMDo0OSBBTQ0KPiBUbzog ZGV2ZWxAZWRrMi5ncm91cHMuaW87IEdhbywgTGltaW5nOyBMaXUsIFpoaWd1YW5nOyBPbGVrc2l5 IFlha292bGV2DQo+IENjOiBGZW5nLCBCb2IgQzsgS2lubmV5LCBNaWNoYWVsIEQ7IEZlbGl4IFBv bHl1ZG92DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0IDcvN10gTWRlUGtn OiBVRUZJIEpTT04gQ2Fwc3VsZSBTdXBwb3J0DQo+IA0KPiBPbGVrc2l5Og0KPiAgIEkgcmV2aWV3 IHRoZSBmdWxsIHBhdGNoIHNldC4gVGhpcyBjaGFuZ2Ugc2hvdWxkIGJlIGluIHBhdGNoIDMvNy4g UGxlYXNlIHVwZGF0ZSBpdC4gV2l0aCB0aGlzIGNoYW5nZSwgeW91IGNhbiBhZGQgbXkgUkIgUmV2 aWV3ZWQtYnk6DQo+IExpbWluZyBHYW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPi4NCj4gDQo+IFRo YW5rcw0KPiBMaW1pbmcNCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206 IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9m IExpbWluZyBHYW8NCj4gPiBTZW50OiBNb25kYXksIE1heSAxMSwgMjAyMCAxMDoxNCBQTQ0KPiA+ IFRvOiBMaXUsIFpoaWd1YW5nIDx6aGlndWFuZy5saXVAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5n cm91cHMuaW87IG9sZWtzaXl5QGFtaS5jb20NCj4gPiBDYzogRmVuZywgQm9iIEMgPGJvYi5jLmZl bmdAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsgRmVsaXhwQGFtaS5jb20NCj4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRD SCB2NCA3LzddIE1kZVBrZzogVUVGSSBKU09OIENhcHN1bGUgU3VwcG9ydA0KPiA+DQo+ID4gT2xl a3NpeToNCj4gPiAgIEkgZG9uJ3QgZmluZCB0aGlzIEdVSUQgQyBtYWNybyBkZWZpbml0aW9uLiBJ cyBpdCBpbnRyb2R1Y2VkIGJ5IFVFRkkgSlNPTj8NCj4gPg0KPiA+ID4gKyAgIyMgSW5jbHVkZVxH dWlkXEhpaVBsYXRmb3JtU2V0dXBGb3Jtc2V0LmgNCj4gPiA+ICsgIGdFZmlIaWlSZXNldFN0eWxl Rm9ybXNldEd1aWQgICAgID0geyAweDc5MDIxN2JkLCAweGJlY2YsIDB4NDg1YiwgeyAweDkxLA0K PiA+ID4gMHg3MCwgMHg1ZiwgMHhmNywgMHgxMSwgMHgzMSwgMHg4YiwgMHgyNyB9fQ0KPiA+DQo+ ID4gVGhhbmtzDQo+ID4gTGltaW5nDQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4gRnJvbTogTGl1LCBaaGlndWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT4NCj4gPiA+ IFNlbnQ6IFNhdHVyZGF5LCBNYXkgOSwgMjAyMCAxMDozNCBBTQ0KPiA+ID4gVG86IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBvbGVrc2l5eUBhbWkuY29tDQo+ID4gPiBDYzogRmVuZywgQm9iIEMgPGJv Yi5jLmZlbmdAaW50ZWwuY29tPjsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsg S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsNCj4gPiA+IEZl bGl4cEBhbWkuY29tDQo+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSCB2NCA3 LzddIE1kZVBrZzogVUVGSSBKU09OIENhcHN1bGUgU3VwcG9ydA0KPiA+ID4NCj4gPiA+IEhpIE9s ZWtzaXkuDQo+ID4gPg0KPiA+ID4gSSB0aGluayB3ZSBhbGwgYWdyZWUgdG8gcmVtb3ZlIHRoZSBj b21tZW50IG1hcmtlciBiZWZvcmUgdGhlIGZpbmFsIHBhcmFtZXRlciBpbiBzdHJ1Y3QuDQo+ID4g PiBQbGVhc2Ugc2VlIHRoaXMgbWFpbCBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2ZWwvbWVz c2FnZS81Nzg5NQ0KPiA+ID4gTGV0IG1lIGtub3cgaWYgeW91IGhhdmUgYW55IGNvbmNlcm4uDQo+ ID4gPg0KPiA+ID4gQW5kIG9uZSBsaXR0bGUgc3VnZ2VzdGlvbi4NCj4gPiA+IElmIHlvdSBzZW5k IGEgbmV3ZXIgdmVyc2lvbiBidXQgZG9uJ3QgY2hhbmdlIGFueXRoaW5nLCB5b3UgY2FuIHRha2Ug dGhlIFJldmlld2VkLWJ5IGluIHlvdXIgY29tbWl0IG1lc3NhZ2UgaWYgeW91IGdldCBvbmUuDQo+ ID4gPiBTbywgdGhlIHJldmlld2VyIGRvZXNuJ3QgaGF2ZSB0byByZXZpZXcgdGhlIHNhbWUgcGF0 Y2ggYWdhaW4g8J+Yig0KPiA+ID4NCj4gPiA+IFRoYW5rcw0KPiA+ID4gWmhpZ3VhbmcNCj4gPiA+ DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IGRldmVs QGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE9sZWtz aXkNCj4gPiA+ID4gWWFrb3ZsZXYNCj4gPiA+ID4gU2VudDogU2F0dXJkYXksIE1heSA5LCAyMDIw IDU6NDYgQU0NCj4gPiA+ID4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiA+IENjOiBG ZW5nLCBCb2IgQyA8Ym9iLmMuZmVuZ0BpbnRlbC5jb20+OyBHYW8sIExpbWluZw0KPiA+ID4gPiA8 bGltaW5nLmdhb0BpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+Ow0KPiA+ID4gPiBGZWxpeHBAYW1pLmNvbTsgb2xla3NpeXlAYW1pLmNvbQ0K PiA+ID4gPiBTdWJqZWN0OiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0IDcvN10gTWRlUGtnOiBVRUZJ IEpTT04gQ2Fwc3VsZSBTdXBwb3J0DQo+ID4gPiA+DQo+ID4gPiA+IEFkZGVkIEd1aWRzIGFuZCBz dHJ1Y3R1cmVzLCB0aGF0IGRlZmluZXMgdGhlIHdvcmsgZmxvdyB0byBwZXJmb3JtIGNhcHN1bGUN Cj4gPiA+ID4gdXBkYXRlIHVzaW5nIEpTT04gb2JqZWN0cy4NCj4gPiA+ID4gKFVFRkkgMi44IG1h bnRpcyAxOTM1KQ0KPiA+ID4gPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2l5IFlha292 bGV2IDxvbGVrc2l5eUBhbWkuY29tPg0KPiA+ID4gPiAtLS0NCj4gPiA+ID4gIE1kZVBrZy9JbmNs dWRlL0d1aWQvQ2Fwc3VsZVJlcG9ydC5oIHwgMjkgKysrKysrKysrKysNCj4gPiA+ID4gIE1kZVBr Zy9JbmNsdWRlL0d1aWQvSnNvbkNhcHN1bGUuaCAgIHwgOTcNCj4gPiA+ID4gKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiAgTWRlUGtnL0luY2x1ZGUvVWVmaS9V ZWZpU3BlYy5oICAgICAgfCAgMSArDQo+ID4gPiA+ICBNZGVQa2cvTWRlUGtnLmRlYyAgICAgICAg ICAgICAgICAgICB8IDExICsrKysrDQo+ID4gPiA+ICA0IGZpbGVzIGNoYW5nZWQsIDEzOCBpbnNl cnRpb25zKCspDQo+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTWRlUGtnL0luY2x1ZGUvR3Vp ZC9Kc29uQ2Fwc3VsZS5oDQo+ID4gPiA+DQo+ID4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5j bHVkZS9HdWlkL0NhcHN1bGVSZXBvcnQuaA0KPiA+ID4gPiBiL01kZVBrZy9JbmNsdWRlL0d1aWQv Q2Fwc3VsZVJlcG9ydC5oDQo+ID4gPiA+IGluZGV4IDkzZDJiYjcuLmFiMGY1NTIgMTAwNjQ0DQo+ ID4gPiA+IC0tLSBhL01kZVBrZy9JbmNsdWRlL0d1aWQvQ2Fwc3VsZVJlcG9ydC5oDQo+ID4gPiA+ ICsrKyBiL01kZVBrZy9JbmNsdWRlL0d1aWQvQ2Fwc3VsZVJlcG9ydC5oDQo+ID4gPiA+IEBAIC05 Myw2ICs5MywzNSBAQCB0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ICAgIC8vLw0KPiA+ID4gPiAg fSBFRklfQ0FQU1VMRV9SRVNVTFRfVkFSSUFCTEVfRk1QOw0KPiA+ID4gPg0KPiA+ID4gPiArdHlw ZWRlZiBzdHJ1Y3Qgew0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIC8vLw0KPiA+ID4gPiArICAvLy8g VmVyc2lvbiBvZiB0aGlzIHN0cnVjdHVyZSwgY3VycmVudGx5IDB4MDAwMDAwMDEgIC8vLw0KPiA+ ID4gPiArICBVSU5UMzIgICAgVmVyc2lvbjsNCj4gPiA+ID4gKw0KPiA+ID4gPiArICAvLy8NCj4g PiA+ID4gKyAgLy8vIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY2Fwc3VsZSB3aG9zZSBw cm9jZXNzaW5nIHJlc3VsdCBpcw0KPiA+ID4gPiByZWNvcmRlZCBpbiB0aGlzIHZhcmlhYmxlLg0K PiA+ID4gPiArICAvLy8gMHgwMDAwMDAwMCBiICAweEVGRkZGRkZGIGIgIEltcGxlbWVudGF0aW9u IFJlc2VydmVkICAvLy8NCj4gPiA+ID4gKyAweEYwMDAwMDAwIGIgIDB4RkZGRkZGRkYgYiAgU3Bl Y2lmaWNhdGlvbiBSZXNlcnZlZCAgLy8vICNkZWZpbmUNCj4gPiA+ID4gKyBSRURGSVNIX0RFRklO RURfSlNPTl9TQ0hFTUEgMHhGMDAwMDAwICAvLy8gVGhlIEpTT04gcGF5bG9hZCBzaGFsbA0KPiA+ ID4gPiArIGNvbmZvcm0gdG8gYSBSZWRmaXNoLWRlZmluZWQgSlNPTiBzY2hlbWEsIHNlZSBETVRG LVJlZGZpc2ggIC8vLw0KPiA+ID4gPiArIFNwZWNpZmljYXRpb24uDQo+ID4gPiA+ICsgIC8vLw0K PiA+ID4gPiArICBVSU5UMzIgQ2Fwc3VsZUlkOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIC8vLw0K PiA+ID4gPiArICAvLy8gVGhlIGxlbmd0aCBvZiBSZXNwIGluIGJ5dGVzLg0KPiA+ID4gPiArICAv Ly8NCj4gPiA+ID4gKyAgVUlOVDMyIFJlc3BMZW5ndGg7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAg Ly8vDQo+ID4gPiA+ICsgIC8vLyBWYXJpYWJsZSBsZW5ndGggYnVmZmVyIGNvbnRhaW5pbmcgdGhl IHJlcGxpZWQgSlNPTiBwYXlsb2FkIHRvIHRoZQ0KPiA+ID4gPiArIGNhbGxlciB3aG8gZGVsaXZl cmVkIEpTT04gIC8vLyBjYXBzdWxlIHRvIHN5c3RlbS4gVGhlIGRlZmluaXRpb24gb2YNCj4gPiA+ ID4gKyB0aGUgSlNPTiBzY2hlbWEgdXNlZCBpbiB0aGUgcmVwbGllZCBwYXlsb2FkIGlzIGJleW9u ZCAgLy8vIHRoZSBzY29wZSBvZg0KPiA+ID4gPiB0aGlzIHNwZWNpZmljYXRpb24uDQo+ID4gPiA+ ICsgIC8vLw0KPiA+ID4gPiArICAvLy8gVUlOVDggUmVzcFtdOw0KPiA+ID4gPiArIH0gRUZJX0NB UFNVTEVfUkVTVUxUX1ZBUklBQkxFX0pTT047DQo+ID4gPiA+DQo+ID4gPiA+ICBleHRlcm4gRUZJ X0dVSUQgZ0VmaUNhcHN1bGVSZXBvcnRHdWlkOw0KPiA+ID4gPg0KPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvTWRlUGtnL0luY2x1ZGUvR3VpZC9Kc29uQ2Fwc3VsZS5oDQo+ID4gPiA+IGIvTWRlUGtnL0lu Y2x1ZGUvR3VpZC9Kc29uQ2Fwc3VsZS5oDQo+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ ID4gPiA+IGluZGV4IDAwMDAwMDAuLjcyMTYzNmYNCj4gPiA+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ ID4gPiArKysgYi9NZGVQa2cvSW5jbHVkZS9HdWlkL0pzb25DYXBzdWxlLmgNCj4gPiA+ID4gQEAg LTAsMCArMSw5NyBAQA0KPiA+ID4gPiArLyoqIEBmaWxlDQo+ID4gPiA+ICtHdWlkICYgZGF0YSBz dHJ1Y3R1cmUgZm9yIHRhYmxlcyBkZWZpbmVkIGZvciByZXBvcnRpbmcgZmlybXdhcmUNCj4gPiA+ ID4gK2NvbmZpZ3VyYXRpb24gZGF0YSB0byBFRkkgQ29uZmlndXJhdGlvbiBUYWJsZXMgYW5kIGFs c28gZm9yIHByb2Nlc3NpbmcgSlNPTg0KPiA+ID4gPiBwYXlsb2FkIGNhcHN1bGUuDQo+ID4gPiA+ ICsNCj4gPiA+ID4gKw0KPiA+ID4gPiArQ29weXJpZ2h0IChjKSAyMDIwLCBBbWVyaWNhbiBNZWdh dHJlbmRzIEludGVybmF0aW9uYWwgTExDLiBBbGwgcmlnaHRzDQo+ID4gPiA+ICtyZXNlcnZlZC48 QlI+DQo+ID4gPiA+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiA+ID4gPiArDQo+ID4gPiA+ICsqKi8NCj4gPiA+ID4gKw0KPiA+ID4gPiArI2lmbmRlZiBf SlNPTl9DQVBTVUxFX0dVSURfSF9fDQo+ID4gPiA+ICsjZGVmaW5lIF9KU09OX0NBUFNVTEVfR1VJ RF9IX18NCj4gPiA+ID4gKw0KPiA+ID4gPiArLy8NCj4gPiA+ID4gKy8vIFRoZSBhZGRyZXNzIHJl cG9ydGVkIGluIHRoZSB0YWJsZSBlbnRyeSBpZGVudGlmaWVkIGJ5DQo+ID4gPiA+ICtFRklfSlNP Tl9DQVBTVUxFX0RBVEFfVEFCTEVfR1VJRCB3aWxsIGJlIC8vIHJlZmVyZW5jZWQgYXMgcGh5c2lj YWwNCj4gPiA+ID4gYW5kDQo+ID4gPiA+ICt3aWxsIG5vdCBiZSBmaXhlZCB1cCB3aGVuIHRyYW5z aXRpb24gZnJvbSBwcmVib290IHRvIHJ1bnRpbWUgcGhhc2UuIFRoZQ0KPiA+ID4gPiArLy8gYWRk cmVzc2VzIHJlcG9ydGVkIGluIHRoZXNlIHRhYmxlIGVudHJpZXMgaWRlbnRpZmllZCBieQ0KPiA+ ID4gPiArRUZJX0pTT05fQ09ORklHX0RBVEFfVEFCTEVfR1VJRCBhbmQgLy8NCj4gPiA+ID4gRUZJ X0pTT05fQ0FQU1VMRV9SRVNVTFRfVEFCTEVfR1VJRCB3aWxsIGJlIHJlZmVyZW5jZWQgYXMgdmly dHVhbCBhbmQNCj4gPiA+ID4gd2lsbCBiZSBmaXhlZCB1cCB3aGVuIC8vIHRyYW5zaXRpb24gZnJv bSBwcmVib290IHRvIHJ1bnRpbWUgcGhhc2UuDQo+ID4gPiA+ICsvLw0KPiA+ID4gPiArI2RlZmlu ZSBFRklfSlNPTl9DT05GSUdfREFUQV9UQUJMRV9HVUlEIFwNCj4gPiA+ID4gKyAgICB7MHg4NzM2 N2Y4NywgMHgxMTE5LCAweDQxY2UsIFwNCj4gPiA+ID4gKyAgICB7MHhhYSwgMHhlYywgMHg4Yiwg MHhlMCwgMHgxMSwgMHgxZiwgMHg1NSwgMHg4YSB9fSAjZGVmaW5lDQo+ID4gPiA+ICtFRklfSlNP Tl9DQVBTVUxFX0RBVEFfVEFCTEVfR1VJRCBcDQo+ID4gPiA+ICsgICAgezB4MzVlN2E3MjUsIDB4 OGRkMiwgMHg0Y2FjLCBcDQo+ID4gPiA+ICsgICAgezB4ODAsIDB4MTEsIDB4MzMsIDB4Y2QsIDB4 YTgsIDB4MTAsIDB4OTAsIDB4NTYgfX0gI2RlZmluZQ0KPiA+ID4gPiArRUZJX0pTT05fQ0FQU1VM RV9SRVNVTFRfVEFCTEVfR1VJRCBcDQo+ID4gPiA+ICsgICAgezB4ZGJjNDYxYzMsIDB4YjNkZSwg MHg0MjJhLFwNCj4gPiA+ID4gKyAgICB7MHhiOSwgMHhiNCwgMHg5OCwgMHg4NiwgMHhmZCwgMHg0 OSwgMHhhMSwgMHhlNSB9fSAjZGVmaW5lDQo+ID4gPiA+ICtFRklfSlNPTl9DQVBTVUxFX0lEX0dV SUQgXA0KPiA+ID4gPiArICAgIHsweDY3ZDZmNGNkLCAweGQ2YjgsICAweDQ1NzMsIFwNCj4gPiA+ ID4gKyAgICB7MHhiZiwgMHg0YSwgMHhkZSwgMHg1ZSwgMHgyNSwgMHgyZCwgMHg2MSwgMHhhZSB9 fQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNwcmFnbWEgcGFjaygxKQ0KPiA+ID4g PiArDQo+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ICsgIC8vLw0KPiA+ID4gPiAr ICAvLy8gVmVyc2lvbiBvZiB0aGUgc3RydWN0dXJlLCBpbml0aWFsbHkgMHgwMDAwMDAwMS4NCj4g PiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIFVJTlQzMiBWZXJzaW9uOw0KPiA+ID4gPiArDQo+ID4g PiA+ICsgIC8vLw0KPiA+ID4gPiArICAvLy8gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoaXMg Y2Fwc3VsZS4NCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIFVJTlQzMiBDYXBzdWxlSWQ7DQo+ ID4gPiA+ICsNCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIC8vLyBUaGUgbGVuZ3RoIG9mIHRo ZSBKU09OIHBheWxvYWQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoaXMgaGVhZGVyLCBpbg0KPiA+ ID4gPiBieXRlcy4NCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIFVJTlQzMiBQYXlsb2FkTGVu Z3RoOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIC8vLw0KPiA+ID4gPiArICAvLy8gVmFyaWFibGUg bGVuZ3RoIGJ1ZmZlciBjb250YWluaW5nIHRoZSBKU09OIHBheWxvYWQgdGhhdCBzaG91bGQgYmUN Cj4gPiA+ID4gK3BhcnNlZCBhbmQgYXBwbGllZCB0byB0aGUgc3lzdGVtLiBUaGUNCj4gPiA+ID4g KyAgLy8vIGRlZmluaXRpb24gb2YgdGhlIEpTT04gc2NoZW1hIHVzZWQgaW4gdGhlIHBheWxvYWQg aXMgYmV5b25kIHRoZSBzY29wZQ0KPiA+ID4gPiBvZiB0aGlzIHNwZWNpZmljYXRpb24uDQo+ID4g PiA+ICsgIC8vLyBVSU5UOCBQYXlsb2FkW107DQo+ID4gPiA+ICt9IEVGSV9KU09OX0NBUFNVTEVf SEVBREVSOw0KPiA+ID4gPiArDQo+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ICsg IC8vLw0KPiA+ID4gPiArICAvLy8gVGhlIGxlbmd0aCBvZiB0aGUgZm9sbG93aW5nIENvbmZpZ0Rh dGEsIGluIGJ5dGVzLg0KPiA+ID4gPiArICAvLy8NCj4gPiA+ID4gKyAgVUlOVDMyIENvbmZpZ0Rh dGFMZW5ndGg7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIC8vLyBWYXJp YWJsZSBsZW5ndGggYnVmZmVyIGNvbnRhaW5pbmcgdGhlIEpTT04gcGF5bG9hZCB0aGF0IGRlc2Ny aWJlcw0KPiA+ID4gPiArb25lIGdyb3VwIG9mIGNvbmZpZ3VyYXRpb24gZGF0YSB3aXRoaW4NCj4g PiA+ID4gKyAgLy8vIGN1cnJlbnQgc3lzdGVtLiBUaGUgZGVmaW5pdGlvbiBvZiB0aGUgSlNPTiBz Y2hlbWEgdXNlZCBpbiB0aGlzIHBheWxvYWQNCj4gPiA+ID4gaXMgYmV5b25kIHRoZSBzY29wZSBv ZiB0aGlzIHNwZWNpZmljYXRpb24uDQo+ID4gPiA+ICsgIC8vLw0KPiA+ID4gPiArICAvLy9VSU5U OCBDb25maWdEYXRhW0NvbmZpZ0RhdGFMZW5ndGhdOyB9IEVGSV9KU09OX0NPTkZJR19EQVRBX0lU RU07DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gKyAgLy8v DQo+ID4gPiA+ICsgIC8vLyBWZXJzaW9uIG9mIHRoZSBzdHJ1Y3R1cmUsIGluaXRpYWxseSAweDAw MDAwMDAxLg0KPiA+ID4gPiArICAvLy8NCj4gPiA+ID4gKyAgVUlOVDMyIFZlcnNpb247DQo+ID4g PiA+ICsNCj4gPiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIC8vLy9UaGUgdG90YWwgbGVuZ3RoIG9m IEVGSV9KU09OX0NBUFNVTEVfQ09ORklHX0RBVEEsIGluIGJ5dGVzLg0KPiA+ID4gPiArICAvLy8N Cj4gPiA+ID4gKyAgVUlOVDMyIFRvdGFsTGVuZ3RoOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsgIC8v Lw0KPiA+ID4gPiArICAvLy8gQXJyYXkgb2YgY29uZmlndXJhdGlvbiBkYXRhIGdyb3Vwcy4NCj4g PiA+ID4gKyAgLy8vDQo+ID4gPiA+ICsgIC8vLyBFRklfSlNPTl9DT05GSUdfREFUQV9JVEVNIENv bmZpZ0RhdGFMaXN0W107IH0NCj4gPiA+ID4gK0VGSV9KU09OX0NBUFNVTEVfQ09ORklHX0RBVEE7 DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyNwcmFnbWEgcGFjaygpDQo+ID4gPiA+ICsNCj4gPiA+ID4g K2V4dGVybiBFRklfR1VJRCBnRWZpSnNvbkNvbmZpZ0RhdGFUYWJsZUd1aWQ7IGV4dGVybiBFRklf R1VJRA0KPiA+ID4gPiArZ0VmaUpzb25DYXBzdWxlRGF0YVRhYmxlR3VpZDsgZXh0ZXJuIEVGSV9H VUlEDQo+ID4gPiA+ICtnRWZpSnNvbkNhcHN1bGVSZXN1bHRUYWJsZUd1aWQ7IGV4dGVybiBFRklf R1VJRCBnRWZpSnNvbkNhcHN1bGVJZEd1aWQ7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKw0KPiA+ID4g PiArI2VuZGlmDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvSW5jbHVkZS9VZWZpL1VlZmlT cGVjLmgNCj4gPiA+ID4gYi9NZGVQa2cvSW5jbHVkZS9VZWZpL1VlZmlTcGVjLmggaW5kZXggYjky ODJjYy4uMzU0NzM0NSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvTWRlUGtnL0luY2x1ZGUvVWVmaS9V ZWZpU3BlYy5oDQo+ID4gPiA+ICsrKyBiL01kZVBrZy9JbmNsdWRlL1VlZmkvVWVmaVNwZWMuaA0K PiA+ID4gPiBAQCAtMTc4Myw2ICsxNzgzLDcgQEAgRUZJX1NUQVRVUw0KPiA+ID4gPiAgI2RlZmlu ZSBFRklfT1NfSU5ESUNBVElPTlNfRk1QX0NBUFNVTEVfU1VQUE9SVEVEDQo+ID4gPiA+IDB4MDAw MDAwMDAwMDAwMDAwOA0KPiA+ID4gPiAgI2RlZmluZSBFRklfT1NfSU5ESUNBVElPTlNfQ0FQU1VM RV9SRVNVTFRfVkFSX1NVUFBPUlRFRA0KPiA+ID4gPiAweDAwMDAwMDAwMDAwMDAwMTANCj4gPiA+ ID4gICNkZWZpbmUgRUZJX09TX0lORElDQVRJT05TX1NUQVJUX1BMQVRGT1JNX1JFQ09WRVJZDQo+ ID4gPiA+IDB4MDAwMDAwMDAwMDAwMDA0MA0KPiA+ID4gPiArI2RlZmluZSBFRklfT1NfSU5ESUNB VElPTlNfSlNPTl9DT05GSUdfREFUQV9SRUZSRVNIDQo+ID4gPiA+IDB4MDAwMDAwMDAwMDAwMDA4 MA0KPiA+ID4gPg0KPiA+ID4gPiAgLy8NCj4gPiA+ID4gIC8vIEVGSSBSdW50aW1lIFNlcnZpY2Vz IFRhYmxlDQo+ID4gPiA+IGRpZmYgLS1naXQgYS9NZGVQa2cvTWRlUGtnLmRlYyBiL01kZVBrZy9N ZGVQa2cuZGVjIGluZGV4DQo+ID4gPiA+IDBiOWM0YmMuLjVkYzAyZjIgMTAwNjQ0DQo+ID4gPiA+ IC0tLSBhL01kZVBrZy9NZGVQa2cuZGVjDQo+ID4gPiA+ICsrKyBiL01kZVBrZy9NZGVQa2cuZGVj DQo+ID4gPiA+IEBAIC02NDUsNiArNjQ1LDE3IEBADQo+ID4gPiA+ICAgICMjIEluY2x1ZGUvR3Vp ZC9CdHQuaA0KPiA+ID4gPiAgICBnRWZpQnR0QWJzdHJhY3Rpb25HdWlkICAgICAgICAgPSB7IDB4 MTg2MzNiZmMsIDB4MTczNSwgMHg0MjE3LCB7IDB4OGEsIDB4YzksDQo+ID4gPiA+IDB4MTcsIDB4 MjMsIDB4OTIsIDB4ODIsIDB4ZDMsIDB4ZjggfX0NCj4gPiA+ID4NCj4gPiA+ID4gKyAgIyBHVUlE cyBkZWZpbmVkIGluIFVFRkkyLjgNCj4gPiA+ID4gKyAgIw0KPiA+ID4gPiArICAjIyBJbmNsdWRl L0d1aWQvSnNvbkNhcHN1bGUuaA0KPiA+ID4gPiArICBnRWZpSnNvbkNvbmZpZ0RhdGFUYWJsZUd1 aWQgICAgICA9IHsgMHg4NzM2N2Y4NywgMHgxMTE5LCAweDQxY2UsIHsgMHhhYSwNCj4gPiA+ID4g MHhlYywgMHg4YiwgMHhlMCwgMHgxMSwgMHgxZiwgMHg1NSwgMHg4YSB9fQ0KPiA+ID4gPiArICBn RWZpSnNvbkNhcHN1bGVEYXRhVGFibGVHdWlkICAgICA9IHsgMHgzNWU3YTcyNSwgMHg4ZGQyLCAw eDRjYWMsIHsgMHg4MCwNCj4gPiA+ID4gMHgxMSwgMHgzMywgMHhjZCwgMHhhOCwgMHgxMCwgMHg5 MCwgMHg1NiB9fQ0KPiA+ID4gPiArICBnRWZpSnNvbkNhcHN1bGVSZXN1bHRUYWJsZUd1aWQgICA9 IHsgMHhkYmM0NjFjMywgMHhiM2RlLCAweDQyMmEsIHsgMHhiOSwNCj4gPiA+ID4gMHhiNCwgMHg5 OCwgMHg4NiwgMHhmZCwgMHg0OSwgMHhhMSwgMHhlNSB9fQ0KPiA+ID4gPiArICBnRWZpSnNvbkNh cHN1bGVJZEd1aWQgICAgICAgICAgICA9IHsgMHg2N2Q2ZjRjZCwgMHhkNmI4LCAweDQ1NzMsIHsg MHhiZiwgMHg0YSwNCj4gPiA+ID4gMHhkZSwgMHg1ZSwgMHgyNSwgMHgyZCwgMHg2MSwgMHhhZSB9 fQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsgICMjIEluY2x1ZGVcR3VpZFxIaWlQbGF0Zm9ybVNldHVw Rm9ybXNldC5oDQo+ID4gPiA+ICsgIGdFZmlIaWlSZXNldFN0eWxlRm9ybXNldEd1aWQgICAgID0g eyAweDc5MDIxN2JkLCAweGJlY2YsIDB4NDg1YiwgeyAweDkxLA0KPiA+ID4gPiAweDcwLCAweDVm LCAweGY3LCAweDExLCAweDMxLCAweDhiLCAweDI3IH19DQo+ID4gPiA+ICsNCj4gPiA+ID4gICAg Iw0KPiA+ID4gPiAgICAjIEdVSUQgZGVmaW5lZCBpbiBQSTEuMA0KPiA+ID4gPiAgICAjDQo+ID4g PiA+IC0tDQo+ID4gPiA+IDIuOS4wLndpbmRvd3MuMQ0KPiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4g PiBQbGVhc2UgY29uc2lkZXIgdGhlIGVudmlyb25tZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGVt YWlsLg0KPiA+ID4gPg0KPiA+ID4gPiBUaGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGluIHRoaXMg bWVzc2FnZSBtYXkgYmUgY29uZmlkZW50aWFsIGFuZA0KPiA+ID4gPiBwcm9wcmlldGFyeSB0byBB bWVyaWNhbiBNZWdhdHJlbmRzIChBTUkpLiAgVGhpcyBjb21tdW5pY2F0aW9uIGlzIGludGVuZGVk DQo+ID4gPiA+IHRvIGJlIHJlYWQgb25seSBieSB0aGUgaW5kaXZpZHVhbCBvciBlbnRpdHkgdG8g d2hvbSBpdCBpcyBhZGRyZXNzZWQgb3IgYnkgdGhlaXINCj4gPiA+ID4gZGVzaWduZWUuIElmIHRo ZSByZWFkZXIgb2YgdGhpcyBtZXNzYWdlIGlzIG5vdCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCB5 b3UgYXJlDQo+ID4gPiA+IG9uIG5vdGljZSB0aGF0IGFueSBkaXN0cmlidXRpb24gb2YgdGhpcyBt ZXNzYWdlLCBpbiBhbnkgZm9ybSwgaXMgc3RyaWN0bHkNCj4gPiA+ID4gcHJvaGliaXRlZC4gIFBs ZWFzZSBwcm9tcHRseSBub3RpZnkgdGhlIHNlbmRlciBieSByZXBseSBlLW1haWwgb3IgYnkNCj4g PiA+ID4gdGVsZXBob25lIGF0IDc3MC0yNDYtODYwMCwgYW5kIHRoZW4gZGVsZXRlIG9yIGRlc3Ry b3kgYWxsIGNvcGllcyBvZiB0aGUNCj4gPiA+ID4gdHJhbnNtaXNzaW9uLg0KPiA+ID4gPg0KPiA+ ID4gPg0KPiA+DQo+ID4NCj4gPiANCj4gDQo+IA0KPiBQbGVhc2UgY29uc2lkZXIgdGhlIGVudmly b25tZW50IGJlZm9yZSBwcmludGluZyB0aGlzIGVtYWlsLg0KPiANCj4gVGhlIGluZm9ybWF0aW9u IGNvbnRhaW5lZCBpbiB0aGlzIG1lc3NhZ2UgbWF5IGJlIGNvbmZpZGVudGlhbCBhbmQgcHJvcHJp ZXRhcnkgdG8gQW1lcmljYW4gTWVnYXRyZW5kcyAoQU1JKS4gIFRoaXMgY29tbXVuaWNhdGlvbg0K PiBpcyBpbnRlbmRlZCB0byBiZSByZWFkIG9ubHkgYnkgdGhlIGluZGl2aWR1YWwgb3IgZW50aXR5 IHRvIHdob20gaXQgaXMgYWRkcmVzc2VkIG9yIGJ5IHRoZWlyIGRlc2lnbmVlLiBJZiB0aGUgcmVh ZGVyIG9mIHRoaXMgbWVzc2FnZSBpcw0KPiBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgeW91 IGFyZSBvbiBub3RpY2UgdGhhdCBhbnkgZGlzdHJpYnV0aW9uIG9mIHRoaXMgbWVzc2FnZSwgaW4g YW55IGZvcm0sIGlzIHN0cmljdGx5IHByb2hpYml0ZWQuICBQbGVhc2UNCj4gcHJvbXB0bHkgbm90 aWZ5IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIG9yIGJ5IHRlbGVwaG9uZSBhdCA3NzAtMjQ2 LTg2MDAsIGFuZCB0aGVuIGRlbGV0ZSBvciBkZXN0cm95IGFsbCBjb3BpZXMgb2YgdGhlIHRyYW5z bWlzc2lvbi4NCg==