From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mail.toke.dk (Postfix) with ESMTPS id BEF7A9A765D for ; Tue, 4 Oct 2022 11:29:24 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=jS6obocT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664875763; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ykp8QrHtYsQs2S4pDXqZoKDJOJ31ef1hCy5o4M7urP8=; b=jS6obocTNDcbjhgTQXOJSTa72USwiejXB709spI9OYs8cPfhTQexUISIdxtOzyJkxy6SrG UMpq8kqqxKetl2adwp5CvIsq/jc2RoaPHClKg3YhmeFwxLQfdqsImpL3+OIEOORIf2WbZF zqlm8wr5etWX3AbZigpdPYYadEr3lEQ= Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-318-LRgQwpjkM4aKU9aOGbu0XQ-1; Tue, 04 Oct 2022 05:29:21 -0400 X-MC-Unique: LRgQwpjkM4aKU9aOGbu0XQ-1 Received: by mail-ej1-f72.google.com with SMTP id nb3-20020a1709071c8300b0078cf3dab9f4so1548455ejc.20 for ; Tue, 04 Oct 2022 02:29:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:content-language:references :to:subject:cc:user-agent:mime-version:date:message-id:from :x-gm-message-state:from:to:cc:subject:date; bh=Ykp8QrHtYsQs2S4pDXqZoKDJOJ31ef1hCy5o4M7urP8=; b=yQ75Q3nqlLq2w/hnO8eKDySKpOZvQf0P4a8hFH1VvxI1ckyr9dpUOgMSRa2gmNW0iA K2mxfVvryMzj87m3yA715qQmp+1cHnKJ6han/wtdzmOzEwau7vNxh5RR1B9zLQ17OSa3 CiRONutTBb98+Rku7lURe7s2254wM6guFF4CW0iJSut93TzBGNpyCIU7KaKasbp1rmq0 rmsPcGgrb9HIVnCddO+GfTLNUNL+u8DBncd8KMARP3zGctvRtO1fO0h+gSxsi/UcXeAu 3KXu/gPziSogYoLjd4CKTmdcugSWIyk4wdhQJPqgJnPAQEYjppMwN4J2bczhxE81K0Ca k2ug== X-Gm-Message-State: ACrzQf3eVMbMMqu7JYye5YlC3usLGqgyaS6SxsLzNrEigQB7aRDH3rJs rYwlydwRLhfu0p+y24t0E5ZGnF9VkVBC8pmT/h/EqL7VwBqdaZBYcWNSYaiqPGDxRyjq63GwfvN oO0dBXuAk4EWysqh+X2zS X-Received: by 2002:a17:907:94c6:b0:787:9157:a87a with SMTP id dn6-20020a17090794c600b007879157a87amr18836604ejc.5.1664875760561; Tue, 04 Oct 2022 02:29:20 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6cThDfxYHG1OMCjFWh4ItxMOvFuQgMEeYE0kVhTCrd7yVLHYXv9BY5w4ToxgN2BkWsaSrLtA== X-Received: by 2002:a17:907:94c6:b0:787:9157:a87a with SMTP id dn6-20020a17090794c600b007879157a87amr18836585ejc.5.1664875760199; Tue, 04 Oct 2022 02:29:20 -0700 (PDT) Received: from [192.168.41.81] (83-90-141-187-cable.dk.customer.tdc.net. [83.90.141.187]) by smtp.gmail.com with ESMTPSA id n16-20020a05640205d000b00454546561cfsm1261361edx.82.2022.10.04.02.29.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 04 Oct 2022 02:29:19 -0700 (PDT) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Message-ID: <35fcfb25-583a-e923-6eee-e8bbcc19db17@redhat.com> Date: Tue, 4 Oct 2022 11:29:17 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 To: sdf@google.com References: <166256538687.1434226.15760041133601409770.stgit@firesoul> In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: MWRPHRPR42UXK4CK255EUAAAFVZRXWRP X-Message-ID-Hash: MWRPHRPR42UXK4CK255EUAAAFVZRXWRP X-MailFrom: jbrouer@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, bpf@vger.kernel.org, netdev@vger.kernel.org, xdp-hints@xdp-project.net, larysa.zaremba@intel.com, memxor@gmail.com, Lorenzo Bianconi , mtahhan@redhat.com, Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , dave@dtucker.co.uk, Magnus Karlsson , bjorn@kernel.org X-Mailman-Version: 3.3.5 Precedence: list Subject: [xdp-hints] Re: [PATCH RFCv2 bpf-next 00/18] XDP-hints: XDP gaining access to HW offload hints via BTF List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQpPbiAwNC8xMC8yMDIyIDAxLjU1LCBzZGZAZ29vZ2xlLmNvbSB3cm90ZToNCj4gT24gMDkvMDcs IEplc3BlciBEYW5nYWFyZCBCcm91ZXIgd3JvdGU6DQo+PiBUaGlzIHBhdGNoc2V0IGV4cG9zZSB0 aGUgdHJhZGl0aW9uYWwgaGFyZHdhcmUgb2ZmbG9hZCBoaW50cyB0byBYRFAgYW5kDQo+PiByZWx5 IG9uIEJURiB0byBleHBvc2UgdGhlIGxheW91dCB0byB1c2Vycy4NCj4gDQo+PiBNYWluIGlkZWEg aXMgdGhhdCB0aGUga2VybmVsIGFuZCBOSUMgZHJpdmVycyBzaW1wbHkgZGVmaW5lcyB0aGUgc3Ry dWN0DQo+PiBsYXlvdXRzIHRoZXkgY2hvb3NlIHRvIHVzZSBmb3IgWERQLWhpbnRzLiBUaGVzZSBY RFAtaGludHMgc3RydWN0cyBnZXRzDQo+PiBuYXR1cmFsbHkgYW5kIGF1dG9tYXRpY2FsbHkgZGVz Y3JpYmVkIHZpYSBCVEYgYW5kIGltcGxpY2l0bHkgZXhwb3J0ZWQgdG8NCj4+IHVzZXJzLiBOSUMg ZHJpdmVycyBwb3B1bGF0ZSBhbmQgcmVjb3JkcyB0aGVpciBvd24gQlRGIElEIGFzIHRoZSBsYXN0 DQo+PiBtZW1iZXIgaW4gWERQIG1ldGFkYXRhIGFyZWEgKG1ha2luZyBpdCBlYXNpbHkgYWNjZXNz aWJsZSBieSBBRl9YRFANCj4+IHVzZXJzcGFjZSBhdCBhIGtub3duIG5lZ2F0aXZlIG9mZnNldCBm cm9tIHBhY2tldCBkYXRhIHN0YXJ0KS4NCj4gDQo+PiBOYW1pbmcgY29udmVudGlvbnMgZm9yIHRo ZSBzdHJ1Y3RzICh4ZHBfaGludHNfKikgaXMgdXNlZCBzdWNoIHRoYXQNCj4+IHVzZXJzcGFjZSBj YW4gZmluZCBhbmQgZGVjb2RlIHRoZSBCVEYgbGF5b3V0IGFuZCBtYXRjaCBhZ2FpbnN0IHRoZQ0K Pj4gcHJvdmlkZWQgQlRGIElEcy4gVGh1cywgbm8gbmV3IFVBUEkgaW50ZXJmYWNlcyBhcmUgbmVl ZGVkIGZvciBleHBvcnRpbmcNCj4+IHdoYXQgWERQLWhpbnRzIGEgZHJpdmVyIHN1cHBvcnRzLg0K PiANCj4+IFRoZSBwYXRjaCAiaTQwZTogQWRkIHhkcF9oaW50c191bmlvbiIgaW50cm9kdWNlIHRo ZSBpZGVhIG9mIGNyZWF0aW5nIGENCj4+IHVuaW9uIG5hbWVkICJ4ZHBfaGludHNfdW5pb24iIGlu IGV2ZXJ5IGRyaXZlciwgd2hpY2ggY29udGFpbnMgYWxsDQo+PiB4ZHBfaGludHNfKiBzdHJ1Y3Qg dGhpcyBkcml2ZXIgY2FuIHN1cHBvcnQuIFRoaXMgbWFrZXMgaXQgZWFzaWVyL3F1aWNrZXINCj4+ IHRvIGZpbmQgYW5kIHBhcnNlIHRoZSByZWxldmFudCBCVEYgdHlwZXMuwqAgKFNlZWtpbmcgaW5w dXQgYmVmb3JlIGZpeGluZw0KPj4gdXAgYWxsIGRyaXZlcnMgaW4gcGF0Y2hzZXQpLg0KPiANCj4g DQo+PiBUaGUgbWFpbiBkaWZmZXJlbnQgZnJvbSBSRkMtdjE6DQo+PiDCoCAtIERyb3AgaWRlYSBv ZiBCVEYgIm9yaWdpbiIgKHZtbGludXgsIG1vZHVsZSBvciBsb2NhbCkNCj4+IMKgIC0gSW5zdGVh ZCB0byB1c2UgZnVsbCA2NC1iaXQgQlRGIElEIHRoYXQgY29tYmluZSBvYmplY3QrdHlwZSBJRA0K PiANCj4+IEkndmUgdGFrZW4gc29tZSBvZiBBbGV4YW5kci9MYXJ5c2EncyBsaWJicGYgcGF0Y2hl cyBhbmQgaW50ZWdyYXRlZA0KPj4gdGhvc2UuDQo+IA0KPj4gUGF0Y2hzZXQgZXhjZWVkcyBuZXRk ZXYgdXN1YWxseSBtYXggMTUgcGF0Y2hlcyBydWxlLiBNeSBleGN1c2UgaXMgdGhyZWUNCj4+IE5J QyBkcml2ZXJzIChpNDBlLCBpeGdiZSBhbmQgbXZuZXRhKSBnZXRzIFhEUC1oaW50cyBzdXBwb3J0 IGFuZCB3aGljaA0KPj4gcmVxdWlyZWQgc29tZSByZWZhY3RvcmluZyB0byByZW1vdmUgdGhlIFNL QiBkZXBlbmRlbmNpZXMuDQo+IA0KPiBIZXkgSmVzcGVyLA0KPiANCj4gSSB0b29rIGEgcXVpY2sg bG9vayBhdCB0aGUgc2VyaWVzLiANCkFwcHJlY2lhdGUgdGhhdCEgOi0pDQoNCj4gRG8gd2UgcmVh bGx5IG5lZWQgdGhlIGVudW0gd2l0aCB0aGUgZmxhZ3M/DQoNClRoZSBwcmltYXJ5IHJlYXNvbiBm b3IgdXNpbmcgZW51bSBpcyB0aGF0IHRoZXNlIGdldHMgZXhwb3NlZCBhcyBCVEYuDQpUaGUgcHJv cG9zYWwgaXMgdGhhdCB1c2Vyc3BhY2UvQlRGIG5lZWQgdG8gb2J0YWluIHRoZSBmbGFncyB2aWEg QlRGLA0Kc3VjaCB0aGF0IHRoZXkgZG9uJ3QgYmVjb21lIFVBUEksIGJ1dCBzb21ldGhpbmcgd2Ug Y2FuIGNoYW5nZSBsYXRlci4NCg0KPiBXZSBtaWdodCBldmVudHVhbGx5IGhpdCB0aGF0ICJmaXJz dCAxNiBiaXRzIGFyZSByZXNlcnZlZCIgaXNzdWU/DQo+IA0KPiBJbnN0ZWFkIG9mIGV4cG9zaW5n IGVudW0gd2l0aCB0aGUgZmxhZ3MsIHdoeSBub3Qgc29sdmUgaXQgYXMgZm9sbG93czoNCj4gYS4g V2UgZGVmaW5lIFVBUEkgc3RydWN0IHhkcF9yeF9oaW50cyB3aXRoIF9hbGxfIHBvc3NpYmxlIGhp bnRzDQoNCkhvdyBjYW4gd2Uga25vdyBfYWxsXyBwb3NzaWJsZSBoaW50cyBmcm9tIHRoZSBiZWdp bm5pbmcoPykuDQoNClVBUEkgKyBjZW50cmFsIHN0cnVjdCBkaWN0YXRpbmcgYWxsIHBvc3NpYmxl IGhpbnRzLCB3aWxsIGxpbWl0IGlubm92YXRpb24uDQoNCj4gYi4gRWFjaCBkZXZpY2UgZGVmaW5l cyBtdWNoIGRlbnNlciA8ZGV2aWNlPl94ZHBfcnhfaGludHMgc3RydWN0IHdpdGggdGhlDQo+ICDC oMKgIG1ldGFkYXRhIHRoYXQgaXQgc3VwcG9ydHMNCg0KVGh1cywgdGhlIE5JQyBkZXZpY2UgaXMg bGltaXRlZCB0byB3aGF0IGlzIGRlZmluZWQgaW4gVUFQSSBzdHJ1Y3QNCnhkcF9yeF9oaW50cy4g IEFnYWluIHRoaXMgbGltaXRzIGlubm92YXRpb24uDQoNCj4gYy4gVGhlIHN1YnNldCBvZiBmaWVs ZHMgaW4gPGRldmljZT5feGRwX3J4X2hpbnRzIHNob3VsZCBtYXRjaCB0aGUgb25lcyBmcm9tDQo+ ICDCoMKgIHhkcF9yeF9oaW50cyAod2UgZXNzZW50aWFsbHkgc3RhbmRhcmRpemUgb24gdGhlIGZp ZWxkIG5hbWVzL3NpemVzKQ0KPiBkLiBXZSBleHBvc2UgPGRldmljZT5feGRwX3J4X2hpbnRzIGJ0 ZiBpZCB2aWEgbmV0bGluayBmb3IgZWFjaCBkZXZpY2UNCg0KRm9yIHRoaXMgcHJvcG9zZWQgZGVz aWduIHlvdSB3b3VsZCBzdGlsbCBuZWVkIG1vcmUgdGhhbiBvbmUgQlRGIElEIG9yDQo8ZGV2aWNl Pl94ZHBfcnhfaGludHMgc3RydWN0J3MsIGJlY2F1c2Ugbm90IGFsbCBwYWNrZXRzIGNvbnRhaW5z IGFsbA0KaGludHMuIFRoZSBtb3N0IGNvbW1vbiBjYXNlIGlzIEhXIHRpbWVzdGFtcGluZywgd2hp Y2ggc29tZSBIVyBvbmx5DQpzdXBwb3J0cyBmb3IgUFRQIGZyYW1lcy4NCg0KUGx1cywgSSBkb24n dCBzZWUgYSBuZWVkIHRvIGV4cG9zZSBhbnl0aGluZyB2aWEgbmV0bGluaywgYXMgd2UgY2FuIGp1 c3QNCnVzZSB0aGUgZXhpc3RpbmcgQlRGIGluZm9ybWF0aW9uIGZyb20gdGhlIG1vZHVsZS4gIFRo dXMsIGF2b2lkaW5nIHRvDQpjcmVhdGluZyBtb3JlIFVBUEkuDQoNCj4gZS4gbGliYnBmIHdpbGwg cXVlcnkgYW5kIGRvIG9mZnNldCByZWxvY2F0aW9ucyBmb3INCj4gIMKgwqAgeGRwX3J4X2hpbnRz IC0+IDxkZXZpY2U+X3hkcF9yeF9oaW50cyBhdCBsb2FkIHRpbWUNCj4gDQo+IFdvdWxkIHRoYXQg d29yaz8gVGhlbiBpdCBzZWVtcyBsaWtlIHdlIGNhbiByZXBsYWNlIGJpdGZpZWxkcyB3aXRoIHRo ZSANCg0KSSB1c2VkIHRvIGJlIGEgZmFuIG9mIGJpdGZpZWxkcywgdW50aWwgSSBkaXNjb3ZlcmVk IHRoYXQgdGhleSBhcmUgYmFkDQpmb3IgcGVyZm9ybWFuY2UsIGJlY2F1c2UgY29tcGlsZXJzIGNh bm5vdCBvcHRpbWl6ZSB0aGVzZS4NCg0KPiBmb2xsb3dpbmc6DQo+IA0KPiAgwqAgaWYgKGJwZl9j b3JlX2ZpZWxkX2V4aXN0cyhzdHJ1Y3QgeGRwX3J4X2hpbnRzLCB2bGFuX3RjaSkpIHsNCj4gIMKg wqDCoCAvKiB1c2UgdGhhdCBoaW50ICovDQoNCkZhaXJseSBvZnRlbiBhIFZMQU4gd2lsbCBub3Qg YmUgc2V0IGluIHBhY2tldHMsIHNvIHdlIHN0aWxsIGhhdmUgdG8gcmVhZA0KYW5kIGNoZWNrIGEg Yml0ZmllbGQvZmxhZyBpZiB0aGUgVkxBTiB2YWx1ZSBpcyB2YWxpZC4gKEd1ZXNzIGl0IGlzDQpp bXBsaWNpdCBpbiBhYm92ZSBjb2RlKS4NCg0KPiAgwqAgfQ0KPiANCj4gQWxsIHdlIG5lZWQgaGVy ZSBpcyBmb3IgbGliYnBmIHRvLCBhZ2FpbiwgZG8geGRwX3J4X2hpbnRzIC0+DQo+IDxkZXZpY2U+ X3hkcF9yeF9oaW50cyB0cmFuc2xhdGlvbiBiZWZvcmUgaXQgZXZhbHVhdGVzIA0KPiBicGZfY29y ZV9maWVsZF9leGlzdHMoKT8NCj4gDQo+IFRob3VnaHRzPyBBbnkgZG93bnNpZGVzPyBBbSBJIG1p c3Npbmcgc29tZXRoaW5nPw0KPiANCg0KV2VsbCwgdGhlIGRvd25zaWRlIGlzIHByaW1hcmlseSB0 aGF0IHRoaXMgZGVzaWduIGxpbWl0cyBpbm5vdmF0aW9uLg0KDQpFYWNoIHRpbWUgYSBOSUMgZHJp dmVyIHdhbnQgdG8gaW50cm9kdWNlIGEgbmV3IGhhcmR3YXJlIGhpbnQsIHRoZXkgaGF2ZQ0KdG8g dXBkYXRlIHRoZSBjZW50cmFsIFVBUEkgeGRwX3J4X2hpbnRzIHN0cnVjdCBmaXJzdC4NCg0KVGhl IGRlc2lnbiBpbiB0aGUgcGF0Y2hzZXQgaXMgdG8gb3BlbiBmb3IgaW5ub3ZhdGlvbi4gIERyaXZl ciBjYW4gZXh0ZW5kDQp0aGVpciBvd24geGRwX2hpbnRzXzxkcml2ZXI+X3h4eCBzdHJ1Y3Qocyku ICBUaGV5IHN0aWxsIGhhdmUgdG8gbGFuZA0KdGhlaXIgcGF0Y2hlcyB1cHN0cmVhbSwgYnV0IGF2 b2lkIG1hbmdsaW5nIGEgY2VudHJhbCBVQVBJIHN0cnVjdC4gQXMNCnVwc3RyZWFtIHdlIHJldmll dyBkcml2ZXIgY2hhbmdlcyBhbmQgc2hvdWxkIGZvY3VzIG9uIHNhbmUgc3RydWN0IG1lbWJlcg0K bmFtaW5nKCtzaXplKSBlc3BlY2lhbGx5IGlmIHRoaXMgInNvdW5kcyIgbGlrZSBhIGhpbnQvZmVh dHVyZSB0aGF0IG1vcmUNCmRyaXZlciBhcmUgbGlrZWx5IHRvIHN1cHBvcnQuICBXaXRoIGhlbHAg ZnJvbSBCVEYgcmVsb2NhdGlvbnMsIGEgbmV3DQpkcml2ZXIgY2FuIHN1cHBvcnQgc2FtZSBoaW50 L2ZlYXR1cmUgaWYgbmFtaW5nKCtzaXplKSBtYXRjaCAod2l0aG91dA0KbmVjZXNzYXJ5IHRoZSBz YW1lIG9mZnNldCBpbiB0aGUgc3RydWN0KS4NCg0KPiBBbHNvLCBhYm91dCB0aGUgVFggc2lkZTog SSBmZWVsIGxpa2UgdGhlIHNhbWUgY2FuIGJlIGFwcGxpZWQgdGhlcmUsDQo+IHRoZSBwcm9ncmFt IHdvcmtzIHdpdGggeGRwX3R4X2hpbnRzIGFuZCBsaWJicGYgd2lsbCByZXdyaXRlIHRvDQo+IDxk ZXZpY2U+X3hkcF90eF9oaW50cy4geGRwX3R4X2hpbnRzIG1pZ2h0IGhhdmUgZmllbGRzIGxpa2Ug Imhhc190eF92bGFuOjEiOw0KPiB0aG9zZSwgcHJlc3VtYWJseSwgY2FuIGJlIHJlbG9jYXRhYmxl IGJ5IGxpYmJwZiBhcyB3ZWxsPw0KPiANCg0KR29vZCB0byB0aGluayBhaGVhZCBmb3IgVFgtc2lk ZSwgZXZlbi10aG91Z2ggSSB0aGluayB3ZSBzaG91bGQgZm9jdXMgb24NCmxhbmRpbmcgUlgtc2lk ZSBmaXJzdC4NCg0KSSBub3RpY2UgeW91ciBuYW1pbmcgeGRwX3J4X2hpbnRzIHZzLiB4ZHBfdHhf aGludHMuICBJIGhhdmUgbmFtZWQgdGhlDQpjb21tb24gc3RydWN0IHhkcF9oaW50c19jb21tb24s IHdpdGhvdXQgYSBSWC9UWCBkaXJlY3Rpb24gaW5kaWNhdGlvbi4NCk1heWJlIHRoaXMgaXMgd3Jv bmcgb2YgbWUsIGJ1dCBteSB0aGlua2luZyB3YXMgdGhhdCBtb3N0IG9mIHRoZSBjb21tb24NCmhp bnRzIGNhbiBiZSBkaXJlY3RseSB1c2VkIGFzIFRYLXNpZGUgaGludHMuICBJJ20gaG9waW5nIFRY LXNpZGUNCnhkcC1oaW50cyB3aWxsIG5lZWQgdG8gZG8gbGl0dGxlLXRvLW5vbiBhZGp1c3RtZW50 LCBiZWZvcmUgdXNpbmcgdGhlDQpoaW50cyBhcyBUWCAiaW5zdHJ1Y3Rpb24iLiAgSSdtIGhvcGlu ZyB0aGF0IFhEUC1yZWRpcmVjdCB3aWxsIGp1c3Qgd29yaw0KYW5kIHhtaXQgZHJpdmVyIGNhbiB1 c2UgWERQLWhpbnRzIGFyZWEuDQoNClBsZWFzZSBjb3JyZWN0IG1lIGlmIEknbSB3cm9uZy4NClRo ZSBjaGVja3N1bSBmaWVsZHMgaG9wZWZ1bGx5IHRyYW5zbGF0ZXMgdG8gc2ltaWxhciBUWCBvZmZs b2FkICJhY3Rpb25zIi4NClRoZSBWTEFOIG9mZmxvYWQgaGludCBzaG91bGQgdHJhbnNsYXRlIGRp cmVjdGx5IHRvIFRYLXNpZGUuDQoNCkkgY2FuIGVhc2lseSBiZSBjb252aW5jZWQgd2Ugc2hvdWxk IG5hbWUgaXQgeGRwX2hpbnRzX3J4X2NvbW1vbiBmcm9tIHRoZQ0Kc3RhcnQsIGJ1dCB0aGVuIEkg d2lsbCBwcm9wb3NlIHRoYXQgeGRwX2hpbnRzX3R4X2NvbW1vbiBoYXZlIHRoZQ0KY2hlY2tzdW0g YW5kIFZMQU4gZmllbGRzK2ZsYWdzIGF0IHNhbWUgbG9jYXRpb25zLCBzdWNoIHRoYXQgd2UgZG9u J3QNCnRha2UgYW55IHBlcmZvcm1hbmNlIGhpbnQgZm9yIG1vdmluZyB0aGVtIHRvICJUWC1zaWRl IiBoaW50cywgbWFraW5nDQpYRFAtcmVkaXJlY3QganVzdCB3b3JrLg0KDQotLUplc3Blcg0KDQo=