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 8B7F69B596 for ; Mon, 20 Nov 2023 17:26:26 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 6C66E1CCD3 for ; Mon, 20 Nov 2023 17:25:56 +0100 (CET) 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 ; Mon, 20 Nov 2023 17:25:55 +0100 (CET) Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28]) by mail02.cetsi.fr (Postfix) with ESMTP id 403E7405029A; Mon, 20 Nov 2023 17:25:49 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 403E7405029A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com; s=dkim; t=1700497549; bh=EhJyJODiknLji6lrvRnTUvhKzPj1kf2TG5Mgh+0CyvQ=; h=From:To:Subject:Date:References:In-Reply-To:From; b=m65vAzab5q6JN252Qwt+Ow+h8KAzsIRrUGacgUQZBfHvP+nQ4EZXsxObRo9bhovyt BFD5qFuCWBUC98nFBxhhVHXRvCx6BGgFNvJSQ5uqrEb0XSLyRAwO87ElGvtHvVG7Nc 5vSJmRb+rmOfOtVBffiIxmijN181bz3/uJcTsJGg= 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.34; Mon, 20 Nov 2023 17:25:51 +0100 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.34 via Frontend Transport; Mon, 20 Nov 2023 17:25:51 +0100 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LOchW3OoC56dQ1xiLZ0q8TRha9/FBRdqGBS7axFEqnNP5dAJMz5jsHGYHhxJ4HptUSlczI0zGVBL01jRnGS6zUhRIwVKtwvqUs9UWV4rs/80B/X9qMCDcbmwpq7WL7Tkyw/gM2oWTQT6rZCQQa5I2+zrUTFzGF3UCfbra4mD2u9E8e8qSby0k1HU6kSQDEyCV5Juv9rvzbBlDOTVYvBHnRJ7DCAgDKdAUCO4Uw38yazwPMhu15RDKpmUZnzNS6MIyOQtw4v/4yRe3ELNwb5FF4vwjboTiBYK3e36v720ACFo/boBWKUr/Tt6tVC9+0QIraal0oOqvSd/PkyKuGuCOw== 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=EhJyJODiknLji6lrvRnTUvhKzPj1kf2TG5Mgh+0CyvQ=; b=T5iV/QXhMoAKRxmbZf1HEi8+8W9gdu6HZx77PCwl1KOCtt6gEzI+N2bm60JN0MoxBKIvhYZ2dosWgpxvKbFFGT2tbjXOt2ImDcQ7W+1q10FpeLBLEYY6wijPB9V7tqllXkO2zE7VggcQ+gsprbzDRMh8l0dgpQiMZ88Qtup1OTxctiTMttXcTdmuDi8mfxZDJQT0f5UTAq5Ybaaloy2CxGfUPTdNZdSCcVKUWCIOg8+SonQRB2mojLym3IlZvRoRjSfST02B2CJ0rvOdjS8i7ZE2VyqLu44Nc0AQxc/LUXQ6ezvEDobCs/8n5NClieXoUwL8Ozk25MB4yX7WUJIxzQ== 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=EhJyJODiknLji6lrvRnTUvhKzPj1kf2TG5Mgh+0CyvQ=; b=TZq2v6C5Ec9o48MzrlIbeNH2YNrk9FS4VA2jCKYFRvE+NnEueyKcA7jl+Tsc2I8iAgromKcxcVmBZgoycDylEVH2dcvBx5RV2Jn4P9S+ZcAJwOwl8DeFaccDqy6m6c8FydJYDWlf6nubRfgxSjzwY1eYUjx7vYxNqTIX5eVJhLw= Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17) by MR1P264MB3425.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:23::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov 2023 16:25:50 +0000 Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::ea83:662a:77c9:2b2e]) by MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM ([fe80::ea83:662a:77c9:2b2e%4]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023 16:25:50 +0000 From: "DERUMIER, Alexandre" To: "pve-devel@lists.proxmox.com" , "t.lamprecht@proxmox.com" , "s.hanreich@proxmox.com" Thread-Topic: [pve-devel] [PATCH v4 pve-network 10/33] api: add endpoints for managing PVE IPAM Thread-Index: AQHaGUrulqCHde2+UUyJMfFmSiHFgbCARZwAgALH6oCAABoJAIAAAaIAgABAqQA= Date: Mon, 20 Nov 2023 16:25:49 +0000 Message-ID: <09d5097367d49918274a796d7fa4a162228f2b4e.camel@groupe-cyllene.com> References: <20231117114011.834002-1-s.hanreich@proxmox.com> <20231117114011.834002-11-s.hanreich@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.50.0-1 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_|MR1P264MB3425:EE_ x-ms-office365-filtering-correlation-id: dfffd90d-5163-4fc3-73f3-08dbe9e55bc9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 1UdHaXYeLlVi7OlEtXKDdHcjZa3QqX809v5lVJZNOC652PzD2/I1dO+PBWqqas77nO0pamUc3i374meRfRdm55/FYNJuWDf782/R8hS6cnlkjiDKAJx8tqsX+BcJfc2D+LDY5HhRUbh1lcEFEXpZISmrXf7dPcPbQBG2q0MuI/3YBg/WxPXPhQhl2AJxbuY4JDlnAe9k3Jnlpfy7wN/jqKnqA2gsUBOwaZZQR9hs02DB3+hvXlD42+jiPjl5ttVE4FkNvfly8HyGhOmVay23GZTp7/Px7tusaOUQB6aAbU4o5/QHEYlWO9zGQ8VhUKP/TUyWRmh+XOoZ4AaMhNeBUmRKnoW8xR7ZWNhFU01s13cV2GlrJay30oLk4uw4x+TAm4tX2nWLXmY8hA6W829xN2GImSgreRK/Vx/7kva9NjFWuwHKF/4y1TEg6b+8lKh3PJk3EBz2kSTDUgPRKS8U9UwYaj2ddbEFfuFbbuQTeXZoAORSqEOyv5esJCherytAx9rqKVkB+uxBrhGLfEBswPUkYZqpfnbOE2cUaXoWwBdbwWL1Wz4MV8ZcZ5hD9Vfi5DTLdGIjYPDmxhgh1uEM53xF9HwcjnMbqcwJN0mWerugogsMOQw5/EmU0dU16No37bnm833+6cU2EcUigPuEcN1uQ9QRpU7PCaQeIFcBnFY= 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)(376002)(136003)(39850400004)(346002)(366004)(396003)(230922051799003)(230173577357003)(230273577357003)(186009)(451199024)(1800799012)(64100799003)(41300700001)(38100700002)(36756003)(38070700009)(122000001)(86362001)(6486002)(6512007)(6506007)(53546011)(478600001)(2616005)(71200400001)(64756008)(66446008)(110136005)(316002)(8676002)(5660300002)(66476007)(91956017)(66946007)(8936002)(76116006)(66556008)(83380400001)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Tmc2blNqRk0xRHZhTUZxbzJ6bDRqOU5LVnV1NFNiUFhPYW1pak9JVm9oTmdE?= =?utf-8?B?UDVyK1lSVlJjUXpuWHl2WHUzQm5HcGpMZVBXb29sbys3UEdzckJVTWN2K0xq?= =?utf-8?B?TWVsNTFvYVcxMU9ueXpoZHRQZ1Z5TExYNElTT3ZpYmJGN0lVRzRSSEJwbGtt?= =?utf-8?B?SVVsM1QrVGQxc00rbGdOU2V0Qk1kNU5BWisyaVp3WkM1eTRJTmU5S01tRkww?= =?utf-8?B?aUJVR3hFRHdTKzN1NWhGZzRtNTNISVlHaUVJY0I4ODVSZFozZllYN0krSE9H?= =?utf-8?B?anlPVDIrYlpGOXdVMm9acXpBa1pIMmdSOWNERkdqRmdha3JGMG1ycUI0Q3BQ?= =?utf-8?B?N3hqRDJOZUZjR3J0ajhKWGtQbEFqU0E1dWNoVTBLdEtYZjVrR0RLY3prMnp6?= =?utf-8?B?R2tqUkpWNEI5dEFKQ3QxNnhIbEVpdFZmZndBMVViOXlDc0VmV0YrRDJ3dGUw?= =?utf-8?B?L2c3WEdSZUQ2c0J6cDFRc2JRaXpPcTdhU09iREZMaUIwV3NZUUIrbEk0Z2JZ?= =?utf-8?B?eG0vS1hOZWg4L25sRHNBUUx5TDQ0TTUwNDZ4elNyQVFrMVpGdGlUQVdHSm9S?= =?utf-8?B?UDZ5U3dyamh1ZGV4MkF2TU9TMEVzem8rQlFBZHd1dlI2alZGSlB4Q1BFRUFr?= =?utf-8?B?QVJPMi9MNjBaNDBoVGRaRHFrbHlGeG8xTlJPcmRlWW0yMUFEbWZhcDN3SFFU?= =?utf-8?B?L0RlZW5HT1pxc0EzRmlrS3oxOVJZdW10TTRrNk43UmlBTm9wdG1PTTJUU2ZJ?= =?utf-8?B?eVV4VFNya2pua1ZVTWRmYUtoYXR6RTczb3ptak9BN2xwRXhXNE1nL21YS0ZM?= =?utf-8?B?eGNqdllqMkdudFNsRjBRbms2TDhJTEJneTNtSThtdnV1djdUMHVJSXJZSXcw?= =?utf-8?B?ODJzbVBPWlFWb1BRVDBaa2ZqN2w1N1RseDgvcnQrTW9Ed0VVcGlMaVB0Zi8x?= =?utf-8?B?dy9zdDVyNmtoYTVHSDdHU2dNWThDMmd1MmRsZzVNbldXZHBjakQ2VHdxQmly?= =?utf-8?B?SjQ2dGo2OGxGbFpyNU5VeUlGOXFGcS9WcGVUUjRIaGZCNFByUG0wM1Z0N2tl?= =?utf-8?B?QmwyVzZVMC9Kbk4wVkx0aU55ZGpPMm1hNXlJc1QwVW1xaDM3SXNFeGo0ZW4z?= =?utf-8?B?WEdzeVhnUC9OU1V1SDNLSmZBVTJ3QW9kbGlUV3JSUFc5SmN4a25zS0NpQ0tP?= =?utf-8?B?RGppL2RGN05YTXg2bDY3ZXNSR3ozeE9vaWdYdVZueTdOM0tLeWVjVE5talRh?= =?utf-8?B?SHVsem9RN2poVklxaWVFYytqNkwrMENDV2ErL1d4cXE1WkVtaUovYXo1TW9p?= =?utf-8?B?SGR1MG1VcVBucEk5VjY4L05uY0tmREM3Wm1JcnNCeXh6bUpmdzk4QzJTTnZC?= =?utf-8?B?TWRQQmhacUVkdnJwdkpHbU5mUHhsc0JPMzFRY1Z5bmFIeDNmYlM4bUk3cFY5?= =?utf-8?B?TThieFY3MThMQnNaVTVZeXh0Z3Q3MkNGK0xpZkVvMFkrVFJUUkczUjRSeVJY?= =?utf-8?B?VzJhVkFmQlNDNStSU2VKajV4NEpDTlp1ZzdHRjZqY3RoQmNBUllNYnlyVFpi?= =?utf-8?B?dmVudmdIUkJrUVpndDNjZFRvSU44U1hPdWlINExIWnUvYmxNU0c4WG1nZXhy?= =?utf-8?B?UWg0K3JuaVpsR0RRcW93SGVxaWQ4Qno3SVpiS1YyUXlBM1FIQitKeksyNmQy?= =?utf-8?B?NVBGeXc2cjAwUnZBOWV5MGF6SzYvWEJNdUM2WDh6eVJrbDN6QUtKdDZaV0cr?= =?utf-8?B?NGViRDB4eXN3RnZGLzFLcDQ4Y1oxK0lzZGgvTFdrWERhckd1cGNINlZyWnZs?= =?utf-8?B?SlBCS0ZkSGpXWlNqWXRzK2ZhNlFsZEM3NDAvSVF3V095VXA2U2dwZGZMNmNq?= =?utf-8?B?bHMvdm80SWQvVVZHSks1bytyZHBHLzVkRVlnNG1wbHRjdEFCcWErVVAyblZa?= =?utf-8?B?dUxHbTNRdWY2R1cyQVdIYWZvOEc1V0Q4c3JyNFZpNFZRbjd1a1JYOUpEOWFp?= =?utf-8?B?OFpQN2FwajI2a3BzTHRlN1p6MzN0RG5aMnE2YUhVbnpKdHRhYUk0WUgrWFFo?= =?utf-8?B?aVVPUkVGdjVRZ09idTRPUDVnQzh6UzlOZFR2OStZSHJEemd2N2RFcjg3L3Zq?= =?utf-8?B?RzVSTXR3bzl3ek85cDZrdWh0cjVzWHFrY0owVWJORFdFUGFYVFNLa3p2SmRZ?= =?utf-8?Q?MbhLnaKg6xj9e5rqOeqsZsWBhOEsmoJ4Ta5djHYKmRe7?= Content-Type: text/plain; charset="utf-8" Content-ID: <23B46387CC8B6944A08F46DD7E4D4F42@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: dfffd90d-5163-4fc3-73f3-08dbe9e55bc9 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 16:25:49.9222 (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: aZnp1y7JpvtYi9vEo2OcUH87zvafGXmfd64BA1MLakTLIzagDB9FaxVzFEAxKuIgQo378m6hzPM4Pll6H6D3pV//2ZfPpZjlOu19gVjn1OrkneATqWRpO7JCSIUhsImc X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB3425 X-OriginatorOrg: groupe-cyllene.com X-SPAM-LEVEL: Spam detection results: 0 ARC_SIGNED 0.001 Message has a ARC signature ARC_VALID -0.1 Message has a valid ARC signature AWL -0.098 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 POISEN_SPAM_PILL 0.1 Meta: its spam POISEN_SPAM_PILL_1 0.1 random spam to be learned in bayes POISEN_SPAM_PILL_3 0.1 random spam to be learned in bayes SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: Re: [pve-devel] [PATCH v4 pve-network 10/33] api: add endpoints for managing PVE IPAM 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: Mon, 20 Nov 2023 16:26:26 -0000 DQpPbiAxMS8yMC8yMyAxMzoyOCwgREVSVU1JRVIsIEFsZXhhbmRyZSB3cm90ZToNCj4gSGksDQo+ IA0KPiA+ID4gSSdsbCBsb29rIGFnYWluIGludG8gdGhpcywgbWF5YmUgUE9TVCAvIFBVVCAvIERF TEVURQ0KPiA+ID4gYC9pcGFtcy9wdmUvbWFwcGluZ2Agb3IgYC9pcGFtcy9wdmUvaXBgIHdvdWxk IGJlIGEgZ29vZA0KPiA+ID4gYWx0ZXJuYXRpdmUNCj4gPiA+IGhlcmU/IFdlIG5lZWQgdG8gbW92 ZSBhd2F5IGZyb20gTUFDIGFkZHJlc3NlcyBhcyBhIHVuaXF1ZQ0KPiA+ID4gaWRlbnRpZmllcg0K PiA+ID4gYW55d2F5IChzaW5jZSB3aXRoIGR1YWwtc3RhY2sgdGhlcmUgY2FuIGJlIG11bHRpcGxl IElQIGFkZHJlc3Nlcw0KPiA+ID4gZm9yDQo+ID4gPiB0aGUgc2FtZSBNQUMgYWRkcmVzcykgc28g SSB3b3VsZCBuZWVkIHRvIGFkanVzdCB0aG9zZSBlbmRwb2ludHMNCj4gPiA+IGFueXdheSB0bw0K PiA+ID4gd29yayBvbiBJUC9NQUMgcGFpcmluZ3MpLg0KPiANCj4gPiA+IFNvIHRoZSBlbmRwb2lu dHMgd291bGQgdGhlbiBsb29rIGxpa2UgdGhpczoNCj4gPiA+IA0KPiA+ID4gR0VUIC9pcGFtcy9w dmUNCj4gPiA+IA0KPiA+ID4gUE9TVCAvaXBhbXMvcHZlL2lwDQo+ID4gPiBQVVQgL2lwYW1zL3B2 ZS9pcA0KPiA+ID4gREVMRVRFIC9pcGFtcy9wdmUvaXANCj4gDQo+IA0KPiBZb3Ugc2hvdWxkIHVz ZSBwbHVnaW4gbmFtZSBpbiBwYXRowqDCoMKgICxmb3IgbWUgaXQgc2hvdWxkIHdvcmsgd2l0aCBh bnkNCj4gaXBhbSBwbHVnaW4NCj4gDQo+IA0KPiBzbywgc2ltcGx5IDogIi9pcGFtcy9pcCINCg0K Pj5Ob3Qgc3VyZSBhYm91dCB0aGlzLCBzaW5jZSB0aGUgZW5kcG9pbnQgcmV0dXJucyB0aGUgc3Rh dGUgb2YgdGhlIFBWRQ0KPj5JUEFNIGFuZCBuZXZlciByZXR1cm5zIHRoZSBzdGF0ZSBvZiBOZXRi b3ggSVBBTSwgZm9yIGluc3RhbmNlLiBTaW5jZQ0KPj5pZg0KPj55b3Ugd2FudCB0byBpbnNwZWN0 IHRoYXQgc3RhdGUgeW91IHdvdWxkIHVzZSB0aGUgTmV0Ym94IEFQSSAvIFdlYiBVSS4NCj4+Rm9y IHRoYXQgcmVhc29uIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgZm9yIG1lIHRvIHVzZSBwdmUgaW4gdGhl IEFQSQ0KcGF0aC4NCg0KDQpJIHRoaW5rIGl0IGNvdWxkIGJlIGdyZWF0IHRvIGJlIGFibGUgdG8g bWFuYWdlIGV4dGVybmFsIGlwYW0gdGhlDQpmdXR1cmUsIGZvciBleGFtcGxlLCBpZiB5b3Ugb25s eSB3YW50IHRvIGRpc3BsYXkgb25seSBwcm94bW94DQpzdWJuZXRzL2lwcyBmcm9tIHRoZSBwcm94 bW94IGd1aSwgd2l0aG91dCBuZWVkIHRvIGdpdmUgYWNjZXNzIHRvIHJlYWwNCmV4dGVybmFsIGlw YW0uDQoNCg0KDQoNCj4gU28sIEkgdGhpbmsgdGhhdCB0aGVzZXMgc2hvdWxkIGJlIHN1YnBhdGgg b2Ygc3VibmV0cw0KPiANCj4gL3N1Ym5ldHMvPHN1Ym5ldGlkL2lwcw0KDQo+PlRoaXMgc291bmRz IGxpa2UgYSBnb29kIGlkZWEgLSBhbmQgaXMgcHJvYmFibHkgYmV0dGVyIHRoYW4gd2hhdCBJDQo+ PnByb3Bvc2VkLiBJJ2xsIHF1aWNrbHkgdGFsayB3aXRoIFRob21hcyBhYm91dCB0aGlzLg0KPj4N Cj4+V2hhdCB3b3VsZCB5b3UgdGhpbmsgYWJvdXQgYWRkaW5nIGl0IHRvIC92bmV0cyBpbnN0ZWFk IG9mIHN1Ym5ldHM/DQo+Pg0KPj5TaW5jZSB0aGUgQVBJIGVuZHBvaW50cyBhcmUgY2FsbGluZyB0 aGUgVk5ldHMgZnVuY3Rpb25zIC0gd2hpY2ggYXJlDQo+Pm1vc3RseSBjYWxsaW5nIHRoZSBTdWJu ZXQtRnVuY3Rpb25zLCB5ZXMgLSBidXQgdGhleSByZXF1aXJlIGxlc3MNCj4+cGFyYW1ldGVycyBh bmQgYXJlIHRoZXJlZm9yZSBlYXNpZXIgdG8gaGFuZGxlIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZQ0K Pj50bw0KPj5zZW5kIHRvbyBtdWNoIChpbXBsaWNpdGx5IGF2YWlsYWJsZSkgaW5mb3JtYXRpb24g dG8vZnJvbSB0aGUNCmZyb250ZW5kLg0KDQoNClRoaW5raW5nIGFib3V0IHRoYXQsIEkgd29uZGVy IGlmIGl0IHNob3VsZCBiZSBzaG91bGQgYmUgbG9jYXRlZCBpbiB0aGUNCnpvbmUgcGF0aA0KKGFz IHlvdSBjYW4gaGF2ZSBkdXBsaWNhdGVkIGlwcyBpbiBkdXBsaWNhdGUgc3VibmV0IGluIDIgem9u ZXMpDQoNCg0KbGlzdGluZw0KLS0tLS0tLQ0KL3pvbmUvPHpvbmVpZD4vaXBzwqANCg0KZiB5b3Ug d2FudCB0byBsaXN0IGFsbCBpcHMgaW4gMSBhcGkgY2FsbC4gIChpZiB3ZSBwdXQgaXQgb24gdm5l dCBvcg0Kc3VibmV0LCB3ZSdsbCBuZWVkIG11bHRpcGxlIGFwaSBjYWxsKQ0KDQoNCmFkZHxkZWx8 dXBkYXRlIGFuIGlwDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KL3pvbmUvPHpvbmVpZD4vaXBz LzxpcD4NCg0KanVzdCBsb29wIG9uIHRoZSBzdWJuZXRzLCB0aGUgem9uZWlkIGlzIGluIHRoZSBz dWJuZXRpZA0KDQoNCg==