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 E1FFF1FF165 for ; Thu, 25 Sep 2025 15:08:24 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5BF74214A8; Thu, 25 Sep 2025 15:08:56 +0200 (CEST) Message-ID: Date: Thu, 25 Sep 2025 15:08:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion , =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= References: <20250924145612.188579-1-c.ebner@proxmox.com> <20250924145612.188579-2-c.ebner@proxmox.com> <1758803678.fo1e90c9lf.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner In-Reply-To: <1758803678.fo1e90c9lf.astroid@yuna.none> X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1758805718490 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.359 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 KAM_SHORT 0.001 Use of a URL Shortener for very short URL 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-backup 1/2] fix #6750: api: avoid possible deadlock on datastores with s3 backend 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" T24gOS8yNS8yNSAyOjQxIFBNLCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3RlOgo+IE9uIFNlcHRl bWJlciAyNCwgMjAyNSA0OjU2IHBtLCBDaHJpc3RpYW4gRWJuZXIgd3JvdGU6Cj4+IENsb3Npbmcg b2YgdGhlIGZpeGVkIG9yIGR5bmFtaWMgaW5kZXggZmlsZXMgd2l0aCBzMyBiYWNrZW5kIHdpbGwg Y2FsbAo+PiBhc3luYyBjb2RlLCB3aGljaCBtdXN0IGJlIGF2b2lkZWQgYmVjYXVzZSBvZiBwb3Nz aWJsZSBkZWFkbG9ja3MgWzBdLgo+PiBUaGVyZWZvcmUsIHBlcmZvcm0gYWxsIGNoYW5nZXMgb24g dGhlIHNoYXJlZCBiYWNrdXAgc3RhdGUgYW5kIGRyb3AgdGhlCj4+IGd1YXJkIGJlZm9yZSB1cGxv YWRpbmcgdGhlIGZpeGVkIGluZGV4IGZpbGUgdG8gdGhlIHMzIGJhY2tlbmQuCj4+Cj4+IEFjY291 bnQgZm9yIGFjdGl2ZSBiYWNrZW5kIG9wZXJhdGlvbnMgYW5kIGNoZWNrIGNvbnNpc3RlbmN5LCBz aW5jZSBpdAo+PiBtdXN0IGJlIGFzc3VyZWQgdGhhdCBhbGwgYWN0aXZlIGJhY2tlbmQgb3BlcmF0 aW9ucyBhcmUgZmluaXNoZWQgYmVmb3JlCj4+IHRoZSBmaW5pc2ggY2FsbCBjYW4gc3VjY2VlZC4K Pj4KPj4gWzBdIGh0dHBzOi8vZG9jcy5ycy90b2tpby9sYXRlc3QvdG9raW8vc3luYy9zdHJ1Y3Qu TXV0ZXguaHRtbCN3aGljaC1raW5kLW9mLW11dGV4LXNob3VsZC15b3UtdXNlCj4+Cj4+IEZpeGVz OiBodHRwczovL2J1Z3ppbGxhLnByb3htb3guY29tL3Nob3dfYnVnLmNnaT9pZD02NzUwCj4+IFNp Z25lZC1vZmYtYnk6IENocmlzdGlhbiBFYm5lciA8Yy5lYm5lckBwcm94bW94LmNvbT4KPj4gLS0t Cj4+ICAgc3JjL2FwaTIvYmFja3VwL2Vudmlyb25tZW50LnJzIHwgNzcgKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCsp LCAyNCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3NyYy9hcGkyL2JhY2t1cC9lbnZp cm9ubWVudC5ycyBiL3NyYy9hcGkyL2JhY2t1cC9lbnZpcm9ubWVudC5ycwo+PiBpbmRleCBkNWU2 ODY5Y2QuLmU1MzU4OTFhNCAxMDA2NDQKPj4gLS0tIGEvc3JjL2FwaTIvYmFja3VwL2Vudmlyb25t ZW50LnJzCj4+ICsrKyBiL3NyYy9hcGkyL2JhY2t1cC9lbnZpcm9ubWVudC5ycwo+PiBAQCAtODIs NiArODIsNyBAQCBzdHJ1Y3QgU2hhcmVkQmFja3VwU3RhdGUgewo+PiAgICAgICBmaW5pc2hlZDog Ym9vbCwKPj4gICAgICAgdWlkX2NvdW50ZXI6IHVzaXplLAo+PiAgICAgICBmaWxlX2NvdW50ZXI6 IHVzaXplLCAvLyBzdWNjZXNzZnVsbHkgdXBsb2FkZWQgZmlsZXMKPj4gKyAgICBhY3RpdmVfYmFj a2VuZF9vcGVyYXRpb25zOiB1c2l6ZSwKPj4gICAgICAgZHluYW1pY193cml0ZXJzOiBIYXNoTWFw PHVzaXplLCBEeW5hbWljV3JpdGVyU3RhdGU+LAo+PiAgICAgICBmaXhlZF93cml0ZXJzOiBIYXNo TWFwPHVzaXplLCBGaXhlZFdyaXRlclN0YXRlPiwKPj4gICAgICAga25vd25fY2h1bmtzOiBLbm93 bkNodW5rc01hcCwKPj4gQEAgLTEzNSw2ICsxMzYsNyBAQCBpbXBsIEJhY2t1cEVudmlyb25tZW50 IHsKPj4gICAgICAgICAgICAgICBmaW5pc2hlZDogZmFsc2UsCj4+ICAgICAgICAgICAgICAgdWlk X2NvdW50ZXI6IDAsCj4+ICAgICAgICAgICAgICAgZmlsZV9jb3VudGVyOiAwLAo+PiArICAgICAg ICAgICAgYWN0aXZlX2JhY2tlbmRfb3BlcmF0aW9uczogMCwKPj4gICAgICAgICAgICAgICBkeW5h bWljX3dyaXRlcnM6IEhhc2hNYXA6Om5ldygpLAo+PiAgICAgICAgICAgICAgIGZpeGVkX3dyaXRl cnM6IEhhc2hNYXA6Om5ldygpLAo+PiAgICAgICAgICAgICAgIGtub3duX2NodW5rczogSGFzaE1h cDo6bmV3KCksCj4+IEBAIC00ODMsMTUgKzQ4NSwxMCBAQCBpbXBsIEJhY2t1cEVudmlyb25tZW50 IHsKPj4gICAgICAgICAgICAgICApOwo+PiAgICAgICAgICAgfQo+PiAgIAo+PiAtICAgICAgICAv LyBGb3IgUzMgYmFja2VuZHMsIHVwbG9hZCB0aGUgaW5kZXggZmlsZSB0byB0aGUgb2JqZWN0IHN0 b3JlIGFmdGVyIGNsb3NpbmcKPj4gLSAgICAgICAgaWYgbGV0IERhdGFzdG9yZUJhY2tlbmQ6OlMz KHMzX2NsaWVudCkgPSAmc2VsZi5iYWNrZW5kIHsKPj4gLSAgICAgICAgICAgIHNlbGYuczNfdXBs b2FkX2luZGV4KHMzX2NsaWVudCwgJmRhdGEubmFtZSkKPj4gLSAgICAgICAgICAgICAgICAuY29u dGV4dCgiZmFpbGVkIHRvIHVwbG9hZCBkeW5hbWljIGluZGV4IHRvIHMzIGJhY2tlbmQiKT87Cj4+ IC0gICAgICAgICAgICBzZWxmLmxvZyhmb3JtYXQhKAo+PiAtICAgICAgICAgICAgICAgICJVcGxv YWRlZCBkeW5hbWljIGluZGV4IGZpbGUgdG8gczMgYmFja2VuZDoge30iLAo+PiAtICAgICAgICAg ICAgICAgIGRhdGEubmFtZQo+PiAtICAgICAgICAgICAgKSkKPj4gLSAgICAgICAgfQo+PiArICAg ICAgICBzdGF0ZS5maWxlX2NvdW50ZXIgKz0gMTsKPj4gKyAgICAgICAgc3RhdGUuYmFja3VwX3Np emUgKz0gc2l6ZTsKPj4gKyAgICAgICAgc3RhdGUuYmFja3VwX3N0YXQgPSBzdGF0ZS5iYWNrdXBf c3RhdCArIGRhdGEudXBsb2FkX3N0YXQ7Cj4+ICsgICAgICAgIHN0YXRlLmFjdGl2ZV9iYWNrZW5k X29wZXJhdGlvbnMgKz0gMTsKPj4gICAKPj4gICAgICAgICAgIHNlbGYubG9nX3VwbG9hZF9zdGF0 KAo+PiAgICAgICAgICAgICAgICZkYXRhLm5hbWUsCj4+IEBAIC01MDIsOSArNDk5LDIxIEBAIGlt cGwgQmFja3VwRW52aXJvbm1lbnQgewo+PiAgICAgICAgICAgICAgICZkYXRhLnVwbG9hZF9zdGF0 LAo+PiAgICAgICAgICAgKTsKPj4gICAKPj4gLSAgICAgICAgc3RhdGUuZmlsZV9jb3VudGVyICs9 IDE7Cj4+IC0gICAgICAgIHN0YXRlLmJhY2t1cF9zaXplICs9IHNpemU7Cj4+IC0gICAgICAgIHN0 YXRlLmJhY2t1cF9zdGF0ID0gc3RhdGUuYmFja3VwX3N0YXQgKyBkYXRhLnVwbG9hZF9zdGF0Owo+ PiArICAgICAgICAvLyBuZXZlciBob2xkIG11dGV4IGd1YXJkIGR1cmluZyBzMyB1cGxvYWQgZHVl IHRvIHBvc3NpYmxlIGRlYWRsb2Nrcwo+PiArICAgICAgICBkcm9wKHN0YXRlKTsKPj4gKwo+PiAr ICAgICAgICAvLyBGb3IgUzMgYmFja2VuZHMsIHVwbG9hZCB0aGUgaW5kZXggZmlsZSB0byB0aGUg b2JqZWN0IHN0b3JlIGFmdGVyIGNsb3NpbmcKPj4gKyAgICAgICAgaWYgbGV0IERhdGFzdG9yZUJh Y2tlbmQ6OlMzKHMzX2NsaWVudCkgPSAmc2VsZi5iYWNrZW5kIHsKPj4gKyAgICAgICAgICAgIHNl bGYuczNfdXBsb2FkX2luZGV4KHMzX2NsaWVudCwgJmRhdGEubmFtZSkKPj4gKyAgICAgICAgICAg ICAgICAuY29udGV4dCgiZmFpbGVkIHRvIHVwbG9hZCBkeW5hbWljIGluZGV4IHRvIHMzIGJhY2tl bmQiKT87Cj4+ICsgICAgICAgICAgICBzZWxmLmxvZyhmb3JtYXQhKAo+PiArICAgICAgICAgICAg ICAgICJVcGxvYWRlZCBkeW5hbWljIGluZGV4IGZpbGUgdG8gczMgYmFja2VuZDoge30iLAo+PiAr ICAgICAgICAgICAgICAgIGRhdGEubmFtZQo+PiArICAgICAgICAgICAgKSkKPj4gKyAgICAgICAg fQo+PiArCj4+ICsgICAgICAgIGxldCBtdXQgc3RhdGUgPSBzZWxmLnN0YXRlLmxvY2soKS51bndy YXAoKTsKPj4gKyAgICAgICAgc3RhdGUuYWN0aXZlX2JhY2tlbmRfb3BlcmF0aW9ucyAtPSAxOwo+ IAo+IHRoZXNlIHR3byBodW5rcyBhcmUgb2theSwgYWx0aG91Z2ggd2UgY291bGQgYWxzbyByZXVz ZSB0aGUgcmVnaXN0ZXJlZAo+IHdyaXRlcnMgbWFwIHRvIGVuY29kZSB3aGV0aGVyIGEgd3JpdGVy IGlzIGFjdGl2ZSwgYmVpbmcgcHJvY2Vzc2VkL2Nsb3NlZAo+IG9yIGRvZXNuJ3QgZXhpc3Q/IHdv dWxkIGFsbG93IG1vcmUgZmluZS1ncmFpbmVkIGxvZ2dpbmcuLgoKTmljZSBpZGVhISBTbyBieSBz ZXR0aW5nIGFuIGVudW0gdmFyaWFudCBmb3IgdGhlIHJlc3BlY3RpdmUgd3JpdGVyIApzdGF0ZSwg d2UgY2FuIGluZGVlZCBrZWVwIHRoZSBiaW5kaW5nIHRvIHRoZSB3cml0ZXIgYW5kIGltcHJvdmUg bG9nZ2luZy4gCldpbGwgaW5jb3Jwb3JhdGUgdGhpcyBpbiBhIHYyLgoKPj4gICAgICAgICAgIE9r KCgpKQo+PiAgICAgICB9Cj4+IEBAIC01NjcsMTUgKzU3NiwxMCBAQCBpbXBsIEJhY2t1cEVudmly b25tZW50IHsKPj4gICAgICAgICAgICAgICApOwo+PiAgICAgICAgICAgfQo+PiAgIAo+PiAtICAg ICAgICAvLyBGb3IgUzMgYmFja2VuZHMsIHVwbG9hZCB0aGUgaW5kZXggZmlsZSB0byB0aGUgb2Jq ZWN0IHN0b3JlIGFmdGVyIGNsb3NpbmcKPj4gLSAgICAgICAgaWYgbGV0IERhdGFzdG9yZUJhY2tl bmQ6OlMzKHMzX2NsaWVudCkgPSAmc2VsZi5iYWNrZW5kIHsKPj4gLSAgICAgICAgICAgIHNlbGYu czNfdXBsb2FkX2luZGV4KHMzX2NsaWVudCwgJmRhdGEubmFtZSkKPj4gLSAgICAgICAgICAgICAg ICAuY29udGV4dCgiZmFpbGVkIHRvIHVwbG9hZCBmaXhlZCBpbmRleCB0byBzMyBiYWNrZW5kIik/ Owo+PiAtICAgICAgICAgICAgc2VsZi5sb2coZm9ybWF0ISgKPj4gLSAgICAgICAgICAgICAgICAi VXBsb2FkZWQgZml4ZWQgaW5kZXggZmlsZSB0byBvYmplY3Qgc3RvcmU6IHt9IiwKPj4gLSAgICAg ICAgICAgICAgICBkYXRhLm5hbWUKPj4gLSAgICAgICAgICAgICkpCj4+IC0gICAgICAgIH0KPj4g KyAgICAgICAgc3RhdGUuZmlsZV9jb3VudGVyICs9IDE7Cj4+ICsgICAgICAgIHN0YXRlLmJhY2t1 cF9zaXplICs9IHNpemU7Cj4+ICsgICAgICAgIHN0YXRlLmJhY2t1cF9zdGF0ID0gc3RhdGUuYmFj a3VwX3N0YXQgKyBkYXRhLnVwbG9hZF9zdGF0Owo+PiArICAgICAgICBzdGF0ZS5hY3RpdmVfYmFj a2VuZF9vcGVyYXRpb25zICs9IDE7Cj4+ICAgCj4+ICAgICAgICAgICBzZWxmLmxvZ191cGxvYWRf c3RhdCgKPj4gICAgICAgICAgICAgICAmZGF0YS5uYW1lLAo+PiBAQCAtNTg2LDkgKzU5MCwyMSBA QCBpbXBsIEJhY2t1cEVudmlyb25tZW50IHsKPj4gICAgICAgICAgICAgICAmZGF0YS51cGxvYWRf c3RhdCwKPj4gICAgICAgICAgICk7Cj4+ICAgCj4+IC0gICAgICAgIHN0YXRlLmZpbGVfY291bnRl ciArPSAxOwo+PiAtICAgICAgICBzdGF0ZS5iYWNrdXBfc2l6ZSArPSBzaXplOwo+PiAtICAgICAg ICBzdGF0ZS5iYWNrdXBfc3RhdCA9IHN0YXRlLmJhY2t1cF9zdGF0ICsgZGF0YS51cGxvYWRfc3Rh dDsKPj4gKyAgICAgICAgLy8gbmV2ZXIgaG9sZCBtdXRleCBndWFyZCBkdXJpbmcgczMgdXBsb2Fk IGR1ZSB0byBwb3NzaWJsZSBkZWFkbG9ja3MKPj4gKyAgICAgICAgZHJvcChzdGF0ZSk7Cj4+ICsK Pj4gKyAgICAgICAgLy8gRm9yIFMzIGJhY2tlbmRzLCB1cGxvYWQgdGhlIGluZGV4IGZpbGUgdG8g dGhlIG9iamVjdCBzdG9yZSBhZnRlciBjbG9zaW5nCj4+ICsgICAgICAgIGlmIGxldCBEYXRhc3Rv cmVCYWNrZW5kOjpTMyhzM19jbGllbnQpID0gJnNlbGYuYmFja2VuZCB7Cj4+ICsgICAgICAgICAg ICBzZWxmLnMzX3VwbG9hZF9pbmRleChzM19jbGllbnQsICZkYXRhLm5hbWUpCj4+ICsgICAgICAg ICAgICAgICAgLmNvbnRleHQoImZhaWxlZCB0byB1cGxvYWQgZml4ZWQgaW5kZXggdG8gczMgYmFj a2VuZCIpPzsKPj4gKyAgICAgICAgICAgIHNlbGYubG9nKGZvcm1hdCEoCj4+ICsgICAgICAgICAg ICAgICAgIlVwbG9hZGVkIGZpeGVkIGluZGV4IGZpbGUgdG8gb2JqZWN0IHN0b3JlOiB7fSIsCj4+ ICsgICAgICAgICAgICAgICAgZGF0YS5uYW1lCj4+ICsgICAgICAgICAgICApKQo+PiArICAgICAg ICB9Cj4+ICsKPj4gKyAgICAgICAgbGV0IG11dCBzdGF0ZSA9IHNlbGYuc3RhdGUubG9jaygpLnVu d3JhcCgpOwo+PiArICAgICAgICBzdGF0ZS5hY3RpdmVfYmFja2VuZF9vcGVyYXRpb25zIC09IDE7 Cj4+ICAgCj4+ICAgICAgICAgICBPaygoKSkKPj4gICAgICAgfQo+PiBAQCAtNjQ1LDYgKzY2MSwx MyBAQCBpbXBsIEJhY2t1cEVudmlyb25tZW50IHsKPj4gICAgICAgICAgICAgICBiYWlsISgiZm91 bmQgb3BlbiBpbmRleCB3cml0ZXIgLSB1bmFibGUgdG8gZmluaXNoIGJhY2t1cCIpOwo+PiAgICAg ICAgICAgfQo+PiAgIAo+PiArICAgICAgICBpZiBzdGF0ZS5hY3RpdmVfYmFja2VuZF9vcGVyYXRp b25zICE9IDAgewo+PiArICAgICAgICAgICAgYmFpbCEoCj4+ICsgICAgICAgICAgICAgICAgImJh Y2t1cCB0YXNrIHN0aWxsIGhhcyB7fSBhY3RpdmUgb3BlcmF0aW9ucy4iLAo+PiArICAgICAgICAg ICAgICAgIHN0YXRlLmFjdGl2ZV9iYWNrZW5kX29wZXJhdGlvbnMsCj4+ICsgICAgICAgICAgICAp Owo+PiArICAgICAgICB9Cj4+ICsKPj4gICAgICAgICAgIGlmIHN0YXRlLmZpbGVfY291bnRlciA9 PSAwIHsKPj4gICAgICAgICAgICAgICBiYWlsISgiYmFja3VwIGRvZXMgbm90IGNvbnRhaW4gdmFs aWQgZmlsZXMgKGZpbGUgY291bnQgPT0gMCkiKTsKPj4gICAgICAgICAgIH0KPj4gQEAgLTc1Myw2 ICs3NzYsMTIgQEAgaW1wbCBCYWNrdXBFbnZpcm9ubWVudCB7Cj4+ICAgICAgICAgICBpZiAhc3Rh dGUuZmluaXNoZWQgewo+PiAgICAgICAgICAgICAgIGJhaWwhKCJiYWNrdXAgZW5kZWQgYnV0IGZp bmlzaGVkIGZsYWcgaXMgbm90IHNldC4iKTsKPj4gICAgICAgICAgIH0KPj4gKyAgICAgICAgaWYg c3RhdGUuYWN0aXZlX2JhY2tlbmRfb3BlcmF0aW9ucyAhPSAwIHsKPj4gKyAgICAgICAgICAgIGJh aWwhKAo+PiArICAgICAgICAgICAgICAgICJiYWNrdXAgZW5kZWQgYnV0IHt9IGFjdGl2ZSBiYWNr ZW5kIG9wZXJhdGlvbnMuIiwKPj4gKyAgICAgICAgICAgICAgICBzdGF0ZS5hY3RpdmVfYmFja2Vu ZF9vcGVyYXRpb25zLAo+PiArICAgICAgICAgICAgKTsKPj4gKyAgICAgICAgfQo+IAo+IHRoZXJl J3Mgbm93IGFuIGluY29uc2lzdGVuY3kgYmV0d2VlbiBlbnN1cmVfZmluaXNoZWQoKSwgd2hpY2gg Y2hlY2tzIGJvdGgKPiBjb25kaXRpb25zLCBhbmQgZmluaXNoZWQoKSAodXNlZCB0byBkZXRlcm1p bmUgd2hldGhlciBhIGNvbm5lY3Rpb24gYmVpbmcKPiBpbnRlcnJ1cHRlZCBpcyBiZW5pZ24gb3Ig bm90ISksIHdoaWNoIGp1c3QgY2hlY2tzIHRoZSBmaW5pc2hlZCBmbGFnLi4KCkluZGVlZCwgYm90 aCB3aWxsIGhhdmUgdG8gY2hlY2sgYm90aCBjYXNlcyBub3csIGFsdGhvdWdoIHdpbGwgbmVlZCB0 byAKY2hlY2sgaG93IHRoaXMgd2lsbCBwbGF5IG91dCB3aXRoIHRoZSBzdWdnZXN0ZWQgY2hhbmdl cyB0byB0aGUgb3RoZXIgcGF0Y2guCgo+IAo+PiAgICAgICAgICAgT2soKCkpCj4+ICAgICAgIH0K Pj4gICAKPj4gLS0gCj4+IDIuNDcuMwo+Pgo+Pgo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBwYnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IHBi cy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+PiBodHRwczovL2xpc3RzLnByb3htb3guY29tL2Nn aS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwKPj4KPj4KPj4KPiAKPiAKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IHBicy1kZXZlbCBtYWls aW5nIGxpc3QKPiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KPiBodHRwczovL2xpc3RzLnBy b3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwKPiAKPiAKCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcGJzLWRldmVsIG1h aWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5jb20KaHR0cHM6Ly9saXN0cy5wcm94 bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJzLWRldmVsCg==