From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <pbs-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 A08AB1FF16B for <inbox@lore.proxmox.com>; Thu, 6 Mar 2025 12:31:30 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id CF4923CF2; Thu, 6 Mar 2025 12:31:25 +0100 (CET) Message-ID: <19b58a87-d71c-4be7-a25e-1da612a71097@proxmox.com> Date: Thu, 6 Mar 2025 12:30:49 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com>, =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com> References: <20250305151453.388817-1-c.ebner@proxmox.com> <20250305151453.388817-4-c.ebner@proxmox.com> <1741255167.q6i3s0tuox.astroid@yuna.none> Content-Language: en-US, de-DE From: Christian Ebner <c.ebner@proxmox.com> In-Reply-To: <1741255167.q6i3s0tuox.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL -0.370 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 Subject: Re: [pbs-devel] [PATCH v4 proxmox-backup 3/8] fix #5982: garbage collection: check atime updates are honored X-BeenThere: pbs-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox Backup Server development discussion <pbs-devel.lists.proxmox.com> List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=unsubscribe> List-Archive: <http://lists.proxmox.com/pipermail/pbs-devel/> List-Post: <mailto:pbs-devel@lists.proxmox.com> List-Help: <mailto:pbs-devel-request@lists.proxmox.com?subject=help> List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel>, <mailto:pbs-devel-request@lists.proxmox.com?subject=subscribe> Reply-To: Proxmox Backup Server development discussion <pbs-devel@lists.proxmox.com> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: pbs-devel-bounces@lists.proxmox.com Sender: "pbs-devel" <pbs-devel-bounces@lists.proxmox.com> T24gMy82LzI1IDEyOjAyLCBGYWJpYW4gR3LDvG5iaWNobGVyIHdyb3RlOgo+IE9uIE1hcmNoIDUs IDIwMjUgNDoxNCBwbSwgQ2hyaXN0aWFuIEVibmVyIHdyb3RlOgo+PiBDaGVjayBpZiB0aGUgZmls ZXN5c3RlbSBiYWNraW5nIHRoZSBjaHVuayBzdG9yZSBhY3R1YWxseSB1cGRhdGVzIHRoZQo+PiBh dGltZSB0byBhdm9pZCBwb3RlbnRpYWwgZGF0YSBsb3NzIGluIHBoYXNlIDIgb2YgZ2FyYmFnZSBj b2xsZWN0aW9uLAo+PiBpbiBjYXNlIHRoZSBhdGltZSB1cGRhdGUgaXMgbm90IGhvbm9yZWQuCj4+ Cj4+IFBlcmZvcm0gdGhlIGNoZWNrIGJlZm9yZSBwaGFzZSAxIG9mIGdhcmJhZ2UgY29sbGVjdGlv biwgYXMgd2VsbCBhcwo+PiBvbiBkYXRhc3RvcmUgY3JlYXRpb24uIFRoZSBsYXR0ZXIgdG8gZWFy bHkgZGV0ZWN0IGFuZCBkaXNhbGxvdwo+PiBkYXRhc3RvcmUgY3JlYXRpb24gb24gZmlsZXN5c3Rl bSBjb25maWd1cmF0aW9ucyB3aGljaCBvdGhlcndpc2UgbW9zdAo+PiBsaWtlbHkgd291bGQgbGVh ZCB0byBkYXRhIGxvc3Nlcy4KPj4KPj4gRW5hYmxlIHRoZSBhdGltZSB1cGRhdGUgY2hlY2sgYnkg ZGVmYXVsdCwgYnV0IGFsbG93IHRvIG9wdC1vdXQgYnkKPj4gc2V0dGluZyBhIGRhdGFzdG9yZSB0 dW5pbmcgcGFyYW1ldGVyIGZsYWcgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5Lgo+PiBUaGlz IGlzIGhvbm9yZWQgYnkgYm90aCwgZ2FyYmFnZSBjb2xsZWN0aW9uIGFuZCBkYXRhc3RvcmUgY3Jl YXRpb24uCj4+Cj4+IFRoZSBjaGVjayB1c2VzIGEgNCBNaUIgZml4ZWQgc2l6ZWQsIHVuZW5jeXB0 ZWQgYW5kIGNvbXByZXNzZWQgY2h1bmsKPj4gYXMgdGVzdCBtYXJrZXIsIGluc2VydGVkIGlmIG5v dCBwcmVzZW50LiBUaGlzIGFsbCB6ZXJvLWNodW5rIGlzIHZlcnkKPj4gbGlrZWx5IGFueXdheXMg Zm9yIHVuZW5jcnlwdGVkIGJhY2t1cCBjb250ZW50cyB3aXRoIGxhcmdlIGFsbC16ZXJvCj4+IHJl Z2lvbnMgdXNpbmcgZml4ZWQgc2l6ZSBjaHVua2luZyAoZS5nLiBWTXMpLgo+Pgo+PiBUbyBhdm9p ZCBjYXNlcyB3ZXJlIHRoZSB0aW1lc3RhbXAgd2lsbCBub3QgYmUgdXBkYXRlZCBiZWNhdXNlIG9m IHRoZQo+PiBMaW51eCBrZXJuZWxzIHRpbWVzdGFtcCBncmFudWxhcml0eSwgc2xlZXAgaW4tYmV0 d2VlbiBzdGF0aW5nIGFuZAo+PiB1dGltZW5zYXQgZm9yIDEgc2Vjb25kLgo+Pgo+PiBGaXhlczog aHR0cHM6Ly9idWd6aWxsYS5wcm94bW94LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NTk4Mgo+PiBTaWdu ZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gRWJuZXIgPGMuZWJuZXJAcHJveG1veC5jb20+Cj4+IC0tLQo+ PiBjaGFuZ2VzIHNpbmNlIHZlcnNpb24gMzoKPj4gLSBEcm9wIGNoZWNrIGZvciByZWxhdGltZSBs aWtlIGJlaGF2aW91ciBhcyBhbGwgdGVzdGVkIGZpbGVzeXN0ZW0gKHNlZQo+PiAgICBjb3Zlcmxl dHRlcikgaG9ub3IgdGhlIGRpcmVjdCBhdGltZSB1cGRhdGUuCj4+IC0gUmVkdWNlIHJpc2sgb2Yg cmFjZXMgYnkgbW92aW5nIHRoZSBzbGVlcCB0byBiZSBiZWZvcmUgdGhlIGZpcnN0Cj4+ICAgIG1l dGFkYXRhIGNhbGwuCj4+IC0gTG9nIGFsc28gaWYgdGhlIHRlc3QgY2h1bmsgd2FzIG5ld2x5IGlu c2VydGVkIG9yIHByZS1leGlzdGVkLgo+Pgo+PiAgIHBicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0 b3JlLnJzIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPj4gICBwYnMtZGF0 YXN0b3JlL3NyYy9kYXRhc3RvcmUucnMgICB8ICA5ICsrKysKPj4gICBzcmMvYXBpMi9jb25maWcv ZGF0YXN0b3JlLnJzICAgICB8ICAxICsKPj4gICAzIGZpbGVzIGNoYW5nZWQsIDkyIGluc2VydGlv bnMoKyksIDUgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9wYnMtZGF0YXN0b3JlL3Ny Yy9jaHVua19zdG9yZS5ycyBiL3Bicy1kYXRhc3RvcmUvc3JjL2NodW5rX3N0b3JlLnJzCj4+IGlu ZGV4IDVlMDI5MDlhMS4uZTQ4MjMzMGIzIDEwMDY0NAo+PiAtLS0gYS9wYnMtZGF0YXN0b3JlL3Ny Yy9jaHVua19zdG9yZS5ycwo+PiArKysgYi9wYnMtZGF0YXN0b3JlL3NyYy9jaHVua19zdG9yZS5y cwo+PiBAQCAtMSw2ICsxLDggQEAKPj4gK3VzZSBzdGQ6Om9zOjp1bml4Ojpmczo6TWV0YWRhdGFF eHQ7Cj4+ICAgdXNlIHN0ZDo6b3M6OnVuaXg6OmlvOjpBc1Jhd0ZkOwo+PiAgIHVzZSBzdGQ6OnBh dGg6OntQYXRoLCBQYXRoQnVmfTsKPj4gICB1c2Ugc3RkOjpzeW5jOjp7QXJjLCBNdXRleH07Cj4+ ICt1c2Ugc3RkOjp0aW1lOjpEdXJhdGlvbjsKPj4gICAKPj4gICB1c2UgYW55aG93Ojp7YmFpbCwg Zm9ybWF0X2VyciwgRXJyb3J9Owo+PiAgIHVzZSB0cmFjaW5nOjppbmZvOwo+PiBAQCAtMTMsNiAr MTUsNyBAQCB1c2UgcHJveG1veF9zeXM6OnByb2Nlc3NfbG9ja2VyOjp7Cj4+ICAgfTsKPj4gICB1 c2UgcHJveG1veF93b3JrZXJfdGFzazo6V29ya2VyVGFza0NvbnRleHQ7Cj4+ICAgCj4+ICt1c2Ug Y3JhdGU6OmRhdGFfYmxvYjo6RGF0YUNodW5rQnVpbGRlcjsKPj4gICB1c2UgY3JhdGU6OmZpbGVf Zm9ybWF0czo6ewo+PiAgICAgICBDT01QUkVTU0VEX0JMT0JfTUFHSUNfMV8wLCBFTkNSWVBURURf QkxPQl9NQUdJQ18xXzAsIFVOQ09NUFJFU1NFRF9CTE9CX01BR0lDXzFfMCwKPj4gICB9Owo+PiBA QCAtOTMsNiArOTYsNyBAQCBpbXBsIENodW5rU3RvcmUgewo+PiAgICAgICAgICAgdWlkOiBuaXg6 OnVuaXN0ZDo6VWlkLAo+PiAgICAgICAgICAgZ2lkOiBuaXg6OnVuaXN0ZDo6R2lkLAo+PiAgICAg ICAgICAgc3luY19sZXZlbDogRGF0YXN0b3JlRlN5bmNMZXZlbCwKPj4gKyAgICAgICAgYXRpbWVf c2FmZXR5X2NoZWNrOiBib29sLAo+PiAgICAgICApIC0+IFJlc3VsdDxTZWxmLCBFcnJvcj4KPj4g ICAgICAgd2hlcmUKPj4gICAgICAgICAgIFA6IEludG88UGF0aEJ1Zj4sCj4+IEBAIC0xNDcsNyAr MTUxLDE0IEBAIGltcGwgQ2h1bmtTdG9yZSB7Cj4+ICAgICAgICAgICAgICAgfQo+PiAgICAgICAg ICAgfQo+PiAgIAo+PiAtICAgICAgICBTZWxmOjpvcGVuKG5hbWUsIGJhc2UsIHN5bmNfbGV2ZWwp Cj4+ICsgICAgICAgIGxldCBjaHVua19zdG9yZSA9IFNlbGY6Om9wZW4obmFtZSwgYmFzZSwgc3lu Y19sZXZlbCk/Owo+PiArICAgICAgICBpZiBhdGltZV9zYWZldHlfY2hlY2sgewo+PiArICAgICAg ICAgICAgY2h1bmtfc3RvcmUuY2hlY2tfZnNfYXRpbWVfdXBkYXRlcyh0cnVlKT87Cj4+ICsgICAg ICAgIH0gZWxzZSB7Cj4+ICsgICAgICAgICAgICBpbmZvISgiYXRpbWUgc2FmZXR5IGNoZWNrIHNr aXBwZWQuIik7Cj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBPayhjaHVua19zdG9yZSkK Pj4gICAgICAgfQo+PiAgIAo+PiAgICAgICBmbiBsb2NrZmlsZV9wYXRoPFA6IEludG88UGF0aEJ1 Zj4+KGJhc2U6IFApIC0+IFBhdGhCdWYgewo+PiBAQCAtNDQyLDYgKzQ1Myw1OSBAQCBpbXBsIENo dW5rU3RvcmUgewo+PiAgICAgICAgICAgT2soKCkpCj4+ICAgICAgIH0KPj4gICAKPj4gKyAgICAv Ly8gQ2hlY2sgaWYgYXRpbWUgdXBkYXRlcyBhcmUgaG9ub3JlZCBieSB0aGUgZmlsZXN5c3RlbSBi YWNraW5nIHRoZSBjaHVuayBzdG9yZS4KPj4gKyAgICAvLy8KPj4gKyAgICAvLy8gQ2hlY2tzIGlm IHRoZSBhdGltZSBpcyBhbHdheXMgdXBkYXRlZCBieSB1dGltZW5zYXQgdGFraW5nIGludG8gY29u c2lkZXJhdGlvbiB0aGUgTGludXgKPj4gKyAgICAvLy8ga2VybmVsIHRpbWVzdGFtcCBncmFudWxh cml0eS4KPj4gKyAgICAvLy8gSWYgYHJldHJ5X29uX2ZpbGVfY2hhbmdlZGAgaXMgc2V0IHRvIHRy dWUsIHRoZSBjaGVjayBpcyBwZXJmb3JtZWQgYWdhaW4gb24gdGhlIGNoYW5nZWQgZmlsZQo+PiAr ICAgIC8vLyBpZiBhIGZpbGUgY2hhbmdlIHdoaWxlIHRlc3RpbmcgaXMgZGV0ZWN0ZWQgYnkgZGlm ZmVyZW5jZXMgaW4gYml0aCB0aW1lIG9yIGlub2RlIG51bWJlci4KPj4gKyAgICAvLy8gVXNlcyBh IDQgTWlCIGZpeGVkIHNpemUsIGNvbXByZXNzZWQgYnV0IHVuZW5jcnlwdGVkIGNodW5rIHRvIHRl c3QuIFRoZSBjaHVuayBpcyBpbnNlcnRlZCBpbgo+PiArICAgIC8vLyB0aGUgY2h1bmsgc3RvcmUg aWYgbm90IHlldCBwcmVzZW50Lgo+PiArICAgIC8vLyBSZXR1cm5zIHdpdGggZXJyb3IgaWYgdGhl IGNoZWNrIGNvdWxkIG5vdCBiZSBwZXJmb3JtZWQuCj4+ICsgICAgcHViIGZuIGNoZWNrX2ZzX2F0 aW1lX3VwZGF0ZXMoJnNlbGYsIHJldHJ5X29uX2ZpbGVfY2hhbmdlZDogYm9vbCkgLT4gUmVzdWx0 PCgpLCBFcnJvcj4gewo+PiArICAgICAgICBsZXQgKHplcm9fY2h1bmssIGRpZ2VzdCkgPSBEYXRh Q2h1bmtCdWlsZGVyOjpidWlsZF96ZXJvX2NodW5rKE5vbmUsIDQwOTYgKiAxMDI0LCB0cnVlKT87 Cj4+ICsgICAgICAgIGxldCAocHJlX2V4aXN0aW5nLCBfKSA9IHNlbGYuaW5zZXJ0X2NodW5rKCZ6 ZXJvX2NodW5rLCAmZGlnZXN0KT87Cj4gCj4gdGhpcyBvbmUgbG9ncyB0aGUgcGF0aCBpZiBzb21l dGhpbmcgZ29lcyB3cm9uZywgd2hpY2ggaXMgbmljZSBpbiBjYXNlCj4gdGhlIHByb2JsZW0gaXMg cmVsYXRlZCB0byBwZXJtaXNzaW9ucy8uLgo+IAo+PiArICAgICAgICBsZXQgKHBhdGgsIF9kaWdl c3QpID0gc2VsZi5jaHVua19wYXRoKCZkaWdlc3QpOwo+PiArCj4+ICsgICAgICAgIC8vIFRha2Ug aW50byBhY2NvdW50IHRpbWVzdGFtcCB1cGRhdGUgZ3JhbnVsYXJpdHkgaW4gdGhlIGtlcm5lbAo+ PiArICAgICAgICBzdGQ6OnRocmVhZDo6c2xlZXAoRHVyYXRpb246OmZyb21fc2VjcygxKSk7Cj4+ ICsKPj4gKyAgICAgICAgbGV0IG1ldGFkYXRhX2JlZm9yZSA9IHN0ZDo6ZnM6Om1ldGFkYXRhKCZw YXRoKS5tYXBfZXJyKEVycm9yOjpmcm9tKT87Cj4gCj4gYnV0IHRoaXMgb25lIHByb2JhYmx5IHdv dWxkbid0LCBhbmQgd291bGQgYmVuZWZpdCBmcm9tIGl0Pwo+IAo+PiArCj4+ICsgICAgICAgIC8v IFNlY29uZCBhdGltZSB1cGRhdGUgaWYgY2h1bmsgd2FzIG5ld2x5IGluc2VydGVkIGFib3ZlCj4g Cj4gbml0OiBjb21tZW50IGlzIGludmVydGVkIC0gaXQncyB0aGUgc2Vjb25kIGF0aW1lICp1cGRh dGUqIGlmIHRoZSBjaHVuawo+IGFscmVhZHkgZXhpc3RlZC4gaXQncyB0aGUgZmlyc3QgKnVwZGF0 ZSogaWYgd2UgaW5zZXJ0ZWQgaXQgOykKPiAKPj4gKyAgICAgICAgc2VsZi5jb25kX3RvdWNoX3Bh dGgoJnBhdGgsIHRydWUpPzsKPiAKPiB0aGlzIG9uZSBpbmNsdWRlcyB0aGUgcGF0aCBpbiBlcnJv cnMgOikKPiAKPj4gKwo+PiArICAgICAgICBsZXQgbWV0YWRhdGFfbm93ID0gc3RkOjpmczo6bWV0 YWRhdGEoJnBhdGgpLm1hcF9lcnIoRXJyb3I6OmZyb20pPzsKPiAKPiB0aGlzIG9uZSBtaWdodCBi ZW5lZml0IGZyb20gc29tZSBjb250ZXh0IGFzIHdlbGw/Cj4gCj4+ICsKPj4gKyAgICAgICAgLy8g Q2hlY2sgZm9yIHRoZSB1bmxpa2VseSBjYXNlIHRoYXQgdGhlIGZpbGUgY2hhbmdlZCBpbi1iZXR3 ZWVuIHRoZQo+PiArICAgICAgICAvLyB0d28gbWV0YWRhdGEgY2FsbHMsIHRyeSB0byBjaGVjayBv bmNlIGFnYWluIG9uIGNoYW5nZWQgZmlsZQo+PiArICAgICAgICBpZiBtZXRhZGF0YV9iZWZvcmUu aW5vKCkgIT0gbWV0YWRhdGFfbm93LmlubygpIHsKPj4gKyAgICAgICAgICAgIGlmIHJldHJ5X29u X2ZpbGVfY2hhbmdlZCB7Cj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYuY2hlY2tfZnNf YXRpbWVfdXBkYXRlcyhmYWxzZSk7Cj4+ICsgICAgICAgICAgICB9Cj4+ICsgICAgICAgICAgICBi YWlsISgiY2h1bmsgZmlsZSBjaGFuZ2VkIHR3aWNlIGR1cmluZyBhdGltZSB0ZXN0aW5nLCBjYW5u b3QgcHJvY2VlZC4iKTsKPiAKPiBhZGRpbmcgdGhlIHBhdGggb3IgZGlnZXN0IGhlcmUgbWlnaHQg aGVscCBhcyB3ZWxsCj4gCj4+ICsgICAgICAgIH0KPj4gKwo+PiArICAgICAgICBtYXRjaCAoCj4+ ICsgICAgICAgICAgICBtZXRhZGF0YV9iZWZvcmUuYWNjZXNzZWQoKT8gPCBtZXRhZGF0YV9ub3cu YWNjZXNzZWQoKT8sCj4gCj4gZXJyb3IgY29udGV4dCBhcyB3ZWxsIDspCj4gCj4+ICsgICAgICAg ICAgICBwcmVfZXhpc3RpbmcsCj4+ICsgICAgICAgICkgewo+PiArICAgICAgICAgICAgKHRydWUs IGZhbHNlKSA9PiBpbmZvISgiQWNjZXNzIHRpbWUgc2FmZXR5IGNoZWNrIHN1Y2Nlc3NmdWwgKGlu c2VydGVkIGNodW5rIGZvciB0ZXN0KS4iKSwKPj4gKyAgICAgICAgICAgICh0cnVlLCB0cnVlKSA9 PiB7Cj4+ICsgICAgICAgICAgICAgICAgaW5mbyEoIkFjY2VzcyB0aW1lIHNhZmV0eSBjaGVjayBz dWNjZXNzZnVsICh1c2VkIHByZS1leGlzdGluZyBjaHVuayBmb3IgdGVzdCkuIikKPj4gKyAgICAg ICAgICAgIH0KPj4gKyAgICAgICAgICAgIChmYWxzZSwgZmFsc2UpID0+IGJhaWwhKAo+PiArICAg ICAgICAgICAgICAgICJBY2Nlc3MgdGltZSBzYWZldHkgY2hlY2sgZmFpbGVkIChpbnNlcnRlZCBj aHVuayBmb3IgdGVzdCksIGlzIGF0aW1lIHN1cHBvcnQgXAo+PiArICAgICAgICAgICAgICAgIGVu YWJsZWQgb24gZGF0YXN0b3JlIGJhY2tpbmcgZmlsZXN5c3RlbT8iCj4+ICsgICAgICAgICAgICAp LAo+PiArICAgICAgICAgICAgKGZhbHNlLCB0cnVlKSA9PiBiYWlsISgKPj4gKyAgICAgICAgICAg ICAgICAiQWNjZXNzIHRpbWUgc2FmZXR5IGNoZWNrIGZhaWxlZCAodXNlZCBwcmUtZXhpc3Rpbmcg Y2h1bmsgZm9yIHRlc3QpLCBpcyBhdGltZSBcCj4+ICsgICAgICAgICAgICAgICAgc3VwcG9ydCBl bmFibGVkIG9uIGRhdGFzdG9yZSBiYWNraW5nIGZpbGVzeXN0ZW0/Igo+PiArICAgICAgICAgICAg KSwKPj4gKyAgICAgICAgfQo+IAo+IHRoaXMgaXMgYSBiaXQgZXhjZXNzaXZlIHdoaWxlIGF0IHRo ZSBzYW1lIHRpbWUgbm90IGluY2x1ZGluZyB0aGUKPiBpbnRlcmVzdGluZyBiaXRzLi4KPiAKPiBo b3cgYWJvdXQgdGhlIGZvbGxvd2luZzoKPiAKPiBpZiBtZXRhZGF0YV9iZWZvcmUuYWNjZXNzZWQo KT8gPj0gbWV0YWRhdGFfbm93LmFjY2Vzc2VkKCk/IHsKPiAgICAgIGxldCBjaHVua19pbmZvX3N0 ciA9IGlmIHByZV9leGlzdGluZyB7ICJwcmUtZXhpc3RpbmciIH0gZWxzZSB7ICJuZXdseSBpbnNl cnRlZCIgfTsKPiAgICAgIGxvZzo6d2FybiEoIkNodW5rIG1ldGFkYXRhIHdhcyBub3QgY29ycmVj dGx5IHVwZGF0ZWQgZHVyaW5nIGF0aW1lIHRlc3Q6Iik7Cj4gICAgICBpbmZvISgiTWV0YWRhdGEg YmVmb3JlIHVwZGF0ZToge21ldGFkYXRhX2JlZm9yZTo/fSIpOwo+ICAgICAgaW5mbyEoIk1ldGFk YXRhIGFmdGVyIHVwZGF0ZToge21ldGFkYXRhX25vdzo/fSIpOwo+ICAgICAgYmFpbCEoImF0aW1l IHNhZmV0eSBjaGVjayB1c2luZyB7Y2h1bmtfaW5mb19zdHJ9IGNodW5rIGZhaWxlZCwgYWJvcnRp bmcgR0MhIik7Cj4gfQo+IAo+IGluZm8hKCJhdGltZSBzYWZldHkgY2hlY2sgc3VjY2Vzc2Z1bCwg cHJvY2VlZGluZyB3aXRoIEdDLiIpOwo+IAo+IAo+IHdvdWxkIGxvb2sgbGlrZSB0aGlzIGluIHRo ZSB0YXNrIGxvZzoKPiAKPiBDaHVuayBtZXRhZGF0YSB3YXMgbm90IGNvcnJlY3RseSB1cGRhdGVk IGR1cmluZyBhdGltZSB0ZXN0Ogo+IE1ldGFkYXRhIGJlZm9yZSB1cGRhdGU6IE1ldGFkYXRhIHsg ZmlsZV90eXBlOiBGaWxlVHlwZSB7IGlzX2ZpbGU6IHRydWUsIGlzX2RpcjogZmFsc2UsIGlzX3N5 bWxpbms6IGZhbHNlLCAuLiB9LCBwZXJtaXNzaW9uczogUGVybWlzc2lvbnMoRmlsZVBlcm1pc3Np b25zIHsgbW9kZTogMG8xMDA1MDAgKC1yLXgtLS0tLS0pIH0pLCBsZW46IDE1OCwgbW9kaWZpZWQ6 IFN5c3RlbVRpbWUgeyB0dl9zZWM6IDE2NzM1MTY1OTYsIHR2X25zZWM6IDY1NDgzMTQ0IH0sIGFj Y2Vzc2VkOiBTeXN0ZW1UaW1lIHsgdHZfc2VjOiAxNzQxMjU2Njg5LCB0dl9uc2VjOiAxODI5NDYw NCB9LCBjcmVhdGVkOiBTeXN0ZW1UaW1lIHsgdHZfc2VjOiAxNjczNTE2NTk2LCB0dl9uc2VjOiA2 NTQ4MzE0NCB9LCAuLiB9Cj4gTWV0YWRhdGEgYWZ0ZXIgdXBkYXRlOiBNZXRhZGF0YSB7IGZpbGVf dHlwZTogRmlsZVR5cGUgeyBpc19maWxlOiB0cnVlLCBpc19kaXI6IGZhbHNlLCBpc19zeW1saW5r OiBmYWxzZSwgLi4gfSwgcGVybWlzc2lvbnM6IFBlcm1pc3Npb25zKEZpbGVQZXJtaXNzaW9ucyB7 IG1vZGU6IDBvMTAwNTAwICgtci14LS0tLS0tKSB9KSwgbGVuOiAxNTgsIG1vZGlmaWVkOiBTeXN0 ZW1UaW1lIHsgdHZfc2VjOiAxNjczNTE2NTk2LCB0dl9uc2VjOiA2NTQ4MzE0NCB9LCBhY2Nlc3Nl ZDogU3lzdGVtVGltZSB7IHR2X3NlYzogMTc0MTI1NjY4OSwgdHZfbnNlYzogMTgyOTQ2MDQgfSwg Y3JlYXRlZDogU3lzdGVtVGltZSB7IHR2X3NlYzogMTY3MzUxNjU5NiwgdHZfbnNlYzogNjU0ODMx NDQgfSwgLi4gfQo+IFRBU0sgRVJST1I6IGF0aW1lIHNhZmV0eSBjaGVjayB1c2luZyBwcmUtZXhp c3RpbmcgY2h1bmsgZmFpbGVkLCBhYm9ydGluZyBHQyEKPiAKPiBhbHRlcm5hdGl2ZWx5IHdlIGNv dWxkIG9mIGNvdXJzZSBkbyBvdXIgb3duIHByZXR0eSBwcmludGluZywgb3IgYWRkIGAjYAo+IHRv IHRoZSBmb3JtYXQgc3RyaW5nIHRvIGdldDoKPiAKPiBNZXRhZGF0YSBiZWZvcmUgdXBkYXRlOgo+ IE1ldGFkYXRhIHsKPiAgICAgIGZpbGVfdHlwZTogRmlsZVR5cGUgewo+ICAgICAgICAgIGlzX2Zp bGU6IHRydWUsCj4gICAgICAgICAgaXNfZGlyOiBmYWxzZSwKPiAgICAgICAgICBpc19zeW1saW5r OiBmYWxzZSwKPiAgICAgICAgICAuLgo+ICAgICAgfSwKPiAgICAgIHBlcm1pc3Npb25zOiBQZXJt aXNzaW9ucygKPiAgICAgICAgICBGaWxlUGVybWlzc2lvbnMgewo+ICAgICAgICAgICAgICBtb2Rl OiAwbzEwMDUwMCAoLXIteC0tLS0tLSksCj4gICAgICAgICAgfSwKPiAgICAgICksCj4gICAgICBs ZW46IDE1OCwKPiAgICAgIG1vZGlmaWVkOiBTeXN0ZW1UaW1lIHsKPiAgICAgICAgICB0dl9zZWM6 IDE2NzM1MTY1OTYsCj4gICAgICAgICAgdHZfbnNlYzogNjU0ODMxNDQsCj4gICAgICB9LAo+ICAg ICAgYWNjZXNzZWQ6IFN5c3RlbVRpbWUgewo+ICAgICAgICAgIHR2X3NlYzogMTc0MTI1Njg3NywK PiAgICAgICAgICB0dl9uc2VjOiAyMjUwMjA2MDAsCj4gICAgICB9LAo+ICAgICAgY3JlYXRlZDog U3lzdGVtVGltZSB7Cj4gICAgICAgICAgdHZfc2VjOiAxNjczNTE2NTk2LAo+ICAgICAgICAgIHR2 X25zZWM6IDY1NDgzMTQ0LAo+ICAgICAgfSwKPiAgICAgIC4uCj4gfQo+IAo+IEkgdGhpbmsgaXQg aXMgaW1wb3J0YW50IHRvIGdldCB0aGUgbG9nZ2luZyByaWdodCBoZXJlIGJlY2F1c2UgaWYKPiBz b21lYm9keSBydW5zIGludG8gYSBmYWlsaW5nIGNoZWNrLCB0aGV5IHNob3VsZCByZXBvcnQgdGhl IHJlbGV2YW50IGRhdGEKPiB0byB1cyB3aXRob3V0IHRoZSBuZWVkIHRvIGp1bXAgdGhyb3VnaCBo b29wcy4KCkFncmVlZCBvbiB0aGlzIGFuZCBhYm92ZSBjb21tZW50cyByZWdhcmRpbmcgZXJyb3Ig Y29udGV4dCwgd291bGQgaG93ZXZlciAKb3B0IGZvciBhIGN1c3RvbSBvdXRwdXQsIGUuZy4gc29t ZXRoaW5nIGFsb25nIHRoZSBsaW5lIG9mIHdoYXQgaXMgdXNlZCAKdG8gb3V0cHV0IHB4YXIgZW50 cmllcyB2aWEgYGZvcm1hdF9zaW5nbGVfbGluZV9lbnRyeWAuLi4KCkRvIHdlIHJlYWxseSBuZWVk IGluZm9ybWF0aW9uIGxpa2UgZmlsZSB0eXBlLCBzaXplIGFuZCBwZXJtaXNzaW9ucyBoZXJlPyAK VGhhdCBzaG91bGQgYWxyZWFkeSBiZSBjb3ZlcmVkIGJ5IHRoZSBjaHVuayBpbnNlcnQgYWJvdmU/ Cgo+IAo+PiArICAgICAgICBPaygoKSkKPj4gKyAgICB9Cj4+ICsKPj4gICAgICAgcHViIGZuIGlu c2VydF9jaHVuaygmc2VsZiwgY2h1bms6ICZEYXRhQmxvYiwgZGlnZXN0OiAmW3U4OyAzMl0pIC0+ IFJlc3VsdDwoYm9vbCwgdTY0KSwgRXJyb3I+IHsKPj4gICAgICAgICAgIC8vIHVud3JhcDogb25s eSBgTm9uZWAgaW4gdW5pdCB0ZXN0cwo+PiAgICAgICAgICAgYXNzZXJ0IShzZWxmLmxvY2tlci5p c19zb21lKCkpOwo+PiBAQCAtNjI4LDggKzY5MiwxNSBAQCBmbiB0ZXN0X2NodW5rX3N0b3JlMSgp IHsKPj4gICAgICAgbGV0IHVzZXIgPSBuaXg6OnVuaXN0ZDo6VXNlcjo6ZnJvbV91aWQobml4Ojp1 bmlzdGQ6OlVpZDo6Y3VycmVudCgpKQo+PiAgICAgICAgICAgLnVud3JhcCgpCj4+ICAgICAgICAg ICAudW53cmFwKCk7Cj4+IC0gICAgbGV0IGNodW5rX3N0b3JlID0KPj4gLSAgICAgICAgQ2h1bmtT dG9yZTo6Y3JlYXRlKCJ0ZXN0IiwgJnBhdGgsIHVzZXIudWlkLCB1c2VyLmdpZCwgRGF0YXN0b3Jl RlN5bmNMZXZlbDo6Tm9uZSkudW53cmFwKCk7Cj4+ICsgICAgbGV0IGNodW5rX3N0b3JlID0gQ2h1 bmtTdG9yZTo6Y3JlYXRlKAo+PiArICAgICAgICAidGVzdCIsCj4+ICsgICAgICAgICZwYXRoLAo+ PiArICAgICAgICB1c2VyLnVpZCwKPj4gKyAgICAgICAgdXNlci5naWQsCj4+ICsgICAgICAgIERh dGFzdG9yZUZTeW5jTGV2ZWw6Ok5vbmUsCj4+ICsgICAgICAgIHRydWUsCj4+ICsgICAgKQo+PiAr ICAgIC51bndyYXAoKTsKPj4gICAKPj4gICAgICAgbGV0IChjaHVuaywgZGlnZXN0KSA9IGNyYXRl OjpkYXRhX2Jsb2I6OkRhdGFDaHVua0J1aWxkZXI6Om5ldygmWzB1OCwgMXU4XSkKPj4gICAgICAg ICAgIC5idWlsZCgpCj4+IEBAIC02NDEsOCArNzEyLDE0IEBAIGZuIHRlc3RfY2h1bmtfc3RvcmUx KCkgewo+PiAgICAgICBsZXQgKGV4aXN0cywgXykgPSBjaHVua19zdG9yZS5pbnNlcnRfY2h1bmso JmNodW5rLCAmZGlnZXN0KS51bndyYXAoKTsKPj4gICAgICAgYXNzZXJ0IShleGlzdHMpOwo+PiAg IAo+PiAtICAgIGxldCBjaHVua19zdG9yZSA9Cj4+IC0gICAgICAgIENodW5rU3RvcmU6OmNyZWF0 ZSgidGVzdCIsICZwYXRoLCB1c2VyLnVpZCwgdXNlci5naWQsIERhdGFzdG9yZUZTeW5jTGV2ZWw6 Ok5vbmUpOwo+PiArICAgIGxldCBjaHVua19zdG9yZSA9IENodW5rU3RvcmU6OmNyZWF0ZSgKPj4g KyAgICAgICAgInRlc3QiLAo+PiArICAgICAgICAmcGF0aCwKPj4gKyAgICAgICAgdXNlci51aWQs Cj4+ICsgICAgICAgIHVzZXIuZ2lkLAo+PiArICAgICAgICBEYXRhc3RvcmVGU3luY0xldmVsOjpO b25lLAo+PiArICAgICAgICB0cnVlLAo+PiArICAgICk7Cj4+ICAgICAgIGFzc2VydCEoY2h1bmtf c3RvcmUuaXNfZXJyKCkpOwo+PiAgIAo+PiAgICAgICBpZiBsZXQgRXJyKF9lKSA9IHN0ZDo6ZnM6 OnJlbW92ZV9kaXJfYWxsKCIudGVzdGRpciIpIHsgLyogaWdub3JlICovIH0KPj4gZGlmZiAtLWdp dCBhL3Bicy1kYXRhc3RvcmUvc3JjL2RhdGFzdG9yZS5ycyBiL3Bicy1kYXRhc3RvcmUvc3JjL2Rh dGFzdG9yZS5ycwo+PiBpbmRleCA3NWMwYzE2YWIuLmI2MmRkYzE3MiAxMDA2NDQKPj4gLS0tIGEv cGJzLWRhdGFzdG9yZS9zcmMvZGF0YXN0b3JlLnJzCj4+ICsrKyBiL3Bicy1kYXRhc3RvcmUvc3Jj L2RhdGFzdG9yZS5ycwo+PiBAQCAtMTE3MCw2ICsxMTcwLDE1IEBAIGltcGwgRGF0YVN0b3JlIHsK Pj4gICAgICAgICAgICAgICAgICAgdXBpZDogU29tZSh1cGlkLnRvX3N0cmluZygpKSwKPj4gICAg ICAgICAgICAgICAgICAgLi5EZWZhdWx0OjpkZWZhdWx0KCkKPj4gICAgICAgICAgICAgICB9Owo+ PiArICAgICAgICAgICAgbGV0IHR1bmluZzogRGF0YXN0b3JlVHVuaW5nID0gc2VyZGVfanNvbjo6 ZnJvbV92YWx1ZSgKPj4gKyAgICAgICAgICAgICAgICBEYXRhc3RvcmVUdW5pbmc6OkFQSV9TQ0hF TUEKPj4gKyAgICAgICAgICAgICAgICAgICAgLnBhcnNlX3Byb3BlcnR5X3N0cmluZyhnY19zdG9y ZV9jb25maWcudHVuaW5nLmFzX2RlcmVmKCkudW53cmFwX29yKCIiKSk/LAo+PiArICAgICAgICAg ICAgKT87Cj4+ICsgICAgICAgICAgICBpZiB0dW5pbmcuZ2NfYXRpbWVfc2FmZXR5X2NoZWNrLnVu d3JhcF9vcih0cnVlKSB7Cj4+ICsgICAgICAgICAgICAgICAgc2VsZi5pbm5lci5jaHVua19zdG9y ZS5jaGVja19mc19hdGltZV91cGRhdGVzKHRydWUpPzsKPj4gKyAgICAgICAgICAgIH0gZWxzZSB7 Cj4+ICsgICAgICAgICAgICAgICAgaW5mbyEoIkZpbGVzeXN0ZW0gYXRpbWUgc2FmZXR5IGNoZWNr IGRpc2FibGVkIGJ5IGRhdGFzdG9yZSB0dW5pbmcgb3B0aW9ucy4iKTsKPj4gKyAgICAgICAgICAg IH0KPj4gICAKPj4gICAgICAgICAgICAgICBpbmZvISgiU3RhcnQgR0MgcGhhc2UxIChtYXJrIHVz ZWQgY2h1bmtzKSIpOwo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvc3JjL2FwaTIvY29uZmlnL2RhdGFz dG9yZS5ycyBiL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMKPj4gaW5kZXggZmUzMjYwZjZk Li4zNTg0N2ZjNDUgMTAwNjQ0Cj4+IC0tLSBhL3NyYy9hcGkyL2NvbmZpZy9kYXRhc3RvcmUucnMK Pj4gKysrIGIvc3JjL2FwaTIvY29uZmlnL2RhdGFzdG9yZS5ycwo+PiBAQCAtMTE5LDYgKzExOSw3 IEBAIHB1YihjcmF0ZSkgZm4gZG9fY3JlYXRlX2RhdGFzdG9yZSgKPj4gICAgICAgICAgICAgICAg ICAgYmFja3VwX3VzZXIudWlkLAo+PiAgICAgICAgICAgICAgICAgICBiYWNrdXBfdXNlci5naWQs Cj4+ICAgICAgICAgICAgICAgICAgIHR1bmluZy5zeW5jX2xldmVsLnVud3JhcF9vcl9kZWZhdWx0 KCksCj4+ICsgICAgICAgICAgICAgICAgdHVuaW5nLmdjX2F0aW1lX3NhZmV0eV9jaGVjay51bndy YXBfb3IodHJ1ZSksCj4+ICAgICAgICAgICAgICAgKQo+PiAgICAgICAgICAgICAgIC5tYXAofF98 ICgpKQo+PiAgICAgICAgICAgfSBlbHNlIHsKPj4gLS0gCj4+IDIuMzkuNQo+Pgo+Pgo+Pgo+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBwYnMtZGV2 ZWwgbWFpbGluZyBsaXN0Cj4+IHBicy1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQo+PiBodHRwczov L2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wYnMtZGV2ZWwKPj4K Pj4KPj4KPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IHBicy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5j b20KPiBodHRwczovL2xpc3RzLnByb3htb3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9w YnMtZGV2ZWwKPiAKPiAKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KcGJzLWRldmVsIG1haWxpbmcgbGlzdApwYnMtZGV2ZWxAbGlzdHMucHJveG1veC5j b20KaHR0cHM6Ly9saXN0cy5wcm94bW94LmNvbS9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vcGJz LWRldmVsCg==