From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id EEA991FF16E for ; Mon, 17 Feb 2025 15:52:01 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 537BC2B4BC; Mon, 17 Feb 2025 15:51:59 +0100 (CET) Date: Mon, 17 Feb 2025 15:51:54 +0100 From: Wolfgang Bumiller To: Gabriel Goller Message-ID: References: <20241209104606.263045-1-g.goller@proxmox.com> <20241209104606.263045-2-g.goller@proxmox.com> <5cettqvqg6i6y2cgihynjjirl4vyl6c5l3ewbn4ydhccpgc6ac@aj5yojr624d4> <2cugfnfjfv2robousxhdshdu3rxmyg3bnfdazoyagvn5gglatl@6x4trum24nak> <4iymtwe46mmc7zn6f2erjkfxhal76ma2xy2fh2d4rk2vaqpik4@7n363ok7f5yf> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-SPAM-LEVEL: Spam detection results: 0 AWL 0.081 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment RCVD_IN_VALIDITY_CERTIFIED_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_RPBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. RCVD_IN_VALIDITY_SAFE_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to Validity was blocked. See https://knowledge.validity.com/hc/en-us/articles/20961730681243 for more information. SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pbs-devel] [PATCH proxmox v2 1/4] log: rename/move init functions X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: Proxmox Backup Server development discussion Cc: Lukas Wagner , pbs-devel@lists.proxmox.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gTW9uLCBGZWIgMTcsIDIwMjUgYXQgMDM6MTI6MjNQTSArMDEwMCwgR2FicmllbCBHb2xsZXIg d3JvdGU6Cj4gT24gMTcuMDIuMjAyNSAxNDozOCwgV29sZmdhbmcgQnVtaWxsZXIgd3JvdGU6Cj4g PiBPbiBNb24sIEZlYiAxNywgMjAyNSBhdCAwMjowODowM1BNICswMTAwLCBHYWJyaWVsIEdvbGxl ciB3cm90ZToKPiA+ID4gT24gMTEuMDIuMjAyNSAxMDoyOCwgV29sZmdhbmcgQnVtaWxsZXIgd3Jv dGU6Cj4gPiA+ID4gT24gVHVlLCBGZWIgMTEsIDIwMjUgYXQgMTA6MjI6NDRBTSArMDEwMCwgV29s ZmdhbmcgQnVtaWxsZXIgd3JvdGU6Cj4gPiA+ID4gPiBPbiBNb24sIEZlYiAxMCwgMjAyNSBhdCAw NTo0MjozNVBNICswMTAwLCBHYWJyaWVsIEdvbGxlciB3cm90ZToKPiA+ID4gPiA+ID4gT24gMTAu MDIuMjAyNSAxNTozNywgV29sZmdhbmcgQnVtaWxsZXIgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gT24g TW9uLCBEZWMgMDksIDIwMjQgYXQgMTE6NDY6MDNBTSArMDEwMCwgR2FicmllbCBHb2xsZXIgd3Jv dGU6Cj4gPiA+ID4gPiA+ID4gPiArLy8vIEluaXRzIGEgbmV3IHRyYWNpbmcgbG9nZ2VyIHRoYXQg cHJpbnRzIHRvIHN0ZGVyciBvciB0YXNrbG9nIHdpdGggdGhlIGxvZ2dpbmcgbGV2ZWwgc3BlY2lm aWVkIGluIHRoZQo+ID4gPiA+ID4gPiA+ID4gKy8vLyBlbnZpcm9ubWVudCB2YXJpYWJsZSBgZW52 X3ZhcmAuCj4gPiA+ID4gPiA+ID4gPiArLy8vCj4gPiA+ID4gPiA+ID4gPiArLy8vIFRoaXMgbG9n Z2VyIGlzIHRhc2stYXdhcmUsIHdoaWNoIG1lYW5zIGlmIHdlIGFyZSBpbiBhIFBCUyB0YXNrLCB3 ZSB3aWxsIHJldHJpZXZlIHRoZSB0YXNrLWZpbGUKPiA+ID4gPiA+ID4gPiA+ICsvLy8gYW5kIHdy aXRlIHRvIGl0LiBXZSdsbCBvbmx5IHdyaXRlIHRvIHN0ZGVyciBpZiB3ZSBhcmUgbm90IGluIGEg dGFzay4gSWYgYGVudl92YXJgIGRvZXNuJ3QgZXhpc3QKPiA+ID4gPiA+ID4gPiA+ICsvLy8gb3Ig Y2FuJ3QgYmUgcmVhZCwgdXNlIHRoZSBgZGVmYXVsdF9sb2dfbGV2ZWxgLiBUaGUgb3V0cHV0IHdp bGwgYmUgdmVyeSBwbGFpbjogbm8gYW5zaSwgbm8KPiA+ID4gPiA+ID4gPiA+ICsvLy8gdGltZXN0 YW1wLCBubyBsZXZlbCwganVzdCB0aGUgbWVzc2FnZSBhbmQgaXQncwo+ID4gPiA+ID4gPiA+ID4g Ky8vLyBmaWVsZHMuCj4gPiA+ID4gPiA+ID4gPiArcHViIGZuIHN0ZGVycl9vcl90YXNrbG9nKAo+ ID4gPiA+ID4gPiA+ID4gKyAgICBlbnZfdmFyOiAmc3RyLAo+ID4gPiA+ID4gPiA+ID4gKyAgICBk ZWZhdWx0X2xvZ19sZXZlbDogTGV2ZWxGaWx0ZXIsCj4gPiA+ID4gPiA+ID4gPiArKSAtPiBSZXN1 bHQ8KCksIGFueWhvdzo6RXJyb3I+IHsKPiA+ID4gPiA+ID4gPiA+ICsgICAgbGV0IGxvZ19sZXZl bCA9IGdldF9lbnZfdmFyaWFibGUoZW52X3ZhciwgZGVmYXVsdF9sb2dfbGV2ZWwpOwo+ID4gPiA+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gPiA+ID4gKyAgICBsZXQgcmVnaXN0cnkgPSB0cmFjaW5nX3N1 YnNjcmliZXI6OnJlZ2lzdHJ5KCkKPiA+ID4gPiA+ID4gPiA+ICsgICAgICAgIC53aXRoKAo+ID4g PiA+ID4gPiA+ID4gKyAgICAgICAgICAgIHBsYWluX3N0ZGVycl9sYXllcigpCj4gPiA+ID4gPiA+ ID4gPiArICAgICAgICAgICAgICAgIC53aXRoX2ZpbHRlcihmaWx0ZXJfZm4ofF9tZXRhZGF0YXwg IUxvZ0NvbnRleHQ6OmV4aXN0cygpKSkKPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IF4gVGhp cyBjb25kaXRpb24gbWlzc2VzIHRoZSBgTGV2ZWw6OkVSUk9SYCBjb21wYXJpc29uIHdoaWxlIGJl aW5nCj4gPiA+ID4gPiA+ID4gc3VnZ2VzdGVkIGFzIGEgcmVwbGFjZW1lbnQgZm9yIGBpbml0X2Ns aV9sb2dnZXJgIHdoaWNoIGhhZCBpdCAobm90Cj4gPiA+ID4gPiA+ID4gdmlzaWJsZSBpbiB0aGUg cGF0Y2ggY29udGV4dCBsaW5lcywgYnV0IGl0J3MgdGhlcmUpLgo+ID4gPiA+ID4gPiA+IElmIHRo aXMgaXMgZG9uZSBvbiBwdXJwb3NlLCBwbGVhc2UgZXhwbGFpbiBpdCBpbiB0aGUgY29tbWl0IG1l c3NhZ2UuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IE9vcHMsIHllYWggbXkgYmFkLCB0aGlzIHNo b3VsZCBiZQo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAgICAgIUxvZ0NvbnRleHQ6OmV4aXN0cygp IHx8ICptZXRhZGF0YS5sZXZlbCgpID09IExldmVsOjpFUlJPUgo+ID4gPiA+ID4gPgo+ID4gPiA+ ID4gPiBXaGF0IGRvIHlvdSB0aGluayBhYm91dCB0aGUgcmVzdCBvZiB0aGUgcGF0Y2g/IEkgdHJp ZWQgdG8gaW1wbGVtZW50IHRoaXMKPiA+ID4gPiA+ID4gd2l0aCBhIGJ1aWxkZXIgcGF0dGVybiBh cyB3ZWxsLCBidXQgaXQgdHVybmVkIG91dCB0byBiZSBxdWl0ZSB0cmlja3kKPiA+ID4gPiA+ID4g bW92aW5nIHRoZSBsYXllcnMgYXJvdW5kIHNvIEkganVzdCB3cm90ZSBhIHRvbiBvZiBmdW5jdGlv bnMgd2l0aCBsb25nCj4gPiA+ID4gPiA+IG5hbWVzIDooCj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhl IHJlc3Qgc2VlbXMgZmluZS4KPiA+ID4gPiA+IEl0IGRvZXMgbG9vayBsaWtlIGl0IHNob3VsZCBi ZSBtb3N0bHkgYSBidWlsZGVyLXBhdHRlcm4gdGhpbmcgKGFzIGl0Cj4gPiA+ID4gPiBraW5kIG9m IGFscmVhZHkgaXMsIHdpdGggdGhlIGZpbmFsIDIgbGluZXMgYmVpbmcgYSBraW5kIG9mIGAuYXBw bHkoKWAsCj4gPiA+ID4gPiBidXQgd2l0aCB0aGUgbmFtZXMgYmVpbmcgc2hvd2luZyB0aGVpciBp bnRlbmRlZCB1c2UsIGl0J3MgZmluZSBmb3IgYW4KPiA+ID4gPiA+IGBpbml0YCBtb2R1bGUgdG8g aGF2ZSBzcGVjaWZpYyBjb21tb24gc2V0dXBzIGxpa2UgdGhpcyAoYGluaXRfY2xpX+KApmAsCj4g PiA+ID4gPiBg4oCmd2l0aF9wdmVfZm9ybWF0YCwgZXRjLikKPiA+ID4gPiA+Cj4gPiA+ID4gPiBQ ZXJoYXBzIHRoZSBqb3VybmFsL3Rhc2tsb2cgb25lIGNvdWxkIGJlIG5hbWVkICJpbml0X2RhZW1v bl9sb2ciIChvcgo+ID4gPiA+ID4ganVzdCBoYXZlIGFuIGFsaWFzIHVuZGVyIHRoYXQgbmFtZSku Li4KPiA+ID4gPgo+ID4gPiA+IFNvcnJ5LCBJIHdhcyByZWFkaW5nIGl0IGJhY2t3YXJkcywgd2Un cmUgZ2V0dGluZyByaWQgb2YgdGhvc2UgbmFtZXMuLi4KPiA+ID4gPiBUaGF0IGp1c3QgZ29lcyB0 byBzaG93IEkgZGlkbid0IHByb3Blcmx5IHRoaW5rIGFib3V0IHRoaXMuLi4gOi0pCj4gPiA+ID4K PiA+ID4gPiBOb3csIGZpcnN0IG9mIGFsbCwgaGF2aW5nIHRoZSAiZGVzY3JpcHRpdmUiIG5hbWVz IHRoZXJlIG1ha2VzIHNlbnNlLgo+ID4gPiA+IFdpdGggdGhlIGBwdmVgIHNwZWNpZmljIGZ1bmN0 aW9uIHdlIHRoZW4gc3RpbGwgaGF2ZSBhIHJhdGhlciBzcGVjaWZpYwo+ID4gPiA+IG9uZS4KPiA+ ID4gPiBUaGVyZWZvcmUsIHdpdGggYSBzcGVjaWZpYyBgaW5pdGAgbW9kdWxlLCBpdCB3b3VsZCBJ TU8gYmUgZmluZSB0byBoYXZlCj4gPiA+ID4gc2l0dWF0aW9uLXNwZWNpZmljIG5hbWVzIGZvciBj b21tb24gc2V0dXBzLgo+ID4gPiA+Cj4gPiA+ID4gVW5sZXNzIHdlIGNhbiBhY3R1YWxseSBjb21l IHVwIHdpdGggYSBidWlsZGVyLXBhdHRlcm4gdmFyaWFudC4KPiA+ID4gPiBQZXJoYXBzIGl0IHdv dWxkIGhhdmUgdG8gYmUgdGhlIExheWVyIHR5cGUgcmF0aGVyIHRoYW4gdGhlIHN1YnNjcmliZXIK PiA+ID4gPiB3ZSdkIG5lZWQgdG8gdHVybiBpbnRvIGEgYnVpbGRlciwgd2hpbGUgaGF2aW5nIGl0 cyBmaW5hbCAiYXBwbHkiIGNyZWF0ZQo+ID4gPiA+IHRoZSBzdWJzY3JpYmVyIGFuZCByZWdpc3Rl ciBpdCBhbmQgaW5pdGlhbGl6ZSB0aGUgTG9nVHJhY2VyLgo+ID4gPiAKPiA+ID4gSSBjb29rZWQg dXAgYSBzaW1wbGUgYnVpbGRlciB0eXBlIHRoaW5neSB0byBidWlsZCBsYXllcnM6Cj4gPiA+IAo+ ID4gPiAKPiA+ID4gICAgIHN0cnVjdCBMb2dCdWlsZGVyIHsKPiA+ID4gICAgICAgICBnbG9iYWxf bG9nX2xldmVsOiBMZXZlbEZpbHRlciwKPiA+ID4gICAgICAgICBsYXllcjogVmVjPAo+ID4gPiAg ICAgICAgICAgICBCb3g8ZHluIHRyYWNpbmdfc3Vic2NyaWJlcjo6TGF5ZXI8dHJhY2luZ19zdWJz Y3JpYmVyOjpSZWdpc3RyeT4gKyBTZW5kICsgU3luYyArICdzdGF0aWM+LAo+ID4gPiAgICAgICAg ID4sCj4gPiA+ICAgICB9Cj4gPiA+IAo+ID4gPiAKPiA+ID4gQW5kIHRoZSBpbXBsZW1lbnRhdGlv bjoKPiA+ID4gCj4gPiA+ICAgICBpbXBsIExvZ0J1aWxkZXIgewo+ID4gPiAgICAgICAgIHB1YiBm biBmcm9tX2VudihlbnZfdmFyOiAmc3RyLCBkZWZhdWx0X2xvZ19sZXZlbDogTGV2ZWxGaWx0ZXIp IC0+IExvZ0J1aWxkZXIgewo+ID4gPiAgICAgICAgICAgICBsZXQgbG9nX2xldmVsID0gZ2V0X2Vu dl92YXJpYWJsZShlbnZfdmFyLCBkZWZhdWx0X2xvZ19sZXZlbCk7Cj4gPiA+ICAgICAgICAgICAg IExvZ0J1aWxkZXIgewo+ID4gPiAgICAgICAgICAgICAgICAgZ2xvYmFsX2xvZ19sZXZlbDogbG9n X2xldmVsLAo+ID4gPiAgICAgICAgICAgICAgICAgbGF5ZXI6IHZlYyFbXSwKPiA+ID4gICAgICAg ICAgICAgfQo+ID4gPiAgICAgICAgIH0KPiA+ID4gCj4gPiA+ICAgICAgICAgcHViIGZuIGpvdXJu YWxkX29yX3N0ZGVycihtdXQgc2VsZikgLT4gTG9nQnVpbGRlciB7Cj4gPiA+ICAgICAgICAgICAg IHNlbGYubGF5ZXIucHVzaCgKPiA+ID4gICAgICAgICAgICAgICAgIGpvdXJuYWxkX29yX3N0ZGVy cl9sYXllcigpCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgLndpdGhfZmlsdGVyKHNlbGYuZ2xv YmFsX2xvZ19sZXZlbCkKPiA+ID4gICAgICAgICAgICAgICAgICAgICAuYm94ZWQoKSwKPiA+ID4g ICAgICAgICAgICAgKTsKPiA+ID4gICAgICAgICAgICAgc2VsZgo+ID4gPiAgICAgICAgIH0KPiA+ ID4gCj4gPiA+ICAgICAgICAgcHViIGZuIGpvdXJuYWxkX29yX3N0ZGVycl9vbl9sb2djb250ZXh0 X2FuZF9lcnJvcihtdXQgc2VsZikgLT4gTG9nQnVpbGRlciB7Cj4gPiA+ICAgICAgICAgICAgIHNl bGYubGF5ZXIucHVzaCgKPiA+ID4gICAgICAgICAgICAgICAgIGpvdXJuYWxkX29yX3N0ZGVycl9s YXllcigpCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgLndpdGhfZmlsdGVyKGZpbHRlcl9mbih8 bWV0YWRhdGF8IHsKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIUxvZ0NvbnRleHQ6OmV4 aXN0cygpIHx8ICptZXRhZGF0YS5sZXZlbCgpID09IExldmVsOjpFUlJPUgo+ID4gPiAgICAgICAg ICAgICAgICAgICAgIH0pKQo+ID4gPiAgICAgICAgICAgICAgICAgICAgIC53aXRoX2ZpbHRlcihz ZWxmLmdsb2JhbF9sb2dfbGV2ZWwpCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgLmJveGVkKCks Cj4gPiA+ICAgICAgICAgICAgICk7Cj4gPiA+ICAgICAgICAgICAgIHNlbGYKPiA+ID4gICAgICAg ICB9Cj4gPiA+IAo+ID4gPiAgICAgICAgIC8vLi4uCj4gPiA+IAo+ID4gPiAgICAgICAgIHB1YiBm biBpbml0KHNlbGYpIC0+IFJlc3VsdDwoKSwgYW55aG93OjpFcnJvcj4gewo+ID4gPiAgICAgICAg ICAgICBsZXQgcmVnaXN0cnkgPSB0cmFjaW5nX3N1YnNjcmliZXI6OnJlZ2lzdHJ5KCkud2l0aChz ZWxmLmxheWVyKTsKPiA+ID4gICAgICAgICAgICAgdHJhY2luZzo6c3Vic2NyaWJlcjo6c2V0X2ds b2JhbF9kZWZhdWx0KHJlZ2lzdHJ5KT87Cj4gPiA+IAo+ID4gPiAgICAgICAgICAgICBMb2dUcmFj ZXI6OmluaXRfd2l0aF9maWx0ZXIoc2VsZi5nbG9iYWxfbG9nX2xldmVsLmFzX2xvZygpKT87Cj4g PiA+ICAgICAgICAgICAgIE9rKCgpKQo+ID4gPiAgICAgICAgIH0KPiA+ID4gICAgIH0KPiA+ID4g Cj4gPiA+IFdlIGNvdWxkIHBsYWNlIHRoaXMgaW4gYSBuZXcgYnVpbGRlciBtb2R1bGUgYW5kIHRo ZW4gaGF2ZSB0aGUKPiA+ID4gcHJvZHVjdC1zcGVjaWZpYyBmdW5jdGlvbnMgKGUuZy4gaW5pdF9w dmVfbG9nLCBpbml0X3Blcmxtb2RfbG9nLAo+ID4gPiBpbml0X3Bic19sb2csIGV0Yy4pIGluIHRo ZSBpbml0IG1vZHVsZS4KPiA+ID4gCj4gPiA+IFdoYXQgZG8geW91IHRoaW5rPwo+ID4gCj4gPiBI bW1tLi4uCj4gPiBUaG9zZSBuYW1lcyBhcmUgYSBiaXQgbG9uZywgYW5kIHN0aWxsIGFzIHNwZWNp ZmljIGFzIGJlZm9yZSwgc28gSSdtIG5vdAo+ID4gc3VyZSB3ZSB3aW4gYSBsb3QgZWl0aGVyIHdh eS4KPiA+IAo+ID4gSSdtIHdvbmRlcmluZyAtIGlmIHdlIHJlYWxseSBoYXZlIHNvIG1hbnkgc3Bl Y2lmaWMgY2FzZXMgLSBkbyB3ZSByZWFsbHkKPiA+IG5lZWQgdGhlbSBpbXBsZW1lbnRlZCBpbiB0 aGlzIGNyYXRlLCByYXRoZXIgdGhhbiB3aGVyZSB0aGV5IGFyZSB1c2VkPwo+ID4gSG93IG1hbnkg ZGlmZmVyZW50IHR5cGVzIG9mIGxvZ2dpbmcgbGF5ZXJzIGRvIHdlIGhhdmUgYW5kIHdoZXJlIGF0 bT8KPiAKPiBXZSBjdXJyZW50bHkgaGF2ZToKPiAgMSkgam91cm5hbGQgKHdpdGggc3RkZXJyIGZh bGxiYWNrKQoKPT4gYnVpbGRlci5qb3VybmFsZF9sb2dnaW5nKCkKCih0aGUgZmFsbGJhY2sgY291 bGQganVzdCBiZSBpbXBsaWVkLCBvciBkbyB3ZSBldmVyIG5vdCB3YW50IHRoYXQ/KQoKPiAgMikg c3RkZXJyCgo9PiBidWlsZGVyLnN0ZGVycl9sb2dnaW5nKCkKCj4gIDMpIHN0ZGVyciAod2l0aCBw dmUgZm9ybWF0dGluZykKCj0+IGJ1aWxkZXIucHZlX2xvZ2dpbmcoKSAoI1tjZmcoZmVhdHVyZSA9 ICJwdmUiKV0/KQoKPiAgNCkgcGJzIHRhc2tsb2cKCl4gSSBhc3N1bWUgKDQpIGlzIHRoZSAidGFz a2xvZy1vci1qb3VybmFsZCIgY2FzZT8KTm90IHN1cmUgd2hlcmUgKDEpIGlzIHJlYWxseSB0aGUg cmlnaHQgY2hvaWNlLgoKRG9lcyAoNCkgZXhpc3QgYW55d2hlcmUgb3RoZXIgdGhhbiBpbiB0aGUg QVBJIGRhZW1vbnM/Cgo9PiBidWlsZGVyLnRhc2tfbG9nZ2luZygpCgoodGhlIGpvdXJuYWwtaWYt bm90LWluLXRhc2sgcGFydCBjb3VsZCBiZSBpbXBsaWVkIC0gb3IgZG8gd2UgZXZlciBuZWVkCnRv IGNvbWJpbmUgdGhlIHRhc2tsb2cgcGFydCBkaWZmZXJlbnRseT8pCgoKPiAKPiBCdXQgdGhlIHBy b2JsZW0gaXMgd2UgaGF2ZSBkaWZmZXJlbnQgY29tYmluYXRpb25zIGFuZCBmaWx0ZXJzIGFzIHdl bGw6Cj4gam91cm5hbGQgYW5kIHN0ZGVyciAocGVybG1vZCksIHN0ZGVyciBhbmQgcGJzIHRhc2ts b2cgKGJ1dCBvbmx5IHdoZW4gd2UKPiBhcmUgaW4gYSB0YXNrbG9nIG9yIHdoZW4gdGhlIGxldmVs IGlzIGVycm9yKSAocGJzLWNsaWVudCksIGV0Yy4KCl4gV2h5IGlzICJwYnMtY2xpZW50IiB0aGUg ZXhhbXBsZSBoZXJlPyBJTU8gdGhpcyBzb3VuZHMgbGlrZSB0aGUgQVBJCmRhZW1vbnMuIFRoZSBw YnMtY2xpZW50ICpDTEkqIHRvb2wgY2VydGFpbmx5IHNob3VsZCBqdXN0IGxvZyB0byBzdGRlcnIs CmFuZCB0aGUgImNyYXRlIiBvdGhlcndpc2UgZG9lc24ndCBkZWNpZGUgdGhpcy4KCj4gCj4gVGhl IGxvZ2dpbmcgZ2V0cyBpbml0aWF0ZWQgaW46CgoobGlzdCBiZWxvdyBpcyByZW9yZGVyZWQpCgo+ ICAqIHBicyBwcm94eSBkYWVtb24KPiAgKiBwYnMgYXBpIGRhZW1vbgoKXiBBUEkgZGFlbW9ucyAt IHNvIHRob3NlIGFyZSBjYXNlICg0KSAtIGFyZSB0aGV5IGRpZmZlcmVudCBmcm9tIG9uZQphbm90 aGVyPwoKPiAgKiBwYnMgcHJveG1veC1maWxlLXJlc3RvcmUKCl4gVGhlIFZNIHNpZGU/IE5vdCBz dXJlIHdoYXQgaXQgbmVlZHMsIGJ1dCBzZWVtcyBzcGVjaWFsLWVub3VnaCB0byBoYXZlCml0cyBv d24gY29kZSwgdW5sZXNzIHdlIGp1c3QgbG9nIHRvIHRoZSBqb3VybmFsIGFueXdheQoKPiAgKiBw YnMgdGFwZSBwbXQKPiAgKiBwYnMgdGFwZSBwbXR4Cj4gICogcGJzIGNsaWVudAo+ICAqIHBicyBw eGFyCj4gICogcGJzIHByb3htb3gtYmFja3VwLWRlYnVnCj4gICogcGJzIHByb3htb3gtYmFja3Vw LW1hbmFnZXIKPiAgKiBwYnMgcHJveG1veC1iYWNrdXAtdGFwZQo+ICAqIHBicyBzZy10YXBlLWNt ZAoKXiBJSVJDIGFsbCBvZiB0aGVzZSBhcmUgQ0xJIHRvb2xzIGFuZCBzaG91bGQgdGhlcmVmb3Jl IGFsbCBiZSBjYXNlICgyKSAtCmFsdGhvdWdoIEkgZG9uJ3Qga25vdyBhYm91dCBob3cgdGhlIHRh cGUgc3R1ZmYgd29ya3MuCklmIHRoZXkgZG8gYW55dGhpbmcgZWxzZSwgaXQgd291bGQgYmUgZ29v ZCB0byBrbm93IHdoeSBhbmQgaGF2ZSB0aGlzCmRvY3VtZW50ZWQgZWl0aGVyIGluIHByb3htb3gt bG9nIG9yIGluIHRoZWlyIGxvZ2dpbmctaW5pdCBmdW5jdGlvbnMuCgo+ICAqIHBicyBwcm94bW94 LWRhaWx5LXVwZGF0ZQoKVGhlICdkYWlseS11cGRhdGUnIG1heSBiZSBhIHNwZWNpYWwgY2FzZSBh bmQgY291bGQgdXNlIHRoZSBqb3VybmFsCmRpcmVjdGx5LCBidXQgbWF5IGFzIHdlbGwgYmUgc3Rk ZXJyLT5qb3VybmFsZCB2aWEgaXRzIGAuc2VydmljZWAuCkJ1dCwgeWVhaCwgb2J2aW91c2x5IGl0 IHdvdWxkIG1ha2UgYWN0dWFsIHRyYWNpbmcvZGVidWdnaW5nIGVhc2llciB3aXRoCmEgcHJvcGVy IGpvdXJuYWxkLWxvZ2dlciBoZXJlLiBTbyBhbm90aGVyIHVzZXIgb2YgY2FzZSAoMSkuCgo+ICAq IHBlcmxtb2QKCl4gRm9yIHRoZSBsYWNrIG9mIGEgYmV0dGVyIHBsYWNlIChhcyBwdmUsIHBtZyBh bmQgbmZ0YWJsZXMgY29kZSBwcm9iYWJseQphbGwgd2FudCB0byBzaGFyZSBpdCksIGhhdmluZyB0 aGlzIGFzIGEgc3BlY2lhbCBmdW5jdGlvbiBpbiBwcm94bW94LWxvZwptYWtlcyBzb21lIHNlbnNl IEkgc3VwcG9zZSAoYnV0IGNvdWxkIGJlIGZlYXR1cmUtZ3VhcmRlZCkuCgo+IAo+IEV4cG9zaW5n IHRoZSBidWlsZGVyIGRpcmVjdGx5IHdpdGhvdXQgYW55IGhlbHBlciBmdW5jdGlvbnMgd291bGQg YmUgZmluZQo+IGFzIHdlbGwgSSByZWNrb24uIFRoZSBkb3duc2lkZSBpcyB0aGF0IHRoZSBpbml0 aWF0aW9uIGdldHMgbW9yZQo+ICJjb21wbGljYXRlZCIsIGUuZy4gKHRoZSBwYnMgZGFlbW9uKToK PiAKPiAgICAgTG9nQnVpbGRlcjo6ZnJvbV9lbnYoIlBCU19MT0ciLCBMZXZlbEZpbHRlcjo6SU5G TykKPiAgICAgICAgIC5qb3VybmFsZF9vbl9ub190YXNrbG9nX29yX2Vycm9yKCkKPiAgICAgICAg IC50YXNrbG9nKCkuaW5pdCgpPzsKClNvIHllcyB0aGlzIGlzIHByb2JhYmx5IG9rYXkgdG8gaGF2 ZSwgYnV0IEkgcmVhbGx5IGRvbid0IHRoaW5rIHdlIG5lZWQKdGhlc2UgaHVnZSBuYW1lcyAtIGxp a2UgSSBzYWlkLCBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gbWUgdGhhdApgLnRhc2tsb2coKWAg c2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggYW55dGhpbmcgb3RoZXIgdGhhbiB0aGlzIGV4YWN0IG9u ZQpvdGhlciB0aGluZyBhbnl3YXksIHNvIHRoZSBtaWRkbGUgbGluZSB0aGVyZSBjb3VsZCBqdXN0 IGJlIGxlZnQgb3V0IElNTy4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpwYnMtZGV2ZWwgbWFpbGluZyBsaXN0CnBicy1kZXZlbEBsaXN0cy5wcm94bW94 LmNvbQpodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9w YnMtZGV2ZWwK