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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6E7DDC4167B for ; Tue, 5 Dec 2023 20:02:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Mime-Version:Subject:References: In-Reply-To:Message-ID:Cc:To:From:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=Jz0m0gDQ4iTvDc9wvsiszL7fbuM+mLYcpNv1u5b24vs=; b=qYc5QCDn8Vo9wKS//UxS7RtE99 4YEjB2Evx6yCDp1TTRRArICwoMupLaxugCw2FTYQTTgmohpqTJylhRsK97CULSVdeYW1MoAD3e6ED eLa70R6H7eEEm+i8voapa0B/FYHPG0ogsHuKDoihe5jFjKTdi6WMJyryefVminIy/kFiw/maCzbIx nsjtb1+bRw2693d69Jq0DYT93AzoD4k+K074ffEmVbvP/vNgcbghmYpj36sl3GwHs/L1dI2AP0Bv7 ft1Cdbjpk2RC1bVZnCXtSQLI/GqxYHe/XvNkigSGbWTF9uSHEC821HY7mIq0wMejeyrc6XXwaqWya kRVRBMXg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rAbcA-008KWY-37; Tue, 05 Dec 2023 20:01:54 +0000 Received: from mail-qk1-x72a.google.com ([2607:f8b0:4864:20::72a]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1rAbc7-008KVb-3C for linux-arm-kernel@lists.infradead.org; Tue, 05 Dec 2023 20:01:53 +0000 Received: by mail-qk1-x72a.google.com with SMTP id af79cd13be357-77f0b8abd3aso136382685a.1 for ; Tue, 05 Dec 2023 12:01:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701806508; x=1702411308; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:subject:references :in-reply-to:message-id:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=57/0OhXNeSQH9MeOrdfridw7DT7/gjMEM3JF3mFlNJc=; b=Zd3wpJQpObU/CPiqNbc7SPFJw9l8p/rXENiag+ehf9RglhJJND32CQS9ALik17SRat wSgXDHmkXsSWdPoEKeahJG49wvQY6M11LmuM1BSe0k88GHkUPHlObV1p0KzN/e+P3hF+ TEAoaS5QKL4KU0YGXensSQDC9IZUZgL3+gyd9Y2+KYTDxLui7oT9KlHOVOdBjf8W3FEt EMnHR+XD3+4WQSi/cK7lGxyBieazcd5WFE45G/ZhFHPlqKAhEvmCt1M9AOF+Kih+ZBNr a7Yl8nzFdQKpRedX2H1Bcd90Ub65cAv13N+pAHy/DkaMmS78pWmDoy1d4zltvZidLqXJ EMvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701806508; x=1702411308; h=content-transfer-encoding:mime-version:subject:references :in-reply-to:message-id:cc:to:from:date:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=57/0OhXNeSQH9MeOrdfridw7DT7/gjMEM3JF3mFlNJc=; b=DTseP7i4nnTdD7Pnx3h422uwt+vlXqfeZ7285FyLZ439eaC3FzJvv9663viGey16kt 2siLLu+cemPzdmbUvt1+Gstxt4IvnPMCi6aK3wxW4E1cTOSSz6tqQvxhiJlXcA7R+HFc N9alIcIXmNq2+CILpWKuvQMmbYB/Kl32kUmVF7sc2aiKMb3E8MqCKK1z63FgTJsVDk3O kC7wHV4znIH1ZdP7/Am8Pz4FotFjfg5paNA5xKm1v0Im9imP7qFEnL6woxJbhAuPGOSf iwmQkZlImKUl5tgYyDkPZ2n1V4sID6rAlHsJPGObEuqnK9IbfuQFZzasBIJFICbwhfDh xtXA== X-Gm-Message-State: AOJu0YxsbnajnUnOTaEDthKWueGlMYe8XGd5kr8X0FTPj0XleOhVx68A +8shWzFVV/AJ5sZ6e5HIkNo= X-Google-Smtp-Source: AGHT+IHPJi2LHTZ5kQ7UCzMYZnsbaKN6UHzf0dQ/epfmYxKwG30UraQugSMbGBuSqNfNoCTEbhSZPA== X-Received: by 2002:a05:620a:5372:b0:77d:cf48:9358 with SMTP id op50-20020a05620a537200b0077dcf489358mr1535978qkn.9.1701806508231; Tue, 05 Dec 2023 12:01:48 -0800 (PST) Received: from localhost (114.66.194.35.bc.googleusercontent.com. [35.194.66.114]) by smtp.gmail.com with ESMTPSA id qj4-20020a05620a880400b0077589913a8bsm5267291qkn.132.2023.12.05.12.01.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Dec 2023 12:01:47 -0800 (PST) Date: Tue, 05 Dec 2023 15:01:47 -0500 From: Willem de Bruijn To: Stanislav Fomichev , Willem de Bruijn Cc: Florian Bezdeka , yoong.siang.song@intel.com, Jesper Dangaard Brouer , davem@davemloft.net, Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jonathan Corbet , Bjorn Topel , magnus.karlsson@intel.com, maciej.fijalkowski@intel.com, Jonathan Lemon , Alexei Starovoitov , Daniel Borkmann , John Fastabend , Lorenzo Bianconi , Tariq Toukan , Willem de Bruijn , Maxime Coquelin , Andrii Nakryiko , Mykola Lysenko , Martin KaFai Lau , Song Liu , Yonghong Song , KP Singh , Hao Luo , Jiri Olsa , Shuah Khan , Alexandre Torgue , Jose Abreu , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-doc@vger.kernel.org" , "bpf@vger.kernel.org" , "xdp-hints@xdp-project.net" , "linux-stm32@st-md-mailman.stormreply.com" , "linux-arm-kernel@lists.infradead.org" , "linux-kselftest@vger.kernel.org" Message-ID: <656f81abaeee7_3f5f95294ef@willemb.c.googlers.com.notmuch> In-Reply-To: References: <20231203165129.1740512-1-yoong.siang.song@intel.com> <20231203165129.1740512-3-yoong.siang.song@intel.com> <43b01013-e78b-417e-b169-91909c7309b1@kernel.org> <656de830e8d70_2e983e294ca@willemb.c.googlers.com.notmuch> <5a0faf8cc9ec3ab0d5082c66b909c582c8f1eae6.camel@siemens.com> <656f66023f7bd_3dd6422942a@willemb.c.googlers.com.notmuch> Subject: Re: [xdp-hints] Re: [PATCH bpf-next v3 2/3] net: stmmac: add Launch Time support to XDP ZC Mime-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231205_120152_028520_2DB0B628 X-CRM114-Status: GOOD ( 45.20 ) 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 U3RhbmlzbGF2IEZvbWljaGV2IHdyb3RlOgo+IE9uIDEyLzA1LCBXaWxsZW0gZGUgQnJ1aWpuIHdy b3RlOgo+ID4gU3RhbmlzbGF2IEZvbWljaGV2IHdyb3RlOgo+ID4gPiBPbiBUdWUsIERlYyA1LCAy MDIzIGF0IDc6MzTigK9BTSBGbG9yaWFuIEJlemRla2EKPiA+ID4gPGZsb3JpYW4uYmV6ZGVrYUBz aWVtZW5zLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4gPiBPbiBUdWUsIDIwMjMtMTItMDUgYXQg MTU6MjUgKzAwMDAsIFNvbmcsIFlvb25nIFNpYW5nIHdyb3RlOgo+ID4gPiA+ID4gT24gTW9uZGF5 LCBEZWNlbWJlciA0LCAyMDIzIDEwOjU1IFBNLCBXaWxsZW0gZGUgQnJ1aWpuIHdyb3RlOgo+ID4g PiA+ID4gPiBKZXNwZXIgRGFuZ2FhcmQgQnJvdWVyIHdyb3RlOgo+ID4gPiA+ID4gPiA+Cj4gPiA+ ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBPbiAxMi8zLzIzIDE3OjUxLCBTb25nIFlvb25nIFNpYW5n IHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gVGhpcyBwYXRjaCBlbmFibGVzIExhdW5jaCBUaW1lIChU aW1lLUJhc2VkIFNjaGVkdWxpbmcpIHN1cHBvcnQgdG8gWERQIHplcm8KPiA+ID4gPiA+ID4gPiA+ IGNvcHkgdmlhIFhEUCBUeCBtZXRhZGF0YSBmcmFtZXdvcmsuCj4gPiA+ID4gPiA+ID4gPgo+ID4g PiA+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogU29uZyBZb29uZyBTaWFuZzx5b29uZy5zaWFuZy5z b25nQGludGVsLmNvbT4KPiA+ID4gPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gPiA+ID4gICBkcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9zdG1tYWMuaCAgICAgIHwgIDIgKysKPiA+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEFzIHJlcXVlc3RlZCBiZWZvcmUsIEkgdGhpbmsgd2Ug bmVlZCB0byBzZWUgYW5vdGhlciBkcml2ZXIgaW1wbGVtZW50aW5nCj4gPiA+ID4gPiA+ID4gdGhp cy4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEkgcHJvcG9zZSBkcml2ZXIgaWdjIGFuZCBj aGlwIGkyMjUuCj4gPiA+ID4gPgo+ID4gPiA+ID4gU3VyZS4gSSB3aWxsIGluY2x1ZGUgaWdjIHBh dGNoZXMgaW4gbmV4dCB2ZXJzaW9uLgo+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4g PiA+IFRoZSBpbnRlcmVzdGluZyB0aGluZyBmb3IgbWUgaXMgdG8gc2VlIGhvdyB0aGUgTGF1bmNo VGltZSBtYXggMSBzZWNvbmQKPiA+ID4gPiA+ID4gPiBpbnRvIHRoZSBmdXR1cmVbMV0gaXMgaGFu ZGxlZCBjb2RlIHdpc2UuIE9uZSBzdWdnZXN0aW9uIGlzIHRvIGFkZCBhCj4gPiA+ID4gPiA+ID4g c2VjdGlvbiB0byBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcveHNrLXR4LW1ldGFkYXRhLnJzdCBw ZXIgZHJpdmVyIHRoYXQKPiA+ID4gPiA+ID4gPiBtZW50aW9ucy9kb2N1bWVudHMgdGhlc2UgZGlm ZmVyZW50IGhhcmR3YXJlIGxpbWl0YXRpb25zLiAgSXQgaXMgbmF0dXJhbAo+ID4gPiA+ID4gPiA+ IHRoYXQgZGlmZmVyZW50IHR5cGVzIG9mIGhhcmR3YXJlIGhhdmUgbGltaXRhdGlvbnMuICBUaGlz IGlzIGEgY2xvc2UtdG8KPiA+ID4gPiA+ID4gPiBoYXJkd2FyZS1sZXZlbCBhYnN0cmFjdGlvbi9B UEksIGFuZCBJTUhPIGFzIGxvbmcgYXMgd2UgZG9jdW1lbnQgdGhlCj4gPiA+ID4gPiA+ID4gbGlt aXRhdGlvbnMgd2UgY2FuIGV4cG9zZSB0aGlzIEFQSSB3aXRob3V0IHRvbyBtYW55IGxpbWl0YXRp b25zIGZvciBtb3JlCj4gPiA+ID4gPiA+ID4gY2FwYWJsZSBoYXJkd2FyZS4KPiA+ID4gPiA+Cj4g PiA+ID4gPiBTdXJlLiBJIHdpbGwgdHJ5IHRvIGFkZCBoYXJkd2FyZSBsaW1pdGF0aW9ucyBpbiBk b2N1bWVudGF0aW9uLgo+ID4gPiA+ID4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gSSB3b3VsZCBh c3N1bWUgdGhhdCB0aGUga2Z1bmMgd2lsbCBmYWlsIHdoZW4gYSB2YWx1ZSBpcyBwYXNzZWQgdGhh dAo+ID4gPiA+ID4gPiBjYW5ub3QgYmUgcHJvZ3JhbW1lZC4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ Cj4gPiA+ID4gPiBJbiBjdXJyZW50IGRlc2lnbiwgdGhlIHhza190eF9tZXRhZGF0YV9yZXF1ZXN0 KCkgZGludCBnb3QgcmV0dXJuIHZhbHVlLgo+ID4gPiA+ID4gU28gdXNlciB3b24ndCBrbm93IGlm IHRoZWlyIHJlcXVlc3QgaXMgZmFpbC4KPiA+ID4gPiA+IEl0IGlzIGNvbXBsZXggdG8gaW5mb3Jt IHVzZXIgd2hpY2ggcmVxdWVzdCBpcyBmYWlsaW5nLgo+ID4gPiA+ID4gVGhlcmVmb3JlLCBJTUhP LCBpdCBpcyBnb29kIHRoYXQgd2UgbGV0IGRyaXZlciBoYW5kbGUgdGhlIGVycm9yIHNpbGVudGx5 Lgo+ID4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IElmIHRoZSBwcm9ncmFtbWVkIHZhbHVlIGlzIGlu dmFsaWQsIHRoZSBwYWNrZXQgd2lsbCBiZSAiZHJvcHBlZCIgLyB3aWxsCj4gPiA+ID4gbmV2ZXIg bWFrZSBpdCB0byB0aGUgd2lyZSwgcmlnaHQ/Cj4gPiAKPiA+IFByb2dyYW1tYWJsZSBiZWhhdmlv ciBpcyB0byBlaXRoZXIgZHJvcCBvciBjYXAgdG8gc29tZSBib3VuZGFyeQo+ID4gdmFsdWUsIHN1 Y2ggYXMgdGhlIGZhcnRoZXN0IHByb2dyYW1tYWJsZSB0aW1lIGluIHRoZSBmdXR1cmU6IHRoZQo+ ID4gaG9yaXpvbi4gSW4gZnE6Cj4gPiAKPiA+ICAgICAgICAgICAgICAgICAvKiBDaGVjayBpZiBw YWNrZXQgdGltZXN0YW1wIGlzIHRvbyBmYXIgaW4gdGhlIGZ1dHVyZS4gKi8KPiA+ICAgICAgICAg ICAgICAgICBpZiAoZnFfcGFja2V0X2JleW9uZF9ob3Jpem9uKHNrYiwgcSwgbm93KSkgewo+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHEtPmhvcml6b25fZHJvcCkgewo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHEtPnN0YXRfaG9yaXpvbl9kcm9wcysr Owo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBxZGlz Y19kcm9wKHNrYiwgc2NoLCB0b19mcmVlKTsKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIH0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgIHEtPnN0YXRfaG9yaXpvbl9jYXBzKys7Cj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICBza2ItPnRzdGFtcCA9IG5vdyArIHEtPmhvcml6b247Cj4g PiAgICAgICAgICAgICAgICAgfQo+ID4gICAgICAgICAgICAgICAgIGZxX3NrYl9jYihza2IpLT50 aW1lX3RvX3NlbmQgPSBza2ItPnRzdGFtcDsKPiA+IAo+ID4gRHJvcCBpcyB0aGUgbW9yZSBvYnZp b3VzbHkgY29ycmVjdCBtb2RlLgo+ID4gCj4gPiBQcm9ncmFtbWluZyB3aXRoIGEgY2xvY2sgc291 cmNlIHRoYXQgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IHdpbGwKPiA+IHRoZW4gYmUgYSBw ZXJzaXN0ZW50IGZhaWx1cmUuCj4gPiAKPiA+IFByZWZlcmFibHksIHRoaXMgZHJpdmVyIGNhcGFi aWxpdHkgY2FuIGJlIHF1ZXJpZWQgYmVmb3JlaGFuZCAocmF0aGVyCj4gPiB0aGFuIG9ubHkgdGhy b3VnaCByZWFkaW5nIGVycm9yIGNvdW50ZXJzIGFmdGVyd2FyZHMpLgo+ID4gCj4gPiBQZXJoYXBz IGl0IHNob3VsZCBub3QgYmUgYSBkcml2ZXIgdGFzayB0byBjb252ZXJ0IGZyb20gcG9zc2libHkK PiA+IG11bHRpcGxlIGNsb2NrIHNvdXJjZXMgdG8gdGhlIGRldmljZSBuYXRpdmUgY2xvY2suIFJp Z2h0IG5vdywgd2UgZG8KPiA+IHVzZSBwZXItZGV2aWNlIHRpbWVjb3VudGVycyBmb3IgdGhpcywg aW1wbGVtZW50ZWQgaW4gdGhlIGRyaXZlci4KPiA+IAo+ID4gQXMgZm9yIHdoaWNoIGNsb2NrcyBh cmUgcmVsZXZhbnQuIEZvciBQVFAsIEkgc3VwcG9zZSB0aGUgZGV2aWNlIFBIQywKPiA+IGNvbnZl cnRlZCB0byBuc2VjLiBGb3IgcGFjaW5nIG9mZmxvYWQsIFRDUCB1c2VzIENMT0NLX01PTk9UT05J Qy4KPiAKPiBEbyB3ZSBuZWVkIHRvIGV4cG9zZSBzb21lIGdlbmVyaWMgbmV0ZGV2IG5ldGxpbmsg YXBpcyB0byBxdWVyeS9hZGp1c3QKPiBuaWMgY2xvY2sgc291cmNlcyAob3IgbWF5YmUgdGhlcmUg aXMgc29tZXRoaW5nIGV4aXN0aW5nIGFscmVhZHkpPwo+IFRoZW4gdGhlIHVzZXJzcGFjZSBjYW4g YmUgcmVzcG9uc2libGUgZm9yIHN5bmNpbmcvY29udmVydGluZyB0aGUKPiB0aW1lc3RhbXBzIHRv IHRoZSBpbnRlcm5hbCBuaWMgY2xvY2tzLiArMSB0byB0cnlpbmcgdG8gYXZvaWQgZG9pbmcKPiB0 aGlzIGluIHRoZSBkcml2ZXJzLgoKUGVyaGFwcy4gSSdtIGp1c3QgYSBiaXQgaGVzaXRhbnQgc2lu Y2UgdGhhdCBpcyBVQVBJIGFuZCB0aGlzIGlzIGFsbApxdWl0ZSBoYW5kLXdhdnkgc3RpbGwuCgpT b21lIG9mIHRoZSBjb252ZXJzaW9uIG5lY2Vzc2FyaWx5IGhhcyB0byBiZSBpbiB0aGUgZHJpdmVy LiBPbmx5IHRoZQpkcml2ZXIga25vd3MgdGhlIGRlc2NyaXB0b3IgZm9ybWF0LCBhbmQgbGltaXRh dGlvbnMgb2YgdGhhdCwgc3VjaCBhcwp0aGUgYml0LXdpZHRoIHRoYXQgY2FuIGJlIGVuY29kZWQu CgpJZiB3ZSBjYW5ub3QgbW92ZSBhbnl0aGluZyBvdXQgb2YgdGhlIGRyaXZlcnMgKHF1aXRlIGxp a2VseSksIHRoZW4KYWdyZWVkIHRoYXQgYSBuZXRkZXYvZXRodG9vbCBuZXRsaW5rIHF1ZXJ5IGFw cHJvYWNoIGlzIGhlbHBmdWwuCgpUbyBiZSBjbGVhcjogSSBkb24ndCBtZWFuIHRoYXQgdGhhdCBz aG91bGQgYmUgcGFydCBvZiB0aGlzIHNlcmllcy4KVGhpcyBpcyBub3QgYW4gWFNLIHNwZWNpZmlj IGNvbmNlcm4uCgo+ID4gPiA+IFRoYXQgaXMgY2xlYXJseSBhIHNpdHVhdGlvbiB0aGF0IHRoZSB1 c2VyIHNob3VsZCBiZSBpbmZvcm1lZCBhYm91dC4gRm9yCj4gPiA+ID4gUlQgc3lzdGVtcyB0aGlz IG5vcm1hbGx5IG1lYW5zIHRoYXQgc29tZXRoaW5nIGlzIHJlYWxseSB3cm9uZyByZWdhcmRpbmcK PiA+ID4gPiB0aW1pbmcgLyBjeWNsZSBvdmVyZmxvdy4gU3VjaCBzeXN0ZW1zIGhhdmUgdG8gcmVh Y3Qgb24gdGhhdCBzaXR1YXRpb24uCj4gPiA+IAo+ID4gPiBJbiBnZW5lcmFsLCBhZl94ZHAgaXMg YSBiaXQgbGFja2luZyBpbiB0aGlzICdub3RpZnkgdGhlIHVzZXIgdGhhdCB0aGV5Cj4gPiA+IHNv bWVob3cgbWVzc2VkIHVwJyBhcmVhIDotKAo+ID4gPiBGb3IgZXhhbXBsZSwgcHVzaGluZyBhIHR4 IGRlc2NyaXB0b3Igd2l0aCBhIHdyb25nIGFkZHIvbGVuIGluIHpjIG1vZGUKPiA+ID4gd2lsbCBu b3QgZ2l2ZSBhbnkgdmlzaWJsZSBzaWduYWwgYmFjayAoYmVzaWRlcyBkcml2ZXIgcG90ZW50aWFs bHkKPiA+ID4gc3BpbGxpbmcgc29tZXRoaW5nIGludG8gZG1lc2cgYXMgaXQgd2FzIGluIHRoZSBt bHggY2FzZSkuCj4gPiA+IFdlIGNhbiBwcm9iYWJseSBzdGFydCB3aXRoIGhhdmluZyBzb21lIGNv dW50ZXJzIGZvciB0aGVzZSBldmVudHM/Cj4gPiAKPiA+IFRoaXMgaXMgYmVjYXVzZSB0aGUgQUZf WERQIGNvbXBsZXRpb24gcXVldWUgZGVzY3JpcHRvciBmb3JtYXQgaXMgb25seQo+ID4gYSB1NjQg YWRkcmVzcz8KPiAKPiBZZWFoLiBYRFBfQ09QWSBtb2RlIGhhcyB0aGUgZGVzY3JpcHRvciB2YWxp ZGF0aW9uIHdoaWNoIGlzIGV4cG9ydGVkIHZpYQo+IHJlY3Ztc2cgZXJybm8sIGJ1dCB6ZXJvY29w eSBwYXRoIHNlZW1zIHRvIGJlIHRvbyBkZWVwIGluIHRoZSBzdGFjawo+IHRvIHJlcG9ydCBzb21l dGhpbmcgYmFjay4gQW5kIHRoZXJlIGlzIG5vIHBsYWNlLCBhcyB5b3UgbWVudGlvbiwKPiBpbiB0 aGUgY29tcGxldGlvbiByaW5nIHRvIHJlcG9ydCB0aGUgc3RhdHVzLgo+IAo+ID4gQ291bGQgZXJy b3IgY29uZGl0aW9ucyBiZSByZXBvcnRlZCBvbiB0eCBjb21wbGV0aW9uIGluIHRoZSBtZXRhZGF0 YSwKPiA+IHVzaW5nIHhza190eF9tZXRhZGF0YV9jb21wbGV0ZT8KPiAKPiBUaGF0IHdvdWxkIGJl IG9uZSB3YXkgdG8gZG8gaXQsIHllcy4gQnV0IHRoZW4gdGhlIGVycm9yIHJlcG9ydGluZyBkZXBl bmRzCj4gb24gdGhlIG1ldGFkYXRhIG9wdC1pbi4gSGF2aW5nIGEgc2VwYXJhdGUgcmluZyB0byBl eHBvcnQgdGhlIGVycm9ycywKPiBvciBoYXZpbmcgYSB2MiB0eC1jb21wbGV0aW9ucyBsYXlvdXQg d2l0aCBleHRyYSAnc3RhdHVzJyBmaWVsZCB3b3VsZCBhbHNvCj4gd29yay4KPiAKPiBCdXQgdGhp cyBzZWVtcyBsaWtlIHNvbWV0aGluZyB0aGF0IHNob3VsZCBiZSBoYW5kbGVkIHNlcGFyYXRlbHk/ IEJlY2F1c2UKPiB3ZSdkIGhhdmUgdG8gdGVhY2ggYWxsIGV4aXN0aW5nIHpjIGRyaXZlcnMgdG8g cmVwb3J0IHRob3NlIGVycm9ycyBiYWNrCj4gaW5zdGVhZCBvZiBkcm9wcGluZyB0aGVzZSBkZXNj cmlwdG9ycy4uCgpBZ3JlZWQgb24gYm90aCBwb2ludHMgOikgQSB2MiB0eC1jb21wbGV0aW9ucyB0 aGF0IHN1cHBvcnRzIHN0YXR1cwpjb3VsZCBiZSB1c2VmdWwuIEJ1dCBhZ2FpbiwgdGhpcyBpcyBv dXQgb2Ygc2NvcGUgb2YgdGhpcyBzcGVjaWZpYwpsYXVuY2ggdGltZSBmZWF0dXJlLgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5l bCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=