From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 955C7E9B3 for ; Tue, 26 Sep 2023 18:56:04 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 757D143AA for ; Tue, 26 Sep 2023 18:55:34 +0200 (CEST) Received: from mail02.cetsi.fr (mail02.cetsi.fr [91.151.64.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 26 Sep 2023 18:55:33 +0200 (CEST) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id 1C3DA40502A6; Tue, 26 Sep 2023 18:55:28 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 1C3DA40502A6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1695747328; bh=4osB4g/xNTkJi9oVAkJQkbMJdBgy6oIPUniCNopFfAE=; h=From:To:Subject:Date:References:In-Reply-To:From; b=vwYwIYmXTL21FaNcKFJqztJYgaaRykVt2hIicDuVtk3I0/O5tMFSZJm8MVps9eEYB EQ8mlJZHq3X5hbGur6FdELHV8SNXcGWGxHK+QvS5QbjFj/ZgmHb0tPToh1oik9Ow8z 9GaLck9PjIoZc0FDUzq5fkmKV39HP5v/6n8jmBzg= Received: from CYLNEXC01.cyllene.corp (10.0.250.28) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Tue, 26 Sep 2023 18:55:29 +0200 Received: from FRA01-PR2-obe.outbound.protection.outlook.com (10.0.250.254) by CYLNEXC01.cyllene.corp (10.0.250.28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32 via Frontend Transport; Tue, 26 Sep 2023 18:55:29 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xv8De7o6cvacbjcIFBHtMlVvYPTqyxn8tGl2fWaqhaZ0KcCrwHxu23rHecDEVeL83anEvU6ynPZuZTH/JWXeGD9t0Nf72dXe5dH8jS8YD5WE32mlche9I2wP0KV+Fuop1q8wur386qCQHJGAvW5Tz3gKRVRTHW6UkJm9fZQUo+ieJAi0coiqEUPmHS/xSMMvi4CSdAJ4W8LsaYtWoWUOXGLu1iwaFb1Uapb9usborqbC1R8O4xyF4aNOyQ1srkylUPieYjU8vH/Yp6sYRK9jzJ2ONGbXwLxCzcaWqLu0R7MVPad3JZBi15ttqzH8Wjfp12TKx0cQ3Ebh178MzGSvIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4osB4g/xNTkJi9oVAkJQkbMJdBgy6oIPUniCNopFfAE=; b=GtVtpCR4jIDVT2Lh84C/gUp4BFZCotYBEtFx3J8eED7uPDs2yMzoFMwPJv4ZWSLZlfqHTcNthARzHD5hRg/JQc4+WJN/hQueH0/YKkKabWi4RI70BK5eVDSQRkjqXMmpOYzIzZD2NDMCBY9xOZ1nikwQy3QFSCtHU34E0F+rNg5f8sLOs1/eiZH4oWlptxNQhDY86FB01wnRxI4e0kRmndm74OfewhiboJH7Edu3ZDivHUeNpxRor8BWV2HACrS6ytOLUH3+VEM0qb9V4OZq3liN1blqR/IW2M4e4J6X/IJ3eycuptCMhENGd49HC9S+5PxhF7UUAzFk/6cJnMcvtw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=groupe-cyllene.com; dmarc=pass action=none header.from=groupe-cyllene.com; dkim=pass header.d=groupe-cyllene.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=groupecyllene.onmicrosoft.com; s=selector2-groupecyllene-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4osB4g/xNTkJi9oVAkJQkbMJdBgy6oIPUniCNopFfAE=; b=Phgh2bSCl6PnL7j5ZqeZpnSgptS/LeTLf67hUoM8cYxps//YuOobALP30tBPqn2u75gxSPU4NNhVnhQmtly/w0ieZvgGCyVIamQfy/RN8xrtpOGsMTCRMSC5RrRpZo6FeFDj+p4VMd0/spFmwAutUto6+3zm0CQafpVkRIc1kUk= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by PR1P264MB3446.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:181::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Tue, 26 Sep 2023 16:55:28 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::b2f8:266c:512c:5d75]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::b2f8:266c:512c:5d75%6]) with mapi id 15.20.6813.027; Tue, 26 Sep 2023 16:55:28 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" , "t.lamprecht@proxmox.com" , "s.hanreich@proxmox.com" Thread-Topic: [pve-devel] [RFC cluster/manager/network 0/6] Add support for DHCP servers to SDN Thread-Index: AQHZ4lpsRdoos+ljYUmW0VtDTE0RhrAVAnmAgAN4lACAAC2RgIAAA68AgAAQzwCAAAQHgIAABKOAgAuN4wCACL6tAIAAHbMAgAASQICAAC2AAA== Date: Tue, 26 Sep 2023 16:55:28 +0000 Message-ID: <088c8011bdba7a5cf8fba5573a739ac2936bee69.camel@groupe-cyllene.com> References: <20230908134304.2009415-1-s.hanreich@proxmox.com> <2fd1071602ad075d4580d62565fc757e4bd92a91.camel@groupe-cyllene.com> <3e766920-35e9-4acf-a9fa-f3b56fe0408e@proxmox.com> <7980640a-da18-9da7-88cb-f8602c9339d4@proxmox.com> <5708827d07ec44793cccda18d75a66562a093bc0.camel@groupe-cyllene.com> <30aa87542f4b615aa9f1295b170f26eb8c146ba6.camel@groupe-cyllene.com> <87490886980ba3d102cbfa3b40c858fcd9ffdbe7.camel@groupe-cyllene.com> <3105e957-706e-d512-36f5-6ba558b347ef@proxmox.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.48.1-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=groupe-cyllene.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MR1P264MB2481:EE_|PR1P264MB3446:EE_ x-ms-office365-filtering-correlation-id: ebc3e460-5889-415e-992d-08dbbeb162e3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PYT6EUIhg/7M8Advr6hTzLDs/hb2dBhC+gvC/LvGiuIrkr5iIobuyeiwKkE3CDOIcPoSMLNDHBdvLoJfZgwSeQz7pw19C781A5RadGM3ismDUSKEdpkdWX6vHsKf66vpLXEqNcQXJdACBafBvBsfDytxNYfSvtyORlT+KlViZg2YE9BTLKFawR3BGe6fdDJ/mPQBqCP7Y6iDHX3HBQs/Fq8MpZ4c7ohhH8enVoAvEgNULkJajr31EOviEGl9AqpNUogbpYnEJeCXqOr6/ZcGPm2S5eP7QymK2UqDaAqvzuHsTS3p65K1hc57yaXRm27PffAPWtB/6Xmlv8J/8Ei+uUIOWqx9xptzamGkvrarBrA7zoMRcyrTM2D9vi8HDGpBpbeu1KeI/kNkPKBSdmXwR9jST5mdXP2SL8vhSxA+78mmVklucsiKPCTW1W15Pf3qq8BIil6hUkDtS5ivj9lVbYiKCEv0Oan6QJjOirM24WRQbtl3Ev7Cep0oRn19t0tBkZg37sAUmb7fCaA9KvofvantAaOCadClrcNLRjT31bo1vV1DCx9VzEadR0tM03jF6bQNRT2/OAsooYuIiiZJZCRFg0l1Cy9S57hY0piKAIExXAl7yGIyWYoaNibHJdBs x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230031)(136003)(396003)(366004)(346002)(39850400004)(376002)(230922051799003)(451199024)(186009)(1800799009)(2616005)(41300700001)(83380400001)(2906002)(5660300002)(316002)(8936002)(8676002)(36756003)(64756008)(66556008)(66946007)(76116006)(66476007)(110136005)(91956017)(66446008)(6486002)(6512007)(6506007)(71200400001)(86362001)(66574015)(38070700005)(38100700002)(122000001)(478600001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eFRCcVJiT1YxL2NtVllnMWNRcU00aTdtWjdQVURDQUUyNkFHT25rTXlXZFZD?= =?utf-8?B?dkVwNmQvQWRkQlVXT2FEZlluaUtyYXNhaTNScmlPZlRyaVladXhHb0Jta3hm?= =?utf-8?B?b2FwV2Vnb0JGajlrTTRiU0g4cWlucmNUQy9zK2NFdFZ2STg1Z0hSTldvMDlZ?= =?utf-8?B?RVRvelNNNXJtcExqK1hYa1VBdGF1UkdnL1lYL0xoOHJlVFZsa3VNRUtxT1JU?= =?utf-8?B?U3BMTzhYWWdsemhVUWNFOWVRdFlLUXZ3MGxqYzkxWUJBU3RpbzY2VHdQblNa?= =?utf-8?B?cm1uQnI4UGE4bUpQNGNBZ2RBb2VIV3NtTzlVVEw3QVA0cHNjYUgvUGpvSDI3?= =?utf-8?B?WGJHaUtOSHBzZ1ZQdWpMUk5oRmhHdC9rU0FyOS9MQlU4Ri9tTnlSTENhbDFE?= =?utf-8?B?dnEyMmRtc2FkcHp2WHc4MzZleWo2RmwxVGp4akczYTlVWnhKdmlBTUx6RWdv?= =?utf-8?B?MUQrSnY5QjdmMEY3a0k4NDN6aERhNE8rMUdUVzJ6K0dOcmpydDgycmNkVDNi?= =?utf-8?B?YlJGQ0tXb2FGN2R4eHNQOXArOEZzZmhQVTBGNElUbVdVSUQxRzNxbHN1c2hP?= =?utf-8?B?Yk5STWt1YXZwKzN4U2FQa0Z3eCtha244TWp6SGNFMkVCTUdLMlVJNWYrQjh3?= =?utf-8?B?YWNxSUEyVEt2TjFMNTlzMSs2b0NrT1YxTnJkOTBDdTJwKzBxUndiQ2VBeWtz?= =?utf-8?B?Myt0c3YzbWVFd3RWblpMRHVyZjZ4TER5cEpKT0ptSHVwU2c3bk5FTlZpRlcr?= =?utf-8?B?Z28xNG5yZzl0TFVnc283TXdjaGM5K010M0duN1dmMGNGYm1lYlRkT1VHT2Zo?= =?utf-8?B?WW95b0xTaTA1UFFMYmZ1L3laM1pGVm1kNVBvMS8ySy9nVXNTeXhEcGd6NS9O?= =?utf-8?B?QVovd3VFUWUyS1lXMmJnWlF4azA0eE9DRHI5c0Z3MFZCSFhMMUk4RTdGK1Nu?= =?utf-8?B?b3VNSTRxS1hQRGpMSWdnS2dzZWxwTCtzWWU2eWFFaEE5dTVSRXRYLzRYNjhx?= =?utf-8?B?NitpV1JtSHdRVkpiVWNhZ3BCdkVNMTZjYTltWDF2d0lOUFJRbytIS0JycGVs?= =?utf-8?B?amM0c3Fidk00c29NSzJtK1JqZ2tOWXhJMkpVSHBJRThkckErQ05zTVNvQnFj?= =?utf-8?B?amdqaU9yTFpTVGVBUHlUbDYraC85N2o2R3JRV3FPNFY3WVNSTXQxM3dKQWZj?= =?utf-8?B?QjUwM2lmMWdLbzljN0JRbk1CMExyZ2NWVjBpajNkZnV6bjV2YUlOUy9DV1Z5?= =?utf-8?B?ekJCa3BKZ3cxTnQ1S252c2owRk5vV1lZNG56MHM0ZHlFT0JOM01venk2UHA5?= =?utf-8?B?TXVZWDBDb2IzMmxzL0gvQmhuVHp1aU9Xb0ZuUVViczJXRTVLMU4xbWxIRkRu?= =?utf-8?B?UXo5bTNldUxPN2ZkZ2diSlNjbGl4OGhLcHE3Yjd1OUgrQldldldlcGQ3aUNn?= =?utf-8?B?ZGkyVVNsSG9QQ0hWMnowZXFielVXbGdZMEtaTU9GNFJIZ3BmU09EU3IwcHlk?= =?utf-8?B?NytVSVVnMStpeGxxVnk4ckxKbkZiSU9xZUpvMW9EbERLQmFyeHlZK3lRS2tr?= =?utf-8?B?dDZ1c2F6Rms0ZVNRVWd6YXJwekYvajBFTjd5SUpRaUpBbVM2TklhRXdBVW90?= =?utf-8?B?SzZ3K1NtaUJIK3hENXlibVlkTXUyMzFYcmxzWWtkZ1piQzlGTWs2Rm94bGNl?= =?utf-8?B?N2YvS3h0NUR4SmNVVUU4dDJSUDZod2FIOXJxOWRrU1dxVHl1aVVxTjJFVjhK?= =?utf-8?B?TDd4alJqME9CMlo5SFk5Zy9BanRnVkc4UjNtTmxzVW1PL1R3aXhSbWRTcGpB?= =?utf-8?B?ZndTc1RobTNlQXk5ZnBCRFJsSVRGRE51cmtVZWhQVFU1VDcwUWhxQjBkNmZI?= =?utf-8?B?K0IyQXRDQ0w3dHBVZ1kvRnFXS3RYdnluZFNYNzFRUldwNjZraERSaktRc3RJ?= =?utf-8?B?ZW43TDc1Wk1iK0pUalhDQUZhdmJmY2gwZ2dUY25NSTRzRHNvTERKMFNidEF3?= =?utf-8?B?MTV4TGlJcmVwQUQ3bGltUk1WRDVSTGM2NTdzc1MwZC9jMXRnYWxXM1pEcXBG?= =?utf-8?B?SE9wK2VZRmNRQ010MnR3RGphZVVOMlhFRSs4bUZBeUM5QVF0VGRjVGJZYnJj?= =?utf-8?B?K0d0eDdSNDlxaVgwdmVWdUdzWEhXaDE2azNFMjlrNDZtMWhvVmsyaDR4WmhO?= =?utf-8?Q?woVgWL4yyb/x7U/wMqtFWhauSoeUY1pb9qNikG1aX7Ty?= Content-Type: text/plain; charset="utf-8" Content-ID: <076DFAEAE9D6C749BDA247514E5F84D9@FRAP264.PROD.OUTLOOK.COM> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: ebc3e460-5889-415e-992d-08dbbeb162e3 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2023 16:55:28.0386 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ee11ccf7-112c-4284-848b-f229745e715b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: IheChRW12gwBoESvlDLmrW3mBNZafATbLmWC/6Vacli7lXCgXmVlwnV2QEBQOTa2NVgwGW9rjWEr/T4rhwFjj89qSVmnEOsmtowkkYtNI/y625WZfj3y+GLhIn2RpG2e X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR1P264MB3446 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 ARC_INVALID 0.1 ARC signature exists, but is not valid ARC_SIGNED 0.001 Message has a ARC signature AWL -0.059 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain DMARC_MISSING 0.1 Missing DMARC policy SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [groupecyllene.onmicrosoft.com, groupe-cyllene.com] Subject: Re: [pve-devel] [RFC cluster/manager/network 0/6] Add support for DHCP servers to SDN X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 Sep 2023 16:56:04 -0000 TGUgbWFyZGkgMjYgc2VwdGVtYnJlIDIwMjMgw6AgMTY6MTIgKzAyMDAsIFN0ZWZhbiBIYW5yZWlj aCBhIMOpY3JpdMKgOg0KPiA+IFllcywgdGhpcyBpcyBteSBtYWluIGNvbmNlcm4sIGFzIGl0J2xs IGJlIG15IGNhc2UgaW4gcHJvZHVjdGlvbiwgYXMNCj4gPiBJDQo+ID4gbWFuYWdpbmcgbXVsdGlw bGUgY2x1c3RlcnMsIG9uIGRpZmZlcmVudHMgbG9jYXRpb24sIHdpdGggc3VibmV0cw0KPiA+IHNo YXJpbmcuDQo+ID4gDQo+ID4gZm9yIG1lLCBpdCdzIG9rIGlmIGlwYW0gaXMgZG93biB3aGVuIGFs bG9jYXRpbmcgYSBuZXcgaXAgb3Igdm0uDQo+ID4gQnV0IGZvciB2bSBzdGFydC9zdG9wLCBJIHRo aW5rIHdlIHNob3VsZCBoYXZlIGF0IG1pbmltdW0gc29tZSBjYWNoZQ0KPiA+IHNvbWV3aGVyZS4g KEknbSB0aGluayBhYm91dCBhIGRpc2FzdGVyIHJlY292ZXJ5IG9yIGJpZyBuZXR3b3JrDQo+ID4g cHJvYmxlbSwNCj4gPiB3aGVyZSB5b3Ugd2FudCB0byBmYXN0IHJlc3RhcnQgYWxsIHZtcyB3aXRo b3V0IG5lZWQgdG8gY2FsbCB0aGUNCj4gPiBpcGFtKS4NCj4gPiANCj4gPiBNYXliZSBhIHdheSwg Y291bGQgYmUgdG8gdXNlIHRoZSBsb2NhbCBwdmUgaXBhbSwgYXMgYSBsb2NhbCBtaXJyb3INCj4g PiBvZg0KPiA+IHRoZSBleHRlcm5hbCBpcGFtID/CoMKgwqAgKGFuZCBkb24ndCBzdG9yZSBpcCBp biB2bSBjb25maWcsIGJ1dCBvbmx5DQo+ID4gaW4NCj4gPiBwdmUgaXBhbSwgdGhlIHNvdXJjZSBv ZiB0cnV0aCkNCj4gPiANCj4gDQo+IFllcywgSSB0aGluayB0aGlzIHdvdWxkIGJlIHByZWZlcnJh YmxlIG92ZXIgdGhlIFZNIGNvbmZpZy4gVGhpcyBhbHNvDQo+IG1lYW5zIHdlIHdvdWxkIGhhdmUg dG8gc3luYyBmcm9tIG5ldGJveCB0byBsb2NhbCBQVkUgSVBBTXM/DQoNClNlZSBteSBwc2V1ZG8g YWxnb3JpdGhtLCBJIHRoaW5rIHdlIGNhbiBzeW5jIG9uIHRoZSBmbHkgZnJvbSBuZXRib3ggdG8N CmxvY2FsIHB2ZWlwYW0gKGxpa2UgYSByZWFkIGNhY2hlKSwgd2hlbiB3ZSBhbGxvY2F0ZSBhIG5l dyBpcC4NCg0KSSB0aGluayBpdCdzIG5vdCBhIHByb2JsZW0gd2l0aCBtdWx0aXBsZSBjbHVzdGVy IHdpdGggZGlmZmVyZW50IGxvY2FsDQpwdmVpcGFtLCBpZiB3ZSBhbHdheXMgdHJ5IHRvIGFsbG9j YXRlIGEgbmV3IGlwIGZyb20gdGhlIGV4dGVybmFsIGlwLA0KdGhlbiB3cml0ZSBpdCB0byBsb2Nh bCBwdmVpcGFtLCBmb3IgbGF0ZXIgcmVhZC4NCg0KTWF5YmUgaXQgY291bGQgYmUgaW1wcm92ZSB3 aXRoIGEgZnVsbCBzeW5jIG9mIHN1Ym5ldHMgaW4gY3JvbiA/IChOZWVkDQp0byBjaGVjayB0aGUg ZXh0ZXJuYWwgaXBhbSBhcGlzKQ0KDQoNCg0KDQoNCj4gDQo+ID4gSSdtIGEgYml0IGJ1c3kgY3Vy cmVudGx5IG9uIG90aGVyIHN0dWZmIGFuZCBJIHdvdWxkIGxpa2UgdG8gZmluaXNoDQo+ID4gdGhl bQ0KPiA+IGZpcnN0LiANCj4gPiANCj4gPiBTbyBpZiB5b3UgaGF2ZSBhIGxpdHRsZSBiaXQgdGlt ZSB0byB3b3JrIG9uIHRoaXMsIGl0IGNvdWxkIGJlIGdyZWF0DQo+ID4gOikNCj4gPiANCj4gPiBJ IGhhdmUgc2VuZCBzb21lIHBhdGNoZXMgaW4gMjAyMSBmb3IgaXBhbSBpbnRlZ3JhdGlvbiBpbiBx ZW11L2x4YywNCj4gPiBpZg0KPiA+IHlvdSB3YW50IHRvIHRha2Ugc29tZSBpbnNwaXJhdGlvbi4g KHdpdGhvdXQgdGhlIGlwIGluIHRoZSB2bQ0KPiA+IGNvbmZpZywgaXQNCj4gPiBzaG91bGQgYmUg YSBsb3QgZWFzaWVyKQ0KPiA+IA0KPiANCj4gSSdsbCB0cnkgdG8gZ2V0IG9uIGl0IHRoZW4sIEkn bGwgc3RpbGwgYmUgaGVyZSBmb3IgMiw1IHdlZWtzIHVudGlsIEkNCj4gZ28NCj4gb24gYSBsb25n ZXIgdmFjYXRpb24uIEhvcGVmdWxseSBJJ2xsIGdldCBzb21ldGhpbmcgd29ya2FibGUgcmVhZHkN Cj4gdW50aWwNCj4gdGhlbi4gSSB3aWxsIGxvb2sgaW50byB5b3VyIHBhdGNoZXMgLSB0aGFua3Mg Zm9yIHRoZSBoaW50IQ0KPiANCkknbGwgaGF2ZSBhIGxpdHRsZSBiaXQgbW9yZSB0aW1lIG5leHQg d2VlayAsIHRoZW4gSSdtIGdvaW5nIHRvIGRvIHNvbWUNCnByb3htb3ggdHJhaW5pbmcgd2l0aCBz dHVkZW50cywgc28gSSdsbCBiZSBidXN5IHVudGlsIG1pZC1vY3RvYmVyLg0KKHNvIHdoZW4geW91 J2xsIGJlIGluIHZhY2F0aW9uIF5fXikuDQoNCklmIHlvdSBoYXZlIHNvbWUgZWFybHkgcGF0Y2hl cyBmb3IgdGhpcyB0aW1lLCBJJ2xsIGJlIGFibGUgdG8gY29udGludWUNCnRoZSB3b3JrIGlmIG5l ZWRlZC4NCg0KDQoNCj4gPiBZZXMsYWRtaW4gc2hvdWxkIGJlIGFibGUgdG8gc2VlIGFsbG9jYXRl ZCBpcC4gKGxpa2UgYSByZWFsIGlwYW0pLg0KPiA+IA0KPiA+IEkgd2FzIHRoaW5raW5nIGFib3V0 IG90aGVyIHN0dWZmIGZvciBsYXRlciwgYnV0IG1heWJlIGl0IGNvdWxkIGJlDQo+ID4gZ3JlYXQN Cj4gPiBmb3IgYW4gYWRtaW4gdG8gYmUgYWJsZSB0byByZXNlcnZlIGlwcyBhbmQgcHV0IHRoZW0g aW4gYSBwb29sLg0KPiA+IFRoZW4gdXNlciBjb3VsZCBjaG9vc2UgaXAgZnJvbSB0aGlzIHBvb2wu DQo+ID4gDQo+ID4gKFVzZWNhc2UgaXMgcHVibGljIGlwIGFkZHJlc3Nlcywgd2hlcmUgYSBjdXN0 b21lciBjb3VsZCBidXkgc29tZSBvZg0KPiA+IHRoZW0sDQo+ID4gdGhlbiBhbGxvY2F0ZWQgdGhl bSBsaWtlIGhlIHdhbnQpDQo+ID4gDQo+IA0KPiBUaGF0IHNvdW5kcyBsaWtlIGEgZ3JlYXQgZmVh dHVyZSBmb3IgaG9zdGVycywgSSdsbCBjZXJ0YWlubHkgbG9vaw0KPiBpbnRvIHRoYXQuDQo+IA0K DQo=