From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=ruiyu.ni@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5F2DE220C1C2F for ; Thu, 23 Nov 2017 06:48:53 -0800 (PST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Nov 2017 06:53:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,441,1505804400"; d="scan'208";a="11126755" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 23 Nov 2017 06:53:10 -0800 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 23 Nov 2017 06:53:10 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 23 Nov 2017 06:53:09 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.152]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Thu, 23 Nov 2017 22:53:07 +0800 From: "Ni, Ruiyu" To: Laszlo Ersek , edk2-devel-01 CC: Ard Biesheuvel , "Justen, Jordan L" , "Dong, Eric" , "Zeng, Star" , "Doran, Mark" Thread-Topic: [PATCH 3/5] MdeModulePkg/UefiBootManagerLib: report EDKII_OS_LOADER_DETAIL status code Thread-Index: AQHTY+3iRUVHeCXtuU+IX8hF+88Z1qMhUt7ggAAmvYCAAJCCIA== Date: Thu, 23 Nov 2017 14:53:06 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BACEB2A@SHSMSX104.ccr.corp.intel.com> References: <20171122235849.4177-1-lersek@redhat.com> <20171122235849.4177-4-lersek@redhat.com> <734D49CCEBEEF84792F5B80ED585239D5BACE29B@SHSMSX104.ccr.corp.intel.com> <8b8b9430-f117-a9fb-a80c-cb3d034025ec@redhat.com> In-Reply-To: <8b8b9430-f117-a9fb-a80c-cb3d034025ec@redhat.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTJiMzBlNGUtMGI4NC00N2Q3LTgzODMtZDgzMmVhYTNkZWNkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJJcm9jcmFGM2tVcHFoQ21vdjVcL0FQVm13d3puRDFBWXhXY21ySEwzVngyNWZjM2ZweVlDRHpxdERPdDhFVHRxeCJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 3/5] MdeModulePkg/UefiBootManagerLib: report EDKII_OS_LOADER_DETAIL status code X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Nov 2017 14:48:53 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Q29tbWVudHMgYmVsb3cuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog TGFzemxvIEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFRodXJzZGF5 LCBOb3ZlbWJlciAyMywgMjAxNyAxMDowMyBQTQ0KPiBUbzogTmksIFJ1aXl1IDxydWl5dS5uaUBp bnRlbC5jb20+OyBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gQ2M6 IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsgSnVzdGVuLCBKb3Jk YW4gTA0KPiA8am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9u Z0BpbnRlbC5jb20+OyBaZW5nLCBTdGFyDQo+IDxzdGFyLnplbmdAaW50ZWwuY29tPjsgRG9yYW4s IE1hcmsgPG1hcmsuZG9yYW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDMvNV0g TWRlTW9kdWxlUGtnL1VlZmlCb290TWFuYWdlckxpYjogcmVwb3J0DQo+IEVES0lJX09TX0xPQURF Ul9ERVRBSUwgc3RhdHVzIGNvZGUNCj4gDQo+IEhlbGxvIFJheSwNCj4gDQo+IChDQyBNYXJrIERv cmFuIGZvciB0aGUgbGFzdCBwYXJ0IG9mIG15IGVtYWlsKQ0KPiANCj4gT24gMTEvMjMvMTcgMDY6 MjEsIE5pLCBSdWl5dSB3cm90ZToNCj4gPiBMYXN6bG8sDQo+ID4gV2hlbiBib290aW5nIGEgYm9v dCBvcHRpb24sIFVlZmlCb290TWFuYWdlckJvb3QoKSBzZXRzIGEgQm9vdCMjIyMNCj4gPiB2YXJp YWJsZSBhbmQgc2F2ZXMgIyMjIyB0byBCb290Q3VycmVudCB2YXJpYWJsZS4NCj4gPiBTbyBhbGwg dGhlIGRldGFpbHMgKGV4Y2VwdCB0aGUgRURLSUlfT1NfTE9BREVSX0RFVEFJTC5TdGF0dXMpIGNh biBiZQ0KPiA+IHJldHJpZXZlZCBmcm9tIHJlYWRpbmcgQm9vdCMjIyMgdmFyaWFibGUuDQo+IA0K PiBJIGhhdmUgdHdvIGNvdW50ZXItYXJndW1lbnRzOg0KPiANCj4gKDEpIEkgd291bGQgbGlrZSB0 byBtaW5pbWl6ZSB0aGUgbnVtYmVyIG9mIGFjY2Vzc2VzIHRvIG5vbi12b2xhdGlsZSBVRUZJDQo+ IHZhcmlhYmxlcy4gRGVwZW5kZW50IG9uIHRoZSB2aXJ0dWFsaXphdGlvbiBwbGF0Zm9ybSBhbmQg dGhlICh2aXJ0dWFsKSBmbGFzaCBjaGlwDQo+IHN0cnVjdHVyZSAoZm9yIGV4YW1wbGUsIGZsYXNo IGJsb2NrIHNpemUpLCBmbGFzaCBhY2Nlc3MgY2FuIGJlIHZlcnkgc2xvdy4NCj4gDQo+IEknbSBu b3QgMTAwJSBzdXJlIHdoZXRoZXIgdGhpcyBwZXJmb3JtYW5jZSBwcm9ibGVtIGFmZmVjdHMgZmxh c2ggKnJlYWRzKiBhcw0KPiB3ZWxsLCBvciBpZiBpdCBhZmZlY3RzIGZsYXNoIHdyaXRlcyBvbmx5 LiAoSXQgZGVmaW5pdGVseSBhZmZlY3RzIGZsYXNoIHdyaXRlcy4pDQoNCk5WICpyZWFkKiBzaG91 bGQgaGF2ZSBubyBwZXJmb3JtYW5jZSBpbXBhY3Qgc2luY2UgRURLSUkgdmFyaWFibGUgZHJpdmVy J3MNCmltcGxlbWVudGF0aW9uIGNhY2hlcyB0aGUgZmxhc2ggaW4gbWVtb3J5LiBJIGFtIG5vdCBz dXJlIGFib3V0IHRoYXQNCmluIE9WTUYuIEJ1dCBJIHRoaW5rIGEgZ29vZCBpbXBsZW1lbnRhdGlv biBvZiB2YXJpYWJsZSBkcml2ZXIgc2hvdWxkDQpjb25zaWRlciBzdWNoICpyZWFkKiBvcHRpbWl6 YXRpb24uDQpQZXJmb3JtYW5jZSBuZWVkcyB0byBiZSBjb25zaWRlcmVkLCBidXQgc2ltcGxlci9l YXN5LW1haW50YWluDQpjb2RlIHRha2VzIGhpZ2hlciBwcmlvcml0eS4NCg0KPiANCj4gDQo+ICgy KSBUaGUgZGVsaXZlcnkgb2Ygc3RhdHVzIGNvZGVzIHRvIHJlZ2lzdGVyZWQgaGFuZGxlcnMgaXMg YXN5bmNocm9ub3VzLCBub3QNCj4gc3luY2hyb25vdXMuIEhhbmRsZXJzIGFyZSByZWdpc3RlcmVk IGF0IHZhcmlvdXMgdGFzayBwcmlvcml0eSBsZXZlbHMsIGFuZCBpZiB0aGUNCj4gcmVwb3J0aW5n IG9jY3VycyBhdCB0aGUgc2FtZSBvciBoaWdoZXIgVFBMLCB0aGVuIHRoZSBkZWxpdmVyeSB3aWxs IGJlIGRlbGF5ZWQuDQo+IChBY2NvcmRpbmcgdG8gdGhlIFBJIHNwZWMsIGl0IGlzIGV2ZW4gcG9z c2libGUgdG8gcmVwb3J0IHNldmVyYWwgc3RhdHVzIGNvZGVzDQo+IGJlZm9yZSB0aGUgZmlyc3Qg d2lsbCBiZSBkZWxpdmVyZWQgLS0gYmFzaWNhbGx5IHRoZSBjb2RlcyBhcmUgcXVldWVkIHVudGls IHRoZSBUUEwgaXMNCj4gcmVkdWNlZCBzdWZmaWNpZW50bHkuKSBUaGlzIGlzIHdoeSBhbGwgZGF0 YSBoYXMgdG8gYmUgZW1iZWRkZWQgaW4gdGhlIHN0YXR1cyBjb2RlDQo+IHN0cnVjdHVyZSBpdHNl bGYuDQo+IA0KPiBMaWtlIGluIGFueSBvdGhlciBub3RpZnkgZnVuY3Rpb24ncyBjYXNlLCBpdCBp cyBwcnVkZW50IHRvIHJlZ2lzdGVyIHN0YXR1cyBjb2RlDQo+IGhhbmRsZXJzIGF0IHRoZSBsZWFz dCBzdHJpY3QgVFBMIHRoYXQgY2FuIHdvcmsgZm9yIHRoZSBhY3R1YWwgcHJvY2Vzc2luZy4gKFRo ZQ0KPiBpbnRlcm5hbHMgb2YgdGhlIGhhbmRsZXIgZnVuY3Rpb24gY2FuIGV2ZW4gcHV0IGFuIHVw cGVyIGxpbWl0IG9uIHRoZSBUUEw7IGZvcg0KPiBleGFtcGxlIHVzaW5nIFNpbXBsZSBUZXh0IE91 dHB1dCBwcmV2ZW50cyB1cyBmcm9tIGdvaW5nIGhpZ2hlciB0aGFuDQo+IFRQTF9OT1RJRlkuKSBG b3IgdGhpcyByZWFzb24gSSBjaG9zZSBUUExfQ0FMTEJBQ0sgZm9yIHRoZSBPVk1GIHN0YXR1cyBj b2RlDQo+IGhhbmRsZXIuDQo+IA0KPiBOb3csIGlmIHdlIGNhbiAqZ3VhcmFudGVlKiB0aGF0IHRo ZXNlIHN0YXR1cyBjb2RlcyBhcmUgb25seSByZXBvcnRlZCBhdCB0aGUNCj4gVFBMX0FQUExJQ0FU SU9OIGxldmVsLCB0aGVuIGEgVFBMX0NBTExCQUNLIHN0YXR1cyBjb2RlIGhhbmRsZXIgd2lsbCBi ZQ0KPiBzeW5jaHJvbm91cyBpbiBlZmZlY3QsIGFuZCB0aGVuIHRoZSBzdGF0dXMgY29kZSBzdHJ1 Y3R1cmUgY2FuIGNhcnJ5IHJlZmVyZW5jZXMNCj4gdG8gb3RoZXIgKGV4dGVybmFsKSB0aGluZ3Mg aW4gdGhlIHN5c3RlbSB0b28sIHN1Y2ggYXMgVUVGSSB2YXJpYWJsZXMuDQo+IA0KPiBDYW4gd2Ug Z3VhcmFudGVlIHRoYXQgRWZpQm9vdE1hbmFnZXJCb290KCkgaXMgbmV2ZXIgaW52b2tlZCBhYm92 ZQ0KPiBUUExfQVBQTElDQVRJT04/DQpZZXMuIEl0IHNob3VsZCBiZS4gQmVjYXVzZSBnQlMtPkxv YWRJbWFnZSgpL1N0YXJ0SW1hZ2UoKSBwZXIgVUVGSSBzcGVjIFRQTA0KcmVzdHJpY3Rpb24gcnVs ZSwgc2hvdWxkIGJlIHJ1biBhdCBUUExfQVBQTElDQVRJT04uDQpBbmQgaWYgdGhlcmUgaXMgbm8g c3BlY2lhbCByZWFzb24gKGhhbmRsZXIgcnVucyB0b28gc2xvdyksIHRoZSBzdGF0dXMgaGFuZGxl cg0KaXMgcmVnaXN0ZXJlZCBhdCBUUExfSElHSCBzbyB0aGF0IHRoZSBoYW5kbGVyIGlzIGNhbGxl ZCBzeW5jaHJvbm91c2x5Lg0KDQo+IA0KPiA+DQo+ID4gNCBtb3JlIGNvbW1lbnRzIGJlbG93Lg0K PiANCj4gW3NuaXBdDQo+IA0KPiA+PiArICAgICAgQm1SZXBvcnRPc0xvYWRlckRldGFpbCAoDQo+ ID4+ICsgICAgICAgIE9zTG9hZGVyRGV0YWlsLA0KPiA+PiArICAgICAgICBPc0xvYWRlckRldGFp bFNpemUsDQo+ID4+ICsgICAgICAgIEVES0lJX09TX0xPQURFUl9ERVRBSUxfVFlQRV9MT0FELA0K PiA+PiArICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGV0YWls U3RhdHVzIC0tIHVudXNlZCBoZXJlDQo+ID4+ICsgICAgICAgICk7DQo+ID4+ICsNCj4gPg0KPiA+ IDEuIFdpdGggdGhlIEJvb3RDdXJyZW50LCB0aGlzIGNoYW5nZSBpcyBub3QgbmVjZXNzYXJ5IGJl Y2F1c2Ugb3RoZXJzDQo+ID4gY2FuIGhvb2sgUGNkUHJvZ3Jlc3NDb2RlT3NMb2FkZXJMb2FkIHRv IGdldCB0aGUgY3VycmVudCBsb2FkaW5nIGJvb3QNCj4gPiBvcHRpb24uDQo+IA0KPiBBcyBsb25n IGFzIHdlIGNhbiBjbGVhciBteSBwb2ludHMgKDEpIGFuZCAoMikgYWJvdmUsIEknZCBiZSBmaW5l IHdpdGggdGhpcw0KPiBhcHByb2FjaC4NCj4gDQo+ID4NCj4gPj4gICAgICAgIFN0YXR1cyA9IGdC Uy0+TG9hZEltYWdlICgNCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICBUUlVFLA0KPiA+PiAg ICAgICAgICAgICAgICAgICAgICAgIGdJbWFnZUhhbmRsZSwNCj4gPj4gICAgICAgICAgICAgICAg ICAgICAgICBGaWxlUGF0aCwNCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICBGaWxlQnVmZmVy LA0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVTaXplLA0KPiA+PiAgICAgICAgICAg ICAgICAgICAgICAgICZJbWFnZUhhbmRsZQ0KPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICk7 DQo+ID4+ICAgICAgfQ0KPiA+PiAgICAgIGlmIChGaWxlQnVmZmVyICE9IE5VTEwpIHsNCj4gPj4g ICAgICAgIEZyZWVQb29sIChGaWxlQnVmZmVyKTsNCj4gPj4gICAgICB9DQo+ID4+ICAgICAgaWYg KEZpbGVQYXRoICE9IE5VTEwpIHsNCj4gPj4gICAgICAgIEZyZWVQb29sIChGaWxlUGF0aCk7DQo+ ID4+ICAgICAgfQ0KPiA+Pg0KPiA+PiAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g Pj4gICAgICAgIC8vDQo+ID4+ICAgICAgICAvLyBSZXBvcnQgU3RhdHVzIENvZGUgdG8gaW5kaWNh dGUgdGhhdCB0aGUgZmFpbHVyZSB0byBsb2FkIGJvb3Qgb3B0aW9uDQo+ID4+ICAgICAgICAvLw0K PiA+PiAgICAgICAgUkVQT1JUX1NUQVRVU19DT0RFICgNCj4gPj4gICAgICAgICAgRUZJX0VSUk9S X0NPREUgfCBFRklfRVJST1JfTUlOT1IsDQo+ID4+ICAgICAgICAgIChFRklfU09GVFdBUkVfRFhF X0JTX0RSSVZFUiB8DQo+ID4+IEVGSV9TV19EWEVfQlNfRUNfQk9PVF9PUFRJT05fTE9BRF9FUlJP UikNCj4gPj4gICAgICAgICAgKTsNCj4gPj4gKyAgICAgIEJtUmVwb3J0T3NMb2FkZXJEZXRhaWwg KA0KPiA+PiArICAgICAgICBPc0xvYWRlckRldGFpbCwNCj4gPj4gKyAgICAgICAgT3NMb2FkZXJE ZXRhaWxTaXplLA0KPiA+PiArICAgICAgICBFREtJSV9PU19MT0FERVJfREVUQUlMX1RZUEVfTE9B RF9FUlJPUiwNCj4gPj4gKyAgICAgICAgU3RhdHVzDQo+ID4+ICsgICAgICAgICk7DQo+ID4+ICsN Cj4gPg0KPiA+IDIuIEkgdGhpbmsgZmlyc3RseSwgdGhlIE9zTG9hZGVyRGV0YWlsIGlzIG5vdCBu ZWVkZWQuDQo+ID4gU2Vjb25kbHksIEkgcHJlZmVyIHRvIHN1Ym1pdCBhIFBJIHNwZWMgY2hhbmdl IHRvIGluY2x1ZGUgZXh0ZW5kZWQgZGF0YQ0KPiA+IGZvciBFRklfU1dfRFhFX0JTX0VDX0JPT1Rf T1BUSU9OX0xPQURfRVJST1Igc3RhdHVzIGNvZGUuDQo+ID4gSW5zdGVhZCBvZiBpbnZlbnRpbmcg YSBuZXcgc3RhdHVzIGNvZGUuDQo+IA0KPiBJIHVuZGVyc3RhbmQgeW91ciBwb2ludCwgYW5kIGlu IHRoZW9yeSBJIGFncmVlIHdpdGggaXQsIGJ1dCBpbiBwcmFjdGljZSwgSSBjYW5ub3QuDQoNCklm IHRoZXJlIGlzIG5vIHNpbWlsYXIgc3RhdHVzIGNvZGUgZm9yIGEgY2VydGFpbiBwdXJwb3NlLCBJ IGFncmVlIHRvIGludmVudCBhIG5ldyBzdGF0dXMNCmNvZGUuIEFuZCB3aGVuIHRoZSBuZXcgc3Rh dHVzIGNvZGUgaXMgcHJvdmVuIGJ5IHRpbWUgdG8gYmUgbWF0dXJlIGVub3VnaCwgaXQgY2FuIGdv DQp0byBQSSBzcGVjLg0KQnV0IGZvciB0aGlzIGNhc2UsIHNpbmNlIFBJIHNwZWMgYWxyZWFkeSBo YXMgc3VjaCBzdGF0dXMgY29kZSwgSSBwcmVmZXIgdG8gYXQgbGVhc3QgdHJ5DQp0byBjaGFuZ2Ug dGhlIHNwZWMuIElmIFBJV0cgZG9lc24ndCBhZ3JlZSwgd2UgY2FuIGdvIG9uIHVzaW5nIHRoZSBu ZXcgc3RhdHVzIGNvZGUuDQoNCj4gDQo+IE15IGV4cGVyaWVuY2Ugd2l0aCBNYW50aXMgdGlja2V0 cyBpcyBub3QgZ29vZDoNCj4gDQo+IChhKSBGaXJzdCwgSSB3b3VsZCBoYXZlIHRvIHdyaXRlIHVw IHRoZSBwcm9wb3NhbC4gVGhhdCdzIGZpbmUsIEkgY2FuIGRvIHRoYXQ7IGhhdmUNCj4gZG9uZSBp dCBiZWZvcmUuDQo+IA0KPiANCj4gKGIpIFNlY29uZCwgSSdkIGhhdmUgdG8gKmNhbGwqIHRoZSBt ZWV0aW5ncy4gUGxlYXNlIGxvY2F0ZSB0aGUgZW1haWwgdGl0bGVkDQo+IA0KPiAgIGEgcmVtaW5k ZXIgYWJvdXQgTUFOVElTIHVzYWdlDQo+IA0KPiBmcm9tIE1hcmssIChkYXRlOiA2IFNlcCAyMDE3 KSwgY3Jvc3MtcG9zdGVkIHRvIHRoZSBQSVdHL1VTV0cvQVNXRyBsaXN0cy4NCj4gDQo+IEknbSBu b3QgYWxsb3dlZCB0byBxdW90ZSB0aGUgZW1haWwgdmVyYmF0aW0gLS0gYWxsIG9mIHRoZXNlIGxp c3RzIGFyZSBjb25maWRlbnRpYWwgLQ0KPiAtLCBidXQgaWYgeW91IGxvb2sgdXAgdGhlIHBhcmFn cmFwaCBzdGFydGluZyB3aXRoICJCZXN0IHByYWN0aWNlIiwgTWFyayBiYXNpY2FsbHkNCj4gaW1w bGllZCwgImZpbGUgdGhlIHRoZSBNYW50aXMgdGlja2V0LCB0aGVuIGRpYWwgaW4gdG8gdGhlIG5l eHQgbWVldGluZyBhbmQgc2VsbCB5b3VyDQo+IHByb3Bvc2FsIHRvIHRoZSBXRyAqdmVyYmFsbHkq Ii4NCj4gDQo+IEkgKmNhbm5vdCogZG8gdGhhdC4gVGhlIFdHIG1lZXRpbmdzIGFsd2F5cyB0YWtl IHBsYWNlIGVhcmx5IGFmdGVybm9vbiBpbg0KPiBQYWNpZmljIChVUyBXZXN0IENvYXN0KSB0aW1l em9uZSwgd2hpY2ggaXMgYXJvdW5kICptaWRuaWdodCogaW4gbXkgdGltZXpvbmUuDQo+IA0KPiBJ biBhZGRpdGlvbiwgSSBkb24ndCBldmVuIGhhdmUgdGltZSB0byBhdHRlbmQgdGhlIGNvbmZjYWxs cyB0aGF0IEknbSBpbnZpdGVkIHRvDQo+IHdpdGhpbiBSZWQgSGF0IQ0KPiANCj4gSSBkb24ndCB1 bmRlcnN0YW5kIHdoeSBhIGNhcmVmdWxseSB3cml0dGVuIE1hbnRpcyB0aWNrZXQgaXMgbm90IHN1 ZmZpY2llbnQgZm9yDQo+IGRpc2N1c3Npb24sIGJ1dCBhcHBhcmVudGx5IGl0IGlzbid0LiA6Lw0K PiANCj4gDQo+IChjKSBDYXNlIGluIHBvaW50LCBwbGVhc2Ugc2VlIE1hbnRpcyB0aWNrZXQgIzE3 MzYsIHRpdGxlZA0KPiANCj4gICAgIGxhY2tpbmcgc3BlY2lmaWNhdGlvbiBvZiBFRklfQk9PVF9T Q1JJUFRfV0lEVEggaW4gUEkgMS41IC8gVm9sIDUgLw0KPiAgICAgOC43LjEgU2F2ZSBTdGF0ZSBX cml0ZQ0KPiANCj4gd2hpY2ggSSBoYWQgb3JpZ2luYWxseSBmaWxlZCBpbiBEZWNlbWJlciAyMDE2 Lg0KPiANCj4gSW4gRmVicnVhcnkgMjAxNywgSSB3YXMgYXNrZWQgZm9yIG1vcmUgZGV0YWlscy4g SSBzYWlkLCAiZmFpciBlbm91Z2giLCBhbmQgSSBzcGVudA0KPiBoYWxmIGEgZGF5IHdyaXRpbmcg dXAgdGhlIHJlcXVlc3RlZCBjaGFuZ2UgaW4gKmZ1bGwqIGRldGFpbC4NCj4gSSBnYXZlIGVkaXRp bmcgaW5zdHJ1Y3Rpb25zIG9mIHRoZSBmb3JtDQo+IA0KPiAgIGNoYW5nZSB0aGlzIHRvIHRoYXQN Cj4gDQo+IGFuZA0KPiANCj4gICBhZGQvZGVsZXRlIHRoZSBmb2xsb3dpbmcNCj4gDQo+IGFzIHJl Y29tbWVuZGVkIGluIE1hcmsncyBlbWFpbCAoYikuDQo+IA0KPiBZb3UgY2FuIHNlZSBteSB3cml0 ZS11cCBpbiBub3RlIDAwMDUwNDQuIEFmdGVyIHRoYXQgbm90ZSwgdGhlcmUgaGF2ZSBiZWVuDQo+ ICp6ZXJvKiB1cGRhdGVzIHRvIHRoZSB0aWNrZXQ7IHNpbmNlIEZlYnJ1YXJ5IDIwMTcuDQo+IA0K PiANCj4gU28gdGhlIGZhY3QgaXMsIHVubGVzcyB5b3UgaGF2ZSB0aW1lIHRvIGNhbGwgdGhlIFdH IG1lZXRpbmdzIGV2ZXJ5IHdlZWssIGFuZA0KPiBwdXNoICpsaXZlKiBmb3IgdGhlIGNoYW5nZSB0 aGF0IHlvdSB3YW50LCB5b3UgaGF2ZSBubyBjaGFuY2UgYXQgZ2V0dGluZyBzdHVmZg0KPiBpbnRv IHRoZSBzcGVjcy4NCj4gDQo+IA0KPiBJIG1lYW4sIGluIGhpcyBlbWFpbCAoYiksIE1hcmsgc3Vn Z2VzdHMgYXNraW5nIGEgInByb3h5IiBmb3IgcmVwcmVzZW50aW5nIHRoZQ0KPiBjaGFuZ2UgcmVx dWVzdCwgdG8gYW55b25lIHRoYXQgY2Fubm90IGRpYWwgaW4uIFdlbGwsIGNhbiAqeW91KiBiZSBt eSBwcm94eSBvbg0KPiB0aGUgUElXRyBtZWV0aW5nLCBpZiBJIHdyaXRlIHVwIHRoZSBjaGFuZ2Ug cmVxdWVzdD8gWW91IGNlcnRhaW5seSB1bmRlcnN0YW5kDQo+IHRoZSBwcm9ibGVtIHNwYWNlLCBh bmQgeW91IG1haW50YWluIHRoZSBjb3JyZXNwb25kaW5nIHJlZmVyZW5jZSBjb2RlIGluIGVkazIu DQo+IEkganVzdCBkb3VidCB5b3UgaGF2ZSB0aW1lIGZvciBjb25mZXJlbmNlIGNhbGxzLCBzYW1l IGFzIEkuDQo+IA0KPiBVZWZpQm9vdE1hbmFnZXJMaWIgYWxyZWFkeSByZXBvcnRzIGFuIGV4dGVu ZGVkIHN0YXR1cyBjb2RlLCB3aXRoDQo+IEVES0lJX1NFVF9WQVJJQUJMRV9TVEFUVVMgcGF5bG9h ZC4gSW50cm9kdWNpbmcgYW5vdGhlciBlZGsyLXNwZWNpZmljIHN0YXR1cw0KPiBjb2RlIHJlcXVp cmVzIG5vIHNsb3cgbmVnb3RpYXRpb24sIGFuZCBpdCBjYW4gYmUgYWRvcHRlZCBieSBvdGhlcnMs IGluIHByYWN0aWNlLA0KPiBpZiB0aGV5IGxpa2UgaXQuIE9uY2UgaXQgaXMgd2lkZS1zcHJlYWQg cHJhY3RpY2UsIGl0IGNhbiBiZSBtb3JlIGVhc2lseSBjb2RpZmllZCBpbg0KPiB0aGUgc3BlYy4g VGhlIHNwZWNpZmljcyBmb3IgdGhlIGZpcnN0IGltcGxlbWVudGF0aW9uIGNhbiBiZSAtLSBzaG91 bGQgYmUgLS0NCj4gZGlzY3Vzc2VkIG9uIHRoaXMgb3BlbiBsaXN0OyB3ZSBoYWQgYmV0dGVyIG5v dCBzdGFuZGFyZGl6ZSBzb21ldGhpbmcgdGhhdCBoYXMNCj4gemVybyBpbXBsZW1lbnRhdGlvbnMg anVzdCB5ZXQuDQo+IA0KPiBBbnl3YXksIEknbSB3aWxsaW5nIHRvIGdvIHRocm91Z2ggdGhlIHN0 YW5kYXJkaXphdGlvbiBwcm9jZXNzLCBidXQgb25seSBpZiBpdA0KPiBkb2Vzbid0IHJlcXVpcmUg bWUgdG8gcGljayB1cCB0aGUgcGhvbmUgZXZlcnkgd2VlayAoZXNwLiBhdCBtaWRuaWdodCkuDQo+ IA0KPiBUaGFua3MNCj4gTGFzemxvDQo=