From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753447AbbBMQ1y (ORCPT ); Fri, 13 Feb 2015 11:27:54 -0500 Received: from mail-lb0-f174.google.com ([209.85.217.174]:35141 "EHLO mail-lb0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752878AbbBMQ1x (ORCPT ); Fri, 13 Feb 2015 11:27:53 -0500 MIME-Version: 1.0 Date: Fri, 13 Feb 2015 09:27:51 -0700 Message-ID: Subject: Re: [PATCH 0/4] HID: Improve handling of multimode Logitech handling wheels From: Simon Wood To: Simon Wood , =?UTF-8?B?TWljaGFsIE1hbMODwr0=?= Cc: jkosina@suse.cz, linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, elias.vds@gmail.com Content-Type: multipart/mixed; boundary=089e0115fe14c5c37f050efab766 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --089e0115fe14c5c37f050efab766 Content-Type: text/plain; charset=UTF-8 Hi all, I tested this with a DFP, G27 and WiiWheell was looking good, but then I found a small bug. It seems that the requested mode is case sensitive. 'G25' works, but 'g25' is seen as a request for a 'DF-GT' and causes and error. Sorry I didn't see this earlier. I'd be happy to apply and fix later, but I suspect Jiri will say fix it first. Simon PS. Resent via Gmail as my hosting is having issues. On Fri, 6 Feb 2015 10:27:21 -0700, simon@mungewell.org wrote: > > This patch series improves handling of various Logitech gaming wheels and > > allows switching between various compatibility modes which might be useful > > to improve compatibility with very old games and testing purposes. > > Hi all, > We should note that part 1 performs a very important function of identify > the wheels as per Logitech's schema. > > At present our (old detection) uses USB Revision to identify 'fancy' > wheels which can be placed into native mode. This means when Logitech > updates the hardware we are playing catch-up (this has happened 3 times > with the DF-GT wheel so far). > > This newer code should automatically cope with new wheels in the future. > > > Thanks to Michal for undertaking this work. I have been testing the code > over the past weeks and believe it to be working, I will confirm mid-next > week when I can gain access to my wheels. > > Simon --089e0115fe14c5c37f050efab766 Content-Type: text/plain; charset=us-ascii; name="modeswitch_v1_fail.txt" Content-Disposition: attachment; filename="modeswitch_v1_fail.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: 876ff6a06b40bfa4_0.1 DQpHb3QgdGhpcyB3aGlsZSB0ZXN0aW5nLi4uLg0KLS0NCkZlYiAxMiAxOTo1MjowMCBiaWdib3gg a2VybmVsOiBbICA5NjYuMDQ0MDIyXSB1c2IgOC0yOiBuZXcgZnVsbC1zcGVlZCBVU0IgZGV2aWNl IG51bWJlciAxNiB1c2luZyB1aGNpX2hjZA0KRmViIDEyIDE5OjUyOjAwIGJpZ2JveCBrZXJuZWw6 IFsgIDk2Ni4yMTUwMzFdIHVzYiA4LTI6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0w NDZkLCBpZFByb2R1Y3Q9YzI5OA0KRmViIDEyIDE5OjUyOjAwIGJpZ2JveCBrZXJuZWw6IFsgIDk2 Ni4yMTUwMzVdIHVzYiA4LTI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0wLCBQcm9kdWN0 PTIsIFNlcmlhbE51bWJlcj0wDQpGZWIgMTIgMTk6NTI6MDAgYmlnYm94IGtlcm5lbDogWyAgOTY2 LjIxNTAzOF0gdXNiIDgtMjogUHJvZHVjdDogRzI3IFJhY2luZyBXaGVlbA0KRmViIDEyIDE5OjUy OjAwIGJpZ2JveCBrZXJuZWw6IFsgIDk2Ni4yMTgwODFdIGRyaXZlcnMvaGlkL3VzYmhpZC9oaWQt Y29yZS5jOiBISUQgcHJvYmUgY2FsbGVkIGZvciBpZm51bSAwDQpGZWIgMTIgMTk6NTI6MDAgYmln Ym94IGtlcm5lbDogWyAgOTY2LjIyNTA4NF0gbG9naXRlY2ggMDAwMzowNDZEOkMyOTguMDAxMjog Zml4aW5nIHVwIExvZ2l0ZWNoIERyaXZpbmcgRm9yY2UgUHJvIHJlcG9ydCBkZXNjcmkNCnB0b3IN CkZlYiAxMiAxOTo1MjowMCBiaWdib3gga2VybmVsOiBbICA5NjYuMjI1NTQ1XSBpbnB1dDogRzI3 IFJhY2luZyBXaGVlbCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MWQuMy91c2I4Lzgt Mi84LTI6MS4wLzAwMA0KMzowNDZEOkMyOTguMDAxMi9pbnB1dC9pbnB1dDI0DQpGZWIgMTIgMTk6 NTI6MDAgYmlnYm94IG10cC1wcm9iZTogY2hlY2tpbmcgYnVzIDgsIGRldmljZSAxNjogIi9zeXMv ZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MWQuMy91c2I4LzgtMiINCkZlYiAxMiAxOTo1Mjow MCBiaWdib3ggbXRwLXByb2JlOiBidXM6IDgsIGRldmljZTogMTYgd2FzIG5vdCBhbiBNVFAgZGV2 aWNlDQpGZWIgMTIgMTk6NTI6MDAgYmlnYm94IGtlcm5lbDogWyAgOTY2LjI4MDE1MF0gbG9naXRl Y2ggMDAwMzowNDZEOkMyOTguMDAxMjogaW5wdXQsaGlkcmF3MjogVVNCIEhJRCB2MS4wMCBKb3lz dGljayBbRzI3IFJhY2luZyANCldoZWVsXSBvbiB1c2ItMDAwMDowMDoxZC4zLTIvaW5wdXQwDQpG ZWIgMTIgMTk6NTI6MDAgYmlnYm94IGtlcm5lbDogWyAgOTY2LjI4MDE1NV0gZHJpdmVycy9oaWQv aGlkLWxnNGZmLmM6IEZvdW5kIHdoZWVsIHdpdGggcmVhbCBQSUQgQzI5QiB3aG9zZSByZXBvcnRl ZCBQSUQgaXMgQzINCjk4DQpGZWIgMTIgMTk6NTI6MDAgYmlnYm94IGtlcm5lbDogWyAgOTY2LjI4 MDE1OF0gZHJpdmVycy9oaWQvaGlkLWxnNGZmLmM6IEZvdW5kIGNvbXBhdGlibGUgZGV2aWNlLCBw cm9kdWN0IElEIEMyOTgNCkZlYiAxMiAxOTo1MjowMCBiaWdib3gga2VybmVsOiBbICA5NjYuMjgw MTY2XSBkcml2ZXJzL2hpZC91c2JoaWQvaGlkLWNvcmUuYzogc3VibWl0dGluZyBvdXQgdXJiDQpG ZWIgMTIgMTk6NTI6MDAgYmlnYm94IGtlcm5lbDogWyAgOTY2LjI4MDE3NF0gZHJpdmVycy9oaWQv aGlkLWxnNGZmLmM6IHN5c2ZzIGludGVyZmFjZSBjcmVhdGVkDQpGZWIgMTIgMTk6NTI6MDAgYmln Ym94IGtlcm5lbDogWyAgOTY2LjI4MDE3Nl0gZHJpdmVycy9oaWQvaGlkLWxnNGZmLmM6IERyaXZp bmcgRm9yY2UgUHJvOiBzZXR0aW5nIHJhbmdlIHRvIDkwMA0KRmViIDEyIDE5OjUyOjAwIGJpZ2Jv eCBrZXJuZWw6IFsgIDk2Ni4yODAxNzldIGxvZ2l0ZWNoIDAwMDM6MDQ2RDpDMjk4LjAwMTI6IEZv cmNlIGZlZWRiYWNrIHN1cHBvcnQgZm9yIExvZ2l0ZWNoIEdhbWluZyBXaGVlbHMNCkZlYiAxMiAx OTo1MjowMCBiaWdib3gga2VybmVsOiBbICA5NjYuMjg2MDMwXSBkcml2ZXJzL2hpZC91c2JoaWQv aGlkLWNvcmUuYzogc3VibWl0dGluZyBvdXQgdXJiDQpGZWIgMTIgMTk6NTI6MDAgYmlnYm94IGtl cm5lbDogWyAgOTY2LjI5NDAzMF0gZHJpdmVycy9oaWQvdXNiaGlkL2hpZC1jb3JlLmM6IHN1Ym1p dHRpbmcgb3V0IHVyYg0KRmViIDEyIDE5OjUyOjI2IGJpZ2JveCBrZXJuZWw6IFsgIDk5Mi4xNjI1 NTVdIGRyaXZlcnMvaGlkL2hpZC1sZzRmZi5jOiBBbHRlcm5hdGUgbW9kZSAiREZHVCIgbm90IHN1 cHBvcnRlZCBieSB0aGUgZGV2aWNlDQotLQ0KDQpOb3RlIEkgZG9uJ3QgaGF2ZSBhIERGR1QsIGFu ZCBkaWRuJ3QgYXNrIGZvciBhIGZha2Ugb25lLi4uLg0KDQoNClVucGx1ZyBhbmQgcmVwbHVnDQot LQ0KRmViIDEyIDIwOjA1OjE1IGJpZ2JveCBrZXJuZWw6IFsgMTc2MS4xMDQwMTldIHVzYiA4LTI6 IG5ldyBmdWxsLXNwZWVkIFVTQiBkZXZpY2UgbnVtYmVyIDIzIHVzaW5nIHVoY2lfaGNkDQpGZWIg MTIgMjA6MDU6MTUgYmlnYm94IGtlcm5lbDogWyAxNzYxLjI3NTAzMl0gdXNiIDgtMjogTmV3IFVT QiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTA0NmQsIGlkUHJvZHVjdD1jMjk0DQpGZWIgMTIgMjA6 MDU6MTUgYmlnYm94IGtlcm5lbDogWyAxNzYxLjI3NTAzN10gdXNiIDgtMjogTmV3IFVTQiBkZXZp Y2Ugc3RyaW5nczogTWZyPTAsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTANCkZlYiAxMiAyMDow NToxNSBiaWdib3gga2VybmVsOiBbIDE3NjEuMjc1MDQwXSB1c2IgOC0yOiBQcm9kdWN0OiBHMjcg UmFjaW5nIFdoZWVsDQpGZWIgMTIgMjA6MDU6MTUgYmlnYm94IGtlcm5lbDogWyAxNzYxLjI3ODA5 MV0gZHJpdmVycy9oaWQvdXNiaGlkL2hpZC1jb3JlLmM6IEhJRCBwcm9iZSBjYWxsZWQgZm9yIGlm bnVtIDANCkZlYiAxMiAyMDowNToxNSBiaWdib3gga2VybmVsOiBbIDE3NjEuMjg2NTQzXSBpbnB1 dDogRzI3IFJhY2luZyBXaGVlbCBhcyAvZGV2aWNlcy9wY2kwMDAwOjAwLzAwMDA6MDA6MWQuMy91 c2I4LzgtMi84LTI6MS4wLzAwMDM6MDQ2RDpDMjk0LjAwMTkvaW5wdXQvaW5wdXQzMQ0KRmViIDEy IDIwOjA1OjE1IGJpZ2JveCBtdHAtcHJvYmU6IGNoZWNraW5nIGJ1cyA4LCBkZXZpY2UgMjM6ICIv c3lzL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjFkLjMvdXNiOC84LTIiDQpGZWIgMTIgMjA6 MDU6MTUgYmlnYm94IG10cC1wcm9iZTogYnVzOiA4LCBkZXZpY2U6IDIzIHdhcyBub3QgYW4gTVRQ IGRldmljZQ0KRmViIDEyIDIwOjA1OjE1IGJpZ2JveCBrZXJuZWw6IFsgMTc2MS4zNDAxODBdIGxv Z2l0ZWNoIDAwMDM6MDQ2RDpDMjk0LjAwMTk6IGlucHV0LGhpZHJhdzI6IFVTQiBISUQgdjEuMDAg Sm95c3RpY2sgW0cyNyBSYWNpbmcgV2hlZWxdIG9uIHVzYi0wMDAwOjAwOjFkLjMtMi9pbnB1dDAN CkZlYiAxMiAyMDowNToxNSBiaWdib3gga2VybmVsOiBbIDE3NjEuMzQwMTg2XSBkcml2ZXJzL2hp ZC9oaWQtbGc0ZmYuYzogRm91bmQgd2hlZWwgd2l0aCByZWFsIFBJRCBDMjlCIHdob3NlIHJlcG9y dGVkIFBJRCBpcyBDMjk0DQpGZWIgMTIgMjA6MDU6MTUgYmlnYm94IGtlcm5lbDogWyAxNzYxLjM0 MDE4OF0gZHJpdmVycy9oaWQvaGlkLWxnNGZmLmM6IEZvdW5kIGNvbXBhdGlibGUgZGV2aWNlLCBw cm9kdWN0IElEIEMyOTQNCkZlYiAxMiAyMDowNToxNSBiaWdib3gga2VybmVsOiBbIDE3NjEuMzQw MTk3XSBkcml2ZXJzL2hpZC91c2JoaWQvaGlkLWNvcmUuYzogc3VibWl0dGluZyBvdXQgdXJiDQpG ZWIgMTIgMjA6MDU6MTUgYmlnYm94IGtlcm5lbDogWyAxNzYxLjM0MDIwNV0gZHJpdmVycy9oaWQv aGlkLWxnNGZmLmM6IHN5c2ZzIGludGVyZmFjZSBjcmVhdGVkDQpGZWIgMTIgMjA6MDU6MTUgYmln Ym94IGtlcm5lbDogWyAxNzYxLjM0MDIwN10gbG9naXRlY2ggMDAwMzowNDZEOkMyOTQuMDAxOTog Rm9yY2UgZmVlZGJhY2sgc3VwcG9ydCBmb3IgTG9naXRlY2ggR2FtaW5nIFdoZWVscw0KLS0NCg0K U3dpdGNoIHRvIERGUA0KLS0NCnJvb3RAYmlnYm94Oi9zeXMvY2xhc3MvbGVkcyMgY2F0IC9zeXMv YnVzL2hpZC9kZXZpY2VzLzAwMDNcOjA0NkRcOkMyOTQuMDAxOS9hbHRlcm5hdGVfbW9kZXMgDQpu YXRpdmU6IEcyNyBSYWNpbmcgV2hlZWwNCkRGLUVYOiBEcml2aW5nIEZvcmNlIC8gRm9ybXVsYSBF WCAqDQpERlA6IERyaXZpbmcgRm9yY2UgUHJvDQpHMjU6IEcyNSBSYWNpbmcgV2hlZWwNCkcyNzog RzI3IFJhY2luZyBXaGVlbA0Kcm9vdEBiaWdib3g6L3N5cy9jbGFzcy9sZWRzIyBlY2hvIERGUCA+ ICEkDQplY2hvIERGUCA+IC9zeXMvYnVzL2hpZC9kZXZpY2VzLzAwMDNcOjA0NkRcOkMyOTQuMDAx OS9hbHRlcm5hdGVfbW9kZXMNCi0tDQpGZWIgMTIgMjA6MDY6MTEgYmlnYm94IGtlcm5lbDogWyAx ODE2Ljc1MjA1Ml0gdXNiIDgtMjogVVNCIGRpc2Nvbm5lY3QsIGRldmljZSBudW1iZXIgMjMNCkZl YiAxMiAyMDowNjoxMSBiaWdib3gga2VybmVsOiBbIDE4MTYuNzUyMTY2XSBkcml2ZXJzL2hpZC9o aWQtbGc0ZmYuYzogRGV2aWNlIHN1Y2Nlc3NmdWxseSB1bnJlZ2lzdGVyZWQNCkZlYiAxMiAyMDow NjoxMiBiaWdib3gga2VybmVsOiBbIDE4MTcuNjkyMDIxXSB1c2IgOC0yOiBuZXcgZnVsbC1zcGVl ZCBVU0IgZGV2aWNlIG51bWJlciAyNCB1c2luZyB1aGNpX2hjZA0KRmViIDEyIDIwOjA2OjEyIGJp Z2JveCBrZXJuZWw6IFsgMTgxOC4wNjgwMzldIHVzYiA4LTI6IE5ldyBVU0IgZGV2aWNlIGZvdW5k LCBpZFZlbmRvcj0wNDZkLCBpZFByb2R1Y3Q9YzI5OA0KRmViIDEyIDIwOjA2OjEyIGJpZ2JveCBr ZXJuZWw6IFsgMTgxOC4wNjgwNDVdIHVzYiA4LTI6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1m cj0wLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0wDQpGZWIgMTIgMjA6MDY6MTIgYmlnYm94IGtl cm5lbDogWyAxODE4LjA2ODA0OF0gdXNiIDgtMjogUHJvZHVjdDogRzI3IFJhY2luZyBXaGVlbA0K RmViIDEyIDIwOjA2OjEyIGJpZ2JveCBrZXJuZWw6IFsgMTgxOC4wNzEwODddIGRyaXZlcnMvaGlk L3VzYmhpZC9oaWQtY29yZS5jOiBISUQgcHJvYmUgY2FsbGVkIGZvciBpZm51bSAwDQpGZWIgMTIg MjA6MDY6MTIgYmlnYm94IGtlcm5lbDogWyAxODE4LjA3ODA5NF0gbG9naXRlY2ggMDAwMzowNDZE OkMyOTguMDAxQTogZml4aW5nIHVwIExvZ2l0ZWNoIERyaXZpbmcgRm9yY2UgUHJvIHJlcG9ydCBk ZXNjcmlwdG9yDQpGZWIgMTIgMjA6MDY6MTIgYmlnYm94IGtlcm5lbDogWyAxODE4LjA3ODU1MF0g aW5wdXQ6IEcyNyBSYWNpbmcgV2hlZWwgYXMgL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjFk LjMvdXNiOC84LTIvOC0yOjEuMC8wMDAzOjA0NkQ6QzI5OC4wMDFBL2lucHV0L2lucHV0MzINCkZl YiAxMiAyMDowNjoxMiBiaWdib3ggbXRwLXByb2JlOiBjaGVja2luZyBidXMgOCwgZGV2aWNlIDI0 OiAiL3N5cy9kZXZpY2VzL3BjaTAwMDA6MDAvMDAwMDowMDoxZC4zL3VzYjgvOC0yIg0KRmViIDEy IDIwOjA2OjEyIGJpZ2JveCBtdHAtcHJvYmU6IGJ1czogOCwgZGV2aWNlOiAyNCB3YXMgbm90IGFu IE1UUCBkZXZpY2UNCkZlYiAxMiAyMDowNjoxMiBiaWdib3gga2VybmVsOiBbIDE4MTguMTMyMTg3 XSBsb2dpdGVjaCAwMDAzOjA0NkQ6QzI5OC4wMDFBOiBpbnB1dCxoaWRyYXcyOiBVU0IgSElEIHYx LjAwIEpveXN0aWNrIFtHMjcgUmFjaW5nIFdoZWVsXSBvbiB1c2ItMDAwMDowMDoxZC4zLTIvaW5w dXQwDQpGZWIgMTIgMjA6MDY6MTIgYmlnYm94IGtlcm5lbDogWyAxODE4LjEzMjE5M10gZHJpdmVy cy9oaWQvaGlkLWxnNGZmLmM6IEZvdW5kIHdoZWVsIHdpdGggcmVhbCBQSUQgQzI5QiB3aG9zZSBy ZXBvcnRlZCBQSUQgaXMgQzI5OA0KRmViIDEyIDIwOjA2OjEyIGJpZ2JveCBrZXJuZWw6IFsgMTgx OC4xMzIxOTVdIGRyaXZlcnMvaGlkL2hpZC1sZzRmZi5jOiBGb3VuZCBjb21wYXRpYmxlIGRldmlj ZSwgcHJvZHVjdCBJRCBDMjk4DQpGZWIgMTIgMjA6MDY6MTIgYmlnYm94IGtlcm5lbDogWyAxODE4 LjEzMjIwNV0gZHJpdmVycy9oaWQvdXNiaGlkL2hpZC1jb3JlLmM6IHN1Ym1pdHRpbmcgb3V0IHVy Yg0KRmViIDEyIDIwOjA2OjEyIGJpZ2JveCBrZXJuZWw6IFsgMTgxOC4xMzIyMTNdIGRyaXZlcnMv aGlkL2hpZC1sZzRmZi5jOiBzeXNmcyBpbnRlcmZhY2UgY3JlYXRlZA0KRmViIDEyIDIwOjA2OjEy IGJpZ2JveCBrZXJuZWw6IFsgMTgxOC4xMzIyMTVdIGRyaXZlcnMvaGlkL2hpZC1sZzRmZi5jOiBE cml2aW5nIEZvcmNlIFBybzogc2V0dGluZyByYW5nZSB0byA5MDANCkZlYiAxMiAyMDowNjoxMiBi aWdib3gga2VybmVsOiBbIDE4MTguMTMyMjE5XSBsb2dpdGVjaCAwMDAzOjA0NkQ6QzI5OC4wMDFB OiBGb3JjZSBmZWVkYmFjayBzdXBwb3J0IGZvciBMb2dpdGVjaCBHYW1pbmcgV2hlZWxzDQpGZWIg MTIgMjA6MDY6MTIgYmlnYm94IGtlcm5lbDogWyAxODE4LjEzNDAyOV0gZHJpdmVycy9oaWQvdXNi aGlkL2hpZC1jb3JlLmM6IHN1Ym1pdHRpbmcgb3V0IHVyYg0KRmViIDEyIDIwOjA2OjEyIGJpZ2Jv eCBrZXJuZWw6IFsgMTgxOC4xNDIwMzhdIGRyaXZlcnMvaGlkL3VzYmhpZC9oaWQtY29yZS5jOiBz dWJtaXR0aW5nIG91dCB1cmINCi0tDQoNCk5vdyBzd2l0Y2ggdG8gRzI1ICh3aXRob3V0IHVucGx1 ZykNCi0tDQpyb290QGJpZ2JveDovc3lzL2NsYXNzL2xlZHMjIGNhdCAvc3lzL2J1cy9oaWQvZGV2 aWNlcy8wMDAzXDowNDZEXDpDMjk4LjAwMUEvYWx0ZXJuYXRlX21vZGVzIA0KbmF0aXZlOiBHMjcg UmFjaW5nIFdoZWVsDQpERi1FWDogRHJpdmluZyBGb3JjZSAvIEZvcm11bGEgRVgNCkRGUDogRHJp dmluZyBGb3JjZSBQcm8gKg0KRzI1OiBHMjUgUmFjaW5nIFdoZWVsDQpHMjc6IEcyNyBSYWNpbmcg V2hlZWwNCnJvb3RAYmlnYm94Oi9zeXMvY2xhc3MvbGVkcyMgZWNobyBHMjUgPiAhJA0KZWNobyBH MjUgPiAvc3lzL2J1cy9oaWQvZGV2aWNlcy8wMDAzXDowNDZEXDpDMjk4LjAwMUEvYWx0ZXJuYXRl X21vZGVzDQotLQ0KRmViIDEyIDIwOjA3OjMxIGJpZ2JveCBrZXJuZWw6IFsgMTg5Ny4zNTIwNTJd IHVzYiA4LTI6IFVTQiBkaXNjb25uZWN0LCBkZXZpY2UgbnVtYmVyIDI0DQpGZWIgMTIgMjA6MDc6 MzEgYmlnYm94IGtlcm5lbDogWyAxODk3LjM1MjE2Nl0gZHJpdmVycy9oaWQvaGlkLWxnNGZmLmM6 IERldmljZSBzdWNjZXNzZnVsbHkgdW5yZWdpc3RlcmVkDQpGZWIgMTIgMjA6MDc6MzIgYmlnYm94 IGtlcm5lbDogWyAxODk4LjI5MjAyMV0gdXNiIDgtMjogbmV3IGZ1bGwtc3BlZWQgVVNCIGRldmlj ZSBudW1iZXIgMjUgdXNpbmcgdWhjaV9oY2QNCkZlYiAxMiAyMDowNzozMyBiaWdib3gga2VybmVs OiBbIDE4OTkuMDc1MDQyXSB1c2IgOC0yOiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9 MDQ2ZCwgaWRQcm9kdWN0PWMyOTkNCkZlYiAxMiAyMDowNzozMyBiaWdib3gga2VybmVsOiBbIDE4 OTkuMDc1MDQ3XSB1c2IgOC0yOiBOZXcgVVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MCwgUHJvZHVj dD0yLCBTZXJpYWxOdW1iZXI9MA0KRmViIDEyIDIwOjA3OjMzIGJpZ2JveCBrZXJuZWw6IFsgMTg5 OS4wNzUwNTBdIHVzYiA4LTI6IFByb2R1Y3Q6IEcyNyBSYWNpbmcgV2hlZWwNCkZlYiAxMiAyMDow NzozMyBiaWdib3gga2VybmVsOiBbIDE4OTkuMDg1MDcwXSBkcml2ZXJzL2hpZC91c2JoaWQvaGlk LWNvcmUuYzogSElEIHByb2JlIGNhbGxlZCBmb3IgaWZudW0gMA0KRmViIDEyIDIwOjA3OjMzIGJp Z2JveCBrZXJuZWw6IFsgMTg5OS4wOTEzOTddIGRyaXZlcnMvaGlkL3VzYmhpZC9oaWQtY29yZS5j OiBzdWJtaXR0aW5nIGN0cmwgdXJiOiBHZXRfUmVwb3J0IHdWYWx1ZT0weDAxMDAgd0luZGV4PTB4 MDAwMCB3TGVuZ3RoPTExDQpGZWIgMTIgMjA6MDc6MzMgYmlnYm94IGtlcm5lbDogWyAxODk5LjA5 MzAzNF0gZHJpdmVycy9oaWQvdXNiaGlkL2hpZC1jb3JlLmM6IHN1Ym1pdHRpbmcgY3RybCB1cmI6 IEdldF9SZXBvcnQgd1ZhbHVlPTB4MDMwMCB3SW5kZXg9MHgwMDAwIHdMZW5ndGg9MTQ0DQpGZWIg MTIgMjA6MDc6MzMgYmlnYm94IGtlcm5lbDogWyAxODk5LjEwMTEzMF0gaW5wdXQ6IEcyNyBSYWNp bmcgV2hlZWwgYXMgL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjFkLjMvdXNiOC84LTIvOC0y OjEuMC8wMDAzOjA0NkQ6QzI5OS4wMDFCL2lucHV0L2lucHV0MzMNCkZlYiAxMiAyMDowNzozMyBi aWdib3ggbXRwLXByb2JlOiBjaGVja2luZyBidXMgOCwgZGV2aWNlIDI1OiAiL3N5cy9kZXZpY2Vz L3BjaTAwMDA6MDAvMDAwMDowMDoxZC4zL3VzYjgvOC0yIg0KRmViIDEyIDIwOjA3OjMzIGJpZ2Jv eCBtdHAtcHJvYmU6IGJ1czogOCwgZGV2aWNlOiAyNSB3YXMgbm90IGFuIE1UUCBkZXZpY2UNCkZl YiAxMiAyMDowNzozMyBiaWdib3gga2VybmVsOiBbIDE4OTkuMTU2MTU3XSBsb2dpdGVjaCAwMDAz OjA0NkQ6QzI5OS4wMDFCOiBpbnB1dCxoaWRyYXcyOiBVU0IgSElEIHYxLjExIEpveXN0aWNrIFtH MjcgUmFjaW5nIFdoZWVsXSBvbiB1c2ItMDAwMDowMDoxZC4zLTIvaW5wdXQwDQpGZWIgMTIgMjA6 MDc6MzMgYmlnYm94IGtlcm5lbDogWyAxODk5LjE1NjE2Ml0gZHJpdmVycy9oaWQvaGlkLWxnNGZm LmM6IEZvdW5kIHdoZWVsIHdpdGggcmVhbCBQSUQgQzI5QiB3aG9zZSByZXBvcnRlZCBQSUQgaXMg QzI5OQ0KRmViIDEyIDIwOjA3OjMzIGJpZ2JveCBrZXJuZWw6IFsgMTg5OS4xNTYxNjRdIGRyaXZl cnMvaGlkL2hpZC1sZzRmZi5jOiBGb3VuZCBjb21wYXRpYmxlIGRldmljZSwgcHJvZHVjdCBJRCBD Mjk5DQpGZWIgMTIgMjA6MDc6MzMgYmlnYm94IGtlcm5lbDogWyAxODk5LjE1NjE3NF0gZHJpdmVy cy9oaWQvdXNiaGlkL2hpZC1jb3JlLmM6IHN1Ym1pdHRpbmcgb3V0IHVyYg0KRmViIDEyIDIwOjA3 OjMzIGJpZ2JveCBrZXJuZWw6IFsgMTg5OS4xNTYxODJdIGRyaXZlcnMvaGlkL2hpZC1sZzRmZi5j OiBzeXNmcyBpbnRlcmZhY2UgY3JlYXRlZA0KRmViIDEyIDIwOjA3OjMzIGJpZ2JveCBrZXJuZWw6 IFsgMTg5OS4xNTYxODRdIGRyaXZlcnMvaGlkL2hpZC1sZzRmZi5jOiBHMjUvRzI3L0RGR1Q6IHNl dHRpbmcgcmFuZ2UgdG8gOTAwDQpGZWIgMTIgMjA6MDc6MzMgYmlnYm94IGtlcm5lbDogWyAxODk5 LjE1NjE4N10gbG9naXRlY2ggMDAwMzowNDZEOkMyOTkuMDAxQjogRm9yY2UgZmVlZGJhY2sgc3Vw cG9ydCBmb3IgTG9naXRlY2ggR2FtaW5nIFdoZWVscw0KRmViIDEyIDIwOjA3OjMzIGJpZ2JveCBr ZXJuZWw6IFsgMTg5OS4xNTkwNDBdIGRyaXZlcnMvaGlkL3VzYmhpZC9oaWQtY29yZS5jOiBzdWJt aXR0aW5nIG91dCB1cmINCi0tDQoNCkhtbW1tLCB3aHkgdGhlIGVhcmxpZXIgZXJyb3I/DQoNCg0K SGlzdG9yeQ0KLS0NCiAgNTgxICBmZmNmc3RyZXNzIC1kIC9kZXYvaW5wdXQvZXZlbnQ0DQogIDU4 MiAgY2QgL3N5cy9jbGFzcy9sZWRzLw0KICA1ODMgIGxzDQogIDU4NCAgY2F0IC9zeXMvYnVzL2hp ZC9kZXZpY2VzLzAwMDNcOjA0NkRcOkMyOTQuMDAxMS9hbHRlcm5hdGVfbW9kZXMgDQogIDU4NSAg ZWNobyBERlAgPiAvc3lzL2J1cy9oaWQvZGV2aWNlcy8wMDAzXDowNDZEXDpDMjk0LjAwMTEvYWx0 ZXJuYXRlX21vZGVzDQogIDU4NiAgbHMNCiAgNTg3ICBjYXQgL3N5cy9idXMvaGlkL2RldmljZXMv MDAwM1w6MDQ2RFw6QzI5OC4wMDEyL2FsdGVybmF0ZV9tb2RlcyANCiAgNTg4ICBlY2hvIGcyNSA+ IC9zeXMvYnVzL2hpZC9kZXZpY2VzLzAwMDNcOjA0NkRcOkMyOTguMDAxMi9hbHRlcm5hdGVfbW9k ZXMNCiAgNTg5ICB0YWlsIC1mIC92YXIvbG9nL3N5c2xvZw0KICA1OTAgIGxzDQogIDU5MSAgY2F0 IC9zeXMvYnVzL2hpZC9kZXZpY2VzLzAwMDNcOjA0NkRcOkMyOTQuMDAxMy9hbHRlcm5hdGVfbW9k ZXMgDQogIDU5MiAgZWNobyBuYXRpdmUgPiAvc3lzL2J1cy9oaWQvZGV2aWNlcy8wMDAzXDowNDZE XDpDMjk0LjAwMTMvYWx0ZXJuYXRlX21vZGVzDQogIDU5MyAgY2F0IC9zeXMvYnVzL2hpZC9kZXZp Y2VzLzAwMDNcOjA0NkRcOkMyOTQuMDAxNS9hbHRlcm5hdGVfbW9kZXMgDQogIDU5NCAgZWNobyBE RlAgPiAvc3lzL2J1cy9oaWQvZGV2aWNlcy8wMDAzXDowNDZEXDpDMjk0LjAwMTUvYWx0ZXJuYXRl X21vZGVzDQogIDU5NSAgaGlzdG9yeQ0KICA1OTYgIGNhdCAvc3lzL2J1cy9oaWQvZGV2aWNlcy8w MDAzXDowNDZEXDpDMjk0LjAwMTcvYWx0ZXJuYXRlX21vZGVzIA0KICA1OTcgIGVjaG8gRzI1ID4g L3N5cy9idXMvaGlkL2RldmljZXMvMDAwM1w6MDQ2RFw6QzI5NC4wMDE3L2FsdGVybmF0ZV9tb2Rl cw0KICA1OTggIGNhdCAvc3lzL2J1cy9oaWQvZGV2aWNlcy8wMDAzXDowNDZEXDpDMjk0LjAwMTkv YWx0ZXJuYXRlX21vZGVzIA0KICA1OTkgIGVjaG8gREZQID4gL3N5cy9idXMvaGlkL2RldmljZXMv MDAwM1w6MDQ2RFw6QzI5NC4wMDE5L2FsdGVybmF0ZV9tb2Rlcw0KICA2MDAgIGNhdCAvc3lzL2J1 cy9oaWQvZGV2aWNlcy8wMDAzXDowNDZEXDpDMjk4LjAwMUEvYWx0ZXJuYXRlX21vZGVzIA0KICA2 MDEgIGVjaG8gRzI1ID4gL3N5cy9idXMvaGlkL2RldmljZXMvMDAwM1w6MDQ2RFw6QzI5OC4wMDFB L2FsdGVybmF0ZV9tb2Rlcw0KICA2MDIgIGhpc3RvcnkNCi0tDQoNCkJVRyEhISEgIEkgc2VlIHlv dS4uLi4gJ2cyNScgcmF0aGVyIHRoYW4gJ0cyNScNCi0tDQpyb290QGJpZ2JveDovc3lzL2NsYXNz L2xlZHMjIGNhdCAhJA0KY2F0IC9zeXMvYnVzL2hpZC9kZXZpY2VzLzAwMDNcOjA0NkRcOkMyOTgu MDAxRC9hbHRlcm5hdGVfbW9kZXMNCm5hdGl2ZTogRzI3IFJhY2luZyBXaGVlbA0KREYtRVg6IERy aXZpbmcgRm9yY2UgLyBGb3JtdWxhIEVYDQpERlA6IERyaXZpbmcgRm9yY2UgUHJvICoNCkcyNTog RzI1IFJhY2luZyBXaGVlbA0KRzI3OiBHMjcgUmFjaW5nIFdoZWVsDQpyb290QGJpZ2JveDovc3lz L2NsYXNzL2xlZHMjIGVjaG8gZzI1ID4gL3N5cy9idXMvaGlkL2RldmljZXMvMDAwM1w6MDQ2RFw6 QzI5OC4wMDFEL2FsdGVybmF0ZV9tb2RlcyANCmJhc2g6IGVjaG86IHdyaXRlIGVycm9yOiBJbnZh bGlkIGFyZ3VtZW50DQpyb290QGJpZ2JveDovc3lzL2NsYXNzL2xlZHMjIGVjaG8gRzI1ID4gL3N5 cy9idXMvaGlkL2RldmljZXMvMDAwM1w6MDQ2RFw6QzI5OC4wMDFEL2FsdGVybmF0ZV9tb2RlcyAN CnJvb3RAYmlnYm94Oi9zeXMvY2xhc3MvbGVkcyMNCi0tDQo= --089e0115fe14c5c37f050efab766--