From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.7 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CAB2EC433B4 for ; Mon, 17 May 2021 12:55:54 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5142661166 for ; Mon, 17 May 2021 12:55:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5142661166 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=27No7rTuijCpeT7wkAwpvh8VEWS7MDZGCVnozP0LuO0=; b=Dg69CFkWQFZZHRmj2dmQlPjoE hiQrke1iaHJp/o6mQpYcJRs/8bl7VLIza+Q1YqTM9g5oBuPfYdh9Hc8HDkiXkoKlHRvjzMjj4I/rN e5qfbU0xmQUE0QNw5g7Jtq7ngTsvxJAGWYYe6ZkytuQV6vdcfhhiz1tkvkgPWr9wFXMvg+v00Ttz1 rRrnjjcQSlH0d0GEmiITZ0JC35gNzxo/L41XoLZJ/TXDnkyh65XCCaOPNaKKNKdmYVuyszxVMECZa z+FZ7par6ECEU/RPxYRjxDFDkXiv+Q4hGhNAXQlQgeZnWJh8XTtvkzXwPuXftWDJgxxwzrFoXRtd2 sawUFg36Q==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1licjb-00EydZ-VG; Mon, 17 May 2021 12:52:36 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1licfL-00EyLZ-C3 for linux-arm-kernel@desiato.infradead.org; Mon, 17 May 2021 12:48:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References: MIME-Version:Sender:Reply-To:Content-ID:Content-Description; bh=HtHoZIIEe3sQeYeRVH9TD1iYg5XKzpsltRfj9VxFrHc=; b=4NDoel+OzRZqNBxdfnXwOyrnJ3 tuCnE2d22p1XunWecUlI/8BVCe/5ISmjUCizJEmFqHn0GDCqZe1XbkRUb5HuTPUguvFms73/hyPIB reGrakSQM0n+J2bOlDMyLCP7hXTFX2Xks5qBomWY06nRFVrulgDEbXCPevlS64NRx6dH9pTydDimG M5lBnQyMaXJyBbCRNJA57R9yLjqCouaG38ptE8sgj4+IDdB1jF2SlNQ5+SY2r9mY3Bz+olw4K1oLR Z9b70+M1J695DI4l7N0R0L758XCoan7IyE/4O5bpyAiTMH+FUey0LiE5PhGQrtQZaI2d+JSCikCv3 GISCT5bg==; Received: from mail-io1-xd32.google.com ([2607:f8b0:4864:20::d32]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1licfI-00Dlsu-DD for linux-arm-kernel@lists.infradead.org; Mon, 17 May 2021 12:48:10 +0000 Received: by mail-io1-xd32.google.com with SMTP id t11so5617506iol.9 for ; Mon, 17 May 2021 05:48:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=HtHoZIIEe3sQeYeRVH9TD1iYg5XKzpsltRfj9VxFrHc=; b=adxWF7RTbDikGS27cdvekoOO5gRdd2LQXHm94drdj+8mcMr7pBZuN//8HfhT/ZF2vU 1tkuW00yVVYj3EfH7SljKHJxyRrZWV2bePaQriG5V/21Puz+5Tos+wmLQvIqmgdAyzYV yWxyzIKQ8by9Jk8391sbPD41LxZ+sE/b7M87nKhgG8b7g8z2l8jNsFuaU4/DMiveQGUB hB4H+8q5ziKj8XMkQKFTxk3ORL1jmnJcq5l0XTGdu0/EkYTOpBVh+3nyYKKu+mj+3jCz tGRtHgT/JCuan91i2mmpkh0HoPOuEdbDMbofRQf70fQgdw3YZeypDdxE2mOxeEWyOMPe f3fQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=HtHoZIIEe3sQeYeRVH9TD1iYg5XKzpsltRfj9VxFrHc=; b=dmjF2xB0VLezyKEWtNjk9q5dO7osD73RyViQQyRCcfgnZYK6K4IUcy4DIrK29dJUxI YEbWd6lAGjoaxeyU1j2aK/XDkvAA/ZWbCy1L0EmYBWreDsUBn/lVDWI2h0vGi7uXPhDN y8p964dfML0E8G6dPrk6hFwpCfYN3KWOZpdVX3bL0YxaL/P3y2VL4rFFV0IDSKlOb3Fh kQQaeEh+sP5otZzEgKc8v9vh3mySqAB3z96qCiEkHTXA/yOAATS9+iWiSFm7HKDdJEyP BUSX1taW6UncxB2znR7F8dRl7i2HswmrlC/EnhBeuvqRzNgJhwSN0lcFrCVNE1ePIQ0Q DpxA== X-Gm-Message-State: AOAM532/B8TnJ8JsF+ULCCxiHtnZTjqMF9vfYvWKbw+XqISZme+oQ9Y2 kmePEYjHKI1TnFJ0jQLOO2Ebhb04roQoxKmOy4s= X-Google-Smtp-Source: ABdhPJzdH+BOvbnacYJDOywfupjgpXfYnfgO+gWyIxxuaWHydV0jK2ejZXMYb421vqKf16OlRR+Hv3hCz+EEiXCngTs= X-Received: by 2002:a02:91c1:: with SMTP id s1mr55943438jag.61.1621255686718; Mon, 17 May 2021 05:48:06 -0700 (PDT) MIME-Version: 1.0 References: <421cc86c-b66f-b372-32f7-21e59f9a98bc@kontron.de> <494cd993-aa45-ff11-8d76-f2233fcf7295@kontron.de> In-Reply-To: From: Dave Taht Date: Mon, 17 May 2021 05:47:55 -0700 Message-ID: Subject: Re: i.MX8MM Ethernet TX Bandwidth Fluctuations To: Joakim Zhang Cc: Frieder Schrempf , dl-linux-imx , "netdev@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210517_054808_497339_EC1B63C9 X-CRM114-Status: GOOD ( 44.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBNYXkgMTcsIDIwMjEgYXQgMzoyNSBBTSBKb2FraW0gWmhhbmcgPHFpYW5ncWluZy56 aGFuZ0BueHAuY29tPiB3cm90ZToKPgo+Cj4gSGkgRnJpZWRlciwKPgo+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0KPiA+IEZyb206IEZyaWVkZXIgU2NocmVtcGYgPGZyaWVkZXIuc2NocmVt cGZAa29udHJvbi5kZT4KPiA+IFNlbnQ6IDIwMjHlubQ15pyIMTfml6UgMTU6MTcKPiA+IFRvOiBK b2FraW0gWmhhbmcgPHFpYW5ncWluZy56aGFuZ0BueHAuY29tPjsgZGwtbGludXgtaW14Cj4gPiA8 bGludXgtaW14QG54cC5jb20+OyBuZXRkZXZAdmdlci5rZXJuZWwub3JnOwo+ID4gbGludXgtYXJt LWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCj4gPiBTdWJqZWN0OiBSZTogaS5NWDhNTSBFdGhl cm5ldCBUWCBCYW5kd2lkdGggRmx1Y3R1YXRpb25zCj4gPgo+ID4gSGkgSm9ha2ltLAo+ID4KPiA+ IE9uIDEzLjA1LjIxIDE0OjM2LCBKb2FraW0gWmhhbmcgd3JvdGU6Cj4gPiA+Cj4gPiA+IEhpIEZy aWVkZXIsCj4gPiA+Cj4gPiA+IEZvciBOWFAgcmVsZWFzZSBrZXJuZWwsIEkgdGVzdGVkIG9uIGku TVg4TVEvTU0vTVAsIEkgY2FuIHJlcHJvZHVjZSBvbgo+ID4gTDUuMTAsIGFuZCBjYW4ndCByZXBy b2R1Y2Ugb24gTDUuNC4KPiA+ID4gQWNjb3JkaW5nIHRvIHlvdXIgZGVzY3JpcHRpb24sIHlvdSBj YW4gcmVwcm9kdWNlIHRoaXMgaXNzdWUgYm90aCBMNS40IGFuZAo+ID4gTDUuMTA/IFNvIEkgbmVl ZCBjb25maXJtIHdpdGggeW91Lgo+ID4KPiA+IFRoYW5rcyBmb3IgbG9va2luZyBpbnRvIHRoaXMu IEkgY291bGQgcmVwcm9kdWNlIHRoaXMgb24gNS40IGFuZCA1LjEwIGJ1dCBib3RoCj4gPiBrZXJu ZWxzIHdlcmUgb2ZmaWNpYWwgbWFpbmxpbmUga2VybmVscyBhbmQgKipub3QqKiBmcm9tIHRoZSBs aW51eC1pbXgKPiA+IGRvd25zdHJlYW0gdHJlZS4KPiBPay4KPgo+ID4gTWF5YmUgdGhlcmUgaXMg c29tZSBwcm9ibGVtIGluIHRoZSBtYWlubGluZSB0cmVlIGFuZCBpdCBnb3QgaW5jbHVkZWQgaW4g dGhlCj4gPiBOWFAgcmVsZWFzZSBrZXJuZWwgc3RhcnRpbmcgZnJvbSBMNS4xMD8KPiBObywgdGhp cyBtdWNoIGxvb2tzIGxpa2UgYSBrbm93biBpc3N1ZSwgaXQgc2hvdWxkIGFsd2F5cyBleGlzdCBh ZnRlciBhZGRpbmcgQVZCIHN1cHBvcnQgaW4gbWFpbmxpbmUuCj4KPiBFTkVUIElQIGlzIG5vdCBh IF9yZWFsXyBtdWx0aXBsZSBxdWV1ZXMgcGVyIG15IHVuZGVyc3RhbmRpbmcsIHF1ZXVlIDAgaXMg Zm9yIGJlc3QgZWZmb3J0LiBBbmQgdGhlIHF1ZXVlIDEmMiBpcyBmb3IgQVZCIHN0cmVhbSB3aG9z ZSBkZWZhdWx0IGJhbmR3aWR0aCBmcmFjdGlvbiBpcyAwLjUgaW4gZHJpdmVyLiAoaS5lLiA1ME1i cHMgZm9yIDEwME1icHMgYW5kIDUwME1icHMgZm9yIDFHYnBzKS4gV2hlbiB0cmFuc21pdHRpbmcg cGFja2V0cywgbmV0IGNvcmUgd2lsbCBzZWxlY3QgcXVldWVzIHJhbmRvbWx5LCB3aGljaCBjYXVz ZWQgdGhlIHR4IGJhbmR3aWR0aCBmbHVjdHVhdGlvbnMuIFNvIHlvdSBjYW4gY2hhbmdlIHRvIHVz ZSBzaW5nbGUgcXVldWUgaWYgeW91IGNhcmUgbW9yZSBhYm91dCB0eCBiYW5kd2lkdGguIE9yIHlv dSBjYW4gcmVmZXIgdG8gTlhQIGludGVybmFsIGltcGxlbWVudGF0aW9uLgo+IGUuZy4KPiAtLS0g YS9hcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVzY2FsZS9pbXg4bXEuZHRzaQo+ICsrKyBiL2FyY2gv YXJtNjQvYm9vdC9kdHMvZnJlZXNjYWxlL2lteDhtcS5kdHNpCj4gQEAgLTkxNiw4ICs5MTYsOCBA QAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCZjbGsgSU1YOE1R X0NMS19FTkVUX1BIWV9SRUY+Owo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xv Y2stbmFtZXMgPSAiaXBnIiwgImFoYiIsICJwdHAiLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiZW5ldF9jbGtfcmVmIiwgImVuZXRfb3V0IjsKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzbCxudW0tdHgtcXVldWVzID0gPDM+Owo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnNsLG51bS1yeC1xdWV1ZXMgPSA8Mz47Cj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmc2wsbnVtLXR4LXF1ZXVlcyA9IDwxPjsK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzbCxudW0tcngtcXVldWVzID0gPDE+ Owo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gImRpc2FibGVkIjsK PiAgICAgICAgICAgICAgICAgICAgICAgICB9Owo+ICAgICAgICAgICAgICAgICB9Owo+Cj4gSSBo b3BlIHRoaXMgY2FuIGhlbHAgeW91IDopCgpQYXRjaGluZyBvdXQgdGhlIHF1ZXVlcyBpcyBwcm9i YWJseSBub3QgdGhlIHJpZ2h0IHRoaW5nLgoKZm9yIHN0YXJ0ZXJzLi4uIElzIHRoZXJlIEJRTCBz dXBwb3J0IGluIHRoaXMgZHJpdmVyPyBJdCB3b3VsZCBiZQpoZWxwZnVsIHRvIGhhdmUgb24gYWxs IHF1ZXVlcy4KCkFsc28gaWYgdGhlcmUgd2FzIGEgd2F5IHRvIHByZXNlbnQgaXQgYXMgdHdvIGlu dGVyZmFjZXMsIHJhdGhlciB0aGFuCm9uZSwgdGhhdCB3b3VsZCBhbGxvdyBmb3IgYSBzcGVjaWZp YyBhdmIgZGV2aWNlIHRvIGJlCnByZXNlbnRlZC4KCk9yOgoKSXMgdGhlcmUgYSBzdGFuZGFyZCBt ZWFucyBvZiBzaWduYWxsaW5nIGRvd24gdGhlIHN0YWNrIHZpYSB0aGUgSVAKbGF5ZXIgKGEgZHNj cD8gYSBzZXRzb2Nrb3B0PykgdGhhdCB0aGUgQVZCIHF1ZXVlIGlzIHJlcXVlc3RlZD8KCgoKPiBC ZXN0IFJlZ2FyZHMsCj4gSm9ha2ltIFpoYW5nCj4gPiBCZXN0IHJlZ2FyZHMKPiA+IEZyaWVkZXIK PiA+Cj4gPiA+Cj4gPiA+IEJlc3QgUmVnYXJkcywKPiA+ID4gSm9ha2ltIFpoYW5nCj4gPiA+Cj4g PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gPj4gRnJvbTogSm9ha2ltIFpoYW5n IDxxaWFuZ3FpbmcuemhhbmdAbnhwLmNvbT4KPiA+ID4+IFNlbnQ6IDIwMjHlubQ15pyIMTLml6Ug MTk6NTkKPiA+ID4+IFRvOiBGcmllZGVyIFNjaHJlbXBmIDxmcmllZGVyLnNjaHJlbXBmQGtvbnRy b24uZGU+OyBkbC1saW51eC1pbXgKPiA+ID4+IDxsaW51eC1pbXhAbnhwLmNvbT47IG5ldGRldkB2 Z2VyLmtlcm5lbC5vcmc7Cj4gPiA+PiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKPiA+ID4+IFN1YmplY3Q6IFJFOiBpLk1YOE1NIEV0aGVybmV0IFRYIEJhbmR3aWR0aCBGbHVj dHVhdGlvbnMKPiA+ID4+Cj4gPiA+Pgo+ID4gPj4gSGkgRnJpZWRlciwKPiA+ID4+Cj4gPiA+PiBT b3JyeSwgSSBtaXNzZWQgdGhpcyBtYWlsIGJlZm9yZSwgSSBjYW4gcmVwcm9kdWNlIHRoaXMgaXNz dWUgYXQgbXkKPiA+ID4+IHNpZGUsIEkgd2lsbCB0cnkgbXkgYmVzdCB0byBsb29rIGludG8gdGhp cyBpc3N1ZS4KPiA+ID4+Cj4gPiA+PiBCZXN0IFJlZ2FyZHMsCj4gPiA+PiBKb2FraW0gWmhhbmcK PiA+ID4+Cj4gPiA+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4+PiBGcm9tOiBG cmllZGVyIFNjaHJlbXBmIDxmcmllZGVyLnNjaHJlbXBmQGtvbnRyb24uZGU+Cj4gPiA+Pj4gU2Vu dDogMjAyMeW5tDXmnIg25pelIDIyOjQ2Cj4gPiA+Pj4gVG86IGRsLWxpbnV4LWlteCA8bGludXgt aW14QG54cC5jb20+OyBuZXRkZXZAdmdlci5rZXJuZWwub3JnOwo+ID4gPj4+IGxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+ID4gPj4+IFN1YmplY3Q6IGkuTVg4TU0gRXRoZXJu ZXQgVFggQmFuZHdpZHRoIEZsdWN0dWF0aW9ucwo+ID4gPj4+Cj4gPiA+Pj4gSGksCj4gPiA+Pj4K PiA+ID4+PiB3ZSBvYnNlcnZlZCBzb21lIHdlaXJkIHBoZW5vbWVub24gd2l0aCB0aGUgRXRoZXJu ZXQgb24gb3VyCj4gPiA+Pj4gaS5NWDhNLU1pbmkgYm9hcmRzLiBJdCBoYXBwZW5zIHF1aXRlIG9m dGVuIHRoYXQgdGhlIG1lYXN1cmVkCj4gPiA+Pj4gYmFuZHdpZHRoIGluIFRYIGRpcmVjdGlvbiBk cm9wcyBmcm9tIGl0cyBleHBlY3RlZC9ub21pbmFsIHZhbHVlIHRvCj4gPiA+Pj4gc29tZXRoaW5n IGxpa2UgNTAlIChmb3IgMTAwTSkgb3IgfjY3JSAoZm9yIDFHKSBjb25uZWN0aW9ucy4KPiA+ID4+ Pgo+ID4gPj4+IFNvIGZhciB3ZSByZXByb2R1Y2VkIHRoaXMgd2l0aCB0d28gZGlmZmVyZW50IGhh cmR3YXJlIGRlc2lnbnMgdXNpbmcKPiA+ID4+PiB0d28gZGlmZmVyZW50IFBIWXMgKFJHTUlJIFZT Qzg1MzEgYW5kIFJNSUkgS1NaODA4MSksIHR3byBkaWZmZXJlbnQKPiA+ID4+PiBrZXJuZWwgdmVy c2lvbnMgKHY1LjQgYW5kIHY1LjEwKSBhbmQgbGluayBzcGVlZHMgb2YgMTAwTSBhbmQgMUcuCj4g PiA+Pj4KPiA+ID4+PiBUbyBtZWFzdXJlIHRoZSB0aHJvdWdocHV0IHdlIHNpbXBseSBydW4gaXBl cmYzIG9uIHRoZSB0YXJnZXQgKHdpdGggYQo+ID4gPj4+IHNob3J0IHAycCBjb25uZWN0aW9uIHRv IHRoZSBob3N0IFBDKSBsaWtlIHRoaXM6Cj4gPiA+Pj4KPiA+ID4+PiAgIGlwZXJmMyAtYyAxOTIu MTY4LjEuMTAgLS1iaWRpcgo+ID4gPj4+Cj4gPiA+Pj4gQnV0IGV2ZW4gc29tZXRoaW5nIG1vcmUg c2ltcGxlIGxpa2UgdGhpcyBjYW4gYmUgdXNlZCB0byBnZXQgdGhlIGluZm8KPiA+ID4+PiAod2l0 aCAnbmMgLWwgLXAgMTEyMiA+IC9kZXYvbnVsbCcgcnVubmluZyBvbiB0aGUgaG9zdCk6Cj4gPiA+ Pj4KPiA+ID4+PiAgIGRkIGlmPS9kZXYvemVybyBicz0xME0gY291bnQ9MSB8IG5jIDE5Mi4xNjgu MS4xMCAxMTIyCj4gPiA+Pj4KPiA+ID4+PiBUaGUgcmVzdWx0cyBmbHVjdHVhdGUgYmV0d2VlbiBl YWNoIHRlc3QgcnVuIGFuZCBhcmUgc29tZXRpbWVzICdnb29kJwo+ID4gKGUuZy4KPiA+ID4+PiB+ OTAgTUJpdC9zIGZvciAxMDBNIGxpbmspIGFuZCBzb21ldGltZXMgJ2JhZCcgKGUuZy4gfjQ1IE1C aXQvcyBmb3IKPiA+ID4+PiAxMDBNCj4gPiA+PiBsaW5rKS4KPiA+ID4+PiBUaGVyZSBpcyBub3Ro aW5nIGVsc2UgcnVubmluZyBvbiB0aGUgc3lzdGVtIGluIHBhcmFsbGVsLiBTb21lIG1vcmUKPiA+ ID4+PiBpbmZvIGlzIGFsc28gYXZhaWxhYmxlIGluIHRoaXMgcG9zdDogWzFdLgo+ID4gPj4+Cj4g PiA+Pj4gSWYgdGhlcmUncyBhbnlvbmUgYXJvdW5kIHdobyBoYXMgYW4gaWRlYSBvbiB3aGF0IG1p Z2h0IGJlIHRoZSByZWFzb24KPiA+ID4+PiBmb3IgdGhpcywgcGxlYXNlIGxldCBtZSBrbm93IQo+ ID4gPj4+IE9yIG1heWJlIHNvbWVvbmUgd291bGQgYmUgd2lsbGluZyB0byBkbyBhIHF1aWNrIHRl c3Qgb24gaGlzIG93bgo+ID4gaGFyZHdhcmUuCj4gPiA+Pj4gVGhhdCB3b3VsZCBhbHNvIGJlIGhp Z2hseSBhcHByZWNpYXRlZCEKPiA+ID4+Pgo+ID4gPj4+IFRoYW5rcyBhbmQgYmVzdCByZWdhcmRz Cj4gPiA+Pj4gRnJpZWRlcgo+ID4gPj4+Cj4gPiA+Pj4gWzFdOgo+ID4gPj4+IGh0dHBzOi8vZXVy MDEuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmNv Cj4gPiA+Pj4gbW0KPiA+ID4+PiB1Cj4gPiA+Pj4KPiA+ID4+Cj4gPiBuaXR5Lm54cC5jb20lMkZ0 NSUyRmktTVgtUHJvY2Vzc29ycyUyRmktTVg4TU0tRXRoZXJuZXQtVFgtQmFuZHdpZHRoLQo+ID4g Pj4+Cj4gPiA+Pgo+ID4gRmx1Y3R1YXRpb25zJTJGbS1wJTJGMTI0MjQ2NyUyM00xNzA1NjMmYW1w O2RhdGE9MDQlN0MwMSU3Q3FpYW5nCj4gPiA+Pj4KPiA+ID4+Cj4gPiBxaW5nLnpoYW5nJTQwbnhw LmNvbSU3QzVkNDg2NmQ0NTY1ZTRjYmMzNmEwMDhkOTEwOWRhMGZmJTdDNjg2ZWExZAo+ID4gPj4+ Cj4gPiA+Pgo+ID4gM2JjMmI0YzZmYTkyY2Q5OWM1YzMwMTYzNSU3QzAlN0MwJTdDNjM3NTU5MDkx NDYzNzkyOTMyJTdDVW5rbm8KPiA+ID4+Pgo+ID4gPj4KPiA+IHduJTdDVFdGcGJHWnNiM2Q4ZXlK V0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYQo+ID4gPj4+Cj4g PiA+Pgo+ID4gV3dpTENKWFZDSTZNbjAlM0QlN0MxMDAwJmFtcDtzZGF0YT15Z2NUaFFPTEl6cDBs emhYYWNSTGpTam5qbTFGRWoKPiA+ID4+PiBZU3hha1h3WnR4ZGU4JTNEJmFtcDtyZXNlcnZlZD0w CgoKCi0tIApMYXRlc3QgUG9kY2FzdDoKaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2ZlZWQvdXBk YXRlL3VybjpsaTphY3Rpdml0eTo2NzkxMDE0Mjg0OTM2Nzg1OTIwLwoKRGF2ZSBUw6RodCBDVE8s IFRla0xpYnJlLCBMTEMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK