From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=; dkim=pass header.d=gmail.com; arc=pass; dmarc=pass (Used From Domain Record) header.from=gmail.com policy.dmarc=quarantine Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com [IPv6:2a00:1450:4864:20::22b]) by mail.toke.dk (Postfix) with ESMTPS id D8B1DF356EB for ; Tue, 31 Mar 2026 20:26:01 +0200 (CEST) Received: by mail-lj1-x22b.google.com with SMTP id 38308e7fff4ca-38c26612508so49681181fa.3 for ; Tue, 31 Mar 2026 11:26:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774981559; cv=none; d=google.com; s=arc-20240605; b=Hr4pO2aWuYA+2YL1aS1JzHDxAvPTqjlzSkxj1lIOpUY6003qH1eCc4ILY/6wNa4iSo O9eFxDRBTHKAUn3iX0ukJHWytQqRIRnY4UedSn3Gb30m15dMDkoShYyQzNuA6PBihX05 v+6Uy7xcnAy6w/kIZg/kUAx3ADD31lv1dvViOsLt3sYJHCSv9HHpoTJt5fljhW/jQRv+ oAfKMexzzmnkmubdqUnlqW/5T6wPLJahLO8Bwx+HeoWkzJHAGQ4olholDaoQHJudCjf9 iB77FKoD7MlDhc4f0aT/Or0ZbquG8ucU43JrfNjWfFGmyw2+YwwoL0YmLMCs20AjowBH aA5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=lCTaIp/txTAaOiaqSNHqsIyfOJYe7o38weMiI+rAuFE=; fh=E46GuWvi0ZP1/m7pGyqtrqs37845P2x2V4mXrxsuSao=; b=QgJIt1WOdZQ8vTBTRsE/geOHieZYEIywwOfx8WoYHq3bbsedW+Vr/Bq4Zldx6rvltm w7Z9sUTorQeEkYfduDFAjQcYN/4bXvath0a5yqRbbO44LYE0OzUGTOppbf1zqZYXKjNF m/aXWLWhiO7Lba7tqRUmhKl02tESZmGjZ5InYb+dpdc1uZ/ETqPJv7rLU9sw3LL9yMa0 3kte6u5x1HTsQNGMn4cGvoPHb09AcgFi9EdzdeTiRNduOWBgX7mYvQUxyJ9gttXevoA2 U6+vD74pZACjgaN9ujAZe6L9hjO+Y9w2M4t9wxDpS0w3lBs7wJMyzvv3A7d++em6/M2g jnXw==; darn=lists.bufferbloat.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774981559; x=1775586359; darn=lists.bufferbloat.net; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=lCTaIp/txTAaOiaqSNHqsIyfOJYe7o38weMiI+rAuFE=; b=PLxCcu43P/wsg0feCQASci1cNXniLo2tBAAOSxSPoI758M0xZjE3nQFyiZKDmZghRj 44dCw50ZKe70XU6CvJYhk2IovDEbvsgnNTqxREtke23zG9kzTiv1twz3HMbD4e/P9T13 F+XeyYZzNGwnA2czTnwnP1LklYTYaYkzgr8Mcw0scOmmFkJbp88nyBqJ03AeR1qFc9OH lz7M6X1EXwrkmSx/doG2MKKYr2ecH9WmoeaWE3oT6a57MyktNGcvISOxxUcovcisCpTM ivL1QBYdqMsqC8gaVPjmtv4XzRiwG5MVPw7jn/tgoz13OkdT2XyPvUCUZOeS+89KXxTc CIGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774981559; x=1775586359; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=lCTaIp/txTAaOiaqSNHqsIyfOJYe7o38weMiI+rAuFE=; b=YUdyQdWamihif0h/wzhyfVzbbUGCiQQgwnQYCUbxNfXPrO6yIDQZVZfEuKkPQK5Fpa 0C/+yzHFDoemrgFM2J2ngHq4dPy3MBJnTXeh4J57URPCByLX3WLEGQtepmn1XNqPPdLN pR32NhgbNxDlALxJUFDk/Ai5TQhyGj5nZHGj3UrCD8peXeXTrr4o1Eetsw1xUzXMWc8K 57obN91tuISKYBly27P8r54NhjyP1NAFNBb+urPG0uYIV5K8gVF6D6+sVhZs591wcuen 0gfbIbOTeLoAclVYtUrv9/Yv1Ls1K3qf2S0rUDfK1EubZJ4vhyDvUDadP1SPt3MhSDrx Zxkg== X-Gm-Message-State: AOJu0YzF3cibe+YReGlcieFl8WVH/S3ON6GcmMIKagTc6/iQGBCu1d9C y4X+wHPgFk6oJyiy26Ikx5EPUipifUspNR7QvHFbZd7VD0Wdi4+9mD14j0SvVX0oiiCOejXAsDn bXB0qdbXvXvfH/P/p8ODG0Yx6jNK92ihvLk8r X-Gm-Gg: ATEYQzwXSaWzA5sr2dMTFWsI1NMyLE1OYVYMlo9zakJ6QXulIygUsSlSlxIQ0QS9FeQ wGOMUY/bPYHCrqEr6ikRy3ObKqRHd3lxi1vuSvxgdzBVbmCKhsrXzQl+BjjV0oNQoJkqq3n9I7m pmBCByDSloY48cP/6AMGIkO2y1Cay7Jb9B4VpLD4zFJfzFvQLjFXBh2DlLnbIVPioal9Q4VpvqR dsJrYUdLTv4oONSfh2zXxyEljWRzoXpWmZ+ykfoXCsp6xlQiLwUYsj8BLOqaa6lTmlg/rgDLwJp IaOa7Q8SKOV/1fuAIooFJ2YYh0PjTbg2UepiwqMdXtZGSW7d1pZYtlsK/mUW1JWyX4UeBqzbNHm rTtTXu4CMiX8= X-Received: by 2002:a05:651c:4003:b0:38a:878b:b552 with SMTP id 38308e7fff4ca-38cc2f6beb0mr805221fa.15.1774981559080; Tue, 31 Mar 2026 11:25:59 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Frantisek Borsik Date: Tue, 31 Mar 2026 20:29:22 +0200 X-Gm-Features: AQROBzDSOTc90HwbhLYBJp65TrBhziJyMqHF0OSnSBlbLlI5DaGgkCuNsfklXHw Message-ID: To: libreqos Message-ID-Hash: WQ66CV6NMGOAJKXNQSUYAUK3TO7TZACX X-Message-ID-Hash: WQ66CV6NMGOAJKXNQSUYAUK3TO7TZACX X-MailFrom: frantisek.borsik@gmail.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 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Subject: [LibreQoS] Fwd: [LibreQoE/LibreQoS] Release v2.1 - v2.1 List-Id: Many ISPs need the kinds of quality shaping cake can do Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: QW5vdGhlciByZWxlYXNlLCBpbiBjbG9zZSBzdWNjZXNzaW9uLg0KDQpBbGwgdGhlIGJlc3QsDQoN CkZyYW5rDQoNCkZyYW50aXNlayAoRnJhbmspIEJvcnNpaw0KDQoNCipJbiBsb3ZpbmcgbWVtb3J5 IG9mIERhdmUgVMOkaHQ6ICoxOTY1LTIwMjUNCg0KaHR0cHM6Ly9saWJyZXFvcy5pby8yMDI1LzA0 LzAxL2luLWxvdmluZy1tZW1vcnktb2YtZGF2ZS8NCg0KDQpodHRwczovL3d3dy5saW5rZWRpbi5j b20vaW4vZnJhbnRpc2VrYm9yc2lrDQoNClNpZ25hbCwgVGVsZWdyYW0sIFdoYXRzQXBwOiArNDIx OTE5NDE2NzE0DQoNCmlNZXNzYWdlLCBtb2JpbGU6ICs0MjA3NzUyMzA4ODUNCg0KU2t5cGU6IGNh c2lvYTUzMDJjYQ0KDQpmcmFudGlzZWsuYm9yc2lrQGdtYWlsLmNvbQ0KDQoNCi0tLS0tLS0tLS0g Rm9yd2FyZGVkIG1lc3NhZ2UgLS0tLS0tLS0tDQpGcm9tOiBSb2JlcnQgQ2hhY8OzbiA8bm90aWZp Y2F0aW9uc0BnaXRodWIuY29tPg0KRGF0ZTogVHVlLCBNYXIgMzEsIDIwMjYgYXQgNjowNOKAr1BN DQpTdWJqZWN0OiBbTGlicmVRb0UvTGlicmVRb1NdIFJlbGVhc2UgdjIuMSAtIHYyLjENClRvOiBM aWJyZVFvRS9MaWJyZVFvUyA8TGlicmVRb1NAbm9yZXBseS5naXRodWIuY29tPg0KQ2M6IFN1YnNj cmliZWQgPHN1YnNjcmliZWRAbm9yZXBseS5naXRodWIuY29tPg0KDQoNCnYyLjEgPGh0dHBzOi8v Z2l0aHViLmNvbS9MaWJyZVFvRS9MaWJyZVFvUy9yZWxlYXNlcy90YWcvdjIuMT4NCg0KUmVwb3Np dG9yeTogTGlicmVRb0UvTGlicmVRb1MgPGh0dHBzOi8vZ2l0aHViLmNvbS9MaWJyZVFvRS9MaWJy ZVFvUz4gwrcgVGFnOg0KdjIuMSA8aHR0cHM6Ly9naXRodWIuY29tL0xpYnJlUW9FL0xpYnJlUW9T L3RyZWUvdjIuMT4gwrcgQ29tbWl0OiBkZjI3MTg3DQo8aHR0cHM6Ly9naXRodWIuY29tL0xpYnJl UW9FL0xpYnJlUW9TL2NvbW1pdC9kZjI3MTg3MTdiZjI2MzM0ODYxMzNiNTU5NDM4YzBiYmQ4MWQ1 YWU2Pg0KwrcgUmVsZWFzZWQgYnk6IHJjaGFjIDxodHRwczovL2dpdGh1Yi5jb20vcmNoYWM+DQpT dW1tYXJ5DQoNCkxpYnJlUW9TIHYyLjEgaXMgZm9jdXNlZCBvbiBtYWtpbmcgZGFpbHkgb3BlcmF0 aW9uIGVhc2llciBmb3IgSW50ZXJuZXQNClNlcnZpY2UgUHJvdmlkZXJzLiBUaGUgcmVsZWFzZSBp bXByb3ZlcyB2aXNpYmlsaXR5IGluIHRoZSBXZWIgVUksIGV4cGFuZHMNCmludGVncmF0aW9uIGNv bXBhdGliaWxpdHksIG1ha2VzIGZpcnN0LXJ1biBhbmQgbG9naW4gYmVoYXZpb3IgY2xlYXJlciwg YW5kDQpjb250aW51ZXMgdGhlIHNoYXBpbmcvcnVudGltZSB3b3JrIG5lZWRlZCBmb3Igc2FmZXIg cmVsb2FkcyBhbmQgbGFyZ2VyDQpkZXBsb3ltZW50cy4NCg0KSW4gcHJhY3RpY2FsIHRlcm1zLCB0 aGlzIHJlbGVhc2UgaXMgYWJvdXQgaGVscGluZyBJU1BzIHNwZW5kIGxlc3MgdGltZQ0KZ3Vlc3Np bmcgd2hhdCBMaWJyZVFvUyBpcyBkb2luZywgbGVzcyB0aW1lIGZpZ2h0aW5nIGludGVncmF0aW9u IGVkZ2UgY2FzZXMsDQphbmQgbW9yZSB0aW1lIHVzaW5nIExpYnJlUW9TIGFzIGFuIG9wZXJhdGlv bmFsIHRvb2wuDQpXaG8gdGhpcyByZWxlYXNlIGhlbHBzIG1vc3QNCg0KICAgLSBXSVNQcyB1c2lu ZyBVSVNQDQogICAtIElTUHMgdXNpbmcgU29uYXIgYXMgYSBzb3VyY2Ugb2YgdHJ1dGgNCiAgIC0g b3BlcmF0b3JzIHVzaW5nIEluc2lnaHQgYW5kIHRoZSBOb2RlIE1hbmFnZXIgVUkgaGVhdmlseQ0K ICAgLSBtaXhlZCB3aXJlbGVzcy9maWJlciBJU1BzIHdobyB3YW50IHRvIGluY2x1ZGUgc29tZSBz dWJzY3JpYmVyIGdyb3Vwcw0KICAgYW5kIGV4Y2x1ZGUgb3RoZXJzDQogICAtIG9wZXJhdG9ycyBv bmJvYXJkaW5nIGEgbmV3IGJveCBvciBkZXBsb3lpbmcgTGlicmVRb1MgbW9yZSBicm9hZGx5DQoN CldoYXQgSVNQcyB3aWxsIG5vdGljZSBCZXR0ZXIgdmlzaWJpbGl0eSBpbiB0aGUgV2ViIFVJDQoN CiAgIC0gVGhlIE5vZGUgTWFuYWdlciBhbmQgZXhlY3V0aXZlIGRhc2hib2FyZHMgaGF2ZSBiZWVu IGV4cGFuZGVkDQogICBzdWJzdGFudGlhbGx5Lg0KICAgLSBPcGVyYXRvcnMgbm93IGdldCBtb3Jl IHZpZXdzIGludG8gY2lyY3VpdCBhY3Rpdml0eSwgc2hhcGVkIGRldmljZXMsDQogICBzaXRlIGNv bmRpdGlvbnMsIHF1ZXVlIGJlaGF2aW9yLCBDUFUgdXNhZ2UsIGFuZCBwbGFubmluZy1vcmllbnRl ZA0KICAgZGFzaGJvYXJkcy4NCiAgIC0gQmFrZXJ5LCBUcmVlR3VhcmQsIGFuZCBTdG9ybUd1YXJk IG5vdyBoYXZlIG11Y2ggYmV0dGVyIFVJIHZpc2liaWxpdHkuDQoNCkJlbmVmaXQgdG8gSVNQczoN Cg0KICAgLSBlYXNpZXIgdG8gYW5zd2VyICJ3aGF0IGlzIGhhcHBlbmluZyByaWdodCBub3c/Ig0K ICAgLSBlYXNpZXIgdG8gaWRlbnRpZnkgb3ZlcmxvYWRlZCBzaXRlcywgdW5oZWFsdGh5IHN1YnNj cmliZXJzLCBvciBzaGFwaW5nDQogICBjaGFuZ2VzDQogICAtIGxlc3MgbmVlZCB0byBkcm9wIGlu dG8gQ0xJL2RlYnVnIGZpbGVzIGZvciBjb21tb24gY2hlY2tzDQoNCkltcHJvdmVkIHNpdGUgbWFw IGV4cGVyaWVuY2UNCg0KICAgLSBUaGUgU2l0ZSBNYXAgd2FzIHJlYnVpbHQgYXJvdW5kIGFuIE9w ZW5TdHJlZXRNYXAtYmFzZWQgdmlldyB1c2luZw0KICAgSW5zaWdodC1zZXJ2ZWQgdGlsZXMuDQog ICAtIE1hcCBiZWhhdmlvciB3YXMgaW1wcm92ZWQgd2l0aCBiZXR0ZXIgdmlld3BvcnQgZml0dGlu ZywgdHJhbnNwb3J0DQogICBzY2FsaW5nLCBzaXRlIGxpbmtzLCBtYXJrZXIgc2l6aW5nLCBhbmQg dGlsZSByZXRyeS90aHJvdHRsaW5nIGJlaGF2aW9yLg0KDQpCZW5lZml0IHRvIElTUHM6DQoNCiAg IC0gZWFzaWVyIHRvIG9yaWVudCBnZW9ncmFwaGljYWxseQ0KICAgLSBiZXR0ZXIgdmlzdWFsIGNv bnRleHQgZm9yIHNpdGUgcmVsYXRpb25zaGlwcyBhbmQgYWZmZWN0ZWQgYXJlYXMNCiAgIC0gbW9y ZSB1c2VmdWwgb3BlcmF0aW9uYWwgbWFwIGZvciBkYXktdG8tZGF5IHN1cHBvcnQgYW5kIHBsYW5u aW5nDQoNCkJldHRlciBmaXJzdC1ydW4gYW5kIGFjY291bnQgc2V0dXANCg0KICAgLSBGaXJzdC1y dW4gc2V0dXAsIGxvZ2luIGJlaGF2aW9yLCBhbmQgcmVsYXRlZCBvbmJvYXJkaW5nIGZsb3dzIHdl cmUNCiAgIGltcHJvdmVkLg0KICAgLSBJbnNpZ2h0IHNpZ251cCBhbmQgdHJpYWwgaGFuZG9mZiBm bG93cyB3ZXJlIGFsc28gZXhwYW5kZWQuDQoNCkJlbmVmaXQgdG8gSVNQczoNCg0KICAgLSBjbGVh bmVyIGluaXRpYWwgc2V0dXAgZXhwZXJpZW5jZQ0KICAgLSBsZXNzIGNvbmZ1c2lvbiBvbiBuZXcg aW5zdGFsbHMgb3IgcmVzZXQgc3lzdGVtcw0KICAgLSBlYXNpZXIgcGF0aCBpbnRvIEluc2lnaHQg ZXZhbHVhdGlvbiB3aGVyZSBkZXNpcmVkDQoNCkludGVncmF0aW9uIGltcHJvdmVtZW50cyBCZXR0 ZXIgU29uYXIgc3VwcG9ydA0KDQpUaGUgU29uYXIgaW50ZWdyYXRpb24gcmVjZWl2ZWQgYSBtYWpv ciB1cGdyYWRlOg0KDQogICAtIGJldHRlciBHcmFwaFFMIHBhZ2luYXRpb24NCiAgIC0gbm9ybWFs aXplZCBTb25hciBBUEkgVVJMIGhhbmRsaW5nDQogICAtIGJldHRlciBBUEkgYW5kIG5vbi1KU09O IGVycm9yIG1lc3NhZ2VzDQogICAtIFJhZGl1cyBJUCBzdXBwb3J0IGluIGFkZGl0aW9uIHRvIGlu dmVudG9yeS1pdGVtIElQcw0KICAgLSBjaGlsZF9hY2NvdW50cyBzdXBwb3J0DQogICAtIG9wdGlv bmFsIHJlY3VycmluZy1zZXJ2aWNlIGZhbGxiYWNrIG1hcHBpbmdzIGZvciBvcGVyYXRvcnMgd2hv c2UNCiAgIGludGVybmV0IHByb2R1Y3RzIGFyZSBtb2RlbGVkIG91dHNpZGUgc3RhbmRhcmQgREFU QSBzZXJ2aWNlcw0KICAgLSB0aW1lb3V0L3JldHJ5IGhhcmRlbmluZyBmb3Igc2xvd2VyIFNvbmFy IHN5c3RlbXMNCg0KQmVuZWZpdCB0byBJU1BzOg0KDQogICAtIG1vcmUgc3Vic2NyaWJlcnMgaW1w b3J0ZWQgY29ycmVjdGx5DQogICAtIGJldHRlciBjb21wYXRpYmlsaXR5IHdpdGggcmVhbC13b3Js ZCBTb25hciBkZXBsb3ltZW50cw0KICAgLSBmZXdlciBjYXNlcyB3aGVyZSBzaGFwaW5nIHNpbGVu dGx5IG1pc3NlcyBjdXN0b21lcnMgYmVjYXVzZSBTb25hcg0KICAgbW9kZWxzIHRoZW0gZGlmZmVy ZW50bHkNCiAgIC0gZWFzaWVyIHRyb3VibGVzaG9vdGluZyB3aGVuIFNvbmFyIGlzIHNsb3cgb3Ig cmV0dXJucyB1bmV4cGVjdGVkDQogICByZXNwb25zZXMNCg0KQmV0dGVyIFVJU1Agc3VwcG9ydA0K DQogICAtIFVJU1Agc3RyYXRlZ3kgbG9naWMgcmVjZWl2ZWQgYWRkaXRpb25hbCB3b3JrLCBpbmNs dWRpbmcgRXRoZXJuZXQNCiAgIGFkdmlzb3J5IHN1cHBvcnQgYW5kIG1vcmUgdmFsaWRhdGlvbiBh cm91bmQgZWRnZSBjYXNlcy4NCiAgIC0gSWdub3JlZC1vbmx5IGNsaWVudHMgYXJlIGhhbmRsZWQg bW9yZSBzYWZlbHkgaW4gc2hhcGluZyBvdXRwdXRzLg0KDQpCZW5lZml0IHRvIElTUHM6DQoNCiAg IC0gbW9yZSBjb25maWRlbmNlIHRoYXQgaW1wb3J0ZWQgVUlTUCBkYXRhIG1hdGNoZXMgaW50ZW5k ZWQgc2hhcGluZw0KICAgYmVoYXZpb3INCiAgIC0gYmV0dGVyIGhhbmRsaW5nIG9mIHN1YnNjcmli ZXIgYW5kIHRvcG9sb2d5IGVkZ2UgY2FzZXMNCg0KU2FmZXIgaGFuZGxpbmcgb2YgaWdub3JlZCBz dWJzY3JpYmVyIHN1Ym5ldHMNCg0KICAgLSBTaGFyZWQgaW50ZWdyYXRpb24gb3V0cHV0IGhhbmRs aW5nIG5vdyBkb2VzIGEgYmV0dGVyIGpvYiBleGNsdWRpbmcNCiAgIGlnbm9yZWQtb25seSBzdWJz Y3JpYmVyL2RldmljZSByb3dzIGZyb20gZ2VuZXJhdGVkIHNoYXBpbmcgb3V0cHV0cy4NCiAgIC0g VGhpcyB3YXMgaW1wbGVtZW50ZWQgY2FyZWZ1bGx5IHNvIGl0IGRvZXMgbm90IG5ld2x5IHJlcXVp cmUgZXZlcnkNCiAgIGltcG9ydGVkIGludGVncmF0aW9uIElQIHRvIGJlIGluc2lkZSBhbGxvd19z dWJuZXRzIGp1c3QgdG8gc3Vydml2ZQ0KICAgZ2VuZXJhdGlvbi4NCg0KQmVuZWZpdCB0byBJU1Bz Og0KDQogICAtIGVhc2llciB0byBleGNsdWRlIHdob2xlIHN1YnNjcmliZXIgcG9wdWxhdGlvbnMs IHN1Y2ggYXMgRlRUSCBjdXN0b21lcnMNCiAgIGFscmVhZHkgc2hhcGVkIGF0IHRoZSBPTlQsIHdp dGhvdXQgb3Zlci1iaWxsaW5nIHNoYXBlZCBpbnZlbnRvcnkNCiAgIC0gbG93ZXIgcmlzayBvZiB1 cGdyYWRlIGJyZWFrYWdlIGZvciBvcGVyYXRvcnMgd2hvIGRvIG5vdCBtYWludGFpbg0KICAgcGVy ZmVjdCBhbGxvd19zdWJuZXRzDQoNCk9wZXJhdGlvbmFsIGFuZCBzaGFwaW5nIGltcHJvdmVtZW50 cw0KDQpCZWhpbmQgdGhlIHNjZW5lcywgdjIuMSBpbmNsdWRlcyBtYWpvciBzaGFwaW5nL3J1bnRp bWUgd29yayBpbiBCYWtlcnkgYW5kDQpUcmVlR3VhcmQuDQoNCiAgIC0gc3Vic3RhbnRpYWwgQmFr ZXJ5IGRpZmYvYXBwbHkgaW1wcm92ZW1lbnRzDQogICAtIHF1ZXVlIG1hdGggYW5kIHFkaXNjIGhh bmRsZSB3b3JrDQogICAtIG1vcmUgbGFyZ2Utc2NhbGUgYW5kIGludGVncmF0aW9uLW9yaWVudGVk IHZhbGlkYXRpb24NCiAgIC0gY29udGludWVkIFRyZWVHdWFyZCBydW50aW1lIGNvbnRyb2wgYW5k IHN0YXRlIGhhbmRsaW5nIHdvcmsNCiAgIC0gc3Ryb25nZXIgbm9kZSBhbmQgY2lyY3VpdCBpZGVu dGl0eSBoYW5kbGluZw0KDQpCZW5lZml0IHRvIElTUHM6DQoNCiAgIC0gc2FmZXIgbGl2ZSByZWZy ZXNoZXMNCiAgIC0gYmV0dGVyIGJlaGF2aW9yIGF0IGxhcmdlciBzY2FsZQ0KICAgLSBsb3dlciBj aGFuY2Ugb2Ygc2hhcGluZyBzdGF0ZSBkcmlmdGluZyBvciBiZWNvbWluZyBoYXJkZXIgdG8gcmVh c29uDQogICBhYm91dCBkdXJpbmcgb3BlcmF0aW9uYWwgY2hhbmdlcw0KDQpDb25maWd1cmF0aW9u IGFuZCBvdmVycmlkZSBpbXByb3ZlbWVudHMNCg0KICAgLSBxdWV1ZV9tb2RlIGlzIG5vdyBtb3Jl IHZpc2libGUgaW4gdGhlIGNvbmZpZy9ydW50aW1lIG1vZGVsLCB3aXRoDQogICBjbGVhcmVyIHNo YXBlIHZzIG9ic2VydmUgYmVoYXZpb3IuDQogICAtIE9wZXJhdG9yIG92ZXJyaWRlIGhhbmRsaW5n IGFuZCBzdGFibGUgbm9kZSBpZGVudGl0eSBoYW5kbGluZyB3ZXJlDQogICBpbXByb3ZlZC4NCiAg IC0gTmV0d29yayBKU09OIHN1cHBvcnQgd2FzIGV4dGVuZGVkIGluIHdheXMgdGhhdCBiZXR0ZXIg c3VwcG9ydCBzdGFibGUNCiAgIG5vZGUgaWRlbnRpZmllcnMgYW5kIHRyYW5zcG9ydCBtZXRhZGF0 YS4NCiAgIC0gQ1BVIHRvcG9sb2d5L2RlZmF1bHQgaGFuZGxpbmcgYW5kIHF1ZXVlIHRyYWNraW5n IHdlcmUgcmVmaW5lZCBmdXJ0aGVyLg0KDQpCZW5lZml0IHRvIElTUHM6DQoNCiAgIC0gZWFzaWVy IHRvIG1vdmUgYmV0d2VlbiBvYnNlcnZlLW9ubHkgYW5kIHNoYXBpbmcgd29ya2Zsb3dzDQogICAt IG1vcmUgcHJlZGljdGFibGUgb3ZlcnJpZGVzDQogICAtIGJldHRlciBsb25nLXRlcm0gbWFpbnRh aW5hYmlsaXR5IGZvciBpbnRlZ3JhdGlvbi1kcml2ZW4gZGVwbG95bWVudHMNCg0KVXBncmFkZSBu b3Rlcw0KDQogICAtIElmIHlvdSB1c2UgU29uYXIsIHJldmlldyBpbXBvcnQgY291bnRzIGFmdGVy IHVwZ3JhZGluZy4gVGhpcyByZWxlYXNlDQogICBpbXByb3ZlcyBzdXBwb3J0IGZvciBSYWRpdXMg SVBzLCBjaGlsZCBhY2NvdW50cywgYW5kIHJlY3VycmluZy1wbGFuDQogICBmYWxsYmFjayBiZWhh dmlvci4NCiAgIC0gSWYgeW91IHVzZSBVSVNQLCB2ZXJpZnkgZXhwZWN0ZWQgc3Vic2NyaWJlci9k ZXZpY2UgaW1wb3J0IGJlaGF2aW9yDQogICBhZnRlciB1cGdyYWRlIGFzIHVzdWFsLCBlc3BlY2lh bGx5IG9uIG5ldHdvcmtzIHdpdGggdW51c3VhbCB0b3BvbG9neSBvcg0KICAgbWl4ZWQgYWRkcmVz cyBoYW5kbGluZy4NCiAgIC0gSWYgeW91IHVzZSB0aGUgU2l0ZSBNYXAsIG5vdGUgdGhhdCB0aGUg bmV3ZXIgbWFwIGJlaGF2aW9yIGRlcGVuZHMgb24NCiAgIHRoZSBJbnNpZ2h0LXNlcnZlZCB0aWxl IHBhdGggdXNlZCBieSB0aGUgVUkuDQogICAtIElmIHlvdSB1c2Ugb2JzZXJ2ZSBtb2RlLCByZXZp ZXcgcXVldWVfbW9kZSBhZnRlciB1cGdyYWRlIGFuZCBjb25maXJtDQogICB0aGUgYm94IGlzIGlu IHRoZSBpbnRlbmRlZCBtb2RlLg0KICAgLSBJZiB5b3UgYXJlIG9uYm9hcmRpbmcgYSBuZXcgYm94 IG9yIHJlc3RvcmluZyBvbmUgZnJvbSBhIG1pbmltYWwgc3RhdGUsDQogICBleHBlY3QgdGhlIGZp cnN0LXJ1biBhbmQgbG9naW4gZmxvdyB0byBiZWhhdmUgZGlmZmVyZW50bHkgdGhhbiBvbGRlcg0K ICAgcmVsZWFzZXMuDQoNCuKAlA0KDQpUaGlzIHJlbGVhc2UgaGFzIDIgYXNzZXRzOg0KDQogICAt IFNvdXJjZSBjb2RlICh6aXApDQogICAtIFNvdXJjZSBjb2RlICh0YXIuZ3opDQoNClZpc2l0IHRo ZSByZWxlYXNlIHBhZ2UNCjxodHRwczovL2dpdGh1Yi5jb20vTGlicmVRb0UvTGlicmVRb1MvcmVs ZWFzZXMvdGFnL3YyLjE+IHRvIGRvd25sb2FkIHRoZW0uDQoNCuKAlA0KWW91IGFyZSByZWNlaXZp bmcgdGhpcyBiZWNhdXNlIHlvdSBhcmUgd2F0Y2hpbmcgdGhpcyByZXBvc2l0b3J5Lg0KVmlldyBp dCBvbiBHaXRIdWINCjxodHRwczovL2dpdGh1Yi5jb20vTGlicmVRb0UvTGlicmVRb1MvcmVsZWFz ZXMvdGFnL3YyLjE/ZW1haWxfc291cmNlPW5vdGlmaWNhdGlvbnMmZW1haWxfdG9rZW49QUNOQUJW NlY3NEs3Qk1GN0VVT0YzV1Q0VFBVQ0ZBNUNORlNMNlozSk1RNUM2TDNITkYyQzIyRFZNSVhWRVpM TU1WUVhHWkpQR01ZREdOWllHTVlERU01R09KU1dDNDNQTjJWSEc1TENPTlJYRTJMQ01WU0tLWkxX TVZYSEpMREdONVhYSVpMU0w1UldZMkxETk0+DQpvciB1bnN1YnNjcmliZQ0KPGh0dHBzOi8vZ2l0 aHViLmNvbS9MaWJyZVFvRS9MaWJyZVFvUy91bnN1YnNjcmliZV92aWFfZW1haWwvQUNOQUJWMlo2 UTRRSVFKSVNPVTMzUEw0VFBVQ0ZBTkNORlNNNEVQTFVMWkE+DQpmcm9tIGFsbCBub3RpZmljYXRp b25zIGZvciB0aGlzIHJlcG9zaXRvcnkuDQo=