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 062B81FF165 for ; Thu, 6 Nov 2025 12:48:33 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 73D5114A94; Thu, 6 Nov 2025 12:49:13 +0100 (CET) Message-ID: <8e2f4f4d-08e1-406e-a1f8-b2cd55bd8554@proxmox.com> Date: Thu, 6 Nov 2025 12:49:08 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20251105122233.439382-1-c.ebner@proxmox.com> <20251105122233.439382-19-c.ebner@proxmox.com> <1762418497.lnn72w5td0.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1762418497.lnn72w5td0.astroid@yuna.none> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1762429729696 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.355 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_ASCII_DIVIDERS 0.8 Email that uses ascii formatting dividers and possible spam tricks 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 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [datastore.rs, proxmox.com] Subject: Re: [pbs-devel] [PATCH proxmox-backup v3 18/23] GC: lock chunk marker before cleanup in phase 3 on s3 backends 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 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" T24gMTEvNi8yNSAxMDozNyBBTSwgRmFiaWFuIEdyw7xuYmljaGxlciB3cm90ZToKPiBPbiBOb3Zl bWJlciA1LCAyMDI1IDE6MjIgcG0sIENocmlzdGlhbiBFYm5lciB3cm90ZToKPj4gVG8gbWFrZSBz dXJlIHRoZXJlIGlzIG5vIHJhY2UgYmV0d2VlbiBhdGltZSBjaGVjayBhbmQgZGVsZXRpb24gd2l0 aAo+PiBwb3NzaWJsZSByZS1pbnNlcnRpb24uCj4gCj4gY291bGQgeW91IGV4cGFuZCBvbiB0aGlz PwoKTWlnaHQgaGF2ZSBtaXhlZCB1cCBwaGFzZSAyICh3aGljaCBpbiB0aGUgbmV3ZXN0IHZlcnNp b24gbm8gbG9uZ2VyIGhvbGRzIAp0aGUgbXV0ZXggbG9jaykgd2l0aCBwaGFzZSAzICh3aGljaCBk b2VzIHNvKS4KCj4gCj4gc3dlZXBfdW51c2VkX2NodW5rcyBob2xkcyB0aGUgY2h1bmsgc3RvcmUg bXV0ZXggZm9yIHRoZSBmdWxsIHByb2Nlc3NpbmcKPiBvZiBlYWNoIGNodW5rIGl0IGl0ZXJhdGVz IG92ZXIuLgo+IAo+IHNvIHdlIGhhdmUgZm9yIGVhY2ggY2h1bms6Cj4gCj4gLSBvYnRhaW4gbXV0 ZXgKPiAtIGZzdGF0Cj4gLSBjYWxsIGNvbmRfc3dlZXBfY2h1bmsKPiAtIGxvY2sgY2h1bmsKPiAt IGZzdGF0IGFnYWluCj4gLSBkcm9wIG11dGV4Cj4gLSByZW1vdmUgZnJvbSBjYWNoZSAod2hpY2gg cmUtb2J0YWlucyBtdXRleCkKPiAKPiBzaG91bGRuJ3Qgd2UgcHJvdGVjdCB0aGlzIHJhY2UgYnkg b2J0YWluaW5nIHRoZSBtdXRleCB3aGVuIGNvbmRpdGlvbmFsbHkKPiB0b3VjaGluZyB0aGUgY2h1 bmsgaW4gYGluc2VydF9jaHVua19jYWNoZWQoKWAsIG9yIGV2ZW4gaW4+IGBkYXRhc3RvcmUuY29u ZF90b3VjaF9jaHVuaygpYD8gdGhlbiB0aGVyZSBpcyBubyB3YXkgZm9yIGEgY2h1bmsKPiBpbnNl cnRpb24gdG8gdXBkYXRlIHRoZSBhdGltZSBoZXJlLi4gQUZBSUNUIHRoZSBsYXR0ZXIgd291bGQg YWxzbyBjbG9zZQo+IGEgcmFjZSB3aXRoIHB1bGwgc3luY2luZywgd2hpY2ggdG91Y2hlcyBjaHVu a3Mgd2hpbGUgdGhleSBhcmUgcmVmZXJlbmNlZAo+IGJ5IHRtcCBpbmRpY2VzLCB3aGljaCBtZWFu cyB0aG9zZSB0b3VjaGVzIGFyZSBub3QgcHJvdGVjdGVkIGJ5IHRoZSBtdXRleAo+IG9yIHRoZSBy ZXN0IG9mIHRoZSBHQyBsb2dpYz8KUmlnaHQsIHRoYXQgY2FzZSBpcyBub3QgcHJvdGVjdGVkLi4u IHRoaXMgd2FycmFudHMgc29tZSBhIHJlYWxseSBjbG9zZSAKbG9vayB0aG91Z2gsIGFzIHRoaXMg d2lsbCBoYXZlIGEgc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgaW1wYWN0IGlmIG5vdCAKZG9uZSBy aWdodC4KPj4gQnkgb25seSBhY3F1aXJpbmcgdGhlIGZpbGUgbG9jayBpZiB0aGUgY2h1bmsgbWFy a2VyIHdvdWxkIGJlIHJlbW92ZWQKPj4gYW5kIGRvdWJsZSBzdGF0aW5nLCB0aGUgZmlsZSBsb2Nr aW5nIHBlbmFsdHkgaXMgYXZvaWRlZCBmb3IgdGhlIG90aGVyCj4+IGNhc2VzLgo+Pgo+PiBTaWdu ZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4+IC0tLQo+ PiBjaGFuZ2VzIHNpbmNlIHZlcnNpb24gMjoKPj4gLSBubyBjaGFuZ2VzCj4+Cj4+ICAgcGJzLWRh dGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrKysr KystCj4+ICAgcGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzICAgfCAgMiArKwo+PiAgIDIg ZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZm IC0tZ2l0IGEvcGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMgYi9wYnMtZGF0YXN0b3Jl L3NyYy9jaHVua19zdG9yZS5ycwo+PiBpbmRleCA0OTY4N2IyZmEuLjA4NTE5ZmUyYiAxMDA2NDQK Pj4gLS0tIGEvcGJzLWRhdGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMKPj4gKysrIGIvcGJzLWRh dGFzdG9yZS9zcmMvY2h1bmtfc3RvcmUucnMKPj4gQEAgLTUsNiArNSw3IEBAIHVzZSBzdGQ6OnN5 bmM6OntBcmMsIE11dGV4fTsKPj4gICB1c2Ugc3RkOjp0aW1lOjpEdXJhdGlvbjsKPj4gICAKPj4g ICB1c2UgYW55aG93Ojp7YmFpbCwgZm9ybWF0X2VyciwgQ29udGV4dCwgRXJyb3J9Owo+PiArdXNl IGhleDo6RnJvbUhleDsKPj4gICB1c2UgdHJhY2luZzo6e2luZm8sIHdhcm59Owo+PiAgIAo+PiAg IHVzZSBwYnNfYXBpX3R5cGVzOjp7RGF0YXN0b3JlRlN5bmNMZXZlbCwgR2FyYmFnZUNvbGxlY3Rp b25TdGF0dXN9Owo+PiBAQCAtMjIsNyArMjMsNyBAQCB1c2UgY3JhdGU6OmRhdGFfYmxvYjo6RGF0 YUNodW5rQnVpbGRlcjsKPj4gICB1c2UgY3JhdGU6OmZpbGVfZm9ybWF0czo6ewo+PiAgICAgICBD T01QUkVTU0VEX0JMT0JfTUFHSUNfMV8wLCBFTkNSWVBURURfQkxPQl9NQUdJQ18xXzAsIFVOQ09N UFJFU1NFRF9CTE9CX01BR0lDXzFfMCwKPj4gICB9Owo+PiAtdXNlIGNyYXRlOjpEYXRhQmxvYjsK Pj4gK3VzZSBjcmF0ZTo6e0RhdGFCbG9iLCBMb2NhbERhdGFzdG9yZUxydUNhY2hlfTsKPj4gICAK Pj4gICAvLy8gRmlsZSBzeXN0ZW0gYmFzZWQgY2h1bmsgc3RvcmUKPj4gICBwdWIgc3RydWN0IENo dW5rU3RvcmUgewo+PiBAQCAtMzY2LDYgKzM2Nyw3IEBAIGltcGwgQ2h1bmtTdG9yZSB7Cj4+ICAg ICAgICAgICBtaW5fYXRpbWU6IGk2NCwKPj4gICAgICAgICAgIHN0YXR1czogJm11dCBHYXJiYWdl Q29sbGVjdGlvblN0YXR1cywKPj4gICAgICAgICAgIHdvcmtlcjogJmR5biBXb3JrZXJUYXNrQ29u dGV4dCwKPj4gKyAgICAgICAgY2FjaGU6IE9wdGlvbjwmTG9jYWxEYXRhc3RvcmVMcnVDYWNoZT4s Cj4+ICAgICAgICkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+PiAgICAgICAgICAgLy8gdW53cmFw OiBvbmx5IGBOb25lYCBpbiB1bml0IHRlc3RzCj4+ICAgICAgICAgICBhc3NlcnQhKHNlbGYubG9j a2VyLmlzX3NvbWUoKSk7Cj4+IEBAIC00MTksNiArNDIxLDMwIEBAIGltcGwgQ2h1bmtTdG9yZSB7 Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkLAo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0YXR1cywKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICB8fCB7Cj4gCj4gYmFz aWNhbGx5IHdlIGhhdmUgdHdvIGNhbGxiYWNrcyBoZXJlOgo+IC0gcmVtb3ZlIGNodW5rL2NodW5r IG1hcmtlciAoY2FsbGVkIGZvciBhbGwgYmFkIGNodW5rcyBvciBub24gUzMgY2FzZSkKPiAtIHJl bW92ZSBjaHVuayB2aWEgY2FjaGUgKGNhbGxlZCBmb3Igbm9uLWJhZCBTMyBjaHVua3MpCj4gCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbGV0IFNvbWUoY2FjaGUpID0gY2FjaGUg ewo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBuZXZlciBsb2NrIGJhZCBj aHVua3MKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgZmlsZW5hbWUudG9f Ynl0ZXMoKS5sZW4oKSA9PSA2NCB7Cj4gCj4gdGhpcyBpcyBhbHJlYWR5IHBhc3NlZCBpbiBhcyBi b29sIDspUmlnaHQsIGNhbiBiZSBjaGVja2VkIGJ5IHRoYXQgZGlyZWN0bHkuCgo+IAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpZ2VzdCA9IDxbdTg7IDMyXT46 OmZyb21faGV4KGZpbGVuYW1lLnRvX2J5dGVzKCkpPzsKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1hdGNoIHNlbGYubG9ja19jaHVuaygmZGlnZXN0LCBEdXJhdGlvbjo6 ZnJvbV9zZWNzKDApKSB7Cj4gCj4gc28gdGhpcyBpcyBiYXNpY2FsbHkgYSAic2tpcCBjaHVuayBp ZiBjdXJyZW50bHkgYmVpbmcgdXBsb2FkZWQiIGNoZWNrLAo+IHJpZ2h0PyBtaWdodCB3YXJyYW50 IGEgY29tbWVudCwgZWxzZSB0aGlzIHJlYWRzIGxpa2UgYSBkZWFkbG9jayB3YWl0aW5nCj4gdG8g aGFwcGVuLi4KWWVzLCB3aWxsIGFkZCBhIGNvbW1lbnQgaGVyZS4gWW91IGFyZSByaWdodCwgdGhp cyAqbXVzdCogbmV2ZXIgYmUgYmxvY2tpbmcuCgo+IGluIHBoYXNlMiB3ZSBvYnRhaW4gdGhlIGNo dW5rIGxvY2sgZm9yIGFsbCBjaHVua3Mgb24gdGhlIFMzIHNpZGUgb3V0c2lkZQo+IG9mIHRoZSBy ZW1vdmUgY2FsbGJhY2ssIGhlcmUgd2UgZG8gaXQgaW5zaWRlIC0gaXMgdGhlcmUgYSByZWFzb24g Zm9yIHRoYXQ/CgpUaGF0IHdpbGwgYmUgYWN0dWFsbHkgYWRhcHRlZCB0byBvbmx5IGFjcXVpcmUg dGhlIHBlci1jaHVuayBmaWxlIGxvY2ssIApidXQgdGhlIG9yZGVyaW5nIG9mIHRoZSBwYXRjaGVz IGRvZXMgbm90IHJlZmxlY3QgdGhpcyBhbnltb3JlLCBtaWdodCAKcmVvcmRlciB0aGlzIG9uZSB0 byBiZXR0ZXIgcmVmbGVjdCB0aGF0LgoKPiBjaHVua3MgZW5kaW5nIHVwIGluIHRoaXMgc3RhdGUg aGVyZSBzaG91bGQgYmUgcmF0aGVyIHJhcmUgKGNvbXBhcmVkIHRvCj4gY2h1bmtzIGV4aXN0aW5n IG9uIFMzIGJlaW5nIGdhcmJhZ2UgY29sbGVjdGVkKSwgcmlnaHQ/CgpZZXMsIHRoaXMgY29kZSBw YXRoICpzaG91bGQqIG5ldmVyIGJlIHRha2VuLCB1bmxlc3MgdGhlIGNodW5rIHZhbmlzaGVkIApm cm9tIHRoZSBzMyBvYmplY3Qgc3RvcmUgYmVjYXVzZSBvZiBzb21lIG90aGVyIGludGVyYWN0aW9u LiBCYXNpY2FsbHkgaXQgCmp1c3QgY2xlYW5zIHVwIHRoZSBkYW5nbGluZyBjaHVuayBtYXJrZXIg ZmlsZXMuCj4gYnV0IGV2ZW4gaWYgd2Uga2VlcCB0aGlzLCB0aGUgd2hvbGUgY2FsbGJhY2sgY291 bGQgYmVjb21lIChBRkFJQ1QpOgo+IAo+IAo+ICAgICAgICAgICAgICAgICAgICAgICAgICB8fCB7 Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBub24tYmFkIFMzIGNodW5rcyBuZWVk IHRvIGJlIHJlbW92ZWQgdmlhIGNhY2hlCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiBsZXQgU29tZShjYWNoZSkgPSBjYWNoZSB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgIWJhZCB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxl dCBkaWdlc3QgPSA8W3U4OyAzMl0+Ojpmcm9tX2hleChmaWxlbmFtZS50b19ieXRlcygpKT87Cj4g Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVubGVzcyB0aGVyZSBp cyBhIGNvbmN1cnJlbnQgdXBsb2FkIHBlbmRpbmcKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaWYgbGV0IE9rKF9ndWFyZCkgPQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5sb2NrX2NodW5rKCZkaWdlc3QsIER1cmF0aW9uOjpmcm9t X3NlY3MoMCkpCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyb3AobG9jayk7Cj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZS5yZW1vdmUoJmRpZ2VzdCk/ Owo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPaygoKSk7Cj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+ IAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYmFkIG9yIGxvY2FsIGNodW5rcwo+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5saW5rYXQoU29tZShkaXJmZCksIGZpbGVu YW1lLCBVbmxpbmthdEZsYWdzOjpOb1JlbW92ZURpcikubWFwX2VycigKPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ZXJyfCB7Cj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZvcm1hdF9lcnIhKAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgInVubGlua2luZyBjaHVuayB7ZmlsZW5hbWU6P30gZmFpbGVkIG9uIHN0b3JlICd7 fScgLSB7ZXJyfSIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLm5hbWUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICB9LAo+IAo+PiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9rKF9ndWFyZCkgPT4gewo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkb24ndCByZW1vdmUgaWYgY2hh bmdlZCBzaW5jZSBsb2NraW5nCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1hdGNoIGZzdGF0YXQoCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTb21lKGRpcmZkKSwKPj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lLAo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbml4OjpmY250bDo6QXRGbGFnczo6QVRf U1lNTElOS19OT0ZPTExPVywKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKSB7Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPayhzdGF0KSBpZiBzdGF0LnN0X2F0aW1lIDwgbWluX2F0aW1lID0+IHsKPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgXyA9 IGNhY2hlLnJlbW92ZSgmZGlnZXN0KTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2soKCkpOwo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXyA9PiByZXR1cm4gT2soKCkpLAo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVycihfKSA9PiByZXR1cm4gT2soKCkpLAo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQo+PiArCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVubGlua2F0KFNvbWUoZGlyZmQpLCBmaWxlbmFtZSwg VW5saW5rYXRGbGFnczo6Tm9SZW1vdmVEaXIpLm1hcF9lcnIoCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ZXJyfCB7Cj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZm9ybWF0X2VyciEoCj4+IGRpZmYgLS1naXQgYS9wYnMtZGF0YXN0b3JlL3NyYy9k YXRhc3RvcmUucnMgYi9wYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMKPj4gaW5kZXggOGI3 MzMzZDgwLi5kZjM0NDk3NGEgMTAwNjQ0Cj4+IC0tLSBhL3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFz dG9yZS5ycwo+PiArKysgYi9wYnMtZGF0YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMKPj4gQEAgLTE3 NjEsNiArMTc2MSw3IEBAIGltcGwgRGF0YVN0b3JlIHsKPj4gICAgICAgICAgICAgICAgICAgbWlu X2F0aW1lLAo+PiAgICAgICAgICAgICAgICAgICAmbXV0IHRtcF9nY19zdGF0dXMsCj4+ICAgICAg ICAgICAgICAgICAgIHdvcmtlciwKPj4gKyAgICAgICAgICAgICAgICBzZWxmLmNhY2hlKCksCj4+ ICAgICAgICAgICAgICAgKT87Cj4+ICAgICAgICAgICB9IGVsc2Ugewo+PiAgICAgICAgICAgICAg IHNlbGYuaW5uZXIuY2h1bmtfc3RvcmUuc3dlZXBfdW51c2VkX2NodW5rcygKPj4gQEAgLTE3Njgs NiArMTc2OSw3IEBAIGltcGwgRGF0YVN0b3JlIHsKPj4gICAgICAgICAgICAgICAgICAgbWluX2F0 aW1lLAo+PiAgICAgICAgICAgICAgICAgICAmbXV0IGdjX3N0YXR1cywKPj4gICAgICAgICAgICAg ICAgICAgd29ya2VyLAo+PiArICAgICAgICAgICAgICAgIE5vbmUsCj4+ICAgICAgICAgICAgICAg KT87Cj4+ICAgICAgICAgICB9Cj4+ICAgCj4+IC0tIAo+PiAyLjQ3LjMKPj4KPj4KPj4KPj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gcGJzLWRldmVs IG1haWxpbmcgbGlzdAo+PiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPj4gaHR0cHM6Ly9s aXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCj4+Cj4+ Cj4+Cj4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBwYnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29t Cj4gaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJz LWRldmVsCj4gCj4gCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCnBicy1kZXZlbCBtYWlsaW5nIGxpc3QKcGJzLWRldmVsQGxpc3RzLnByb3htb3guY29t Cmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL3Bicy1k ZXZlbAo=