From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web09.22329.1604974436378336221 for ; Mon, 09 Nov 2020 18:13:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=plo0pKpr; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: heng.luo@intel.com) IronPort-SDR: d498pI5JxFHAu4GOMRdaNgMh8Ee0ZBVr1+GXmrN9qAr0aKk3ZSp9HLJd2VnYhLiCtugE/vrDtT J0bhCbVY23+Q== X-IronPort-AV: E=McAfee;i="6000,8403,9800"; a="149183804" X-IronPort-AV: E=Sophos;i="5.77,465,1596524400"; d="scan'208";a="149183804" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Nov 2020 18:13:55 -0800 IronPort-SDR: r24XoLM151k5uLyAPb8XujiM/idJnFwLuVexkBeBzUNrEW8qapMl2yNNCtA7cSxHsWfBZcuNQu b0xRQFthEdNQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,465,1596524400"; d="scan'208";a="322665126" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga003.jf.intel.com with ESMTP; 09 Nov 2020 18:13:55 -0800 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Mon, 9 Nov 2020 18:13:54 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Mon, 9 Nov 2020 18:13:54 -0800 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.172) 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.1713.5; Mon, 9 Nov 2020 18:13:54 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K7Bw5PFKRSVcBMKb73wC/DRm0k8o+yTI2lgyWO5SduinmNSdTwUWiTixuJYwx/6nmS8njQKFs8VOBOY5dNcPwk/ou/KhpCTyUOQ6qlsNkFcLHM/E/SwbNiD+QTPPmhWp2L2oHO8hMLZyZGvG77yEvatgeXvs1cJkXEye3NsKlF99mHEyLQ1YkV7r8c/c0x35xj8qeA5PZecJn/FX3DC6m2HNgNtpWFmWstv6jTN7qnsTbRbspeIjZywjQSbQMcKdKjdegpRZq+SQKRBgSctvCpmYROz2Bv8csRVpHov4EoD7shxTIPpbMTxX8cycCymSFFJhvkXwcOMe9+HEVW9z+A== 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=EaxoDb9H69Pvz+tGlBNfrqZ/pPrZkOsqc+0trucTkh4=; b=I3BqUkePCvYVcBSnd6e8eBvGxkCQaTkcJpU6g+b4z1TWrRcqbfdIroGyslYwK9Sah7ycqucQeSSVw6hB11h5wVC8qAhD1PxQrXfHCglFSiA+n3K+7VDCExREU6g+VGLS9T5j7jNy+z0EAJaEIms8407XLgujvxmmnmnN1NUxIyba9F0IhBXzydmMpl1jIAOq5E3DWA+aFxB6VuotWqfU5PvwCFhycQE1yOmNq3nQ/8vbpAT6EenlQvj5EAZIoa5WuD+bAmOuMvdxERDKuBfnvRqWL1NqgVDHNcjZDy2OLzxmiSC8k4AwkJrrpCSdq3bdu+adQu50TdH0Us21ijvlKQ== 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=EaxoDb9H69Pvz+tGlBNfrqZ/pPrZkOsqc+0trucTkh4=; b=plo0pKprgnQuqM8t4SzF7WFLWX6Pst2mGGzIVo+V91ZxU3zHah6X77d7p0fSi4/7cuX7jp8H7DNegqn/hPBvGWO+xHBOYFHxiyPZLnbYna0wqC3HaOHubvSTBwNrC7c4Nlg6nlkG3LDYpREh3mo/XaKN9nypuxweEh3dX9O8LOU= Received: from MWHPR11MB1805.namprd11.prod.outlook.com (2603:10b6:300:114::14) by MWHPR1101MB2096.namprd11.prod.outlook.com (2603:10b6:301:58::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.21; Tue, 10 Nov 2020 02:13:52 +0000 Received: from MWHPR11MB1805.namprd11.prod.outlook.com ([fe80::bd78:5a79:d875:65e4]) by MWHPR11MB1805.namprd11.prod.outlook.com ([fe80::bd78:5a79:d875:65e4%12]) with mapi id 15.20.3541.025; Tue, 10 Nov 2020 02:13:52 +0000 From: "Heng Luo" To: "devel@edk2.groups.io" , "gaoliming@byosoft.com.cn" CC: "Dong, Eric" , "Chiu, Chasel" , "Desimone, Nathaniel L" Subject: Re: [edk2-devel] [Patch V4] MinPlatformPkg: console redirect after the shell is loaded Thread-Topic: [edk2-devel] [Patch V4] MinPlatformPkg: console redirect after the shell is loaded Thread-Index: AQEd+XYAKpYg6UWjIi1sxHSaCEvBNqsqKWtggAACioCAB+8zcA== Date: Tue, 10 Nov 2020 02:13:52 +0000 Message-ID: References: <20201104080544.515-1-heng.luo@intel.com> <001701d6b30e$46e25380$d4a6fa80$@byosoft.com.cn> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 85a3cf08-1543-4366-b3fc-08d8851e452c x-ms-traffictypediagnostic: MWHPR1101MB2096: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 96C5omw0kucEPPQyry7Y92hplPRf4YMpWcRyavc3zfDm4aoHNOhCsGDYTttoRTNKkbz147xuSJj5GOjUnYEXNMQCsg3NHksFNrhZkOtIRBDOTHBJPga792FW5ZqF4I4Ju1VHKOfxXW7miLSxb8cqe0WW+rKwf2Q4zH6PgLbG7aFX6b47+15cY0Mv4fHV1j7CvvgnM+u9wPg0PPJ6BqMNOv7IxCyhXdVH5xbDakLp4kWGJpOL9lmId75vspBKdFU1vwofIl5vXwN/Xt015KYo6BbRUUTQv/omm6FucEQ2ItYOPpEAExINOtE0GSRqOJeViG+8kc+ECe/Qj6GDrAGrhaegux9y8oU647x0izSF81mfUC/m9JSOj7GGID0sgtRtYv9rbinU2MvbfxNTr9plOQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1805.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(33656002)(107886003)(5660300002)(6506007)(19627235002)(316002)(86362001)(71200400001)(30864003)(52536014)(2906002)(53546011)(186003)(26005)(4326008)(66476007)(66946007)(66556008)(55016002)(66446008)(76116006)(9686003)(64756008)(54906003)(8936002)(110136005)(478600001)(966005)(7696005)(8676002)(83380400001)(559001)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: YSQmD4/+YEuapziiZSQOtztTKGlH3PsBQ+2RyPtGZ7Wh9OVRFK+t6EynzZMMx857jN36esYPI4SZyvI+OWHK3lFrlKXs3R8tig1v7EdOUSR5etAzqTLdrYv+AzOBiD/pAGbbBQXm8x2GVnRJW7Anm0JO1OtLAGVQArp9JQW/fdT8NDhVPYZ2h2Tf9KERQXsmvVq/4qdkP72kWu0WtIoITH5ifVfPywn9Wri4KOUBK4p7DitrAeNfg+eTVK5HebxqRqUPezxl3NlM9N7McYMu+FvVjyXRcJc2R+nctv6joVupnM7hmWUvlFF8HliyjfCNtVQ/t02sJvFIRYWAZl54vgukBEnYaa6wCw2FbcVvxOR+pG/YTb0EbEfCOKR/b7QCHTBHi3xJKWeRe+7I+cuOnypP4IVfKtzp6OsSeVr2DUuFOaoSf3HZkWJwrRQkSRlHPQxnxauF3Ec+Zy+tuwB8GSgGIWq1Q8i/Ll0wYu/IblLCLhqF+ww88Pn+udbyOShmFiXgk8MM9jc4UenMqetkJpVoMO4sQxb4RLGWCIbEHN9HLPxu316juLNAvzX/Dd5qusWNTn1tQc4LaMcyq4/V2jlq5yn0YNGCOoljy65ryK4onieUbLw6ySzygoQx4IJY5xCPhtOV3t4/+MNo0TJZbg== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1805.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85a3cf08-1543-4366-b3fc-08d8851e452c X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2020 02:13:52.8286 (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: eRTdhwl+GljjASusQoDD8YEZAs3IumiGgQzJu98E4zTjEMebgAiigxcNupmBFGeC9EmrfNdmJ9gRv4DAWo/4Sw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1101MB2096 Return-Path: heng.luo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 RGVhciBhbGwsDQpBbnkgY29tbWVudHMgYWJvdXQgUGF0Y2ggVjQ/DQoNClRoYW5rcywNCkhlbmcN Cg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBMdW8sIEhlbmcNCj4gU2Vu dDogVGh1cnNkYXksIE5vdmVtYmVyIDUsIDIwMjAgOTowOCBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW87IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbg0KPiBDYzogRG9uZywgRXJpYyA8ZXJp Yy5kb25nQGludGVsLmNvbT47IENoaXUsIENoYXNlbCA8Y2hhc2VsLmNoaXVAaW50ZWwuY29tPjsN Cj4gRGVzaW1vbmUsIE5hdGhhbmllbCBMIDxuYXRoYW5pZWwubC5kZXNpbW9uZUBpbnRlbC5jb20+ DQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFY0XSBNaW5QbGF0Zm9ybVBrZzog Y29uc29sZSByZWRpcmVjdCBhZnRlcg0KPiB0aGUgc2hlbGwgaXMgbG9hZGVkDQo+IA0KPiBIaSBM aW1pbmcsDQo+IA0KPiBJIHRoaW5rIG5vdCwgaWYgSSBzZXBhcmF0ZSBpdCBpbnRvIDIgcGF0Y2gg Zm9yIE1pblBsYXRmb3JtUGtnIGFuZA0KPiBPcGVuQm9hcmRQa2dQY2QsIGl0IHdpbGwgY2F1c2Ug T3BlbkJvYXJkIHBsYXRmb3JtIGJ1aWxkIGVycm9yIGlmIGl0IGFwcGx5cw0KPiBNaW5QbGF0Zm9y bVBrZyBwYXRjaCBvbmx5IGJlY2F1c2UgUGNkU2VyaWFsVGVybWluYWxFbmFibGUgaXMgIG5vdCBk ZWZpbmVkLg0KPiANCj4gDQo+IFRoYW5rcywNCj4gSGVuZw0KPiANCj4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+ID4gZ2FvbGltaW5nDQo+ID4gU2VudDogVGh1cnNk YXksIE5vdmVtYmVyIDUsIDIwMjAgODo1NSBBTQ0KPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5p bzsgTHVvLCBIZW5nIDxoZW5nLmx1b0BpbnRlbC5jb20+DQo+ID4gQ2M6IERvbmcsIEVyaWMgPGVy aWMuZG9uZ0BpbnRlbC5jb20+OyBDaGl1LCBDaGFzZWwNCj4gPiA8Y2hhc2VsLmNoaXVAaW50ZWwu Y29tPjsgRGVzaW1vbmUsIE5hdGhhbmllbCBMDQo+ID4gPG5hdGhhbmllbC5sLmRlc2ltb25lQGlu dGVsLmNvbT4NCj4gPiBTdWJqZWN0OiC72Li0OiBbZWRrMi1kZXZlbF0gW1BhdGNoIFY0XSBNaW5Q bGF0Zm9ybVBrZzogY29uc29sZSByZWRpcmVjdA0KPiA+IGFmdGVyIHRoZSBzaGVsbCBpcyBsb2Fk ZWQNCj4gPg0KPiA+IEhlbmc6DQo+ID4gIENhbiB5b3Ugc2VwYXJhdGUgdGhlIHBhdGNoIGZvciB0 aGUgZGlmZmVyZW50IHBhY2thZ2VzPyBJZiBzbywgaXQgd2lsbA0KPiA+IGJlIGVhc2lseSB0byBi ZSByZXZpZXdlZC4NCj4gPg0KPiA+IFRoYW5rcw0KPiA+IExpbWluZw0KPiA+ID4gLS0tLS3Tyrz+ 1K28/i0tLS0tDQo+ID4gPiC3orz+yMs6IGJvdW5jZSsyNzk1Mis2Njk3Mys0OTA1OTUzKzg3NjEw NDVAZ3JvdXBzLmlvDQo+ID4gPiA8Ym91bmNlKzI3OTUyKzY2OTczKzQ5MDU5NTMrODc2MTA0NUBn cm91cHMuaW8+ILT6se0gSGVuZyBMdW8NCj4gPiA+ILeiy83KsbzkOiAyMDIwxOoxMdTCNMjVIDE2 OjA2DQo+ID4gPiDK1bz+yMs6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiCzrcvNOiBFcmlj IERvbmcgPGVyaWMuZG9uZ0BpbnRlbC5jb20+OyBDaGFzZWwgQ2hpdQ0KPiA+ID4gPGNoYXNlbC5j aGl1QGludGVsLmNvbT47IE5hdGUgRGVTaW1vbmUNCj4gPiA+IDxuYXRoYW5pZWwubC5kZXNpbW9u ZUBpbnRlbC5jb20+DQo+ID4gPiDW98ziOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFY0XSBNaW5QbGF0 Zm9ybVBrZzogY29uc29sZSByZWRpcmVjdCBhZnRlcg0KPiA+ID4gdGhlIHNoZWxsIGlzIGxvYWRl ZA0KPiA+ID4NCj4gPiA+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3df YnVnLmNnaT9pZD0zMDE0DQo+ID4gPg0KPiA+ID4gVXNlIFNlcmlhbFBvcnRUZXJtaW5hbExpYiB0 byBnZXQgY29uc29sZSByZWRpcmVjdCBhZnRlciB0aGUgc2hlbGwgaXMNCj4gPiA+IGxvYWRlZDoN Cj4gPiA+IDEuIEFkZCBTZXJpYWxQb3J0VGVybWluYWxMaWIgdG8gTWluUGxhdGZvcm1Qa2cvTGli cmFyeSwgYWRkIFBDRHMgdG8NCj4gPiA+IGNvbmZpZ3VyZSBzZXJpYWwgcG9ydC4NCj4gPiA+IDIu IEFkZCBTZXJpYWxQb3J0VGVybWluYWxMaWIgdG8gQmRzRHhlIGRyaXZlciwgdG8gYWRkIHRoZSBz ZXJpYWwNCj4gPiA+IGRldmljZSB0byAgQ29uSW4gYW5kIENvbk91dCB2YXJpYWJsZXMgMy4gSW5j bHVkZSBTZXJpYWxEeGUgYW5kDQo+ID4gPiBUZXJtaW5hbER4ZSB0byBDb3JlRHhlSW5jbHVkZS5k c2MgYW5kICBDb3JlVWVmaUJvb3RJbmNsdWRlLmZkZi4NCj4gPiA+IDQuIFVzZSBQY2RTZXJpYWxU ZXJtaW5hbEVuYWJsZSB0byBlbmFibGUvZGlzYWJsZSB0aGlzIGZlYXR1cmUuDQo+ID4gPiA1LiBF bmFibGUgZmVhdHVyZSBmb3IgVXBYdHJlbWUsIGFuZCBkaXNhYmxlIGl0IGZvciBvdGhlciBwbGF0 Zm9ybSBieQ0KPiA+IGRlZmF1bHQuDQo+ID4gPg0KPiA+ID4gQ2M6IEVyaWMgRG9uZyA8ZXJpYy5k b25nQGludGVsLmNvbT4NCj4gPiA+IENjOiBDaGFzZWwgQ2hpdSA8Y2hhc2VsLmNoaXVAaW50ZWwu Y29tPg0KPiA+ID4gQ2M6IE5hdGUgRGVTaW1vbmUgPG5hdGhhbmllbC5sLmRlc2ltb25lQGludGVs LmNvbT4NCj4gPiA+IFNpZ25lZC1vZmYtYnk6IEhlbmcgTHVvIDxoZW5nLmx1b0BpbnRlbC5jb20+ DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4gPg0KPiA+DQo+IFBsYXRmb3JtL0ludGVsL0NvbWV0bGFr ZU9wZW5Cb2FyZFBrZy9Db21ldGxha2VVUnZwL09wZW5Cb2FyZFBrZ1BjZA0KPiA+ID4gLmRzYyAg ICAgICAgICAgICAgICB8ICAgMSArDQo+ID4gPg0KPiBQbGF0Zm9ybS9JbnRlbC9LYWJ5bGFrZU9w ZW5Cb2FyZFBrZy9HYWxhZ29Qcm8zL09wZW5Cb2FyZFBrZ1BjZC5kc2MNCj4gPiA+IHwgICAxICsN Cj4gPiA+DQo+ID4gPg0KPiA+DQo+IFBsYXRmb3JtL0ludGVsL0thYnlsYWtlT3BlbkJvYXJkUGtn L0thYnlsYWtlUnZwMy9PcGVuQm9hcmRQa2dQY2QuZHNjDQo+ID4gPiB8ICAgMSArDQo+ID4gPiAg UGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvSW5jbHVkZS9Ec2MvQ29yZUR4ZUluY2x1ZGUu ZHNjDQo+ID4gPiB8ICAxNSArKysrKysrKysrKysrLS0NCj4gPiA+ICBQbGF0Zm9ybS9JbnRlbC9N aW5QbGF0Zm9ybVBrZy9JbmNsdWRlL0ZkZi9Db3JlVWVmaUJvb3RJbmNsdWRlLmZkZg0KPiA+ID4g fCAgIDggKysrKysrKy0NCj4gPiA+DQo+ID4gPg0KPiA+IFBsYXRmb3JtL0ludGVsL01pblBsYXRm b3JtUGtnL0xpYnJhcnkvU2VyaWFsUG9ydFRlcm1pbmFsTGliL1NlcmlhbFBvcnQNCj4gPiBUZXJt DQo+ID4gaQ0KPiA+ID4gbmFsTGliLmMgICB8IDEwMg0KPiA+ID4NCj4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+DQo+ID4gPg0KPiA+ IFBsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0xpYnJhcnkvU2VyaWFsUG9ydFRlcm1pbmFs TGliL1NlcmlhbFBvcnQNCj4gPiBUZXJtDQo+ID4gaQ0KPiA+ID4gbmFsTGliLmggICB8ICA0OA0K PiA+ID4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ ID4gPg0KPiA+ID4NCj4gPiBQbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9MaWJyYXJ5L1Nl cmlhbFBvcnRUZXJtaW5hbExpYi9TZXJpYWxQb3J0DQo+ID4gVGVybQ0KPiA+IGkNCj4gPiA+IG5h bExpYi5pbmYgfCAgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0K PiA+ID4gIFBsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRlYw0K PiA+ID4gfCAgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gIFBsYXRmb3JtL0lu dGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRzYw0KPiA+ID4gfCAgIDMgKystDQo+ ID4gPg0KPiBQbGF0Zm9ybS9JbnRlbC9TaW1pY3NPcGVuQm9hcmRQa2cvQm9hcmRYNThJY2gxMC9P cGVuQm9hcmRQa2dQY2QuZHNjDQo+ID4gPiB8ICAgMSArDQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBQ bGF0Zm9ybS9JbnRlbC9XaGlza2V5bGFrZU9wZW5Cb2FyZFBrZy9VcFh0cmVtZS9PcGVuQm9hcmRQ a2dQY2QuZHNjDQo+ID4gPiB8ICAgMSArDQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBQbGF0Zm9ybS9J bnRlbC9XaGlza2V5bGFrZU9wZW5Cb2FyZFBrZy9XaGlza2V5bGFrZVVSdnAvT3BlbkJvYXJkUGtn DQo+ID4gPiBQY2QuZHNjICAgICAgICAgICAgfCAgIDEgKw0KPiA+ID4gIDEzIGZpbGVzIGNoYW5n ZWQsIDI0MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiA+ID4NCj4gPiA+IGRpZmYg LS1naXQNCj4gPiA+DQo+ID4NCj4gYS9QbGF0Zm9ybS9JbnRlbC9Db21ldGxha2VPcGVuQm9hcmRQ a2cvQ29tZXRsYWtlVVJ2cC9PcGVuQm9hcmRQa2dQDQo+ID4gPiBjZC5kc2MNCj4gPiA+DQo+ID4N Cj4gYi9QbGF0Zm9ybS9JbnRlbC9Db21ldGxha2VPcGVuQm9hcmRQa2cvQ29tZXRsYWtlVVJ2cC9P cGVuQm9hcmRQa2dQDQo+ID4gPiBjZC5kc2MNCj4gPiA+IGluZGV4IGQ2MTFlOTlmYzEuLjU4OWIw MDJkMDYgMTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4NCj4gYS9QbGF0Zm9ybS9JbnRlbC9D b21ldGxha2VPcGVuQm9hcmRQa2cvQ29tZXRsYWtlVVJ2cC9PcGVuQm9hcmRQa2dQDQo+ID4gPiBj ZC5kc2MNCj4gPiA+ICsrKw0KPiA+ID4NCj4gPg0KPiBiL1BsYXRmb3JtL0ludGVsL0NvbWV0bGFr ZU9wZW5Cb2FyZFBrZy9Db21ldGxha2VVUnZwL09wZW5Cb2FyZFBrZ1ANCj4gPiA+IGNkLmRzYw0K PiA+ID4gQEAgLTEzMSw2ICsxMzEsNyBAQA0KPiA+ID4gICAgZ01pblBsYXRmb3JtUGtnVG9rZW5T cGFjZUd1aWQuUGNkUGVyZm9ybWFuY2VFbmFibGV8RkFMU0UNCj4gPiA+DQo+ID4gPiAgICBnTWlu UGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RUcG0yRW5hYmxlfEZBTFNFDQo+ID4gPg0KPiA+ ID4gICAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkVWVmaVNlY3VyZUJvb3RFbmFi bGV8RkFMU0UNCj4gPiA+DQo+ID4gPiArICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5Q Y2RTZXJpYWxUZXJtaW5hbEVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4g ICFpZiBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RCb290U3RhZ2UgPj0gMQ0KPiA+ ID4NCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0b3BBZnRlckRl YnVnSW5pdHxUUlVFDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4NCj4gPg0KPiBhL1Bs YXRmb3JtL0ludGVsL0thYnlsYWtlT3BlbkJvYXJkUGtnL0dhbGFnb1BybzMvT3BlbkJvYXJkUGtn UGNkLmRzYw0KPiA+ID4NCj4gPg0KPiBiL1BsYXRmb3JtL0ludGVsL0thYnlsYWtlT3BlbkJvYXJk UGtnL0dhbGFnb1BybzMvT3BlbkJvYXJkUGtnUGNkLmRzYw0KPiA+ID4gaW5kZXggMzUyNDE2YTQ4 OS4uNDRkYWNkZjA4MiAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4NCj4gPg0KPiBhL1BsYXRmb3Jt L0ludGVsL0thYnlsYWtlT3BlbkJvYXJkUGtnL0dhbGFnb1BybzMvT3BlbkJvYXJkUGtnUGNkLmRz Yw0KPiA+ID4gKysrDQo+ID4gPg0KPiA+DQo+IGIvUGxhdGZvcm0vSW50ZWwvS2FieWxha2VPcGVu Qm9hcmRQa2cvR2FsYWdvUHJvMy9PcGVuQm9hcmRQa2dQY2QuZHNjDQo+ID4gPiBAQCAtMTMwLDYg KzEzMCw3IEBADQo+ID4gPiAgICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RQZXJm b3JtYW5jZUVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFRwbTJFbmFibGV8RkFMU0UNCj4gPiA+DQo+ID4gPiAgICBnTWluUGxhdGZv cm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RVZWZpU2VjdXJlQm9vdEVuYWJsZXxGQUxTRQ0KPiA+ID4N Cj4gPiA+ICsgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbFRlcm1pbmFs RW5hYmxlfEZBTFNFDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgIWlmIGdNaW5QbGF0Zm9y bVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJvb3RTdGFnZSA+PSAxDQo+ID4gPg0KPiA+ID4gICAgZ01p blBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RvcEFmdGVyRGVidWdJbml0fFRSVUUNCj4g PiA+DQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPg0KPiA+DQo+IGEvUGxhdGZvcm0vSW50ZWwvS2Fi eWxha2VPcGVuQm9hcmRQa2cvS2FieWxha2VSdnAzL09wZW5Cb2FyZFBrZ1BjZC5kDQo+ID4gPiBz Yw0KPiA+ID4NCj4gPg0KPiBiL1BsYXRmb3JtL0ludGVsL0thYnlsYWtlT3BlbkJvYXJkUGtnL0th YnlsYWtlUnZwMy9PcGVuQm9hcmRQa2dQY2QuZA0KPiA+ID4gc2MNCj4gPiA+IGluZGV4IDllOGIx NDg3NTMuLjcyNTU5NmNiZjcgMTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4NCj4gYS9QbGF0 Zm9ybS9JbnRlbC9LYWJ5bGFrZU9wZW5Cb2FyZFBrZy9LYWJ5bGFrZVJ2cDMvT3BlbkJvYXJkUGtn UGNkLmQNCj4gPiA+IHNjDQo+ID4gPiArKysNCj4gPiA+DQo+ID4NCj4gYi9QbGF0Zm9ybS9JbnRl bC9LYWJ5bGFrZU9wZW5Cb2FyZFBrZy9LYWJ5bGFrZVJ2cDMvT3BlbkJvYXJkUGtnUGNkLmQNCj4g PiA+IHNjDQo+ID4gPiBAQCAtMTY4LDYgKzE2OCw3IEBADQo+ID4gPiAgICBnTWluUGxhdGZvcm1Q a2dUb2tlblNwYWNlR3VpZC5QY2RQZXJmb3JtYW5jZUVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+ ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRwbTJFbmFibGV8RkFMU0UNCj4g PiA+DQo+ID4gPiAgICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RVZWZpU2VjdXJl Qm9vdEVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+ICsgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZFNlcmlhbFRlcm1pbmFsRW5hYmxlfEZBTFNFDQo+ID4gPg0KPiA+ID4NCj4gPiA+ DQo+ID4gPiAgIWlmIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJvb3RTdGFnZSA+ PSAxDQo+ID4gPg0KPiA+ID4gICAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3Rv cEFmdGVyRGVidWdJbml0fFRSVUUNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiBhL1Bs YXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0luY2x1ZGUvRHNjL0NvcmVEeGVJbmNsdWRlLmRz Yw0KPiA+ID4gYi9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9JbmNsdWRlL0RzYy9Db3Jl RHhlSW5jbHVkZS5kc2MNCj4gPiA+IGluZGV4IGYwZTU3OGY4Y2MuLjJhNGE1NzRjZGYgMTAwNjQ0 DQo+ID4gPiAtLS0gYS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9JbmNsdWRlL0RzYy9D b3JlRHhlSW5jbHVkZS5kc2MNCj4gPiA+ICsrKyBiL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3Jt UGtnL0luY2x1ZGUvRHNjL0NvcmVEeGVJbmNsdWRlLmRzYw0KPiA+ID4gQEAgLTEsNyArMSw3IEBA DQo+ID4gPiAgIyMgQGZpbGUNCj4gPiA+DQo+ID4gPiAgIyAgUGxhdGZvcm0gZGVzY3JpcHRpb24u DQo+ID4gPg0KPiA+ID4gICMNCj4gPiA+DQo+ID4gPiAtIyBDb3B5cmlnaHQgKGMpIDIwMTcgLSAy MDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cw0KPiA+ID4gcmVzZXJ2ZWQuPEJSPg0K PiA+ID4NCj4gPiA+ICsjIENvcHlyaWdodCAoYykgMjAxNyAtIDIwMjAsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiArcmVzZXJ2ZWQuPEJSPg0KPiA+ID4NCj4gPiA+ICAjDQo+ ID4gPg0KPiA+ID4gICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gPiA+DQo+ID4gPiAgIw0KPiA+ID4NCj4gPiA+IEBAIC00Niw3ICs0NiwxOCBAQA0KPiA+ ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL01v bm90b25pY0NvdW50ZXJSdW50aW1lRHhlL01vbm90b25pY0NvdW50DQo+ID4gZQ0KPiA+ID4gclJ1 bnRpbWVEeGUuaW5mDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0Jkc0R4ZS9CZHNEeGUuaW5mDQo+ID4gPg0KPiA+ID4gKyAgTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9CZHNEeGUvQmRzRHhlLmluZnsNCj4gPiA+DQo+ID4gPiArICAgIDxMaWJyYXJ5 Q2xhc3Nlcz4NCj4gPiA+DQo+ID4gPiArIWlmIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlk LlBjZFNlcmlhbFRlcm1pbmFsRW5hYmxlID09IFRSVUUNCj4gPiA+DQo+ID4gPiArDQo+ID4gPiBO VUxMfFNlcmlhbFRlcm1pbmFsRmVhdHVyZVBrZy9MaWJyYXJ5L1NlcmlhbFBvcnRUZXJtaW5hbExp Yi9TZXJpYWxQbw0KPiA+ID4gTlVMTHxydA0KPiA+ID4gTlVMTHxUZXJtDQo+ID4gPiBpbmFsTGli LmluZg0KPiA+ID4NCj4gPiA+ICshZW5kaWYNCj4gPiA+DQo+ID4gPiArICB9DQo+ID4gPg0KPiA+ ID4gKw0KPiA+ID4NCj4gPiA+ICshaWYgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNk U2VyaWFsVGVybWluYWxFbmFibGUgPT0gVFJVRQ0KPiA+ID4NCj4gPiA+ICsgIE1kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvU2VyaWFsRHhlL1NlcmlhbER4ZS5pbmYNCj4gPiA+DQo+ID4gPiArICBNZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvVGVybWluYWxEeGUvVGVybWluYWxEeGUuaW5mDQo+ ID4gPg0KPiA+ID4gKyFlbmRpZg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlckhlYWx0aE1hbmFnZXJEeGUvRHJp dmVySGVhbHRoTWFuYWdlckQNCj4gPiA+IHhlLmluZg0KPiA+ID4NCj4gPiA+ICAgIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvU2VjdXJpdHlTdHViRHhlL1NlY3VyaXR5U3R1YkR4ZS5pbmYgew0KPiA+ ID4NCj4gPiA+ICAgICAgPExpYnJhcnlDbGFzc2VzPg0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQN Cj4gPiA+IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvSW5jbHVkZS9GZGYvQ29yZVVl ZmlCb290SW5jbHVkZS5mZGYNCj4gPiA+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cv SW5jbHVkZS9GZGYvQ29yZVVlZmlCb290SW5jbHVkZS5mZGYNCj4gPiA+IGluZGV4IDc4NTljMGIx YTUuLmVmNDU3NmVlZGYgMTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+IGEvUGxhdGZvcm0vSW50ZWwv TWluUGxhdGZvcm1Qa2cvSW5jbHVkZS9GZGYvQ29yZVVlZmlCb290SW5jbHVkZS5mZGYNCj4gPiA+ ICsrKyBiL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0luY2x1ZGUvRmRmL0NvcmVVZWZp Qm9vdEluY2x1ZGUuDQo+ID4gPiArKysgZmQNCj4gPiA+ICsrKyBmDQo+ID4gPiBAQCAtMSw3ICsx LDcgQEANCj4gPiA+ICAjIyBAZmlsZQ0KPiA+ID4NCj4gPiA+ICAjICBGREYgZmlsZSBvZiBQbGF0 Zm9ybS4NCj4gPiA+DQo+ID4gPiAgIw0KPiA+ID4NCj4gPiA+IC0jIENvcHlyaWdodCAoYykgMjAx NyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiByZXNlcnZlZC48 QlI+DQo+ID4gPg0KPiA+ID4gKyMgQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAyMCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gPg0KPiA+ID4g ICMNCj4gPiA+DQo+ID4gPiAgIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiA+ID4NCj4gPiA+ICAjDQo+ID4gPg0KPiA+ID4gQEAgLTI2LDYgKzI2LDEyIEBA IElORg0KPiA+ID4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1Zh cmlhYmxlUnVudGltZUR4ZS5pbmYNCj4gPiA+ICBJTkYNCj4gPiA+DQo+ID4NCj4gTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9Nb25vdG9uaWNDb3VudGVyUnVudGltZUR4ZS9Nb25vdG9uaWNDb3VudA0K PiA+IGUNCj4gPiA+IHJSdW50aW1lRHhlLmluZg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4g IElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9CZHNEeGUvQmRzRHhlLmluZg0KPiA+ID4NCj4g PiA+ICsNCj4gPiA+DQo+ID4gPiArIWlmIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFNlcmlhbFRlcm1pbmFsRW5hYmxlID09IFRSVUUNCj4gPiA+DQo+ID4gPiArSU5GICBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL1NlcmlhbER4ZS9TZXJpYWxEeGUuaW5mDQo+ID4gPg0KPiA+ID4gK0lO RiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25zb2xlL1Rlcm1pbmFsRHhlL1Rlcm1pbmFsRHhl LmluZg0KPiA+ID4NCj4gPiA+ICshZW5kaWYNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4g IElORg0KPiA+ID4NCj4gPg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0RyaXZlckhlYWx0aE1h bmFnZXJEeGUvRHJpdmVySGVhbHRoTWFuYWdlckQNCj4gPiA+IHhlLmluZg0KPiA+ID4NCj4gPiA+ ICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2VjdXJpdHlTdHViRHhlL1NlY3VyaXR5U3R1 YkR4ZS5pbmYNCj4gPiA+DQo+ID4gPiAgSU5GDQo+ID4gPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0NhcHN1bGVSdW50aW1lRHhlL0NhcHN1bGVSdW50aW1lRHhlLmluZg0KPiA+ID4NCj4gPiA+IGRp ZmYgLS1naXQNCj4gPiA+DQo+ID4gYS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9MaWJy YXJ5L1NlcmlhbFBvcnRUZXJtaW5hbExpYi9TZXJpYWxQbw0KPiA+IHJ0VGVyDQo+ID4gPiBtaW5h bExpYi5jDQo+ID4gPg0KPiA+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTGlicmFy eS9TZXJpYWxQb3J0VGVybWluYWxMaWIvU2VyaWFsUG8NCj4gPiBydFRlcg0KPiA+ID4gbWluYWxM aWIuYw0KPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+IGluZGV4IDAwMDAwMDAwMDAu Ljk0ZGU0NzUxNzMNCj4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ICsrKw0KPiA+ID4NCj4gPiBi L1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0xpYnJhcnkvU2VyaWFsUG9ydFRlcm1pbmFs TGliL1NlcmlhbFBvDQo+ID4gcnRUZXINCj4gPiA+IG1pbmFsTGliLmMNCj4gPiA+IEBAIC0wLDAg KzEsMTAyIEBADQo+ID4gPiArLyoqIEBmaWxlDQo+ID4gPg0KPiA+ID4gKyAgTWFpbiBmaWxlIGZv ciBOVUxMIG5hbWVkIGxpYnJhcnkgZm9yIFNlcmlhbCBQb3J0IFRlcm1pbmFsDQo+ID4gPiArIFJl ZGlyZWN0aW9uDQo+ID4gPiBsaWJyYXJ5Lg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiAr ICBDb3B5cmlnaHQgKGMpIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gPiA+DQo+ID4gPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArKiovDQo+ID4gPg0K PiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsjaW5jbHVkZSAiU2VyaWFsUG9ydFRlcm1pbmFsTGliLmgi DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICtHTE9CQUxfUkVNT1ZFX0lGX1VOUkVGRVJF TkNFRCBTRVJJQUxfREVWSUNFX1BBVEgNCj4gPiA+IG1TZXJpYWxEZXZpY2VQYXRoID0gew0KPiA+ ID4NCj4gPiA+ICsgIHsNCj4gPiA+DQo+ID4gPiArICAgIHsNCj4gPiA+DQo+ID4gPiArICAgICAg SEFSRFdBUkVfREVWSUNFX1BBVEgsDQo+ID4gPg0KPiA+ID4gKyAgICAgIEhXX1ZFTkRPUl9EUCwN Cj4gPiA+DQo+ID4gPiArICAgICAgew0KPiA+ID4NCj4gPiA+ICsgICAgICAgIChVSU5UOCkgc2l6 ZW9mIChWRU5ET1JfREVWSUNFX1BBVEgpLA0KPiA+ID4NCj4gPiA+ICsgICAgICAgIChVSU5UOCkg KChzaXplb2YgKFZFTkRPUl9ERVZJQ0VfUEFUSCkpID4+IDgpDQo+ID4gPg0KPiA+ID4gKyAgICAg IH0NCj4gPiA+DQo+ID4gPiArICAgIH0sDQo+ID4gPg0KPiA+ID4gKyAgICBFREtJSV9TRVJJQUxf UE9SVF9MSUJfVkVORE9SX0dVSUQNCj4gPiA+DQo+ID4gPiArICB9LA0KPiA+ID4NCj4gPiA+ICsg IHsNCj4gPiA+DQo+ID4gPiArICAgIHsNCj4gPiA+DQo+ID4gPiArICAgICAgTUVTU0FHSU5HX0RF VklDRV9QQVRILA0KPiA+ID4NCj4gPiA+ICsgICAgICBNU0dfVUFSVF9EUCwNCj4gPiA+DQo+ID4g PiArICAgICAgew0KPiA+ID4NCj4gPiA+ICsgICAgICAgIChVSU5UOCkgc2l6ZW9mIChVQVJUX0RF VklDRV9QQVRIKSwNCj4gPiA+DQo+ID4gPiArICAgICAgICAoVUlOVDgpICgoc2l6ZW9mIChVQVJU X0RFVklDRV9QQVRIKSkgPj4gOCkNCj4gPiA+DQo+ID4gPiArICAgICAgfQ0KPiA+ID4NCj4gPiA+ ICsgICAgfSwNCj4gPiA+DQo+ID4gPiArICAgIDAsICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2 ZWQNCj4gPiA+DQo+ID4gPiArICAgIDAsICAgICAgICAgICAgICAgICAgLy8gQmF1ZFJhdGUNCj4g PiA+DQo+ID4gPiArICAgIDAsICAgICAgICAgICAgICAgICAgLy8gRGF0YUJpdHMNCj4gPiA+DQo+ ID4gPiArICAgIDAsICAgICAgICAgICAgICAgICAgLy8gUGFyaXR5DQo+ID4gPg0KPiA+ID4gKyAg ICAwICAgICAgICAgICAgICAgICAgIC8vIFN0b3BCaXRzDQo+ID4gPg0KPiA+ID4gKyAgfSwNCj4g PiA+DQo+ID4gPiArICB7DQo+ID4gPg0KPiA+ID4gKyAgICB7DQo+ID4gPg0KPiA+ID4gKyAgICAg IE1FU1NBR0lOR19ERVZJQ0VfUEFUSCwNCj4gPiA+DQo+ID4gPiArICAgICAgTVNHX1ZFTkRPUl9E UCwNCj4gPiA+DQo+ID4gPiArICAgICAgew0KPiA+ID4NCj4gPiA+ICsgICAgICAgIChVSU5UOCkg KHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSksDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgKFVJ TlQ4KSAoKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSkgPj4gOCksDQo+ID4gPg0KPiA+ID4g KyAgICAgIH0NCj4gPiA+DQo+ID4gPiArICAgIH0sDQo+ID4gPg0KPiA+ID4gKyAgICBERVZJQ0Vf UEFUSF9NRVNTQUdJTkdfUENfQU5TSQ0KPiA+ID4NCj4gPiA+ICsgIH0sDQo+ID4gPg0KPiA+ID4g KyAgZ0VuZEVudGlyZQ0KPiA+ID4NCj4gPiA+ICt9Ow0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ ID4gPiArLyoqDQo+ID4gPg0KPiA+ID4gKyAgVXBkYXRlcyB0aGUgQ29uT3V0LCBDb25JbiwgRXJy T3V0IHZhcmlhYmxlcyB3aXRoIHRoZSBzZXJpYWwNCj4gPiA+ICsgdGVybWluYWwNCj4gPiA+IGRl dmljZSBwYXRoDQo+ID4gPg0KPiA+ID4gKyAgQHBhcmFtICAgICAgICAgICAgICAgICAgICAgICAg bm9uZQ0KPiA+ID4NCj4gPiA+ICsgIEByZXR2YWwgICAgICAgICAgICAgICAgICAgICAgIG5vbmUN Cj4gPiA+DQo+ID4gPiArKiovDQo+ID4gPg0KPiA+ID4gK1ZPSUQNCj4gPiA+DQo+ID4gPiArQWRk U2VyaWFsVGVybWluYWwgKA0KPiA+ID4NCj4gPiA+ICsgIFZPSUQNCj4gPiA+DQo+ID4gPiArICAp DQo+ID4gPg0KPiA+ID4gK3sNCj4gPiA+DQo+ID4gPiArICBERUJVRyAoKERFQlVHX0lORk8sICJb QWRkU2VyaWFsUG9ydFRlcm1pbmFsXVxuIikpOw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4g PiArICAvLw0KPiA+ID4NCj4gPiA+ICsgIC8vIEFwcGVuZCBTZXJpYWwgVGVybWluYWwgaW50byAi Q29uSW4iDQo+ID4gPg0KPiA+ID4gKyAgLy8NCj4gPiA+DQo+ID4gPiArICBFZmlCb290TWFuYWdl clVwZGF0ZUNvbnNvbGVWYXJpYWJsZSAoQ29uT3V0LA0KPiA+ID4gKEVGSV9ERVZJQ0VfUEFUSF9Q Uk9UT0NPTCAqKSAmbVNlcmlhbERldmljZVBhdGgsIE5VTEwpOw0KPiA+ID4NCj4gPiA+ICsgIEVm aUJvb3RNYW5hZ2VyVXBkYXRlQ29uc29sZVZhcmlhYmxlIChDb25JbiwNCj4gPiA+IChFRklfREVW SUNFX1BBVEhfUFJPVE9DT0wgKikgJm1TZXJpYWxEZXZpY2VQYXRoLCBOVUxMKTsNCj4gPiA+DQo+ ID4gPiArICBFZmlCb290TWFuYWdlclVwZGF0ZUNvbnNvbGVWYXJpYWJsZSAoRXJyT3V0LA0KPiA+ ID4gKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSAmbVNlcmlhbERldmljZVBhdGgsIE5VTEwp Ow0KPiA+ID4NCj4gPiA+ICt9DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+ DQo+ID4gPiArLyoqDQo+ID4gPg0KPiA+ID4gKyAgQ29uc3RydWN0b3IgZm9yIHRoZSBTZXJpYWwg UG9ydCBEZXZpY2UgY29udHJvbGxlciBsaWJyYXJ5Lg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ ID4gPiArICBAcGFyYW0gSW1hZ2VIYW5kbGUgICAgdGhlIGltYWdlIGhhbmRsZSBvZiB0aGUgcHJv Y2Vzcw0KPiA+ID4NCj4gPiA+ICsgIEBwYXJhbSBTeXN0ZW1UYWJsZSAgICB0aGUgRUZJIFN5c3Rl bSBUYWJsZSBwb2ludGVyDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIEByZXR2YWwg RUZJX1NVQ0NFU1MgICAgICAgIHRoZSBzaGVsbCBjb21tYW5kIGhhbmRsZXJzIHdlcmUNCj4gPiA+ IGluc3RhbGxlZCBzdWNlc3NmdWxseQ0KPiA+ID4NCj4gPiA+ICsgIEByZXR2YWwgRUZJX1VOU1VQ UE9SVEVEICAgIHRoZSBzaGVsbCBsZXZlbCByZXF1aXJlZCB3YXMgbm90IGZvdW5kLg0KPiA+ID4N Cj4gPiA+ICsqKi8NCj4gPiA+DQo+ID4gPiArRUZJX1NUQVRVUw0KPiA+ID4NCj4gPiA+ICtFRklB UEkNCj4gPiA+DQo+ID4gPiArU2VyaWFsUG9ydFRlcm1pbmFsTGliQ29uc3RydWN0b3IgKA0KPiA+ ID4NCj4gPiA+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgIEltYWdlSGFuZGxlLA0KPiA+ID4NCj4g PiA+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICpTeXN0ZW1UYWJsZQ0KPiA+ID4NCj4gPiA+ICsg ICkNCj4gPiA+DQo+ID4gPiArew0KPiA+ID4NCj4gPiA+ICsgIG1TZXJpYWxEZXZpY2VQYXRoLlVh cnQuQmF1ZFJhdGUgPQ0KPiA+ID4gUGNkR2V0NjQoUGNkU2VyaWFsVGVybWluYWxCYXVkUmF0ZSk7 DQo+ID4gPg0KPiA+ID4gKyAgbVNlcmlhbERldmljZVBhdGguVWFydC5EYXRhQml0cyA9DQo+ID4g PiArIFBjZEdldDgoUGNkU2VyaWFsVGVybWluYWxEYXRhQml0cyk7DQo+ID4gPg0KPiA+ID4gKyAg bVNlcmlhbERldmljZVBhdGguVWFydC5QYXJpdHkgICA9IFBjZEdldDgoUGNkU2VyaWFsVGVybWlu YWxQYXJpdHkpOw0KPiA+ID4NCj4gPiA+ICsgIG1TZXJpYWxEZXZpY2VQYXRoLlVhcnQuU3RvcEJp dHMgPQ0KPiA+ID4gKyBQY2RHZXQ4KFBjZFNlcmlhbFRlcm1pbmFsU3RvcEJpdHMpOw0KPiA+ID4N Cj4gPiA+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIltTZXJpYWxQb3J0VGVybWluYWxMaWJDb25z dHJ1Y3Rvcl0NCj4gPiA+IFslZCwgJWQsICVkLCAlZF1cbiIsDQo+ID4gPg0KPiA+ID4gKyAgICAg IG1TZXJpYWxEZXZpY2VQYXRoLlVhcnQuQmF1ZFJhdGUsDQo+ID4gPg0KPiA+ID4gKyAgICAgIG1T ZXJpYWxEZXZpY2VQYXRoLlVhcnQuRGF0YUJpdHMsDQo+ID4gPg0KPiA+ID4gKyAgICAgIG1TZXJp YWxEZXZpY2VQYXRoLlVhcnQuUGFyaXR5LA0KPiA+ID4NCj4gPiA+ICsgICAgICBtU2VyaWFsRGV2 aWNlUGF0aC5VYXJ0LlN0b3BCaXRzKSk7DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsg IEFkZFNlcmlhbFRlcm1pbmFsKCk7DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgIHJl dHVybiBFRklfU1VDQ0VTUzsNCj4gPiA+DQo+ID4gPiArfQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1n aXQNCj4gPiA+DQo+ID4gYS9QbGF0Zm9ybS9JbnRlbC9NaW5QbGF0Zm9ybVBrZy9MaWJyYXJ5L1Nl cmlhbFBvcnRUZXJtaW5hbExpYi9TZXJpYWxQbw0KPiA+IHJ0VGVyDQo+ID4gPiBtaW5hbExpYi5o DQo+ID4gPg0KPiA+IGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTGlicmFyeS9TZXJp YWxQb3J0VGVybWluYWxMaWIvU2VyaWFsUG8NCj4gPiBydFRlcg0KPiA+ID4gbWluYWxMaWIuaA0K PiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gPiA+IGluZGV4IDAwMDAwMDAwMDAuLjBhMmVh YWU4YjgNCj4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ICsrKw0KPiA+ID4NCj4gPiBiL1BsYXRm b3JtL0ludGVsL01pblBsYXRmb3JtUGtnL0xpYnJhcnkvU2VyaWFsUG9ydFRlcm1pbmFsTGliL1Nl cmlhbFBvDQo+ID4gcnRUZXINCj4gPiA+IG1pbmFsTGliLmgNCj4gPiA+IEBAIC0wLDAgKzEsNDgg QEANCj4gPiA+ICsvKiogQGZpbGUNCj4gPiA+DQo+ID4gPiArICBIZWFkZXIgZmlsZSBmb3IgTlVM TCBuYW1lZCBsaWJyYXJ5IGZvciBmb3IgU2VyaWFsIFBvcnQgVGVybWluYWwNCj4gPiBSZWRpcmVj dGlvbg0KPiA+ID4gbGlicmFyeS4NCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgQ29w eXJpZ2h0IChjKSAyMDIwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ID4gPg0KPiA+ID4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gPiA+DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyoqLw0KPiA+ID4NCj4gPiA+ ICsNCj4gPiA+DQo+ID4gPiArI2lmbmRlZiBfU0VSSUFMX1BPUlRfVEVSTUlOQUxfTElCX0hfDQo+ ID4gPg0KPiA+ID4gKyNkZWZpbmUgX1NFUklBTF9QT1JUX1RFUk1JTkFMX0xJQl9IXw0KPiA+ID4N Cj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArI2luY2x1ZGUgPFVlZmkuaD4NCj4gPiA+DQo+ID4gPiAr I2luY2x1ZGUgPEd1aWQvU2VyaWFsUG9ydExpYlZlbmRvci5oPg0KPiA+ID4NCj4gPiA+ICsjaW5j bHVkZSA8TGlicmFyeS9VZWZpTGliLmg+DQo+ID4gPg0KPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0RldmljZVBhdGhMaWIuaD4NCj4gPiA+DQo+ID4gPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdM aWIuaD4NCj4gPiA+DQo+ID4gPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RNYW5hZ2VyTGli Lmg+DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsvLw0KPiA+ID4NCj4gPiA+ICsvLyBC ZWxvdyBpcyB0aGUgcGxhdGZvcm0gY29uc29sZSBkZXZpY2UgcGF0aA0KPiA+ID4NCj4gPiA+ICsv Lw0KPiA+ID4NCj4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPg0KPiA+ID4gKyAgVkVORE9S X0RFVklDRV9QQVRIICAgICAgICBHdWlkOw0KPiA+ID4NCj4gPiA+ICsgIFVBUlRfREVWSUNFX1BB VEggICAgICAgICAgVWFydDsNCj4gPiA+DQo+ID4gPiArICBWRU5ET1JfREVWSUNFX1BBVEggICAg ICAgIFRlcm1pbmFsVHlwZTsNCj4gPiA+DQo+ID4gPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9D T0wgIEVuZDsNCj4gPiA+DQo+ID4gPiArfSBTRVJJQUxfREVWSUNFX1BBVEg7DQo+ID4gPg0KPiA+ ID4gKw0KPiA+ID4NCj4gPiA+ICsjZGVmaW5lIGdQY2lSb290QnJpZGdlIFwNCj4gPiA+DQo+ID4g PiArICB7IFwNCj4gPiA+DQo+ID4gPiArICAgIHsgXA0KPiA+ID4NCj4gPiA+ICsgICAgICBBQ1BJ X0RFVklDRV9QQVRILCBcDQo+ID4gPg0KPiA+ID4gKyAgICAgIEFDUElfRFAsIFwNCj4gPiA+DQo+ ID4gPiArICAgICAgeyBcDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgKFVJTlQ4KSAoc2l6ZW9mIChB Q1BJX0hJRF9ERVZJQ0VfUEFUSCkpLCBcDQo+ID4gPg0KPiA+ID4gKyAgICAgICAgKFVJTlQ4KSAo KHNpemVvZiAoQUNQSV9ISURfREVWSUNFX1BBVEgpKSA+PiA4KSBcDQo+ID4gPg0KPiA+ID4gKyAg ICAgIH0sIFwNCj4gPiA+DQo+ID4gPiArICAgIH0sIFwNCj4gPiA+DQo+ID4gPiArICAgIEVJU0Ff UE5QX0lEICgweDBBMDMpLCBcDQo+ID4gPg0KPiA+ID4gKyAgICAwIFwNCj4gPiA+DQo+ID4gPiAr ICB9DQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsjZGVmaW5lIGdFbmRFbnRpcmUgXA0K PiA+ID4NCj4gPiA+ICsgIHsgXA0KPiA+ID4NCj4gPiA+ICsgICAgRU5EX0RFVklDRV9QQVRIX1RZ UEUsIEVORF9FTlRJUkVfREVWSUNFX1BBVEhfU1VCVFlQRSwNCj4gPiA+IHsgRU5EX0RFVklDRV9Q QVRIX0xFTkdUSCwgMCB9IFwNCj4gPiA+DQo+ID4gPiArICB9DQo+ID4gPg0KPiA+ID4gKw0KPiA+ ID4NCj4gPiA+ICsjZW5kaWYNCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPg0KPiA+IGEv UGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTGlicmFyeS9TZXJpYWxQb3J0VGVybWluYWxM aWIvU2VyaWFsUG8NCj4gPiBydFRlcg0KPiA+ID4gbWluYWxMaWIuaW5mDQo+ID4gPg0KPiA+IGIv UGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTGlicmFyeS9TZXJpYWxQb3J0VGVybWluYWxM aWIvU2VyaWFsUG8NCj4gPiBydFRlcg0KPiA+ID4gbWluYWxMaWIuaW5mDQo+ID4gPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5kZXggMDAwMDAwMDAwMC4uYjBhOTMyNmIxYg0KPiA+ID4g LS0tIC9kZXYvbnVsbA0KPiA+ID4gKysrDQo+ID4gPg0KPiA+IGIvUGxhdGZvcm0vSW50ZWwvTWlu UGxhdGZvcm1Qa2cvTGlicmFyeS9TZXJpYWxQb3J0VGVybWluYWxMaWIvU2VyaWFsUG8NCj4gPiBy dFRlcg0KPiA+ID4gbWluYWxMaWIuaW5mDQo+ID4gPiBAQCAtMCwwICsxLDQwIEBADQo+ID4gPiAr IyMgQGZpbGUNCj4gPiA+DQo+ID4gPiArIyBDb21wb25lbnQgaW5mb3JtYXRpb24gZmlsZSBmb3Ig U2VyaWFsIFBvcnQgVGVybWluYWwgUmVkaXJlY3Rpb24NCj4gPiA+ICtMaWJyYXJ5DQo+ID4gPg0K PiA+ID4gKyMNCj4gPiA+DQo+ID4gPiArIyBJTlRFTCBDT05GSURFTlRJQUwNCj4gPiA+DQo+ID4g PiArIyBDb3B5cmlnaHQgKGMpIDIwMjAsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gPiA+DQo+ID4gPiArIw0KPiA+ID4NCj4gPiA+ICsjIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ID4gPg0KPiA+ID4gKyMNCj4gPiA+ DQo+ID4gPiArIyMNCj4gPiA+DQo+ID4gPiArW0RlZmluZXNdDQo+ID4gPg0KPiA+ID4gKyAgSU5G X1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNg0KPiA+ID4NCj4gPiA+ICsg IEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9IFNlcmlhbFBvcnRUZXJtaW5hbExpYg0K PiA+ID4NCj4gPiA+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9DQo+ID4gPiBF MTJCRkE0Ni05NUYyLTRBREMtOTc3NC03RTM4REU3ODc0MUUNCj4gPiA+DQo+ID4gPiArICBNT0RV TEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBVRUZJX0RSSVZFUg0KPiA+ID4NCj4gPiA+ICsg IFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMg0KPiA+ID4NCj4gPiA+ICsgIExJ QlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IE5VTEx8VUVGSV9EUklWRVIgRFhFX0RSSVZF Ug0KPiA+ID4gRFhFX1JVTlRJTUVfRFJJVkVSDQo+ID4gPg0KPiA+ID4gKyAgQ09OU1RSVUNUT1Ig ICAgICAgICAgICAgICAgICAgID0NCj4gPiA+IFNlcmlhbFBvcnRUZXJtaW5hbExpYkNvbnN0cnVj dG9yDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICtbUGFja2FnZXNdDQo+ID4gPg0KPiA+ ID4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+DQo+ID4gPiArICBNZGVNb2R1bGVQa2cvTWRl TW9kdWxlUGtnLmRlYw0KPiA+ID4NCj4gPiA+ICsgIEJvYXJkTW9kdWxlUGtnL0JvYXJkTW9kdWxl UGtnLmRlYw0KPiA+ID4NCj4gPiA+ICsgIE1pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRl Yw0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArW1NvdXJjZXNdDQo+ID4gPg0KPiA+ID4g KyAgU2VyaWFsUG9ydFRlcm1pbmFsTGliLmMNCj4gPiA+DQo+ID4gPiArICBTZXJpYWxQb3J0VGVy bWluYWxMaWIuaA0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4gPiArW0xpYnJhcnlDbGFzc2Vz XQ0KPiA+ID4NCj4gPiA+ICsgIERldmljZVBhdGhMaWINCj4gPiA+DQo+ID4gPiArICBEZWJ1Z0xp Yg0KPiA+ID4NCj4gPiA+ICsgIFVlZmlEcml2ZXJFbnRyeVBvaW50DQo+ID4gPg0KPiA+ID4gKyAg VWVmaUJvb3RNYW5hZ2VyTGliDQo+ID4gPg0KPiA+ID4gKyAgVWVmaUxpYg0KPiA+ID4NCj4gPiA+ ICsNCj4gPiA+DQo+ID4gPiArW1BjZF0NCj4gPiA+DQo+ID4gPiArICBnTWluUGxhdGZvcm1Qa2dU b2tlblNwYWNlR3VpZC5QY2RTZXJpYWxUZXJtaW5hbEJhdWRSYXRlDQo+ID4gPg0KPiA+ID4gKyAg Z01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsVGVybWluYWxEYXRhQml0cw0K PiA+ID4NCj4gPiA+ICsgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbFRl cm1pbmFsUGFyaXR5DQo+ID4gPg0KPiA+ID4gKyAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1 aWQuUGNkU2VyaWFsVGVybWluYWxTdG9wQml0cw0KPiA+ID4gXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlDQo+ID4gPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cv TWluUGxhdGZvcm1Qa2cuZGVjDQo+ID4gPiBiL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtn L01pblBsYXRmb3JtUGtnLmRlYw0KPiA+ID4gaW5kZXggN2VmMTg5ZGFjOC4uMzYwNTBhYTFhOCAx MDA2NDQNCj4gPiA+IC0tLSBhL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRm b3JtUGtnLmRlYw0KPiA+ID4gKysrIGIvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWlu UGxhdGZvcm1Qa2cuZGVjDQo+ID4gPiBAQCAtMjA1LDYgKzIwNSwzMCBAQA0KPiA+ID4gIFtQY2Rz RHluYW1pYywgUGNkc0R5bmFtaWNFeF0NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBnTWlu UGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RQY0lvQXBpY0VuYWJsZXwweDB8VUlOVDMyfDB4 OTAwMDAwDQo+ID4gPiAxOQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gKyAgIyBUaGUgYmF1 ZCByYXRlIHNldHRpbmcgZm9yIHRoZSBVQVJUIHN0eWxlIGRldmljZS4gQSB2YWx1ZSBvZiAwDQo+ ID4gPg0KPiA+ID4gKyAgIyBtZWFucyB0aGF0IHRoZSBkZXZpY2UncyBkZWZhdWx0IGJhdWQgcmF0 ZSB3aWxsIGJlIHVzZWQuDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPg0KPiBnTWluUGxhdGZv cm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RTZXJpYWxUZXJtaW5hbEJhdWRSYXRlfDExNTIwMHxVSU5U Ng0KPiA+ID4gNHwweDkwMDAwMDFBDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgICMg VGhlIG51bWJlciBvZiBkYXRhIGJpdHMgZm9yIHRoZSBVQVJUIHN0eWxlIGRldmljZS4gQSB2YWx1 ZQ0KPiA+ID4NCj4gPiA+ICsgICMgb2YgMCBtZWFucyB0aGF0IHRoZSBkZXZpY2UncyBkZWZhdWx0 IG51bWJlciBvZiBkYXRhIGJpdHMgd2lsbA0KPiA+ID4gKyBiZQ0KPiA+IHVzZWQuDQo+ID4gPg0K PiA+ID4gKw0KPiA+ID4NCj4gPg0KPiBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RT ZXJpYWxUZXJtaW5hbERhdGFCaXRzfDB4OHxVSU5UOHwweDkNCj4gPiA+IDAwMDAwMUINCj4gPiA+ DQo+ID4gPiArDQo+ID4gPg0KPiA+ID4gKyAgIyBUaGUgcGFyaXR5IHNldHRpbmcgZm9yIHRoZSBV QVJUIHN0eWxlIGRldmljZS4NCj4gPiA+DQo+ID4gPiArICAjIFBhcml0eSAweDAwIC0gRGVmYXVs dCBQYXJpdHkuDQo+ID4gPg0KPiA+ID4gKyAgIyBQYXJpdHkgMHgwMSAtIE5vIFBhcml0eS4NCj4g PiA+DQo+ID4gPiArICAjIFBhcml0eSAweDAyIC0gRXZlbiBQYXJpdHkuDQo+ID4gPg0KPiA+ID4g KyAgIyBQYXJpdHkgMHgwMyAtIE9kZCBQYXJpdHkuDQo+ID4gPg0KPiA+ID4gKyAgIyBQYXJpdHkg MHgwNCAtIE1hcmsgUGFyaXR5Lg0KPiA+ID4NCj4gPiA+ICsgICMgUGFyaXR5IDB4MDUgLSBTcGFj ZSBQYXJpdHkuDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPg0KPiBnTWluUGxhdGZvcm1Qa2dU b2tlblNwYWNlR3VpZC5QY2RTZXJpYWxUZXJtaW5hbFBhcml0eXwweDF8VUlOVDh8MHg5MDANCj4g PiA+IDAwMDFDDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICsgICMgVGhlIG51bWJlciBv ZiBzdG9wIGJpdHMgZm9yIHRoZSBVQVJUIHN0eWxlIGRldmljZS4NCj4gPiA+DQo+ID4gPiArICAj IFN0b3AgQml0cyAweDAwIC0gRGVmYXVsdCBTdG9wIEJpdHMuDQo+ID4gPg0KPiA+ID4gKyAgIyBT dG9wIEJpdHMgMHgwMSAtIDEgU3RvcCBCaXQuDQo+ID4gPg0KPiA+ID4gKyAgIyBTdG9wIEJpdHMg MHgwMiAtIDEuNSBTdG9wIEJpdHMuDQo+ID4gPg0KPiA+ID4gKyAgIyBTdG9wIEJpdHMgMHgwMyAt IDIgU3RvcCBCaXRzLg0KPiA+ID4NCj4gPiA+ICsNCj4gPiA+DQo+ID4NCj4gZ01pblBsYXRmb3Jt UGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsVGVybWluYWxTdG9wQml0c3wweDF8VUlOVDh8MHg5 DQo+ID4gPiAwMDAwMDFEDQo+ID4gPg0KPiA+ID4gKw0KPiA+ID4NCj4gPiA+ICBbUGNkc0ZpeGVk QXRCdWlsZCwgUGNkc1BhdGNoYWJsZUluTW9kdWxlLCBQY2RzRHluYW1pYywNCj4gPiA+IFBjZHNE eW5hbWljRXhdDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAgICAjIw0KPiA+ID4NCj4gPiA+ IEBAIC0zMTgsMyArMzQyLDQgQEANCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFRwbTJFbmFibGUNCj4gPiA+IHxGQUxTRXxCT09MRUFOfDB4RjAwMDAwQTUNCj4gPiA+ DQo+ID4gPg0KPiA+ID4NCj4gPg0KPiBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RT bWlIYW5kbGVyUHJvZmlsZUVuYWJsZXxGQUxTRXxCT09MRQ0KPiA+ID4gQU58MHhGMDAwMDBBNg0K PiA+ID4NCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBlcmZvcm1h bmNlRW5hYmxlDQo+ID4gPiB8RkFMU0V8Qk9PTEVBTnwweEYwMDAwMEE3DQo+ID4gPg0KPiA+ID4g KyAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsVGVybWluYWxFbmFibGUN Cj4gPiA+IHxGQUxTRXxCT09MRUFOfDB4RjAwMDAwQjANCj4gPiA+DQo+ID4gPiBkaWZmIC0tZ2l0 IGEvUGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZHNjDQo+ID4g PiBiL1BsYXRmb3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRzYw0KPiA+ ID4gaW5kZXggMTEyZGRmZjdkOS4uZDBiNTU5MzgxNyAxMDA2NDQNCj4gPiA+IC0tLSBhL1BsYXRm b3JtL0ludGVsL01pblBsYXRmb3JtUGtnL01pblBsYXRmb3JtUGtnLmRzYw0KPiA+ID4gKysrIGIv UGxhdGZvcm0vSW50ZWwvTWluUGxhdGZvcm1Qa2cvTWluUGxhdGZvcm1Qa2cuZHNjDQo+ID4gPiBA QCAtMSw3ICsxLDcgQEANCj4gPiA+ICAjIyBAZmlsZQ0KPiA+ID4NCj4gPiA+ICAjICBQbGF0Zm9y bSBkZXNjcmlwdGlvbi4NCj4gPiA+DQo+ID4gPiAgIw0KPiA+ID4NCj4gPiA+IC0jIENvcHlyaWdo dCAoYykgMjAxNyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ID4gPiBy ZXNlcnZlZC48QlI+DQo+ID4gPg0KPiA+ID4gKyMgQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAyMCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4g Pg0KPiA+ID4gICMNCj4gPiA+DQo+ID4gPiAgIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiA+ID4NCj4gPiA+ICAjDQo+ID4gPg0KPiA+ID4gQEAgLTQ0LDYg KzQ0LDcgQEANCj4gPiA+ICAgICAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkVHBt MkVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+ICAgICAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFj ZUd1aWQuUGNkUGVyZm9ybWFuY2VFbmFibGV8RkFMU0UNCj4gPiA+DQo+ID4gPiAgICAgIGdNaW5Q bGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNtaUhhbmRsZXJQcm9maWxlRW5hYmxlfEZBTFNF DQo+ID4gPg0KPiA+ID4gKyAgICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RTZXJp YWxUZXJtaW5hbEVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ DQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjDQo+ID4gPiAjIyMjIyMjIyMjIyMjIyMjIyMNCj4gPiA+DQo+ID4gPiAgIw0KPiA+ ID4NCj4gPiA+IGRpZmYgLS1naXQNCj4gPiA+DQo+ID4NCj4gYS9QbGF0Zm9ybS9JbnRlbC9TaW1p Y3NPcGVuQm9hcmRQa2cvQm9hcmRYNThJY2gxMC9PcGVuQm9hcmRQa2dQY2QuZHMNCj4gPiA+IGMN Cj4gPiA+DQo+ID4NCj4gYi9QbGF0Zm9ybS9JbnRlbC9TaW1pY3NPcGVuQm9hcmRQa2cvQm9hcmRY NThJY2gxMC9PcGVuQm9hcmRQa2dQY2QuZHMNCj4gPiA+IGMNCj4gPiA+IGluZGV4IDUyY2RmOWVj MGYuLjI1MWY0NmY4MTIgMTAwNjQ0DQo+ID4gPiAtLS0NCj4gPiA+DQo+ID4NCj4gYS9QbGF0Zm9y bS9JbnRlbC9TaW1pY3NPcGVuQm9hcmRQa2cvQm9hcmRYNThJY2gxMC9PcGVuQm9hcmRQa2dQY2Qu ZHMNCj4gPiA+IGMNCj4gPiA+ICsrKw0KPiA+ID4NCj4gPg0KPiBiL1BsYXRmb3JtL0ludGVsL1Np bWljc09wZW5Cb2FyZFBrZy9Cb2FyZFg1OEljaDEwL09wZW5Cb2FyZFBrZ1BjZC5kcw0KPiA+ID4g Yw0KPiA+ID4gQEAgLTUwLDYgKzUwLDcgQEANCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFN0b3BBZnRlck1lbUluaXR8RkFMU0UNCj4gPiA+DQo+ID4gPiAgICBnTWlu UGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RUcG0yRW5hYmxlfEZBTFNFDQo+ID4gPg0KPiA+ ID4gICAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkVWVmaVNlY3VyZUJvb3RFbmFi bGV8RkFMU0UNCj4gPiA+DQo+ID4gPiArICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5Q Y2RTZXJpYWxUZXJtaW5hbEVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4g ICFpZiBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RCb290U3RhZ2UgPj0gMQ0KPiA+ ID4NCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0b3BBZnRlckRl YnVnSW5pdHxUUlVFDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4NCj4gPg0KPiBhL1Bs YXRmb3JtL0ludGVsL1doaXNrZXlsYWtlT3BlbkJvYXJkUGtnL1VwWHRyZW1lL09wZW5Cb2FyZFBr Z1BjZC5kDQo+ID4gPiBzYw0KPiA+ID4NCj4gPg0KPiBiL1BsYXRmb3JtL0ludGVsL1doaXNrZXls YWtlT3BlbkJvYXJkUGtnL1VwWHRyZW1lL09wZW5Cb2FyZFBrZ1BjZC5kDQo+ID4gPiBzYw0KPiA+ ID4gaW5kZXggZDc5N2FlOWQ5NC4uZTE2MWJmMDZmNCAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4N Cj4gPg0KPiBhL1BsYXRmb3JtL0ludGVsL1doaXNrZXlsYWtlT3BlbkJvYXJkUGtnL1VwWHRyZW1l L09wZW5Cb2FyZFBrZ1BjZC5kDQo+ID4gPiBzYw0KPiA+ID4gKysrDQo+ID4gPg0KPiA+DQo+IGIv UGxhdGZvcm0vSW50ZWwvV2hpc2tleWxha2VPcGVuQm9hcmRQa2cvVXBYdHJlbWUvT3BlbkJvYXJk UGtnUGNkLmQNCj4gPiA+IHNjDQo+ID4gPiBAQCAtMTI3LDYgKzEyNyw3IEBADQo+ID4gPiAgICBn TWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RQZXJmb3JtYW5jZUVuYWJsZXxGQUxTRQ0K PiA+ID4NCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRwbTJFbmFi bGV8RkFMU0UNCj4gPiA+DQo+ID4gPiAgICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5Q Y2RVZWZpU2VjdXJlQm9vdEVuYWJsZXxGQUxTRQ0KPiA+ID4NCj4gPiA+ICsgIGdNaW5QbGF0Zm9y bVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbFRlcm1pbmFsRW5hYmxlfFRSVUUNCj4gPiA+DQo+ ID4gPg0KPiA+ID4NCj4gPiA+ICAhaWYgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNk Qm9vdFN0YWdlID49IDENCj4gPiA+DQo+ID4gPiAgICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNl R3VpZC5QY2RTdG9wQWZ0ZXJEZWJ1Z0luaXR8VFJVRQ0KPiA+ID4NCj4gPiA+IGRpZmYgLS1naXQN Cj4gPiA+DQo+ID4NCj4gYS9QbGF0Zm9ybS9JbnRlbC9XaGlza2V5bGFrZU9wZW5Cb2FyZFBrZy9X aGlza2V5bGFrZVVSdnAvT3BlbkJvYXJkUA0KPiA+ID4ga2dQY2QuZHNjDQo+ID4gPg0KPiA+DQo+ IGIvUGxhdGZvcm0vSW50ZWwvV2hpc2tleWxha2VPcGVuQm9hcmRQa2cvV2hpc2tleWxha2VVUnZw L09wZW5Cb2FyZFANCj4gPiA+IGtnUGNkLmRzYw0KPiA+ID4gaW5kZXggNWQ3NjllODE1My4uODNh ZGEzYzk1YyAxMDA2NDQNCj4gPiA+IC0tLQ0KPiA+ID4NCj4gPg0KPiBhL1BsYXRmb3JtL0ludGVs L1doaXNrZXlsYWtlT3BlbkJvYXJkUGtnL1doaXNrZXlsYWtlVVJ2cC9PcGVuQm9hcmRQDQo+ID4g PiBrZ1BjZC5kc2MNCj4gPiA+ICsrKw0KPiA+ID4NCj4gPg0KPiBiL1BsYXRmb3JtL0ludGVsL1do aXNrZXlsYWtlT3BlbkJvYXJkUGtnL1doaXNrZXlsYWtlVVJ2cC9PcGVuQm9hcmRQDQo+ID4gPiBr Z1BjZC5kc2MNCj4gPiA+IEBAIC0xMjcsNiArMTI3LDcgQEANCj4gPiA+ICAgIGdNaW5QbGF0Zm9y bVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBlcmZvcm1hbmNlRW5hYmxlfEZBTFNFDQo+ID4gPg0KPiA+ ID4gICAgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkVHBtMkVuYWJsZXxGQUxTRQ0K PiA+ID4NCj4gPiA+ICAgIGdNaW5QbGF0Zm9ybVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVlZmlTZWN1 cmVCb290RW5hYmxlfEZBTFNFDQo+ID4gPg0KPiA+ID4gKyAgZ01pblBsYXRmb3JtUGtnVG9rZW5T cGFjZUd1aWQuUGNkU2VyaWFsVGVybWluYWxFbmFibGV8RkFMU0UNCj4gPiA+DQo+ID4gPg0KPiA+ ID4NCj4gPiA+ICAhaWYgZ01pblBsYXRmb3JtUGtnVG9rZW5TcGFjZUd1aWQuUGNkQm9vdFN0YWdl ID49IDENCj4gPiA+DQo+ID4gPiAgICBnTWluUGxhdGZvcm1Qa2dUb2tlblNwYWNlR3VpZC5QY2RT dG9wQWZ0ZXJEZWJ1Z0luaXR8VFJVRQ0KPiA+ID4NCj4gPiA+IC0tDQo+ID4gPiAyLjI0LjAud2lu ZG93cy4yDQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiAtPS09LT0tPS09LT0NCj4gPiA+IEdy b3Vwcy5pbyBMaW5rczogWW91IHJlY2VpdmUgYWxsIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBncm91 cC4NCj4gPiA+IFZpZXcvUmVwbHkgT25saW5lICgjNjY5NzMpOg0KPiA+ID4gaHR0cHM6Ly9lZGsy Lmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2UvNjY5NzMNCj4gPiA+IE11dGUgVGhpcyBUb3BpYzog aHR0cHM6Ly9ncm91cHMuaW8vbXQvNzgwMjQ3OTQvNDkwNTk1Mw0KPiA+ID4gR3JvdXAgT3duZXI6 IGRldmVsK293bmVyQGVkazIuZ3JvdXBzLmlvDQo+ID4gPiBVbnN1YnNjcmliZTogaHR0cHM6Ly9l ZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViDQo+ID4gPiBbZ2FvbGltaW5nQGJ5b3NvZnQuY29t LmNuXQ0KPiA+ID4gLT0tPS09LT0tPS09DQo+ID4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4N Cj4gPiANCj4gPg0KDQo=