From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; dkim=pass header.d=mojatatu.com header.i=@mojatatu.com header.a=rsa-sha256 header.s=google header.b=aOxw4nxE; arc=none (Message is not ARC signed); dmarc=none Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com [IPv6:2607:f8b0:4864:20::f36]) by mail.toke.dk (Postfix) with ESMTPS id 330FE19FD7AA for ; Tue, 10 Nov 2026 15:41:01 +0100 (CET) Received: by mail-qv1-xf36.google.com with SMTP id 6a1803df08f44-91e8a05ec5aso20756816d6.1 for ; Tue, 10 Nov 2026 06:41:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mojatatu.com; s=google; t=1794321660; x=1794926460; darn=lists.bufferbloat.net; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to :content-type; bh=U05y8BTjQCeRlvi+sbH7/Uu20Xm2pb/lOyilfHb94C8=; b=aOxw4nxElkt6QsViilZQSvzacZo5xmN2q2FO6DNFIKoBysIBoH5BCoKIexup+bjGpU If0B251y8uS4pmE+By7Qa4vnfMZ0qJqizKlxn0KNBoJssuLEV9NJz9sDbSVUZ9SLwQJV WWb5SvSCecj1L4Eg4lCPb50lpVXcTd7D+FDp8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794321660; x=1794926460; h=content-transfer-encoding:content-type:mime-version:message-id:date :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to:content-type; bh=U05y8BTjQCeRlvi+sbH7/Uu20Xm2pb/lOyilfHb94C8=; b=EhB+R7hkz93opHHb+5S47WfriYg6jSsr3Rx+7hrQfZmHucgpYJ5J5/XWHx6c0P0z7m 2mzrprT3IAXGJ/Hg74isATAME8q7S2cvAY5b/VXBOdT3FFoh2vqp8ZQ0kW9UZEZHYBTs GzMU8ubLnu5sWVGBioQvaCfGdvZ58+8XeLqd37184zi9tPKDCYGnJ98CZrxTR39SEHVO CGZ1Rg5/e6smnusio7x+C2TfZWLGfd0dMI4R3Fa5wopfFJjSIw5nkkMieBBMVVpBEJ0a dDFT8U8a/gc/hUXB6Lqs7H3jY00C4ljcqIMIN6af7pe7Qgr/arSvcPSi71ITCDXelIri 0kqw== X-Forwarded-Encrypted: i=1; AL+hErFilivgcebTF+GLTaw36aIs6muTcMEWe5HHk+L+fiKYcR+jw5FmnJ5oH563H/aVM5shrJf+@lists.bufferbloat.net X-Gm-Message-State: APuU4Z+CdrpUTtyY0fofWQ31D24QtS4774cfas2mvNMuq3LKv9fT+LWb e0v1/apjYFB7HnOLFjVvp9CWyDj2LUXBzaY8ltrm9PQTLxIx4updrZGdCJOdq3L2zA== X-Gm-Gg: AYBFou3fGEdrxdIywUmOjtW6qTLilTr6/ZhMEnT0UTRLmHZlImajKs7w0XH4VI/hRf3 tLGu3OuKi94i4RwGUJUAJ24RhLj7ivkkpg5FWAlOyIa302iJQm74SvTatis22Z72IpNKBiGM8Gi MDg2iws0OPerDcRANK6LcYICh9geIiUwrLhO1ESG++dMCxjIz8mKoiN+1OGWWakWyTIL7cgDBtf OHgvPMtrgBtPU5quTlHfAl1InSCDcedI8eM+eQ9+IUWcMzumPE5zEzGGqqwqCDVkdnFxA0b+aLJ C8OzmaSPpTQL6N3rsL876HyWhwQHdVtXwhEILF/U2WV4egJaAiZrv7xfnvHF8cnXToIfxsxmYfM a7Pxp+2M3stSFN1YAzu/kSV1WJnZGAj27Ve+GN1eMLjgFuyMkHaIVXGjFKcXDtsjFnzV6sW3Nbi am5BlqrERpEudEVqsgN6gOCwHIqR4m7ABqhev9aegcIcbmelPoZ/w2MCm8U791EbPFyHPWwuNnY OGY35A7FBEMolX5uD6W12LKdsFK2zQ3b+feYpl3XhIgc/LWVeYYo5ttDw92goxeWZwIUeMXqzRG jbxYxtpXV5SguFL6G5CaFE2VPttTfetsbZmjYqAr5owPaNzeH8oObxCWHy1I7AdT6FfiOBVcNrc = X-Received: by 2002:a05:6214:62a:b0:91c:93f9:8cc5 with SMTP id 6a1803df08f44-91eef7a654fmr47638766d6.5.1794321659438; Tue, 10 Nov 2026 06:40:59 -0800 (PST) Received: from mbili.waya ([64.203.83.2]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-91f00f6eb88sm1679276d6.39.2026.11.10.06.40.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Nov 2026 06:40:58 -0800 (PST) From: Jamal Hadi Salim To: netdev@vger.kernel.org Cc: Jamal Hadi Salim , Jiri Pirko , "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Victor Nogueira , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , cake@lists.bufferbloat.net, Sashiko Date: Tue, 10 Nov 2026 09:40:51 -0500 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-ID-Hash: OZQQTPVE7JRB52UIWORFOWNEHI5OUXH2 X-Message-ID-Hash: OZQQTPVE7JRB52UIWORFOWNEHI5OUXH2 X-MailFrom: jhs@mojatatu.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Cake] [PATCH net-next v9 0/4] net/sched: cap the accounted backlog before it can wrap List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: VGhpcyBzZXJpZXMgYm91bmRzIHRoZSBhY2NvdW50ZWQgYmFja2xvZyBvZiB0aGUgQVFNIHFkaXNj cyBzbyB0aGF0IGl0DQpjYW5ub3Qgd3JhcCBtb2QgMl4zMi4NCg0KdjEgd2lkZW5lZCB0aGUgY291 bnRlcnMgdG8gdTY0IGFuZCB3YXMgcmVqZWN0ZWQ7IGZyb20gdjIgb24gdGhlIGZpeCBkcm9wcw0K YXQgZW5xdWV1ZSBpbnN0ZWFkLiBUaGUgdjUgcG9zdGluZyB3YXMgYSBzaW5nbGUgcGF0Y2g7IGF0 IHRoZSByZXZpZXdlcidzDQpyZXF1ZXN0IGl0IGlzIHNwbGl0IGludG8gZm91cjoNCg0KICAxLzQg IGNha2U6IGNsYXNzaWZpZXIgcmVmYWN0b3I6IGNha2VfdGNmX2NsYXNzaWZ5KCkgcmV0dXJucyBp dHMgcmVzdWx0DQogICAgICAgdG8gdGhlIGNhbGxlci4NCiAgMi80ICBjYWtlOiB1c2UgYSBkZWRp Y2F0ZWQgc3BsaXQtR1NPIGxpc3QgaXRlcmF0b3IuDQogIDMvNCAgdGhlIGZpeDogZHJvcCBhdCBl bnF1ZXVlIG9uY2UgdGhlIHN0b3JlZCBiYWNrbG9nIGNhbm5vdA0KICAgICAgIHJlcHJlc2VudCB0 aGUgcGFja2V0J3MgYWNjb3VudGVkIGxlbmd0aCAtLSB0aGUgc3RhbmRpbmcNCiAgICAgICBRRElT Q19NQVhfQkFDS0xPRyBjZWlsaW5nIGZvciBvcmRpbmFyeSBwYWNrZXRzLCBhIHBlci1wYWNrZXQN CiAgICAgICByZXByZXNlbnRhYmlsaXR5IGNoZWNrIGZvciB0aGUgbGFyZ2VyIHdpcmUgZXN0aW1h dGVzLiBDb3ZlcnMNCiAgICAgICBmcV9jb2RlbCwgY2FrZSwgY29kZWwsIHBpZSwgZnFfcGllLCBk dWFscGkyLCBSRUQsIHBmaWZvLCBwbHVnDQogICAgICAgYW5kIGdyZWQuDQogIDQvNCAgY2FrZTog c3BsaXQgY2FrZV9oYXNoKCkgaW50byBzaWRlLWVmZmVjdC1mcmVlIGtleSBleHRyYWN0aW9uIChv bg0KICAgICAgIHRoZSB1bnNlZ21lbnRlZCBza2IpIGFuZCBzZXQtYXNzb2NpYXRpdmUgcmVzb2x1 dGlvbiAoYWZ0ZXINCiAgICAgICBhZG1pc3Npb24pLCBtb3ZlIHRoZSBzcGxpdC1HU08gcGF0aCBh aGVhZCBvZiB0aGUgcmVzb2x1dGlvbiwgYW5kDQogICAgICAgdGFnIGV2ZXJ5IGRlZmVycmVkIHNw bGl0IHNlZ21lbnQuDQoNCkZvciB0aGUgc2FzaGlrb3M6IFRoaXMgc2VyaWVzIHRhcmdldHMgbmV0 LW5leHQgd2l0aCBubyBGaXhlczogKHRoZQ0KYWdncmVnYXRlIHdyYXAgcHJlZGF0ZXMgZXZlcnkg dG91Y2hlZCBxZGlzYykuDQpVbmZvcnR1bmF0ZWx5IHNvbWV0aGluZyBicm9rZSBpbiB0aGUgc2Fz aGlrbyByZXZpZXdzLiBSZXZpZXcgZm9yIHY3DQpzaG93ZWQgdXAgYSB3aGlsZSBsYXRlciBhZnRl ciB2OC4gIFNvIHlvdSB3aWxsIHNlZSB0aGF0IHRoaXMgc2VyaWVzDQpoYXMgZml4ZXMgKG1ham9y aXR5IGluIGNvbW1lbnRzIGFuZCBjb21taXQgbG9ncykgZnJvbSBib3RoLg0KDQpDaGFuZ2VzIGlu IHY5IChsYXRlIFNhc2hpa28gbmlwYSByZXZpZXdzIG9mIHY3IGFuZCB2OCwgZGVsaXZlcmVkIG9u IGxvcmUpOg0KICAtIDEvNDogcmV3b3JkIHRoZSAiVGhlIEZpeDoiIGhlYWRpbmc7IHRoaXMgcGF0 Y2ggaXMgcHJlcGFyYXRpb24sIG5vdCBhDQogICAgZml4Lg0KICAtIDEvNDogdGhlIGNsYXNzaWZp ZXIgaGVscGVyJ3MgY29tbWVudHMgbm93IHNheSB0aGUgY2FsbGVyIG11c3QgZHJvcA0KICAgIHRo ZSBza2IsIHNpbmNlIGEgdGVybWluYWwgYWN0aW9uIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9m IGl0Lg0KICAtIDMvNDogYm91bmQgdGhlIGNoaWxkIGJhY2tsb2cgYXMgd2VsbCBhcyBSRUQncyBh Z2dyZWdhdGUsIGFuZCByZS1kZXJpdmUNCiAgICB0aGUgYWdncmVnYXRlIGZyb20gc25hcHNob3Rz IHRha2VuIGJlZm9yZSB0aGUgcmVzZXJ2YXRpb24gd2hlbiB0aGUNCiAgICBlbnF1ZXVlIGRvZXMg bm90IHN1Y2NlZWQuIEEgY2hpbGQgdGhhdCByZXR1cm5zIE5FVF9YTUlUX0NOIG1heSBvciBtYXkN CiAgICBub3QgaGF2ZSByZWR1Y2VkIGl0cyBhbmNlc3RvcnMgYWxyZWFkeTogcGZpZm9faGVhZF9k cm9wLCBzZnEgYW5kDQogICAgZnFfY29kZWwgZG8sIHdoaWxlIGhoZiBhbmQgc2ticHJpbyBldmlj dCBhIHBhY2tldCBhbmQgcmV0dXJuIHdpdGhvdXQNCiAgICBxZGlzY190cmVlX3JlZHVjZV9iYWNr bG9nKCkuIEtlZXAgd2hhdCB0aGUgY2hpbGQgYWN0dWFsbHkgYWNjb3VudGVkDQogICAgZm9yIGFu ZCBwYXNzIGFueSBkaWZmZXJlbmNlIG9uIHRvIHRoZSBhbmNlc3RvcnMgYWJvdmUgUkVELCBzbyBu ZWl0aGVyDQogICAgY291bnRlciBjYW4gZGl2ZXJnZS4gVmVyaWZpZWQgd2l0aCB0d28gQS9CIHdp dG5lc3NlczogUkVEIG92ZXIgYQ0KICAgIGdyYWZ0ZWQgaGhmIGNoaWxkIChjb250cm9sIGVuZHMg d2l0aCByZWRfYmFja2xvZyAyMDQyMDE2ICE9DQogICAgY2hpbGRfYmFja2xvZyA2MTc3NjAwKSBh bmQgUkVEIHVuZGVyIGFuIEhUQiBjbGFzcyBvdmVyIGEgZ3JhZnRlZA0KICAgIHBmaWZvX2hlYWRf ZHJvcCBsaW1pdCAxLCB3aGVyZSBhbiB1bmVxdWFsIHNocmlua2luZyByZXBsYWNlbWVudA0KICAg IG90aGVyd2lzZSB3cmFwcyB0aGUgYWdncmVnYXRlIGFuZCB3ZWRnZXMgdGhlIG5ldyBhZG1pc3Np b24gZ3VhcmQgLS0NCiAgICBjb250cm9sIDQyOTQ5NjYwNTIsIGZpeGVkIDkyIHdpdGggUkVEID09 IGNoaWxkID09IEhUQi4NCiAgLSAzLzQ6IG5vdGUgdGhhdCBDQUtFJ3Mgb3duIHNwbGl0LUdTTyBi cmFuY2ggaXMgdGhlIHNlY29uZCBleGNlcHRpb247DQogICAgdGhlIHNlZ21lbnRzIGl0IGFjY291 bnRzIGFyZSBzdW1tZWQgYW5kIGNoZWNrZWQgYWdhaW5zdA0KICAgIFFESVNDX01BWF9CQUNLTE9H IGJ5IDQvNCBiZWZvcmUgYW55IG9mIHRoZW0gaXMgbGlua2VkLg0KICAtIDQvNDogYWRkIHRoZSBz cGxpdC1HU08gIkNvbmRpdGlvbnMgdG8gcmVjcmVhdGUgdGhlIGJ1ZyIgcmVjaXBlIGZvciB0aGUN CiAgICBzZWdtZW50LXN1bSByZWplY3Rpb24gYXQgdGhlIHNwbGl0IGNlaWxpbmcuDQogIC0gNC80 OiB0aGUgSVNfRVJSX09SX05VTEwoc2Vncykgc2VnbWVudGF0aW9uLWZhaWx1cmUgcmV0dXJuIHVz ZXMNCiAgICBxZGlzY19kcm9wX3JlYXNvbiguLi4sIFFESVNDX0RST1BfR0VORVJJQyk7IF9fc2ti X2dzb19zZWdtZW50KCkgaGFzDQogICAgYWxyZWFkeSBjbG9iYmVyZWQgdGNfc2tiX2NiLmRyb3Bf cmVhc29uIHRocm91Z2ggU0tCX0dTT19DQiwgc28gdGhlIG9sZA0KICAgIHFkaXNjX2Ryb3AoKSBy ZXBvcnRlZCBhbiB1bnJlbGF0ZWQgY29yZSByZWFzb24gYW5kIHNraXBwZWQNCiAgICB0cmFjZV9x ZGlzY19kcm9wLg0KICAtIDQvNDogcGFzcyB0aGUgZmxvd19tb2RlIHNuYXBzaG90IHRvIHRoZSBs YXRlciBmbG93Y2hhaW4gY2FsbHMNCiAgICAoY2FrZV9nZXRfZmxvd19xdWFudHVtKCksIGNha2Vf aW5jX3NyY2hvc3RfYnVsa19mbG93X2NvdW50KCksDQogICAgY2FrZV9pbmNfZHN0aG9zdF9idWxr X2Zsb3dfY291bnQoKSkgYXMgd2VsbCwgc28gb25lIGVucXVldWUgc2VlcyBvbmUNCiAgICBtb2Rl IChLQ1NBTi12aXNpYmxlIHJhY2UgYW5kIHN0YWxlIGhvc3QgaW5kZXgpLg0KDQpDaGFuZ2VzIGlu IHY4Og0KICAtIDEvNCBpcyBjYWtlLW9ubHkuIGZxX2NvZGVsX2NsYXNzaWZ5KCkgaXMgbGluZS1m b3ItbGluZSB0aGUgc2FtZSBhcw0KICAgIGZxX3BpZV9jbGFzc2lmeSgpLCBhbmQgZnFfcGllIGlz IG5vdCBjaGFuZ2VkIGJ5IHRoaXMgc2VyaWVzLCBzbyB0aGUNCiAgICB0d28gc3RheSBpbiBsb2Nr c3RlcDogZnFfY29kZWwga2VlcHMgaXRzIG9yaWdpbmFsIGNsYXNzaWZ5IHNoYXBlIGFuZA0KICAg IHRoZSBmcV9jb2RlbCBiYWNrbG9nIGd1YXJkIGlzIHBsYWNlZCBpbmxpbmUgaW4gaXRzIGVucXVl dWUgcGF0aA0KICAgICgzLzQpIGluc3RlYWQuIChUb2tlIEjDuGlsYW5kLUrDuHJnZW5zZW4pDQog IC0gMy80OiB0aGUgZnFfY29kZWwgZ3VhcmQgc2l0cyBiZXR3ZWVuIGlkeC0tIGFuZA0KICAgIGNv ZGVsX3NldF9lbnF1ZXVlX3RpbWUoKSwgc28gYSBkcm9wcGVkIHBhY2tldCBjYW5ub3QgdG91Y2gg Zmxvdw0KICAgIHN0YXRlLiBUaGUgY29tbWl0IG1lc3NhZ2UgaXMgcmV3b3JkZWQgYXMgc3VnZ2Vz dGVkLiAoVG9rZQ0KICAgIEjDuGlsYW5kLUrDuHJnZW5zZW4pDQogIC0gNC80OiB0aGUgb3JpZ2lu YWwgc2tiIGlzIGNvbnN1bWVkIHVuY29uZGl0aW9uYWxseSByaWdodCBhZnRlciBhDQogICAgc3Vj Y2Vzc2Z1bCBzcGxpdCAtLSB0aGF0IGlzIHRoZSBjYWxsZXIncyByZWZlcmVuY2UsIHNpbmNlIGEg ZnJhZ2xpc3QNCiAgICBHU08gdGFrZXMgdGhlIGxpc3QncyBvd24gcmVmZXJlbmNlIG9uIHRoZSBz YW1lIHNrYiBpbg0KICAgIHNrYl9zZWdtZW50X2xpc3QoKSAtLSBzbyB0aGUgcmVqZWN0IGJyYW5j aCB0YWdzIGV2ZXJ5IGRlZmVycmVkDQogICAgc2VnbWVudCBhbmQgZHJvcHMgdGhlIHdob2xlIGxp c3Qgd2l0aCBxZGlzY19kcm9wX2FsbCgpLCBhbmQgdGhlDQogICAgYWRtaXR0ZWQgcGF0aCBubyBs b25nZXIgY29uc3VtZXMgdGhlIHNrYiBhZnRlciB0aGUgd2Fsay4gKFRva2UNCiAgICBIw7hpbGFu ZC1Kw7hyZ2Vuc2VuKQ0KDQpDaGFuZ2VzIGluIHY3Og0KICAtIDEvNDogY29tcGxldGUgdGhlIGZx X2NvZGVsX2NsYXNzaWZ5KCkgY29tbWVudCAoU2FzaGlrbyBuaXBhIHY2DQogICAgbWFpbi0yLTEs IExvdykuIFRoZSBjb21tZW50IGxpc3RlZCBvbmx5IHRoZSB0ZXJtaW5hbC1hY3Rpb24gYW5kDQog ICAgbm8tY2xhc3MtSUQgY2FzZXM7IHRoZSBmdW5jdGlvbiBhbHNvIHJldHVybnMgdHJ1ZSB3aGVu IG5vIGZpbHRlcg0KICAgIG1hdGNoZWQgb3Igd2hlbiB0aGUgc2VsZWN0ZWQgY2xhc3MgbWlub3Ig aXMgYWJvdmUgcS0+Zmxvd3NfY250LA0KICAgIGFuZCB0aG9zZSBwYWNrZXRzIGFyZSBCWVBBU1Mg ZHJvcHMsIG5vdCBhIGZhbGxiYWNrIHRvIGhhc2hpbmcgYXMNCiAgICBpbiBjYWtlLiBDb21tZW50 LW9ubHksIG5vIGNvZGUgY2hhbmdlOyBmb2xkZWQgaW50byB0aGlzIHJlc2VuZA0KICAgIHNpbmNl IHRoZSBzZXJpZXMgaXMgcmV2aXNlZCBhbnl3YXkuDQogIC0gMy80OiBkbyBub3QgY2xhbXAgdGhl IHNoYXJlZCBxZGlzY19wa3RfbGVuKCkgKFNhc2hpa28gbmlwYSB2Ng0KICAgIG1haW4tMi02LCBN ZWRpdW0pLiBUaGUgY2xhbXAgc2lsZW50bHkgdW5kZXJjaGFyZ2VkIEJQRg0KICAgIF9fc2tfYnVm Zi53aXJlX2xlbiwgYWN0X3BvbGljZSBhbmQgdGhlIEhUQi9UQkYgc2hhcGVycyBmb3IgYSB2YWxp ZA0KICAgIGxhcmdlIEdTTyBlc3RpbWF0ZS4gVGhlIGluaXRpYWxpemVyIG5vdyBzdGF5cyB0cnV0 aGZ1bCBmb3IgZXZlcnkNCiAgICBpbnB1dCBhbmQgdGhlIG92ZXJmbG93IHByb3RlY3Rpb24gaXMg ZW5xdWV1ZSBhZG1pc3Npb246IGVhY2gNCiAgICBhZmZlY3RlZCBxZGlzYyBkcm9wcyBhIHBhY2tl dCBvbmNlIHRoZSBzdG9yZWQgYmFja2xvZyBjYW5ub3QNCiAgICByZXByZXNlbnQgaXRzIGFjY291 bnRlZCBsZW5ndGggLS0gdGhlIHN0YW5kaW5nIFFESVNDX01BWF9CQUNLTE9HDQogICAgY2VpbGlu ZyBjb3ZlcnMgb3JkaW5hcnkgcGFja2V0cywgYW5kIGEgcGVyLXBhY2tldCByZXByZXNlbnRhYmls aXR5DQogICAgY2hlY2sgY292ZXJzIHRoZSBsYXJnZXIgd2lyZSBlc3RpbWF0ZXMsIHdoaWNoIGEg c3VwcG9ydGVkDQogICAgc21hbGwtTVNTIEJJRyBUQ1AgYWdncmVnYXRlIGNhbiBsZWdpdGltYXRl bHkgY2FycnkgYWJvdmUgMSBNaUINCiAgICB3aGlsZSBpdHMgcmF3IGxlbmd0aCBzdGF5cyB3aXRo aW4gR1NPX01BWF9TSVpFLiBUaGUgY29uc3VtZXJzIHJlYWQNCiAgICB0aGUgcmVhbCBsZW5ndGgs IGFuZCBzY2hfaGFuZGxlX2luZ3Jlc3MoKSBrZWVwcyBjb21wbGV0ZSBwa3Rfc2Vncw0KICAgIG1l dGFkYXRhLg0KICAtIDQvNDogdGFnIGV2ZXJ5IGRlZmVycmVkIHNwbGl0LUdTTyBzZWdtZW50IHdp dGggUURJU0NfRFJPUF9PVkVSTElNSVQNCiAgICAoU2FzaGlrbyBuaXBhIHY2IGdwdC02LWFzdHJh LTItNSwgTWVkaXVtKS4gX19za2JfZ3NvX3NlZ21lbnQoKSBzdG9yZXMNCiAgICBTS0JfR1NPX0NC IGF0IGNiIG9mZnNldCAzMiwgYWxpYXNpbmcgdGNfc2tiX2NiLmRyb3BfcmVhc29uLCBhbmQgdGhl IGNiDQogICAgaXMgY29waWVkIGludG8gZXZlcnkgc2VnbWVudCwgc28gdGFnZ2luZyBvbmx5IHRo ZSBoZWFkIGxlZnQgdGhlIHJlc3QNCiAgICB3aXRoIEdTTyBzY3JhdGNoIGFzIHRoZWlyIGRyb3Ag cmVhc29uLg0KICAtIDQvNDogc25hcHNob3QgcS0+Y29uZmlnLT5mbG93X21vZGUgb25jZSB3aXRo IFJFQURfT05DRSgpIGFuZCBwYXNzIGl0DQogICAgdG8gYm90aCBoYXNoIGhlbHBlcnMgKFNhc2hp a28gbmlwYSB2NiBncHQtNi1hc3RyYS01LTksIExvdykuIFRoZSBzcGxpdA0KICAgIGludHJvZHVj ZWQgdHdvIGxvYWRzIHdpdGggdGhlIHNlZ21lbnRhdGlvbiB3b3JrIGJldHdlZW4gdGhlbS4NCiAg LSBOb3QgZm9sZGVkOiB0aGUgMy80IGludGVybWVkaWF0ZS1jb21taXQgc3BsaXQtR1NPIGxpbWl0 YXRpb24gKDQvNA0KICAgIGNsb3NlcyBpdDsgdGhlIHByZS1zZXJpZXMgcGF0aCB3YXMgYWxyZWFk eSB1bmJvdW5kZWQpIGFuZCB0aGUNCiAgICBGaXhlczovc3RhYmxlIHN1Z2dlc3Rpb25zIChpbnRl bnRpb25hbCBuZXQtbmV4dCB0YXJnZXQpLiBUaGUgZ2VtaW5pDQogICAgdjYgVENfQUNUX0NPTlNV TUVEIEhpZ2ggaXMgdGhlIHY1IGZpbmRpbmcgYWxyZWFkeSByZWJ1dHRlZCBhcw0KICAgIHVucmVh Y2hhYmxlIGZyb20gYSBxZGlzYyBjbGFzc2lmeSBzd2l0Y2guDQoNCnY2ICByZXdyaXRlIGFzIGEg Zm91ci1wYXRjaCBzZXJpZXMgcGVyIFRva2UgSMO4aWxhbmQtSsO4cmdlbnNlbidzIHJldmlldyBv Zg0KICAgIHY1IChzcGxpdCB0aGUgY2xhc3NpZmllciByZWZhY3RvciwgdGhlIHNwbGl0LUdTTyBp dGVyYXRvciwgdGhlDQogICAgb3ZlcmZsb3cgZ3VhcmQgYW5kIHRoZSBjYWtlIGhhc2ggc3BsaXQ7 IGRyb3AgdGhlIG1hY2hpbmUtd3JpdHRlbg0KICAgIHByb3NlKS4gQ29uc2lkZXJlZCB0aGUgU2Fz aGlrbyBnZW1pbmkgdjUgVENfQUNUX0NPTlNVTUVEIHJlcG9ydCBhbmQNCiAgICBkaWQgbm90IGZv bGQgaXQgKHVucmVhY2hhYmxlOyBzZWUgYmVsb3cpLiBSZXdvcmRlZCB0aGUgY2FrZSBibG9jaw0K ICAgIGNvbW1lbnQgdGhhdCBoYWQgYW4gZW1iZWRkZWQgIi8qIiAoU2ltb24gSG9ybWFuJ3MgVz0x IHdhcm5pbmcpIGFuZA0KICAgIHJld29yZGVkIGEgY29tbWVudCB0aGF0IG92ZXJzdGF0ZWQgdGhl IGNsYXNzaWZpZXIncyByZXR1cm4gY2FzZXMuIFRoZQ0KICAgIFRDX0FDVF9DT05TVU1FRCBzd2l0 Y2ggY2FzZSB3YXMgZHJvcHBlZCBmcm9tIHRoZSBmaW5hbCAwMDAxIGJlY2F1c2UgaXQNCiAgICBz dGlsbCByZWFjaGVkIF9fcWRpc2NfZHJvcCgpOyBubyBpbi10cmVlIHByb2R1Y2VyIGNhbiBkZWxp dmVyDQogICAgVENfQUNUX0NPTlNVTUVEIHRvIGEgcWRpc2MgY2xhc3NpZnkgc3dpdGNoIChhY3Rf Y3QgcmV0dXJucyBpdCBvbmx5IG9uDQogICAgYSBjbHNhY3QvaW5ncmVzcyBxZGlzYywgYWN0X21p cnJlZCBvbmx5IGZvciBhIG5vbi1jbG9uaW5nIGluZ3Jlc3MNCiAgICByZWRpcmVjdCwgYW5kIGNs c19icGYvYWN0X2JwZiByZW1hcCBhbiB1bmtub3duIHZlcmRpY3QgdG8gVU5TUEVDKS4NCg0KdjUv djQvdjMvdjIgaGlzdG9yeTogc2VlIHRoZSB2NiBwb3N0aW5nLiBJbiBzaG9ydCwgdjMgYWRvcHRl ZCB0aGUgc3RvcmVkDQogICAgYmFja2xvZyBjb21wYXJlIHFkaXNjX2JhY2tsb2dfYXRfbWF4KCkg KG5vIGRvdWJsZS1jb3VudCBvZiB0aGUgMSBNaUINCiAgICBoZWFkcm9vbSwgbm8gcGVyLWVucXVl dWUgNjQtYml0IGFkZCksIG1vdmVkIHRoZSBjbGFzc2lmaWVyIGFuZCB0aGUNCiAgICBjZWlsaW5n IGNoZWNrIGFoZWFkIG9mIHRoZSBoYXNoL3NoYXBlciBzdGF0ZSwgYW5kIGFkZGVkIHBmaWZvOyB2 NA0KICAgIHNwbGl0IHRoZSBoYXNoIGtleXMgZnJvbSB0aGUgc2V0LWFzc29jaWF0aXZlIHJlc29s dXRpb24gYW5kIGhhbmRsZWQNCiAgICB0aGUgZnJhZ2xpc3QtR1NPIHNlbGYtbGluazsgdjIgcmVw bGFjZWQgdGhlIHJlamVjdGVkIHU2NCB3aWRlbmluZyB3aXRoDQogICAgdGhlIGVucXVldWUgZHJv cDsgdjEgd2lkZW5lZCB0aGUgY291bnRlcnMuDQoNCkphbWFsIEhhZGkgU2FsaW0gKDQpOg0KICBu ZXQvc2NoZWQ6IGNha2U6IHJldHVybiB0aGUgY2xhc3NpZmllciByZXN1bHQgdG8gdGhlIGNhbGxl cg0KICBuZXQvc2NoZWQ6IGNha2U6IHVzZSBhIGRlZGljYXRlZCBzcGxpdC1HU08gbGlzdCBpdGVy YXRvcg0KICBuZXQvc2NoZWQ6IGNhcCB0aGUgYWNjb3VudGVkIGJhY2tsb2cgYmVmb3JlIGl0IGNh biB3cmFwDQogIG5ldC9zY2hlZDogY2FrZTogaGFzaCBiZWZvcmUgc2VnbWVudGluZyBhbmQgcmVq ZWN0IGFuIG92ZXJsb25nIHNwbGl0DQoNCiBpbmNsdWRlL25ldC9wa3Rfc2NoZWQuaCAgIHwgICAx IC0NCiBpbmNsdWRlL25ldC9zY2hfZ2VuZXJpYy5oIHwgIDIwICsrKysrDQogbmV0L3NjaGVkL3Nj aF9jYWtlLmMgICAgICB8IDE4NSArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQ0KIG5ldC9zY2hlZC9zY2hfY29kZWwuYyAgICAgfCAgMTYgKystLQ0KIG5ldC9zY2hlZC9zY2hf ZHVhbHBpMi5jICAgfCAgIDEgKw0KIG5ldC9zY2hlZC9zY2hfZmlmby5jICAgICAgfCAgIDYgKysN CiBuZXQvc2NoZWQvc2NoX2ZxX2NvZGVsLmMgIHwgICA5ICsrDQogbmV0L3NjaGVkL3NjaF9mcV9w aWUuYyAgICB8ICAgMyArLQ0KIG5ldC9zY2hlZC9zY2hfZ3JlZC5jICAgICAgfCAgIDkgKysNCiBu ZXQvc2NoZWQvc2NoX3BpZS5jICAgICAgIHwgICAzICstDQogbmV0L3NjaGVkL3NjaF9wbHVnLmMg ICAgICB8ICAgOSArLQ0KIG5ldC9zY2hlZC9zY2hfcmVkLmMgICAgICAgfCAgNDYgKysrKysrKyst LQ0KIDEyIGZpbGVzIGNoYW5nZWQsIDIzNyBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkN Cg0KLS0gDQoyLjQzLjANCg0K