From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Alexandre.DERUMIER@groupe-cyllene.com>
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))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id A13EDE825
 for <pve-devel@lists.proxmox.com>; Tue, 26 Sep 2023 15:08:06 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 6F2731721
 for <pve-devel@lists.proxmox.com>; Tue, 26 Sep 2023 15:07:36 +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 <pve-devel@lists.proxmox.com>; Tue, 26 Sep 2023 15:07:35 +0200 (CEST)
Received: from CYLNEXC01.cyllene.corp (unknown [10.0.250.28])
 by mail02.cetsi.fr (Postfix) with ESMTP id 643704050299;
 Tue, 26 Sep 2023 15:07:24 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.11.0 mail02.cetsi.fr 643704050299
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groupe-cyllene.com;
 s=dkim; t=1695733644;
 bh=PylxKJ6XLIPs6xGN56aoUeR5s52aFy0EB2Vuqu3MdL0=;
 h=From:To:Subject:Date:References:In-Reply-To:From;
 b=OwoxwybANiAeED/vV2eWjBfb2Sg8vXJjr810KORWpBqJgcjatpTqZoHhgUkA/lYSU
 c7I2PCf/eqwmK/z2EeMvTsipbjrzimJKqdRfTDt0HQLPMZ6fHi8LMD9+4wpDh3XMSk
 sXTu8tJXoV6HOLaVFAK8r6ellLiBIQokMkL9HsXA=
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 15:07:24 +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 15:07:24 +0200
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lbzjqH2nF7opnhcwO4OAFQGBbOvVWYZJvs9E6hbxrnYq5aXb9SrT3YDExK9G0p4yhJdf9PGTq6OYcIwPWkAOh12oFCxGrMjGP6e33Y9ea7Vcsi3DwS7gj2eIHP95TJkB9EyNEhoGtcP7AAlhemrVxPipTbl0Zj0thK4D+iKIJDPqlb7gdgAKlLTGERRAtFlRE4dBmHcI4pN7+BFx7PYc1pKRJOcyiYAAzroDj3+h+M1V1pUA8VYqhacI4Rb1rGC7mTy+slIz10uy3w/Q9M0GKwk6BQFCmfVlinHSeJgMEx1P6BEX+rxDHkZmy7m9yL7P0M3uJuPuCsVGVs3PgKlpUQ==
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=PylxKJ6XLIPs6xGN56aoUeR5s52aFy0EB2Vuqu3MdL0=;
 b=BbiagcbkVCGM3oqBneuIMlWaMcTgg5EeUZQEKJ+bveEk6n8bSPzYDL55c4FzNLgeSJPun3R50KNYM8OvxTS63lQ4WVczQjShrtjF+U+pmTD4LYREVvva2WFHl1pdpzLNBWhCNtC2p/w9ekOpj0UWkzw/H0KV+xgxxmOfjodKYevVnavkLHw9Ru0VaTxIWdWlFa8fzaJ4E8SC08ttkz+DvF7z/ambFpwFrOYSzolTOHnu+CUvrJhIqO/YUybO0ZQcc4YFA3gutspTKS7I7u3zvdXEjxVT9x9hGM4/riV1HX0Oj3DdJ2cJN6+IzxVhUUafZs3DEVWnpQjwU/Wcl4dzJw==
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=PylxKJ6XLIPs6xGN56aoUeR5s52aFy0EB2Vuqu3MdL0=;
 b=mr1r7aOX+bNqruifanyUyQu52WLl82RO56FWAlgY0w05CKDYsrAG1YSSx14rePA63yYpY9d+gCmYih9tbkfLHa3PT/SUJsxuQwS8BD6OZXJzMCo66GeNrXtlxoV5MlPJSe+QPhFPnmrF2Wctl+JUAbr1eFI19m5DeFyorqX+qTg=
Received: from MR1P264MB2481.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:32::17)
 by PAZP264MB3119.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1f2::23) 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 13:07:18 +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
 13:07:18 +0000
From: "DERUMIER, Alexandre" <alexandre.derumier@groupe-cyllene.com>
To: "pve-devel@lists.proxmox.com" <pve-devel@lists.proxmox.com>,
 "t.lamprecht@proxmox.com" <t.lamprecht@proxmox.com>, "s.hanreich@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+ljYUmW0VtDTE0RhrAVAnmAgAN4lACAAC2RgIAAA68AgAAQzwCAAAQHgIAABKOAgAuN4wCACL6tAIAAHbMA
Date: Tue, 26 Sep 2023 13:07:18 +0000
Message-ID: <cef49dd992e40135c64ffef0e7f9f572784900bc.camel@groupe-cyllene.com>
References: <20230908134304.2009415-1-s.hanreich@proxmox.com>
 <2fd1071602ad075d4580d62565fc757e4bd92a91.camel@groupe-cyllene.com>
 <d047f4fd-bdba-c7d9-64b6-5dfd5e5faccb@proxmox.com>
 <3e766920-35e9-4acf-a9fa-f3b56fe0408e@proxmox.com>
 <7980640a-da18-9da7-88cb-f8602c9339d4@proxmox.com>
 <5708827d07ec44793cccda18d75a66562a093bc0.camel@groupe-cyllene.com>
 <e2293496-8e93-d42a-bf7a-316ac6b8ee8e@proxmox.com>
 <30aa87542f4b615aa9f1295b170f26eb8c146ba6.camel@groupe-cyllene.com>
 <87490886980ba3d102cbfa3b40c858fcd9ffdbe7.camel@groupe-cyllene.com>
 <3105e957-706e-d512-36f5-6ba558b347ef@proxmox.com>
In-Reply-To: <3105e957-706e-d512-36f5-6ba558b347ef@proxmox.com>
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_|PAZP264MB3119:EE_
x-ms-office365-filtering-correlation-id: 2a175091-5f3a-4ae2-3353-08dbbe91831a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: QXWwm2xjeJMjmbI7Gm5xQLLDI3nxFQ1+gtRSgRjEUO+NbeWIecjYBWFijzMZy/V4j5/hody51L6BPAvBE4PUSRNmXrsWSgo/sWb94M9G0NavzFh17MAFCQRAg5myloqidkO5X27HzbWnJs7qjB3oTxlhyG99X9wR10sMY0bmf6ClUdr4pAVWEp5489NIuDrP/7nSMEWz/7p0nbjeNS6H984nMPYjD7gwnRT9SnTDT1yBp0FjnOcaZq/EIwv6Im5qTn1oy+uROJl8NmUlUU9ICIiQAL/zoNAjWrVKSpWxvVBdfrqk+dHSPWI5P6fIiLx8XeeTonZ8fOJlj9q8hTF3u5BnMmKSix2ROdWaf+SS927nLtkmEfu1D3wRSSyMkiQuKeEDmbQ27TvKILow7keF9HBzEz6ox25FOEM8pZ7aOCp/DScElgyWZlrjpGwAL0GIANwSGTc4tW2E5Z/rJ4sIHCG9zgixJ+8ZWudY/BlRgfeYFVqEp0K03oC72T1yZHW393iJyzRx/UzUSVnMt8S6ayyqG92BAVF7bB7/4JBdqLpqFlUdiEVfVtXMyxkuL+DvOYaAIFXYQdsvJINrZJI7iSj1vBahy5vXaGpaVq5K5ae798SyuSK6ySz7WPpGQGtD
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)(396003)(376002)(366004)(39850400004)(346002)(136003)(230922051799003)(451199024)(1800799009)(186009)(8676002)(8936002)(2906002)(26005)(91956017)(110136005)(478600001)(66476007)(316002)(76116006)(41300700001)(64756008)(66556008)(66946007)(66446008)(5660300002)(6506007)(71200400001)(53546011)(6486002)(6512007)(36756003)(2616005)(66574015)(83380400001)(38070700005)(86362001)(38100700002)(122000001);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eU4zaG8vWXZpZFY3ZlNaQ21lV2IrYWI2OWxpMDYzZi9HLzR1NGtYMlRqR3Ry?=
 =?utf-8?B?WjkzWjdoSjZDVnlSK2hKeFFQUXkxUDZ2MzY3WkpzVlVLMGZ6WmU5enRDczJj?=
 =?utf-8?B?WDJaVXFtTTRtSDc3bFRrdGxaNjdDS0xsb0F0aWRtalVvYUh4T081Lzg0aTk3?=
 =?utf-8?B?d0hkT2FuV2R3NEZ0NlNOVXdXcWVLaGtmT1BKem1WM2pzdU04NjEzNDR1NjFl?=
 =?utf-8?B?UlB1Q0hxWkVDUmJyZ1pMMWlNaFBPYUt1dE9UZnJPdDRjZi85TitRd2oxYk94?=
 =?utf-8?B?T3hjVnMwd1N4bHozTlIyK1ozQjNDSy9WYkZKc1gvSHNQMllwTXFlREdWck5o?=
 =?utf-8?B?R28rMTR6b1RBSGdNWkhCUk40VHNJLzUwR0ZOTlFzSkkyNnRRejJOcWNtaE5W?=
 =?utf-8?B?RDBWK2FGQlhvMEF5citKVVVoVm5XY2djc05Qc3pNSWlDOEc4ZDdtcFVlemxm?=
 =?utf-8?B?Yzh2bDdYSmo3eGlRZVFYa1FVTU9acHdDVmtVUTNpT1JoLzRUNmZIclB3bzJ5?=
 =?utf-8?B?RkU4VGp6VzRCTDRMUTZPbVhDNS9OY0dKZXA4Z3hPVTNaTTE0TnBIaVIzRG12?=
 =?utf-8?B?RTlEelRhMis1cDA4Z2E0MjRoTHpRc1lmRytyT0VLZ29HN3F2SWJPUmp3My9u?=
 =?utf-8?B?TldxUndDMURZVjUvLzBzV0ZIamFYTTlsU3M0dk5MeWxsQ05Tc05nK0dMN2Zz?=
 =?utf-8?B?TTRyY3F4T0RZbFpBT1o0N0JFRmFkOWYzRjhvekZ4L2hWKzJtZ24wT1crdUtu?=
 =?utf-8?B?eHdiRDdRU2dIVC8rYW5sSXdBRVFDRmNkWWYrVTJVMEp1RTdzeTFZcGFvangr?=
 =?utf-8?B?ekgrQzJiTCszWlBsMWYyemd1Nk9iZlE4S1pWSlArUkVEeC9VVHVyRXlKZ1By?=
 =?utf-8?B?VkdkMzh2MHJHUStxK2NMbUEvbFBaZWgvMXRsZnozWFNGNFdVZWREQmhxNGRV?=
 =?utf-8?B?aTNGK2ZENk5DLytGS3dqa0ZjUjlTY1VvWFpzTWtDdmpYZVVFTUcxd2dURDZp?=
 =?utf-8?B?YmpDSEJ3R1cvdkFYTnRkMlVOOEFJMlNTVThaazRobGZUckF4MUtzdzlPMXV0?=
 =?utf-8?B?eWR2U0xxWjU4ZDRZMUt3MlN1dFR3WkxCeU10eDdLcnpabGcvNk00Q09tOFV0?=
 =?utf-8?B?L2QvY09TWGRza1hBZk1pVXFrTHdvSFBGbFBoTkhpYnlVTjl5cFkwTDhJVjVj?=
 =?utf-8?B?dzNuT0xGSGxLd2Q3WWNRcDlNeCtXb1A0VkpqdHhaMXBENThTdnJieWhaZE5O?=
 =?utf-8?B?ZXdHN1VhbDNSdFduK3NJbG1OMTkyZFBaa2J1dHJoV0FuOEE4WFBTa3RiZDk2?=
 =?utf-8?B?SndZNXFETjl5ckdKMmIzaDM3LzdWWkthalhsSFdkQXJBT2M3bi9MenJCVStF?=
 =?utf-8?B?azRDRmZYanJyUm8reitMRUlmVzMwSEdZSm54T3hRM0o3STU3QURjeG1ORUtj?=
 =?utf-8?B?aUxxd1pTSEdQWFlyUlRkRWxnUUVJZlBXTm5aZ1hJck1nVWJENzdrbWFpc2F1?=
 =?utf-8?B?RUFnWktiY0J2bFh2K1VVeGhhNEs1WVZ2LythQ2tVS3VNeXRRK2t3VFIyaGtF?=
 =?utf-8?B?dUVLUXVoc2tiQXBmRWRHdm0wMDdmc0R1VnA4SmNsQWFQVXJyOVJnMFFRVWQ1?=
 =?utf-8?B?Vm9mUkc0TlVXSFAyMCtwZHFLc2ZzRzdwS095YUluR1FJSkZuZmdMQVhKaDU3?=
 =?utf-8?B?ZStTZzdGaTAybVJzU0hnZ2xJTjFzR2JWbzBLNVJpMzRDYThJY3RzUlk1dUxn?=
 =?utf-8?B?ZVN2YXVyQ3VkMGxQZkFSaU9sMktEWXRHc1VrbVZvR0F6cW5VSERNQzRFZ0gw?=
 =?utf-8?B?M0JiUHBSaUYvMGtweDJ5WkwwMld2NjYvanlMSzlDSklXaXErMjVRWTBCQ1RK?=
 =?utf-8?B?UU9tTGplMXlVQi9JUzh5ZDlveURHZmtRNTBIeGhySVB0UUpGRFA0RlFnNkYr?=
 =?utf-8?B?YkxnUjZNclVHcEJNbkF5S3BXSkdGa0lmY3h6RGZCRnB1djNMam16bVNxTlFM?=
 =?utf-8?B?RWk5QndPYVZnd0FBSCs3TzYvaTBHNXF4ckRKSVo2b3JER2xoUnFUN0dVbFpv?=
 =?utf-8?B?ZUlJRXJmTllQOUdwZFl2QjV4aElBMGlNY1hGSXMzWjJUM2Y0N2FTNGk5SWJI?=
 =?utf-8?B?cEtFdlVEVFM1SlM1S3FFcEtNNnRKdkRnMk5SYzFYWmVOVDM3cndqcFcwTXdC?=
 =?utf-8?Q?bCve2b2aNN/mnUCSCS1t3ZX907yXV8qxguroRt5RSmAh?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <27A6337126D08442945E49E136BE0FC0@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: 2a175091-5f3a-4ae2-3353-08dbbe91831a
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2023 13:07:18.1630 (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: DwcE+WEwcKdAHB2yhCTcO5+0pjkZbJan7W6s975MVV/ckBhDnfcPPtImV9kUzMSrbuvRaE/jxI1FL2BjckGdRwSBzDVqB+WbUkOE8Jg+lu3QVMSBSaQzR7pOX3qMGNyc
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAZP264MB3119
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.462 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
 KAM_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible
 spam tricks
 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. [groupe-cyllene.com, groupecyllene.onmicrosoft.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 <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Tue, 26 Sep 2023 13:08:06 -0000

TGUgbWFyZGkgMjYgc2VwdGVtYnJlIDIwMjMgw6AgMTM6MjAgKzAyMDAsIFN0ZWZhbiBIYW5yZWlj
aCBhIMOpY3JpdMKgOg0KPiBPbiA5LzIwLzIzIDIzOjQ4LCBERVJVTUlFUiwgQWxleGFuZHJlIHdy
b3RlOg0KPiA+IEZpbmFsbHksIEl0J3Mgbm90IHNvIGVhc3kgd2l0aG91dCB3cml0aW5nIGlwIG9u
IHByb3htb3ggc2lkZSAoaW4gdm0NCj4gPiBjb25maWcgb3Igc29tZXdoZXJlIGVsc2UpLCBiZWNh
dXNlIHRvIHJldHJpZXZlIGEgcmVzZXJ2ZWQgaXAgZnJvbQ0KPiA+IGV4dGVybmFsIGlwYW0gd2hl
biB2bSBzdGFydCwgd2UgbmVlZCB0byBsb29rdXAgbWF5YmUgZnJvbSBtYWMNCj4gPiBhZGRyZXNz
LA0KPiA+IG1heWJlIGZyb20gaG9zdG5hbWUgb2YgdGhlIHZtLCBvciBtYXliZSBzb21lIGN1c3Rv
bSBhdHRyaWJ1dGVzLCBidXQNCj4gPiBub3QNCj4gPiBhbGwgaXBhbXMgYWNjZXB0IHNhbWUgYXR0
cmlidXRlcy4NCj4gPiANCj4gPiAoYXQgbGVhc3QgcGhwaXBhbSAmJiBuZXRib3ggZG9uJ3Qgc3Vw
cG9ydCBhbGwgZmVhdHVyZXMsIG9yIG5vdA0KPiA+IGVhc3lseS4NCj4gPiBOZXRib3ggZm9yIGV4
YW1wbGUsIGZvciBtYWNhZGRyZXNzIG5lZWQgdG8gcmVnaXN0ZXIgdGhlIGZ1bGwgdm0NCj4gPiBv
YmplY3QNCj4gPiAmJiBpbnRlcmZhY2VzICsgbWFjwqAgKyBtYXBwaW5nIHRvIGlwLCBQaHBpcGFt
IGlzIGEgc2luZ2xlIGlwIG9iamVjdA0KPiA+IHdpdGggbWFjIGFzIGF0dHJpYnV0ZSkuDQo+IA0K
PiBZZXMsIEkgdGhpbmsgc28gYXMgd2VsbC4gSXQgYWxzbyB3b3VsZCBtYWtlIHVzIGRlcGVuZGVu
dCBvbiBleHRlcm5hbCANCj4gc3lzdGVtcywgd2hpY2ggbWlnaHQgbm90IGFsd2F5cyBiZSB1cCBh
bmQgd291bGQgY3JlYXRlIGFuIGFkZGl0aW9uYWwgDQo+IGh1cmRsZSBmb3Igc2V0dGluZyB0aGlu
Z3MgdXAuIEhhdmluZyBvdXIgb3duIHNvbHV0aW9uIGZvciB0aGlzIHNlZW1zIA0KPiBwcmVmZXJh
YmxlIGltby4gV2UgY2FuIHN0aWxsIHByb3ZpZGUgaW50ZWdyYXRpb25zIHdpdGggbmV0Ym94IC8N
Cj4gcGhwaXBhbSANCj4gc28gdGhleSBjYW4gdGFrZSBvdmVyIGZyb20gb3VyIHNtYWxsIElQQU0g
aWYgdGhleSBpbXBsZW1lbnQgdGhlDQo+IGZlYXR1cmVzIA0KPiB3ZSBuZWVkLg0KPiANCj4gSSds
bCB0YWtlIGEgY2xvc2VyIGxvb2sgYXQgbmV0Ym94LCBzaW5jZSBJIHdhcyB1bmRlciB0aGUgaW1w
cmVzc2lvbg0KPiB0aGF0IA0KPiB0aGV5IHNob3VsZCBzdXBwb3J0IHRoaXMgLSBhbHRob3VnaCBp
dCdzIGJlZW4gYXdoaWxlIHNpbmNlIEkgcGxheWVkIA0KPiBhcm91bmQgd2l0aCBpdC4gTm90IHN1
cmUgYWJvdXQgcGhwSVBBTSwgYnV0IEkgd2Fzbid0IHRvbyBzdG9rZWQgb24NCj4gdXNpbmcgDQo+
IGl0IGFueXdheSBhZnRlciBicm93c2luZyB0aGVpciBzb3VyY2UgY29kZSBmb3IgYSBiaXQuDQo+
IA0KPiA+IFNvIEkgdGhpbmsgdGhlIGJlc3Qgd2F5IGlzIHN0aWxsIHRvIHdyaXRlIHRoZSBpcCBp
bnRvIHRoZSB2bQ0KPiA+IGNvbmZpZywNCj4gPiB0aGlzIGFsbG93IHRvIGluamVjdCBhbHJlYWR5
IHJlc2VydmVkIGlwIGluIGRoY3AgYXQgdm0NCj4gPiBzdGFydC9taWdyYXRlDQo+ID4gd2l0aG91
dCBuZWVkIHRvIGNhbGwgdGhlIGlwYW0gKGFsc28gYXZvaWQgc3RhcnQgcHJvYmxlbSBpcyBpcGFt
DQo+ID4gc2VydmVyDQo+ID4gaXMgZG93bikuDQo+ID4gDQo+ID4gYW5kIHRoaXMgYWxsb3cgdG8g
dXNlIGl0IGZvciBmaXJld2FsbCBpcGZpbHRlciwgSSBzZWUgYSB1c2VjYXNlIGZvcg0KPiA+IHNk
bg0KPiA+IHZ4bGFuIHRvbyBvciBzcGVjaWFsIC8zMiByb3V0ZSBpbmplY3Rpb24pDQo+ID4gDQo+
IA0KPiBZZXMsIEkgdGhpbmsgc28gYXMgd2VsbCwgYWx0aG91Z2ggd2Ugd291bGQgbmVlZCB0byB0
YWtlIGNhcmUgb2YNCj4gcHJvcGVyIA0KPiBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiBDb25maWdz
IGFuZCBJUEFNLiBJZiB0aGlzIGRpdmVyZ2VzIGZvcg0KPiB3aGF0ZXZlciANCj4gcmVhc29uIHdl
IHdpbGwgcnVuIGludG8gdHJvdWJsZS4gT2YgY291cnNlLCB0aGlzICpzaG91bGQqIG5ldmVyDQo+
IGhhcHBlbiANCj4gd2hlbiBwcm9wZXJseSBpbXBsZW1lbnRlZC4NCj4gDQo+IEFub3RoZXIgb3B0
aW9uIEkgdGhvdWdodCBhYm91dCB3b3VsZCBiZSBzdG9yaW5nIGEgVk1JRCAtPiBJUCBtYXBwaW5n
DQo+IGluIA0KPiB0aGUgKHB2ZSkgSVBBTSBpdHNlbGYuIFRoaXMgd291bGQgaGF2ZSB0aGUgdXBz
aWRlIG9mIGhhdmluZyBhIA0KPiBjZW50cmFsaXplZCBzdG9yYWdlIGFuZCBzaW5nbGUgc291cmNl
IG9mIHRydXRoIHdpdGhvdXQgaGF2aW5nIHRvIA0KPiBtYWludGFpbiB0d28gZGlmZmVyZW50IGxv
Y2F0aW9ucyB3aGVyZSB3ZSBzdG9yZSB0aGUgSVAuDQo+IA0KPiBUaG91Z2ggaXQgd291bGQgYWxz
byBiZSBhIGJpdCBtb3JlIGludHJhbnNwYXJlbnQgdG8gdGhlIHVzZXIgaWYgd2UNCj4gZG9uJ3Qg
DQo+IGV4cG9zZSBpdCBzb21ld2hlcmUgaW4gdGhlIFVJLg0KPiANCj4gVGhpcyB3b3VsZCBoYXZl
IHRoZSBkb3duc2lkZSB0aGF0IHN0YXJ0aW5nIFZNcyBpcyBhbiBpc3N1ZSB3aGVuIHRoZQ0KPiBJ
UEFNIA0KPiBpcyBkb3duLiBXaGlsZSB1c2luZyB0aGUgcHZlIElQQU0gaW4gYSBjbHVzdGVyIChv
ciBhIHNpbmdsZSBub2RlKSBJDQo+IGNhbiANCj4gc2VlIHRoaXMgYmVpbmcgYWxyaWdodCwgc2lu
Y2UgeW91IG5lZWQgcXVvcnVtIHRvIHN0YXJ0IGEgVk0uIEFzIGxvbmcNCj4gYXMgDQo+IHlvdSBo
YXZlIGEgcXVvcmF0ZSBjbHVzdGVyIHRoZSBwdmUgSVBBTSAqc2hvdWxkKiBiZSBhdmFpbGFibGUg
YXMNCj4gd2VsbC4NCj4gDQo+IEluIHRoZSBjYXNlIG9mIHVzaW5nIHBocElQQU0gb3IgbmV0Ym94
IHRoaXMgaXMgYW4gaXNzdWUgd2Ugd291bGQgbmVlZA0KPiB0byANCj4gdGhpbmsgYWJvdXQuDQo+
IA0KWWVzLCB0aGlzIGlzIG15IG1haW4gY29uY2VybiwgYXMgaXQnbGwgYmUgbXkgY2FzZSBpbiBw
cm9kdWN0aW9uLCBhcyBJDQptYW5hZ2luZyBtdWx0aXBsZSBjbHVzdGVycywgb24gZGlmZmVyZW50
cyBsb2NhdGlvbiwgd2l0aCBzdWJuZXRzDQpzaGFyaW5nLg0KDQpmb3IgbWUsIGl0J3Mgb2sgaWYg
aXBhbSBpcyBkb3duIHdoZW4gYWxsb2NhdGluZyBhIG5ldyBpcCBvciB2bS4NCkJ1dCBmb3Igdm0g
c3RhcnQvc3RvcCwgSSB0aGluayB3ZSBzaG91bGQgaGF2ZSBhdCBtaW5pbXVtIHNvbWUgY2FjaGUN
CnNvbWV3aGVyZS4gKEknbSB0aGluayBhYm91dCBhIGRpc2FzdGVyIHJlY292ZXJ5IG9yIGJpZyBu
ZXR3b3JrIHByb2JsZW0sDQp3aGVyZSB5b3Ugd2FudCB0byBmYXN0IHJlc3RhcnQgYWxsIHZtcyB3
aXRob3V0IG5lZWQgdG8gY2FsbCB0aGUgaXBhbSkuDQoNCg0KTWF5YmUgYSB3YXksIGNvdWxkIGJl
IHRvIHVzZSB0aGUgbG9jYWwgcHZlIGlwYW0sIGFzIGEgbG9jYWwgbWlycm9yIG9mDQp0aGUgZXh0
ZXJuYWwgaXBhbSA/ICAgIChhbmQgZG9uJ3Qgc3RvcmUgaXAgaW4gdm0gY29uZmlnLCBidXQgb25s
eSBpbg0KcHZlIGlwYW0sIHRoZSBzb3VyY2Ugb2YgdHJ1dGgpDQoNCg0KDQoNCnZtIHdpdGggaXBh
bT1hdXRvLCAgZXh0ZXJuYWwgaXBhbSBpcyBjb25maWd1cmVkOg0KDQoNCi0gaWYgKGlwX2V4aXN0
KHB2ZV9pcGFtKSkgew0KICAgICAgICAgcmV0dXJuIGlwDQogIH0gZWxzaWYgKGlwX2V4aXN0KGV4
dGVybmFsX2lwYW0pKSB7DQogICAgICAgICByZXR1cm4gaXANCiAgfSBlbHNlIHsNCiAgICAgICAg
IGlwID0gZmluZG5leHRmcmVlaXAoZXh0ZXJuYWxfaXBhbSkNCiAgICAgICAgIHN5bmNfcHZlX2lw
YW0oaXApDQogICAgICAgICByZXR1cm4gaXANCiAgfQ0KDQoNCg0KSSBoYXZlIHNlZSB0aGlzIGlu
IHZtd2FyZSBvciBvcGVuc3RhY2svb3Blbm5lYnVsYSB3aXRoIGV4dGVybmFsIGlwYW0sIA0KSSBk
b24ndCByZW1lbWJlciBleGFjdGx5Lg0KDQoNCg0KDQo+ID4gSSBqdXN0IG5lZWQgc29tZSBwcm90
ZWN0aW9ucyBmb3Igc25hcHNob3QsIGJ1dCBub3RoaW5nIHRvbw0KPiA+IGRpZmZpY3VsdCwNCj4g
PiBidXQgd2UgcmVhbGx5IG5lZWQgdG8gYXZvaWQgdG8gdHJ5IHRvIG1hbmFnZSBpbiBpcGFtIG11
bHRpcGxlDQo+ID4gdmVyc2lvbi9zbmFwc2hvdCBvZiBpcCBlbnRyeSBmb3IgYSB2bS4NCj4gPiBJ
IGhhZCB0cmllZCAyeWVhcnMgYWdvLCBpdCB3YXMgcmVhbGx5IHBhaW5mdWwgdG8gaGFuZGxlIHRo
aXMgaW4NCj4gPiBkaWZmZXJlbnRzIGlwYW0uDQo+ID4gU28gbWF5YmUgdGhlIGJlc3Qgd2F5IGlz
IHRvIGZvcmJpZCB0byBjaGFuZ2UgaXAgYWRkcmVzcyB3aGVuIGENCj4gPiBzbmFwc2hvdA0KPiA+
IGFscmVhZHkgZXhpc3QuDQo+IA0KPiBZZXMsIGl0IG1pZ2h0IGJlIGp1c3QgdGhlIGJlc3Qgd2F5
IHRvIGNoZWNrIG9uIHJlc3RvcmUgaWYgdGhlIElQIGlzDQo+IHRoZSANCj4gc2FtZSBvciBhdCBs
ZWFzdCBjdXJyZW50bHkgYXZhaWxhYmxlIGFuZCBvdGhlcndpc2UganVzdCBnZXQgYSBuZXcgSVAg
DQo+IGZyb20gSVBBTSBhdXRvbWF0aWNhbGx5IChtYXliZSB3aXRoIGEgd2FybmluZykuDQo+IA0K
PiBPbiB0aGUgb3RoZXIgaGFuZCwgdGhpcyBzaG91bGQgbm90IGJlIGFuIGlzc3VlIHdoZW4gc3Rv
cmluZyB0aGUgVk1JRA0KPiAtPiANCj4gSVAgbWFwcGluZyBjZW50cmFsaXplZCBzb21ld2hlcmUs
IHNpbmNlIHdlIHRoZW4gY2FuIGp1c3QgcmVseSBvbiB0aGUNCj4gSVAgDQo+IGJlaW5nIHN0b3Jl
ZCB0aGVyZS4gT2YgY291cnNlIHRoaXMgd291bGQgZXhjbHVkZSB0aGUgREhDUC9JUCBzZXR0aW5n
IA0KPiBmcm9tIHRoZSBzbmFwc2hvdCB3aGljaCBjYW4gYmUgZ29vZCBvciBiYWQgSSdkIHNheSAo
ZGVwZW5kaW5nIG9uIHRoZQ0KPiB1c2UgDQo+IGNhc2UpLg0KPiANCj4gPiBJIHRoaW5rIHdlIGNv
dWxkIGltcGxlbWVudCBpcGFtIGNhbGwgbGlrZToNCj4gPiANCj4gPiANCj4gPiBjcmVhdGUgdm0g
b3IgYWRkIGEgbmV3IG5pY8KgIC0tPg0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
DQo+ID4gcW0gY3JlYXRlIC4uLiAtbmV0MA0KPiA+IGJyaWRnZT12bmV0LC4uLi4saXA9KGF1dG98
MTkyLjE2OC4wLjF8ZHluYW1pYyksaXA2PSguLikNCj4gPiANCj4gPiANCj4gPiBhdXRvIDogc2Vh
cmNoIGEgZnJlZSBpcCBpbiBpcGFtLsKgIHdyaXRlIHRoZSBpcCBhZGRyZXNzIGluIG5ldDA6DQo+
ID4gLi4uLGlwPQ0KPiA+IGlwIGZpZWxkDQo+ID4gDQo+ID4gMTkyLjE2OC4wLjE6wqAgY2hlY2sg
aWYgaXAgaXMgZnJlZSBpbiBpcGFtICYmIHJlZ2lzdGVyIGlwIGluIGlwYW0uDQo+ID4gd3JpdGUN
Cj4gPiB0aGUgaXAgaW4gaXAgZmllbGQuDQo+ID4gDQo+ID4gDQo+ID4gZHluYW1pYzogd3JpdGUg
ImVwaGVtZXJhbCIgaW4gbmV0MDogLi4uLixpcD1lcGhlbWVyYWwgKFRoaXMgaXMgYQ0KPiA+IGR5
bmFtaWMgaXAgcmVnaXN0ZXJlZCBhdCB2bSBzdGFydCwgYW5kIHJlbGVhc2UgYXQgdm0gc3RvcCkN
Cj4gDQo+IFNvdW5kcyBnb29kIHRvIG1lLg0KPiANCj4gPiANCj4gPiB2bSBzdGFydA0KPiA+IC0t
LS0tLS0tLQ0KPiA+IC0gaWYgaXA9ZXBoZW1lcmFsLCBmaW5kICYmIHJlZ2lzdGVyIGEgZnJlZSBp
cCBpbiBpcGFtLCB3cml0ZSBpdCBpbg0KPiA+IHZtDQo+ID4gbmV0MDogLi4uLGlwPTE5Mi4xNjgu
MC4xMFtFXSAuwqDCoCAobWF5YmUgd2l0aCBhIHNwZWNpYWwgZmxhZyBbRV0gdG8NCj4gPiBpbmRp
Y2F0ZSBpdCdzIGVwaGVtZXJhbCkNCj4gPiAtIHJlYWQgaXAgZnJvbSB2bSBjb25maWcgJiYgaW5q
ZWN0IGluIGRoY3ANCj4gDQo+IE1heWJlIHdlIGNhbiBldmVuIGdldCBhd2F5IHdpdGggc2V0dGlu
ZyB0aGUgSVAgaW4gdGhlIERIQ1AgY29uZmlnIGFzIA0KPiBzb29uIGFzIHdlIHNldCBpdCBpbiB0
aGUgVk0gY29uZmlndXJhdGlvbiwgYXMgbG9uZyBhcyBpdCBpcyBub3QgDQo+IGVwaGVtZXJhbCwg
dGh1cyBhdm9pZGluZyB0aGUgbmVlZCBmb3IgaGF2aW5nIHRvIGRvIGl0IHdoaWxlIHN0YXJ0aW5n
DQo+IFZNcz8NCj4gDQo+ID4gdm1fc3RvcA0KPiA+IC0tLS0tLS0NCj4gPiBpZiBpcCBpcyBlcGhl
bWVyYWwgKG5ldFg6IGlwPTE5Mi4xNjguMC4xMFtFXSkswqAgZGVsZXRlIGlwIGZyb20NCj4gPiBp
cGFtLA0KPiA+IHNldCBpcD1lcGhlbWVyYWwgaW4gdm0gY29uZmlnDQo+ID4gDQo+ID4gDQo+ID4g
dm1fZGVzdHJveSBvciBuaWMgcmVtb3ZlL3VucGx1Zw0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCj4gPiBpZiBuZXRYOiAuLi4saXA9MTkyLjE2OC4wLjEwwqDCoCAswqAgcmVtb3ZlIGlw
IGZyb20gaXBhbQ0KPiA+IA0KPiA+IA0KPiA+IA0KPiA+IG5pYyB1cGRhdGUgd2hlbiB2bSBpcyBy
dW5uaW5nOg0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+IGlmIGlwIGlz
IGRlZmluZWQgOiBuZXRYOiBpcD0xOTIuMTY4LjAuMTAswqAgd2UgZG9uJ3QgYWxsb3cgYnJpZGdl
DQo+ID4gY2hhbmdlDQo+ID4gb3IgaXAgY2hhbmdlLCBhcyB2bSBpcyBub3Qgbm90aWZpZWQgYWJv
dXQgdGhlc2VzIGNoYW5nZXMsIGFuZCBzdGlsbA0KPiA+IHVzZQ0KPiA+IG9sZCBpcC4NCj4gPiAN
Cj4gPiBXZSBjYW4gYWxsb3cgbmljIGhvdC11bnBsdWcgJiYgaG90cGx1Zy4gKGd1ZXN0IG9zIHdp
bGwgcmVtb3ZlIHRoZQ0KPiA+IGlwIG9uDQo+ID4gbmljIHJlbW92YWwsIGFuZCB3aWxsIGNhbGwg
ZGhjcCBhZ2FpbiBvbiBuaWMgaG90cGx1ZykNCj4gDQo+IFllcywgSSB0aGluayBzbyBhcyB3ZWxs
LiBNYXliZSB3ZSBjb3VsZCBnaXZlIHRoZSBvcHRpb24gdG8gY2hhbmdlIHRoZQ0KPiBJUCANCj4g
dG9nZXRoZXIgd2l0aCBhIGZvcmNlZCByZWJvb3QgYW5kIGEgd2FybmluZyBsaWtlICdXaGVuIGNo
YW5naW5nIHRoZQ0KPiBJUCANCj4gdGhpcyBWTSB3aWxsIGdldCByZWJvb3RlZCcgYXMgYSBxdWFs
aXR5IG9mIGxpZmUgZmVhdHVyZT8NCj4gDQo+ID4gDQo+ID4gbmljIGhvdHBsdWcgd2l0aCBpcD1h
dXRvOg0KPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiANCj4gPiAtLT4gYWRkIG5p
YyBpbiBwZW5kaW5nIHN0YXRlIC0tLS0+IGZpbmQgaXAgaW4gaXBhbSAmJiB3cml0ZSBpdCBpbg0K
PiA+IHBlbmRpbmcgLS0tPiBkbyB0aGUgaG90cGx1ZyBpbiBxZW11Lg0KPiA+IA0KPiA+IFdlIG5l
ZWQgdG8gaGFuZGxlIHRoZSBjb25maWcgcmV2ZXJ0IHRvIHJlbW92ZSBpcCBmcm9tIGlwYW0gaWYg
dGhlDQo+ID4gbmljDQo+ID4gaG90cGx1ZyBpcyBibG9ja2VkIGluIHBlbmRpbmcgc3RhdGUoSSBu
ZXZlciBzZWUgdGhpcyBjYXNlIHVudGlsIG9zDQo+ID4gZG9uJ3QgaGF2ZSBwY2lfaG90cGx1ZyBt
b2R1bGUgbG9hZGVkLCBidXQgaXQncyBiZXR0ZXIgdG8gYmUNCj4gPiBjYXJlZnVsbCApDQo+ID4g
DQo+IA0KPiBZZXMgLSBkZWZlbnNpdmUgcHJvZ3JhbW1pbmcgaXMgYWx3YXlzIGdvb2QhDQo+IA0K
PiA+IFRoZSBpcGFtIG1vZHVsZXMgKGludGVybmFsIHB2ZSwgcGhwaXBhbSxuZXRib3gpIGFyZSBh
bHJlYWR5IGZvcg0KPiA+IHRoaXMsIEkNCj4gPiB0aGluayBpdCBzaG91bGRuJ3QgYmUgdG9vIGRp
ZmZpY3VsdC4NCj4gPiANCj4gPiBkbnNtYXNxIHNlZW0gdG8gaGF2ZSBhIHJlc2VydmF0aW9uIGZp
bGUgb3B0aW9uLCB3aGVyZSB3ZSBjYW4NCj4gPiBkeW5hbWljYWxseSBhZGQgaXAtbWFjIHdpdGhv
dXQgbmVlZCB0byByZWxvYWQgaXQuDQo+ID4gDQo+ID4gSSdsbCB0cnkgaXQsIHJlLXVzaW5nIHlv
dXIgY3VycmVudCBkbnNtYXNxIHBhdGNoZXMuDQo+IA0KPiBTaW5jZSB5b3Ugd2FudCB0byB0YWtl
IGEgc2hvdCBhdCBpbXBsZW1lbnRpbmcgaXQsIGlzIHRoZXJlIGFueXRoaW5nIEkNCj4gY291bGQg
aGVscCB5b3Ugd2l0aD8gSSdkIGhhdmUgc29tZSByZXNvdXJjZXMgbm93IGZvciB0YWtpbmcgYSBz
aG90IGF0DQo+IHRoaXMgYXMgd2VsbC4NCj4gDQpJJ20gYSBiaXQgYnVzeSBjdXJyZW50bHkgb24g
b3RoZXIgc3R1ZmYgYW5kIEkgd291bGQgbGlrZSB0byBmaW5pc2ggdGhlbQ0KZmlyc3QuIA0KDQpT
byBpZiB5b3UgaGF2ZSBhIGxpdHRsZSBiaXQgdGltZSB0byB3b3JrIG9uIHRoaXMsIGl0IGNvdWxk
IGJlIGdyZWF0IDopDQoNCkkgaGF2ZSBzZW5kIHNvbWUgcGF0Y2hlcyBpbiAyMDIxIGZvciBpcGFt
IGludGVncmF0aW9uIGluIHFlbXUvbHhjLCBpZg0KeW91IHdhbnQgdG8gdGFrZSBzb21lIGluc3Bp
cmF0aW9uLiAod2l0aG91dCB0aGUgaXAgaW4gdGhlIHZtIGNvbmZpZywgaXQNCnNob3VsZCBiZSBh
IGxvdCBlYXNpZXIpDQoNCg0KDQo+IEl0IHdvdWxkIGFsc28gYmUgaW50ZXJlc3RpbmcgdG8gaW1w
cm92ZSBhbmQgYWRkIHNvbWUgZmVhdHVyZXMgdG8gb3VyIA0KPiBidWlsdC1pbiBJUEFNLCBtYXli
ZSBldmVuIGFkZCB0aGUgVk1JRCAtPiBJUCBtYXBwaW5nIGZ1bmN0aW9uYWxpdHkNCj4gSSd2ZSAN
Cj4gdG91Y2hlZCB1cG9uIGVhcmxpZXIuIEl0IHdvdWxkIGFsc28gYmUgaW50ZXJlc3RpbmcgdG8g
YmUgYWJsZSB0bw0KPiBleHBvc2UgDQo+IHNvbWUgb2YgdGhpcyBpbmZvcm1hdGlvbiB0byB0aGUg
ZnJvbnRlbmQsIHNvIHVzZXJzIGhhdmUgYW4gb3ZlcnZpZXcNCj4gb2YgDQo+IGN1cnJlbnRseSBs
ZWFzZWQgSVBzIGluIHRoZSBmcm9udGVuZCAtIHdoYXQgZG8geW91IHRoaW5rPw0KPiANCg0KWWVz
LGFkbWluIHNob3VsZCBiZSBhYmxlIHRvIHNlZSBhbGxvY2F0ZWQgaXAuIChsaWtlIGEgcmVhbCBp
cGFtKS4NCg0KSSB3YXMgdGhpbmtpbmcgYWJvdXQgb3RoZXIgc3R1ZmYgZm9yIGxhdGVyLCBidXQg
bWF5YmUgaXQgY291bGQgYmUgZ3JlYXQNCmZvciBhbiBhZG1pbiB0byBiZSBhYmxlIHRvIHJlc2Vy
dmUgaXBzIGFuZCBwdXQgdGhlbSBpbiBhIHBvb2wuDQpUaGVuIHVzZXIgY291bGQgY2hvb3NlIGlw
IGZyb20gdGhpcyBwb29sLg0KDQooVXNlY2FzZSBpcyBwdWJsaWMgaXAgYWRkcmVzc2VzLCB3aGVy
ZSBhIGN1c3RvbWVyIGNvdWxkIGJ1eSBzb21lIG9mDQp0aGVtLA0KdGhlbiBhbGxvY2F0ZWQgdGhl
bSBsaWtlIGhlIHdhbnQpDQoNCg0KDQoNCj4gV291bGQgaXQgYWxzbyBtYWtlIHNlbnNlIHRvIHNl
dCBJUFNldCBlbnRyaWVzIGZvciBWTXMsIHNvIHRoZXkgYXJlDQo+IG9ubHkgDQo+IGFsbG93ZWQg
dG8gdXNlIHRoZSBJUHMgd2UgZGVkaWNhdGUgdG8gdGhlbT8gVGhpcyB3b3VsZCBiZSBhIGRlY2Vu
dCANCj4gc2FmZWd1YXJkIGZvciBwcmV2ZW50aW5nIGlzc3VlcyBkb3duIHRoZSBsaW5lLg0KPiAN
Cj4gQWRkaXRpb25hbGx5IGl0IHdvdWxkIGJlIGludGVyZXN0aW5nIHRvIGF1dG9tYXRpY2FsbHkg
Y3JlYXRlIEFsaWFzZXMNCj4gZm9yIA0KPiBWTmV0cy9WTXMgaW4gdGhlIEZpcmV3YWxsIGNvbmZp
Z3VyYXRpb24gLSB3aGF0IGRvIHlvdSB0aGluaz8gSWYgd2UNCj4gYWRkIA0KPiBWTXMgYXMgQWxp
YXNlcywgd2Ugd291bGQgaGF2ZSB0byByZWNvbXBpbGUgdGhlIGlwdGFibGVzIG9uIGV2ZXJ5IElQ
IA0KPiBjaGFuZ2UuIEZvciB0aGlzIGZlYXR1cmUgaXQgd291bGQgbWFrZSBzZW5zZSB0byBiZSBh
YmxlIHRvIHNldCBuYW1lcw0KPiAvIA0KPiBjb21tZW50cyBvbiBWTmV0cywgc28gd2UgY2FuIHJl
ZmVyZW5jZSB0aGVtIHRoaXMgd2F5LiBXaGF0IGRvIHlvdQ0KPiB0aGluaz8NCg0KYSBCaWcgeWVz
ICEgIChhcyBJJ20gYWxyZWFkeSBkb2luZyB0aGlzIG1hbnVhbGx5IGluIHByb2R1Y3Rpb24gOykN
Cg0KDQo+IA0KDQo=