From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pve-devel-bounces@lists.proxmox.com> Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) by lore.proxmox.com (Postfix) with ESMTPS id 3A8CE1FF17C for <inbox@lore.proxmox.com>; Wed, 2 Apr 2025 10:30:47 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id B1BFEC37F; Wed, 2 Apr 2025 10:30:36 +0200 (CEST) Date: Wed, 2 Apr 2025 10:30:33 +0200 From: Wolfgang Bumiller <w.bumiller@proxmox.com> To: Thomas Lamprecht <t.lamprecht@proxmox.com> Message-ID: <dktagxdpeqlvvmqhv2hr5n3dxmdh7nfyctluo64mwqgsimread@jbjcwstbk5fn> References: <20241114150754.374376-1-f.ebner@proxmox.com> <20241114150754.374376-10-f.ebner@proxmox.com> <66969dc5-7587-46fc-8b36-8ecf0d5d744a@bareos.com> <866f1cdd-780c-4012-b4fa-709ae1165891@proxmox.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <866f1cdd-780c-4012-b4fa-709ae1165891@proxmox.com> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.080 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 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. [bareos.host, proxmox.com] Subject: Re: [pve-devel] [PATCH storage v4 09/27] plugin: introduce new_backup_provider() method 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> Reply-To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> Cc: Proxmox VE development discussion <pve-devel@lists.proxmox.com>, Philipp Storz <philipp.storz@bareos.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: pve-devel-bounces@lists.proxmox.com Sender: "pve-devel" <pve-devel-bounces@lists.proxmox.com> T24gVHVlLCBBcHIgMDEsIDIwMjUgYXQgMDg6MjE6MzBQTSArMDIwMCwgVGhvbWFzIExhbXByZWNo dCB3cm90ZToKPiBIaSEKPiAKPiBBbSAwMS4wNC4yNSB1bSAxODowMiBzY2hyaWViIEFuZHJlYXMg Um9nZ2U6Cj4gPiBzb3JyeSBmb3IgZGlnZ2luZyB1cCB0aGF0IGFuY2llbnQgbWFpbCwgYnV0IEkg ZmVlbCB0aGF0J3MgdGhlIGJlc3QgCj4gPiBzdGFydGluZyBwb2ludCBmb3IgbWUuCj4gCj4gRm9y IG1vcmUgY3VycmVudCBkaXNjdXNzaW9uIGl0IG1pZ2h0IGJlIGJlc3QgdG8gY2hlY2sgb3V0IHRo ZSByZWNlbnRseQo+IHBvc3RlZCB2NyBvZiB0aGlzIHNlcmllcywgaWYgbm90aGluZyBiaWdnZXIg Y29tZXMgdXAgaXQgc2hvdWxkIGJlIHZlcnkKPiBjbG9zZSB0byB3aGF0IGdldHMgYXBwbGllZCBm b3IgYW4gaW5pdGlhbCB2ZXJzaW9uIOKAkyBpLmUuLCBvbmUgdGhhdCB3aWxsCj4gYmUgc3VwcG9y dGVkIGZvciBhIGxvbmcgdGltZSwgd2hpY2ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGF0 IGl0Cj4gY2Fubm90IGV2b2x2ZS4KPiAKPiBodHRwczovL2xvcmUucHJveG1veC5jb20vcHZlLWRl dmVsLzIwMjUwNDAxMTczNDM1LjIyMTg5Mi0xLWYuZWJuZXJAcHJveG1veC5jb20vVC8jdAo+IAo+ ID4gQmFyZW9zIGludmVzdGlnYXRlcyBob3cgdG8gYmV0dGVyIGludGVncmF0ZSB3aXRoIFByb3ht b3ggVkUsIHNvIHVzZXJzIAo+ID4gY2FuIHRha2UgYmFja3VwcyBvZiB2aXJ0dWFsIG1hY2hpbmVz IGFuZCByZXN0b3JlIHRoZW0gdXNpbmcgQmFyZW9zLgo+IAo+IEdyZWF0IHRvIGhlYXIhCj4gCj4g PiBBbSAxNC4xMS4yNCB1bSAxNjowNyBzY2hyaWViIEZpb25hIEVibmVyOgo+ID4+IFRoZSBuZXdf YmFja3VwX3Byb3ZpZGVyKCkgbWV0aG9kIGNhbiBiZSB1c2VkIGJ5IHN0b3JhZ2UgcGx1Z2lucyBm b3IKPiA+PiBleHRlcm5hbCBiYWNrdXAgcHJvdmlkZXJzLiBJZiB0aGUgbWV0aG9kIHJldHVybnMg YSBwcm92aWRlciwgUHJveG1veAo+ID4+IFZFIHdpbGwgdXNlIGNhbGxiYWNrcyB0byB0aGF0IHBy b3ZpZGVyIGZvciBiYWNrdXBzIGFuZCByZXN0b3JlIGluc3RlYWQKPiA+PiBvZiB1c2luZyBpdHMg dXN1YWwgYmFja3VwL3Jlc3RvcmUgbWVjaGFuaXNtcy4KPiA+IFNvIHdlIGFzIGEgYmFja3VwIHBy b3ZpZGVyIG5lZWQgdG8gcHJvdmlkZSBwbHVnaW4gY29kZSB0aGF0IHdpbGwgcnVuIGFzIAo+ID4g cGFydCBvZiBQVkUuIElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHkgdGhpcyBtdXN0IGJlIGltcGxl bWVudGVkIGFzIGEgCj4gPiBQZXJsIG1vZHVsZS4gQWxzbywgUFZFIHdhbnRzIHRvIHRyaWdnZXIg dGhlIGJhY2t1cCBpdHNlbGYuCj4gCj4gVGhlIGludGVyZmFjZSBpcyBpbiBQZXJsLCB0aGUgYWN0 dWFsIGJhY2t1cCBjb2RlIGNhbiBiZSB3aGF0ZXZlciBydW5zCj4gb24gdGhlIFByb3htb3ggVkUg YmFzZSBzeXN0ZW0sIGFzIHRoYXQgaXMgYmFzZWQgb24gRGViaWFuIHRoaXMgbWVhbnMKPiB0aGF0 IHRoZXJlIGlzIGEgbG90IG9mIGZsZXhpYmlsaXR5LiBBIGNvbGxlYWd1ZSB3cm90ZSBhIHBsdWdp biBpbiBydXN0Cj4gYXMgcHJvb2Ygb2YgY29uY2VwdCwgd2UgcHJvYmFibHkgcmVsZWFzZSB0aGF0 IHRvbyBhcyBleGFtcGxlLgo+IAo+IFdlIGNhbiBhbHNvIGRlY291cGxlIHRoaXMgbW9yZSBvbmNl IHRoZSBkdXN0IHNldHRsZXMsIHRoZXJlIGFyZSBzb21lCj4gaWRlYXMgZmxvYXRpbmcgYXJvdW5k IGFscmVhZHksIGJ1dCB0aGV5IGNhbiBiZSBpbXBsZW1lbnRlZCBsYXRlciBzbwo+IGVuc3VyaW5n IHRoYXQgdGhlIGFjdHVhbCBiYXNlIGZ1bmN0aW9uYWxpdHkgd29ya3Mgb3V0IGlzIG1vcmUgaW1w b3J0YW50LAo+IGFzIHdoYXRldmVyIHRoZSBpbnRlcmZhY2UgaXMsIHRoZXkgd2lsbCB3b3JrIHNp bWlsYXIgYnV0IGp1c3QgdXNpbmcgYQo+IGRpZmZlcmVudCB0cmFuc3BvcnQgKGUuZy4gc2F5IHZh cmxpbmsgb3ZlciBhbiBGRCBpbnN0ZWFkIG9mIHBlcmwgd3JhcHBlcgo+IG1vZHVsZSkuCj4gCj4g PiBUaGlzIGludHJvZHVjZXMgYSBmZXcgaHVyZGxlcyBmb3IgdXM6Cj4gPiBGaXJzdCBvZiBhbGws IHdlIGRvbid0IHVzdWFsbHkgcHJvZ3JhbSBpbiBQZXJsLCBzbyB0aGF0J3MgZ29pbmcgdG8gYmUg YSAKPiA+IHByb2JsZW0gZm9yIHVzLiBXZSBjYW4gcHJvYmFibHkgaW1wbGVtZW50IHNvbWV0aGlu ZywgYnV0IHdlIHByb2JhYmx5IAo+ID4gZG9uJ3QgaGF2ZSBhbnkgZGV2ZWxvcGVyIHRoYXQgY2Fu IHdyaXRlIFBlcmwgY29kZSB0aGF0IG1lZXRzIGFueSBraW5kIG9mIAo+ID4gcHJvZmVzc2lvbmFs IHN0YW5kYXJkLgo+IAo+IFRoZSBQZXJsIGNvZGUgcmVxdWlyZWQgZm9yIGEgcHJvZHVjdGlvbiBx dWFsaXR5IGludGVyZmFjZSBpcyBub3QgdGhhdAo+IG11Y2gsIGFuZCBjZXJ0YWlubHkgZG9lcyBu b3QgcmVxdWlyZSBpbi1kZXB0aCBwZXJsIGV4cGVyaWVuY2UuIFBlcmwKPiBpcyBhIG1hdHVyZSBs YW5ndWFnZSwgZm9yIGJldHRlciBvciB3b3JzZSwgdGhhdCBhbGxvd2VkIGFuZCBzdGlsbAo+IGFs bG93cyBhbGwga2luZCBvZiB1c2VycyB0byBjcmVhdGUgdG9vbHMgdGhhdCBjYW4gd29yayBmaW5l IGlmIG9uZSBrZWVwcwo+IHRoZW0gc2ltcGxlLCBhbmQgYXMgdGhlIGNvcmUgZGVzaWduIGlzIHJh dGhlciBmaXhlZCBoZXJlLCBpdCBzaG91bGQgbm90Cj4gYmUgdGhhdCBtdWNoIHdvcmssIGFuZCB3 ZSBjZXJ0YWlubHkgY2FuIGhlbHAgb24gcXVlc3Rpb25zIG9yIHByb2JsZW1zOwo+IGp1c3QgcmVh Y2ggb3V0IG9uIHRoZSBkZXZlbG9wZXIgbGlzdCBhbmQgcG9pbnQgdG8geW91ciBwdWJsaWMgcGx1 Z2luCj4gY29kZS4KPiAKPiA+IFRvIGRvIGl0cyBqb2JbMV0sIEJhcmVvcyBtdXN0IGJlIGFibGUg dG8gc2NoZWR1bGUgYmFja3VwIGFuZCByZXN0b3JlIAo+ID4gam9icyBhbGwgYnkgaXRzZWxmLiBJ ZiBJIHVuZGVyc3Rvb2QgY29ycmVjdGx5LCBiYWNrdXBzIHV0aWxpemluZyBvbmUgb2YgCj4gPiB0 aGUgcGx1Z2lucyBjYW4gYmUgcnVuIGJ5IGNhbGxpbmcgYHZ6ZHVtcGAsIHNvIHRoYXQgdGhpcyBp cyBhdCBsZWFzdCAKPiA+IHBvc3NpYmxlLgo+IAo+IEV4YWN0bHksIHdlIHdhbnQgYSBuYXRpdmUg UFZFIGltcGxlbWVudGF0aW9uIHNvIHRoYXQgc3VjaCBwbHVnLWlucyBhcmUKPiBhY3R1YWxseSBu aWNlbHkgaW50ZWdyYXRlZCBhbmQgZmVlbCBhbG1vc3QgbmF0aXZlIChpbiB0aGUgbG9uZyBydW4s Cj4gbWlzc2luZyBhIGZldyBiaXRzIGZvciB0aGF0KSwgc28gdXNlcnMgZ2V0IGEgZmlyc3QtY2xh c3MgZXhwZXJpZW5jZQo+IG9uICJib3RoIHNpZGVzIiBvZiB0aGUgYmFja3VwIGFuZCBjYW4gYWxz byBzZWUgd2hhdCdzIGdvaW5nIG9uIGF0IHRoZQo+IHNvdXJjZSBzaWRlIG9mIHRoaW5ncywgaWYg dGhleSB3YW50Lgo+IAo+ID4gSG93ZXZlciwgd2hhdCB3ZSd2ZSBzZWVuIG90aGVyIHZlbmRvcnMg ZG8gaXMgdGhhdCB0aGV5IHByb3ZpZGUgYW4gQVBJIAo+ID4gd2hlcmUgeW91IGp1c3QgdGVsbCB0 aGUgc3lzdGVtIHdoYXQgVk0geW91IHdhbnQgdG8gYmFjayB1cCBhbmQgdGhlbiB5b3UgCj4gPiBh cmUgcHJvdmlkZWQgd2l0aCBhY2Nlc3MgdG8gbWV0YWRhdGEgKGkuZS4gVk0gY29uZmlndXJhdGlv biwgZGlzayAKPiA+IGxheW91dHMsIG52cmFtIGNvbnRlbnQsIGV0YykgYW5kIGRpc2sgY29udGVu dHMuCj4gCj4gWW91IGNhbiBzZW5kIGFuIEFQSSByZXF1ZXN0IHRoYXQgYmFzaWNhbGx5IHJlc3Vs dHMgaW4gZXhhY3RseSB0aGF0LCBqdXN0Cj4gdGhhdCB0aGUgcGx1Z2luIGlzIHByb3ZpZGluZyB5 b3UgdGhlIGluZm8gdGhlbi4gQSBiaWcgYWR2YW50YWdlIGlzIHRoYXQKPiB0aGUgdXNlciBjYW4g YWxzbyB0cmlnZ2VyIGJhY2t1cHMgZnJvbSB0aGUgUFZFIHNpZGUgYW5kIHRodXMgZ2V0IGEgbXVj aAo+IGJldHRlciBpbnRlZ3JhdGlvbi4KPiAKPiA+IEZvciByZXN0b3JlIGl0IGlzIG1vc3RseSB0 aGUgc2FtZTogeW91IHByb3ZpZGUgdGhlIG1ldGFkYXRhLCBnZXQgYSBzZXQgCj4gPiBvZiByYXcg ZGlza3MgdGhhdCB5b3UgY2FuIHdyaXRlIHlvdXIgZGF0YSB0byBhbmQgZmluYWxseSB5b3UganVz dCB0ZWxsIAo+ID4gdGhlIHN5c3RlbSB0aGF0IHRoZSBWTSByZXN0b3JlIGlzIGRvbmUuCj4gCj4g SXQncyBkaWZmZXJlbnQgYnV0IGVuc3VyZXMgdGhhdCB3ZSBjYW4gcHJvdmlkZSBiYWNrdXAgcHJv dmlkZXJzIGFuZAo+IHRoZWlyIHVzZXIgYSBxdWFzaSBuYXRpdmUgaW50ZWdyYXRpb24gaW50byBQ VkUsIGlkZWFsbHkgYXMgY2xvc2UgYXMKPiBwb3NzaWJsZSB0byBob3cgUEJTIGlzIGludGVncmF0 ZWQsIHRoaXMgY2FuIElNTyBiZSBhbHNvIGJlbmVmaXQgZm9yCj4gcHJvdmlkZXJzLCBhbmQgbm90 aGluZyB0aGF0IGlzIHBvc3NpYmxlIHdpdGggdGhlIG1ldGhvZHMgeW91IGRlc2NyaWJlCj4gc2hv dWxkIGJlY29tZSBpbXBvc3NpYmxlIHdpdGggdGhlIG1ldGhvZHMgd2UgcHJvdmlkZS4KPiAKPiAK PiA+PiAyLiBSZXN0b3JlIEFQSQo+ID4+Cj4gPj4gMi4xLiBSZXN0b3JlIE1lY2hhbmlzbXMKPiA+ Pgo+ID4+IFZNIG1lY2hhbmlzbSAncWVtdS1pbWcnOgo+ID4+Cj4gPj4gVGhlIGJhY2t1cCBwcm92 aWRlciBnaXZlcyBhIHBhdGggdG8gdGhlIGRpc2sgaW1hZ2UgdGhhdCB3aWxsIGJlCj4gPj4gcmVz dG9yZWQuIFRoZSBwYXRoIG5lZWRzIHRvIGJlIHNvbWV0aGluZyAncWVtdS1pbWcnIGNhbiBkZWFs IHdpdGgsCj4gPj4gZS5nLiBjYW4gYWxzbyBiZSBhbiBOQkQgVVJJIG9yIHNpbWlsYXIuCj4gPiBV bS4uLiB0aGF0IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggd2hhdCB5b3UgcHJvdmlkZWQgd2hlbiB3 ZSB0YWtlIHRoZSAKPiA+IGJhY2t1cC4gSXMgdGhlcmUgYSByZWFzb24gUFZFIGNhbm5vdCBwcm92 aWRlIGEgd3JpdGVhYmxlIGJsb2NrIGRldmljZSB0byAKPiA+IHJlc3RvcmUgdG8/Cj4gPiBGb3Ig QmFyZW9zIHRoaXMgcmVxdWlyZW1lbnQgd291bGQgaW1wbHkgdGhhdCB3ZSBuZWVkIGFuIHVucGxl YXNhbnRseSAKPiA+IGxhcmdlIHN0YWdpbmcgYXJlYSBvbiB0aGUgUFZFIG5vZGUgdG8gZmFjaWxp dGF0ZSBhIHJlc3RvcmU6IEFzIHdlIGNhbiAKPiA+IG9ubHkgc3RyZWFtIHRoZSBkYXRhIHdlJ2Qg aGF2ZSB0byBjcmVhdGUgYSB0ZW1wb3JhcnkgZGlzayBpbWFnZSB0aGF0IFBWRSAKPiA+IGNhbiB0 aGVuIHJlYWQuCgpxZW11LWltZyBkaXJlY3RseSBzdXBwb3J0cyB2YXJpb3VzIHByb3RvY29scywg YW5kIGEgInBhdGgiIGluIHRoaXMKY2FzZSBpcyBub3QgbmVjZXNzYXJpbHkgYSAqZmlsZSosIEkn bGwgZ28gaW50byBtb3JlIGRldGFpbCBiZWxvdy4KCj4gPiBUaGlzIHNvdW5kcyBwcmV0dHkgaW5l ZmZpY2llbnQgLSBlc3BlY2lhbGx5IHdoZW4gCj4gPiBjb21wYXJpbmcgd2l0aCBxbXJlc3RvcmUn cyBhYmlsaXR5IHRvIGp1c3QgcmVhZCByZWFkIGZyb20gc3RkaW4uCgpUaGUgcmVhZGluZyBmcm9t IHN0ZGluIGlzIHF1aXRlIGxpbWl0ZWQsIGRvZXMgbm90IHN1cHBvcnQgc3BhcnNlIGZpbGVzCmVm ZmljaWVudGx5LCBhbmQgZG9lcyBub3Qgc3VwcG9ydCBvdXIgbGl2ZS1yZXN0b3JlIGZlYXR1cmUu CgpJZiB3ZSBjYW4gKnB1bGwqIGRhdGEgb3V0LW9mLW9yZGVyIGZyb20gdGhlIGJhY2t1cCBwcm92 aWRlciB2aWEgYSBiZXR0ZXIKcHJvdG9jb2wgKGxpa2UgTkJEIHdoaWNoIFRob21hcyBtZW50aW9u ZWQpLCBob2xlcyBpbiB0aGUgZGlza3MgIGRvbid0Cm5lZWQgdG8gYmUgdHJhbnNmZXJyZWQgb3Zl ciB0aGUgbmV0d29yaywgYW5kIHdlIGNvdWxkIHByb2JhYmx5IHN1cHBvcnQKbGl2ZS1yZXN0b3Jl LCB3aGVyZSB0aGUgVk1zIGltbWVkaWF0ZWx5IHN0YXJ0IHJ1bm5pbmcgKmR1cmluZyogdGhlCnJl c3RvcmUgcHJvY2Vzcy4gKHFlbXUgd291bGQgc2ltcGx5IHRyZWF0IHJlYWQtcmVxdWVzdHMgZnJv bSB0aGUgZ3Vlc3QKd2hpY2ggaGF2ZSBub3QgeWV0IGJlZW4gcmVzdG9yZWQgd2l0aCBhIGhpZ2hl ciBwcmlvcml0eSB3aGlsZSBvdGhlcndpc2UKY29udGludWluZyB0byBjb3B5IHRoZSBkYXRhIGlu LW9yZGVyIGluIHRoZSBiYWNrZ3JvdW5kKQoKPiAKPiBCYXJlb3MgY291bGQgcHJvdmlkZSBhIE5C RCB0aGF0IGlzIHN0cmVhbWVkIGRpcmVjdGx5IGZyb20gdGhlIGJhY2t1cAo+IHJlcG9zaXRvcnks IHRoaXMgc2hvdWxkIGJlIHF1aXRlIGVmZmljaWVudCB3LnIudC4gc3BhY2UgdXNhZ2UuCj4gQnV0 IGFzIHRoaXMgd2FzIHY0IGFuZCBhIGZldyB0aGluZ3MgY2hhbmdlZCwgYW5kIEknbSBsZXNzIGlu dm9sdmVkIGFzCj4gdGhlIGFjdHVhbCBhdXRob3IgaXQgbWlnaHQgbWFrZSBtb3JlIHNlbnNlIGZv ciBoZXIgdG8gYW5zd2VyIHRoaXMuCgpTb21lIGFsdGVybmF0aXZlcyBidHcuIGFyZSBwcm92aWRp bmcgYSBmdXNlIG9yIHVibGsgZGV2aWNlIG9uIHRoZSBQVkUKc2lkZSB3aGljaCBwdWxscyBkYXRh IGZyb20gYmFyZW9zIChvciB0byB3aGljaCBiYXJlb3MgY2FuIHB1c2ggZGF0YQp3aGljaCwgbGlr ZSBxZW11J3MgImZsZWVjaW5nIiBtb2RlLCBjb3VsZCBzdG9yZSB0aGUgbm90LXlldCByZXN0b3Jl ZApwb3J0aW9ucyBpbiB0ZW1wb3JhcnkgZmlsZXMsIGRpc2NhcmRpbmcgdGhlbSBhcyB0aGV5IGFy ZSByZWFkIGJ5L21vdmVkCnRvIHFlbXUpLgoKKlRlY2huaWNhbGx5KiB3ZSBjb3VsZCBoYXZlIGEg bW9kZSB3aGVyZSB3ZSBhbGxvY2F0ZSB0aGUgZGlza3MgYW5kICJtYXAiCnRoZW0gb250byB0aGUg c3lzdGVtIChwb3RlbnRpYWxseSB2aWEgbmJkLCBvciBgcmJkIG1hcGAgZm9yIGNlcGggZXRjLikK CipCdXQqIGl0IHdvdWxkIG1ha2UgbGl2ZS1yZXN0b3JlIGltcG9zc2libGUgd2l0aCB0aGF0IHBs dWdpbi4KCldoaWNoIGlzIHdoeSB0aGUgbW9zdCBmbGV4aWJsZSB0aGluZyB0byBkbyBpcyB0byB1 c2UgYSBgcWVtdS1pbWdgIGNhbGwKYW5kIGdpdmluZyBpdCB0aGUgcGF0aHMsIG9yIG1vcmUgcHJl Y2lzZWx5LCB0aGUgVVJMcyB0byB0aGUgZGlza3MuIAoKU28sIGZvciBpbnN0YW5jZSwgaWYgYmFy ZW9zIGFsbG93ZWQgInB1bGwiIGJhc2VkIGFjY2VzcyB2aWEgbmJkLCB0aGlzCndvdWxkIHRyYW5z bGF0ZSB0bzoKCiAgICAkIHFlbXUtaW1nIGNvbnZlcnQgJ25iZDovL3RoZS5iYXJlb3MuaG9zdC9k cml2ZS1zY3NpMCcgJ3JiZDpwb29sL3ZtLTEwMC1kaXNrLTAnCgpUaGlzIHdvdWxkIHRyYW5zZmVy IGZyb20gdGhlIGJhY2t1cCBob3N0IGRpcmVjdGx5IGludG8gdGhlIGNlcGggc3RvcmFnZS4KCldo aWxlIGZvciBsaXZlLXJlc3RvcmUsIHRoZSByZWd1bGFyIGBxZW11YCBwcm9jZXNzIHdvdWxkIHBl cmZvcm0gdGhpcyBpbgp0aGUgYmFja2dyb3VuZCB3aGlsZSB0aGUgVk0gaXMgYWxyZWFkeSBydW5u aW5nLgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCnB2 ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnByb3htb3guY29tCmh0dHBzOi8v bGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3B2ZS1kZXZlbAo=