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 [IPv6:2a01:7e0:0:424::9]) by lore.proxmox.com (Postfix) with ESMTPS id AEFD31FF165 for <inbox@lore.proxmox.com>; Thu, 8 May 2025 11:14:31 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id E1424B3A6; Thu, 8 May 2025 11:14:46 +0200 (CEST) Date: Thu, 08 May 2025 11:14:38 +0200 From: Fabian =?iso-8859-1?q?Gr=FCnbichler?= <f.gruenbichler@proxmox.com> To: Proxmox VE development discussion <pve-devel@lists.proxmox.com> References: <20250506090926.71508-1-l.leahu-vladucu@proxmox.com> In-Reply-To: <20250506090926.71508-1-l.leahu-vladucu@proxmox.com> MIME-Version: 1.0 User-Agent: astroid/0.16.0 (https://github.com/astroidmail/astroid) Message-Id: <1746694526.an3gyo9wbw.astroid@yuna.none> X-SPAM-LEVEL: Spam detection results: 0 AWL 0.044 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: [pve-devel] [PATCH proxmox-offline-mirror] Add possibility to create named snapshots 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> 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> T24gTWF5IDYsIDIwMjUgMTE6MDkgYW0sIExhdXJlbsibaXUgTGVhaHUtVmzEg2R1Y3Ugd3JvdGU6 Cj4gSW4gYWRkaXRpb24gdG8gdGhlIGV4aXN0aW5nIHRpbWVkIHNuYXBzaG90cywgaXQgaXMgbm93 IHBvc3NpYmxlIHRvCj4gY3JlYXRlIG5hbWVkIHNuYXBzaG90cy4gRm9yIHNvbWUgdXNlIGNhc2Vz LCBpdCBtYWtlcyBzZW5zZSB0byBnaXZlCj4gc25hcHNob3RzIGEgc3BlY2lmaWMgbmFtZSwgZS5n LiB0byBzcGVjaWZ5IHRoZSBwdXJwb3NlIG9mIHRoZSBzbmFwc2hvdAo+IChpbnN0ZWFkIG9mIGEg dGltZXN0YW1wKS4gVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gZGVwbG95aW5nIHNuYXBzaG90cwo+ IGNyZWF0ZWQgZm9yIGEgY2VydGFpbiBwdXJwb3NlIChmb3IgZXhhbXBsZSwgZnVydGhlciB0ZXN0 aW5nKS4KPiAKPiBQYXJ0aWFsbHkgZml4ZXMgIzYyNTIKPiAKPiBTaWduZWQtb2ZmLWJ5OiBMYXVy ZW7Im2l1IExlYWh1LVZsxINkdWN1IDxsLmxlYWh1LXZsYWR1Y3VAcHJveG1veC5jb20+Cj4gLS0t Cj4gIHNyYy9iaW4vcHJveG1veC1vZmZsaW5lLW1pcnJvci1oZWxwZXIucnMgICAgICB8ICA2ICst Cj4gIHNyYy9iaW4vcHJveG1veF9vZmZsaW5lX21pcnJvcl9jbWRzL21pcnJvci5ycyB8IDMyICsr KysrKysrLS0tCj4gIHNyYy9tZWRpdW0ucnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICA0ICstCj4gIHNyYy9taXJyb3IucnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8IDU2ICsrKysrKysrKysrKysrKy0tLS0KPiAgc3JjL3R5cGVzLnJzICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgNTIgKysrKysrKysrKysrKy0tLS0KPiAgNSBmaWxlcyBjaGFu Z2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L3NyYy9iaW4vcHJveG1veC1vZmZsaW5lLW1pcnJvci1oZWxwZXIucnMgYi9zcmMvYmluL3Byb3ht b3gtb2ZmbGluZS1taXJyb3ItaGVscGVyLnJzCj4gaW5kZXggNzkxMWQ1Mi4uYTAwZDI2ZCAxMDA2 NDQKPiAtLS0gYS9zcmMvYmluL3Byb3htb3gtb2ZmbGluZS1taXJyb3ItaGVscGVyLnJzCj4gKysr IGIvc3JjL2Jpbi9wcm94bW94LW9mZmxpbmUtbWlycm9yLWhlbHBlci5ycwo+IEBAIC0xNTEsOCAr MTUxLDggQEAgYXN5bmMgZm4gc2V0dXAoX3BhcmFtOiBWYWx1ZSkgLT4gUmVzdWx0PCgpLCBFcnJv cj4gewo+ICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkX21pcnJvciA9IHJlYWRfc2VsZWN0 aW9uX2Zyb21fdHR5KCJTZWxlY3QgbWlycm9yIiwgJm1pcnJvcnMsIE5vbmUpPzsKPiAgICAgICAg ICAgICAgICAgIGxldCBzbmFwc2hvdHM6IFZlYzwoU25hcHNob3QsIFN0cmluZyk+ID0KPiAgICAg ICAgICAgICAgICAgICAgICBtZWRpdW06Omxpc3Rfc25hcHNob3RzKG1vdW50cG9pbnQsIHNlbGVj dGVkX21pcnJvcik/Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgIC5pbnRvX2l0ZXIoKQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAubWFwKHxzfCAocywgcy50b19zdHJpbmcoKSkpCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIC5pdGVyKCkKPiArICAgICAgICAgICAgICAgICAgICAgICAg Lm1hcCh8c3wgKHMuY2xvbmUoKSwgcy50b19zdHJpbmcoKSkpCgpkb2Vzbid0IGh1cnQgdG9vIG11 Y2gsIGJ1dCBjb3VsZCBzdGlsbCBiZSBhdm9pZGVkIGJ5IGRvaW5nIHRvX3N0cmluZygpCmZpcnN0 Li4KCj4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jb2xsZWN0KCk7Cj4gICAgICAgICAgICAg ICAgICBpZiBzbmFwc2hvdHMuaXNfZW1wdHkoKSB7Cj4gICAgICAgICAgICAgICAgICAgICAgcHJp bnRsbiEoIk1pcnJvciBkb2Vzbid0IGhhdmUgYW55IHN5bmNlZCBzbmFwc2hvdHMuIik7Cj4gQEAg LTE3Myw3ICsxNzMsNyBAQCBhc3luYyBmbiBzZXR1cChfcGFyYW06IFZhbHVlKSAtPiBSZXN1bHQ8 KCksIEVycm9yPiB7Cj4gICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRfbWlycm9yLnRvX3N0 cmluZygpLAo+ICAgICAgICAgICAgICAgICAgICAgICgKPiAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RhdGUubWlycm9ycy5nZXQoKnNlbGVjdGVkX21pcnJvcikudW53cmFwKCksCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICoqc2VsZWN0ZWRfc25hcHNob3QsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICgqKnNlbGVjdGVkX3NuYXBzaG90KS5jbG9uZSgpLAo+ICAgICAgICAgICAgICAg ICAgICAgICksCj4gICAgICAgICAgICAgICAgICApOwo+ICAgICAgICAgICAgICB9Cj4gZGlmZiAt LWdpdCBhL3NyYy9iaW4vcHJveG1veF9vZmZsaW5lX21pcnJvcl9jbWRzL21pcnJvci5ycyBiL3Ny Yy9iaW4vcHJveG1veF9vZmZsaW5lX21pcnJvcl9jbWRzL21pcnJvci5ycwo+IGluZGV4IDMxYTU2 NWUuLjdlYmEwNGQgMTAwNjQ0Cj4gLS0tIGEvc3JjL2Jpbi9wcm94bW94X29mZmxpbmVfbWlycm9y X2NtZHMvbWlycm9yLnJzCj4gKysrIGIvc3JjL2Jpbi9wcm94bW94X29mZmxpbmVfbWlycm9yX2Nt ZHMvbWlycm9yLnJzCj4gQEAgLTE3LDcgKzE3LDcgQEAgdXNlIHByb3htb3hfc2NoZW1hOjphcGk7 Cj4gIHVzZSBwcm94bW94X29mZmxpbmVfbWlycm9yOjp7Cj4gICAgICBjb25maWc6OntNaXJyb3JD b25maWcsIFN1YnNjcmlwdGlvbktleX0sCj4gICAgICBtaXJyb3IsCj4gLSAgICB0eXBlczo6e01J UlJPUl9JRF9TQ0hFTUEsIFNuYXBzaG90fSwKPiArICAgIHR5cGVzOjp7TUlSUk9SX0lEX1NDSEVN QSwgTkFNRURfU05BUFNIT1RfU0NIRU1BLCBTbmFwc2hvdH0sCj4gIH07Cj4gIAo+ICB1c2Ugc3Vw ZXI6OmdldF9jb25maWdfcGF0aDsKPiBAQCAtNjAsNiArNjAsMTAgQEAgZm4gZ2V0X3N1YnNjcmlw dGlvbl9rZXkoCj4gICAgICAgICAgICAgIGlkOiB7Cj4gICAgICAgICAgICAgICAgICBzY2hlbWE6 IE1JUlJPUl9JRF9TQ0hFTUEsCj4gICAgICAgICAgICAgIH0sCj4gKyAgICAgICAgICAgIG5hbWU6 IHsKPiArICAgICAgICAgICAgICAgIHNjaGVtYTogTkFNRURfU05BUFNIT1RfU0NIRU1BLAo+ICsg ICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCj4gKyAgICAgICAgICAgIH0sCj4gICAgICAg ICAgICAgICJkcnktcnVuIjogewo+ICAgICAgICAgICAgICAgICAgdHlwZTogYm9vbCwKPiAgICAg ICAgICAgICAgICAgIG9wdGlvbmFsOiB0cnVlLAo+IEBAIC03Myw2ICs3Nyw3IEBAIGZuIGdldF9z dWJzY3JpcHRpb25fa2V5KAo+ICBhc3luYyBmbiBjcmVhdGVfc25hcHNob3QoCj4gICAgICBjb25m aWc6IE9wdGlvbjxTdHJpbmc+LAo+ICAgICAgaWQ6IFN0cmluZywKPiArICAgIG5hbWU6IE9wdGlv bjxTdHJpbmc+LAo+ICAgICAgZHJ5X3J1bjogYm9vbCwKPiAgICAgIF9wYXJhbTogVmFsdWUsCj4g ICkgLT4gUmVzdWx0PCgpLCBFcnJvcj4gewo+IEBAIC04MywxMiArODgsMTIgQEAgYXN5bmMgZm4g Y3JlYXRlX3NuYXBzaG90KAo+ICAKPiAgICAgIGxldCBzdWJzY3JpcHRpb24gPSBnZXRfc3Vic2Ny aXB0aW9uX2tleSgmc2VjdGlvbl9jb25maWcsICZjb25maWcpPzsKPiAgCj4gLSAgICBwcm94bW94 X29mZmxpbmVfbWlycm9yOjptaXJyb3I6OmNyZWF0ZV9zbmFwc2hvdCgKPiAtICAgICAgICBjb25m aWcsCj4gLSAgICAgICAgJlNuYXBzaG90Ojpub3coKSwKPiAtICAgICAgICBzdWJzY3JpcHRpb24s Cj4gLSAgICAgICAgZHJ5X3J1biwKPiAtICAgICk/Owo+ICsgICAgbGV0IHNuYXBzaG90ID0gbWF0 Y2ggJm5hbWUgewo+ICsgICAgICAgIFNvbWUobmFtZSkgPT4gU25hcHNob3Q6OndpdGhfbmFtZSgm bmFtZSksCj4gKyAgICAgICAgTm9uZSA9PiBTbmFwc2hvdDo6bm93KCksCj4gKyAgICB9Owo+ICsK PiArICAgIHByb3htb3hfb2ZmbGluZV9taXJyb3I6Om1pcnJvcjo6Y3JlYXRlX3NuYXBzaG90KGNv bmZpZywgJnNuYXBzaG90LCBzdWJzY3JpcHRpb24sIGRyeV9ydW4pPzsKCkkgdGhpbmsgaXQgd291 bGQgbWFrZSBtb3JlIHNlbnNlIHRvIHRyZWF0IHRoZSBuYW1lIGFzIGFuIGV4dHJhICJsYWJlbCIs CnJhdGhlciB0aGFuIGFzIGEgcmVwbGFjZW1lbnQgZm9yIHRoZSB0aW1lc3RhbXAuLgoKYmVjYXVz ZSB3aXRoIHRoZSBjdXJyZW50IGFwcHJvYWNoOgotIHdlIGxvc2UgdGhlIGluZm9ybWF0aW9uIHdo ZW4gYSBzbmFwc2hvdCB3YXMgY3JlYXRlZCwgd2hpY2ggaXMKICBpbXBvcnRhbnQgZm9yIG9yZGVy aW5nCi0gKmFueXRoaW5nKiB0aGF0IG1hdGNoZXMgdGhlIHJlbGF4ZWQgc2NoZW1hIGlzIG5vdyB0 cmVhdGVkIGFzIHNuYXBzaG90LAogIGluY2x1ZGluZyB0ZW1wb3JhcnkgZGlycyBmb3IgbmFtZWQg c25hcHNob3RzCgppZiB3ZSBhdHRhY2ggdGhlIGxhYmVsICphZnRlciogY3JlYXRpbmcgdGhlIHNu YXBzaG90IChlLmcuLCBhcyBhIHN5bWxpbmsKcG9pbnRpbmcgYXQgYSBzbmFwc2hvdCBkaXI/KSwg d2UgYXZvaWQgdGhvc2UgaXNzdWVzIChhbmQgZXZlbiBnZXQKYWRkaXRpb25hbCBiZW5lZml0cywg bGlrZSBtb3ZpbmcgYSBsYWJlbCBmb3J3YXJkLCBoYXZpbmcgbXVsdGlwbGUgbGFiZWxzCmZvciBh IHNpbmdsZSBzbmFwc2hvdCwgLi4pLgoKb2YgY291cnNlLCB0aGF0IG1lYW5zIGhhbmRsaW5nIGRh bmdsaW5nIHN5bWxpbmtzLCBhbmQgaGFuZGxpbmcgb2YgdGhvc2UKc3ltbGlua3MgaW4gZ2VuZXJh bCBpbiBzb21lIHBhcnRzLi4KCj4gIAo+ICAgICAgT2soKCkpCj4gIH0KPiBAQCAtMTAxLDYgKzEw NiwxMCBAQCBhc3luYyBmbiBjcmVhdGVfc25hcHNob3QoCj4gICAgICAgICAgICAgICAgICBvcHRp b25hbDogdHJ1ZSwKPiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAiUGF0aCB0byBtaXJy b3JpbmcgY29uZmlnIGZpbGUuIiwKPiAgICAgICAgICAgICAgfSwKPiArICAgICAgICAgICAgbmFt ZTogewo+ICsgICAgICAgICAgICAgICAgc2NoZW1hOiBOQU1FRF9TTkFQU0hPVF9TQ0hFTUEsCj4g KyAgICAgICAgICAgICAgICBvcHRpb25hbDogdHJ1ZSwKPiArICAgICAgICAgICAgfSwKPiAgICAg ICAgICAgICAgImRyeS1ydW4iOiB7Cj4gICAgICAgICAgICAgICAgICB0eXBlOiBib29sLAo+ICAg ICAgICAgICAgICAgICAgb3B0aW9uYWw6IHRydWUsCj4gQEAgLTExNCw2ICsxMjMsNyBAQCBhc3lu YyBmbiBjcmVhdGVfc25hcHNob3QoCj4gIC8vLyBmcm9tIG9yaWdpbmFsIHJlcG9zaXRvcnkuCj4g IGFzeW5jIGZuIGNyZWF0ZV9zbmFwc2hvdHMoCj4gICAgICBjb25maWc6IE9wdGlvbjxTdHJpbmc+ LAo+ICsgICAgbmFtZTogT3B0aW9uPFN0cmluZz4sCj4gICAgICBkcnlfcnVuOiBib29sLAo+ICAg ICAgX3BhcmFtOiBWYWx1ZSwKPiAgKSAtPiBSZXN1bHQ8KCksIEVycm9yPiB7Cj4gQEAgLTEzNSw5 ICsxNDUsMTUgQEAgYXN5bmMgZm4gY3JlYXRlX3NuYXBzaG90cygKPiAgICAgICAgICAgICAgICAg IGNvbnRpbnVlOwo+ICAgICAgICAgICAgICB9Cj4gICAgICAgICAgfTsKPiArCj4gKyAgICAgICAg bGV0IHNuYXBzaG90ID0gbWF0Y2ggJm5hbWUgewo+ICsgICAgICAgICAgICBTb21lKG5hbWUpID0+ IFNuYXBzaG90Ojp3aXRoX25hbWUoJm5hbWUpLAo+ICsgICAgICAgICAgICBOb25lID0+IFNuYXBz aG90Ojpub3coKSwKPiArICAgICAgICB9Owo+ICsKPiAgICAgICAgICBsZXQgcmVzID0gcHJveG1v eF9vZmZsaW5lX21pcnJvcjo6bWlycm9yOjpjcmVhdGVfc25hcHNob3QoCj4gICAgICAgICAgICAg IG1pcnJvciwKPiAtICAgICAgICAgICAgJlNuYXBzaG90Ojpub3coKSwKPiArICAgICAgICAgICAg JnNuYXBzaG90LAo+ICAgICAgICAgICAgICBzdWJzY3JpcHRpb24sCj4gICAgICAgICAgICAgIGRy eV9ydW4sCgp0aGlzIG1lYW5zIHRoYXQgb25lIG9mIHRoZSBtYWluIHB1cnBvc2VzIG9mIHRoaXMg Im5hbWluZyIgZ2V0cyBxdWl0ZQpicml0dGxlIC0gaWYgYSBzaW5nbGUgbWlycm9yIGZhaWxzIHRv IGJlIG1pcnJvcmVkLCB0aGUgb3RoZXJzIHdpbGwgaGF2ZQp0aGF0IG5hbWUgYXR0YWNoZWQgYW5k IGl0J3MgdGh1cyAidXNlZCI/CgppZiB3ZSB1c2UgdGhlIHN5bWxpbmsgYXBwcm9hY2gsIHdlIGFs c28gYXZvaWQgdGhpcyBwcm9ibGVtIC0+IHNpbXBseQpzbmFwc2hvdCBhbGwgbWlycm9ycywgYW5k IGF0dGFjaCB0aGUgbGFiZWwgYXQgdGhlIGVuZCBpZiBzdWNjZXNzZnVsIChvcgptYWtlIHRoZSBi ZWhhdmlvdXIgY29uZmlndXJhYmxlLCBkZXBlbmRpbmcgb24gdXNlIGNhc2UpCgo+ICAgICAgICAg ICk7Cj4gZGlmZiAtLWdpdCBhL3NyYy9tZWRpdW0ucnMgYi9zcmMvbWVkaXVtLnJzCj4gaW5kZXgg YmVmNmNjNy4uYTJlMmVlNCAxMDA2NDQKPiAtLS0gYS9zcmMvbWVkaXVtLnJzCj4gKysrIGIvc3Jj L21lZGl1bS5ycwo+IEBAIC0xOCw3ICsxOCw3IEBAIHVzZSBjcmF0ZTo6ewo+ICAgICAgZ2VuZXJh dGVfcmVwb19maWxlX2xpbmUsCj4gICAgICBtaXJyb3I6OnBvb2wsCj4gICAgICBwb29sOjpQb29s LAo+IC0gICAgdHlwZXM6OntEaWZmLCBTTkFQU0hPVF9SRUdFWCwgU25hcHNob3R9LAo+ICsgICAg dHlwZXM6OntDT01CSU5FRF9TTkFQU0hPVF9SRUdFWCwgRGlmZiwgU25hcHNob3R9LAo+ICB9Owo+ ICAjW2Rlcml2ZShDbG9uZSwgRGVidWcsIFNlcmlhbGl6ZSwgRGVzZXJpYWxpemUpXQo+ICAjW3Nl cmRlKHJlbmFtZV9hbGwgPSAia2ViYWItY2FzZSIpXQo+IEBAIC0xNjIsNyArMTYyLDcgQEAgcHVi IGZuIGxpc3Rfc25hcHNob3RzKG1lZGl1bV9iYXNlOiAmUGF0aCwgbWlycm9yOiAmc3RyKSAtPiBS ZXN1bHQ8VmVjPFNuYXBzaG90PiwKPiAgICAgIHByb3htb3hfc3lzOjpmczo6c2NhbmRpcigKPiAg ICAgICAgICBsaWJjOjpBVF9GRENXRCwKPiAgICAgICAgICAmbWlycm9yX2Jhc2UsCj4gLSAgICAg ICAgJlNOQVBTSE9UX1JFR0VYLAo+ICsgICAgICAgICZDT01CSU5FRF9TTkFQU0hPVF9SRUdFWCwK PiAgICAgICAgICB8X2wyX2ZkLCBzbmFwc2hvdCwgZmlsZV90eXBlfCB7Cj4gICAgICAgICAgICAg IGlmIGZpbGVfdHlwZSAhPSBuaXg6OmRpcjo6VHlwZTo6RGlyZWN0b3J5IHsKPiAgICAgICAgICAg ICAgICAgIHJldHVybiBPaygoKSk7Cj4gZGlmZiAtLWdpdCBhL3NyYy9taXJyb3IucnMgYi9zcmMv bWlycm9yLnJzCj4gaW5kZXggYzg4ZjgxZC4uMmFlZjY5MSAxMDA2NDQKPiAtLS0gYS9zcmMvbWly cm9yLnJzCj4gKysrIGIvc3JjL21pcnJvci5ycwo+IEBAIC0xMSwxNCArMTEsMTQgQEAgdXNlIGds b2JzZXQ6OntHbG9iLCBHbG9iU2V0LCBHbG9iU2V0QnVpbGRlcn07Cj4gIHVzZSBuaXg6OmxpYmM7 Cj4gIHVzZSBwcm94bW94X2h0dHA6OntIdHRwQ2xpZW50LCBIdHRwT3B0aW9ucywgUHJveHlDb25m aWcsIGNsaWVudDo6c3luYzo6Q2xpZW50fTsKPiAgdXNlIHByb3htb3hfc2NoZW1hOjp7QXBpVHlw ZSwgU2NoZW1hfTsKPiAtdXNlIHByb3htb3hfc3lzOjpmczo6ZmlsZV9nZXRfY29udGVudHM7Cj4g K3VzZSBwcm94bW94X3N5czo6ZnM6OntDcmVhdGVPcHRpb25zLCBmaWxlX2dldF9jb250ZW50c307 Cj4gIAo+ICB1c2UgY3JhdGU6OnsKPiAgICAgIEZldGNoUmVzdWx0LCBQcm9ncmVzcywKPiAgICAg IGNvbmZpZzo6e01pcnJvckNvbmZpZywgU2tpcENvbmZpZywgU3Vic2NyaXB0aW9uS2V5LCBXZWFr Q3J5cHRvQ29uZmlnfSwKPiAgICAgIGNvbnZlcnRfcmVwb19saW5lLAo+ICAgICAgcG9vbDo6UG9v bCwKPiAtICAgIHR5cGVzOjp7RGlmZiwgU05BUFNIT1RfUkVHRVgsIFNuYXBzaG90fSwKPiArICAg IHR5cGVzOjp7Q09NQklORURfU05BUFNIT1RfUkVHRVgsIERpZmYsIFNuYXBzaG90fSwKPiAgfTsK PiAgCj4gIHVzZSBwcm94bW94X2FwdDo6ZGViODIyOjp7Cj4gQEAgLTQ3Niw3ICs0NzYsNyBAQCBw dWIgZm4gbGlzdF9zbmFwc2hvdHMoY29uZmlnOiAmTWlycm9yQ29uZmlnKSAtPiBSZXN1bHQ8VmVj PFNuYXBzaG90PiwgRXJyb3I+IHsKPiAgICAgIHByb3htb3hfc3lzOjpmczo6c2NhbmRpcigKPiAg ICAgICAgICBsaWJjOjpBVF9GRENXRCwKPiAgICAgICAgICAmcGF0aCwKPiAtICAgICAgICAmU05B UFNIT1RfUkVHRVgsCj4gKyAgICAgICAgJkNPTUJJTkVEX1NOQVBTSE9UX1JFR0VYLAo+ICAgICAg ICAgIHxfbDJfZmQsIHNuYXBzaG90LCBmaWxlX3R5cGV8IHsKPiAgICAgICAgICAgICAgaWYgZmls ZV90eXBlICE9IG5peDo6ZGlyOjpUeXBlOjpEaXJlY3Rvcnkgewo+ICAgICAgICAgICAgICAgICAg cmV0dXJuIE9rKCgpKTsKPiBAQCAtNzkzLDEyICs3OTMsNiBAQCBwdWIgZm4gY3JlYXRlX3NuYXBz aG90KAo+ICAgICAgICAgIE5vbmUKPiAgICAgIH07Cj4gIAo+IC0gICAgbGV0IG11dCBjb25maWc6 IFBhcnNlZE1pcnJvckNvbmZpZyA9IGNvbmZpZy50cnlfaW50bygpPzsKPiAtICAgIGNvbmZpZy5h dXRoID0gYXV0aDsKCnRoaXMgaXMgdW5yZWxhdGVkPwoKPiAtCj4gLSAgICBsZXQgcHJlZml4ID0g Zm9ybWF0ISgie3NuYXBzaG90fS50bXAiKTsKPiAtICAgIGxldCBwcmVmaXggPSBQYXRoOjpuZXco JnByZWZpeCk7Cj4gLQo+ICAgICAgbGV0IG11dCBwcm9ncmVzcyA9IE1pcnJvclByb2dyZXNzIHsK PiAgICAgICAgICB3YXJuaW5nczogVmVjOjpuZXcoKSwKPiAgICAgICAgICBza2lwX2NvdW50OiAw LAo+IEBAIC04MDcsNiArODAxLDQyIEBAIHB1YiBmbiBjcmVhdGVfc25hcHNob3QoCj4gICAgICAg ICAgdG90YWw6IFByb2dyZXNzOjpuZXcoKSwKPiAgICAgIH07Cj4gIAo+ICsgICAgbGV0IG11dCBj b25maWc6IFBhcnNlZE1pcnJvckNvbmZpZyA9IGNvbmZpZy50cnlfaW50bygpPzsKPiArICAgIGNv bmZpZy5hdXRoID0gYXV0aDsKPiArCj4gKyAgICBsZXQgc25hcHNob3RfcmVsYXRpdmVfcGF0aCA9 IHNuYXBzaG90LnRvX3N0cmluZygpOwo+ICsgICAgbGV0IHNuYXBzaG90X3JlbGF0aXZlX3BhdGgg PSBQYXRoOjpuZXcoJnNuYXBzaG90X3JlbGF0aXZlX3BhdGgpOwo+ICsgICAgbGV0IHNuYXBzaG90 X2Fic29sdXRlX3BhdGggPSBjb25maWcucG9vbC5nZXRfcGF0aChzbmFwc2hvdF9yZWxhdGl2ZV9w YXRoKTsKPiArCj4gKyAgICBpZiBzbmFwc2hvdF9hYnNvbHV0ZV9wYXRoLmlzX29rX2FuZCh8cGF0 aHwgcGF0aC5leGlzdHMoKSkgewo+ICsgICAgICAgIGlmIGRyeV9ydW4gewo+ICsgICAgICAgICAg ICBsZXQgbXNnID0gIldBUk5JTkc6IHNuYXBzaG90IHtzbmFwc2hvdH0gYWxyZWFkeSBleGlzdHMh IENvbnRpbnVpbmcgZHVlIHRvIGRyeSBydW4uLi4iOwo+ICsgICAgICAgICAgICBlcHJpbnRsbiEo Inttc2d9Iik7Cj4gKyAgICAgICAgICAgIHByb2dyZXNzLndhcm5pbmdzLnB1c2gobXNnLmludG8o KSk7Cj4gKyAgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAgICAgYmFpbCEoIlNuYXBzaG90IHtz bmFwc2hvdH0gYWxyZWFkeSBleGlzdHMhIik7Cj4gKyAgICAgICAgfQo+ICsgICAgfQo+ICsKPiAr ICAgIGxldCBsb2NrZmlsZV9wYXRoID0gY29uZmlnCj4gKyAgICAgICAgLnBvb2wKPiArICAgICAg ICAuZ2V0X3BhdGgoUGF0aDo6bmV3KCZmb3JtYXQhKCIue3NuYXBzaG90fS5sb2NrIikpKTsKCndo YXQgZG9lcyB0aGlzIG5ldyBsb2NrIHByb3RlY3QgYWdhaW5zdD8gd2hhdCBpcyBpdHMgc2NvcGU/ IG5vdGUgdGhhdCBhCnBvb2wgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIG1pcnJvcnMuLgoKPiArCj4g KyAgICBpZiBsZXQgRXJyKGxvY2tmaWxlX2VycikgPSBsb2NrZmlsZV9wYXRoIHsKPiArICAgICAg ICBiYWlsISgiY2Fubm90IGNyZWF0ZSBsb2NrZmlsZSBmb3Igc25hcHNob3Qge3NuYXBzaG90fTog e2xvY2tmaWxlX2Vycn0iKTsKPiArICAgIH0KPiArICAgIGxldCBsb2NrZmlsZV9wYXRoID0gbG9j a2ZpbGVfcGF0aC51bndyYXAoKTsKPiArCj4gKyAgICBsZXQgX3NuYXBzaG90X2xvY2sgPSBwcm94 bW94X3N5czo6ZnM6Om9wZW5fZmlsZV9sb2NrZWQoCj4gKyAgICAgICAgJmxvY2tmaWxlX3BhdGgs Cj4gKyAgICAgICAgc3RkOjp0aW1lOjpEdXJhdGlvbjo6bmV3KDEwLCAwKSwKPiArICAgICAgICB0 cnVlLAo+ICsgICAgICAgIENyZWF0ZU9wdGlvbnM6OmRlZmF1bHQoKSwKPiArICAgICk/Owo+ICsK PiArICAgIGxldCBwcmVmaXggPSBmb3JtYXQhKCJ7c25hcHNob3R9LnRtcCIpOwo+ICsgICAgbGV0 IHByZWZpeCA9IFBhdGg6Om5ldygmcHJlZml4KTsKCnRoaXMgbWlnaHQgYWxzbyBhbHJlYWR5IGV4 aXN0IGFuZCBzaG91bGQgYmUgY2hlY2tlZC4uCgo+ICsKPiAgICAgIGxldCBwYXJzZV9yZWxlYXNl ID0gfHJlczogRmV0Y2hSZXN1bHQsIG5hbWU6ICZzdHJ8IC0+IFJlc3VsdDxSZWxlYXNlRmlsZSwg RXJyb3I+IHsKPiAgICAgICAgICBwcmludGxuISgiUGFyc2luZyB7bmFtZX0uLiIpOwo+ICAgICAg ICAgIGxldCBwYXJzZWQ6IFJlbGVhc2VGaWxlID0gcmVzLmRhdGFbLi5dLnRyeV9pbnRvKCk/Owo+ IEBAIC0xMDc4LDkgKzExMDgsMTUgQEAgcHViIGZuIGNyZWF0ZV9zbmFwc2hvdCgKPiAgICAgIGlm ICFkcnlfcnVuIHsKPiAgICAgICAgICBwcmludGxuISgiXG5Sb3RhdGluZyB0ZW1wLiBzbmFwc2hv dCBpbi1wbGFjZToge3ByZWZpeDo/fSAtPiBcIntzbmFwc2hvdH1cIiIpOwo+ICAgICAgICAgIGxl dCBsb2NrZWQgPSBjb25maWcucG9vbC5sb2NrKCk/Owo+IC0gICAgICAgIGxvY2tlZC5yZW5hbWUo cHJlZml4LCBQYXRoOjpuZXcoJmZvcm1hdCEoIntzbmFwc2hvdH0iKSkpPzsKPiArCj4gKyAgICAg ICAgaWYgc25hcHNob3RfcmVsYXRpdmVfcGF0aC5leGlzdHMoKSB7Cj4gKyAgICAgICAgICAgIGJh aWwhKCJTbmFwc2hvdCB7c25hcHNob3R9IGFscmVhZHkgZXhpc3RzISIpOwo+ICsgICAgICAgIH0K CnRoaXMgY2hlY2sgaXMgd3JvbmcsIGJlY2F1c2UgaXQgZG9lc24ndCBhY2NvdW50IGZvciB0aGUg Y3VycmVudCB3b3JraW5nCmRpcmVjdG9yeSBhbmQgdGhlIHBhdGggYmVpbmcgcmVsYXRpdmUuLgoK PiArICAgICAgICBsb2NrZWQucmVuYW1lKHByZWZpeCwgc25hcHNob3RfcmVsYXRpdmVfcGF0aCk/ Owo+ICAgICAgfQo+ICAKPiArICAgIHN0ZDo6ZnM6OnJlbW92ZV9maWxlKGxvY2tmaWxlX3BhdGgp PzsKPiArCj4gICAgICBPaygoKSkKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvc3JjL3R5cGVzLnJz IGIvc3JjL3R5cGVzLnJzCj4gaW5kZXggMTBkZGU2NS4uNDlkYzM3NCAxMDA2NDQKPiAtLS0gYS9z cmMvdHlwZXMucnMKPiArKysgYi9zcmMvdHlwZXMucnMKPiBAQCAtMSw2ICsxLDYgQEAKPiAgdXNl IHN0ZDo6e2ZtdDo6RGlzcGxheSwgcGF0aDo6UGF0aEJ1Ziwgc3RyOjpGcm9tU3RyfTsKPiAgCj4g LXVzZSBhbnlob3c6OkVycm9yOwo+ICt1c2UgYW55aG93Ojp7RXJyb3IsIGJhaWx9Owo+ICB1c2Ug cHJveG1veF9zY2hlbWE6OntBcGlTdHJpbmdGb3JtYXQsIFNjaGVtYSwgU3RyaW5nU2NoZW1hLCBh cGksIGNvbnN0X3JlZ2V4fTsKPiAgdXNlIHByb3htb3hfc2VyZGU6Ontmb3J3YXJkX2Rlc2VyaWFs aXplX3RvX2Zyb21fc3RyLCBmb3J3YXJkX3NlcmlhbGl6ZV90b19kaXNwbGF5fTsKPiAgdXNlIHBy b3htb3hfdGltZTo6e2Vwb2NoX2k2NCwgZXBvY2hfdG9fcmZjMzMzOV91dGMsIHBhcnNlX3JmYzMz Mzl9Owo+IEBAIC0zMiw2ICszMiwxMyBAQCBwdWIgY29uc3QgTUVESUFfSURfU0NIRU1BOiBTY2hl bWEgPSBTdHJpbmdTY2hlbWE6Om5ldygiTWVkaXVtIG5hbWUuIikKPiAgICAgIC5tYXhfbGVuZ3Ro KDMyKQo+ICAgICAgLnNjaGVtYSgpOwo+ICAKPiArLy8vIFNjaGVtYSBmb3IgbmFtZWQgc25hcHNo b3RzCj4gK3B1YiBjb25zdCBOQU1FRF9TTkFQU0hPVF9TQ0hFTUE6IFNjaGVtYSA9IFN0cmluZ1Nj aGVtYTo6bmV3KCJDdXN0b20gbmFtZSBmb3Igc25hcHNob3QuIikKPiArICAgIC5mb3JtYXQoJlBS T1hNT1hfU0FGRV9JRF9GT1JNQVQpCj4gKyAgICAubWluX2xlbmd0aCgzKQo+ICsgICAgLm1heF9s ZW5ndGgoMzIpCj4gKyAgICAuc2NoZW1hKCk7Cj4gKwo+ICAjW3J1c3RmbXQ6OnNraXBdCj4gICNb bWFjcm9fZXhwb3J0XQo+ICBtYWNyb19ydWxlcyEgUFJPWE1PWF9TVUJTQ1JJUFRJT05fS0VZX1JF R0VYX1NUUiB7ICgpID0+IHsgciIoPzpwb20tfHB2ZVxkK1thLXpdLXxwYnNbYS16XS18cG1nW2Et el0tKS4qIiB9OyB9Cj4gQEAgLTYyLDMyICs2OSw1MSBAQCBwdWIgY29uc3QgUFJPWE1PWF9TRVJW RVJfSURfU0NIRU1BOiBTY2hlbWEgPSBTdHJpbmdTY2hlbWE6Om5ldygiU2VydmVyIElELiIpCj4g IAo+ICAjW3J1c3RmbXQ6OnNraXBdCj4gICNbbWFjcm9fZXhwb3J0XQo+IC1tYWNyb19ydWxlcyEg U05BUFNIT1RfUkUgeyAoKSA9PiAociJbMC05XXs0fS1bMC05XXsyfS1bMC05XXsyfVRbMC05XXsy fTpbMC05XXsyfTpbMC05XXsyfVoiKSB9Cj4gK21hY3JvX3J1bGVzISBUSU1FRF9TTkFQU0hPVF9S RSB7ICgpID0+IChyIlswLTldezR9LVswLTldezJ9LVswLTldezJ9VFswLTldezJ9OlswLTldezJ9 OlswLTldezJ9WiIpIH0KPiAgY29uc3RfcmVnZXghIHsKPiAtICAgIHB1YihjcmF0ZSkgU05BUFNI T1RfUkVHRVggPSBjb25jYXQhKHIiXiIsIFNOQVBTSE9UX1JFISgpICxyIiQiKTsKPiArICAgIHB1 YihjcmF0ZSkgVElNRURfU05BUFNIT1RfUkVHRVggPSBjb25jYXQhKHIiXiIsIFRJTUVEX1NOQVBT SE9UX1JFISgpICxyIiQiKTsKPiArfQo+ICsKPiArI1tydXN0Zm10Ojpza2lwXQo+ICtjb25zdF9y ZWdleCEgewo+ICsgICAgcHViKGNyYXRlKSBDT01CSU5FRF9TTkFQU0hPVF9SRUdFWCA9IGNvbmNh dCEociJeKCgiLCBUSU1FRF9TTkFQU0hPVF9SRSEoKSAsciIpfCIsIFBST1hNT1hfU0FGRV9JRF9S RUdFWF9TVFIhKCksICIpJCIpOwo+ICt9Cj4gKwo+ICsjW2Rlcml2ZShEZWJ1ZywgQ2xvbmUsIFBh cnRpYWxFcSwgUGFydGlhbE9yZCwgRXEsIE9yZCldCj4gK2VudW0gU25hcHNob3RUeXBlIHsKPiAr ICAgIFRpbWVkU25hcHNob3QoaTY0KSwKPiArICAgIE5hbWVkU25hcHNob3QoU3RyaW5nKSwKPiAg fQo+ICAKPiAgI1thcGkoCj4gICAgICB0eXBlOiBTdHJpbmcsCj4gLSAgICBmb3JtYXQ6ICZBcGlT dHJpbmdGb3JtYXQ6OlBhdHRlcm4oJlNOQVBTSE9UX1JFR0VYKSwKPiAgKV0KPiAtI1tkZXJpdmUo RGVidWcsIENsb25lLCBDb3B5LCBQYXJ0aWFsRXEsIFBhcnRpYWxPcmQsIEVxLCBPcmQpXQo+ICsj W2Rlcml2ZShEZWJ1ZywgQ2xvbmUsIFBhcnRpYWxFcSwgUGFydGlhbE9yZCwgRXEsIE9yZCldCj4g IC8vLyBNaXJyb3Igc25hcHNob3QKPiAtcHViIHN0cnVjdCBTbmFwc2hvdChpNjQpOwo+ICtwdWIg c3RydWN0IFNuYXBzaG90KFNuYXBzaG90VHlwZSk7Cj4gIAo+ICBmb3J3YXJkX3NlcmlhbGl6ZV90 b19kaXNwbGF5IShTbmFwc2hvdCk7Cj4gIGZvcndhcmRfZGVzZXJpYWxpemVfdG9fZnJvbV9zdHIh KFNuYXBzaG90KTsKPiAgCj4gIGltcGwgU25hcHNob3Qgewo+ICAgICAgcHViIGZuIG5vdygpIC0+ IFNlbGYgewo+IC0gICAgICAgIFNlbGYoZXBvY2hfaTY0KCkpCj4gKyAgICAgICAgU2VsZihTbmFw c2hvdFR5cGU6OlRpbWVkU25hcHNob3QoZXBvY2hfaTY0KCkpKQo+ICsgICAgfQo+ICsKPiArICAg IHB1YiBmbiB3aXRoX25hbWUobmFtZTogJnN0cikgLT4gU2VsZiB7Cj4gKyAgICAgICAgU2VsZihT bmFwc2hvdFR5cGU6Ok5hbWVkU25hcHNob3QobmFtZS5pbnRvKCkpKQo+ICAgICAgfQo+ICB9Cj4g IAo+ICBpbXBsIERpc3BsYXkgZm9yIFNuYXBzaG90IHsKPiAgICAgIGZuIGZtdCgmc2VsZiwgZjog Jm11dCBzdGQ6OmZtdDo6Rm9ybWF0dGVyPCdfPikgLT4gc3RkOjpmbXQ6OlJlc3VsdCB7Cj4gLSAg ICAgICAgbGV0IGZvcm1hdHRlZCA9IGVwb2NoX3RvX3JmYzMzMzlfdXRjKHNlbGYuMCkubWFwX2Vy cih8X3wgc3RkOjpmbXQ6OkVycm9yKT87Cj4gLSAgICAgICAgZi53cml0ZV9zdHIoJmZvcm1hdHRl ZCkKPiArICAgICAgICBtYXRjaCAmc2VsZi4wIHsKPiArICAgICAgICAgICAgU25hcHNob3RUeXBl OjpUaW1lZFNuYXBzaG90KHRpbWUpID0+IHsKPiArICAgICAgICAgICAgICAgIGxldCBmb3JtYXR0 ZWQgPSBlcG9jaF90b19yZmMzMzM5X3V0YygqdGltZSkubWFwX2Vycih8X3wgc3RkOjpmbXQ6OkVy cm9yKT87Cj4gKyAgICAgICAgICAgICAgICBmLndyaXRlX3N0cigmZm9ybWF0dGVkKQo+ICsgICAg ICAgICAgICB9Cj4gKyAgICAgICAgICAgIFNuYXBzaG90VHlwZTo6TmFtZWRTbmFwc2hvdChuYW1l KSA9PiBmLndyaXRlX3N0cigmbmFtZSksCj4gKyAgICAgICAgfQo+ICAgICAgfQo+ICB9Cj4gIAo+ IEBAIC05NSw3ICsxMjEsMTMgQEAgaW1wbCBGcm9tU3RyIGZvciBTbmFwc2hvdCB7Cj4gICAgICB0 eXBlIEVyciA9IEVycm9yOwo+ICAKPiAgICAgIGZuIGZyb21fc3RyKHM6ICZzdHIpIC0+IFJlc3Vs dDxTZWxmLCBTZWxmOjpFcnI+IHsKPiAtICAgICAgICBPayhTZWxmKHBhcnNlX3JmYzMzMzkocyk/ KSkKPiArICAgICAgICBpZiBUSU1FRF9TTkFQU0hPVF9SRUdFWC5pc19tYXRjaChzKSB7Cj4gKyAg ICAgICAgICAgIE9rKFNlbGYoU25hcHNob3RUeXBlOjpUaW1lZFNuYXBzaG90KHBhcnNlX3JmYzMz Mzkocyk/KSkpCj4gKyAgICAgICAgfSBlbHNlIGlmIFBST1hNT1hfU0FGRV9JRF9SRUdFWC5pc19t YXRjaChzKSB7Cj4gKyAgICAgICAgICAgIE9rKFNlbGYoU25hcHNob3RUeXBlOjpOYW1lZFNuYXBz aG90KHMuaW50bygpKSkpCj4gKyAgICAgICAgfSBlbHNlIHsKPiArICAgICAgICAgICAgYmFpbCEo ImludmFsaWQgc25hcHNob3QgbmFtZSIpCj4gKyAgICAgICAgfQo+ICAgICAgfQo+ICB9Cj4gIAo+ IC0tIAo+IDIuMzkuNQo+IAo+IAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gcHZlLWRldmVsIG1haWxpbmcgbGlzdAo+IHB2ZS1kZXZlbEBsaXN0 cy5wcm94bW94LmNvbQo+IGh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFu L2xpc3RpbmZvL3B2ZS1kZXZlbAo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCnB2ZS1kZXZlbCBtYWlsaW5nIGxpc3QKcHZlLWRldmVsQGxpc3RzLnBy b3htb3guY29tCmh0dHBzOi8vbGlzdHMucHJveG1veC5jb20vY2dpLWJpbi9tYWlsbWFuL2xpc3Rp bmZvL3B2ZS1kZXZlbAo=