From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) (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 BDE4F20958BCF for ; Mon, 11 Sep 2017 06:04:46 -0700 (PDT) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Sep 2017 06:07:41 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,377,1500966000"; d="scan'208";a="147834590" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga005.jf.intel.com with ESMTP; 11 Sep 2017 06:07:41 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Sep 2017 06:07:40 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Sep 2017 06:07:39 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.39]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.219]) with mapi id 14.03.0319.002; Mon, 11 Sep 2017 21:07:38 +0800 From: "Shi, Steven" To: Paulo Alcantara , Laszlo Ersek , edk2-devel-01 CC: "Ni, Ruiyu" , "Dong, Eric" , "Zeng, Star" , Ard Biesheuvel Thread-Topic: [edk2] [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups Thread-Index: AQHTKcmbPIdg+ibdkUCg8wDkkAXa4aKtg50g///DFgCAAFeRgIAAj1FQ//+SHICAAdp4gA== Date: Mon, 11 Sep 2017 13:07:37 +0000 Message-ID: <06C8AB66E78EE34A949939824ABE2B313B57F227@shsmsx102.ccr.corp.intel.com> References: <20170910001304.8628-1-lersek@redhat.com> <06C8AB66E78EE34A949939824ABE2B313B57E700@shsmsx102.ccr.corp.intel.com> <5d0d40da-5d93-2be7-f8ef-73e981b48f49@redhat.com> <06C8AB66E78EE34A949939824ABE2B313B57EAA3@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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 0/5] MdeModulePkg: UDF fixes and cleanups 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: Mon, 11 Sep 2017 13:04:47 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KWW91ciBjb2RlIGlzIGdvb2QuIEJ1dCB0aGVyZSBpcyBhICJOdWxsIFBvaW50 ZXIgVXNlIiBpc3N1ZSwgd2hpY2ggaXMgYSB1bmRlZmluZWQgYmVoYXZpb3IgaW4gQyBzcGVjLCBp biBlZGsyL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9VZGZEeGUvRmlsZS5jLCBsaW5lOjY5 NiwgY29sdW1uOiA3IGFuZCBsaW5lOjcwNywgY29sdW1uOiAxNC4NCg0KTGluZTY5NToNCiAgRmls ZUlkZW50aWZpZXJEZXNjID0gUHJpdkZpbGVEYXRhLT5GaWxlLkZpbGVJZGVudGlmaWVyRGVzYzsN CiAgaWYgKElTX0ZJRF9ESVJFQ1RPUllfRklMRSAoRmlsZUlkZW50aWZpZXJEZXNjKSkgew0KICAg Li4uDQoNClRoZSBhYm92ZSBGaWxlSWRlbnRpZmllckRlc2MgY2FuIGJlIE5VTEwgaWYgeW91IHJ1 biBhIC5lZmkgaW4gYSBVZGYgcGFydGl0aW9uLiBBbmQgdGhlIGxhdGVyIElTX0ZJRF9ESVJFQ1RP UllfRklMRSAoRmlsZUlkZW50aWZpZXJEZXNjKSBpcyB1bnNhZmUgaWYgRmlsZUlkZW50aWZpZXJE ZXNjID09IE5VTEwuIFlvdSBjYW4gdGVzdCBpdCB3aXRoIGJlbG93IGV4dHJhIGNvZGUgd2hpY2gg YWRkIGRlYnVnIG91dHB1dCB3aGVuIEZpbGVJZGVudGlmaWVyRGVzYyA9PSBOVUxMLCBhbmQgY2hl Y2sgdGhlIGxvZyBhZnRlciBsb2FkIGFuZCBydW4gc29tZXRoaW5nIGluIGEgVWRmIHBhcnRpdGlv bi4NCg0KKysrIGIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1VkZkR4ZS9GaWxlLmMNCkBA IC02OTMsNiArNjkzLDExIEBAIFVkZlNldFBvc2l0aW9uICgNCiAgIFByaXZGaWxlRGF0YSA9IFBS SVZBVEVfVURGX0ZJTEVfREFUQV9GUk9NX1RISVMgKFRoaXMpOw0KDQogICBGaWxlSWRlbnRpZmll ckRlc2MgPSBQcml2RmlsZURhdGEtPkZpbGUuRmlsZUlkZW50aWZpZXJEZXNjOw0KKyAgaWYgKEZp bGVJZGVudGlmaWVyRGVzYyA9PSBOVUxMKSB7DQorICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJG aWxlSWRlbnRpZmllckRlc2MgPT0gTlVMTCFcbiIpKTsNCisgICAgcmV0dXJuIFN0YXR1czsNCisg IH0NCisNCiAgIGlmIChJU19GSURfRElSRUNUT1JZX0ZJTEUgKEZpbGVJZGVudGlmaWVyRGVzYykp IHsNCiAgICAgLy8NCiAgICAgLy8gSWYgdGhlIGZpbGUgaGFuZGxlIGlzIGEgZGlyZWN0b3J5LCB0 aGUgX29ubHlfIHBvc2l0aW9uIHRoYXQgbWF5IGJlIHNldCBpcw0KDQpJIGZvbGxvd2VkIHRoZSBQ YXVsbydzIHN1Z2dlc3Rpb24sIGFuZCBmb3VuZCB0aGlzIGlzc3VlIHdoZW4gdXNpbmcgdGhlIFVk ZiBwYXJ0aXRpb24gb2YgV2luZG93cyAxMCBFbnRlcnByaXNlIElTTyBpbWFnZSBvbiBxZW11LiBC ZWxvdyBpcyBteSBxZW11IGNvbW1hbmQ6DQovdXNyL2xvY2FsL2Jpbi9xZW11LXN5c3RlbS14ODZf NjQgLW0gNTEyMCAtZW5hYmxlLWt2bSAgLW1hY2hpbmUgcGMtcTM1LTIuOSAtYmlvcyBPVk1GLmZk IC1zZXJpYWwgZmlsZTpzZXJpYWwubG9nICAtY2Ryb20gL21lZGlhL2pzaGkxOS9NeVwgUGFzc3Bv cnQvT1NJbWFnZS9JU08vd2luc2VydmVyL2VuX3dpbmRvd3Nfc2VydmVyXzIwMTZfeDY0X2R2ZF85 MzI3NzUxLmlzbw0KDQpJJ3ZlIHN1Ym1pdHRlZCBhIGJ1ZyBmb3IgdGhpcyBpc3N1ZTogaHR0cHM6 Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQuIA0KDQpJIGZvdW5k IHRoaXMgaXNzdWUgYnkgZWRrMiBsbHZtIHVuZGVmaW5lZCBiZWhhdmlvciBzYW5pdGl6ZXIsIGFu ZCBiZWxvdyBpcyB0aGUgc2FuaXRpemVyIG91dHB1dC4gRllJLg0KL2hvbWUvanNoaTE5L3drc3Bf ZWZpL2VkazIvTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1VkZkR4ZS9GaWxlLmMsIGxpbmU6 MHgwMkI4LCBjb2x1bW46MHgwMDA3IEVycm9yVHlwZSA9IE51bGxQb2ludGVyVXNlOiBtZW1iZXIg YWNjZXNzIHdpdGhpbiBudWxsIHBvaW50ZXIgb2YgdHlwZSAnVURGX0ZJTEVfSURFTlRJRklFUl9E RVNDUklQVE9SJw0KQVNBTiBNRU1PUlkgQUNDRVNTIGNoZWNrIGZhaWwhIF9fdWJzYW5faGFuZGxl X3R5cGVfbWlzbWF0Y2hfdjEgaXMgY2FsbGVkOiANClVkZlNldFBvc2l0aW9uDQovaG9tZS9qc2hp MTkvd2tzcF9lZmkvZWRrMi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svVWRmRHhlL0ZpbGUu Yzo2OTY6Nw0KRWZpU2hlbGxGaW5kRmlsZXNJbkRpcg0KL2hvbWUvanNoaTE5L3drc3BfZWZpL2Vk azIvU2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hlbGxQcm90b2NvbC5jOjIxMzY6MTgNClNo ZWxsU2VhcmNoSGFuZGxlDQovaG9tZS9qc2hpMTkvd2tzcF9lZmkvZWRrMi9TaGVsbFBrZy9BcHBs aWNhdGlvbi9TaGVsbC9TaGVsbFByb3RvY29sLmM6MjQxMzoxNA0KRWZpU2hlbGxGaW5kRmlsZXMN Ci9ob21lL2pzaGkxOS93a3NwX2VmaS9lZGsyL1NoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1No ZWxsUHJvdG9jb2wuYzoyNTg2OjE4DQpFZmlTaGVsbE9wZW5GaWxlTGlzdA0KL2hvbWUvanNoaTE5 L3drc3BfZWZpL2VkazIvU2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hlbGxQcm90b2NvbC5j OjI2NjY6MTINClNoZWxsT3BlbkZpbGVNZXRhQXJnDQovaG9tZS9qc2hpMTkvd2tzcF9lZmkvZWRr Mi9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExpYi9VZWZpU2hlbGxMaWIuYzoxNTcwOjE0DQoN Ci9ob21lL2pzaGkxOS93a3NwX2VmaS9lZGsyL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9V ZGZEeGUvRmlsZS5jLCBsaW5lOjB4MDJDMywgY29sdW1uOjB4MDAwRSBFcnJvclR5cGUgPSBOdWxs UG9pbnRlclVzZTogbWVtYmVyIGFjY2VzcyB3aXRoaW4gbnVsbCBwb2ludGVyIG9mIHR5cGUgJ1VE Rl9GSUxFX0lERU5USUZJRVJfREVTQ1JJUFRPUicNCkFTQU4gTUVNT1JZIEFDQ0VTUyBjaGVjayBm YWlsISBfX3Vic2FuX2hhbmRsZV90eXBlX21pc21hdGNoX3YxIGlzIGNhbGxlZDoNCi4uLg0KDQpT dGV2ZW4gU2hpDQpJbnRlbFxTU0dcU1RPXFVFRkkgRmlybXdhcmUNCg0KVGVsOiArODYgMDIxLTYx MTY2NTIyDQppTmV0OiA4MjEtNjUyMg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ IEZyb206IFBhdWxvIEFsY2FudGFyYSBbbWFpbHRvOnBjYWNqckB6eXRvci5jb21dDQo+IFNlbnQ6 IFN1bmRheSwgU2VwdGVtYmVyIDEwLCAyMDE3IDExOjUyIFBNDQo+IFRvOiBTaGksIFN0ZXZlbiA8 c3RldmVuLnNoaUBpbnRlbC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsN Cj4gZWRrMi1kZXZlbC0wMSA8ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+DQo+IENjOiBOaSwgUnVp eXUgPHJ1aXl1Lm5pQGludGVsLmNvbT47IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+ OyBaZW5nLA0KPiBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIDAv NV0gTWRlTW9kdWxlUGtnOiBVREYgZml4ZXMgYW5kIGNsZWFudXBzDQo+IA0KPiANCj4gDQo+IE9u IDEwLzA5LzIwMTcgMTE6MjcsIFNoaSwgU3RldmVuIHdyb3RlOg0KPiA+IE9LLiBEb2VzIHRoZSBV REYgaW1hZ2UgeW91IGNyZWF0ZWQgY29ycmVjdGx5IHNob3cgdXAgYXMgQ0QtUk9NDQo+IGNvbnRl bnQgaW4gTGludXgsIGUuZyBGZWRvcmE/DQo+IA0KPiBUaGUgRmVkb3JhIGltYWdlIEkgaGF2ZSAo RmVkb3JhLVdvcmtzdGF0aW9uLUxpdmUteDg2XzY0LTI2LTEuNS5pc28pIGRvZXMNCj4gbm90IGNv bnRhaW4gYSB2YWxpZCBVREYgZmlsZSBzeXN0ZW0sIHNvIHlvdSBjYW5ub3QgdXNlIGl0IGZvciB0 ZXN0aW5nLg0KPiANCj4gVG8gbWFrZSBzdXJlIGl0IHJlYWxseSBkb2Vzbid0LCBJIHVzZWQgYSAi UGhpbGlwcyBVREYgQ29uZm9ybWFuY2UgVG9vbCINCj4gdGhhdCB5b3UgY2FuIGdyYWIgaW4gWzFd LCBhbmQgdGhlIHRvb2wgZGlkbid0IGZpbmQgYW55IHZhbGlkIFVERiBmaWxlDQo+IHN5c3RlbSBp biBpdC4NCj4gDQo+IEkndmUgYmVlbiB1c2luZyBhbiB1bm1vZGlmaWVkIFdpbmRvd3MgMTAgRW50 ZXJwcmlzZSBpbWFnZSB0aGF0IGRvZXMNCj4gY29udGFpbiBhIHZhbGlkIFVERiBicmlkZ2UgZGlz ayBpbWFnZSAoSVNPOTY2MCtFbFRvcml0bytVREYpIHRvIHBlcmZvcm0NCj4gbXkgdGVzdHMuDQo+ IA0KPiBBZGRpdGlvbmFsbHksIEkgdXNlIGFuIFVTQiBzdGljayB0aGF0IEkgZm9ybWF0IGl0IHdp dGggJ3N1ZG8gbWt1ZGZmcyAtYg0KPiA1MTIgLS1tZWRpYS10eXBlPWhkIC9kZXYvc2RYJyBhbmQg Y29weSBzb21lIGZpbGVzIHRvIGl0IGZvciB0ZXN0aW5nDQo+IA0KPiBCVFcsIHdoZW4gdGVzdGlu ZyB3aXRoIE9WTUYgQUFSQ0g2NCwgSSB3YXMgdXNpbmcgbXkgVVNCIHN0aWNrIHRoYXQNCj4gc2hv d2VkIHVwIGNvcnJlY3RseSBhcyAnZnNYJyBpbiBVRUZJIHNoZWxsLCBidXQgd2l0aCB0aGUgV2lu ZG93cyAxMA0KPiBFbnRlcnByaXNlIElTTyBpbWFnZSwgaXQgZGlkbid0LiBJIGxvb2tlZCBhdCB0 aGUgbG9ncyB0byBzZWUgd2hhdCB3YXMNCj4gZ29pbmcgb24gYW5kIEkgZm91bmQgb3V0IHRoYXQg dGhlIGVtdWxhdGVkIENELVJPTSBkcml2ZSBpcyByZXBvcnRpbmcgYQ0KPiBibG9jayBzaXplIG9m IDUxMiBpbnN0ZWFkIG9mIDIwNDggLS0gd2hpY2ggc2VlbXMgd3JvbmcgdG8gbWUuIFdpdGgNCj4g J3FlbXUtc3lzdGVtLXg4Nl82NCAtY2Ryb20nLCBpdCByZXBvcnRzIGEgYmxvY2sgc2l6ZSBvZiAy MDQ4Lg0KPiANCj4gVGhlIFBhcnRpdGlvbiBkcml2ZXIgaXMgc3RpbGwgYWJsZSB0byBmaW5kIGEg dmFsaWQgRWxUb3JpdG8gcGFydGl0aW9uDQo+IGJlY2F1c2UsIHJlZ2FyZGxlc3MgdGhlIGRldmlj ZSBibG9jayBzaXplLCBpdCBhbHdheXMgdXNlIGEgbG9naWNhbCBibG9jaw0KPiBzaXplIG9mIDIw NDggc3RhcnRpbmcgYXQgMzJLLiBJbiBVREYsIHdoZW4gc2VhcmNoaW5nIGZvciBBVkRQcyAoQW5j aG9yDQo+IFZvbHVtZSBEZXNjcmlwdG9yIFBvaW50ZXJzKSwgd2Ugc2VhcmNoIGZvciB0aGVtIGF0 IGZpeGVkIGxvY2F0aW9uczogMjU2LA0KPiBOIC0gMjU2LCBOIGFuZCA1MTIgLS0gYnV0LCB3aXRo IGEgYmxvY2sgc2l6ZSBvZiA1MTIsIHRoZSBsb2NhdGlvbnMNCj4gY2hhbmdlIHRvIDEwMjQsIE4g LSAxMDI0LCBOIGFuZCAyMDQ4IC0tIHRodXMgYnJlYWtpbmcgdGhlIHZvbHVtZQ0KPiByZWNvZ25p dGlvbiBzZXF1ZW5jZS4NCj4gDQo+IEZvciB0ZXN0aW5nIHRoZSBXaW5kb3dzIGltYWdlIHdpdGgg YSBibG9jayBzaXplIG9mIDUxMiwgSSB1c2VkIHRoZQ0KPiBjb21mb3JtYW5jZSB0b29sIHdpdGgg Jy4vdWRmX3Rlc3QgLXZlcmJvc2UgNjAgLWJsb2Nrc2l6ZSA1MTINCj4gfi9pbWcvd2luX2VudDEw LmlzbycgYW5kIGl0IGZhaWxlZCB0byBmaW5kIGEgdmFsaWQgVURGIGZpbGUgc3lzdGVtLiBCdXQN Cj4gd2l0aCBhIGJsb2NrIHNpemUgb2YgMjA0OCwgaXQgd29ya2VkLg0KPiANCj4gSXMgdGhlcmUg YW55IHJlYXNvbiBmb3IgcmVwb3J0aW5nIGEgYmxvY2sgc2l6ZSBvZiA1MTIgd2hlbiB1c2luZw0K PiAnLWNkcm9tJyBvcHRpb24gaW4gcWVtdS1zeXN0ZW0tYWFyY2g2ND8gSXMgdGhhdCBhIGJ1Zz8g T3IgYW0gSSBtaXNzaW5nDQo+IHNvbWV0aGluZyBoZXJlPw0KPiANCj4gVGhhbmtzIQ0KPiBQYXVs bw0KPiANCj4gWzFdIC0gaHR0cHM6Ly93d3cubHNjZHdlYi5jb20vcmVnaXN0ZXJlZC91ZGZfdmVy aWZpZXIuaHRtbA0KPiANCj4gPg0KPiA+DQo+ID4gU3RldmVuIFNoaQ0KPiA+IEludGVsXFNTR1xT VE9cVUVGSSBGaXJtd2FyZQ0KPiA+DQo+ID4gVGVsOiArODYgMDIxLTYxMTY2NTIyDQo+ID4gaU5l dDogODIxLTY1MjINCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBG cm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gPj4gU2VudDog U3VuZGF5LCBTZXB0ZW1iZXIgMTAsIDIwMTcgOTo1MiBQTQ0KPiA+PiBUbzogU2hpLCBTdGV2ZW4g PHN0ZXZlbi5zaGlAaW50ZWwuY29tPjsgZWRrMi1kZXZlbC0wMSA8ZWRrMi0NCj4gPj4gZGV2ZWxA bGlzdHMuMDEub3JnPg0KPiA+PiBDYzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBE b25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsNCj4gWmVuZywNCj4gPj4gU3RhciA8c3Rh ci56ZW5nQGludGVsLmNvbT47IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8u b3JnPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCAwLzVdIE1kZU1vZHVsZVBrZzog VURGIGZpeGVzIGFuZCBjbGVhbnVwcw0KPiA+Pg0KPiA+PiBIaSBTdGV2ZW4sDQo+ID4+DQo+ID4+ IE9uIDA5LzEwLzE3IDEwOjM4LCBMYXN6bG8gRXJzZWsgd3JvdGU6DQo+ID4+PiBPbiAwOS8xMC8x NyAwNjoyNCwgU2hpLCBTdGV2ZW4gd3JvdGU6DQo+ID4+Pj4gSGkgTGFzemxvLA0KPiA+Pj4+IEhv dyBjb3VsZCB3ZSBjb25maWd1cmUgdGhlIFFlbXUgYW5kIHRlc3QgdGhlIFVERiBkcml2ZXIgb24g T1ZNRj8NCj4gPj4+DQo+ID4+PiBJIGd1ZXNzIHlvdSB3b3VsZCBmb3JtYXQgZS5nLiBhIERWRCBp bWFnZSB3aXRoIFVERiwgYW5kIGF0dGFjaCBpdCB0bw0KPiA+Pj4gUUVNVSBsaWtlIGFueSBvdGhl ciBDRC1ST00uDQo+ID4+DQo+ID4+IEkgdHJpZWQgdG8gbG9vayBpbnRvIHRoaXMgLS0gSSB0cmll ZCBzZXZlcmFsIHRoaW5ncywgYnV0IG5vdGhpbmcNCj4gPj4gcHJvZHVjZWQgYW4gVURGIGltYWdl IGZpbGUgdGhhdCwgd2hlbiBhdHRhY2hlZCB0byB0aGUgVk0sIHdvdWxkIHNob3cNCj4gdXANCj4g Pj4gaW4gdGhlIFVFRkkgc2hlbGwgYXMgRlNuOg0KPiA+Pg0KPiA+PiBHb29nbGUgcmV0dXJuZWQg YSBidW5jaCBvZiBwYWdlcywgYnV0IGFsbCBJIGZvdW5kIHdhczoNCj4gPj4gLSB0aXBzIHRoYXQg ZGlkbid0IHdvcmsgKHNlZSBhYm92ZSksDQo+ID4+IC0gY29uZnVzZWQgdXNlcnMgKGxpa2UgbWUp IGxvb2tpbmcgZm9yIHNvbHV0aW9ucy4NCj4gPj4NCj4gPj4gU28sIGF0IHRoZSBtb21lbnQsIEkg aGF2ZSBubyBpZGVhIGhvdyBhdXRob3JpbmcgVURGIERWRCBpbWFnZXMgaXMNCj4gPj4gcG9zc2li bGUgb24gTGludXgsIHNvIHRoYXQgdGhleSdkIGJlIHJlY29nbml6ZWQgaW4gZWRrMi4NCj4gPj4N Cj4gPj4gKEknbSBpbnRlcmVzdGVkIGluIHRoZSBlZGsyIFVERiBkcml2ZXIgbm90IGJlY2F1c2Ug SSB3YW50IHRvICJhdXRob3IiDQo+ID4+IFVERiBEVkQgaW1hZ2VzIChJU085NjYwK0VsVG9yaXRv IHdvcmtzIGp1c3QgZmluZSksIGJ1dCBiZWNhdXNlIHNvbWUNCj4gPj4gb3B0aWNhbCBtZWRpYSBp bWFnZXMgdGhhdCB3ZXJlIGdpdmVuIHRvIG1lIGFyZSBmb3JtYXR0ZWQgVURGLW9ubHkuDQo+IFRo ZXkNCj4gPj4gY2FuIGJlIHRyYW5zbGF0ZWQgaW50byBJU085NjYwK0VsVG9yaXRvIG9mZi1saW5l LCBidXQgdGhhdCdzIGEgY2hvcmUuKQ0KPiA+Pg0KPiA+PiBUaGFua3MsDQo+ID4+IExhc3psbw0K PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4g ZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ IGh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPiA+DQo=