From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Li, Sun peng (Leo)" Subject: Re: [PATCH 2/7] drm/dp_mst: Register AUX devices for MST ports Date: Thu, 27 Jun 2019 22:21:56 +0000 Message-ID: References: <1558019883-12397-1-git-send-email-sunpeng.li@amd.com> <1558019883-12397-3-git-send-email-sunpeng.li@amd.com> <3e237f325a98b044231661886329a808d6701146.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <3e237f325a98b044231661886329a808d6701146.camel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Content-Language: en-US Content-ID: <1C3E80E75FC59F4CBEB8FB867CBE41FC-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Lyude Paul , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: =?utf-8?B?VmlsbGUgU3lyasOkbMOk?= DQpTb3JyeSBmb3IgdGhlIGxhdGUgcmVzcG9uc2UhIGp1c3QganVtcGluZyBiYWNrIG9uIHRoaXMg bm93Lg0KDQpPbiAyMDE5LTA1LTE2IDU6NDAgcC5tLiwgTHl1ZGUgUGF1bCB3cm90ZToNCj4gW0NB VVRJT046IEV4dGVybmFsIEVtYWlsXQ0KPiANCj4gU28gYSBjb3VwbGUgb2YgdGhpbmdzOg0KPiAN Cj4gT24gVGh1LCAyMDE5LTA1LTE2IGF0IDExOjE3IC0wNDAwLCBzdW5wZW5nLmxpQGFtZC5jb20g d3JvdGU6DQo+PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50 ZWwuY29tPg0KPj4NCj4+IEFsbCBhdmFpbGFibGUgZG93bnN0cmVhbSBwb3J0cyAtIHBoeXNpY2Fs IGFuZCBsb2dpY2FsIC0gYXJlIGV4cG9zZWQgZm9yDQo+PiBlYWNoIE1TVCBkZXZpY2UuIFRoZXkg YXJlIGxpc3RlZCBpbiAvZGV2LywgZm9sbG93aW5nIHRoZSBzYW1lIG5hbWluZw0KPj4gc2NoZW1l IGFzIFNTVCBkZXZpY2VzIGJ5IGFwcGVuZGluZyBhbiBpbmNyZW1lbnRhbCBJRC4NCj4+DQo+PiBB bHRob3VnaCBhbGwgZG93bnN0cmVhbSBwb3J0cyBhcmUgZXhwb3NlZCwgb25seSBzb21lIHdpbGwg d29yayBhcw0KPj4gZXhwZWN0ZWQuIENvbnNpZGVyIHRoZSBmb2xsb3dpbmcgdG9wb2xvZ3k6DQo+ Pg0KPj4gICAgICAgICAgICAgICAgICstLS0tLS0tLS0rDQo+PiAgICAgICAgICAgICAgICAgfCAg QVNJQyAgIHwNCj4+ICAgICAgICAgICAgICAgICArLS0tLS0tLS0tKw0KPj4gICAgICAgICAgICAg ICAgQ29ubi0wfA0KPj4gICAgICAgICAgICAgICAgICAgICAgfA0KPj4gICAgICAgICAgICAgICAg ICstLS0tdi0tLS0rDQo+PiAgICAgICAgICAgICstLS0tfCBNU1QgSFVCIHwtLS0tKw0KPj4gICAg ICAgICAgICB8ICAgICstLS0tLS0tLS0rICAgIHwNCj4+ICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICB8DQo+PiAgICAgICAgICAgIHxQb3J0LTEgICAgICAgUG9ydC0yfA0KPj4gICAgICAr LS0tLS12LS0tLS0rICAgICAgICstLS0tLXYtLS0tLSsNCj4+ICAgICAgfCAgTVNUICAgICAgfCAg ICAgICB8ICBTU1QgICAgICB8DQo+PiAgICAgIHwgIERpc3BsYXkgIHwgICAgICAgfCAgRGlzcGxh eSAgfA0KPj4gICAgICArLS0tLS0tLS0tLS0rICAgICAgICstLS0tLS0tLS0tLSsNCj4+ICAgICAg ICAgICAgfFBvcnQtMQ0KPj4gICAgICAgICAgICB4DQo+Pg0KPj4gICBNU1QgUGF0aCAgfCBNU1Qg RGV2aWNlDQo+PiAgIC0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPj4gICBzc3Q6MCAgICAgfCBNU1QgSHViDQo+PiAgIG1zdDowLTEgICB8IE1TVCBEaXNwbGF5 DQo+PiAgIG1zdDowLTEtMSB8IE1TVCBEaXNwbGF5J3MgZGlzY29ubmVjdGVkIERQIG91dA0KPj4g ICBtc3Q6MC0xLTggfCBNU1QgRGlzcGxheSdzIGludGVybmFsIHNpbmsNCj4+ICAgbXN0OjAtMiAg IHwgU1NUIERpc3BsYXkNCj4+DQo+PiBPbiBjZXJ0YWluIE1TVCBkaXNwbGF5cywgdGhlIHVwc3Ry ZWFtIHBoeXNpY2FsIHBvcnQgd2lsbCBBQ0sgRFBDRCByZWFkcy4NCj4+IEhvd2V2ZXIsIHJlYWRz IG9uIHRoZSBsb2NhbCBsb2dpY2FsIHBvcnQgdG8gdGhlIGludGVybmFsIHNpbmsgd2lsbA0KPj4g Kk5BSyouIGkuZS4gcmVhZGluZyBtc3Q6MC0xIEFDS3MsIGJ1dCBtc3Q6MC0xLTggTkFLcy4NCj4+ DQo+PiBUaGVyZSBtYXkgYWxzbyBiZSBkdXBsaWNhdGVzLiBTb21lIGRpc3BsYXlzIHdpbGwgcmV0 dXJuIHRoZSBzYW1lIEdVSUQNCj4+IHdoZW4gcmVhZGluZyBEUENEIGZyb20gYm90aCBtc3Q6MC0x IGFuZCBtc3Q6MC0xLTguDQo+Pg0KPj4gVGhlcmUgYXJlIHNvbWUgZGV2aWNlLWRlcGVuZGVudCBi ZWhhdmlvciBhcyB3ZWxsLiBUaGUgTVNUIGh1YiB1c2VkDQo+PiBkdXJpbmcgdGVzdGluZyB3aWxs IGFjdHVhbGx5ICpBQ0sqIHJlYWQgcmVxdWVzdHMgb24gYSBkaXNjb25uZWN0ZWQNCj4+IHBoeXNp Y2FsIHBvcnQsIHdoZXJlYXMgdGhlIE1TVCBkaXNwbGF5cyB3aWxsIE5BSy4NCj4+DQo+PiBJbiBs aWdodCBvZiB0aGVzZSBkaXNjcmVwYW5jaWVzLCBpdCdzIHNpbXBsZXIgdG8gZXhwb3NlIGFsbCBk b3duc3RyZWFtDQo+PiBwb3J0cyAtIGJvdGggcGh5c2ljYWwgYW5kIGxvZ2ljYWwgLSBhbmQgbGV0 IHRoZSB1c2VyIGRlY2lkZSB3aGF0IHRvIHVzZS4NCj4+DQo+PiBDYzogTHl1ZGUgUGF1bCA8bHl1 ZGVAcmVkaGF0LmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBMZW8gTGkgPHN1bnBl bmcubGlAYW1kLmNvbT4NCj4+IC0tLQ0KPj4gICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2F1eF9k ZXYuYyAgICAgIHwgIDE0ICsrKystDQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3Rv cG9sb2d5LmMgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+IC0tLS0tDQo+ PiAgIGluY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCAgICAgICAgICAgfCAgIDQgKysNCj4+ICAg aW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaCAgICAgICB8ICAgNiArKw0KPj4gICA0IGZp bGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4+DQo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9hdXhfZGV2LmMNCj4+IGIvZHJpdmVy cy9ncHUvZHJtL2RybV9kcF9hdXhfZGV2LmMNCj4+IGluZGV4IDZkODQ2MTEuLjAxYzAyYjkgMTAw NjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2F1eF9kZXYuYw0KPj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9hdXhfZGV2LmMNCj4+IEBAIC0zNCw2ICszNCw3IEBADQo+ PiAgICNpbmNsdWRlIDxsaW51eC91YWNjZXNzLmg+DQo+PiAgICNpbmNsdWRlIDxsaW51eC91aW8u aD4NCj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+DQo+PiArI2luY2x1ZGUgPGRy bS9kcm1fZHBfbXN0X2hlbHBlci5oPg0KPj4gICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjLmg+DQo+ PiAgICNpbmNsdWRlIDxkcm0vZHJtUC5oPg0KPj4NCj4+IEBAIC0xMTQsNiArMTE1LDcgQEAgc3Rh dGljIHNzaXplX3QgbmFtZV9zaG93KHN0cnVjdCBkZXZpY2UgKmRldiwNCj4+DQo+PiAgICAgICAg cmV0dXJuIHJlczsNCj4+ICAgfQ0KPj4gKw0KPj4gICBzdGF0aWMgREVWSUNFX0FUVFJfUk8obmFt ZSk7DQo+Pg0KPj4gICBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqZHJtX2RwX2F1eF9hdHRyc1td ID0gew0KPj4gQEAgLTE2MCw3ICsxNjIsMTEgQEAgc3RhdGljIHNzaXplX3QgYXV4ZGV2X3JlYWRf aXRlcihzdHJ1Y3Qga2lvY2IgKmlvY2IsDQo+PiBzdHJ1Y3QgaW92X2l0ZXIgKnRvKQ0KPj4gICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+ICAgICAgICAgICAgICAgIH0NCj4+DQo+PiAt ICAgICAgICAgICAgIHJlcyA9IGRybV9kcF9kcGNkX3JlYWQoYXV4X2Rldi0+YXV4LCBwb3MsIGJ1 ZiwgdG9kbyk7DQo+PiArICAgICAgICAgICAgIGlmIChhdXhfZGV2LT5hdXgtPmlzX3JlbW90ZSkN Cj4+ICsgICAgICAgICAgICAgICAgICAgICByZXMgPSBkcm1fZHBfbXN0X2RwY2RfcmVhZChhdXhf ZGV2LT5hdXgsIHBvcywgYnVmLA0KPj4gdG9kbyk7DQo+PiArICAgICAgICAgICAgIGVsc2UNCj4+ ICsgICAgICAgICAgICAgICAgICAgICByZXMgPSBkcm1fZHBfZHBjZF9yZWFkKGF1eF9kZXYtPmF1 eCwgcG9zLCBidWYsIHRvZG8pOw0KPj4gKw0KPiANCj4gSXQncyBzdGlsbCBub3QgYXQgYWxsIGNs ZWFyIHRvIG1lIHdoeSB3ZSdyZSB0cnlpbmcgdG8gYXZvaWQgc3BlY2lmeWluZyBhY3R1YWwNCj4g Y2FsbGJhY2tzIGZvciB0aGUgYXV4IGRldmljZS4gV2Ugc2hvdWxkIHJlbW92ZSB0aGlzIHBhcnQg ZW50aXJlbHksIHJlbW92ZSB0aGUNCj4gaXNfcmVtb3RlIGVudHJ5IGZyb20gc3RydWN0IGRybV9k cF9hdXgsIGFuZCB0aGVuIGp1c3Qgc3BlY2lmeSBvdXIgb3duIGhvb2sgaW4NCj4gc3RydWN0IGRy bV9kcF9hdXgtPnRyYW5zZmVyKCkuDQo+IA0KDQpJJ20gbm90IHN1cmUgaWYgdGhpcyB3b3VsZCB3 b3JrIHdlbGwuIFRoZSBleGlzdGluZyBwb2xpY3kgZG9lcyByZXRyaWVzDQphcm91bmQgdGhlIC0+ dHJhbnNmZXIoKSBjYWxsLiBVc2luZyB0aGUgc2FtZSBob29rIHdpbGwgY2F1c2UgYSBuZXN0ZWQN CnJldHJ5IC0gb25jZSB3aGVuIGNhbGxpbmcgcmVtb3RlX2F1eC0+dHJhbnNmZXIsIGFuZCBhbm90 aGVyIHdoZW4gY2FsbGluZw0KcmVhbF9hdXgtPnRyYW5zZmVyLiBUaGUgZGlmZmVyZW5jZSBpcyB0 aGUgc2NvcGUgb2YgdGhlIHJldHJ5LiBUaGUgZm9ybWVyDQpyZXBsYXlzIHRoZSBlbnRpcmUgYXV4 IHRyYW5zYWN0aW9uLCB3aGlsZSB0aGUgbGF0dGVyIHJlcGxheXMganVzdCB0aGUNCmZhaWxlZCBz aWRlYmFuZCBwYWNrZXQuIEkgdGhpbmsgaGF2aW5nIHRoZSByZXRyeSBhdCB0aGUgcGFja2V0IGxl dmVsDQptYWtlcyBtb3JlIHNlbnNlLiBFaXRoZXIgd2F5LCBpdCBzaG91bGRuJ3QgaGFwcGVuIGlu IGEgbmVzdGVkIG1hbm5lci4NCg0KSW4gZ2VuZXJhbCwgd2UgbmVlZCBhIHdheSB0byBkZXRlcm1p bmUgd2hldGhlciBhIG1lc3NhZ2UgbmVlZHMgdG8gYmUNCnNlbnQgdmlhIHNpZGViYW5kLiBJJ20g bm90IHN1cmUgaWYgdGhlcmUncyBhIGJldHRlciB3YXkgdGhhbiBzZXR0aW5nIGENCidpc19yZW1v dGUnIGZsYWc/DQoNCkxlbw0KDQo+PiAgICAgICAgICAgICAgICBpZiAocmVzIDw9IDApDQo+PiAg ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4NCj4+IEBAIC0yMDcsNyArMjEzLDExIEBA IHN0YXRpYyBzc2l6ZV90IGF1eGRldl93cml0ZV9pdGVyKHN0cnVjdCBraW9jYiAqaW9jYiwNCj4+ IHN0cnVjdCBpb3ZfaXRlciAqZnJvbSkNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 DQo+PiAgICAgICAgICAgICAgICB9DQo+Pg0KPj4gLSAgICAgICAgICAgICByZXMgPSBkcm1fZHBf ZHBjZF93cml0ZShhdXhfZGV2LT5hdXgsIHBvcywgYnVmLCB0b2RvKTsNCj4+ICsgICAgICAgICAg ICAgaWYgKGF1eF9kZXYtPmF1eC0+aXNfcmVtb3RlKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAg IHJlcyA9IGRybV9kcF9tc3RfZHBjZF93cml0ZShhdXhfZGV2LT5hdXgsIHBvcywgYnVmLA0KPj4g dG9kbyk7DQo+PiArICAgICAgICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAgICAgICAgICBy ZXMgPSBkcm1fZHBfZHBjZF93cml0ZShhdXhfZGV2LT5hdXgsIHBvcywgYnVmLCB0b2RvKTsNCj4+ ICsNCj4+ICAgICAgICAgICAgICAgIGlmIChyZXMgPD0gMCkNCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgYnJlYWs7DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBf bXN0X3RvcG9sb2d5LmMNCj4+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3ku Yw0KPj4gaW5kZXggMmFiMTZjOS4uNTRkYTY4ZSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMNCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZHBfbXN0X3RvcG9sb2d5LmMNCj4+IEBAIC0zNSw2ICszNSw4IEBADQo+PiAgICNpbmNsdWRlIDxk cm0vZHJtX2F0b21pY19oZWxwZXIuaD4NCj4+ICAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19oZWxw ZXIuaD4NCj4+DQo+PiArI2luY2x1ZGUgImRybV9jcnRjX2hlbHBlcl9pbnRlcm5hbC5oIg0KPj4g Kw0KPiANCj4gVW5sZXNzIEknbSBtaXN0YWtlbiwgdGhpcyBsb29rcyBsaWtlIHNvbWUgc29ydCBv ZiBkaXRyaXR1cy4NCj4gDQo+PiAgIC8qKg0KPj4gICAgKiBET0M6IGRwIG1zdCBoZWxwZXINCj4+ ICAgICoNCj4+IEBAIC01Miw2ICs1NCw5IEBAIHN0YXRpYyBpbnQgZHJtX2RwX2RwY2Rfd3JpdGVf cGF5bG9hZChzdHJ1Y3QNCj4+IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsDQo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaWQsDQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2RwX3BheWxvYWQgKnBheWxvYWQpOw0K Pj4NCj4+ICtzdGF0aWMgaW50IGRybV9kcF9zZW5kX2RwY2RfcmVhZChzdHJ1Y3QgZHJtX2RwX21z dF90b3BvbG9neV9tZ3IgKm1nciwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBvZmZzZXQsIGludCBzaXplLCB1OCAqYnl0ZXMpOw0KPj4gICBzdGF0aWMgaW50 IGRybV9kcF9zZW5kX2RwY2Rfd3JpdGUoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICpt Z3IsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX2RwX21z dF9wb3J0ICpwb3J0LA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG9m ZnNldCwgaW50IHNpemUsIHU4ICpieXRlcyk7DQo+PiBAQCAtOTQxLDYgKzk0Niw4IEBAIHN0YXRp YyB2b2lkIGRybV9kcF9kZXN0cm95X3BvcnQoc3RydWN0IGtyZWYgKmtyZWYpDQo+PiAgICAgICAg c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IgPSBwb3J0LT5tZ3I7DQo+Pg0KPj4g ICAgICAgIGlmICghcG9ydC0+aW5wdXQpIHsNCj4+ICsgICAgICAgICAgICAgZHJtX2RwX2F1eF91 bnJlZ2lzdGVyX2Rldm5vZGUoJnBvcnQtPmF1eCk7DQo+PiArDQo+PiAgICAgICAgICAgICAgICBw b3J0LT52Y3BpLm51bV9zbG90cyA9IDA7DQo+Pg0KPj4gICAgICAgICAgICAgICAga2ZyZWUocG9y dC0+Y2FjaGVkX2VkaWQpOw0KPj4gQEAgLTEwOTUsNiArMTEwMiw0NiBAQCBzdGF0aWMgYm9vbCBk cm1fZHBfcG9ydF9zZXR1cF9wZHQoc3RydWN0DQo+PiBkcm1fZHBfbXN0X3BvcnQgKnBvcnQpDQo+ PiAgICAgICAgcmV0dXJuIHNlbmRfbGluazsNCj4+ICAgfQ0KPj4NCj4+ICsvKioNCj4+ICsgKiBk cm1fZHBfbXN0X2RwY2RfcmVhZCgpIC0gcmVhZCBhIHNlcmllcyBvZiBieXRlcyBmcm9tIHRoZSBE UENEIHZpYQ0KPj4gc2lkZWJhbmQNCj4+ICsgKiBAYXV4OiBGYWtlIHNpZGViYW5kIEFVWCBDSA0K Pj4gKyAqIEBvZmZzZXQ6IGFkZHJlc3Mgb2YgdGhlIChmaXJzdCkgcmVnaXN0ZXIgdG8gcmVhZA0K Pj4gKyAqIEBidWZmZXI6IGJ1ZmZlciB0byBzdG9yZSB0aGUgcmVnaXN0ZXIgdmFsdWVzDQo+PiAr ICogQHNpemU6IG51bWJlciBvZiBieXRlcyBpbiBAYnVmZmVyDQo+PiArICoNCj4+ICsgKiBQZXJm b3JtcyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGZvciByZW1vdGUgZGV2aWNlcyB2aWENCj4+ICsg KiBzaWRlYmFuZCBtZXNzYWdpbmcgYXMgZHJtX2RwX2RwY2RfcmVhZCgpIGRvZXMgZm9yIGxvY2Fs DQo+PiArICogZGV2aWNlcyB2aWEgYWN0dWFsIEFVWCBDSC4NCj4+ICsgKi8NCj4+ICtzc2l6ZV90 IGRybV9kcF9tc3RfZHBjZF9yZWFkKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsDQo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWZmZXIsIHNp emVfdCBzaXplKQ0KPj4gK3sNCj4+ICsgICAgIHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQg PSBjb250YWluZXJfb2YoYXV4LCBzdHJ1Y3QNCj4+IGRybV9kcF9tc3RfcG9ydCwgYXV4KTsNCj4+ ICsNCj4+ICsgICAgIHJldHVybiBkcm1fZHBfc2VuZF9kcGNkX3JlYWQocG9ydC0+bWdyLCBwb3J0 LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIHNpemUsIGJ1 ZmZlcik7DQo+PiArfQ0KPj4gKw0KPj4gKy8qKg0KPj4gKyAqIGRybV9kcF9tc3RfZHBjZF93cml0 ZSgpIC0gd3JpdGUgYSBzZXJpZXMgb2YgYnl0ZXMgdG8gdGhlIERQQ0QgdmlhDQo+PiBzaWRlYmFu ZA0KPj4gKyAqIEBhdXg6IEZha2Ugc2lkZWJhbmQgQVVYIENIDQo+PiArICogQG9mZnNldDogYWRk cmVzcyBvZiB0aGUgKGZpcnN0KSByZWdpc3RlciB0byB3cml0ZQ0KPj4gKyAqIEBidWZmZXI6IGJ1 ZmZlciBjb250YWluaW5nIHRoZSB2YWx1ZXMgdG8gd3JpdGUNCj4+ICsgKiBAc2l6ZTogbnVtYmVy IG9mIGJ5dGVzIGluIEBidWZmZXINCj4+ICsgKg0KPj4gKyAqIFBlcmZvcm1zIHRoZSBzYW1lIGZ1 bmN0aW9uYWxpdHkgZm9yIHJlbW90ZSBkZXZpY2VzIHZpYQ0KPj4gKyAqIHNpZGViYW5kIG1lc3Nh Z2luZyBhcyBkcm1fZHBfZHBjZF93cml0ZSgpIGRvZXMgZm9yIGxvY2FsDQo+PiArICogZGV2aWNl cyB2aWEgYWN0dWFsIEFVWCBDSC4NCj4+ICsgKi8NCj4+ICtzc2l6ZV90IGRybV9kcF9tc3RfZHBj ZF93cml0ZShzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LA0KPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1ZmZlciwgc2l6ZV90IHNpemUpDQo+ PiArew0KPj4gKyAgICAgc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCA9IGNvbnRhaW5lcl9v ZihhdXgsIHN0cnVjdA0KPj4gZHJtX2RwX21zdF9wb3J0LCBhdXgpOw0KPj4gKw0KPj4gKyAgICAg cmV0dXJuIGRybV9kcF9zZW5kX2RwY2Rfd3JpdGUocG9ydC0+bWdyLCBwb3J0LA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LCBzaXplLCBidWZmZXIpOw0KPj4g K30NCj4+ICsNCj4+ICAgc3RhdGljIHZvaWQgZHJtX2RwX2NoZWNrX21zdGJfZ3VpZChzdHJ1Y3Qg ZHJtX2RwX21zdF9icmFuY2ggKm1zdGIsIHU4DQo+PiAqZ3VpZCkNCj4+ICAgew0KPj4gICAgICAg IGludCByZXQ7DQo+PiBAQCAtMTE1OCw2ICsxMjA1LDcgQEAgc3RhdGljIHZvaWQgZHJtX2RwX2Fk ZF9wb3J0KHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaA0KPj4gKm1zdGIsDQo+PiAgICAgICAgICAg ICAgICBwb3J0LT5tZ3IgPSBtc3RiLT5tZ3I7DQo+PiAgICAgICAgICAgICAgICBwb3J0LT5hdXgu bmFtZSA9ICJEUE1TVCI7DQo+PiAgICAgICAgICAgICAgICBwb3J0LT5hdXguZGV2ID0gZGV2LT5k ZXY7DQo+PiArICAgICAgICAgICAgIHBvcnQtPmF1eC5pc19yZW1vdGUgPSB0cnVlOw0KPj4gICAg ICAgICAgICAgICAgY3JlYXRlZCA9IHRydWU7DQo+PiAgICAgICAgfSBlbHNlIHsNCj4+ICAgICAg ICAgICAgICAgIG9sZF9wZHQgPSBwb3J0LT5wZHQ7DQo+PiBAQCAtMTE4OCw3ICsxMjM2LDcgQEAg c3RhdGljIHZvaWQgZHJtX2RwX2FkZF9wb3J0KHN0cnVjdCBkcm1fZHBfbXN0X2JyYW5jaA0KPj4g Km1zdGIsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtX2RwX3NlbmRfZW51 bV9wYXRoX3Jlc291cmNlcyhtc3RiLT5tZ3IsDQo+PiBtc3RiLCBwb3J0KTsNCj4+ICAgICAgICAg ICAgICAgIH0gZWxzZSB7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQtPmF2YWlsYWJs ZV9wYm4gPSAwOw0KPj4gLSAgICAgICAgICAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAgICAg fQ0KPj4gICAgICAgIH0NCj4+DQo+PiAgICAgICAgaWYgKG9sZF9wZHQgIT0gcG9ydC0+cGR0ICYm ICFwb3J0LT5pbnB1dCkgew0KPj4gQEAgLTEyMjAsNiArMTI2OCw4IEBAIHN0YXRpYyB2b2lkIGRy bV9kcF9hZGRfcG9ydChzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2gNCj4+ICptc3RiLA0KPj4gICAg ICAgICAgICAgICAgICAgICAgICBkcm1fY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KHBvcnQt PmNvbm5lY3Rvcik7DQo+PiAgICAgICAgICAgICAgICB9DQo+PiAgICAgICAgICAgICAgICAoKm1z dGItPm1nci0+Y2JzLT5yZWdpc3Rlcl9jb25uZWN0b3IpKHBvcnQtPmNvbm5lY3Rvcik7DQo+IA0K PiBUaGlzIGlzIHdyb25nOiB3ZSBhbHdheXMgd2FudCB0byBzZXR1cCBldmVyeXRoaW5nIGluIHRo ZSBjb25uZWN0b3IgZmlyc3QNCj4gYmVmb3JlIHRyeWluZyB0byByZWdpc3RlciBpdCwgbm90IGFm dGVyLiBPdGhlcndpc2UsIHRoaW5ncyBleHBsb2RlIGxpa2Ugc286DQo+IA0KPiBbICAgMTMuMzA1 MzI5XSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQgW2RybV1dIE9CSiBJRDogMTEzICgzKQ0KPiBb ICAgMTMuMzA1MzYxXSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQgW2RybV1dIE9CSiBJRDogMTIz ICgxKQ0KPiBbICAgMTMuMzA1Mzg0XSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQgW2RybV1dIE9C SiBJRDogMTEzICg0KQ0KPiBbICAgMTMuMzA1NDA1XSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQg W2RybV1dIE9CSiBJRDogMTI0ICgxKQ0KPiBbICAgMTMuMzA1NDI5XSBbZHJtOmRybV9tb2RlX29i amVjdF9nZXQgW2RybV1dIE9CSiBJRDogMTEzICg1KQ0KPiBbICAgMTMuMzA1NDQ5XSBbZHJtOmRy bV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1dXSBPQkogSUQ6IDExMyAoNikNCj4gWyAgIDEz LjMwNTQ3MV0gW2RybTpkcm1fbW9kZV9vYmplY3RfZ2V0IFtkcm1dXSBPQkogSUQ6IDg1ICg1KQ0K PiBbICAgMTMuMzA1NDkwXSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQgW2RybV1dIE9CSiBJRDog ODUgKDYpDQo+IFsgICAxMy4zMDU1MTJdIFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMg W2RybV1dIE9CSiBJRDogODUgKDYpDQo+IFsgICAxMy4zMDU1MzJdIFtkcm06ZHJtX21vZGVfb2Jq ZWN0X2dldCBbZHJtXV0gT0JKIElEOiA4NSAoNSkNCj4gWyAgIDEzLjMwNTU1Ml0gW2RybTpkcm1f bW9kZV9vYmplY3RfZ2V0IFtkcm1dXSBPQkogSUQ6IDExMyAoNSkNCj4gWyAgIDEzLjMwNTU3MV0g W2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMTMgKDYpDQo+ IFsgICAxMy4zMDU1OTJdIFtkcm06ZHJtX21vZGVfb2JqZWN0X2dldCBbZHJtXV0gT0JKIElEOiA4 NiAoNSkNCj4gWyAgIDEzLjMwNTYxMl0gW2RybTpkcm1fbW9kZV9vYmplY3RfZ2V0IFtkcm1dXSBP QkogSUQ6IDg2ICg2KQ0KPiBbICAgMTMuMzA1NjMxXSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQu cGFydC4zIFtkcm1dXSBPQkogSUQ6IDg2ICg2KQ0KPiBbICAgMTMuMzA1NjUxXSBbZHJtOmRybV9t b2RlX29iamVjdF9nZXQgW2RybV1dIE9CSiBJRDogODYgKDUpDQo+IFsgICAxMy4zMDU3MjVdIFtk cm06ZHJtX3ZibGFua19lbmFibGUgW2RybV1dIGVuYWJsaW5nIHZibGFuayBvbiBjcnRjIDAsIHJl dDogMA0KPiBbICAgMTMuMzA1NzY4XSBbZHJtOmRybV92YmxhbmtfZW5hYmxlIFtkcm1dXSBlbmFi bGluZyB2Ymxhbmsgb24gY3J0YyAxLCByZXQ6IDANCj4gWyAgIDEzLjMwNjA4OF0gW2RybTpkcm1f aGFuZGxlX3ZibGFuayBbZHJtXV0gdmJsYW5rIGV2ZW50IG9uIDMyNSwgY3VycmVudCAzMjUNCj4g WyAgIDEzLjMyMjUxNF0gW2RybTpkcm1faGFuZGxlX3ZibGFuayBbZHJtXV0gdmJsYW5rIGV2ZW50 IG9uIDMxMywgY3VycmVudCAzMTMNCj4gWyAgIDEzLjMyMjYxMl0gW2RybTpkcm1fbW9kZV9vYmpl Y3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiA4NSAoNikNCj4gWyAgIDEzLjMyMjYzNF0gW2Ry bTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiA4NSAoNSkNCj4gWyAg IDEzLjMyMjY1Nl0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElE OiA4NiAoNikNCj4gWyAgIDEzLjMyMjY3Nl0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQu MyBbZHJtXV0gT0JKIElEOiA4NiAoNSkNCj4gWyAgIDEzLjMyMjY5N10gW2RybTpkcm1fbW9kZV9v YmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMjMgKDIpDQo+IFsgICAxMy4zMjI3MThd IFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogMTI0ICgyKQ0K PiBbICAgMTMuMzIyNzQwXSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1dXSBP QkogSUQ6IDExMyAoNSkNCj4gWyAgIDEzLjMyMjc2NF0gW2RybTp2YmxhbmtfZGlzYWJsZV9mbiBb ZHJtXV0gZGlzYWJsaW5nIHZibGFuayBvbiBjcnRjIDANCj4gWyAgIDEzLjMyMjc4NF0gW2RybTpk cm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMTMgKDQpDQo+IFsgICAx My4zMzkxOTFdIFtkcm06dmJsYW5rX2Rpc2FibGVfZm4gW2RybV1dIGRpc2FibGluZyB2Ymxhbmsg b24gY3J0YyAxDQo+IFsgIDQ1MS4xNDk3ODldIENvbnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIg ZHVtbXkgZGV2aWNlIDgweDI1DQo+IFsgIDQ1MS4xOTQ1OTZdIFtkcm06ZHJtX2RwX2F1eF91bnJl Z2lzdGVyX2Rldm5vZGUgW2RybV9rbXNfaGVscGVyXV0gZHJtX2RwX2F1eF9kZXY6IGF1eCBbRFBE REMtQV0gdW5yZWdpc3RlcmluZw0KPiBbICA0NTEuMTk0NjY2XSBbZHJtOmRybV9zeXNmc19jb25u ZWN0b3JfcmVtb3ZlIFtkcm1dXSByZW1vdmluZyAiZURQLTEiIGZyb20gc3lzZnMNCj4gWyAgNDUx LjE5NDcxOF0gW2RybTpkcm1fZHBfYXV4X3VucmVnaXN0ZXJfZGV2bm9kZSBbZHJtX2ttc19oZWxw ZXJdXSBkcm1fZHBfYXV4X2RldjogYXV4IFtEUEREQy1CXSB1bnJlZ2lzdGVyaW5nDQo+IFsgIDQ1 MS4xOTQ3NjZdIFtkcm06ZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9yZW1vdmUgW2RybV1dIHJlbW92aW5n ICJEUC0xIiBmcm9tIHN5c2ZzDQo+IFsgIDQ1MS4xOTQ3OTFdIFtkcm06ZHJtX3N5c2ZzX2Nvbm5l Y3Rvcl9yZW1vdmUgW2RybV1dIHJlbW92aW5nICJIRE1JLUEtMSIgZnJvbSBzeXNmcw0KPiBbICA0 NTEuMTk0ODM1XSBbZHJtOmRybV9kcF9hdXhfdW5yZWdpc3Rlcl9kZXZub2RlIFtkcm1fa21zX2hl bHBlcl1dIGRybV9kcF9hdXhfZGV2OiBhdXggW0RQRERDLUNdIHVucmVnaXN0ZXJpbmcNCj4gWyAg NDUxLjE5NDg4MF0gW2RybTpkcm1fc3lzZnNfY29ubmVjdG9yX3JlbW92ZSBbZHJtXV0gcmVtb3Zp bmcgIkRQLTIiIGZyb20gc3lzZnMNCj4gWyAgNDUxLjE5NDkwM10gW2RybTpkcm1fc3lzZnNfY29u bmVjdG9yX3JlbW92ZSBbZHJtXV0gcmVtb3ZpbmcgIkhETUktQS0yIiBmcm9tIHN5c2ZzDQo+IFsg IDQ1MS4xOTQ5MjRdIFtkcm06ZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9yZW1vdmUgW2RybV1dIHJlbW92 aW5nICJEUC0zIiBmcm9tIHN5c2ZzDQo+IFsgIDQ1MS4xOTQ5NTBdIFtkcm06ZHJtX3N5c2ZzX2Nv bm5lY3Rvcl9yZW1vdmUgW2RybV1dIHJlbW92aW5nICJEUC00IiBmcm9tIHN5c2ZzDQo+IFsgIDQ1 MS4xOTQ5NzVdIFtkcm06ZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9yZW1vdmUgW2RybV1dIHJlbW92aW5n ICJEUC01IiBmcm9tIHN5c2ZzDQo+IFsgIDQ1MS4yMDQ1MzVdIFtkcm06ZHJtX21vZGVfb2JqZWN0 X2dldCBbZHJtXV0gT0JKIElEOiAxMjMgKDEpDQo+IFsgIDQ1MS4yMDQ1NTFdIFtkcm06ZHJtX21v ZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogMTIzICgyKQ0KPiBbICA0NTEuMjA0 NTY2XSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQgW2RybV1dIE9CSiBJRDogMTEzICgzKQ0KPiBb ICA0NTEuMjA0NTgyXSBbZHJtOmRybV9tb2RlX29iamVjdF9nZXQgW2RybV1dIE9CSiBJRDogODUg KDUpDQo+IFsgIDQ1MS4yMDQ1OTZdIFtkcm06ZHJtX21vZGVfb2JqZWN0X2dldCBbZHJtXV0gT0JK IElEOiA4NSAoNikNCj4gWyAgNDUxLjIwNDYxMV0gW2RybTpkcm1fbW9kZV9vYmplY3RfZ2V0IFtk cm1dXSBPQkogSUQ6IDEyNCAoMSkNCj4gWyAgNDUxLjIwNDYyMV0gW2RybTpkcm1fbW9kZV9vYmpl Y3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMjQgKDIpDQo+IFsgIDQ1MS4yMDQ2MzFdIFtk cm06ZHJtX21vZGVfb2JqZWN0X2dldCBbZHJtXV0gT0JKIElEOiAxMTMgKDQpDQo+IFsgIDQ1MS4y MDQ2NDFdIFtkcm06ZHJtX21vZGVfb2JqZWN0X2dldCBbZHJtXV0gT0JKIElEOiA4NiAoNSkNCj4g WyAgNDUxLjIwNDY1MV0gW2RybTpkcm1fbW9kZV9vYmplY3RfZ2V0IFtkcm1dXSBPQkogSUQ6IDg2 ICg2KQ0KPiBbICA0NTEuMjA0NjYyXSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtk cm1dXSBPQkogSUQ6IDg1ICg2KQ0KPiBbICA0NTEuMjA0NjcxXSBbZHJtOmRybV9tb2RlX29iamVj dF9wdXQucGFydC4zIFtkcm1dXSBPQkogSUQ6IDg2ICg2KQ0KPiBbICA0NTEuMjA0NjgwXSBbZHJt OmRybV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1dXSBPQkogSUQ6IDExMyAoNSkNCj4gWyAg NDUxLjIwNDY4OV0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElE OiAxMTMgKDQpDQo+IFsgIDQ1MS4yMDQ2OTldIFtkcm06ZHJtX2RwX21zdF9kdXBsaWNhdGVfc3Rh dGUgW2RybV9rbXNfaGVscGVyXV0gcG9ydCAwMDAwMDAwMGRkZTFiMDBhICg1KQ0KPiBbICA0NTEu MjA0NzAzXSBbZHJtOmRybV9kcF9tc3RfcHV0X3BvcnRfbWFsbG9jIFtkcm1fa21zX2hlbHBlcl1d IHBvcnQgMDAwMDAwMDBkZGUxYjAwYSAoNCkNCj4gWyAgNDUxLjQxMTgxN10gW2RybTppbnRlbF9w YW5lbF9hY3R1YWxseV9zZXRfYmFja2xpZ2h0IFtpOTE1XV0gc2V0IGJhY2tsaWdodCBQV00gPSAw DQo+IFsgIDQ1MS40MjA5MTFdIFtkcm06ZHJtX2RwX2RwY2Rfd3JpdGUgW2RybV9rbXNfaGVscGVy XV0gRFBEREMtQTogMHgwMDYwMCBBVVggPC0gKHJldD0gIDEpIDAyDQo+IFsgIDQ1MS40MjUzNThd IFtkcm06Z2VuOF9kZV9pcnFfaGFuZGxlciBbaTkxNV1dIGhvdHBsdWcgZXZlbnQgcmVjZWl2ZWQs IHN0YXQgMHgwMTAwMDAwMCwgZGlnIDB4MTExMDEwMTAsIHBpbnMgMHgwMDAwMDAxMCwgbG9uZyAw eDAwMDAwMDAwDQo+IFsgIDQ1MS40MjU0MjJdIFtkcm06aW50ZWxfaHBkX2lycV9oYW5kbGVyIFtp OTE1XV0gZGlnaXRhbCBocGQgcG9ydCBBIC0gc2hvcnQNCj4gWyAgNDUxLjQ3MTc3N10gW2RybTpk cm1fZHBfbXN0X3RvcG9sb2d5X2dldF9tc3RiX3ZhbGlkYXRlZCBbZHJtX2ttc19oZWxwZXJdXSBt c3RiIDAwMDAwMDAwZWVjMWE2MjkgKDIpDQo+IFsgIDQ1MS40NzMzNjFdIFtkcm06Z2VuOF9kZV9p cnFfaGFuZGxlciBbaTkxNV1dIGhvdHBsdWcgZXZlbnQgcmVjZWl2ZWQsIHN0YXQgMHgwMTAwMDAw MCwgZGlnIDB4MTIxMDEwMTAsIHBpbnMgMHgwMDAwMDAxMCwgbG9uZyAweDAwMDAwMDEwDQo+IFsg IDQ1MS40NzM0NjVdIFtkcm06aW50ZWxfaHBkX2lycV9oYW5kbGVyIFtpOTE1XV0gZGlnaXRhbCBo cGQgcG9ydCBBIC0gbG9uZw0KPiBbICA0NTIuMjA3MzAxXSBbZHJtOmdlbjhfZGVfaXJxX2hhbmRs ZXIgW2k5MTVdXSBob3RwbHVnIGV2ZW50IHJlY2VpdmVkLCBzdGF0IDB4MDEwMDAwMDAsIGRpZyAw eDEyMTAxMDEwLCBwaW5zIDB4MDAwMDAwMTAsIGxvbmcgMHgwMDAwMDAxMA0KPiBbICA0NTIuMjA3 Mzk1XSBbZHJtOmludGVsX2hwZF9pcnFfaGFuZGxlciBbaTkxNV1dIGRpZ2l0YWwgaHBkIHBvcnQg QSAtIGxvbmcNCj4gWyAgNDUyLjM0MDMxMV0gW2RybTpkcm1fZHBfZHBjZF9yZWFkIFtkcm1fa21z X2hlbHBlcl1dIERQRERDLUE6IDB4MDAwMDAgQVVYIC0+IChyZXQ9IDE1KSAxMSAwYSAwMiA0MSAw MCAwMCAwMSAwMCAwMiAwMCAwMCAwMCAwMCAwYiAwMA0KPiBbICA0NTIuMzQxMDYwXSBbZHJtOmRy bV9kcF9kcGNkX3JlYWQgW2RybV9rbXNfaGVscGVyXV0gRFBEREMtQTogMHgwMDIwMSBBVVggLT4g KHJldD0gIDEpIDAwDQo+IFsgIDQ1Mi4zNDE1ODRdIFtkcm06ZHJtX2RwX2RwY2Rfd3JpdGUgW2Ry bV9rbXNfaGVscGVyXV0gRFBEREMtQjogMHgwMTAwMCBBVVggPC0gKHJldD0gMTApIDEwIDQ3IGQz IDExIDExIDAxIDAwIDAwIDAwIGY0DQo+IFsgIDQ1Mi4zNDMxODNdIFtkcm06Z2VuOF9kZV9pcnFf aGFuZGxlciBbaTkxNV1dIGhvdHBsdWcgZXZlbnQgcmVjZWl2ZWQsIHN0YXQgMHgwMDIwMDAwMCwg ZGlnIDB4MTAxMDEwMTEsIHBpbnMgMHgwMDAwMDAyMCwgbG9uZyAweDAwMDAwMDAwDQo+IFsgIDQ1 Mi4zNDMyODZdIFtkcm06aW50ZWxfaHBkX2lycV9oYW5kbGVyIFtpOTE1XV0gZGlnaXRhbCBocGQg cG9ydCBCIC0gc2hvcnQNCj4gWyAgNDUyLjM0NDc2NV0gW2RybTpkcm1fZHBfZHBjZF9yZWFkIFtk cm1fa21zX2hlbHBlcl1dIERQRERDLUI6IDB4MDIwMDIgQVVYIC0+IChyZXQ9IDE0KSAwMSAxMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCA3NyA3NyAwMSAwMA0KPiBbICA0NTIuMzQ2MjYzXSBbZHJt OmRybV9kcF9kcGNkX3JlYWQgW2RybV9rbXNfaGVscGVyXV0gRFBEREMtQjogMHgwMTQwMCBBVVgg LT4gKHJldD0gMTYpIDEwIDQ2IGQ2IDExIDEwIDAxIDAwIDAwIDc4IDAwIDAwIDAwIDAwIDAwIDAw IDAwDQo+IFsgIDQ1Mi4zNDYyODddIFtkcm06ZHJtX2RwX2dldF9tc3RfYnJhbmNoX2RldmljZSBb ZHJtX2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAwZWVjMWE2MjkgKDMpDQo+IFsgIDQ1Mi4zNDYz MDVdIFtkcm06ZHJtX2RwX21zdF90b3BvbG9neV9wdXRfbXN0YiBbZHJtX2ttc19oZWxwZXJdXSBt c3RiIDAwMDAwMDAwZWVjMWE2MjkgKDIpDQo+IFsgIDQ1Mi4zNDY0MDVdIFtkcm06ZHJtX2RwX21z dF90b3BvbG9neV9wdXRfbXN0YiBbZHJtX2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAwZWVjMWE2 MjkgKDEpDQo+IFsgIDQ1Mi4zNDc1MjldIFtkcm06ZHJtX2RwX2RwY2Rfd3JpdGUgW2RybV9rbXNf aGVscGVyXV0gRFBEREMtQjogMHgwMjAwMyBBVVggPC0gKHJldD0gIDMpIDEwIDAwIDAwDQo+IFsg IDQ1Mi4zNDg2NzJdIFtkcm06ZHJtX2RwX2RwY2Rfd3JpdGUgW2RybV9rbXNfaGVscGVyXV0gRFBE REMtQjogMHgwMDJjMCBBVVggPC0gKHJldD0gIDEpIDAxDQo+IFsgIDQ1Mi4zNTAxNjhdIFtkcm06 ZHJtX2RwX2RwY2RfcmVhZCBbZHJtX2ttc19oZWxwZXJdXSBEUEREQy1COiAweDAyMDAyIEFVWCAt PiAocmV0PSAxNCkgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgNzcgNzcgMDEgMDANCj4g WyAgNDUyLjM1MTMyOF0gW2RybTpkcm1fZHBfZHBjZF93cml0ZSBbZHJtX2ttc19oZWxwZXJdXSBE UEREQy1COiAweDAwMWMwIEFVWCA8LSAocmV0PSAgMykgMDEgMDEgMDANCj4gWyAgNDUyLjM1MjY2 NV0gW2RybTpkcm1fZHBfZHBjZF9yZWFkIFtkcm1fa21zX2hlbHBlcl1dIERQRERDLUI6IDB4MDAy YzAgQVVYIC0+IChyZXQ9ICAxKSAwMQ0KPiBbICA0NTIuMzU4OTA1XSBbZHJtOmRybV9kcF9kcGNk X3JlYWQgW2RybV9rbXNfaGVscGVyXV0gRFBEREMtQjogMHgwMDJjMCBBVVggLT4gKHJldD0gIDEp IDAxDQo+IFsgIDQ1Mi4zNjAzMjddIFtkcm06ZHJtX2RwX2RwY2RfcmVhZCBbZHJtX2ttc19oZWxw ZXJdXSBEUEREQy1COiAweDAwMmMwIEFVWCAtPiAocmV0PSAgMSkgMDENCj4gWyAgNDUyLjM2MTY2 MF0gW2RybTpkcm1fZHBfZHBjZF9yZWFkIFtkcm1fa21zX2hlbHBlcl1dIERQRERDLUI6IDB4MDAy YzAgQVVYIC0+IChyZXQ9ICAxKSAwMw0KPiBbICA0NTIuMzYxNjgxXSBbZHJtOmRybV9kcF9tc3Rf cHV0X3BvcnRfbWFsbG9jIFtkcm1fa21zX2hlbHBlcl1dIHBvcnQgMDAwMDAwMDBkZGUxYjAwYSAo MykNCj4gWyAgNDUyLjM2MTcwMF0gW2RybTpkcm1fZHBfbXN0X3RvcG9sb2d5X2dldF9wb3J0X3Zh bGlkYXRlZCBbZHJtX2ttc19oZWxwZXJdXSBwb3J0IDAwMDAwMDAwZGRlMWIwMGEgKDIpDQo+IFsg IDQ1Mi4zNjI4OTRdIFtkcm06ZHJtX2RwX2RwY2Rfd3JpdGUgW2RybV9rbXNfaGVscGVyXV0gRFBE REMtQjogMHgwMTAwMCBBVVggPC0gKHJldD0gIDYpIDEwIDQzIGM3IDI1IDEwIGMwDQo+IFsgIDQ1 Mi4zNjQzMThdIFtkcm06Z2VuOF9kZV9pcnFfaGFuZGxlciBbaTkxNV1dIGhvdHBsdWcgZXZlbnQg cmVjZWl2ZWQsIHN0YXQgMHgwMDIwMDAwMCwgZGlnIDB4MTAxMDEwMTEsIHBpbnMgMHgwMDAwMDAy MCwgbG9uZyAweDAwMDAwMDAwDQo+IFsgIDQ1Mi4zNjQ0MjFdIFtkcm06aW50ZWxfaHBkX2lycV9o YW5kbGVyIFtpOTE1XV0gZGlnaXRhbCBocGQgcG9ydCBCIC0gc2hvcnQNCj4gWyAgNDUyLjM2NTky OV0gW2RybTpkcm1fZHBfZHBjZF9yZWFkIFtkcm1fa21zX2hlbHBlcl1dIERQRERDLUI6IDB4MDIw MDIgQVVYIC0+IChyZXQ9IDE0KSAwMSAxMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCA3NyA3NyAw MSAwMA0KPiBbICA0NTIuMzY3MzYxXSBbZHJtOmRybV9kcF9kcGNkX3JlYWQgW2RybV9rbXNfaGVs cGVyXV0gRFBEREMtQjogMHgwMTQwMCBBVVggLT4gKHJldD0gMTYpIDEwIDQzIGM3IDI1IDEwIGMw IDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwDQo+IFsgIDQ1Mi4zNjczODhdIFtkcm06ZHJt X2RwX2dldF9tc3RfYnJhbmNoX2RldmljZSBbZHJtX2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAw ZWVjMWE2MjkgKDIpDQo+IFsgIDQ1Mi4zNjc0MDddIFtkcm06ZHJtX2RwX21zdF90b3BvbG9neV9w dXRfbXN0YiBbZHJtX2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAwZWVjMWE2MjkgKDEpDQo+IFsg IDQ1Mi4zNjc0NjBdIFtkcm06ZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydCBbZHJtX2ttc19o ZWxwZXJdXSBwb3J0IDAwMDAwMDAwZGRlMWIwMGEgKDEpDQo+IFsgIDQ1Mi4zNjg1NDhdIFtkcm06 ZHJtX2RwX2RwY2Rfd3JpdGUgW2RybV9rbXNfaGVscGVyXV0gRFBEREMtQjogMHgwMjAwMyBBVVgg PC0gKHJldD0gIDMpIDEwIDAwIDAwDQo+IFsgIDQ1Mi4zNjg4MDNdIFtkcm06ZHJtX2RwX2RwY2Rf d3JpdGUgW2RybV9rbXNfaGVscGVyXV0gRFBEREMtQjogMHgwMDYwMCBBVVggPC0gKHJldD0gIDEp IDAyDQo+IFsgIDQ1Mi4zNjg5NzBdIFtkcm06aW50ZWxfZHVtcF9jZGNsa19zdGF0ZSBbaTkxNV1d IENoYW5naW5nIENEQ0xLIHRvIDMzNzUwMCBrSHosIFZDTyA4MTAwMDAwIGtIeiwgcmVmIDI0MDAw IGtIeiwgYnlwYXNzIDI0MDAwIGtIeiwgdm9sdGFnZSBsZXZlbCAwDQo+IFsgIDQ1Mi4zNjkyNjld IFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogMTIzICgxKQ0K PiBbICA0NTIuMzY5MzMwXSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1dXSBP QkogSUQ6IDEyNCAoMSkNCj4gWyAgNDUyLjM2OTQyMl0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0 LnBhcnQuMyBbZHJtXV0gT0JKIElEOiA4NSAoNSkNCj4gWyAgNDUyLjM2OTQ2Nl0gW2RybTpkcm1f bW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiA4NSAoNCkNCj4gWyAgNDUyLjM2 OTUxNV0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiA4NiAo NSkNCj4gWyAgNDUyLjM2OTU1OF0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJt XV0gT0JKIElEOiA4NiAoNCkNCj4gWyAgNDUyLjM2OTYwOF0gW2RybTpkcm1fbW9kZV9vYmplY3Rf cHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMTMgKDMpDQo+IFsgIDQ1Mi4zNjk2NjBdIFtkcm06 ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogMTEzICgyKQ0KPiBbICA0 NTIuMzY5NjkwXSBbZHJtOmRybV9kcF9tc3RfcHV0X3BvcnRfbWFsbG9jIFtkcm1fa21zX2hlbHBl cl1dIHBvcnQgMDAwMDAwMDBkZGUxYjAwYSAoMikNCj4gWyAgNDUyLjM2OTc1MF0gW2RybTpkcm1f aXJxX3VuaW5zdGFsbCBbZHJtXV0gaXJxPTE3Nw0KPiBbICA0NTIuNDA2NDUyXSBbZHJtOmRybV9k cF9kcGNkX3JlYWQgW2RybV9rbXNfaGVscGVyXV0gRFBEREMtQjogMHgwMjAwMiBBVVggLT4gKHJl dD0gMTQpIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDgwIDAwDQo+IFsgIDQ1 Mi40MTI2MjZdIFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDog ODUgKDMpDQo+IFsgIDQ1Mi40MTI2MzZdIFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMg W2RybV1dIE9CSiBJRDogOTEgKDIpDQo+IFsgIDQ1Mi40MTI2NDRdIFtkcm06ZHJtX21vZGVfb2Jq ZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogOTggKDIpDQo+IFsgIDQ1Mi40MTI2NTJdIFtk cm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogMTA0ICgyKQ0KPiBb ICA0NTIuNDEyNjYwXSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1dXSBPQkog SUQ6IDEwOSAoMikNCj4gWyAgNDUyLjQxMjY2OF0gW2RybTpkcm1fbW9kZV9vYmplY3RfcHV0LnBh cnQuMyBbZHJtXV0gT0JKIElEOiA4NiAoMykNCj4gWyAgNDUyLjQxMjY3Nl0gW2RybTpkcm1fbW9k ZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMTcgKDIpDQo+IFsgIDQ1Mi40MTI2 ODRdIFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogMTIwICgy KQ0KPiBbICA0NTIuNDEyNjkyXSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1d XSBPQkogSUQ6IDg1ICgyKQ0KPiBbICA0NTIuNDEyNzAwXSBbZHJtOmRybV9tb2RlX29iamVjdF9w dXQucGFydC4zIFtkcm1dXSBPQkogSUQ6IDg2ICgyKQ0KPiBbICA0NTIuNDEyNzA4XSBbZHJtOmRy bV9tb2RlX29iamVjdF9wdXQucGFydC4zIFtkcm1dXSBPQkogSUQ6IDExMyAoMSkNCj4gWyAgNDUy LjQyNDQ1MF0gW2RybTpkcm1fZHBfZHBjZF93cml0ZSBbZHJtX2ttc19oZWxwZXJdXSBEUEREQy1C OiAweDAwMTExIEFVWCA8LSAocmV0PSAgMSkgMDANCj4gWyAgNDUyLjQyNDQ1NF0gW2RybTpkcm1f ZHBfbXN0X3RvcG9sb2d5X3B1dF9tc3RiIFtkcm1fa21zX2hlbHBlcl1dIG1zdGIgMDAwMDAwMDBl ZWMxYTYyOSAoMCkNCj4gWyAgNDUyLjQyNDQ1N10gW2RybTpkcm1fZHBfbXN0X3RvcG9sb2d5X3B1 dF9wb3J0IFtkcm1fa21zX2hlbHBlcl1dIHBvcnQgMDAwMDAwMDBlZWVmM2NmZCAoMCkNCj4gWyAg NDUyLjQyNDQ2MV0gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tDQo+IFsgIDQ1 Mi40MjQ0NjRdIHN5c2ZzIGdyb3VwICdwb3dlcicgbm90IGZvdW5kIGZvciBrb2JqZWN0ICdkcm1f ZHBfYXV4NScNCj4gWyAgNDUyLjQyNDQ3MV0gV0FSTklORzogQ1BVOiAzIFBJRDogMTg4NyBhdCBm cy9zeXNmcy9ncm91cC5jOjI1NiBzeXNmc19yZW1vdmVfZ3JvdXArMHg3Ni8weDgwDQo+IFsgIDQ1 Mi40MjQ0NzNdIE1vZHVsZXMgbGlua2VkIGluOiB2ZmF0IGZhdCBlbGFuX2kyYyBpOTE1KE8pIGlu dGVsX3JhcGwgeDg2X3BrZ190ZW1wX3RoZXJtYWwgaW50ZWxfcG93ZXJjbGFtcCBjb3JldGVtcCBr dm1faW50ZWwgaVRDT193ZHQga3ZtIG1laV93ZHQgaXJxYnlwYXNzIGlUQ09fdmVuZG9yX3N1cHBv cnQgY3JjdDEwZGlmX3BjbG11bCB3bWlfYm1vZiBpbnRlbF93bWlfdGh1bmRlcmJvbHQgY3JjMzJf cGNsbXVsIGkyY19hbGdvX2JpdCBnaGFzaF9jbG11bG5pX2ludGVsIGludGVsX2NzdGF0ZSBkcm1f a21zX2hlbHBlcihPKSBpbnRlbF91bmNvcmUgaW50ZWxfcmFwbF9wZXJmIGJ0dXNiIGJ0cnRsIGJ0 YmNtIHN5c2NvcHlhcmVhIGJ0aW50ZWwgc3lzZmlsbHJlY3Qgc3lzaW1nYmx0IGZiX3N5c19mb3Bz IGJsdWV0b290aCBkcm0oTykgam95ZGV2IG1laV9tZSBpZG1hNjQgdWNzaV9hY3BpIHRodW5kZXJi b2x0IGVjZGhfZ2VuZXJpYyBpMmNfaTgwMSBpbnRlbF94aGNpX3VzYl9yb2xlX3N3aXRjaCBwcm9j ZXNzb3JfdGhlcm1hbF9kZXZpY2UgdHlwZWNfdWNzaSBpbnRlbF9scHNzX3BjaSBpbnRlbF9zb2Nf ZHRzX2lvc2YgbWVpIHJvbGVzIGludGVsX2xwc3MgdHlwZWMgaW50ZWxfcGNoX3RoZXJtYWwgd21p IHRoaW5rcGFkX2FjcGkgbGVkdHJpZ19hdWRpbyByZmtpbGwgaW50MzQwM190aGVybWFsIGludDM0 MHhfdGhlcm1hbF96b25lIGludDM0MDBfdGhlcm1hbCBhY3BpX3RoZXJtYWxfcmVsIGFjcGlfcGFk IHZpZGVvIHBjY19jcHVmcmVxIGNyYzMyY19pbnRlbCBudm1lIHNlcmlvX3JhdyB1YXMgZTEwMDBl IG52bWVfY29yZSB1c2Jfc3RvcmFnZSBpMmNfZGV2DQo+IFsgIDQ1Mi40MjQ0OTJdIENQVTogMyBQ SUQ6IDE4ODcgQ29tbTogdW5sb2FkZ3B1bW9kIFRhaW50ZWQ6IEcgICAgICAgICAgIE8gICAgICA1 LjEuMEx5dWRlLVRlc3QrICMxDQo+IFsgIDQ1Mi40MjQ0OTRdIEhhcmR3YXJlIG5hbWU6IExFTk9W TyAyMEw4UzJOODAwLzIwTDhTMk44MDAsIEJJT1MgTjIyRVQzNVcgKDEuMTIgKSAwNC8wOS8yMDE4 DQo+IFsgIDQ1Mi40MjQ0OTZdIFJJUDogMDAxMDpzeXNmc19yZW1vdmVfZ3JvdXArMHg3Ni8weDgw DQo+IFsgIDQ1Mi40MjQ0OThdIENvZGU6IDQ4IDg5IGRmIDViIDVkIDQxIDVjIGU5IGY4IGJjIGZm IGZmIDQ4IDg5IGRmIGU4IGQwIGJjIGZmIGZmIGViIGNiIDQ5IDhiIDE0IDI0IDQ4IDhiIDc1IDAw IDQ4IGM3IGM3IDA4IGE1IDBjIGFhIGU4IDQ0IDAwIGQ2IGZmIDwwZj4gMGIgNWIgNWQgNDEgNWMg YzMgMGYgMWYgMDAgMGYgMWYgNDQgMDAgMDAgNDggODUgZjYgNzQgMzEgNDEgNTQNCj4gWyAgNDUy LjQyNDUwMF0gUlNQOiAwMDE4OmZmZmZhOGJiODFiNWZiMjggRUZMQUdTOiAwMDAxMDI4Mg0KPiBb ICA0NTIuNDI0NTAxXSBSQVg6IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAw IFJDWDogMDAwMDAwMDAwMDAwMDAwNg0KPiBbICA0NTIuNDI0NTAyXSBSRFg6IDAwMDAwMDAwMDAw MDAwMDcgUlNJOiAwMDAwMDAwMDAwMDAwMDg2IFJESTogZmZmZjk4MWZkZTJkNWEwMA0KPiBbICA0 NTIuNDI0NTAzXSBSQlA6IGZmZmZmZmZmYTllYTEyZTAgUjA4OiAwMDAwMDAwMDAwMDAwNzkyIFIw OTogMDAwMDAwMDAwMDAwMDA0Ng0KPiBbICA0NTIuNDI0NTA0XSBSMTA6IDAwMDAwMDAwMDAwMDA3 MjcgUjExOiBmZmZmYThiYjgxYjVmOWQwIFIxMjogZmZmZjk4MWZkNWY3NzAxMA0KPiBbICA0NTIu NDI0NTA1XSBSMTM6IGZmZmY5ODFmZDZlYmJlZGMgUjE0OiBkZWFkMDAwMDAwMDAwMjAwIFIxNTog ZGVhZDAwMDAwMDAwMDEwMA0KPiBbICA0NTIuNDI0NTA3XSBGUzogIDAwMDA3ZjhjYzFkOGM3NDAo MDAwMCkgR1M6ZmZmZjk4MWZkZTJjMDAwMCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwDQo+ IFsgIDQ1Mi40MjQ1MDhdIENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAw ODAwNTAwMzMNCj4gWyAgNDUyLjQyNDUwOV0gQ1IyOiAwMDAwNTViMTlkMDc5YTA4IENSMzogMDAw MDAwMDQzYjJhMDAwMiBDUjQ6IDAwMDAwMDAwMDAzNjA2ZTANCj4gWyAgNDUyLjQyNDUxMF0gRFIw OiAwMDAwMDAwMDAwMDAwMDAwIERSMTogMDAwMDAwMDAwMDAwMDAwMCBEUjI6IDAwMDAwMDAwMDAw MDAwMDANCj4gWyAgNDUyLjQyNDUxMV0gRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAw MDBmZmZlMGZmMCBEUjc6IDAwMDAwMDAwMDAwMDA0MDANCj4gWyAgNDUyLjQyNDUxMl0gQ2FsbCBU cmFjZToNCj4gWyAgNDUyLjQyNDUxNl0gIGRldmljZV9kZWwrMHg3NS8weDM2MA0KPiBbICA0NTIu NDI0NTE4XSAgPyBjbGFzc19maW5kX2RldmljZSsweDk2LzB4ZjANCj4gWyAgNDUyLjQyNDUyMF0g IGRldmljZV91bnJlZ2lzdGVyKzB4MTYvMHg2MA0KPiBbICA0NTIuNDI0NTIxXSAgZGV2aWNlX2Rl c3Ryb3krMHgzYS8weDQwDQo+IFsgIDQ1Mi40MjQ1MjVdICBkcm1fZHBfYXV4X3VucmVnaXN0ZXJf ZGV2bm9kZSsweGVhLzB4MTgwIFtkcm1fa21zX2hlbHBlcl0NCj4gWyAgNDUyLjQyNDUzNF0gID8g ZHJtX2RiZysweDg3LzB4OTAgW2RybV0NCj4gWyAgNDUyLjQyNDUzOF0gIGRybV9kcF9tc3RfdG9w b2xvZ3lfcHV0X3BvcnQrMHg1Yi8weDExMCBbZHJtX2ttc19oZWxwZXJdDQo+IFsgIDQ1Mi40MjQ1 NDNdICBkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9tc3RiKzB4YjYvMHgxODAgW2RybV9rbXNfaGVs cGVyXQ0KPiBbICA0NTIuNDI0NTQ3XSAgZHJtX2RwX21zdF90b3BvbG9neV9tZ3Jfc2V0X21zdCsw eDIzMy8weDJiMCBbZHJtX2ttc19oZWxwZXJdDQo+IFsgIDQ1Mi40MjQ1NTFdICBkcm1fZHBfbXN0 X3RvcG9sb2d5X21ncl9kZXN0cm95KzB4MTgvMHhhMCBbZHJtX2ttc19oZWxwZXJdDQo+IFsgIDQ1 Mi40MjQ1NzFdICBpbnRlbF9kcF9lbmNvZGVyX2ZsdXNoX3dvcmsrMHgzMi8weGIwIFtpOTE1XQ0K PiBbICA0NTIuNDI0NTkyXSAgaW50ZWxfZGRpX2VuY29kZXJfZGVzdHJveSsweDMyLzB4NzAgW2k5 MTVdDQo+IFsgIDQ1Mi40MjQ2MDBdICBkcm1fbW9kZV9jb25maWdfY2xlYW51cCsweDUxLzB4MmUw IFtkcm1dDQo+IFsgIDQ1Mi40MjQ2MjFdICBpbnRlbF9tb2Rlc2V0X2NsZWFudXArMHhjOC8weDE0 MCBbaTkxNV0NCj4gWyAgNDUyLjQyNDYzM10gIGk5MTVfZHJpdmVyX3VubG9hZCsweGE4LzB4MTMw IFtpOTE1XQ0KPiBbICA0NTIuNDI0NjQ1XSAgaTkxNV9wY2lfcmVtb3ZlKzB4MWUvMHg0MCBbaTkx NV0NCj4gWyAgNDUyLjQyNDY0N10gIHBjaV9kZXZpY2VfcmVtb3ZlKzB4M2IvMHhjMA0KPiBbICA0 NTIuNDI0NjQ5XSAgZGV2aWNlX3JlbGVhc2VfZHJpdmVyX2ludGVybmFsKzB4ZTQvMHgxZDANCj4g WyAgNDUyLjQyNDY1MV0gIHBjaV9zdG9wX2J1c19kZXZpY2UrMHg2OS8weDkwDQo+IFsgIDQ1Mi40 MjQ2NTNdICBwY2lfc3RvcF9hbmRfcmVtb3ZlX2J1c19kZXZpY2VfbG9ja2VkKzB4MTYvMHgzMA0K PiBbICA0NTIuNDI0NjU1XSAgcmVtb3ZlX3N0b3JlKzB4NzUvMHg5MA0KPiBbICA0NTIuNDI0NjU2 XSAga2VybmZzX2ZvcF93cml0ZSsweDExNi8weDE5MA0KPiBbICA0NTIuNDI0NjU4XSAgdmZzX3dy aXRlKzB4YTUvMHgxYTANCj4gWyAgNDUyLjQyNDY2MF0gIGtzeXNfd3JpdGUrMHg1Ny8weGQwDQo+ IFsgIDQ1Mi40MjQ2NjNdICBkb19zeXNjYWxsXzY0KzB4NTUvMHgxNTANCj4gWyAgNDUyLjQyNDY2 NV0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQ0LzB4YTkNCj4gWyAgNDUyLjQy NDY2N10gUklQOiAwMDMzOjB4N2Y4Y2MxZTdkMDM4DQo+IFsgIDQ1Mi40MjQ2NjhdIENvZGU6IDg5 IDAyIDQ4IGM3IGMwIGZmIGZmIGZmIGZmIGViIGIzIDBmIDFmIDgwIDAwIDAwIDAwIDAwIGYzIDBm IDFlIGZhIDQ4IDhkIDA1IGU1IDc2IDBkIDAwIDhiIDAwIDg1IGMwIDc1IDE3IGI4IDAxIDAwIDAw IDAwIDBmIDA1IDw0OD4gM2QgMDAgZjAgZmYgZmYgNzcgNTggYzMgMGYgMWYgODAgMDAgMDAgMDAg MDAgNDEgNTQgNDkgODkgZDQgNTUNCj4gWyAgNDUyLjQyNDY3MF0gUlNQOiAwMDJiOjAwMDA3ZmZj ZTQzMjEyMTggRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAwMDAwMDAwMDAwMQ0KPiBb ICA0NTIuNDI0NjcyXSBSQVg6IGZmZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwMDAwMDAwMDAwMDAy IFJDWDogMDAwMDdmOGNjMWU3ZDAzOA0KPiBbICA0NTIuNDI0NjczXSBSRFg6IDAwMDAwMDAwMDAw MDAwMDIgUlNJOiAwMDAwNTY1MTVhZWZiZjAwIFJESTogMDAwMDAwMDAwMDAwMDAwMQ0KPiBbICA0 NTIuNDI0Njc0XSBSQlA6IDAwMDA1NjUxNWFlZmJmMDAgUjA4OiAwMDAwMDAwMDAwMDAwMDBhIFIw OTogMDAwMDdmOGNjMWYwZWU4MA0KPiBbICA0NTIuNDI0Njc1XSBSMTA6IDAwMDAwMDAwMDAwMDAw MGEgUjExOiAwMDAwMDAwMDAwMDAwMjQ2IFIxMjogMDAwMDdmOGNjMWY1MDc4MA0KPiBbICA0NTIu NDI0Njc2XSBSMTM6IDAwMDAwMDAwMDAwMDAwMDIgUjE0OiAwMDAwN2Y4Y2MxZjRiNzQwIFIxNTog MDAwMDAwMDAwMDAwMDAwMg0KPiBbICA0NTIuNDI0Njc4XSBXQVJOSU5HOiBDUFU6IDMgUElEOiAx ODg3IGF0IGZzL3N5c2ZzL2dyb3VwLmM6MjU2IHN5c2ZzX3JlbW92ZV9ncm91cCsweDc2LzB4ODAN Cj4gWyAgNDUyLjQyNDY4MF0gLS0tWyBlbmQgdHJhY2UgYTFjMTFlYWYwNTQ5MTBhMyBdLS0tDQo+ IFsgIDQ1Mi40MjQ3NTFdIFtkcm06ZHJtX2RwX2F1eF91bnJlZ2lzdGVyX2Rldm5vZGUgW2RybV9r bXNfaGVscGVyXV0gZHJtX2RwX2F1eF9kZXY6IGF1eCBbRFBNU1RdIHVucmVnaXN0ZXJpbmcNCj4g WyAgNDUyLjQyNDc1NV0gW2RybTpkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9wb3J0IFtkcm1fa21z X2hlbHBlcl1dIHBvcnQgMDAwMDAwMDAwZjZhYTVhMyAoMCkNCj4gWyAgNDUyLjQyNDc2NV0gW2Ry bTpkcm1fbW9kZV9vYmplY3RfcHV0LnBhcnQuMyBbZHJtXV0gT0JKIElEOiAxMjAgKDEpDQo+IFsg IDQ1Mi40MjQ3NzBdIFtkcm06ZHJtX2RwX21zdF9wdXRfcG9ydF9tYWxsb2MgW2RybV9rbXNfaGVs cGVyXV0gcG9ydCAwMDAwMDAwMGVlZWYzY2ZkICgxKQ0KPiBbICA0NTIuNDI0NzczXSBbZHJtOmRy bV9kcF9tc3RfcHV0X3BvcnRfbWFsbG9jIFtkcm1fa21zX2hlbHBlcl1dIHBvcnQgMDAwMDAwMDBl ZWVmM2NmZCAoMCkNCj4gWyAgNDUyLjQyNDc3Nl0gW2RybTpkcm1fZHBfbXN0X3B1dF9tc3RiX21h bGxvYyBbZHJtX2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAwZWVjMWE2MjkgKDQpDQo+IFsgIDQ1 Mi40MjQ3ODNdIFtkcm06ZHJtX3N5c2ZzX2hvdHBsdWdfZXZlbnQgW2RybV1dIGdlbmVyYXRpbmcg aG90cGx1ZyBldmVudA0KPiBbICA0NTIuNDI0NzkwXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0t LS0tLS0tLS0tLS0NCj4gWyAgNDUyLjQyNDc5MV0gc3lzZnMgZ3JvdXAgJ3Bvd2VyJyBub3QgZm91 bmQgZm9yIGtvYmplY3QgJ2RybV9kcF9hdXg0Jw0KPiBbICA0NTIuNDI0Nzk1XSBXQVJOSU5HOiBD UFU6IDMgUElEOiAxODg3IGF0IGZzL3N5c2ZzL2dyb3VwLmM6MjU2IHN5c2ZzX3JlbW92ZV9ncm91 cCsweDc2LzB4ODANCj4gWyAgNDUyLjQyNDc5Nl0gTW9kdWxlcyBsaW5rZWQgaW46IHZmYXQgZmF0 IGVsYW5faTJjIGk5MTUoTykgaW50ZWxfcmFwbCB4ODZfcGtnX3RlbXBfdGhlcm1hbCBpbnRlbF9w b3dlcmNsYW1wIGNvcmV0ZW1wIGt2bV9pbnRlbCBpVENPX3dkdCBrdm0gbWVpX3dkdCBpcnFieXBh c3MgaVRDT192ZW5kb3Jfc3VwcG9ydCBjcmN0MTBkaWZfcGNsbXVsIHdtaV9ibW9mIGludGVsX3dt aV90aHVuZGVyYm9sdCBjcmMzMl9wY2xtdWwgaTJjX2FsZ29fYml0IGdoYXNoX2NsbXVsbmlfaW50 ZWwgaW50ZWxfY3N0YXRlIGRybV9rbXNfaGVscGVyKE8pIGludGVsX3VuY29yZSBpbnRlbF9yYXBs X3BlcmYgYnR1c2IgYnRydGwgYnRiY20gc3lzY29weWFyZWEgYnRpbnRlbCBzeXNmaWxscmVjdCBz eXNpbWdibHQgZmJfc3lzX2ZvcHMgYmx1ZXRvb3RoIGRybShPKSBqb3lkZXYgbWVpX21lIGlkbWE2 NCB1Y3NpX2FjcGkgdGh1bmRlcmJvbHQgZWNkaF9nZW5lcmljIGkyY19pODAxIGludGVsX3hoY2lf dXNiX3JvbGVfc3dpdGNoIHByb2Nlc3Nvcl90aGVybWFsX2RldmljZSB0eXBlY191Y3NpIGludGVs X2xwc3NfcGNpIGludGVsX3NvY19kdHNfaW9zZiBtZWkgcm9sZXMgaW50ZWxfbHBzcyB0eXBlYyBp bnRlbF9wY2hfdGhlcm1hbCB3bWkgdGhpbmtwYWRfYWNwaSBsZWR0cmlnX2F1ZGlvIHJma2lsbCBp bnQzNDAzX3RoZXJtYWwgaW50MzQweF90aGVybWFsX3pvbmUgaW50MzQwMF90aGVybWFsIGFjcGlf dGhlcm1hbF9yZWwgYWNwaV9wYWQgdmlkZW8gcGNjX2NwdWZyZXEgY3JjMzJjX2ludGVsIG52bWUg c2VyaW9fcmF3IHVhcyBlMTAwMGUgbnZtZV9jb3JlIHVzYl9zdG9yYWdlIGkyY19kZXYNCj4gWyAg NDUyLjQyNDgwOV0gQ1BVOiAzIFBJRDogMTg4NyBDb21tOiB1bmxvYWRncHVtb2QgVGFpbnRlZDog RyAgICAgICAgVyAgTyAgICAgIDUuMS4wTHl1ZGUtVGVzdCsgIzENCj4gWyAgNDUyLjQyNDgxMV0g SGFyZHdhcmUgbmFtZTogTEVOT1ZPIDIwTDhTMk44MDAvMjBMOFMyTjgwMCwgQklPUyBOMjJFVDM1 VyAoMS4xMiApIDA0LzA5LzIwMTgNCj4gWyAgNDUyLjQyNDgxMl0gUklQOiAwMDEwOnN5c2ZzX3Jl bW92ZV9ncm91cCsweDc2LzB4ODANCj4gWyAgNDUyLjQyNDgxM10gQ29kZTogNDggODkgZGYgNWIg NWQgNDEgNWMgZTkgZjggYmMgZmYgZmYgNDggODkgZGYgZTggZDAgYmMgZmYgZmYgZWIgY2IgNDkg OGIgMTQgMjQgNDggOGIgNzUgMDAgNDggYzcgYzcgMDggYTUgMGMgYWEgZTggNDQgMDAgZDYgZmYg PDBmPiAwYiA1YiA1ZCA0MSA1YyBjMyAwZiAxZiAwMCAwZiAxZiA0NCAwMCAwMCA0OCA4NSBmNiA3 NCAzMSA0MSA1NA0KPiBbICA0NTIuNDI0ODE1XSBSU1A6IDAwMTg6ZmZmZmE4YmI4MWI1ZmIyOCBF RkxBR1M6IDAwMDEwMjgyDQo+IFsgIDQ1Mi40MjQ4MTZdIFJBWDogMDAwMDAwMDAwMDAwMDAwMCBS Qlg6IDAwMDAwMDAwMDAwMDAwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMDA2DQo+IFsgIDQ1Mi40MjQ4 MTddIFJEWDogMDAwMDAwMDAwMDAwMDAwNyBSU0k6IDAwMDAwMDAwMDAwMDAwODYgUkRJOiBmZmZm OTgxZmRlMmQ1YTAwDQo+IFsgIDQ1Mi40MjQ4MThdIFJCUDogZmZmZmZmZmZhOWVhMTJlMCBSMDg6 IDAwMDAwMDAwMDAwMDA3ZDEgUjA5OiAwMDAwMDAwMDAwMDAwMDQ2DQo+IFsgIDQ1Mi40MjQ4MjBd IFIxMDogMDAwMDAwMDAwMDAwMDcyNyBSMTE6IGZmZmZhOGJiODFiNWY5ZDAgUjEyOiBmZmZmOTgx ZmQ1MGQwNDEwDQo+IFsgIDQ1Mi40MjQ4MjFdIFIxMzogZmZmZjk4MWZkNmViYmViYyBSMTQ6IGRl YWQwMDAwMDAwMDAyMDAgUjE1OiBkZWFkMDAwMDAwMDAwMTAwDQo+IFsgIDQ1Mi40MjQ4MjJdIEZT OiAgMDAwMDdmOGNjMWQ4Yzc0MCgwMDAwKSBHUzpmZmZmOTgxZmRlMmMwMDAwKDAwMDApIGtubEdT OjAwMDAwMDAwMDAwMDAwMDANCj4gWyAgNDUyLjQyNDgyM10gQ1M6ICAwMDEwIERTOiAwMDAwIEVT OiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMw0KPiBbICA0NTIuNDI0ODI0XSBDUjI6IDAwMDA1 NWIxOWQwNzlhMDggQ1IzOiAwMDAwMDAwNDNiMmEwMDAyIENSNDogMDAwMDAwMDAwMDM2MDZlMA0K PiBbICA0NTIuNDI0ODI1XSBEUjA6IDAwMDAwMDAwMDAwMDAwMDAgRFIxOiAwMDAwMDAwMDAwMDAw MDAwIERSMjogMDAwMDAwMDAwMDAwMDAwMA0KPiBbICA0NTIuNDI0ODI2XSBEUjM6IDAwMDAwMDAw MDAwMDAwMDAgRFI2OiAwMDAwMDAwMGZmZmUwZmYwIERSNzogMDAwMDAwMDAwMDAwMDQwMA0KPiBb ICA0NTIuNDI0ODI3XSBDYWxsIFRyYWNlOg0KPiBbICA0NTIuNDI0ODI5XSAgZGV2aWNlX2RlbCsw eDc1LzB4MzYwDQo+IFsgIDQ1Mi40MjQ4MzBdICA/IGNsYXNzX2ZpbmRfZGV2aWNlKzB4OTYvMHhm MA0KPiBbICA0NTIuNDI0ODMyXSAgZGV2aWNlX3VucmVnaXN0ZXIrMHgxNi8weDYwDQo+IFsgIDQ1 Mi40MjQ4MzNdICBkZXZpY2VfZGVzdHJveSsweDNhLzB4NDANCj4gWyAgNDUyLjQyNDgzN10gIGRy bV9kcF9hdXhfdW5yZWdpc3Rlcl9kZXZub2RlKzB4ZWEvMHgxODAgW2RybV9rbXNfaGVscGVyXQ0K PiBbICA0NTIuNDI0ODQxXSAgZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydCsweDViLzB4MTEw IFtkcm1fa21zX2hlbHBlcl0NCj4gWyAgNDUyLjQyNDg0NV0gIGRybV9kcF9tc3RfdG9wb2xvZ3lf cHV0X21zdGIrMHhiNi8weDE4MCBbZHJtX2ttc19oZWxwZXJdDQo+IFsgIDQ1Mi40MjQ4NDldICBk cm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zZXRfbXN0KzB4MjMzLzB4MmIwIFtkcm1fa21zX2hlbHBl cl0NCj4gWyAgNDUyLjQyNDg1NF0gIGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2Rlc3Ryb3krMHgx OC8weGEwIFtkcm1fa21zX2hlbHBlcl0NCj4gWyAgNDUyLjQyNDg3M10gIGludGVsX2RwX2VuY29k ZXJfZmx1c2hfd29yaysweDMyLzB4YjAgW2k5MTVdDQo+IFsgIDQ1Mi40MjQ4OTJdICBpbnRlbF9k ZGlfZW5jb2Rlcl9kZXN0cm95KzB4MzIvMHg3MCBbaTkxNV0NCj4gWyAgNDUyLjQyNDkwMF0gIGRy bV9tb2RlX2NvbmZpZ19jbGVhbnVwKzB4NTEvMHgyZTAgW2RybV0NCj4gWyAgNDUyLjQyNDkyMF0g IGludGVsX21vZGVzZXRfY2xlYW51cCsweGM4LzB4MTQwIFtpOTE1XQ0KPiBbICA0NTIuNDI0OTMy XSAgaTkxNV9kcml2ZXJfdW5sb2FkKzB4YTgvMHgxMzAgW2k5MTVdDQo+IFsgIDQ1Mi40MjQ5NDNd ICBpOTE1X3BjaV9yZW1vdmUrMHgxZS8weDQwIFtpOTE1XQ0KPiBbICA0NTIuNDI0OTQ1XSAgcGNp X2RldmljZV9yZW1vdmUrMHgzYi8weGMwDQo+IFsgIDQ1Mi40MjQ5NDddICBkZXZpY2VfcmVsZWFz ZV9kcml2ZXJfaW50ZXJuYWwrMHhlNC8weDFkMA0KPiBbICA0NTIuNDI0OTQ4XSAgcGNpX3N0b3Bf YnVzX2RldmljZSsweDY5LzB4OTANCj4gWyAgNDUyLjQyNDk1MF0gIHBjaV9zdG9wX2FuZF9yZW1v dmVfYnVzX2RldmljZV9sb2NrZWQrMHgxNi8weDMwDQo+IFsgIDQ1Mi40MjQ5NTFdICByZW1vdmVf c3RvcmUrMHg3NS8weDkwDQo+IFsgIDQ1Mi40MjQ5NTNdICBrZXJuZnNfZm9wX3dyaXRlKzB4MTE2 LzB4MTkwDQo+IFsgIDQ1Mi40MjQ5NTRdICB2ZnNfd3JpdGUrMHhhNS8weDFhMA0KPiBbICA0NTIu NDI0OTU2XSAga3N5c193cml0ZSsweDU3LzB4ZDANCj4gWyAgNDUyLjQyNDk1N10gIGRvX3N5c2Nh bGxfNjQrMHg1NS8weDE1MA0KPiBbICA0NTIuNDI0OTU5XSAgZW50cnlfU1lTQ0FMTF82NF9hZnRl cl9od2ZyYW1lKzB4NDQvMHhhOQ0KPiBbICA0NTIuNDI0OTYwXSBSSVA6IDAwMzM6MHg3ZjhjYzFl N2QwMzgNCj4gWyAgNDUyLjQyNDk2MV0gQ29kZTogODkgMDIgNDggYzcgYzAgZmYgZmYgZmYgZmYg ZWIgYjMgMGYgMWYgODAgMDAgMDAgMDAgMDAgZjMgMGYgMWUgZmEgNDggOGQgMDUgZTUgNzYgMGQg MDAgOGIgMDAgODUgYzAgNzUgMTcgYjggMDEgMDAgMDAgMDAgMGYgMDUgPDQ4PiAzZCAwMCBmMCBm ZiBmZiA3NyA1OCBjMyAwZiAxZiA4MCAwMCAwMCAwMCAwMCA0MSA1NCA0OSA4OSBkNCA1NQ0KPiBb ICA0NTIuNDI0OTYzXSBSU1A6IDAwMmI6MDAwMDdmZmNlNDMyMTIxOCBFRkxBR1M6IDAwMDAwMjQ2 IE9SSUdfUkFYOiAwMDAwMDAwMDAwMDAwMDAxDQo+IFsgIDQ1Mi40MjQ5NjVdIFJBWDogZmZmZmZm ZmZmZmZmZmZkYSBSQlg6IDAwMDAwMDAwMDAwMDAwMDIgUkNYOiAwMDAwN2Y4Y2MxZTdkMDM4DQo+ IFsgIDQ1Mi40MjQ5NjZdIFJEWDogMDAwMDAwMDAwMDAwMDAwMiBSU0k6IDAwMDA1NjUxNWFlZmJm MDAgUkRJOiAwMDAwMDAwMDAwMDAwMDAxDQo+IFsgIDQ1Mi40MjQ5NjddIFJCUDogMDAwMDU2NTE1 YWVmYmYwMCBSMDg6IDAwMDAwMDAwMDAwMDAwMGEgUjA5OiAwMDAwN2Y4Y2MxZjBlZTgwDQo+IFsg IDQ1Mi40MjQ5NjhdIFIxMDogMDAwMDAwMDAwMDAwMDAwYSBSMTE6IDAwMDAwMDAwMDAwMDAyNDYg UjEyOiAwMDAwN2Y4Y2MxZjUwNzgwDQo+IFsgIDQ1Mi40MjQ5NjldIFIxMzogMDAwMDAwMDAwMDAw MDAwMiBSMTQ6IDAwMDA3ZjhjYzFmNGI3NDAgUjE1OiAwMDAwMDAwMDAwMDAwMDAyDQo+IFsgIDQ1 Mi40MjQ5NzFdIFdBUk5JTkc6IENQVTogMyBQSUQ6IDE4ODcgYXQgZnMvc3lzZnMvZ3JvdXAuYzoy NTYgc3lzZnNfcmVtb3ZlX2dyb3VwKzB4NzYvMHg4MA0KPiBbICA0NTIuNDI0OTcyXSAtLS1bIGVu ZCB0cmFjZSBhMWMxMWVhZjA1NDkxMGE0IF0tLS0NCj4gWyAgNDUyLjQyNDk5Ml0gW2RybTpkcm1f ZHBfYXV4X3VucmVnaXN0ZXJfZGV2bm9kZSBbZHJtX2ttc19oZWxwZXJdXSBkcm1fZHBfYXV4X2Rl djogYXV4IFtEUE1TVF0gdW5yZWdpc3RlcmluZw0KPiBbICA0NTIuNDI0OTk3XSBbZHJtOmRybV9k cF9tc3RfdG9wb2xvZ3lfcHV0X3BvcnQgW2RybV9rbXNfaGVscGVyXV0gcG9ydCAwMDAwMDAwMGRk ZTFiMDBhICgwKQ0KPiBbICA0NTIuNDI1MDA2XSBbZHJtOmRybV9tb2RlX29iamVjdF9wdXQucGFy dC4zIFtkcm1dXSBPQkogSUQ6IDExNyAoMSkNCj4gWyAgNDUyLjQyNTAxMF0gW2RybTpkcm1fZHBf bXN0X3B1dF9wb3J0X21hbGxvYyBbZHJtX2ttc19oZWxwZXJdXSBwb3J0IDAwMDAwMDAwMGY2YWE1 YTMgKDEpDQo+IFsgIDQ1Mi40MjUwMTRdIFtkcm06ZHJtX2RwX21zdF9wdXRfcG9ydF9tYWxsb2Mg W2RybV9rbXNfaGVscGVyXV0gcG9ydCAwMDAwMDAwMDBmNmFhNWEzICgwKQ0KPiBbICA0NTIuNDI1 MDE3XSBbZHJtOmRybV9kcF9tc3RfcHV0X21zdGJfbWFsbG9jIFtkcm1fa21zX2hlbHBlcl1dIG1z dGIgMDAwMDAwMDBlZWMxYTYyOSAoMykNCj4gWyAgNDUyLjQyNTAyM10gW2RybTpkcm1fc3lzZnNf aG90cGx1Z19ldmVudCBbZHJtXV0gZ2VuZXJhdGluZyBob3RwbHVnIGV2ZW50DQo+IFsgIDQ1Mi40 MjUwMjhdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQ0KPiBbICA0NTIuNDI1 MDI5XSBzeXNmcyBncm91cCAncG93ZXInIG5vdCBmb3VuZCBmb3Iga29iamVjdCAnZHJtX2RwX2F1 eDMnDQo+IFsgIDQ1Mi40MjUwMzNdIFdBUk5JTkc6IENQVTogMyBQSUQ6IDE4ODcgYXQgZnMvc3lz ZnMvZ3JvdXAuYzoyNTYgc3lzZnNfcmVtb3ZlX2dyb3VwKzB4NzYvMHg4MA0KPiBbICA0NTIuNDI1 MDM0XSBNb2R1bGVzIGxpbmtlZCBpbjogdmZhdCBmYXQgZWxhbl9pMmMgaTkxNShPKSBpbnRlbF9y YXBsIHg4Nl9wa2dfdGVtcF90aGVybWFsIGludGVsX3Bvd2VyY2xhbXAgY29yZXRlbXAga3ZtX2lu dGVsIGlUQ09fd2R0IGt2bSBtZWlfd2R0IGlycWJ5cGFzcyBpVENPX3ZlbmRvcl9zdXBwb3J0IGNy Y3QxMGRpZl9wY2xtdWwgd21pX2Jtb2YgaW50ZWxfd21pX3RodW5kZXJib2x0IGNyYzMyX3BjbG11 bCBpMmNfYWxnb19iaXQgZ2hhc2hfY2xtdWxuaV9pbnRlbCBpbnRlbF9jc3RhdGUgZHJtX2ttc19o ZWxwZXIoTykgaW50ZWxfdW5jb3JlIGludGVsX3JhcGxfcGVyZiBidHVzYiBidHJ0bCBidGJjbSBz eXNjb3B5YXJlYSBidGludGVsIHN5c2ZpbGxyZWN0IHN5c2ltZ2JsdCBmYl9zeXNfZm9wcyBibHVl dG9vdGggZHJtKE8pIGpveWRldiBtZWlfbWUgaWRtYTY0IHVjc2lfYWNwaSB0aHVuZGVyYm9sdCBl Y2RoX2dlbmVyaWMgaTJjX2k4MDEgaW50ZWxfeGhjaV91c2Jfcm9sZV9zd2l0Y2ggcHJvY2Vzc29y X3RoZXJtYWxfZGV2aWNlIHR5cGVjX3Vjc2kgaW50ZWxfbHBzc19wY2kgaW50ZWxfc29jX2R0c19p b3NmIG1laSByb2xlcyBpbnRlbF9scHNzIHR5cGVjIGludGVsX3BjaF90aGVybWFsIHdtaSB0aGlu a3BhZF9hY3BpIGxlZHRyaWdfYXVkaW8gcmZraWxsIGludDM0MDNfdGhlcm1hbCBpbnQzNDB4X3Ro ZXJtYWxfem9uZSBpbnQzNDAwX3RoZXJtYWwgYWNwaV90aGVybWFsX3JlbCBhY3BpX3BhZCB2aWRl byBwY2NfY3B1ZnJlcSBjcmMzMmNfaW50ZWwgbnZtZSBzZXJpb19yYXcgdWFzIGUxMDAwZSBudm1l X2NvcmUgdXNiX3N0b3JhZ2UgaTJjX2Rldg0KPiBbICA0NTIuNDI1MDQ3XSBDUFU6IDMgUElEOiAx ODg3IENvbW06IHVubG9hZGdwdW1vZCBUYWludGVkOiBHICAgICAgICBXICBPICAgICAgNS4xLjBM eXVkZS1UZXN0KyAjMQ0KPiBbICA0NTIuNDI1MDQ4XSBIYXJkd2FyZSBuYW1lOiBMRU5PVk8gMjBM OFMyTjgwMC8yMEw4UzJOODAwLCBCSU9TIE4yMkVUMzVXICgxLjEyICkgMDQvMDkvMjAxOA0KPiBb ICA0NTIuNDI1MDUwXSBSSVA6IDAwMTA6c3lzZnNfcmVtb3ZlX2dyb3VwKzB4NzYvMHg4MA0KPiBb ICA0NTIuNDI1MDUxXSBDb2RlOiA0OCA4OSBkZiA1YiA1ZCA0MSA1YyBlOSBmOCBiYyBmZiBmZiA0 OCA4OSBkZiBlOCBkMCBiYyBmZiBmZiBlYiBjYiA0OSA4YiAxNCAyNCA0OCA4YiA3NSAwMCA0OCBj NyBjNyAwOCBhNSAwYyBhYSBlOCA0NCAwMCBkNiBmZiA8MGY+IDBiIDViIDVkIDQxIDVjIGMzIDBm IDFmIDAwIDBmIDFmIDQ0IDAwIDAwIDQ4IDg1IGY2IDc0IDMxIDQxIDU0DQo+IFsgIDQ1Mi40MjUw NTNdIFJTUDogMDAxODpmZmZmYThiYjgxYjVmYjI4IEVGTEFHUzogMDAwMTAyODINCj4gWyAgNDUy LjQyNTA1NF0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogMDAwMDAwMDAwMDAwMDAwMCBSQ1g6 IDAwMDAwMDAwMDAwMDAwMDYNCj4gWyAgNDUyLjQyNTA1NV0gUkRYOiAwMDAwMDAwMDAwMDAwMDA3 IFJTSTogMDAwMDAwMDAwMDAwMDA4NiBSREk6IGZmZmY5ODFmZGUyZDVhMDANCj4gWyAgNDUyLjQy NTA1Nl0gUkJQOiBmZmZmZmZmZmE5ZWExMmUwIFIwODogMDAwMDAwMDAwMDAwMDgwZiBSMDk6IDAw MDAwMDAwMDAwMDAwNDYNCj4gWyAgNDUyLjQyNTA1N10gUjEwOiAwMDAwMDAwMDAwMDAwNzI3IFIx MTogZmZmZmE4YmI4MWI1ZjlkMCBSMTI6IGZmZmY5ODFmZDUwZDE4MTANCj4gWyAgNDUyLjQyNTA1 OF0gUjEzOiBmZmZmOTgxZmQ2ZWJiZTFjIFIxNDogZGVhZDAwMDAwMDAwMDIwMCBSMTU6IGRlYWQw MDAwMDAwMDAxMDANCj4gWyAgNDUyLjQyNTA1OV0gRlM6ICAwMDAwN2Y4Y2MxZDhjNzQwKDAwMDAp IEdTOmZmZmY5ODFmZGUyYzAwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMA0KPiBbICA0 NTIuNDI1MDYxXSBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUw MDMzDQo+IFsgIDQ1Mi40MjUwNjJdIENSMjogMDAwMDU1YjE5ZDA3OWEwOCBDUjM6IDAwMDAwMDA0 M2IyYTAwMDIgQ1I0OiAwMDAwMDAwMDAwMzYwNmUwDQo+IFsgIDQ1Mi40MjUwNjNdIERSMDogMDAw MDAwMDAwMDAwMDAwMCBEUjE6IDAwMDAwMDAwMDAwMDAwMDAgRFIyOiAwMDAwMDAwMDAwMDAwMDAw DQo+IFsgIDQ1Mi40MjUwNjRdIERSMzogMDAwMDAwMDAwMDAwMDAwMCBEUjY6IDAwMDAwMDAwZmZm ZTBmZjAgRFI3OiAwMDAwMDAwMDAwMDAwNDAwDQo+IFsgIDQ1Mi40MjUwNjVdIENhbGwgVHJhY2U6 DQo+IFsgIDQ1Mi40MjUwNjZdICBkZXZpY2VfZGVsKzB4NzUvMHgzNjANCj4gWyAgNDUyLjQyNTA2 OF0gID8gY2xhc3NfZmluZF9kZXZpY2UrMHg5Ni8weGYwDQo+IFsgIDQ1Mi40MjUwNjldICBkZXZp Y2VfdW5yZWdpc3RlcisweDE2LzB4NjANCj4gWyAgNDUyLjQyNTA3MF0gIGRldmljZV9kZXN0cm95 KzB4M2EvMHg0MA0KPiBbICA0NTIuNDI1MDc0XSAgZHJtX2RwX2F1eF91bnJlZ2lzdGVyX2Rldm5v ZGUrMHhlYS8weDE4MCBbZHJtX2ttc19oZWxwZXJdDQo+IFsgIDQ1Mi40MjUwNzhdICBkcm1fZHBf bXN0X3RvcG9sb2d5X3B1dF9wb3J0KzB4NWIvMHgxMTAgW2RybV9rbXNfaGVscGVyXQ0KPiBbICA0 NTIuNDI1MDgzXSAgZHJtX2RwX21zdF90b3BvbG9neV9wdXRfbXN0YisweGI2LzB4MTgwIFtkcm1f a21zX2hlbHBlcl0NCj4gWyAgNDUyLjQyNTA4N10gIGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX3Nl dF9tc3QrMHgyMzMvMHgyYjAgW2RybV9rbXNfaGVscGVyXQ0KPiBbICA0NTIuNDI1MDkxXSAgZHJt X2RwX21zdF90b3BvbG9neV9tZ3JfZGVzdHJveSsweDE4LzB4YTAgW2RybV9rbXNfaGVscGVyXQ0K PiBbICA0NTIuNDI1MTEwXSAgaW50ZWxfZHBfZW5jb2Rlcl9mbHVzaF93b3JrKzB4MzIvMHhiMCBb aTkxNV0NCj4gWyAgNDUyLjQyNTEyOF0gIGludGVsX2RkaV9lbmNvZGVyX2Rlc3Ryb3krMHgzMi8w eDcwIFtpOTE1XQ0KPiBbICA0NTIuNDI1MTM3XSAgZHJtX21vZGVfY29uZmlnX2NsZWFudXArMHg1 MS8weDJlMCBbZHJtXQ0KPiBbICA0NTIuNDI1MTU3XSAgaW50ZWxfbW9kZXNldF9jbGVhbnVwKzB4 YzgvMHgxNDAgW2k5MTVdDQo+IFsgIDQ1Mi40MjUxNjhdICBpOTE1X2RyaXZlcl91bmxvYWQrMHhh OC8weDEzMCBbaTkxNV0NCj4gWyAgNDUyLjQyNTE4MF0gIGk5MTVfcGNpX3JlbW92ZSsweDFlLzB4 NDAgW2k5MTVdDQo+IFsgIDQ1Mi40MjUxODJdICBwY2lfZGV2aWNlX3JlbW92ZSsweDNiLzB4YzAN Cj4gWyAgNDUyLjQyNTE4M10gIGRldmljZV9yZWxlYXNlX2RyaXZlcl9pbnRlcm5hbCsweGU0LzB4 MWQwDQo+IFsgIDQ1Mi40MjUxODVdICBwY2lfc3RvcF9idXNfZGV2aWNlKzB4NjkvMHg5MA0KPiBb ICA0NTIuNDI1MTg2XSAgcGNpX3N0b3BfYW5kX3JlbW92ZV9idXNfZGV2aWNlX2xvY2tlZCsweDE2 LzB4MzANCj4gWyAgNDUyLjQyNTE4OF0gIHJlbW92ZV9zdG9yZSsweDc1LzB4OTANCj4gWyAgNDUy LjQyNTE4OV0gIGtlcm5mc19mb3Bfd3JpdGUrMHgxMTYvMHgxOTANCj4gWyAgNDUyLjQyNTE5MV0g IHZmc193cml0ZSsweGE1LzB4MWEwDQo+IFsgIDQ1Mi40MjUxOTJdICBrc3lzX3dyaXRlKzB4NTcv MHhkMA0KPiBbICA0NTIuNDI1MTk0XSAgZG9fc3lzY2FsbF82NCsweDU1LzB4MTUwDQo+IFsgIDQ1 Mi40MjUxOTVdICBlbnRyeV9TWVNDQUxMXzY0X2FmdGVyX2h3ZnJhbWUrMHg0NC8weGE5DQo+IFsg IDQ1Mi40MjUxOTddIFJJUDogMDAzMzoweDdmOGNjMWU3ZDAzOA0KPiBbICA0NTIuNDI1MTk4XSBD b2RlOiA4OSAwMiA0OCBjNyBjMCBmZiBmZiBmZiBmZiBlYiBiMyAwZiAxZiA4MCAwMCAwMCAwMCAw MCBmMyAwZiAxZSBmYSA0OCA4ZCAwNSBlNSA3NiAwZCAwMCA4YiAwMCA4NSBjMCA3NSAxNyBiOCAw MSAwMCAwMCAwMCAwZiAwNSA8NDg+IDNkIDAwIGYwIGZmIGZmIDc3IDU4IGMzIDBmIDFmIDgwIDAw IDAwIDAwIDAwIDQxIDU0IDQ5IDg5IGQ0IDU1DQo+IFsgIDQ1Mi40MjUxOTldIFJTUDogMDAyYjow MDAwN2ZmY2U0MzIxMjE4IEVGTEFHUzogMDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAw MDENCj4gWyAgNDUyLjQyNTIwMV0gUkFYOiBmZmZmZmZmZmZmZmZmZmRhIFJCWDogMDAwMDAwMDAw MDAwMDAwMiBSQ1g6IDAwMDA3ZjhjYzFlN2QwMzgNCj4gWyAgNDUyLjQyNTIwMl0gUkRYOiAwMDAw MDAwMDAwMDAwMDAyIFJTSTogMDAwMDU2NTE1YWVmYmYwMCBSREk6IDAwMDAwMDAwMDAwMDAwMDEN Cj4gWyAgNDUyLjQyNTIwM10gUkJQOiAwMDAwNTY1MTVhZWZiZjAwIFIwODogMDAwMDAwMDAwMDAw MDAwYSBSMDk6IDAwMDA3ZjhjYzFmMGVlODANCj4gWyAgNDUyLjQyNTIwNF0gUjEwOiAwMDAwMDAw MDAwMDAwMDBhIFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAwMDA3ZjhjYzFmNTA3ODANCj4g WyAgNDUyLjQyNTIwNV0gUjEzOiAwMDAwMDAwMDAwMDAwMDAyIFIxNDogMDAwMDdmOGNjMWY0Yjc0 MCBSMTU6IDAwMDAwMDAwMDAwMDAwMDINCj4gWyAgNDUyLjQyNTIwN10gV0FSTklORzogQ1BVOiAz IFBJRDogMTg4NyBhdCBmcy9zeXNmcy9ncm91cC5jOjI1NiBzeXNmc19yZW1vdmVfZ3JvdXArMHg3 Ni8weDgwDQo+IFsgIDQ1Mi40MjUyMDhdIC0tLVsgZW5kIHRyYWNlIGExYzExZWFmMDU0OTEwYTUg XS0tLQ0KPiBbICA0NTIuNDI1MjgyXSBbZHJtOmRybV9kcF9hdXhfdW5yZWdpc3Rlcl9kZXZub2Rl IFtkcm1fa21zX2hlbHBlcl1dIGRybV9kcF9hdXhfZGV2OiBhdXggW0RQTVNUXSB1bnJlZ2lzdGVy aW5nDQo+IFsgIDQ1Mi40MjUyODhdIFtkcm06ZHJtX2RwX21zdF90b3BvbG9neV9wdXRfcG9ydCBb ZHJtX2ttc19oZWxwZXJdXSBwb3J0IDAwMDAwMDAwMmJhMzE3NGUgKDApDQo+IFsgIDQ1Mi40MjUy OTJdIFtkcm06ZHJtX2RwX21zdF9wdXRfcG9ydF9tYWxsb2MgW2RybV9rbXNfaGVscGVyXV0gcG9y dCAwMDAwMDAwMDJiYTMxNzRlICgwKQ0KPiBbICA0NTIuNDI1Mjk1XSBbZHJtOmRybV9kcF9tc3Rf cHV0X21zdGJfbWFsbG9jIFtkcm1fa21zX2hlbHBlcl1dIG1zdGIgMDAwMDAwMDBlZWMxYTYyOSAo MikNCj4gWyAgNDUyLjQyNTI5OV0gW2RybTpkcm1fZHBfbXN0X3B1dF9tc3RiX21hbGxvYyBbZHJt X2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAwZWVjMWE2MjkgKDEpDQo+IFsgIDQ1Mi40MjUzMTFd IFtkcm06ZHJtX21vZGVfb2JqZWN0X3B1dC5wYXJ0LjMgW2RybV1dIE9CSiBJRDogODYgKDEpDQo+ IFsgIDQ1Mi40MjUzMThdIFtkcm06ZHJtX2RwX21zdF9wdXRfcG9ydF9tYWxsb2MgW2RybV9rbXNf aGVscGVyXV0gcG9ydCAwMDAwMDAwMGRkZTFiMDBhICgxKQ0KPiBbICA0NTIuNDI1MzY1XSBbZHJt OmRybV9kcF9tc3RfcHV0X3BvcnRfbWFsbG9jIFtkcm1fa21zX2hlbHBlcl1dIHBvcnQgMDAwMDAw MDBkZGUxYjAwYSAoMCkNCj4gWyAgNDUyLjQyNTM2OF0gW2RybTpkcm1fZHBfbXN0X3B1dF9tc3Ri X21hbGxvYyBbZHJtX2ttc19oZWxwZXJdXSBtc3RiIDAwMDAwMDAwZWVjMWE2MjkgKDApDQo+IA0K PiBTbywgd2UgbmVlZCB0byBtb3ZlIHRoZSBkcm1fZHBfYXV4X3JlZ2lzdGVyX2Rldm5vZGUoKSBj YWxsIGFib3ZlIHRoZSBjb25uZWN0b3INCj4gcmVnaXN0cmF0aW9uIGNhbGxiYWNrLiBTYW1lIGdv ZXMgZm9yIHRoZSBwb3J0LT5hdXguZGV2ID0gcG9ydC0+Y29ubmVjdG9yLQ0KPj4ga2RldjsgYXNz aWdubWVudCB0aGF0IHlvdSBkbyBpbiBwYXRjaCAzLzcgKGFuZCBvZiBjb3Vyc2UsIHlvdSBjYW4g cmVtb3ZlIHRoZQ0KPiBjb25uZWN0b3IgcmVnaXN0cmF0aW9uIHN0YXR1cyBjaGVjayB0aGVyZSBu b3cpLg0KPiANCj4+ICsNCj4+ICsgICAgICAgICAgICAgZHJtX2RwX2F1eF9yZWdpc3Rlcl9kZXZu b2RlKCZwb3J0LT5hdXgpOw0KPj4gICAgICAgIH0NCj4+DQo+PiAgIG91dDoNCj4+IEBAIC0xNDA0 LDcgKzE0NTQsNiBAQCBzdGF0aWMgYm9vbCBkcm1fZHBfdmFsaWRhdGVfZ3VpZChzdHJ1Y3QNCj4+ IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsDQo+PiAgICAgICAgcmV0dXJuIGZhbHNlOw0K Pj4gICB9DQo+Pg0KPj4gLSNpZiAwDQo+PiAgIHN0YXRpYyBpbnQgYnVpbGRfZHBjZF9yZWFkKHN0 cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3R4ICptc2csIHU4IHBvcnRfbnVtLA0KPj4gdTMyIG9m ZnNldCwgdTggbnVtX2J5dGVzKQ0KPj4gICB7DQo+PiAgICAgICAgc3RydWN0IGRybV9kcF9zaWRl YmFuZF9tc2dfcmVxX2JvZHkgcmVxOw0KPj4gQEAgLTE0MTcsNyArMTQ2Niw2IEBAIHN0YXRpYyBp bnQgYnVpbGRfZHBjZF9yZWFkKHN0cnVjdA0KPj4gZHJtX2RwX3NpZGViYW5kX21zZ190eCAqbXNn LCB1OCBwb3J0X251bSwgdTMyDQo+Pg0KPj4gICAgICAgIHJldHVybiAwOw0KPj4gICB9DQo+PiAt I2VuZGlmDQo+Pg0KPj4gICBzdGF0aWMgaW50IGRybV9kcF9zZW5kX3NpZGViYW5kX21zZyhzdHJ1 Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwNCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCB1cCwgdTggKm1zZywgaW50IGxlbikNCj4+IEBAIC0xOTk0LDI2 ICsyMDQyLDU1IEBAIGludCBkcm1fZHBfdXBkYXRlX3BheWxvYWRfcGFydDIoc3RydWN0DQo+PiBk cm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKQ0KPj4gICB9DQo+PiAgIEVYUE9SVF9TWU1CT0wo ZHJtX2RwX3VwZGF0ZV9wYXlsb2FkX3BhcnQyKTsNCj4+DQo+PiAtI2lmIDAgLyogdW51c2VkIGFz IG9mIHlldCAqLw0KPj4gICBzdGF0aWMgaW50IGRybV9kcF9zZW5kX2RwY2RfcmVhZChzdHJ1Y3Qg ZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCwNCj4+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0LCBpbnQgc2l6ZSkNCj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0LCBpbnQgc2l6ZSwgdTggKmJ5dGVzKQ0KPj4gICB7 DQo+PiAgICAgICAgaW50IGxlbjsNCj4+ICsgICAgIGludCByZXQgPSAwOw0KPj4gICAgICAgIHN0 cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3R4ICp0eG1zZzsNCj4+ICsgICAgIHN0cnVjdCBkcm1f ZHBfbXN0X2JyYW5jaCAqbXN0YjsNCj4+ICsNCj4+ICsgICAgIG1zdGIgPSBkcm1fZHBfZ2V0X3Zh bGlkYXRlZF9tc3RiX3JlZihtZ3IsIHBvcnQtPnBhcmVudCk7DQo+PiArICAgICBpZiAoIW1zdGIp DQo+PiArICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPj4NCj4+ICAgICAgICB0eG1zZyA9 IGt6YWxsb2Moc2l6ZW9mKCp0eG1zZyksIEdGUF9LRVJORUwpOw0KPj4gLSAgICAgaWYgKCF0eG1z ZykNCj4+IC0gICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiArICAgICBpZiAoIXR4bXNn KSB7DQo+PiArICAgICAgICAgICAgIHJldCA9IC1FTk9NRU07DQo+PiArICAgICAgICAgICAgIGdv dG8gZmFpbF9wdXQ7DQo+PiArICAgICB9DQo+Pg0KPj4gLSAgICAgbGVuID0gYnVpbGRfZHBjZF9y ZWFkKHR4bXNnLCBwb3J0LT5wb3J0X251bSwgMCwgOCk7DQo+PiArICAgICBsZW4gPSBidWlsZF9k cGNkX3JlYWQodHhtc2csIHBvcnQtPnBvcnRfbnVtLCBvZmZzZXQsIHNpemUpOw0KPj4gICAgICAg IHR4bXNnLT5kc3QgPSBwb3J0LT5wYXJlbnQ7DQo+Pg0KPj4gICAgICAgIGRybV9kcF9xdWV1ZV9k b3duX3R4KG1nciwgdHhtc2cpOw0KPj4NCj4+IC0gICAgIHJldHVybiAwOw0KPj4gKyAgICAgcmV0 ID0gZHJtX2RwX21zdF93YWl0X3R4X3JlcGx5KG1zdGIsIHR4bXNnKTsNCj4+ICsgICAgIGlmIChy ZXQgPCAwKQ0KPj4gKyAgICAgICAgICAgICBnb3RvIGZhaWxfZnJlZTsNCj4+ICsNCj4+ICsgICAg IC8qIERQQ0QgcmVhZCBzaG91bGQgbmV2ZXIgYmUgTkFDS2VkICovDQo+PiArICAgICBpZiAoV0FS Tl9PTl9PTkNFKHR4bXNnLT5yZXBseS5yZXBseV90eXBlID09IDEpKSB7DQo+PiArICAgICAgICAg ICAgIHJldCA9IC1FSU87DQo+PiArICAgICAgICAgICAgIGdvdG8gZmFpbF9mcmVlOw0KPj4gKyAg ICAgfQ0KPj4gKw0KPj4gKyAgICAgaWYgKHR4bXNnLT5yZXBseS51LnJlbW90ZV9kcGNkX3JlYWRf YWNrLm51bV9ieXRlcyAhPSBzaXplKSB7DQo+PiArICAgICAgICAgICAgIHJldCA9IC1FUFJPVE87 DQo+PiArICAgICAgICAgICAgIGdvdG8gZmFpbF9mcmVlOw0KPj4gKyAgICAgfQ0KPj4gKw0KPj4g KyAgICAgcmV0ID0gbWluX3Qoc2l6ZV90LCB0eG1zZy0+cmVwbHkudS5yZW1vdGVfZHBjZF9yZWFk X2Fjay5udW1fYnl0ZXMsDQo+PiBzaXplKTsNCj4+ICsgICAgIG1lbWNweShieXRlcywgdHhtc2ct PnJlcGx5LnUucmVtb3RlX2RwY2RfcmVhZF9hY2suYnl0ZXMsIHJldCk7DQo+PiArDQo+PiArZmFp bF9mcmVlOg0KPj4gKyAgICAga2ZyZWUodHhtc2cpOw0KPj4gK2ZhaWxfcHV0Og0KPj4gKyAgICAg ZHJtX2RwX3B1dF9tc3RfYnJhbmNoX2RldmljZShtc3RiKTsNCj4+ICsNCj4+ICsgICAgIHJldHVy biByZXQ7DQo+PiAgIH0NCj4+IC0jZW5kaWYNCj4+DQo+PiAgIHN0YXRpYyBpbnQgZHJtX2RwX3Nl bmRfZHBjZF93cml0ZShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwNCj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBv cnQsDQo+PiBAQCAtMjA0MSw5ICsyMTE4LDkgQEAgc3RhdGljIGludCBkcm1fZHBfc2VuZF9kcGNk X3dyaXRlKHN0cnVjdA0KPj4gZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwNCj4+DQo+PiAg ICAgICAgcmV0ID0gZHJtX2RwX21zdF93YWl0X3R4X3JlcGx5KG1zdGIsIHR4bXNnKTsNCj4+ICAg ICAgICBpZiAocmV0ID4gMCkgew0KPj4gLSAgICAgICAgICAgICBpZiAodHhtc2ctPnJlcGx5LnJl cGx5X3R5cGUgPT0gMSkgew0KPj4gLSAgICAgICAgICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7 DQo+PiAtICAgICAgICAgICAgIH0gZWxzZQ0KPj4gKyAgICAgICAgICAgICBpZiAodHhtc2ctPnJl cGx5LnJlcGx5X3R5cGUgPT0gMSkNCj4+ICsgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUlP Ow0KPj4gKyAgICAgICAgICAgICBlbHNlDQo+PiAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9 IDA7DQo+PiAgICAgICAgfQ0KPj4gICAgICAgIGtmcmVlKHR4bXNnKTsNCj4+IGRpZmYgLS1naXQg YS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVy LmgNCj4+IGluZGV4IDUwOTY2N2UuLjZkZWE3NmEgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRlL2Ry bS9kcm1fZHBfaGVscGVyLmgNCj4+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaA0K Pj4gQEAgLTEyNjUsNiArMTI2NSwxMCBAQCBzdHJ1Y3QgZHJtX2RwX2F1eCB7DQo+PiAgICAgICAg ICogQGNlYzogc3RydWN0IGNvbnRhaW5pbmcgZmllbGRzIHVzZWQgZm9yIENFQy1UdW5uZWxpbmct b3Zlci1BVVguDQo+PiAgICAgICAgICovDQo+PiAgICAgICAgc3RydWN0IGRybV9kcF9hdXhfY2Vj IGNlYzsNCj4+ICsgICAgIC8qKg0KPj4gKyAgICAgICogQGlzX3JlbW90ZTogSXMgdGhpcyAiQVVY IENIIiBhY3R1YWxseSB1c2luZyBzaWRlYmFuZCBtZXNzYWdpbmcuDQo+PiArICAgICAgKi8NCj4+ ICsgICAgIGJvb2wgaXNfcmVtb3RlOw0KPj4gICB9Ow0KPj4NCj4+ICAgc3NpemVfdCBkcm1fZHBf ZHBjZF9yZWFkKHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsIHVuc2lnbmVkIGludCBvZmZzZXQsDQo+ PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaA0KPj4gYi9pbmNs dWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oDQo+PiBpbmRleCAzNzFjYzI4Li4zMGY4YzExIDEw MDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaA0KPj4gKysrIGIv aW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaA0KPj4gQEAgLTYxNSw2ICs2MTUsMTIgQEAg dm9pZCBkcm1fZHBfbXN0X2R1bXBfdG9wb2xvZ3koc3RydWN0IHNlcV9maWxlICptLA0KPj4NCj4+ ICAgdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zdXNwZW5kKHN0cnVjdCBkcm1fZHBfbXN0 X3RvcG9sb2d5X21nciAqbWdyKTsNCj4+ICAgaW50IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX3Jl c3VtZShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncik7DQo+PiArDQo+PiArc3Np emVfdCBkcm1fZHBfbXN0X2RwY2RfcmVhZChzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LA0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqYnVmZmVy LCBzaXplX3Qgc2l6ZSk7DQo+PiArc3NpemVfdCBkcm1fZHBfbXN0X2RwY2Rfd3JpdGUoc3RydWN0 IGRybV9kcF9hdXggKmF1eCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgb2Zmc2V0LCB2b2lkICpidWZmZXIsIHNpemVfdCBzaXplKTsNCj4+ICsNCj4+ICAgc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKmRybV9hdG9taWNfZ2V0X21zdF90b3BvbG9n eV9zdGF0ZShzdHJ1Y3QNCj4+IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdA0KPj4gZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncik7DQo+PiAgIGludCBkcm1f ZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUs DQo+IC0tDQo+IENoZWVycywNCj4gICAgICAgICAgTHl1ZGUgUGF1bA0KPiANCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0 CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==