From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC PATCH Xilinx Alveo 0/6] Xilinx PCIe accelerator driver Date: Wed, 27 Mar 2019 15:11:37 +0100 Message-ID: <20190327141137.GK2665@phenom.ffwll.local> References: <20190319215401.6562-1-sonal.santan@xilinx.com> <20190325202810.GG2665@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 82E8A6E1F1 for ; Wed, 27 Mar 2019 14:11:42 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id m16so14127327edd.12 for ; Wed, 27 Mar 2019 07:11:42 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sonal Santan Cc: "gregkh@linuxfoundation.org" , Cyril Chemparathy , "linux-kernel@vger.kernel.org" , Lizhi Hou , Michal Simek , "dri-devel@lists.freedesktop.org" , "airlied@redhat.com" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBNYXIgMjcsIDIwMTkgYXQgMTI6NTA6MTRQTSArMDAwMCwgU29uYWwgU2FudGFuIHdy b3RlOgo+IAo+IAo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IERhbmll bCBWZXR0ZXIgW21haWx0bzpkYW5pZWxAZmZ3bGwuY2hdCj4gPiBTZW50OiBXZWRuZXNkYXksIE1h cmNoIDI3LCAyMDE5IDE6MjMgQU0KPiA+IFRvOiBTb25hbCBTYW50YW4gPHNvbmFsc0B4aWxpbngu Y29tPgo+ID4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7IGdyZWdraEBsaW51 eGZvdW5kYXRpb24ub3JnOyBDeXJpbAo+ID4gQ2hlbXBhcmF0aHkgPGN5cmlsY0B4aWxpbnguY29t PjsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgTGl6aGkgSG91Cj4gPiA8bGl6aGloQHhp bGlueC5jb20+OyBNaWNoYWwgU2ltZWsgPG1pY2hhbHNAeGlsaW54LmNvbT47IGFpcmxpZWRAcmVk aGF0LmNvbQo+ID4gU3ViamVjdDogUmU6IFtSRkMgUEFUQ0ggWGlsaW54IEFsdmVvIDAvNl0gWGls aW54IFBDSWUgYWNjZWxlcmF0b3IgZHJpdmVyCj4gPiAKPiA+IE9uIFdlZCwgTWFyIDI3LCAyMDE5 IGF0IDEyOjMwIEFNIFNvbmFsIFNhbnRhbiA8c29uYWxzQHhpbGlueC5jb20+IHdyb3RlOgo+ID4g Pgo+ID4gPgo+ID4gPgo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ID4g RnJvbTogRGFuaWVsIFZldHRlciBbbWFpbHRvOmRhbmllbC52ZXR0ZXJAZmZ3bGwuY2hdIE9uIEJl aGFsZiBPZgo+ID4gPiA+IERhbmllbCBWZXR0ZXIKPiA+ID4gPiBTZW50OiBNb25kYXksIE1hcmNo IDI1LCAyMDE5IDE6MjggUE0KPiA+ID4gPiBUbzogU29uYWwgU2FudGFuIDxzb25hbHNAeGlsaW54 LmNvbT4KPiA+ID4gPiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgZ3JlZ2to QGxpbnV4Zm91bmRhdGlvbi5vcmc7Cj4gPiA+ID4gQ3lyaWwgQ2hlbXBhcmF0aHkgPGN5cmlsY0B4 aWxpbnguY29tPjsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsKPiA+ID4gPiBMaXpoaSBI b3UgPGxpemhpaEB4aWxpbnguY29tPjsgTWljaGFsIFNpbWVrIDxtaWNoYWxzQHhpbGlueC5jb20+ Owo+ID4gPiA+IGFpcmxpZWRAcmVkaGF0LmNvbQo+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUkZDIFBB VENIIFhpbGlueCBBbHZlbyAwLzZdIFhpbGlueCBQQ0llIGFjY2VsZXJhdG9yCj4gPiA+ID4gZHJp dmVyCj4gPiA+ID4KPiA+ID4gPiBPbiBUdWUsIE1hciAxOSwgMjAxOSBhdCAwMjo1Mzo1NVBNIC0w NzAwLCBzb25hbC5zYW50YW5AeGlsaW54LmNvbQo+ID4gd3JvdGU6Cj4gPiA+ID4gPiBGcm9tOiBT b25hbCBTYW50YW4gPHNvbmFsLnNhbnRhbkB4aWxpbnguY29tPgo+ID4gPiA+ID4KPiA+ID4gPiA+ IEhlbGxvLAo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoaXMgcGF0Y2ggc2VyaWVzIGFkZHMgZHJpdmVy cyBmb3IgWGlsaW54IEFsdmVvIFBDSWUgYWNjZWxlcmF0b3IgY2FyZHMuCj4gPiA+ID4gPiBUaGVz ZSBkcml2ZXJzIGFyZSBwYXJ0IG9mIFhpbGlueCBSdW50aW1lIChYUlQpIG9wZW4gc291cmNlIHN0 YWNrCj4gPiA+ID4gPiBhbmQgaGF2ZSBiZWVuIGRlcGxveWVkIGJ5IGxlYWRpbmcgRmFhUyB2ZW5k b3JzIGFuZCBtYW55IGVudGVycHJpc2UKPiA+ID4gPiBjdXN0b21lcnMuCj4gPiA+ID4KPiA+ID4g PiBDb29sLCBmaXJzdCBmcGdhIGRyaXZlciBzdWJtaXR0ZWQgdG8gZHJtISBBbmQgZnJvbSBhIGhp Z2ggbGV2ZWwgSQo+ID4gPiA+IHRoaW5rIHRoaXMgbWFrZXMgYSBsb3Qgb2Ygc2Vuc2UuCj4gPiA+ ID4KPiA+ID4gPiA+IFBMQVRGT1JNIEFSQ0hJVEVDVFVSRQo+ID4gPiA+ID4KPiA+ID4gPiA+IEFs dmVvIFBDSWUgcGxhdGZvcm1zIGhhdmUgYSBzdGF0aWMgc2hlbGwgYW5kIGEgcmVjb25maWd1cmFi bGUKPiA+ID4gPiA+IChkeW5hbWljKSByZWdpb24uIFRoZSBzaGVsbCBpcyBhdXRvbWF0aWNhbGx5 IGxvYWRlZCBmcm9tIFBST00gd2hlbgo+ID4gPiA+ID4gaG9zdCBpcyBib290ZWQgYW5kIFBDSWUg aXMgZW51bWVyYXRlZCBieSBCSU9TLiBTaGVsbCBjYW5ub3QgYmUKPiA+ID4gPiA+IGNoYW5nZWQg dGlsbCBuZXh0IGNvbGQgcmVib290LiBUaGUgc2hlbGwgZXhwb3NlcyB0d28gcGh5c2ljYWwgZnVu Y3Rpb25zOgo+ID4gPiA+ID4gbWFuYWdlbWVudCBwaHlzaWNhbCBmdW5jdGlvbiBhbmQgdXNlciBw aHlzaWNhbCBmdW5jdGlvbi4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBVc2VycyBjb21waWxlIHRoZWly IGhpZ2ggbGV2ZWwgZGVzaWduIGluIEMvQysrL09wZW5DTCBvciBSVEwgaW50bwo+ID4gPiA+ID4g RlBHQSBpbWFnZSB1c2luZyBTRHggY29tcGlsZXIuIFRoZSBGUEdBIGltYWdlIHBhY2thZ2VkIGFz IHhjbGJpbgo+ID4gPiA+ID4gZmlsZSBjYW4gYmUgbG9hZGVkIG9udG8gcmVjb25maWd1cmFibGUg cmVnaW9uLiBUaGUgaW1hZ2UgbWF5Cj4gPiA+ID4gPiBjb250YWluIG9uZSBvciBtb3JlIGNvbXB1 dGUgdW5pdC4gVXNlcnMgY2FuIGR5bmFtaWNhbGx5IHN3YXAgdGhlCj4gPiA+ID4gPiBmdWxsIGlt YWdlIHJ1bm5pbmcgb24gdGhlIHJlY29uZmlndXJhYmxlIHJlZ2lvbiBpbiBvcmRlciB0byBzd2l0 Y2gKPiA+ID4gPiA+IGJldHdlZW4gZGlmZmVyZW50Cj4gPiA+ID4gd29ya2xvYWRzLgo+ID4gPiA+ ID4KPiA+ID4gPiA+IFhSVCBEUklWRVJTCj4gPiA+ID4gPgo+ID4gPiA+ID4gWFJUIExpbnV4IGtl cm5lbCBkcml2ZXIgeG1nbXQgYmluZHMgdG8gbWdtdCBwZi4gVGhlIGRyaXZlciBpcwo+ID4gPiA+ ID4gbW9kdWxhciBhbmQgb3JnYW5pemVkIGludG8gc2V2ZXJhbCBwbGF0Zm9ybSBkcml2ZXJzIHdo aWNoCj4gPiA+ID4gPiBwcmltYXJpbHkgaGFuZGxlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25hbGl0 eToKPiA+ID4gPiA+IDEuICBJQ0FQIHByb2dyYW1taW5nIChGUEdBIGJpdHN0cmVhbSBkb3dubG9h ZCB3aXRoIEZQR0EgTWdyCj4gPiA+ID4gPiBpbnRlZ3JhdGlvbikgMi4gIENsb2NrIHNjYWxpbmcg My4gIExvYWRpbmcgZmlybXdhcmUgY29udGFpbmVyIGFsc28KPiA+ID4gPiA+IGNhbGxlZCBkc2Fi aW4gKGVtYmVkZGVkIE1pY3JvYmxhemUKPiA+ID4gPiA+ICAgICBmaXJtd2FyZSBmb3IgRVJUIGFu ZCBYTUMsIG9wdGlvbmFsIGNsZWFyaW5nIGJpdHN0cmVhbSkgNC4KPiA+ID4gPiA+IEluLWJhbmQK PiA+ID4gPiA+IHNlbnNvcnM6IHRlbXAsIHZvbHRhZ2UsIHBvd2VyLCBldGMuCj4gPiA+ID4gPiA1 LiAgQVhJIEZpcmV3YWxsIG1hbmFnZW1lbnQKPiA+ID4gPiA+IDYuICBEZXZpY2UgcmVzZXQgYW5k IHJlc2Nhbgo+ID4gPiA+ID4gNy4gIEhhcmR3YXJlIG1haWxib3ggZm9yIGNvbW11bmljYXRpb24g YmV0d2VlbiB0d28gcGh5c2ljYWwKPiA+ID4gPiA+IGZ1bmN0aW9ucwo+ID4gPiA+ID4KPiA+ID4g PiA+IFhSVCBMaW51eCBrZXJuZWwgZHJpdmVyIHhvY2wgYmluZHMgdG8gdXNlciBwZi4gTGlrZSBp dHMgcGVlciwgdGhpcwo+ID4gPiA+ID4gZHJpdmVyIGlzIGFsc28gbW9kdWxhciBhbmQgb3JnYW5p emVkIGludG8gc2V2ZXJhbCBwbGF0Zm9ybSBkcml2ZXJzCj4gPiA+ID4gPiB3aGljaCBoYW5kbGUg dGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5Ogo+ID4gPiA+ID4gMS4gIERldmljZSBtZW1vcnkg dG9wb2xvZ3kgZGlzY292ZXJ5IGFuZCBtZW1vcnkgbWFuYWdlbWVudCAyLgo+ID4gPiA+ID4gQnVm ZmVyIG9iamVjdCBhYnN0cmFjdGlvbiBhbmQgbWFuYWdlbWVudCBmb3IgY2xpZW50IHByb2Nlc3Mg My4KPiA+ID4gPiA+IFhETUEgTU0gUENJZSBETUEgZW5naW5lIHByb2dyYW1taW5nIDQuICBNdWx0 aS1wcm9jZXNzIGF3YXJlCj4gPiBjb250ZXh0IG1hbmFnZW1lbnQgNS4KPiA+ID4gPiA+IENvbXB1 dGUgdW5pdCBleGVjdXRpb24gbWFuYWdlbWVudCAob3B0aW9uYWxseSB3aXRoIGhlbHAgb2YgRVJU KSBmb3IKPiA+ID4gPiA+ICAgICBjbGllbnQgcHJvY2Vzc2VzCj4gPiA+ID4gPiA2LiAgSGFyZHdh cmUgbWFpbGJveCBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHR3byBwaHlzaWNhbAo+ID4gPiA+ ID4gZnVuY3Rpb25zCj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhlIGRyaXZlcnMgZXhwb3J0IGlvY3Rs cyBhbmQgc3lzZnMgbm9kZXMgZm9yIHZhcmlvdXMgc2VydmljZXMuCj4gPiA+ID4gPiB4b2NsIGRy aXZlciBtYWtlcyBoZWF2eSB1c2Ugb2YgRFJNIEdFTSBmZWF0dXJlcyBmb3IgZGV2aWNlIG1lbW9y eQo+ID4gPiA+ID4gbWFuYWdlbWVudCwgcmVmZXJlbmNlIGNvdW50aW5nLCBtbWFwIHN1cHBvcnQg YW5kIGV4cG9ydC9pbXBvcnQuCj4gPiA+ID4gPiB4b2NsIGFsc28gaW5jbHVkZXMgYSBzaW1wbGUg c2NoZWR1bGVyIGNhbGxlZCBLRFMgd2hpY2ggc2NoZWR1bGVzCj4gPiA+ID4gPiBjb21wdXRlIHVu aXRzIGFuZCBpbnRlcmFjdHMgd2l0aCBoYXJkd2FyZSBzY2hlZHVsZXIgcnVubmluZyBFUlQKPiA+ ID4gPiA+IGZpcm13YXJlLiBUaGUgc2NoZWR1bGVyIHVuZGVyc3RhbmRzIGN1c3RvbSBvcGNvZGVz IHBhY2thZ2VkIGludG8KPiA+ID4gPiA+IGNvbW1hbmQgb2JqZWN0cwo+ID4gPiA+IGFuZAo+ID4g PiA+ID4gcHJvdmlkZXMgYW4gYXN5bmNocm9ub3VzIGNvbW1hbmQgZG9uZSBub3RpZmljYXRpb24g dmlhIFBPU0lYIHBvbGwuCj4gPiA+ID4gPgo+ID4gPiA+ID4gTW9yZSBkZXRhaWxzIG9uIGFyY2hp dGVjdHVyZSwgc29mdHdhcmUgQVBJcywgaW9jdGwgZGVmaW5pdGlvbnMsCj4gPiA+ID4gPiBleGVj dXRpb24gbW9kZWwsIGV0Yy4gaXMgYXZhaWxhYmxlIGFzIFNwaGlueCBkb2N1bWVudGF0aW9uLS0K PiA+ID4gPiA+Cj4gPiA+ID4gPiBodHRwczovL3hpbGlueC5naXRodWIuaW8vWFJULzIwMTguMy9o dG1sL2luZGV4Lmh0bWwKPiA+ID4gPiA+Cj4gPiA+ID4gPiBUaGUgY29tcGxldGUgcnVudGltZSBz b2Z0d2FyZSBzdGFjayAoWFJUKSB3aGljaCBpbmNsdWRlcyBvdXQgb2YKPiA+ID4gPiA+IHRyZWUg a2VybmVsIGRyaXZlcnMsIHVzZXIgc3BhY2UgbGlicmFyaWVzLCBib2FyZCB1dGlsaXRpZXMgYW5k Cj4gPiA+ID4gPiBmaXJtd2FyZSBmb3IgdGhlIGhhcmR3YXJlIHNjaGVkdWxlciBpcyBvcGVuIHNv dXJjZSBhbmQgYXZhaWxhYmxlCj4gPiA+ID4gPiBhdCBodHRwczovL2dpdGh1Yi5jb20vWGlsaW54 L1hSVAo+ID4gPiA+Cj4gPiA+ID4gQmVmb3JlIGRpZ2dpbmcgaW50byB0aGUgaW1wbGVtZW50YXRp b24gc2lkZSBtb3JlIEkgbG9va2VkIGludG8gdGhlCj4gPiA+ID4gdXNlcnNwYWNlIGhlcmUuIEkg YWRtaXQgSSBnb3QgbG9zdCBhIGJpdCwgc2luY2UgdGhlcmUncyBsb3RzIG9mCj4gPiA+ID4gaW5k aXJlY3Rpb25zIGFuZCBhYnN0cmFjdGlvbnMgZ29pbmcgb24sIGJ1dCBpdCBzZWVtcyBsaWtlIHRo aXMgaXMKPiA+ID4gPiBqdXN0IGEgZmFuY3kgaW9jdGwgd3JhcHBlci9kcml2ZXIgYmFja2VuZCBh YnN0cmFjdGlvbnMuIE5vdCByZWFsbHkKPiA+IHNvbWV0aGluZyBhcHBsaWNhdGlvbnMgd291bGQg dXNlLgo+ID4gPiBTb25hbCBTYW50YW4gPHNvbmFsc0B4aWxpbnguY29tPgo+ID4gPgo+ID4gPiA0 OjIwIFBNICgxIG1pbnV0ZSBhZ28pCj4gPiA+Cj4gPiA+IHRvIG1lCj4gPiA+Cj4gPiA+Cj4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiBGcm9tOiBEYW5pZWwgVmV0dGVy IFttYWlsdG86ZGFuaWVsLnZldHRlckBmZndsbC5jaF0gT24gQmVoYWxmIE9mCj4gPiA+ID4gRGFu aWVsIFZldHRlcgo+ID4gPiA+IFNlbnQ6IE1vbmRheSwgTWFyY2ggMjUsIDIwMTkgMToyOCBQTQo+ ID4gPiA+IFRvOiBTb25hbCBTYW50YW4gPHNvbmFsc0B4aWxpbnguY29tPgo+ID4gPiA+IENjOiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBncmVna2hAbGludXhmb3VuZGF0aW9uLm9y ZzsKPiA+ID4gPiBDeXJpbCBDaGVtcGFyYXRoeSA8Y3lyaWxjQHhpbGlueC5jb20+OyBsaW51eC1r ZXJuZWxAdmdlci5rZXJuZWwub3JnOwo+ID4gPiA+IExpemhpIEhvdSA8bGl6aGloQHhpbGlueC5j b20+OyBNaWNoYWwgU2ltZWsgPG1pY2hhbHNAeGlsaW54LmNvbT47Cj4gPiA+ID4gYWlybGllZEBy ZWRoYXQuY29tCj4gPiA+ID4gU3ViamVjdDogUmU6IFtSRkMgUEFUQ0ggWGlsaW54IEFsdmVvIDAv Nl0gWGlsaW54IFBDSWUgYWNjZWxlcmF0b3IKPiA+ID4gPiBkcml2ZXIKPiA+ID4gPgo+ID4gPiA+ IE9uIFR1ZSwgTWFyIDE5LCAyMDE5IGF0IDAyOjUzOjU1UE0gLTA3MDAsIHNvbmFsLnNhbnRhbkB4 aWxpbnguY29tCj4gPiB3cm90ZToKPiA+ID4gPiA+IEZyb206IFNvbmFsIFNhbnRhbiA8c29uYWwu c2FudGFuQHhpbGlueC5jb20+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gSGVsbG8sCj4gPiA+ID4gPgo+ ID4gPiA+ID4gVGhpcyBwYXRjaCBzZXJpZXMgYWRkcyBkcml2ZXJzIGZvciBYaWxpbnggQWx2ZW8g UENJZSBhY2NlbGVyYXRvciBjYXJkcy4KPiA+ID4gPiA+IFRoZXNlIGRyaXZlcnMgYXJlIHBhcnQg b2YgWGlsaW54IFJ1bnRpbWUgKFhSVCkgb3BlbiBzb3VyY2Ugc3RhY2sKPiA+ID4gPiA+IGFuZCBo YXZlIGJlZW4gZGVwbG95ZWQgYnkgbGVhZGluZyBGYWFTIHZlbmRvcnMgYW5kIG1hbnkgZW50ZXJw cmlzZQo+ID4gPiA+IGN1c3RvbWVycy4KPiA+ID4gPgo+ID4gPiA+IENvb2wsIGZpcnN0IGZwZ2Eg ZHJpdmVyIHN1Ym1pdHRlZCB0byBkcm0hIEFuZCBmcm9tIGEgaGlnaCBsZXZlbCBJCj4gPiA+ID4g dGhpbmsgdGhpcyBtYWtlcyBhIGxvdCBvZiBzZW5zZS4KPiA+ID4gPgo+ID4gPiA+ID4gUExBVEZP Uk0gQVJDSElURUNUVVJFCj4gPiA+ID4gPgo+ID4gPiA+ID4gQWx2ZW8gUENJZSBwbGF0Zm9ybXMg aGF2ZSBhIHN0YXRpYyBzaGVsbCBhbmQgYSByZWNvbmZpZ3VyYWJsZQo+ID4gPiA+ID4gKGR5bmFt aWMpIHJlZ2lvbi4gVGhlIHNoZWxsIGlzIGF1dG9tYXRpY2FsbHkgbG9hZGVkIGZyb20gUFJPTSB3 aGVuCj4gPiA+ID4gPiBob3N0IGlzIGJvb3RlZCBhbmQgUENJZSBpcyBlbnVtZXJhdGVkIGJ5IEJJ T1MuIFNoZWxsIGNhbm5vdCBiZQo+ID4gPiA+ID4gY2hhbmdlZCB0aWxsIG5leHQgY29sZCByZWJv b3QuIFRoZSBzaGVsbCBleHBvc2VzIHR3byBwaHlzaWNhbCBmdW5jdGlvbnM6Cj4gPiA+ID4gPiBt YW5hZ2VtZW50IHBoeXNpY2FsIGZ1bmN0aW9uIGFuZCB1c2VyIHBoeXNpY2FsIGZ1bmN0aW9uLgo+ ID4gPiA+ID4KPiA+ID4gPiA+IFVzZXJzIGNvbXBpbGUgdGhlaXIgaGlnaCBsZXZlbCBkZXNpZ24g aW4gQy9DKysvT3BlbkNMIG9yIFJUTCBpbnRvCj4gPiA+ID4gPiBGUEdBIGltYWdlIHVzaW5nIFNE eCBjb21waWxlci4gVGhlIEZQR0EgaW1hZ2UgcGFja2FnZWQgYXMgeGNsYmluCj4gPiA+ID4gPiBm aWxlIGNhbiBiZSBsb2FkZWQgb250byByZWNvbmZpZ3VyYWJsZSByZWdpb24uIFRoZSBpbWFnZSBt YXkKPiA+ID4gPiA+IGNvbnRhaW4gb25lIG9yIG1vcmUgY29tcHV0ZSB1bml0LiBVc2VycyBjYW4g ZHluYW1pY2FsbHkgc3dhcCB0aGUKPiA+ID4gPiA+IGZ1bGwgaW1hZ2UgcnVubmluZyBvbiB0aGUg cmVjb25maWd1cmFibGUgcmVnaW9uIGluIG9yZGVyIHRvIHN3aXRjaAo+ID4gPiA+ID4gYmV0d2Vl biBkaWZmZXJlbnQKPiA+ID4gPiB3b3JrbG9hZHMuCj4gPiA+ID4gPgo+ID4gPiA+ID4gWFJUIERS SVZFUlMKPiA+ID4gPiA+Cj4gPiA+ID4gPiBYUlQgTGludXgga2VybmVsIGRyaXZlciB4bWdtdCBi aW5kcyB0byBtZ210IHBmLiBUaGUgZHJpdmVyIGlzCj4gPiA+ID4gPiBtb2R1bGFyIGFuZCBvcmdh bml6ZWQgaW50byBzZXZlcmFsIHBsYXRmb3JtIGRyaXZlcnMgd2hpY2gKPiA+ID4gPiA+IHByaW1h cmlseSBoYW5kbGUgdGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsaXR5Ogo+ID4gPiA+ID4gMS4gIElD QVAgcHJvZ3JhbW1pbmcgKEZQR0EgYml0c3RyZWFtIGRvd25sb2FkIHdpdGggRlBHQSBNZ3IKPiA+ ID4gPiA+IGludGVncmF0aW9uKSAyLiAgQ2xvY2sgc2NhbGluZyAzLiAgTG9hZGluZyBmaXJtd2Fy ZSBjb250YWluZXIgYWxzbwo+ID4gPiA+ID4gY2FsbGVkIGRzYWJpbiAoZW1iZWRkZWQgTWljcm9i bGF6ZQo+ID4gPiA+ID4gICAgIGZpcm13YXJlIGZvciBFUlQgYW5kIFhNQywgb3B0aW9uYWwgY2xl YXJpbmcgYml0c3RyZWFtKSA0Lgo+ID4gPiA+ID4gSW4tYmFuZAo+ID4gPiA+ID4gc2Vuc29yczog dGVtcCwgdm9sdGFnZSwgcG93ZXIsIGV0Yy4KPiA+ID4gPiA+IDUuICBBWEkgRmlyZXdhbGwgbWFu YWdlbWVudAo+ID4gPiA+ID4gNi4gIERldmljZSByZXNldCBhbmQgcmVzY2FuCj4gPiA+ID4gPiA3 LiAgSGFyZHdhcmUgbWFpbGJveCBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHR3byBwaHlzaWNh bAo+ID4gPiA+ID4gZnVuY3Rpb25zCj4gPiA+ID4gPgo+ID4gPiA+ID4gWFJUIExpbnV4IGtlcm5l bCBkcml2ZXIgeG9jbCBiaW5kcyB0byB1c2VyIHBmLiBMaWtlIGl0cyBwZWVyLCB0aGlzCj4gPiA+ ID4gPiBkcml2ZXIgaXMgYWxzbyBtb2R1bGFyIGFuZCBvcmdhbml6ZWQgaW50byBzZXZlcmFsIHBs YXRmb3JtIGRyaXZlcnMKPiA+ID4gPiA+IHdoaWNoIGhhbmRsZSB0aGUgZm9sbG93aW5nIGZ1bmN0 aW9uYWxpdHk6Cj4gPiA+ID4gPiAxLiAgRGV2aWNlIG1lbW9yeSB0b3BvbG9neSBkaXNjb3Zlcnkg YW5kIG1lbW9yeSBtYW5hZ2VtZW50IDIuCj4gPiA+ID4gPiBCdWZmZXIgb2JqZWN0IGFic3RyYWN0 aW9uIGFuZCBtYW5hZ2VtZW50IGZvciBjbGllbnQgcHJvY2VzcyAzLgo+ID4gPiA+ID4gWERNQSBN TSBQQ0llIERNQSBlbmdpbmUgcHJvZ3JhbW1pbmcgNC4gIE11bHRpLXByb2Nlc3MgYXdhcmUKPiA+ IGNvbnRleHQgbWFuYWdlbWVudCA1Lgo+ID4gPiA+ID4gQ29tcHV0ZSB1bml0IGV4ZWN1dGlvbiBt YW5hZ2VtZW50IChvcHRpb25hbGx5IHdpdGggaGVscCBvZiBFUlQpIGZvcgo+ID4gPiA+ID4gICAg IGNsaWVudCBwcm9jZXNzZXMKPiA+ID4gPiA+IDYuICBIYXJkd2FyZSBtYWlsYm94IGZvciBjb21t dW5pY2F0aW9uIGJldHdlZW4gdHdvIHBoeXNpY2FsCj4gPiA+ID4gPiBmdW5jdGlvbnMKPiA+ID4g PiA+Cj4gPiA+ID4gPiBUaGUgZHJpdmVycyBleHBvcnQgaW9jdGxzIGFuZCBzeXNmcyBub2RlcyBm b3IgdmFyaW91cyBzZXJ2aWNlcy4KPiA+ID4gPiA+IHhvY2wgZHJpdmVyIG1ha2VzIGhlYXZ5IHVz ZSBvZiBEUk0gR0VNIGZlYXR1cmVzIGZvciBkZXZpY2UgbWVtb3J5Cj4gPiA+ID4gPiBtYW5hZ2Vt ZW50LCByZWZlcmVuY2UgY291bnRpbmcsIG1tYXAgc3VwcG9ydCBhbmQgZXhwb3J0L2ltcG9ydC4K PiA+ID4gPiA+IHhvY2wgYWxzbyBpbmNsdWRlcyBhIHNpbXBsZSBzY2hlZHVsZXIgY2FsbGVkIEtE UyB3aGljaCBzY2hlZHVsZXMKPiA+ID4gPiA+IGNvbXB1dGUgdW5pdHMgYW5kIGludGVyYWN0cyB3 aXRoIGhhcmR3YXJlIHNjaGVkdWxlciBydW5uaW5nIEVSVAo+ID4gPiA+ID4gZmlybXdhcmUuIFRo ZSBzY2hlZHVsZXIgdW5kZXJzdGFuZHMgY3VzdG9tIG9wY29kZXMgcGFja2FnZWQgaW50bwo+ID4g PiA+ID4gY29tbWFuZCBvYmplY3RzCj4gPiA+ID4gYW5kCj4gPiA+ID4gPiBwcm92aWRlcyBhbiBh c3luY2hyb25vdXMgY29tbWFuZCBkb25lIG5vdGlmaWNhdGlvbiB2aWEgUE9TSVggcG9sbC4KPiA+ ID4gPiA+Cj4gPiA+ID4gPiBNb3JlIGRldGFpbHMgb24gYXJjaGl0ZWN0dXJlLCBzb2Z0d2FyZSBB UElzLCBpb2N0bCBkZWZpbml0aW9ucywKPiA+ID4gPiA+IGV4ZWN1dGlvbiBtb2RlbCwgZXRjLiBp cyBhdmFpbGFibGUgYXMgU3BoaW54IGRvY3VtZW50YXRpb24tLQo+ID4gPiA+ID4KPiA+ID4gPiA+ IGh0dHBzOi8veGlsaW54LmdpdGh1Yi5pby9YUlQvMjAxOC4zL2h0bWwvaW5kZXguaHRtbAo+ID4g PiA+ID4KPiA+ID4gPiA+IFRoZSBjb21wbGV0ZSBydW50aW1lIHNvZnR3YXJlIHN0YWNrIChYUlQp IHdoaWNoIGluY2x1ZGVzIG91dCBvZgo+ID4gPiA+ID4gdHJlZSBrZXJuZWwgZHJpdmVycywgdXNl ciBzcGFjZSBsaWJyYXJpZXMsIGJvYXJkIHV0aWxpdGllcyBhbmQKPiA+ID4gPiA+IGZpcm13YXJl IGZvciB0aGUgaGFyZHdhcmUgc2NoZWR1bGVyIGlzIG9wZW4gc291cmNlIGFuZCBhdmFpbGFibGUK PiA+ID4gPiA+IGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9YaWxpbngvWFJUCj4gPiA+ID4KPiA+ID4g PiBCZWZvcmUgZGlnZ2luZyBpbnRvIHRoZSBpbXBsZW1lbnRhdGlvbiBzaWRlIG1vcmUgSSBsb29r ZWQgaW50byB0aGUKPiA+ID4gPiB1c2Vyc3BhY2UgaGVyZS4gSSBhZG1pdCBJIGdvdCBsb3N0IGEg Yml0LCBzaW5jZSB0aGVyZSdzIGxvdHMgb2YKPiA+ID4gPiBpbmRpcmVjdGlvbnMgYW5kIGFic3Ry YWN0aW9ucyBnb2luZyBvbiwgYnV0IGl0IHNlZW1zIGxpa2UgdGhpcyBpcwo+ID4gPiA+IGp1c3Qg YSBmYW5jeSBpb2N0bCB3cmFwcGVyL2RyaXZlciBiYWNrZW5kIGFic3RyYWN0aW9ucy4gTm90IHJl YWxseQo+ID4gc29tZXRoaW5nIGFwcGxpY2F0aW9ucyB3b3VsZCB1c2UuCj4gPiA+ID4KPiA+ID4K PiA+ID4gQXBwcmVjaWF0ZSB5b3VyIGZlZWRiYWNrLgo+ID4gPgo+ID4gPiBUaGUgdXNlcnNwYWNl IGxpYnJhcmllcyBkZWZpbmUgYSBjb21tb24gYWJzdHJhY3Rpb24gYnV0IGhhdmUgZGlmZmVyZW50 Cj4gPiA+IGltcGxlbWVudGF0aW9ucyBmb3IgWnlucSBVbHRyYXNjYWxlKyBlbWJlZGRlZCBwbGF0 Zm9ybSwgUENJZSBiYXNlZAo+ID4gPiBBbHZlbyAoYW5kIEZhYXMpIGFuZCBlbXVsYXRpb24gZmxv d3MuIFRoZSBsYXR0ZXIgbGV0cyB5b3UgcnVuIHlvdXIKPiA+IGFwcGxpY2F0aW9uIHdpdGhvdXQg cGh5c2ljYWwgaGFyZHdhcmUuCj4gPiA+Cj4gPiA+ID4KPiA+ID4gPiBGcm9tIHRoZSBwcmV0dHkg cGljdHVyZSBvbiBnaXRodWIgaXQgbG9va3MgbGlrZSB0aGVyZSdzIHNvbWUKPiA+ID4gPiBvcGVu Y2wvbWwvb3RoZXIgZmFuY3kgc3R1ZmYgc2l0dGluZyBvbiB0b3AgdGhhdCBhcHBsaWNhdGlvbnMg d291bGQgdXNlLiBJcwo+ID4gdGhhdCBhbHNvIGF2YWlsYWJsZT8KPiA+ID4KPiA+ID4gVGhlIGZ1 bGwgT3BlbkNMIHJ1bnRpbWUgaXMgYXZhaWxhYmxlIGluIHRoZSBzYW1lIHJlcG9zaXRvcnkuIFhp bGlueCBNTAo+ID4gPiBTdWl0ZSBpcyBhbHNvIGJhc2VkIG9uIFhSVCBhbmQgaXRzIHNvdXJjZSBj YW4gYmUgZm91bmQgYXQKPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS9YaWxpbngvbWwtc3VpdGUuCj4g PiAKPiA+IEhtLCBJIGRpZCBhIGZldyBnaXQgZ3JlcCBmb3IgdGhlIHVzdWFsIG9wZW5jbCBlbnRy eSBwb2ludHMsIGJ1dCBkaWRuJ3QgZmluZAo+ID4gYW55dGhpbmcuIERvIEkgbmVlZCB0byBydW4g c29tZSBidWlsZCBzY3JpcHRzIGZpcnN0ICh3aGljaCBkb3dubG9hZHMKPiA+IGFkZGl0aW9uYWwg c291cmNlY29kZSk/IE9yIGlzIHRoZXJlIHNvbWUgc3ltYm9sIG1hbmdsaW5nIGdvaW5nIG9uIGFu ZCB0aGF0J3MKPiA+IHdoeSBJIGRvbid0IGZpbmQgYW55dGhpbmc/IFBvaW50ZXJzIHZlcnkgbXVj aCBhcHByZWNpYXRlZC4KPiAKPiBUaGUgYnVsayBvZiB0aGUgT0NMIHJ1bnRpbWUgY29kZSBjYW4g YmUgZm91bmQgaW5zaWRlIAo+IGh0dHBzOi8vZ2l0aHViLmNvbS9YaWxpbngvWFJUL3RyZWUvbWFz dGVyL3NyYy9ydW50aW1lX3NyYy94b2NsLiAKPiBUaGUgT0NMIHJ1bnRpbWUgYWxzbyBpbmNsdWRl cyBodHRwczovL2dpdGh1Yi5jb20vWGlsaW54L1hSVC90cmVlL21hc3Rlci9zcmMvcnVudGltZV9z cmMveHJ0Lgo+IFRoZSBPQ0wgcnVudGltZSBsaWJyYXJ5IGNhbGxlZCBsaWJ4aWxpbnhvcGVuY2wu c28gaW4gdHVybiB0aGVuIHVzZXMgWFJUIEFQSXMgdG8gdGFsayB0byB0aGUgZHJpdmVycy4gCj4g Rm9yIFBDSWUgdGhlc2UgWFJUIEFQSXMgYXJlIGltcGxlbWVudGVkIGluIHRoZSBsaWJyYXJ5IGxp YnhydF9jb3JlLnNvIHRoZSBzb3VyY2UgZm9yIHdoaWNoIGlzCj4gaHR0cHM6Ly9naXRodWIuY29t L1hpbGlueC9YUlQvdHJlZS9tYXN0ZXIvc3JjL3J1bnRpbWVfc3JjL2RyaXZlci94Y2xuZy94cnQu Cj4gCj4gWW91IGNhbiBidWlsZCBhIGZ1bGx5IGZ1bmN0aW9uaW5nIHJ1bnRpbWUgc3RhY2sgYnkg Zm9sbG93aW5nIHZlcnkgc2ltcGxlIGJ1aWxkIGluc3RydWN0aW9ucy0tCj4gaHR0cHM6Ly94aWxp bnguZ2l0aHViLmlvL1hSVC9tYXN0ZXIvaHRtbC9idWlsZC5odG1sCj4gCj4gV2UgZG8gaGF2ZSBh IGZldyBkZXBlbmRlbmNpZXMgb24gc3RhbmRhcmQgTGludXggcGFja2FnZXMgaW5jbHVkaW5nIGEg ZmV3IE9wZW5DTCBwYWNrYWdlcyAKPiBidW5kbGVkIGJ5IExpbnV4IGRpc3Ryb3M6IG9jbC1pY2Qs IG9jbC1pY2QtZGV2ZWwgYW5kIG9wZW5jbC1oZWFkZXJzCgpUaGFua3MgYSBsb3QgZm9yIHBvaW50 ZXJzLiBObyBpZGVhIHdoeSBJIGRpZG4ndCBmaW5kIHRoaXMgc3R1ZmYsIEkgZ3Vlc3MgSQp3YXMg YmxpbmQuCgpUaGUgdGhpbmcgSSdtIHJlYWxseSBpbnRlcmVzdGVkIGluIGlzIHRoZSBjb21waWxl ciwgc2luY2UgYXQgbGVhc3QgdGhlCmV4cGVyaWVuY2UgZnJvbSBncHVzIHNheXMgdGhhdCB2ZXJ5 IG11Y2ggaXMgcGFydCBvZiB0aGUgb3ZlcmFsbCB1YXBpLCBhbmQKZGVmaW5pdGVseSBuZWVkZWQg dG8gYmUgYWJsZSB0byBtYWtlIGFueSBjaGFuY2VzIHRvIHRoZSBpbXBsZW1lbnRhdGlvbi4KTG9v a2luZyBhdCBjbENyZWF0ZVByb2dyYW1XaXRoU291cmNlIHRoZXJlJ3Mgb25seSBhIGxvb2t1cCB1 cCBjYWNoZWQKY29tcGlsZXMgKGl0IGxvb2tzIGZvciB4Y2xiaW4pLCBhbmQgc3JjL3J1bnRpbWVf c3JjL3hjbGJpbiBkb2Vzbid0IGxvb2sKbGlrZSB0aGF0IHByb3ZpZGVzIGEgY29tcGlsZXIgZWl0 aGVyLiBJdCBzZWVtcyBsaWtlIGFwcHMgbmVlZCB0bwpwcmVjb21waWxlIGV2ZXJ5dGhpbmcgZmly c3QuIEFtIEkgYWdhaW4gbWlzc2luZyBzb21ldGhpbmcsIG9yIGlzIHRoaXMgaG93Cml0J3Mgc3Vw cG9zZWQgdG8gd29yaz8KCk5vdGU6IFRoZXJlJ3Mgbm8gZXhwZWN0YXRpb24gZm9yIHRoZSBmdWxs eSBvcHRpbWl6aW5nIGNvbXBpbGVyLCBhbmQgd2UncmUKdG90YWxseSBvayBpZiB0aGVyZSdzIGFu IG9wdGltaXppbmcgcHJvcHJpZXRhcnkgY29tcGlsZXIgYW5kIGEgYmFzaWMgb3BlbgpvbmUgKGFt ZCwgYW5kIGJ1bmNoIG9mIG90aGVyIGNvbXBhbmllcyBhbGwgaGF2ZSBzdWNoIGR1YWwgc3RhY2tz IHJ1bm5pbmcKb24gdG9wIG9mIGRybSBrZXJuZWwgZHJpdmVycykuIEJ1dCBhIGJhc2ljIGNvbXBp bGVyIHRoYXQgY2FuIGNvbnZlcnQgYmFzaWMKa2VybmVscyBpbnRvIG1hY2hpbmUgY29kZSBpcyBl eHBlY3RlZC4KClRoYW5rcywgRGFuaWVsCgo+IAo+IFRoYW5rcywKPiAtU29uYWwKPiAKPiA+IAo+ ID4gPiBUeXBpY2FsbHkgZW5kIHVzZXJzIHVzZSBPcGVuQ0wgQVBJcyB3aGljaCBhcmUgcGFydCBv ZiBYUlQgc3RhY2suIE9uZQo+ID4gPiBjYW4gd3JpdGUgYW4gYXBwbGljYXRpb24gdG8gZGlyZWN0 bHkgY2FsbCBYUlQgQVBJcyBkZWZpbmVkIGF0Cj4gPiA+IGh0dHBzOi8veGlsaW54LmdpdGh1Yi5p by9YUlQvMjAxOC4zL2h0bWwveGNsaGFsMi5tYWluLmh0bWwKPiA+IAo+ID4gSSBoYXZlIG5vIGNs dWUgYWJvdXQgRE5OL01MIHVuZm9ydHVuYXRlbHksIEkgdGhpbmsgSSdsbCB0cnkgdG8gbG9vayBp bnRvIHRoZSBvY2wKPiA+IHNpZGUgYSBiaXQgbW9yZSBmaXJzdC4KPiA+IAo+ID4gVGhhbmtzLCBE YW5pZWwKPiA+IAo+ID4gPgo+ID4gPiBUaGFua3MsCj4gPiA+IC1Tb25hbAo+ID4gPiA+Cj4gPiA+ ID4gVGhhbmtzLCBEYW5pZWwKPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoYW5rcywKPiA+ ID4gPiA+IC1Tb25hbAo+ID4gPiA+ID4KPiA+ID4gPiA+IFNvbmFsIFNhbnRhbiAoNik6Cj4gPiA+ ID4gPiAgIEFkZCBza2VsZXRvbiBjb2RlOiBpb2N0bCBkZWZpbml0aW9ucyBhbmQgYnVpbGQgaG9v a3MKPiA+ID4gPiA+ICAgR2xvYmFsIGRhdGEgc3RydWN0dXJlcyBzaGFyZWQgYmV0d2VlbiB4b2Ns IGFuZCB4bWdtdCBkcml2ZXJzCj4gPiA+ID4gPiAgIEFkZCBwbGF0Zm9ybSBkcml2ZXJzIGZvciB2 YXJpb3VzIElQcyBhbmQgZnJhbWV3b3Jrcwo+ID4gPiA+ID4gICBBZGQgY29yZSBvZiBYRE1BIGRy aXZlcgo+ID4gPiA+ID4gICBBZGQgbWFuYWdlbWVudCBkcml2ZXIKPiA+ID4gPiA+ICAgQWRkIHVz ZXIgcGh5c2ljYWwgZnVuY3Rpb24gZHJpdmVyCj4gPiA+ID4gPgo+ID4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS9LY29uZmlnICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwo+ID4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+ID4gPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL0tjb25maWcgICAgICAgICAgICAgICB8ICAgMjIgKwo+ ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL01ha2VmaWxlICAgICAgICAgICAgICB8ICAg IDMgKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL2RldmljZXMuaCAgICAgICAgICAg ICB8ICA5NTQgKysrKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC9lcnQuaCAgICAg ICAgICAgICAgICAgfCAgMzg1ICsrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvbGli L01ha2VmaWxlLmluICAgICAgIHwgICAxNiArCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hv Y2wvbGliL2NkZXZfc2dkbWEuaCAgICAgIHwgICA2MyArCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUv ZHJtL3hvY2wvbGliL2xpYnhkbWEuYyAgICAgICAgIHwgNDM2OCArKysrKysrKysrKysrKysrKysr Kwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL2xpYi9saWJ4ZG1hLmggICAgICAgICB8 ICA1OTYgKysrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvbGliL2xpYnhkbWFfYXBp LmggICAgIHwgIDEyNyArCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvbWdtdHBmL01h a2VmaWxlICAgICAgIHwgICAyOSArCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvbWdt dHBmL21nbXQtY29yZS5jICAgIHwgIDk2MCArKysrKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS94b2NsL21nbXRwZi9tZ210LWNvcmUuaCAgICB8ICAxNDcgKwo+ID4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS94b2NsL21nbXRwZi9tZ210LWN3LmMgICAgICB8ICAgMzAgKwo+ID4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS94b2NsL21nbXRwZi9tZ210LWlvY3RsLmMgICB8ICAxNDggKwo+ID4gPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL21nbXRwZi9tZ210LXJlZy5oICAgICB8ICAyNDQgKysK PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC9tZ210cGYvbWdtdC1zeXNmcy5jICAgfCAg MzE4ICsrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvbWdtdHBmL21nbXQtdXRpbHMu YyAgIHwgIDM5OSArKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL3N1YmRldi9kbmEu YyAgICAgICAgICB8ICAzNTYgKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC9zdWJk ZXYvZmVhdHVyZV9yb20uYyAgfCAgNDEyICsrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hv Y2wvc3ViZGV2L2ZpcmV3YWxsLmMgICAgIHwgIDM4OSArKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS94b2NsL3N1YmRldi9mbWdyLmMgICAgICAgICB8ICAxOTggKwo+ID4gPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS94b2NsL3N1YmRldi9pY2FwLmMgICAgICAgICB8IDI4NTkgKysrKysrKysrKysr Kwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL3N1YmRldi9tYWlsYm94LmMgICAgICB8 IDE4NjggKysrKysrKysrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2L21i X3NjaGVkdWxlci5jIHwgMzA1OSArKysrKysrKysrKysrKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS94b2NsL3N1YmRldi9taWNyb2JsYXplLmMgICB8ICA3MjIgKysrKwo+ID4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS94b2NsL3N1YmRldi9taWcuYyAgICAgICAgICB8ICAyNTYgKysKPiA+ID4g PiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC9zdWJkZXYvc3lzbW9uLmMgICAgICAgfCAgMzg1ICsr Cj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2L3hkbWEuYyAgICAgICAgIHwg IDUxMCArKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC9zdWJkZXYveG1jLmMgICAg ICAgICAgfCAxNDgwICsrKysrKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC9zdWJk ZXYveHZjLmMgICAgICAgICAgfCAgNDYxICsrKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94 b2NsL3VzZXJwZi9NYWtlZmlsZSAgICAgICB8ICAgMjcgKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS94b2NsL3VzZXJwZi9jb21tb24uaCAgICAgICB8ICAxNTcgKwo+ID4gPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS94b2NsL3VzZXJwZi94b2NsX2JvLmMgICAgICB8IDEyNTUgKysrKysrCj4gPiA+ ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvdXNlcnBmL3hvY2xfYm8uaCAgICAgIHwgIDExOSAr Cj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wvdXNlcnBmL3hvY2xfZHJtLmMgICAgIHwg IDY0MCArKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC91c2VycGYveG9jbF9kcnYu YyAgICAgfCAgNzQzICsrKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC91c2VycGYv eG9jbF9pb2N0bC5jICAgfCAgMzk2ICsrCj4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL3hvY2wv dXNlcnBmL3hvY2xfc3lzZnMuYyAgIHwgIDM0NCArKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS94b2NsL3ZlcnNpb24uaCAgICAgICAgICAgICB8ICAgMjIgKwo+ID4gPiA+ID4gIGRyaXZlcnMv Z3B1L2RybS94b2NsL3hjbGJpbi5oICAgICAgICAgICAgICB8ICAzMTQgKysKPiA+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0veG9jbC94Y2xmZWF0dXJlcy5oICAgICAgICAgfCAgMTA3ICsKPiA+ID4g PiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC94b2NsX2N0eC5jICAgICAgICAgICAgfCAgMTk2ICsK PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC94b2NsX2RybS5oICAgICAgICAgICAgfCAg IDkxICsKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC94b2NsX2Rydi5oICAgICAgICAg ICAgfCAgNzgzICsrKysKPiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0veG9jbC94b2NsX3N1YmRl di5jICAgICAgICAgfCAgNTQwICsrKwo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS94b2NsL3hv Y2xfdGhyZWFkLmMgICAgICAgICB8ICAgNjQgKwo+ID4gPiA+ID4gIGluY2x1ZGUvdWFwaS9kcm0v eG1nbXRfZHJtLmggICAgICAgICAgICAgICB8ICAyMDQgKwo+ID4gPiA+ID4gIGluY2x1ZGUvdWFw aS9kcm0veG9jbF9kcm0uaCAgICAgICAgICAgICAgICB8ICA0ODMgKysrCj4gPiA+ID4gPiAgNTAg ZmlsZXMgY2hhbmdlZCwgMjgyNTIgaW5zZXJ0aW9ucygrKSAgY3JlYXRlIG1vZGUgMTAwNjQ0Cj4g PiA+ID4gPiBkcml2ZXJzL2dwdS9kcm0veG9jbC9LY29uZmlnICBjcmVhdGUgbW9kZSAxMDA2NDQK PiA+ID4gPiA+IGRyaXZlcnMvZ3B1L2RybS94b2NsL01ha2VmaWxlICBjcmVhdGUgbW9kZSAxMDA2 NDQKPiA+ID4gPiA+IGRyaXZlcnMvZ3B1L2RybS94b2NsL2RldmljZXMuaCAgY3JlYXRlIG1vZGUg MTAwNjQ0Cj4gPiA+ID4gPiBkcml2ZXJzL2dwdS9kcm0veG9jbC9lcnQuaCAgY3JlYXRlIG1vZGUg MTAwNjQ0Cj4gPiA+ID4gPiBkcml2ZXJzL2dwdS9kcm0veG9jbC9saWIvTWFrZWZpbGUuaW4KPiA+ ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvbGliL2NkZXZf c2dkbWEuaAo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0veG9j bC9saWIvbGlieGRtYS5jCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS94b2NsL2xpYi9saWJ4ZG1hLmgKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL3hvY2wvbGliL2xpYnhkbWFfYXBpLmgKPiA+ID4gPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvbWdtdHBmL01ha2VmaWxlCj4gPiA+ID4gPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2NsL21nbXRwZi9tZ210LWNvcmUu Ywo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0veG9jbC9tZ210 cGYvbWdtdC1jb3JlLmgKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUv ZHJtL3hvY2wvbWdtdHBmL21nbXQtY3cuYwo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0veG9jbC9tZ210cGYvbWdtdC1pb2N0bC5jCj4gPiA+ID4gPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2NsL21nbXRwZi9tZ210LXJlZy5oCj4gPiA+ ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2NsL21nbXRwZi9tZ210 LXN5c2ZzLmMKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hv Y2wvbWdtdHBmL21nbXQtdXRpbHMuYwo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0veG9jbC9zdWJkZXYvZG5hLmMgIGNyZWF0ZSBtb2RlCj4gPiA+ID4gPiAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2L2ZlYXR1cmVfcm9tLmMKPiA+ID4gPiA+ICBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2L2ZpcmV3YWxsLmMK PiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2 L2ZtZ3IuYwo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0veG9j bC9zdWJkZXYvaWNhcC5jCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS94b2NsL3N1YmRldi9tYWlsYm94LmMKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQg ZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2L21iX3NjaGVkdWxlci5jCj4gPiA+ID4gPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2NsL3N1YmRldi9taWNyb2JsYXplLmMK PiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvc3ViZGV2 L21pZy5jICBjcmVhdGUgbW9kZQo+ID4gPiA+ID4gMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2Ns L3N1YmRldi9zeXNtb24uYwo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0veG9jbC9zdWJkZXYveGRtYS5jCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvZ3B1L2RybS94b2NsL3N1YmRldi94bWMuYyAgY3JlYXRlIG1vZGUKPiA+ID4gPiA+IDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0veG9jbC9zdWJkZXYveHZjLmMgIGNyZWF0ZSBtb2RlIDEwMDY0 NAo+ID4gPiA+ID4gZHJpdmVycy9ncHUvZHJtL3hvY2wvdXNlcnBmL01ha2VmaWxlCj4gPiA+ID4g PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2NsL3VzZXJwZi9jb21tb24u aAo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0veG9jbC91c2Vy cGYveG9jbF9iby5jCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS94b2NsL3VzZXJwZi94b2NsX2JvLmgKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL3hvY2wvdXNlcnBmL3hvY2xfZHJtLmMKPiA+ID4gPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvdXNlcnBmL3hvY2xfZHJ2LmMKPiA+ID4gPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wvdXNlcnBmL3hvY2xfaW9j dGwuYwo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0veG9jbC91 c2VycGYveG9jbF9zeXNmcy5jCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv Z3B1L2RybS94b2NsL3ZlcnNpb24uaCAgY3JlYXRlIG1vZGUKPiA+ID4gPiA+IDEwMDY0NCBkcml2 ZXJzL2dwdS9kcm0veG9jbC94Y2xiaW4uaCAgY3JlYXRlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gPiBk cml2ZXJzL2dwdS9kcm0veG9jbC94Y2xmZWF0dXJlcy5oCj4gPiA+ID4gPiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS94b2NsL3hvY2xfY3R4LmMgIGNyZWF0ZSBtb2RlCj4gPiA+ ID4gPiAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wveG9jbF9kcm0uaCAgY3JlYXRlIG1vZGUg MTAwNjQ0Cj4gPiA+ID4gPiBkcml2ZXJzL2dwdS9kcm0veG9jbC94b2NsX2Rydi5oICBjcmVhdGUg bW9kZSAxMDA2NDQKPiA+ID4gPiA+IGRyaXZlcnMvZ3B1L2RybS94b2NsL3hvY2xfc3ViZGV2LmMK PiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3hvY2wveG9jbF90 aHJlYWQuYwo+ID4gPiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL3VhcGkvZHJtL3ht Z210X2RybS5oICBjcmVhdGUgbW9kZQo+ID4gPiA+ID4gMTAwNjQ0IGluY2x1ZGUvdWFwaS9kcm0v eG9jbF9kcm0uaAo+ID4gPiA+ID4KPiA+ID4gPiA+IC0tCj4gPiA+ID4gPiAyLjE3LjAKPiA+ID4g PiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ ID4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiBkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4gPiA+Cj4gPiA+ID4gLS0KPiA+ID4gPiBEYW5pZWwg VmV0dGVyCj4gPiA+ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uIGh0dHA6 Ly9ibG9nLmZmd2xsLmNoCj4gPiAKPiA+IAo+ID4gCj4gPiAtLQo+ID4gRGFuaWVsIFZldHRlcgo+ ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiArNDEgKDApIDc5IDM2 NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2Fy ZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs