From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1541532-1524703315-2-12952275444860812934 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no ("Email failed DMARC policy for domain") X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.25, MAILING_LIST_MULTI -1, RCVD_IN_DNSWL_HI -5, LANGUAGES daensk.us-ascii, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='US', FromHeader='org', MailFrom='org' X-Spam-charsets: plain='UTF-8' X-IgnoreVacation: yes ("Email failed DMARC policy for domain") X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: linux-usb-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=fm2; t= 1524703314; b=PT3G4t5+FkmQGAW/epgx1JDpAIkqMeoFsPKmTqKGt1iA2bcg2f rsuPNzxV2iMLB9e90Hd1w/yUzzzu7ntJW0eV9eeeNYOyhmMQzHz828rVXo3mEA3L EFldFrq1qddNI4w8gH98+4EMPXZ5wqTCU1goB6IU86Vgv2nIkbKqlW/+cSruoBpL AMUgJZLOB2N7a6hw0G++JfxI07BntmnWB8pR1qbyVgKVexE/2WZW/lIPSsKB5h76 oGPlFkjRNqFALwMrAF4PA46cvni1t5kcNjF7QGDvfSfRQRwkamGNwDIVbRw6TSo5 AGCKfTxYs/e3udIk6xauNJmk9B5onupvUq/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=mime-version:in-reply-to:references:from :date:message-id:subject:to:cc:content-type:sender:list-id; s= fm2; t=1524703314; bh=AndC0lXkcx32HT8VWHzpN5MxOekXEZU/4v/q1WRVYW Q=; b=pJqbvrgj67EtDkfamWo2AAsNDtMdZPJ2HPdGPBEwhMqjR2iX31mGnJ19+S z0ZzFHBQ9JL7mEYwvLVP3m91dA4hcqhi0khR5UxOT63K/r5blVvHGGw6OFgwHD6t Bu9+BjzLcQFPQy4N5XFKtuwTp21Ds2iVqJwi0pepMDVttIQhalJAf5XDv144UKKZ NbpDyY7i6sMuxeQojMGVNd1HR5hNBWqzXos0XNSpwR9tAnoy9E8j9SGza3edU9WM 9HKsoPPUr+a+gjMjxqeibl+hCePyWSPf/XhjkP1dAX6hFCsbP/KGPACmW1tFLoim vXuBDwZzUi4Kc7QauzvyJndyQqxQ== ARC-Authentication-Results: i=1; mx4.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered, 1024-bit rsa key sha256) header.d=chromium.org header.i=@chromium.org header.b=JSpL2NJT x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=google; dkim=fail (message has been altered, 2048-bit rsa key sha256) header.d=google.com header.i=@google.com header.b=Mrau0NpN x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20161025; dmarc=fail (p=none,has-list-id=yes,d=none) header.from=chromium.org; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-cm=none score=0; x-google-dkim=fail (message has been altered, 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=rBevKX+f; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=chromium.org header.result=pass header_is_org_domain=yes; x-vs=clean score=-100 state=0 Authentication-Results: mx4.messagingengine.com; arc=none (no signatures found); dkim=fail (message has been altered, 1024-bit rsa key sha256) header.d=chromium.org header.i=@chromium.org header.b=JSpL2NJT x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=google; dkim=fail (message has been altered, 2048-bit rsa key sha256) header.d=google.com header.i=@google.com header.b=Mrau0NpN x-bits=2048 x-keytype=rsa x-algorithm=sha256 x-selector=20161025; dmarc=fail (p=none,has-list-id=yes,d=none) header.from=chromium.org; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=linux-usb-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-cm=none score=0; x-google-dkim=fail (message has been altered, 2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=rBevKX+f; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=chromium.org header.result=pass header_is_org_domain=yes; x-vs=clean score=-100 state=0 X-ME-VSCategory: clean X-CM-Envelope: MS4wfFTTgdNgghGOCjRHg/MKW8MosobbiNDw/GVXBhxJVzKNkmmMIhAk4luIiMKFdHJ3SE6XlRjdBQ5B083L7bMkubNvJe7WA85K19RMi+17KrN2fBKj/xSM O6+Y+APvIFXbz+iAq2LYxu1CcRHfoV72MYVD8TrpXxmcoMzk0pU6H+ERIrn6WeMvYDC9EpTqN4y8Sxb1QLnje3BTHKhOt6POWCFscdFfQBJIpTE7kmjvqJwN X-CM-Analysis: v=2.3 cv=JLoVTfCb c=1 sm=1 tr=0 a=UK1r566ZdBxH71SXbqIOeA==:117 a=UK1r566ZdBxH71SXbqIOeA==:17 a=IkcTkHD0fZMA:10 a=Kd1tUaAdevIA:10 a=VwQbUJbxAAAA:8 a=cm27Pg_UAAAA:8 a=J1Y8HTJGAAAA:8 a=Oh2cFVv5AAAA:8 a=enmlZl3n62gfH4RcvNgA:9 a=QEXdDO2ut3YA:10 a=x8gzFH9gYPwA:10 a=AjGcO6oz07-iQ99wixmX:22 a=xmb-EsYY8bH0VWELuYED:22 a=y1Q9-5lHfBjTkpIzbSAN:22 a=7KeoIwV6GZqOttXkcoxL:22 X-ME-CMScore: 0 X-ME-CMCategory: none Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753505AbeDZAlk (ORCPT ); Wed, 25 Apr 2018 20:41:40 -0400 Received: from mail-it0-f65.google.com ([209.85.214.65]:54614 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753178AbeDZAlc (ORCPT ); Wed, 25 Apr 2018 20:41:32 -0400 X-Google-Smtp-Source: AIpwx4/p6oXCIBjgybg2PFERb+cUmB95/nXpCF/Gd56Zf2aQm8Uvk18xAh3sNC1F1TallWMcugMb36OoyGxqmbY7gIE= MIME-Version: 1.0 In-Reply-To: <1524650077-13270-1-git-send-email-krzk@kernel.org> References: <1524650077-13270-1-git-send-email-krzk@kernel.org> From: Grant Grundler Date: Wed, 25 Apr 2018 17:41:30 -0700 X-Google-Sender-Auth: 1UiDqbBPcUdtwaUIihSCwLl3S1Q Message-ID: Subject: Re: [PATCH stable v4.4+] r8152: add Linksys USB3GIGV1 id To: Krzysztof Kozlowski Cc: Oliver Neukum , "David S. Miller" , linux-usb@vger.kernel.org, netdev , LKML , Grant Grundler Content-Type: text/plain; charset="UTF-8" Sender: linux-usb-owner@vger.kernel.org X-Mailing-List: linux-usb@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: On Wed, Apr 25, 2018 at 2:54 AM, Krzysztof Kozlowski wrote: > commit 90841047a01b452cc8c3f9b990698b264143334a upstream > > This linksys dongle by default comes up in cdc_ether mode. > This patch allows r8152 to claim the device: > Bus 002 Device 002: ID 13b1:0041 Linksys > > Signed-off-by: Grant Grundler > Reviewed-by: Douglas Anderson > Signed-off-by: David S. Miller > [krzk: Rebase on v4.4] > Signed-off-by: Krzysztof Kozlowski thanks krzk! FTR, to support RTL8153B (HW ID 0x6010), the follow patch series to bring r8152 v1.09.9 driver from 4.14 kernel.org to 3 (of 5) older Chrome OS kernels: 3.14: https://chromium-review.googlesource.com/q/topic:%22update_r8152-3.14%22+(status:open%20OR%20status:merged) 3.18: https://chromium-review.googlesource.com/q/topic:%2522update-r8152-3.18%2522+(status:open+OR+status:merged) 4.4: https://chromium-review.googlesource.com/q/topic:%2522update_r8152-4.4%2522+(status:open+OR+status:merged) caveat: These series are not suitable directly for kernel.org submission (extraneous stuff in the commit messages, order is different). Using the original SHA1 (in each commit message), this can all be fixed up by hand/simple scripts. cheers, grant > --- > drivers/net/usb/cdc_ether.c | 10 ++++++++++ > drivers/net/usb/r8152.c | 2 ++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c > index 6578127db847..f71abe50ea6f 100644 > --- a/drivers/net/usb/cdc_ether.c > +++ b/drivers/net/usb/cdc_ether.c > @@ -461,6 +461,7 @@ static const struct driver_info wwan_info = { > #define REALTEK_VENDOR_ID 0x0bda > #define SAMSUNG_VENDOR_ID 0x04e8 > #define LENOVO_VENDOR_ID 0x17ef > +#define LINKSYS_VENDOR_ID 0x13b1 > #define NVIDIA_VENDOR_ID 0x0955 > #define HP_VENDOR_ID 0x03f0 > > @@ -650,6 +651,15 @@ static const struct usb_device_id products[] = { > .driver_info = 0, > }, > > +#if IS_ENABLED(CONFIG_USB_RTL8152) > +/* Linksys USB3GIGV1 Ethernet Adapter */ > +{ > + USB_DEVICE_AND_INTERFACE_INFO(LINKSYS_VENDOR_ID, 0x0041, USB_CLASS_COMM, > + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), > + .driver_info = 0, > +}, > +#endif > + > /* Lenovo Thinkpad USB 3.0 Ethernet Adapters (based on Realtek RTL8153) */ > { > USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x7205, USB_CLASS_COMM, > diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c > index 89950f5cea71..b2c1a435357f 100644 > --- a/drivers/net/usb/r8152.c > +++ b/drivers/net/usb/r8152.c > @@ -506,6 +506,7 @@ enum rtl8152_flags { > #define VENDOR_ID_REALTEK 0x0bda > #define VENDOR_ID_SAMSUNG 0x04e8 > #define VENDOR_ID_LENOVO 0x17ef > +#define VENDOR_ID_LINKSYS 0x13b1 > #define VENDOR_ID_NVIDIA 0x0955 > > #define MCU_TYPE_PLA 0x0100 > @@ -4376,6 +4377,7 @@ static struct usb_device_id rtl8152_table[] = { > {REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)}, > {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7205)}, > {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)}, > + {REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)}, > {REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)}, > {} > }; > -- > 2.7.4 > From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [stable,v4.4+] r8152: add Linksys USB3GIGV1 id From: Grant Grundler Message-Id: Date: Wed, 25 Apr 2018 17:41:30 -0700 To: Krzysztof Kozlowski Cc: Oliver Neukum , "David S. Miller" , linux-usb@vger.kernel.org, netdev , LKML , Grant Grundler List-ID: T24gV2VkLCBBcHIgMjUsIDIwMTggYXQgMjo1NCBBTSwgS3J6eXN6dG9mIEtvemxvd3NraSA8a3J6 a0BrZXJuZWwub3JnPiB3cm90ZToKPiBjb21taXQgOTA4NDEwNDdhMDFiNDUyY2M4YzNmOWI5OTA2 OThiMjY0MTQzMzM0YSB1cHN0cmVhbQo+Cj4gVGhpcyBsaW5rc3lzIGRvbmdsZSBieSBkZWZhdWx0 IGNvbWVzIHVwIGluIGNkY19ldGhlciBtb2RlLgo+IFRoaXMgcGF0Y2ggYWxsb3dzIHI4MTUyIHRv IGNsYWltIHRoZSBkZXZpY2U6Cj4gICAgQnVzIDAwMiBEZXZpY2UgMDAyOiBJRCAxM2IxOjAwNDEg TGlua3N5cwo+Cj4gU2lnbmVkLW9mZi1ieTogR3JhbnQgR3J1bmRsZXIgPGdydW5kbGVyQGNocm9t aXVtLm9yZz4KPiBSZXZpZXdlZC1ieTogRG91Z2xhcyBBbmRlcnNvbiA8ZGlhbmRlcnNAY2hyb21p dW0ub3JnPgo+IFNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KPiBba3J6azogUmViYXNlIG9uIHY0LjRdCj4gU2lnbmVkLW9mZi1ieTogS3J6eXN6dG9m IEtvemxvd3NraSA8a3J6a0BrZXJuZWwub3JnPgoKdGhhbmtzIGtyemshCgpGVFIsIHRvIHN1cHBv cnQgUlRMODE1M0IgKEhXIElEIDB4NjAxMCksIHRoZSBmb2xsb3cgcGF0Y2ggc2VyaWVzIHRvCmJy aW5nIHI4MTUyIHYxLjA5LjkgZHJpdmVyIGZyb20gNC4xNCBrZXJuZWwub3JnIHRvIDMgKG9mIDUp IG9sZGVyCkNocm9tZSBPUyBrZXJuZWxzOgoKMy4xNDogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9xL3RvcGljOiUyMnVwZGF0ZV9yODE1Mi0zLjE0JTIyKyhzdGF0dXM6 b3BlbiUyME9SJTIwc3RhdHVzOm1lcmdlZCkKMy4xODogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcu Z29vZ2xlc291cmNlLmNvbS9xL3RvcGljOiUyNTIydXBkYXRlLXI4MTUyLTMuMTglMjUyMisoc3Rh dHVzOm9wZW4rT1Irc3RhdHVzOm1lcmdlZCkKNC40OiBodHRwczovL2Nocm9taXVtLXJldmlldy5n b29nbGVzb3VyY2UuY29tL3EvdG9waWM6JTI1MjJ1cGRhdGVfcjgxNTItNC40JTI1MjIrKHN0YXR1 czpvcGVuK09SK3N0YXR1czptZXJnZWQpCgpjYXZlYXQ6IFRoZXNlIHNlcmllcyBhcmUgbm90IHN1 aXRhYmxlIGRpcmVjdGx5IGZvciBrZXJuZWwub3JnCnN1Ym1pc3Npb24gKGV4dHJhbmVvdXMgc3R1 ZmYgaW4gdGhlIGNvbW1pdCBtZXNzYWdlcywgb3JkZXIgaXMKZGlmZmVyZW50KS4gVXNpbmcgdGhl IG9yaWdpbmFsIFNIQTEgKGluIGVhY2ggY29tbWl0IG1lc3NhZ2UpLCB0aGlzIGNhbgphbGwgYmUg Zml4ZWQgdXAgYnkgaGFuZC9zaW1wbGUgc2NyaXB0cy4KCmNoZWVycywKZ3JhbnQKCgo+IC0tLQo+ ICBkcml2ZXJzL25ldC91c2IvY2RjX2V0aGVyLmMgfCAxMCArKysrKysrKysrCj4gIGRyaXZlcnMv bmV0L3VzYi9yODE1Mi5jICAgICB8ICAyICsrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0 aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYyBiL2Ry aXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwo+IGluZGV4IDY1NzgxMjdkYjg0Ny4uZjcxYWJlNTBl YTZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwo+ICsrKyBiL2Ry aXZlcnMvbmV0L3VzYi9jZGNfZXRoZXIuYwo+IEBAIC00NjEsNiArNDYxLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcml2ZXJfaW5mbyB3d2FuX2luZm8gPSB7Cj4gICNkZWZpbmUgUkVBTFRFS19W RU5ET1JfSUQgICAgICAweDBiZGEKPiAgI2RlZmluZSBTQU1TVU5HX1ZFTkRPUl9JRCAgICAgIDB4 MDRlOAo+ICAjZGVmaW5lIExFTk9WT19WRU5ET1JfSUQgICAgICAgMHgxN2VmCj4gKyNkZWZpbmUg TElOS1NZU19WRU5ET1JfSUQgICAgICAweDEzYjEKPiAgI2RlZmluZSBOVklESUFfVkVORE9SX0lE ICAgICAgIDB4MDk1NQo+ICAjZGVmaW5lIEhQX1ZFTkRPUl9JRCAgICAgICAgICAgMHgwM2YwCj4K PiBAQCAtNjUwLDYgKzY1MSwxNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2VfaWQg IHByb2R1Y3RzW10gPSB7Cj4gICAgICAgICAuZHJpdmVyX2luZm8gPSAwLAo+ICB9LAo+Cj4gKyNp ZiBJU19FTkFCTEVEKENPTkZJR19VU0JfUlRMODE1MikKPiArLyogTGlua3N5cyBVU0IzR0lHVjEg RXRoZXJuZXQgQWRhcHRlciAqLwo+ICt7Cj4gKyAgICAgICBVU0JfREVWSUNFX0FORF9JTlRFUkZB Q0VfSU5GTyhMSU5LU1lTX1ZFTkRPUl9JRCwgMHgwMDQxLCBVU0JfQ0xBU1NfQ09NTSwKPiArICAg ICAgICAgICAgICAgICAgICAgICBVU0JfQ0RDX1NVQkNMQVNTX0VUSEVSTkVULCBVU0JfQ0RDX1BS T1RPX05PTkUpLAo+ICsgICAgICAgLmRyaXZlcl9pbmZvID0gMCwKPiArfSwKPiArI2VuZGlmCj4g Kwo+ICAvKiBMZW5vdm8gVGhpbmtwYWQgVVNCIDMuMCBFdGhlcm5ldCBBZGFwdGVycyAoYmFzZWQg b24gUmVhbHRlayBSVEw4MTUzKSAqLwo+ICB7Cj4gICAgICAgICBVU0JfREVWSUNFX0FORF9JTlRF UkZBQ0VfSU5GTyhMRU5PVk9fVkVORE9SX0lELCAweDcyMDUsIFVTQl9DTEFTU19DT01NLAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC91c2IvcjgxNTIuYyBiL2RyaXZlcnMvbmV0L3VzYi9yODE1 Mi5jCj4gaW5kZXggODk5NTBmNWNlYTcxLi5iMmMxYTQzNTM1N2YgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9uZXQvdXNiL3I4MTUyLmMKPiArKysgYi9kcml2ZXJzL25ldC91c2IvcjgxNTIuYwo+IEBA IC01MDYsNiArNTA2LDcgQEAgZW51bSBydGw4MTUyX2ZsYWdzIHsKPiAgI2RlZmluZSBWRU5ET1Jf SURfUkVBTFRFSyAgICAgICAgICAgICAgMHgwYmRhCj4gICNkZWZpbmUgVkVORE9SX0lEX1NBTVNV TkcgICAgICAgICAgICAgIDB4MDRlOAo+ICAjZGVmaW5lIFZFTkRPUl9JRF9MRU5PVk8gICAgICAg ICAgICAgICAweDE3ZWYKPiArI2RlZmluZSBWRU5ET1JfSURfTElOS1NZUyAgICAgICAgICAgICAg MHgxM2IxCj4gICNkZWZpbmUgVkVORE9SX0lEX05WSURJQSAgICAgICAgICAgICAgIDB4MDk1NQo+ Cj4gICNkZWZpbmUgTUNVX1RZUEVfUExBICAgICAgICAgICAgICAgICAgIDB4MDEwMAo+IEBAIC00 Mzc2LDYgKzQzNzcsNyBAQCBzdGF0aWMgc3RydWN0IHVzYl9kZXZpY2VfaWQgcnRsODE1Ml90YWJs ZVtdID0gewo+ICAgICAgICAge1JFQUxURUtfVVNCX0RFVklDRShWRU5ET1JfSURfU0FNU1VORywg MHhhMTAxKX0sCj4gICAgICAgICB7UkVBTFRFS19VU0JfREVWSUNFKFZFTkRPUl9JRF9MRU5PVk8s ICAweDcyMDUpfSwKPiAgICAgICAgIHtSRUFMVEVLX1VTQl9ERVZJQ0UoVkVORE9SX0lEX0xFTk9W TywgIDB4MzA0Zil9LAo+ICsgICAgICAge1JFQUxURUtfVVNCX0RFVklDRShWRU5ET1JfSURfTElO S1NZUywgMHgwMDQxKX0sCj4gICAgICAgICB7UkVBTFRFS19VU0JfREVWSUNFKFZFTkRPUl9JRF9O VklESUEsICAweDA5ZmYpfSwKPiAgICAgICAgIHt9Cj4gIH07Cj4gLS0KPiAyLjcuNAo+Ci0tLQpU byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUg bGludXgtdXNiIiBpbgp0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2Vy bmVsLm9yZwpNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21h am9yZG9tby1pbmZvLmh0bWwK