From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Patil, Harish" Subject: Re: vf init issue with patch igb_uio: issue FLR during open and release of device file Date: Mon, 18 Sep 2017 22:43:08 +0000 Message-ID: References: <2430472.fsKqsvm3Ry@polaris> <20170918064957.GB6037@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "Zhang, Helin" , Gregory Etelson , "thomas@monjalon.net" , "dev@dpdk.org" , "Tan, Jianfeng" , "Hu, Xuekun" , "Yigit, Ferruh" , "Li, Xiaoyun" To: "Thotton, Shijith" , "Yang, Qiming" Return-path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0058.outbound.protection.outlook.com [104.47.33.58]) by dpdk.org (Postfix) with ESMTP id AA5B8DE3 for ; Tue, 19 Sep 2017 00:43:12 +0200 (CEST) In-Reply-To: <20170918064957.GB6037@localhost.localdomain> Content-Language: en-US Content-ID: <61BA3E5FB949FF41AE21C53399560509@namprd07.prod.outlook.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206ICJUaG90dG9uLCBTaGlqaXRoIiA8U2hp aml0aC5UaG90dG9uQGNhdml1bS5jb20+DQpEYXRlOiBTdW5kYXksIFNlcHRlbWJlciAxNywgMjAx NyBhdCAxMTo0OSBQTQ0KVG86ICJZYW5nLCBRaW1pbmciIDxxaW1pbmcueWFuZ0BpbnRlbC5jb20+ LCBIYXJpc2ggUGF0aWwNCjxIYXJpc2guUGF0aWxAY2F2aXVtLmNvbT4NCkNjOiAiWmhhbmcsIEhl bGluIiA8aGVsaW4uemhhbmdAaW50ZWwuY29tPiwgR3JlZ29yeSBFdGVsc29uDQo8Z3JlZ29yeUB3 ZWthLmlvPiwgInRob21hc0Btb25qYWxvbi5uZXQiIDx0aG9tYXNAbW9uamFsb24ubmV0PiwNCiJk ZXZAZHBkay5vcmciIDxkZXZAZHBkay5vcmc+LCAiVGFuLCBKaWFuZmVuZyIgPGppYW5mZW5nLnRh bkBpbnRlbC5jb20+LA0KIlRob3R0b24sIFNoaWppdGgiIDxTaGlqaXRoLlRob3R0b25AY2F2aXVt LmNvbT4sICJIdSwgWHVla3VuIg0KPHh1ZWt1bi5odUBpbnRlbC5jb20+LCAiWWlnaXQsIEZlcnJ1 aCIgPGZlcnJ1aC55aWdpdEBpbnRlbC5jb20+LCAiTGksDQpYaWFveXVuIiA8eGlhb3l1bi5saUBp bnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW2RwZGstZGV2XSB2ZiBpbml0IGlzc3VlIHdpdGggcGF0 Y2ggaWdiX3VpbzogaXNzdWUgRkxSIGR1cmluZw0Kb3BlbiBhbmQgcmVsZWFzZSBvZiBkZXZpY2Ug ZmlsZQ0KDQo+T24gTW9uLCBTZXAgMTgsIDIwMTcgYXQgMDM6NTA6MzBBTSArMDAwMCwgWWFuZywg UWltaW5nIHdyb3RlOg0KPj4gU29ycnksIEdyZWdvcnkgYW5kIFNoaWppdGgNCj4+IA0KPj4gSSBt aXN1bmRlcnN0YW5kIHlvdXIgYWR2aWNlLg0KPj4gSWYgd2Ugb25seSByZW1vdmUgUENJIHJlc2V0 IGF0IGlnYnVpb19wY2lfb3Blbiwgbm90IGluY2x1ZGUNCj4+aWdidWlvX3BjaV9yZWxlYXNlLCBJ IHRoaW5rIGl0IGlzIGEgZ29vZCBzb2x1dGlvbi4NCj4+IEl0IHJlc2VydmUgdGhlIGZ1bmN0aW9u YWwgb2YgdGhpcyBwYXRjaCBhbmQgd2UgaGF2ZSB0ZXN0IG9uIEZWTA0KPj4xMEcvNDBHLzI1Rywg YWxsIHdvcmsgZmluZS4NCj4+IA0KPg0KPlRoYW5rcyBRaW1pbmcuIEdsYWQgdG8gaGVhciB0aGF0 IHJlbW92aW5nIHBjaV9yZXNldF9mdW5jdGlvbiBmcm9tDQo+aWdidWlvX3BjaV9vcGVuDQo+Zml4 ZWQgdGhlIGlzc3VlIGZvciBJbnRlbCBOSUNzLg0KPg0KPkhhcmlzaCwNCj4NCj5QbGVhc2UgbGV0 IHVzIGtub3cgdGhlIGJlaGF2aW9yIHdpdGggUUVERS4gUmV2ZXJ0aW5nIHdvbid0IGJlIG5lY2Vz c2FyeQ0KPmlmIHRoZQ0KPmZpeCB3b3JrcyBmb3IgYWxsLg0KPg0KPlRoYW5rcywNCj5TaGlqaXRo DQoNCltIYXJpc2hdIFNoaWppdGgsDQpSZW1vdmluZyBwY2lfcmVzZXRfZnVuY3Rpb24oKSBmcm9t IG9wZW4oKSBzZWVtcyBnb29kIGVub3VnaC4NClRoYW5rcy4NCg0KPg0KPj4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiBGcm9tOiBaaGFuZywgSGVsaW4NCj4+ID4gU2VudDogTW9u ZGF5LCBTZXB0ZW1iZXIgMTgsIDIwMTcgMTA6MzkgQU0NCj4+ID4gVG86IFlhbmcsIFFpbWluZyA8 cWltaW5nLnlhbmdAaW50ZWwuY29tPjsgR3JlZ29yeSBFdGVsc29uDQo+PiA+IDxncmVnb3J5QHdl a2EuaW8+OyB0aG9tYXNAbW9uamFsb24ubmV0DQo+PiA+IENjOiBkZXZAZHBkay5vcmc7IFRhbiwg SmlhbmZlbmcgPGppYW5mZW5nLnRhbkBpbnRlbC5jb20+OyBUaG90dG9uLA0KPj5TaGlqaXRoDQo+ PiA+IDxTaGlqaXRoLlRob3R0b25AY2F2aXVtLmNvbT47IEh1LCBYdWVrdW4gPHh1ZWt1bi5odUBp bnRlbC5jb20+OyBZaWdpdCwNCj4+ID4gRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsg UGF0aWwsIEhhcmlzaA0KPj48SGFyaXNoLlBhdGlsQGNhdml1bS5jb20+OyBMaSwNCj4+ID4gWGlh b3l1biA8eGlhb3l1bi5saUBpbnRlbC5jb20+DQo+PiA+IFN1YmplY3Q6IFJFOiBbZHBkay1kZXZd IHZmIGluaXQgaXNzdWUgd2l0aCBwYXRjaCBpZ2JfdWlvOiBpc3N1ZSBGTFINCj4+ZHVyaW5nIG9w ZW4NCj4+ID4gYW5kIHJlbGVhc2Ugb2YgZGV2aWNlIGZpbGUNCj4+ID4gDQo+PiA+IEhpIGd1eXMN Cj4+ID4gDQo+PiA+IE1heSBJIHN1Z2dlc3QgdG8gcmV2ZXJ0IHRoZSBwYXRjaCBmaXJzdCwgYXMg aXQgYmxvY2tzIGV4aXN0aW5nDQo+PmZ1bmN0aW9uYWxpdGllcy4NCj4+ID4gVGhlbiB0aGUgb3Jp Z2luYWwgYXV0aG9ycyBjYW4gYWRkIGl0IGJhY2sgd2l0aCBhIGZpeD8NCj4+ID4gDQo+PiA+IFJl Z2FyZHMsDQo+PiA+IEhlbGluDQo+PiA+IA0KPj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPj4gPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxm IE9mIFlhbmcsIFFpbWluZw0KPj4gPiBTZW50OiBNb25kYXksIFNlcHRlbWJlciAxOCwgMjAxNyAx MDoyMSBBTQ0KPj4gPiBUbzogR3JlZ29yeSBFdGVsc29uIDxncmVnb3J5QHdla2EuaW8+DQo+PiA+ IENjOiB0aG9tYXNAbW9uamFsb24ubmV0OyBkZXZAZHBkay5vcmc7IFRhbiwgSmlhbmZlbmcNCj4+ ID4gPGppYW5mZW5nLnRhbkBpbnRlbC5jb20+OyBUaG90dG9uLCBTaGlqaXRoDQo+PjxTaGlqaXRo LlRob3R0b25AY2F2aXVtLmNvbT47IEh1LA0KPj4gPiBYdWVrdW4gPHh1ZWt1bi5odUBpbnRlbC5j b20+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4+UGF0aWwsDQo+ PiA+IEhhcmlzaCA8SGFyaXNoLlBhdGlsQGNhdml1bS5jb20+OyBMaSwgWGlhb3l1biA8eGlhb3l1 bi5saUBpbnRlbC5jb20+DQo+PiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIHZmIGluaXQgaXNz dWUgd2l0aCBwYXRjaCBpZ2JfdWlvOiBpc3N1ZSBGTFINCj4+ZHVyaW5nIG9wZW4NCj4+ID4gYW5k IHJlbGVhc2Ugb2YgZGV2aWNlIGZpbGUNCj4+ID4gDQo+PiA+IFllcywgSSBoYXZlIHRyaWVkLCBh bmQgaXQgd29ya3MuIEJ1dCBJIHRoaW5rIHJlbW92aW5nIHRoaXMgZnVuY3Rpb24NCj4+YWxzbyBt YWtlcyB0aGUNCj4+ID4gcGF0Y2ggbWVhbmluZ2xlc3MuDQo+PiA+IA0KPj4gPiBRaW1pbmcNCj4+ ID4gRnJvbTogR3JlZ29yeSBFdGVsc29uIFttYWlsdG86Z3JlZ29yeUB3ZWthLmlvXQ0KPj4gPiBT ZW50OiBTdW5kYXksIFNlcHRlbWJlciAxNywgMjAxNyAxMDo1MCBBTQ0KPj4gPiBUbzogWWFuZywg UWltaW5nIDxxaW1pbmcueWFuZ0BpbnRlbC5jb20+DQo+PiA+IENjOiB0aG9tYXNAbW9uamFsb24u bmV0OyBkZXZAZHBkay5vcmc7IFRhbiwgSmlhbmZlbmcNCj4+ID4gPGppYW5mZW5nLnRhbkBpbnRl bC5jb20+OyBUaG90dG9uLCBTaGlqaXRoDQo+PjxTaGlqaXRoLlRob3R0b25AY2F2aXVtLmNvbT47 IEh1LA0KPj4gPiBYdWVrdW4gPHh1ZWt1bi5odUBpbnRlbC5jb20+OyBZaWdpdCwgRmVycnVoIDxm ZXJydWgueWlnaXRAaW50ZWwuY29tPjsNCj4+UGF0aWwsDQo+PiA+IEhhcmlzaCA8SGFyaXNoLlBh dGlsQGNhdml1bS5jb20+DQo+PiA+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIHZmIGluaXQgaXNz dWUgd2l0aCBwYXRjaCBpZ2JfdWlvOiBpc3N1ZSBGTFINCj4+ZHVyaW5nIG9wZW4NCj4+ID4gYW5k IHJlbGVhc2Ugb2YgZGV2aWNlIGZpbGUNCj4+ID4gDQo+PiA+IA0KPj4gPiBIZWxsbyBRaW1pbmcs DQo+PiA+IA0KPj4gPiANCj4+ID4gDQo+PiA+IERpZCB5b3UgdHJ5IHRvIHJlbW92ZSBQQ0kgcmVz ZXQgYXQgaWdidWlvX3BjaV9vcGVuID8NCj4+ID4gDQo+PiA+IFJldmVydGluZyB0aGUgcGF0Y2gg ZW50aXJlbHkgd2lsbCBnZXQgdXMgYmFjayB0byBWRiBpc3N1ZXMNCj4+ID4gDQo+PiA+IA0KPj4g PiANCj4+ID4gUmVnYXJkcywNCj4+ID4gDQo+PiA+IEdyZWdvcnkNCj4+ID4gDQo+PiA+IA0KPj4g PiANCj4+ID4gDQo+PiA+IA0KPj4gPiBPbiBGcmlkYXksIDE1IFNlcHRlbWJlciAyMDE3IDExOjA0 OjE2IElEVCBZYW5nLCBRaW1pbmcgd3JvdGU6DQo+PiA+IA0KPj4gPiA+IEhpLCBUaG9tYXMNCj4+ ID4gDQo+PiA+ID4gV2UgbWVldCBhIHVyZ2VudCBpc3N1ZSBiZWNhdXNlIG9mIFNoaWppdGgncyBw YXRjaC4NCj4+ID4gDQo+PiA+ID4gV2hlbiB1c2UgRFBESyB2ZXJzaW9uIDE3LjA4LCBEUERLIFZG IGRyaXZlciBhbmQga2VybmVsIFBGIGRyaXZlciwNCj4+aTQwZSwgaXhnYmUNCj4+ID4gYW5kIHFl ZGUoSGFyaXNoIHNhaWQpIFZGIGFsbCBtZWV0IGluaXRpYWwgZmFpbHVyZS4NCj4+ID4gDQo+PiA+ ID4gVGhpcyBpc3N1ZSBvbmx5IG9jY3VycmVkIHdoZW4gdXNlIDE3LjA4IGlnYl91aW8sIHZmaW8t cGNpIGFuZCAxNy4wNQ0KPj5pZ2JfdWlvIGFsbA0KPj4gPiB3b3JrcyB3ZWxsLg0KPj4gPiANCj4+ ID4gPiBDb25zaWRlcmluZyB0aGlzIGlzc3VlIHdpbGwgYmxvY2sgb3VyIHZmIGRyaXZlciBkZXZl bG9wIGFuZCB0ZXN0DQo+PndvcmssIGNvdWxkIHdlDQo+PiA+IHJldmVydCB0aGlzIHBhdGNoIGZp cnN0IGFuZCBmaW5kIGFub3RoZXIgYXBwcm9wcmlhdGUgd2F5Pw0KPj4gPiANCj4+ID4gPg0KPj4g PiANCj4+ID4gPiBRaW1pbmcNCj4+ID4gDQo+PiA+ID4NCj4+ID4gDQo+PiA+ID4gPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiANCj4+ID4gPiA+IEZyb206IFBhdGlsLCBIYXJpc2gg W21haWx0bzpIYXJpc2guUGF0aWxAY2F2aXVtLmNvbV0NCj4+ID4gDQo+PiA+ID4gPiBTZW50OiBU aHVyc2RheSwgU2VwdGVtYmVyIDE0LCAyMDE3IDM6NDUgQU0NCj4+ID4gDQo+PiA+ID4gPiBUbzog WWlnaXQsIEZlcnJ1aA0KPj48ZmVycnVoLnlpZ2l0QGludGVsLmNvbTxtYWlsdG86ZmVycnVoLnlp Z2l0QGludGVsLmNvbT4+Ow0KPj4gPiBIdSwgWHVla3VuIDx4dWVrdW4uaHVAaW50ZWwuY29tPG1h aWx0bzp4dWVrdW4uaHVAaW50ZWwuY29tPj47DQo+PiA+IA0KPj4gPiA+ID4gVGhvdHRvbiwgU2hp aml0aA0KPj4gPiA8U2hpaml0aC5UaG90dG9uQGNhdml1bS5jb208bWFpbHRvOlNoaWppdGguVGhv dHRvbkBjYXZpdW0uY29tPj47IFlhbmcsDQo+PiA+IFFpbWluZw0KPj4gPiANCj4+ID4gPiA+IDxx aW1pbmcueWFuZ0BpbnRlbC5jb208bWFpbHRvOnFpbWluZy55YW5nQGludGVsLmNvbT4+OyBHcmVn b3J5DQo+PkV0ZWxzb24NCj4+ID4gPGdyZWdvcnlAd2VrYS5pbzxtYWlsdG86Z3JlZ29yeUB3ZWth LmlvPj4NCj4+ID4gDQo+PiA+ID4gPiBDYzogZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5v cmc+OyBUYW4sIEppYW5mZW5nDQo+PiA+IDxqaWFuZmVuZy50YW5AaW50ZWwuY29tPG1haWx0bzpq aWFuZmVuZy50YW5AaW50ZWwuY29tPj4NCj4+ID4gDQo+PiA+ID4gPiBTdWJqZWN0OiBSZTogW2Rw ZGstZGV2XSB2ZiBpbml0IGlzc3VlIHdpdGggcGF0Y2ggaWdiX3VpbzogaXNzdWUNCj4+RkxSIGR1 cmluZyBvcGVuDQo+PiA+IA0KPj4gPiA+ID4gYW5kIHJlbGVhc2Ugb2YgZGV2aWNlIGZpbGUNCj4+ ID4gDQo+PiA+ID4gPg0KPj4gPiANCj4+ID4gPiA+DQo+PiA+IA0KPj4gPiA+ID4NCj4+ID4gDQo+ PiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4gPiANCj4+ID4gPiA+IEZyb206 IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc8bWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnPj4g b24NCj4+ID4gYmVoYWxmIG9mIEZlcnJ1aCBZaWdpdA0KPj4gPiANCj4+ID4gPiA+IDxmZXJydWgu eWlnaXRAaW50ZWwuY29tPG1haWx0bzpmZXJydWgueWlnaXRAaW50ZWwuY29tPj4NCj4+ID4gDQo+ PiA+ID4gPiBEYXRlOiBXZWRuZXNkYXksIFNlcHRlbWJlciAxMywgMjAxNyBhdCAxMDowNiBBTQ0K Pj4gPiANCj4+ID4gPiA+IFRvOiAiSHUsIFh1ZWt1biINCj4+PHh1ZWt1bi5odUBpbnRlbC5jb208 bWFpbHRvOnh1ZWt1bi5odUBpbnRlbC5jb20+PiwNCj4+ID4gIlRob3R0b24sIFNoaWppdGgiDQo+ PiA+IA0KPj4gPiA+ID4gPFNoaWppdGguVGhvdHRvbkBjYXZpdW0uY29tPG1haWx0bzpTaGlqaXRo LlRob3R0b25AY2F2aXVtLmNvbT4+LA0KPj4gPiAiWWFuZywgUWltaW5nIiA8cWltaW5nLnlhbmdA aW50ZWwuY29tPG1haWx0bzpxaW1pbmcueWFuZ0BpbnRlbC5jb20+PiwNCj4+ID4gDQo+PiA+ID4g PiBHcmVnb3J5IEV0ZWxzb24gPGdyZWdvcnlAd2VrYS5pbzxtYWlsdG86Z3JlZ29yeUB3ZWthLmlv Pj4NCj4+ID4gDQo+PiA+ID4gPiBDYzogImRldkBkcGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsub3Jn PiINCj4+ID4gPGRldkBkcGRrLm9yZzxtYWlsdG86ZGV2QGRwZGsub3JnPj4sICJUYW4sIEppYW5m ZW5nIg0KPj4gPiA8amlhbmZlbmcudGFuQGludGVsLmNvbTxtYWlsdG86amlhbmZlbmcudGFuQGlu dGVsLmNvbT4+DQo+PiA+IA0KPj4gPiA+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gdmYgaW5p dCBpc3N1ZSB3aXRoIHBhdGNoIGlnYl91aW86IGlzc3VlDQo+PkZMUiBkdXJpbmcgb3Blbg0KPj4g PiANCj4+ID4gPiA+IGFuZCByZWxlYXNlIG9mIGRldmljZSBmaWxlDQo+PiA+IA0KPj4gPiA+ID4N Cj4+ID4gDQo+PiA+ID4gPiA+T24gOS8xMy8yMDE3IDM6MjUgUE0sIEh1LCBYdWVrdW4gd3JvdGU6 DQo+PiA+IA0KPj4gPiA+ID4gPj4gSSBtZXQgdGhlIHNhbWUgaXNzdWUgdG9vLCBvbmx5IHdpdGgg aTQwZSAyLjEuMjYgUEYga2VybmVsDQo+PmRyaXZlci4NCj4+ID4gDQo+PiA+ID4gPiA+Pg0KPj4g PiANCj4+ID4gPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiA+IA0KPj4gPiA+ ID4gPj4gRnJvbTogZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBP ZiBGZXJydWgNCj4+WWlnaXQNCj4+ID4gDQo+PiA+ID4gPiA+PiBTZW50OiBXZWRuZXNkYXksIFNl cHRlbWJlciAxMywgMjAxNyA3OjA0IFBNDQo+PiA+IA0KPj4gPiA+ID4gPj4gVG86IFNoaWppdGgg VGhvdHRvbg0KPj4gPiANCj4+PHNoaWppdGgudGhvdHRvbkBjYXZpdW1uZXR3b3Jrcy5jb208bWFp bHRvOnNoaWppdGgudGhvdHRvbkBjYXZpdW1uZXR3b3Jrcw0KPj4gPiAuY29tPj47IFlhbmcsDQo+ PiA+IA0KPj4gPiA+ID4gPj5RaW1pbmcgPHFpbWluZy55YW5nQGludGVsLmNvbTxtYWlsdG86cWlt aW5nLnlhbmdAaW50ZWwuY29tPj47DQo+PiA+IEdyZWdvcnkgRXRlbHNvbiA8Z3JlZ29yeUB3ZWth LmlvPG1haWx0bzpncmVnb3J5QHdla2EuaW8+Pg0KPj4gPiANCj4+ID4gPiA+ID4+IENjOiBkZXZA ZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz47IFRhbiwgSmlhbmZlbmcNCj4+ID4gPGppYW5m ZW5nLnRhbkBpbnRlbC5jb208bWFpbHRvOmppYW5mZW5nLnRhbkBpbnRlbC5jb20+Pg0KPj4gPiAN Cj4+ID4gPiA+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIHZmIGluaXQgaXNzdWUgd2l0aCBw YXRjaCBpZ2JfdWlvOg0KPj5pc3N1ZSBGTFINCj4+ID4gDQo+PiA+ID4gPiA+PmR1cmluZyBvcGVu IGFuZCByZWxlYXNlIG9mIGRldmljZSBmaWxlDQo+PiA+IA0KPj4gPiA+ID4gPj4NCj4+ID4gDQo+ PiA+ID4gPiA+PiBPbiA5LzEzLzIwMTcgMTE6NDggQU0sIFNoaWppdGggVGhvdHRvbiB3cm90ZToN Cj4+ID4gDQo+PiA+ID4gPiA+Pj4gT24gV2VkLCBTZXAgMTMsIDIwMTcgYXQgMDc6NTE6MzBBTSAr MDAwMCwgWWFuZywgUWltaW5nIHdyb3RlOg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gSGksIFNoaWpp dGgNCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiANCj4+ ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IFZGIGluaXQgZXJyb3Igd2lsbCBoYXBw ZW4gYWZ0ZXIgYXBwbHkgeW91ciBwYXRjaCwgZXJyb3IgbG9nDQo+PmFzDQo+PiA+IA0KPj4gPiA+ ID4gPj4+PmJlbG93LiBJZg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gcmV2ZXJ0IHlvdXIgY29tbWl0 LCBhbGwgdGhpbmdzIHdvcmsgd2VsbC4gQW5kIHRoaXMgaXNzdWUgaXMNCj4+bm90DQo+PiA+IA0K Pj4gPiA+ID4gPj4+Pm9ubHkgb2NjdXINCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IGluIGk0MCBWRiBi dXQgYWxzbyBpeGdiZS4NCj4+ID4gDQo+PiA+ID4gPiA+DQo+PiA+IA0KPj4gPiA+ID4gPkhpIFFp bWluZywNCj4+ID4gDQo+PiA+ID4gPiA+DQo+PiA+IA0KPj4gPiA+ID4gPkkgY2FuIHJlcHJvZHVj ZSB0aGUgaXNzdWUgZm9yIHRoZSBjYXNlOg0KPj4gPiANCj4+ID4gPiA+ID4NCj4+ID4gDQo+PiA+ ID4gPiA+MS0gaTQwZSAyLjEuMjYgUEYga2VybmVsIGRyaXZlciAoTk9UIHJlcHJvZHVjZWQgd2l0 aCAxLjYuMjctaykNCj4+ID4gDQo+PiA+ID4gPiA+Mi0gRFBESyBhcHAgcnVuIG9uIGhvc3QsIHNv IGJvdGggUEYgYW5kIFZGIGFyZSBpbiBob3N0LiBMaW51eA0KPj5kcml2ZXINCj4+ID4gDQo+PiA+ ID4gPiA+Zm9yIFBGIGFuZCBEUERLIGZvciBWRi4gKFdoZW4gVkYgdXNlZCBpbiBhIFZNLCBMaW51 eCBQRiBvbiBob3N0DQo+PmFuZA0KPj4gPiANCj4+ID4gPiA+ID5EUERLIFZGIG9uIGd1ZXN0LCB0 aGlzIHdvcmtzIGZpbmUpDQo+PiA+IA0KPj4gPiA+ID4gPg0KPj4gPiANCj4+ID4gPiA+ID5BbmQg SSBjb25maXJtIHRoZSBmdW5jdGlvbiBpZ2J1aW9fcGNpX29wZW4oKSBhZGRlZCB3aXRoIGJlbG93 DQo+PnBhdGNoIGlzDQo+PiA+IA0KPj4gPiA+ID4gPmNhdXNpbmcgaXQuDQo+PiA+IA0KPj4gPiA+ ID4gPg0KPj4gPiANCj4+ID4gPiA+ID5pZ2J1aW9fcGNpX29wZW4oKSBkb2VzOg0KPj4gPiANCj4+ ID4gPiA+ID4gcGNpX3Jlc2V0X2Z1bmN0aW9uKGRldik7DQo+PiA+IA0KPj4gPiA+ID4gPiBwY2lf c2V0X21hc3RlcihkZXYpOw0KPj4gPiANCj4+ID4gPiA+ID4NCj4+ID4gDQo+PiA+ID4gPiA+RG9u J3Qga25vdyB5ZXQgcm9vdCBjYXVzZSBvZiB0aGUgZXJyb3IsIHdpbGwgZGlnIG1vcmUuDQo+PiA+ IA0KPj4gPiA+ID4gPg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+ IENvdWxkIHlvdSBoZWxwIHRvIGNoZWNrIGl0IHNvb24/DQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0K Pj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ ID4gPj4+PiBbcm9vdEBsb2NhbGhvc3QgYXBwXSMgLi90ZXN0cG1kIC1jIDcgLW4gNCAtLSAtaQ0K Pj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IEVBTDogRGV0ZWN0ZWQg MTAgbGNvcmUocykNCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBF QUw6IE5vIGZyZWUgaHVnZXBhZ2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2a0INCj4+ ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBFQUw6IFByb2JpbmcgVkZJ TyBzdXBwb3J0Li4uDQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4g RUFMOiBXQVJOSU5HOiBjcHUgZmxhZ3MgY29uc3RhbnRfdHNjPXllcyBub25zdG9wX3RzYz1ubyAt Pg0KPj51c2luZw0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gdW5yZWxpYWJsZSBjbG9jayBjeWNsZXMg IQ0KPj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IEVBTDogUENJIGRl dmljZSAwMDAwOjAwOjAzLjAgb24gTlVNQSBzb2NrZXQgLTENCj4+ID4gDQo+PiA+ID4gPiA+Pj4+ DQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBFQUw6IEludmFsaWQgTlVNQSBzb2NrZXQsIGRlZmF1bHQg dG8gMA0KPj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IEVBTDogcHJv YmUgZHJpdmVyOiA4MDg2OjE1NGMgbmV0X2k0MGVfdmYNCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+ PiA+IA0KPj4gPiA+ID4gPj4+PiBpNDBldmZfaW5pdF92ZigpOiBpbml0X2FkbWlucSBmYWlsZWQ6 IC01Mw0KPj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IGk0MGV2Zl9k ZXZfaW5pdCgpOiBJbml0IHZmIGZhaWxlZA0KPj4gPiANCj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+ PiA+ID4gPiA+Pj4+IEVBTDogUmVxdWVzdGVkIGRldmljZSAwMDAwOjAwOjAzLjAgY2Fubm90IGJl IHVzZWQNCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiAN Cj4+ID4gPiA+ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IGNvbW1pdCBiNThlZWRmYzdkZDU3 ZWVmNmQxMmUyYzY1NGE1MmM4MzRmMzYwODRhDQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBBdXRob3I6 IFNoaWppdGggVGhvdHRvbg0KPj4gPiANCj4+PHNoaWppdGgudGhvdHRvbkBjYXZpdW1uZXR3b3Jr cy5jb208bWFpbHRvOnNoaWppdGgudGhvdHRvbkBjYXZpdW1uZXR3b3Jrcw0KPj4gPiAuY29tPj4N Cj4+ID4gDQo+PiA+ID4gPiA+Pj4+IERhdGU6IEZyaSBKdWwgNyAxNjo0Mzo1MSAyMDE3ICswNTMw DQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gaWdiX3VpbzogaXNz dWUgRkxSIGR1cmluZyBvcGVuIGFuZCByZWxlYXNlIG9mIGRldmljZSBmaWxlDQo+PiA+IA0KPj4g PiA+ID4gPj4+Pg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gU2V0IFVJTyBpbmZvIGRldmljZSBmaWxl IG9wZXJhdGlvbnMgb3BlbiBhbmQgcmVsZWFzZS4gQ2FsbA0KPj5wY2kNCj4+ID4gDQo+PiA+ID4g PiA+Pj4+cmVzZXQNCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IGZ1bmN0aW9uIGluc2lkZSBvcGVuIGFu ZCByZWxlYXNlIHRvIGNsZWFyIGRldmljZSBzdGF0ZSBhdA0KPj5zdGFydA0KPj4gPiANCj4+ID4g PiA+ID4+Pj5hbmQgZW5kLg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gQ29waWVkIHRoaXMgYmVoYXZp b3VyIGZyb20gdmZpb19wY2kga2VybmVsIG1vZHVsZSBjb2RlLiBXaXRoDQo+PiA+IA0KPj4gPiA+ ID4gPj4+PnRoaXMgcGF0Y2gsDQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBpdCBpcyBub3QgbWFuZGF0 b3J5IHRvIGlzc3VlIEZMUiBieSBQTUQncyBkdXJpbmcgaW5pdCBhbmQNCj4+Y2xvc2UuDQo+PiA+ IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gQnVzIG1hc3RlciBlbmFibGUg YW5kIGRpc2FibGUgYXJlIGFkZGVkIGluIG9wZW4gYW5kIHJlbGVhc2UNCj4+ID4gDQo+PiA+ID4g PiA+Pj4+cmVzcGVjdGl2ZWx5DQo+PiA+IA0KPj4gPiA+ID4gPj4+PiB0byB0YWtlIGNhcmUgb2Yg ZGV2aWNlIERNQS4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBT aWduZWQtb2ZmLWJ5OiBTaGlqaXRoIFRob3R0b24NCj4+ID4gDQo+PjxzaGlqaXRoLnRob3R0b25A Y2F2aXVtbmV0d29ya3MuY29tPG1haWx0bzpzaGlqaXRoLnRob3R0b25AY2F2aXVtbmV0d29ya3MN Cj4+ID4gLmNvbT4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+PiBSZXZpZXdlZC1ieTogSmlhbmZlbmcg VGFuDQo+PiA+IDxqaWFuZmVuZy50YW5AaW50ZWwuY29tPG1haWx0bzpqaWFuZmVuZy50YW5AaW50 ZWwuY29tPj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+IEFja2VkLWJ5OiBGZXJydWggWWlnaXQNCj4+ ID4gPGZlcnJ1aC55aWdpdEBpbnRlbC5jb208bWFpbHRvOmZlcnJ1aC55aWdpdEBpbnRlbC5jb20+ Pg0KPj4gPiANCj4+ID4gPiA+ID4+Pj4gQWNrZWQtYnk6IEdyZWdvcnkgRXRlbHNvbg0KPj4gPiA8 Z3JlZ29yeUB3ZWthLmlvPG1haWx0bzpncmVnb3J5QHdla2EuaW8+Pg0KPj4gPiANCj4+ID4gPiA+ ID4+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiAN Cj4+ID4gPiA+ID4+Pj4gQmVzdCBSZWdhcmQsDQo+PiA+IA0KPj4gPiA+ID4gPj4+Pg0KPj4gPiAN Cj4+ID4gPiA+ID4+Pj4gWWFuZyBRaW1pbmcNCj4+ID4gDQo+PiA+ID4gPiA+Pj4+DQo+PiA+IA0K Pj4gPiA+ID4gPj4+Pg0KPj4gPiANCj4+ID4gPiA+ID4+Pg0KPj4gPiANCj4+ID4gPiA+ID4+PiBI aSBZYW5nIFFpbWluZywNCj4+ID4gDQo+PiA+ID4gPiA+Pj4NCj4+ID4gDQo+PiA+ID4gPiA+Pj4g V2UgZGlkbid0IGZhY2UgdGhpcyBpc3N1ZSB3aGlsZSBwcmVwYXJpbmcgcGF0Y2guIEkgdGhpbmss DQo+PkdyZWdvcnkNCj4+ID4gDQo+PiA+ID4gPiA+Pj4gdGVzdGVkIGl0IGZvciBJbnRlbCBOSUNz LiBBZGRpbmcgbW9yZSBwZW9wbGUgdG8gdGhlIGxvb3AgZm9yDQo+PmhlbHAuDQo+PiA+IA0KPj4g PiA+ID4gPj4+DQo+PiA+IA0KPj4gPiA+ID4gPj4NCj4+ID4gDQo+PiA+ID4gPiA+PiBJIHdpbGwg dHJ5IHRvIHJlcHJvZHVjZSB0aGUgaXNzdWUuDQo+PiA+IA0KPj4gPiA+ID4gPj4NCj4+ID4gDQo+ PiA+ID4gPiA+Pj4gU2hpaml0aA0KPj4gPiANCj4+ID4gPiA+DQo+PiA+IA0KPj4gPiA+ID4gW0hh cmlzaF0gV2UgYXJlIHNlZWluZyBzaW1pbGFyIGlzc3VlIHdpdGggdGhlIGJyaW5ndXAgb2YgcWVk ZSBWRg0KPj5kZXZpY2VzIGR1ZQ0KPj4gPiB0bw0KPj4gPiANCj4+ID4gPiA+IHRoaXMgcGF0Y2gu DQo+PiA+IA0KPj4gPiA+ID4gQ291bGQgd2UgcmV2ZXJ0IHRoaXMgYW5kIGxlYXZlIGl0IHRvIGlu ZGl2aWR1YWwgUE1EcyB0byBtYW5hZ2UgaXQ/DQo+PiA+IA0KPj4gPiA+ID4gPj4NCj4+ID4gDQo+ PiA+ID4NCj4+ID4gDQo+PiA+ID4NCj4+ID4gDQo+PiANCg0K