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 2A4E41FF16B
	for <inbox@lore.proxmox.com>; Thu,  9 Jan 2025 14:55:53 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
	by firstgate.proxmox.com (Proxmox) with ESMTP id 6FE57F9BA;
	Thu,  9 Jan 2025 14:55:38 +0100 (CET)
Date: Thu, 9 Jan 2025 14:55:32 +0100 (CET)
From: =?UTF-8?Q?Fabian_Gr=C3=BCnbichler?= <f.gruenbichler@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>
Message-ID: <1155144118.1000.1736430932629@webmail.proxmox.com>
In-Reply-To: <mailman.220.1734340399.332.pve-devel@lists.proxmox.com>
References: <20241216091229.3142660-1-alexandre.derumier@groupe-cyllene.com>
 <mailman.220.1734340399.332.pve-devel@lists.proxmox.com>
MIME-Version: 1.0
X-Priority: 3
Importance: Normal
X-Mailer: Open-Xchange Mailer v7.10.6-Rev72
X-Originating-Client: open-xchange-appsuite
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.045 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
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [gnu.org, lvmplugin.pm]
Subject: Re: [pve-devel] [PATCH v3 pve-storage 2/3] lvmplugin: add qcow2
 snapshot
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>

b25lIGRvd25zaWRlIHdpdGggdGhpcyBwYXJ0IGluIHBhcnRpY3VsYXIgLSB3ZSBoYXZlIHRvIGFs
d2F5cyBhbGxvY2F0ZSBmdWxsLXNpemUgTFZzICgrcWNvdzIgb3ZlcmhlYWQpLCBldmVuIGlmIG1v
c3Qgb2YgdGhlbSB3aWxsIGVuZCB1cCBzdG9yaW5nIGp1c3QgYSBzaW5nbGUgc25hcHNob3QgZGVs
dGEgd2hpY2ggbWlnaHQgYmUgYSB0aW55IHBhcnQgb2YgdGhhdCBmdWxsLXNpemUuLiBob3BlZnVs
bHkgaWYgZGlzY2FyZCBpcyB3b3JraW5nIGFjcm9zcyB0aGUgd2hvbGUgc3RhY2sgdGhpcyBkb2Vz
bid0IGFjdHVhbGx5IGV4cGxvZGUgc3BhY2UgdXNhZ2Ugb24gdGhlIHN0b3JhZ2Ugc2lkZSwgYnV0
IGl0IG1ha2VzIGV2ZXJ5dGhpbmcgYSBiaXQgaGFyZCB0byB0cmFjay4uIE9UT0gsIHdoaWxlIHdl
IGNvdWxkIGluIHRoZW9yeSBleHRlbmQvcmVkdWNlIHRoZSBMVnMgYW5kIHFjb3cyIGltYWdlcyBv
biB0aGVtIHdoZW4gbW9kaWZ5aW5nIHRoZSBiYWNraW5nIGNoYWluLCB0aGUgYWRkaXRpb25hbCBj
b21wbGV4aXR5IGlzIHByb2JhYmx5IG5vdCB3b3J0aCBpdCBhdCB0aGUgbW9tZW50Li4KCj4gQWxl
eGFuZHJlIERlcnVtaWVyIHZpYSBwdmUtZGV2ZWwgPHB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNv
bT4gaGF0IGFtIDE2LjEyLjIwMjQgMTA6MTIgQ0VUIGdlc2NocmllYmVuOgo+IFNpZ25lZC1vZmYt
Ynk6IEFsZXhhbmRyZSBEZXJ1bWllciA8YWxleGFuZHJlLmRlcnVtaWVyQGdyb3VwZS1jeWxsZW5l
LmNvbT4KPiAtLS0KPiAgc3JjL1BWRS9TdG9yYWdlL0xWTVBsdWdpbi5wbSB8IDIzMSArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMjEzIGluc2Vy
dGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9zcmMvUFZFL1N0b3Jh
Z2UvTFZNUGx1Z2luLnBtIGIvc3JjL1BWRS9TdG9yYWdlL0xWTVBsdWdpbi5wbQo+IGluZGV4IDg4
ZmQ2MTIuLjEyNTdjZDMgMTAwNjQ0Cj4gLS0tIGEvc3JjL1BWRS9TdG9yYWdlL0xWTVBsdWdpbi5w
bQo+ICsrKyBiL3NyYy9QVkUvU3RvcmFnZS9MVk1QbHVnaW4ucG0KPiBAQCAtNCw2ICs0LDcgQEAg
dXNlIHN0cmljdDsKPiAgdXNlIHdhcm5pbmdzOwo+ICAKPiAgdXNlIElPOjpGaWxlOwo+ICt1c2Ug
UE9TSVggcXcvY2VpbC87Cj4gIAo+ICB1c2UgUFZFOjpUb29scyBxdyhydW5fY29tbWFuZCB0cmlt
KTsKPiAgdXNlIFBWRTo6U3RvcmFnZTo6UGx1Z2luOwo+IEBAIC0yMTYsNiArMjE3LDcgQEAgc3Vi
IHR5cGUgewo+ICBzdWIgcGx1Z2luZGF0YSB7Cj4gICAgICByZXR1cm4gewo+ICAJY29udGVudCA9
PiBbIHtpbWFnZXMgPT4gMSwgcm9vdGRpciA9PiAxfSwgeyBpbWFnZXMgPT4gMSB9XSwKPiArCWZv
cm1hdCA9PiBbIHsgcmF3ID0+IDEsIHFjb3cyID0+IDEgfSAsICdyYXcnIF0sCgpJIHdvbmRlciBp
ZiB3ZSB3YW50IHRvIGd1YXJkIHRoZSBzbmFwc2hvdHRpbmctcmVsYXRlZCBwYXJ0cyBiZWxvdyB3
aXRoIGFuIGFkZGl0aW9uYWwgInNuYXBleHQiIG9wdGlvbiBoZXJlIGFzIHdlbGw/IG9yIGV2ZW4g
dGhlIHVzYWdlIG9mIHFjb3cyIGFsdG9nZXRoZXI/Cgo+ICAgICAgfTsKPiAgfQo+ICAKPiBAQCAt
MjkxLDcgKzI5MywxMCBAQCBzdWIgcGFyc2Vfdm9sbmFtZSB7Cj4gICAgICBQVkU6OlN0b3JhZ2U6
OlBsdWdpbjo6cGFyc2VfbHZtX25hbWUoJHZvbG5hbWUpOwo+ICAKPiAgICAgIGlmICgkdm9sbmFt
ZSA9fiBtL14odm0tKFxkKyktXFMrKSQvKSB7Cj4gLQlyZXR1cm4gKCdpbWFnZXMnLCAkMSwgJDIs
IHVuZGVmLCB1bmRlZiwgdW5kZWYsICdyYXcnKTsKPiArCW15ICRuYW1lID0gJDE7Cj4gKwlteSAk
dm1pZCA9ICQyOwo+ICsJbXkgJGZvcm1hdCA9ICR2b2xuYW1lID1+IG0vXC5xY293MiQvID8gJ3Fj
b3cyJyA6ICdyYXcnOwo+ICsJcmV0dXJuICgnaW1hZ2VzJywgJG5hbWUsICR2bWlkLCB1bmRlZiwg
dW5kZWYsIHVuZGVmLCAkZm9ybWF0KTsKPiAgICAgIH0KPiAgCj4gICAgICBkaWUgInVuYWJsZSB0
byBwYXJzZSBsdm0gdm9sdW1lIG5hbWUgJyR2b2xuYW1lJ1xuIjsKPiBAQCAtMzAwLDExICszMDUs
MTMgQEAgc3ViIHBhcnNlX3ZvbG5hbWUgewo+ICBzdWIgZmlsZXN5c3RlbV9wYXRoIHsKPiAgICAg
IG15ICgkY2xhc3MsICRzY2ZnLCAkdm9sbmFtZSwgJHNuYXBuYW1lKSA9IEBfOwo+ICAKPiAtICAg
IGRpZSAibHZtIHNuYXBzaG90IGlzIG5vdCBpbXBsZW1lbnRlZCJpZiBkZWZpbmVkKCRzbmFwbmFt
ZSk7Cj4gKyAgICBteSAoJHZ0eXBlLCAkbmFtZSwgJHZtaWQsICRiYXNlbmFtZSwgJGJhc2V2bWlk
LCAkaXNCYXNlLCAkZm9ybWF0KSA9Cj4gKwkkY2xhc3MtPnBhcnNlX3ZvbG5hbWUoJHZvbG5hbWUp
Owo+ICAKPiAtICAgIG15ICgkdnR5cGUsICRuYW1lLCAkdm1pZCkgPSAkY2xhc3MtPnBhcnNlX3Zv
bG5hbWUoJHZvbG5hbWUpOwo+ICsgICAgZGllICJzbmFwc2hvdCBpcyB3b3JraW5nIHdpdGggcWNv
dzIgZm9ybWF0IG9ubHkiIGlmIGRlZmluZWQoJHNuYXBuYW1lKSAmJiAkZm9ybWF0IG5lICdxY293
Mic7Cj4gIAo+ICAgICAgbXkgJHZnID0gJHNjZmctPnt2Z25hbWV9Owo+ICsgICAgJG5hbWUgPSAk
Y2xhc3MtPmdldF9zbmFwX3ZvbG5hbWUoJHZvbG5hbWUsICRzbmFwbmFtZSkgaWYgJHNuYXBuYW1l
Owo+ICAKPiAgICAgIG15ICRwYXRoID0gIi9kZXYvJHZnLyRuYW1lIjsKPiAgCj4gQEAgLTMzMiw3
ICszMzksOSBAQCBzdWIgZmluZF9mcmVlX2Rpc2tuYW1lIHsKPiAgCj4gICAgICBteSAkZGlza19s
aXN0ID0gWyBrZXlzICV7JGx2cy0+eyR2Z319IF07Cj4gIAo+IC0gICAgcmV0dXJuIFBWRTo6U3Rv
cmFnZTo6UGx1Z2luOjpnZXRfbmV4dF92bV9kaXNrbmFtZSgkZGlza19saXN0LCAkc3RvcmVpZCwg
JHZtaWQsIHVuZGVmLCAkc2NmZyk7Cj4gKyAgICAkYWRkX2ZtdF9zdWZmaXggPSAkZm10IGVxICdx
Y293MicgPyAxIDogdW5kZWY7Cj4gKwo+ICsgICAgcmV0dXJuIFBWRTo6U3RvcmFnZTo6UGx1Z2lu
OjpnZXRfbmV4dF92bV9kaXNrbmFtZSgkZGlza19saXN0LCAkc3RvcmVpZCwgJHZtaWQsICRmbXQs
ICRzY2ZnLCAkYWRkX2ZtdF9zdWZmaXgpOwo+ICB9Cj4gIAo+ICBzdWIgbHZjcmVhdGUgewo+IEBA
IC0zNjMsNyArMzcyLDE1IEBAIHN1YiBsdnJlbmFtZSB7Cj4gIHN1YiBhbGxvY19pbWFnZSB7Cj4g
ICAgICBteSAoJGNsYXNzLCAkc3RvcmVpZCwgJHNjZmcsICR2bWlkLCAkZm10LCAkbmFtZSwgJHNp
emUpID0gQF87Cj4gIAo+IC0gICAgZGllICJ1bnN1cHBvcnRlZCBmb3JtYXQgJyRmbXQnIiBpZiAk
Zm10IG5lICdyYXcnOwo+ICsgICAgZGllICJ1bnN1cHBvcnRlZCBmb3JtYXQgJyRmbXQnIiBpZiAk
Zm10ICF+IG0vKHJhd3xxY293MikvOwo+ICsKPiArICAgICRuYW1lID0gJGNsYXNzLT5hbGxvY19u
ZXdfaW1hZ2UoJHN0b3JlaWQsICRzY2ZnLCAkdm1pZCwgJGZtdCwgJG5hbWUsICRzaXplKTsKPiAr
ICAgICRjbGFzcy0+Zm9ybWF0X3Fjb3cyKCRzdG9yZWlkLCAkc2NmZywgJG5hbWUsICRzaXplKSBp
ZiAkZm10IGVxICdxY293Mic7Cj4gKyAgICByZXR1cm4gJG5hbWU7Cj4gK30KPiArCj4gK3N1YiBh
bGxvY19uZXdfaW1hZ2Ugewo+ICsgICAgbXkgKCRjbGFzcywgJHN0b3JlaWQsICRzY2ZnLCAkdm1p
ZCwgJGZtdCwgJG5hbWUsICRzaXplKSA9IEBfOwo+ICAKPiAgICAgIGRpZSAiaWxsZWdhbCBuYW1l
ICckbmFtZScgLSBzaG91bGQgYmUgJ3ZtLSR2bWlkLSonXG4iCj4gIAlpZiAgJG5hbWUgJiYgJG5h
bWUgIX4gbS9edm0tJHZtaWQtLzsKPiBAQCAtMzc2LDE2ICszOTMsNDUgQEAgc3ViIGFsbG9jX2lt
YWdlIHsKPiAgCj4gICAgICBteSAkZnJlZSA9IGludCgkdmdzLT57JHZnfS0+e2ZyZWV9KTsKPiAg
Cj4gKwo+ICsgICAgI2FkZCBleHRyYSBzcGFjZSBmb3IgcWNvdzIgbWV0YWRhdGFzCj4gKyAgICAj
d2l0aG91dCBzdWItYWxsb2NhdGVkIGNsdXN0ZXJzIDogRm9yIDFUQiBzdG9yYWdlIDogbDJfc2l6
ZSA9IGRpc2tfc2l6ZSDDlyA4IC8gY2x1c3Rlcl9zaXplCj4gKyAgICAjd2l0aCBzdWItYWxsb2Nh
dGVkIGNsdXN0ZXJzIDogRm9yIDFUQiBzdG9yYWdlIDogbDJfc2l6ZSA9IGRpc2tfc2l6ZSDDlyA4
IC8gY2x1c3Rlcl9zaXplIC8gMTYKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjNE1CIG92ZXJoZWFkIGZvciAxVEIgd2l0aCBleHRlbnRlZCBsMiBjbHVzdGVyc2l6ZT0xMjhr
Cj4gKwo+ICsgICAgbXkgJHFjb3cyX292ZXJoZWFkID0gY2VpbCgkc2l6ZS8xMDI0LzEwMjQvMTAy
NCkgKiA0MDk2OwoKdGhlcmUncyAicWVtdS1pbWcgbWVhc3VyZSIsIHdoaWNoIHNlZW1zIGxpa2Ug
aXQgd291bGQgZG8gZXhhY3RseSB3aGF0IHdlIHdhbnQgOykKCj4gKwo+ICsgICAgbXkgJGx2bXNp
emUgPSAkc2l6ZTsKPiArICAgICRsdm1zaXplICs9ICRxY293Ml9vdmVyaGVhZCBpZiAkZm10IGVx
ICdxY293Mic7Cj4gKwo+ICAgICAgZGllICJub3QgZW5vdWdoIGZyZWUgc3BhY2UgKCRmcmVlIDwg
JHNpemUpXG4iIGlmICRmcmVlIDwgJHNpemU7Cj4gIAo+IC0gICAgJG5hbWUgPSAkY2xhc3MtPmZp
bmRfZnJlZV9kaXNrbmFtZSgkc3RvcmVpZCwgJHNjZmcsICR2bWlkKQo+ICsgICAgJG5hbWUgPSAk
Y2xhc3MtPmZpbmRfZnJlZV9kaXNrbmFtZSgkc3RvcmVpZCwgJHNjZmcsICR2bWlkLCAkZm10KQo+
ICAJaWYgISRuYW1lOwo+ICAKPiAtICAgIGx2Y3JlYXRlKCR2ZywgJG5hbWUsICRzaXplLCBbInB2
ZS12bS0kdm1pZCJdKTsKPiAtCj4gKyAgICBteSAkdGFncyA9IFsicHZlLXZtLSR2bWlkIl07Cj4g
KyAgICBwdXNoIEAkdGFncywgIlxAcHZlLSRuYW1lIiBpZiAkZm10IGVxICdxY293Mic7Cgp0aGF0
J3MgYSBjcmVhdGl2ZSB3YXkgdG8gYXZvaWQgdGhlIG5lZWQgdG8gZGlzY292ZXIgYW5kIGFjdGl2
YXRlIHNuYXBzaG90cyBvbmUgYnkgb25lIGJlbG93LCBidXQgaXQgbWlnaHQgd2FycmFudCBhIGNv
bW1lbnQgOykKCj4gKyAgICBsdmNyZWF0ZSgkdmcsICRuYW1lLCAkbHZtc2l6ZSwgJHRhZ3MpOwo+
ICAgICAgcmV0dXJuICRuYW1lOwo+ICB9Cj4gIAo+ICtzdWIgZm9ybWF0X3Fjb3cyIHsKPiArICAg
IG15ICgkY2xhc3MsICRzdG9yZWlkLCAkc2NmZywgJG5hbWUsICRzaXplLCAkYmFja2luZ19maWxl
KSA9IEBfOwo+ICsKPiArICAgICMgYWN0aXZhdGUgdm9sdW1lCj4gKyAgICAkY2xhc3MtPmFjdGl2
YXRlX3ZvbHVtZSgkc3RvcmVpZCwgJHNjZmcsICRuYW1lLCB1bmRlZiwge30pOwo+ICsgICAgbXkg
JHBhdGggPSAkY2xhc3MtPnBhdGgoJHNjZmcsICRuYW1lLCAkc3RvcmVpZCk7Cj4gKyAgICAjIGNy
ZWF0ZSB0aGUgcWNvdzIgZnMKPiArICAgIG15ICRjbWQgPSBbJy91c3IvYmluL3FlbXUtaW1nJywg
J2NyZWF0ZSddOwo+ICsgICAgcHVzaCBAJGNtZCwgJy1iJywgJGJhY2tpbmdfZmlsZSwgJy1GJywg
J3Fjb3cyJyBpZiAkYmFja2luZ19maWxlOwo+ICsgICAgcHVzaCBAJGNtZCwgJy1mJywgJ3Fjb3cy
JywgJHBhdGg7Cj4gKyAgICBwdXNoIEAkY21kLCAiJHtzaXplfUsiIGlmICRzaXplOwo+ICsgICAg
bXkgJG9wdGlvbnMgPSAiZXh0ZW5kZWRfbDI9b24sIjsKPiArICAgICRvcHRpb25zIC49IFBWRTo6
U3RvcmFnZTo6UGx1Z2luOjpwcmVhbGxvY2F0aW9uX2NtZF9vcHRpb24oJHNjZmcsICdxY293Micp
Owo+ICsgICAgcHVzaCBAJGNtZCwgJy1vJywgJG9wdGlvbnM7Cj4gKyAgICBydW5fY29tbWFuZCgk
Y21kKTsKPiArfQo+ICsKPiAgc3ViIGZyZWVfaW1hZ2Ugewo+ICAgICAgbXkgKCRjbGFzcywgJHN0
b3JlaWQsICRzY2ZnLCAkdm9sbmFtZSwgJGlzQmFzZSkgPSBAXzsKPiAgCj4gQEAgLTUzNiw2ICs1
ODIsMTIgQEAgc3ViIGFjdGl2YXRlX3ZvbHVtZSB7Cj4gIAo+ICAgICAgbXkgJGx2bV9hY3RpdmF0
ZV9tb2RlID0gJ2V5JzsKPiAgCj4gKyAgICAjYWN0aXZhdGUgdm9sdW1lICYmIGFsbCBzbmFwc2hv
dHMgdm9sdW1lcyBieSB0YWcKPiArICAgIG15ICgkdnR5cGUsICRuYW1lLCAkdm1pZCwgJGJhc2Vu
YW1lLCAkYmFzZXZtaWQsICRpc0Jhc2UsICRmb3JtYXQpID0KPiArCSRjbGFzcy0+cGFyc2Vfdm9s
bmFtZSgkdm9sbmFtZSk7Cj4gKwo+ICsgICAgJHBhdGggPSAiXEBwdmUtJG5hbWUiIGlmICRmb3Jt
YXQgZXEgJ3Fjb3cyJzsKPiArCj4gICAgICBteSAkY21kID0gWycvc2Jpbi9sdmNoYW5nZScsICIt
YSRsdm1fYWN0aXZhdGVfbW9kZSIsICRwYXRoXTsKPiAgICAgIHJ1bl9jb21tYW5kKCRjbWQsIGVy
cm1zZyA9PiAiY2FuJ3QgYWN0aXZhdGUgTFYgJyRwYXRoJyIpOwo+ICAgICAgJGNtZCA9IFsnL3Ni
aW4vbHZjaGFuZ2UnLCAnLS1yZWZyZXNoJywgJHBhdGhdOwo+IEBAIC01NDgsNiArNjAwLDEwIEBA
IHN1YiBkZWFjdGl2YXRlX3ZvbHVtZSB7Cj4gICAgICBteSAkcGF0aCA9ICRjbGFzcy0+cGF0aCgk
c2NmZywgJHZvbG5hbWUsICRzdG9yZWlkLCAkc25hcG5hbWUpOwo+ICAgICAgcmV0dXJuIGlmICEg
LWIgJHBhdGg7Cj4gIAo+ICsgICAgbXkgKCR2dHlwZSwgJG5hbWUsICR2bWlkLCAkYmFzZW5hbWUs
ICRiYXNldm1pZCwgJGlzQmFzZSwgJGZvcm1hdCkgPQo+ICsJJGNsYXNzLT5wYXJzZV92b2xuYW1l
KCR2b2xuYW1lKTsKPiArICAgICRwYXRoID0gIlxAcHZlLSRuYW1lIiBpZiAkZm9ybWF0IGVxICdx
Y293Mic7Cj4gKwo+ICAgICAgbXkgJGNtZCA9IFsnL3NiaW4vbHZjaGFuZ2UnLCAnLWFsbicsICRw
YXRoXTsKPiAgICAgIHJ1bl9jb21tYW5kKCRjbWQsIGVycm1zZyA9PiAiY2FuJ3QgZGVhY3RpdmF0
ZSBMViAnJHBhdGgnIik7Cj4gIH0KPiBAQCAtNTU1LDE1ICs2MTEsMjcgQEAgc3ViIGRlYWN0aXZh
dGVfdm9sdW1lIHsKPiAgc3ViIHZvbHVtZV9yZXNpemUgewo+ICAgICAgbXkgKCRjbGFzcywgJHNj
ZmcsICRzdG9yZWlkLCAkdm9sbmFtZSwgJHNpemUsICRydW5uaW5nKSA9IEBfOwo+ICAKPiAtICAg
ICRzaXplID0gKCRzaXplLzEwMjQvMTAyNCkgLiAiTSI7Cj4gKyAgICBteSAoJHZ0eXBlLCAkbmFt
ZSwgJHZtaWQsICRiYXNlbmFtZSwgJGJhc2V2bWlkLCAkaXNCYXNlLCAkZm9ybWF0KSA9Cj4gKwkk
Y2xhc3MtPnBhcnNlX3ZvbG5hbWUoJHZvbG5hbWUpOwo+ICsKPiArICAgIG15ICRsdm1zaXplID0g
JHNpemUgLyAxMDI0Owo+ICsgICAgbXkgJHFjb3cyX292ZXJoZWFkID0gY2VpbCgkc2l6ZS8xMDI0
LzEwMjQvMTAyNC8xMDI0KSAqIDQwOTY7CgpzZWUgYWJvdmUKCj4gKyAgICAkbHZtc2l6ZSArPSAk
cWNvdzJfb3ZlcmhlYWQgaWYgJGZvcm1hdCBlcSAncWNvdzInOwo+ICsgICAgJGx2bXNpemUgPSAi
JHtsdm1zaXplfWsiOwo+ICAKPiAgICAgIG15ICRwYXRoID0gJGNsYXNzLT5wYXRoKCRzY2ZnLCAk
dm9sbmFtZSk7Cj4gLSAgICBteSAkY21kID0gWycvc2Jpbi9sdmV4dGVuZCcsICctTCcsICRzaXpl
LCAkcGF0aF07Cj4gKyAgICBteSAkY21kID0gWycvc2Jpbi9sdmV4dGVuZCcsICctTCcsICRsdm1z
aXplLCAkcGF0aF07Cj4gIAo+ICAgICAgJGNsYXNzLT5jbHVzdGVyX2xvY2tfc3RvcmFnZSgkc3Rv
cmVpZCwgJHNjZmctPntzaGFyZWR9LCB1bmRlZiwgc3ViIHsKPiAgCXJ1bl9jb21tYW5kKCRjbWQs
IGVycm1zZyA9PiAiZXJyb3IgcmVzaXppbmcgdm9sdW1lICckcGF0aCciKTsKPiAgICAgIH0pOwo+
ICAKPiArICAgIGlmKCEkcnVubmluZyAmJiAkZm9ybWF0IGVxICdxY293MicpIHsKPiArCW15ICRw
cmVhbGxvY19vcHQgPSBQVkU6OlN0b3JhZ2U6OlBsdWdpbjo6cHJlYWxsb2NhdGlvbl9jbWRfb3B0
aW9uKCRzY2ZnLCAkZm9ybWF0KTsKPiArCW15ICRjbWQgPSBbJy91c3IvYmluL3FlbXUtaW1nJywg
J3Jlc2l6ZScsICItLSRwcmVhbGxvY19vcHQiLCAnLWYnLCAkZm9ybWF0LCAkcGF0aCAsICRzaXpl
XTsKPiArCXJ1bl9jb21tYW5kKCRjbWQsIHRpbWVvdXQgPT4gMTApOwo+ICsgICAgfQo+ICsKPiAg
ICAgIHJldHVybiAxOwo+ICB9Cj4gIAo+IEBAIC01ODUsMzAgKzY1MywxNDkgQEAgc3ViIHZvbHVt
ZV9zaXplX2luZm8gewo+ICBzdWIgdm9sdW1lX3NuYXBzaG90IHsKPiAgICAgIG15ICgkY2xhc3Ms
ICRzY2ZnLCAkc3RvcmVpZCwgJHZvbG5hbWUsICRzbmFwKSA9IEBfOwo+ICAKPiAtICAgIGRpZSAi
bHZtIHNuYXBzaG90IGlzIG5vdCBpbXBsZW1lbnRlZCI7Cj4gKyAgICBteSAoJHZ0eXBlLCAkbmFt
ZSwgJHZtaWQsICRiYXNlbmFtZSwgJGJhc2V2bWlkLCAkaXNCYXNlLCAkZm9ybWF0KSA9Cj4gKyAg
ICAgICAgJGNsYXNzLT5wYXJzZV92b2xuYW1lKCR2b2xuYW1lKTsKPiArCj4gKyAgICBkaWUgImNh
bid0IHNuYXBzaG90IHRoaXMgaW1hZ2UgZm9ybWF0XG4iIGlmICRmb3JtYXQgbmUgJ3Fjb3cyJzsK
PiArCj4gKyAgICAkY2xhc3MtPmFjdGl2YXRlX3ZvbHVtZSgkc3RvcmVpZCwgJHNjZmcsICR2b2xu
YW1lLCB1bmRlZiwge30pOwo+ICsKPiArICAgIG15ICRzbmFwX3ZvbG5hbWUgPSAkY2xhc3MtPmdl
dF9zbmFwX3ZvbG5hbWUoJHZvbG5hbWUsICRzbmFwKTsKPiArICAgIG15ICRzbmFwX3BhdGggPSAk
Y2xhc3MtPnBhdGgoJHNjZmcsICR2b2xuYW1lLCAkc3RvcmVpZCwgJHNuYXApOwo+ICsKPiArICAg
IG15ICRzaXplID0gJGNsYXNzLT52b2x1bWVfc2l6ZV9pbmZvKCRzY2ZnLCAkc3RvcmVpZCwgJHZv
bG5hbWUsIDUpOwo+ICsKPiArICAgICNyZW5hbWUgY3VycmVudCBsdm0gdm9sdW1lIHRvIHNuYXAg
dm9sdW1lCj4gKyAgICBteSAkdmcgPSAkc2NmZy0+e3ZnbmFtZX07Cj4gKyAgICBwcmludCJyZW5h
bWUgJHZvbG5hbWUgdG8gJHNuYXBfdm9sbmFtZVxuIjsKPiArICAgIGV2YWwgeyBsdnJlbmFtZSgk
dmcsICR2b2xuYW1lLCAkc25hcF92b2xuYW1lKSB9IDsKCm1pc3NpbmcgZXJyb3IgaGFuZGxpbmcu
LgoKPiArCj4gKwo+ICsgICAgI2FsbG9jYXRlIGEgbmV3IGx2bSB2b2x1bWUKPiArICAgICRjbGFz
cy0+YWxsb2NfbmV3X2ltYWdlKCRzdG9yZWlkLCAkc2NmZywgJHZtaWQsICdxY293MicsICR2b2xu
YW1lLCAkc2l6ZS8xMDI0KTsKCm1pc3NpbmcgZXJyb3IgaGFuZGxpbmcKCj4gKyAgICBldmFsIHsK
PiArICAgICAgICAkY2xhc3MtPmZvcm1hdF9xY293Migkc3RvcmVpZCwgJHNjZmcsICR2b2xuYW1l
LCB1bmRlZiwgJHNuYXBfcGF0aCk7Cj4gKyAgICB9Owo+ICsKPiArICAgIGlmICgkQCkgewo+ICsg
ICAgICAgIGV2YWwgeyAkY2xhc3MtPmZyZWVfaW1hZ2UoJHN0b3JlaWQsICRzY2ZnLCAkdm9sbmFt
ZSwgMCkgfTsKPiArICAgICAgICB3YXJuICRAIGlmICRAOwo+ICsgICAgfQo+ICt9Cj4gKwo+ICtz
dWIgdm9sdW1lX3JvbGxiYWNrX2lzX3Bvc3NpYmxlIHsKPiArICAgIG15ICgkY2xhc3MsICRzY2Zn
LCAkc3RvcmVpZCwgJHZvbG5hbWUsICRzbmFwLCAkYmxvY2tlcnMpID0gQF87Cj4gKwo+ICsgICAg
bXkgJHNuYXBfcGF0aCA9ICRjbGFzcy0+cGF0aCgkc2NmZywgJHZvbG5hbWUsICRzdG9yZWlkLCAk
c25hcCk7Cj4gKwo+ICsgICAgbXkgJHNuYXBzaG90cyA9ICRjbGFzcy0+dm9sdW1lX3NuYXBzaG90
X2luZm8oJHNjZmcsICRzdG9yZWlkLCAkdm9sbmFtZSk7Cj4gKyAgICBteSAkcGFyZW50X3NuYXAg
PSAkc25hcHNob3RzLT57Y3VycmVudH0tPntwYXJlbnR9Owo+ICsKPiArICAgIHJldHVybiAxIGlm
ICEtZSAkc25hcF9wYXRoIHx8ICRzbmFwc2hvdHMtPnskcGFyZW50X3NuYXB9LT57ZmlsZX0gZXEg
JHNuYXBfcGF0aDsKCnRoZSBmaXJzdCBjb25kaXRpb24gaGVyZSBzZWVtcyB3cm9uZywgc2VlIHN0
b3JhZ2UgcGF0Y2ggIzEKCj4gKyAgICBkaWUgImNhbid0IHJvbGxiYWNrLCAnJHNuYXAnIGlzIG5v
dCBtb3N0IHJlY2VudCBzbmFwc2hvdCBvbiAnJHZvbG5hbWUnXG4iOwo+ICsKPiArICAgIHJldHVy
biAxOwo+ICB9Cj4gIAo+ICsKPiAgc3ViIHZvbHVtZV9zbmFwc2hvdF9yb2xsYmFjayB7Cj4gICAg
ICBteSAoJGNsYXNzLCAkc2NmZywgJHN0b3JlaWQsICR2b2xuYW1lLCAkc25hcCkgPSBAXzsKPiAg
Cj4gLSAgICBkaWUgImx2bSBzbmFwc2hvdCByb2xsYmFjayBpcyBub3QgaW1wbGVtZW50ZWQiOwo+
ICsgICAgZGllICJjYW4ndCByb2xsYmFjayBzbmFwc2hvdCB0aGlzIGltYWdlIGZvcm1hdFxuIiBp
ZiAkdm9sbmFtZSAhfiBtL1wuKHFjb3cyfHFlZCkkLzsKCmFib3ZlIHdlIG9ubHkgaGF2ZSBxY293
Miwgd2hpY2ggSU1ITyBtYWtlcyBtb3JlIHNlbnNlLi4KCj4gKwo+ICsgICAgbXkgKCR2dHlwZSwg
JG5hbWUsICR2bWlkLCAkYmFzZW5hbWUsICRiYXNldm1pZCwgJGlzQmFzZSwgJGZvcm1hdCkgPQo+
ICsgICAgICAgICRjbGFzcy0+cGFyc2Vfdm9sbmFtZSgkdm9sbmFtZSk7Cj4gKwo+ICsgICAgJGNs
YXNzLT5hY3RpdmF0ZV92b2x1bWUoJHN0b3JlaWQsICRzY2ZnLCAkdm9sbmFtZSwgdW5kZWYsIHt9
KTsKPiArICAgIG15ICRzaXplID0gJGNsYXNzLT52b2x1bWVfc2l6ZV9pbmZvKCRzY2ZnLCAkc3Rv
cmVpZCwgJHZvbG5hbWUsIDUpOwo+ICsgICAgbXkgJHNuYXBfcGF0aCA9ICRjbGFzcy0+cGF0aCgk
c2NmZywgJHZvbG5hbWUsICRzdG9yZWlkLCAkc25hcCk7Cj4gKwo+ICsgICAgI3NpbXBseSBkZWxl
dGUgdGhlIGN1cnJlbnQgc25hcHNob3QgYW5kIHJlY3JlYXRlIGl0Cj4gKyAgICAkY2xhc3MtPmZy
ZWVfaW1hZ2UoJHN0b3JlaWQsICRzY2ZnLCAkdm9sbmFtZSwgMCk7Cj4gKyAgICAkY2xhc3MtPmFs
bG9jX25ld19pbWFnZSgkc3RvcmVpZCwgJHNjZmcsICR2bWlkLCAncWNvdzInLCAkdm9sbmFtZSwg
JHNpemUvMTAyNCk7Cj4gKyAgICAkY2xhc3MtPmZvcm1hdF9xY293Migkc3RvcmVpZCwgJHNjZmcs
ICR2b2xuYW1lLCB1bmRlZiwgJHNuYXBfcGF0aCk7CgptaXNzaW5nIGVycm9yIGhhbmRsaW5nLi4K
Cj4gKwo+ICsgICAgcmV0dXJuIHVuZGVmOwo+ICB9Cj4gIAo+ICBzdWIgdm9sdW1lX3NuYXBzaG90
X2RlbGV0ZSB7Cj4gLSAgICBteSAoJGNsYXNzLCAkc2NmZywgJHN0b3JlaWQsICR2b2xuYW1lLCAk
c25hcCkgPSBAXzsKPiArICAgIG15ICgkY2xhc3MsICRzY2ZnLCAkc3RvcmVpZCwgJHZvbG5hbWUs
ICRzbmFwLCAkcnVubmluZykgPSBAXzsKPiArCj4gKyAgIGRpZSAiY2FuJ3QgZGVsZXRlIHNuYXBz
aG90IGZvciB0aGlzIGltYWdlIGZvcm1hdFxuIiBpZiAkdm9sbmFtZSAhfiBtL1wuKHFjb3cyfHFl
ZCkkLzsKCnNhbWUgYXMgYWJvdmUKCj4gKwo+ICsgICByZXR1cm4gMSBpZiAkcnVubmluZzsKPiAr
Cj4gKyAgIG15ICRjbWQgPSAiIjsKPiArICAgbXkgJHBhdGggPSAkY2xhc3MtPmZpbGVzeXN0ZW1f
cGF0aCgkc2NmZywgJHZvbG5hbWUpOwo+ICsKPiArCj4gKyAgIG15ICRzbmFwc2hvdHMgPSAkY2xh
c3MtPnZvbHVtZV9zbmFwc2hvdF9pbmZvKCRzY2ZnLCAkc3RvcmVpZCwgJHZvbG5hbWUpOwo+ICsg
ICBteSAkc25hcF9wYXRoID0gJHNuYXBzaG90cy0+eyRzbmFwfS0+e2ZpbGV9Owo+ICsgICBteSAk
c25hcF92b2xuYW1lID0gJHNuYXBzaG90cy0+eyRzbmFwfS0+e3ZvbG5hbWV9Owo+ICsgICByZXR1
cm4gaWYgIS1lICRzbmFwX3BhdGg7ICAjYWxyZWFkeSBkZWxldGVkID8KCnNob3VsZCBtYXliZSBi
ZSBhIGRpZT8KCj4gKwo+ICsgICBteSAkcGFyZW50X3NuYXAgPSAkc25hcHNob3RzLT57JHNuYXB9
LT57cGFyZW50fTsKPiArICAgbXkgJGNoaWxkX3NuYXAgPSAkc25hcHNob3RzLT57JHNuYXB9LT57
Y2hpbGR9Owo+ICsKPiArICAgbXkgJHBhcmVudF9wYXRoID0gJHNuYXBzaG90cy0+eyRwYXJlbnRf
c25hcH0tPntmaWxlfSBpZiAkcGFyZW50X3NuYXA7Cj4gKyAgIG15ICRjaGlsZF9wYXRoID0gJHNu
YXBzaG90cy0+eyRjaGlsZF9zbmFwfS0+e2ZpbGV9IGlmICRjaGlsZF9zbmFwOwo+ICsgICBteSAk
Y2hpbGRfdm9sbmFtZSA9ICRzbmFwc2hvdHMtPnskY2hpbGRfc25hcH0tPnt2b2xuYW1lfSBpZiAk
Y2hpbGRfc25hcDsKPiArCj4gKwo+ICsgICAjaWYgZmlyc3Qgc25hcHNob3QsIHdlIG1lcmdlIGNo
aWxkLCBhbmQgcmVuYW1lIHRoZSBzbmFwc2hvdCB0byBjaGlsZAo+ICsgICBpZighJHBhcmVudF9z
bmFwKSB7Cj4gKyAgICAgICAgI3dlIHVzZSBjb21taXQgaGVyZSwgYXMgaXQncyBmYXN0ZXIgdGhh
biByZWJhc2UKPiArICAgICAgICAjaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9x
ZW11LWRpc2N1c3MvMjAxOS0wOC9tc2cwMDA0MS5odG1sCj4gKyAgICAgICAgcHJpbnQiY29tbWl0
ICRjaGlsZF9wYXRoXG4iOwo+ICsgICAgICAgICRjbWQgPSBbJy91c3IvYmluL3FlbXUtaW1nJywg
J2NvbW1pdCcsICRjaGlsZF9wYXRoXTsKPiArICAgICAgICBydW5fY29tbWFuZCgkY21kKTsKPiAr
ICAgICAgICBwcmludCJkZWxldGUgJGNoaWxkX3ZvbG5hbWVcbiI7Cj4gKyAgICAgICAgJGNsYXNz
LT5mcmVlX2ltYWdlKCRzdG9yZWlkLCAkc2NmZywgJGNoaWxkX3ZvbG5hbWUsIDApOwo+ICsKPiAr
ICAgICAgICBwcmludCJyZW5hbWUgJHNuYXBfdm9sbmFtZSB0byAkY2hpbGRfdm9sbmFtZVxuIjsK
PiArCW15ICR2ZyA9ICRzY2ZnLT57dmduYW1lfTsKPiArICAgICAgICBsdnJlbmFtZSgkdmcsICRz
bmFwX3ZvbG5hbWUsICRjaGlsZF92b2xuYW1lKTsKCm1pc3NpbmcgZXJyb3IgaGFuZGxpbmcuLgoK
PiArICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgcHJpbnQiY29tbWl0ICRzbmFwX3BhdGhcbiI7Cj4g
KyAgICAgICAgJGNtZCA9IFsnL3Vzci9iaW4vcWVtdS1pbWcnLCAnY29tbWl0JywgJHNuYXBfcGF0
aF07CgpsZWZ0b3Zlcj8KCj4gKyAgICAgICAgI2lmIHdlIGRlbGV0ZSBhbiBpbnRlcm1lZGlhdGUg
c25hcHNob3QsIHdlIG5lZWQgdG8gbGluayB1cHBlciBzbmFwc2hvdCB0byBiYXNlIHNuYXBzaG90
Cj4gKyAgICAgICAgZGllICJtaXNzaW5nIHBhcmVudHNuYXAgc25hcHNob3QgdG8gcmViYXNlIGNo
aWxkICRjaGlsZF9wYXRoXG4iIGlmICEkcGFyZW50X3BhdGg7Cj4gKyAgICAgICAgcHJpbnQgImxp
bmsgJGNoaWxkX3NuYXAgdG8gJHBhcmVudF9zbmFwXG4iOwo+ICsgICAgICAgICRjbWQgPSBbJy91
c3IvYmluL3FlbXUtaW1nJywgJ3JlYmFzZScsICctdScsICctYicsICRwYXJlbnRfcGF0aCwgJy1G
JywgJ3Fjb3cyJywgJy1mJywgJ3Fjb3cyJywgJGNoaWxkX3BhdGhdOwo+ICsgICAgICAgIHJ1bl9j
b21tYW5kKCRjbWQpOwoKc2FtZSBhcyBmb3IgcGF0Y2ggIzEsIEkgYW0gbm90IHN1cmUgdGhlIC11
IGhlcmUgaXMgY29ycmVjdC4uCgo+ICsgICAgICAgICNkZWxldGUgdGhlIHNuYXBzaG90Cj4gKyAg
ICAgICAgJGNsYXNzLT5mcmVlX2ltYWdlKCRzdG9yZWlkLCAkc2NmZywgJHNuYXBfdm9sbmFtZSwg
MCk7Cj4gKyAgICB9Cj4gIAo+IC0gICAgZGllICJsdm0gc25hcHNob3QgZGVsZXRlIGlzIG5vdCBp
bXBsZW1lbnRlZCI7Cj4gIH0KPiAgCj4gIHN1YiB2b2x1bWVfaGFzX2ZlYXR1cmUgewo+ICAgICAg
bXkgKCRjbGFzcywgJHNjZmcsICRmZWF0dXJlLCAkc3RvcmVpZCwgJHZvbG5hbWUsICRzbmFwbmFt
ZSwgJHJ1bm5pbmcpID0gQF87Cj4gIAo+ICAgICAgbXkgJGZlYXR1cmVzID0gewo+IC0JY29weSA9
PiB7IGJhc2UgPT4gMSwgY3VycmVudCA9PiAxfSwKPiAtCXJlbmFtZSA9PiB7Y3VycmVudCA9PiAx
fSwKPiArICAgICAgICBjb3B5ID0+IHsKPiArICAgICAgICAgICAgYmFzZSA9PiB7IHFjb3cyID0+
IDEsIHJhdyA9PiAxfSwKPiArICAgICAgICAgICAgY3VycmVudCA9PiB7IHFjb3cyID0+IDEsIHJh
dyA9PiAxfSwKPiArICAgICAgICAgICAgc25hcCA9PiB7IHFjb3cyID0+IDEgfSwKPiArICAgICAg
ICB9LAo+ICsgICAgICAgICdyZW5hbWUnID0+IHsKPiArICAgICAgICAgICAgY3VycmVudCA9PiB7
IHFjb3cyID0+IDEsIHJhdyA9PiAxfSwKPiArICAgICAgICB9LAo+ICsgICAgICAgIHNuYXBzaG90
ID0+IHsKPiArICAgICAgICAgICAgY3VycmVudCA9PiB7IHFjb3cyID0+IDEgfSwKPiArICAgICAg
ICAgICAgc25hcCA9PiB7IHFjb3cyID0+IDEgfSwKPiArICAgICAgICB9LAo+ICsgICAgICAgIHRl
bXBsYXRlID0+IHsKPiArICAgICAgICAgICAgY3VycmVudCA9PiB7IHFjb3cyID0+IDEsIHJhdyA9
PiAxfSwKPiArICAgICAgICB9LAo+ICsjCWRvbid0IGFsbG93IHRvIGNsb25lIGFzIHdlIGNhbid0
IGFjdGl2YXRlIHRoZSBiYXNlIG9uIG11bHRpcGxlIGhvc3QgYXQgdGhlIHNhbWUgdGltZQo+ICsj
ICAgICAgIGNsb25lID0+IHsKPiArIyAgICAgICAgICAgYmFzZSA9PiB7IHFjb3cyID0+IDEsIHJh
dyA9PiAxfSwKPiArIyAgICAgICB9LAoKSSB0aGluayBhY3RpdmF0aW5nIHRoZSBiYXNlIHdvdWxk
IGFjdHVhbGx5IGJlIG9rYXksIHdlIGp1c3QgbXVzdCBuZXZlciB3cml0ZSB0byBpdD8gOykKCj4g
ICAgICB9Owo+ICAKPiAtICAgIG15ICgkdnR5cGUsICRuYW1lLCAkdm1pZCwgJGJhc2VuYW1lLCAk
YmFzZXZtaWQsICRpc0Jhc2UpID0KPiArCj4gKyAgICBteSAoJHZ0eXBlLCAkbmFtZSwgJHZtaWQs
ICRiYXNlbmFtZSwgJGJhc2V2bWlkLCAkaXNCYXNlLCAkZm9ybWF0KSA9Cj4gIAkkY2xhc3MtPnBh
cnNlX3ZvbG5hbWUoJHZvbG5hbWUpOwo+ICAKPiAgICAgIG15ICRrZXkgPSB1bmRlZjsKPiBAQCAt
NjE3LDcgKzgwNCw3IEBAIHN1YiB2b2x1bWVfaGFzX2ZlYXR1cmUgewo+ICAgICAgfWVsc2V7Cj4g
IAkka2V5ID0gICRpc0Jhc2UgPyAnYmFzZScgOiAnY3VycmVudCc7Cj4gICAgICB9Cj4gLSAgICBy
ZXR1cm4gMSBpZiAkZmVhdHVyZXMtPnskZmVhdHVyZX0tPnska2V5fTsKPiArICAgIHJldHVybiAx
IGlmIGRlZmluZWQoJGZlYXR1cmVzLT57JGZlYXR1cmV9LT57JGtleX0tPnskZm9ybWF0fSk7Cj4g
IAo+ICAgICAgcmV0dXJuIHVuZGVmOwo+ICB9Cj4gQEAgLTczOCw0ICs5MjUsMTIgQEAgc3ViIHJl
bmFtZV92b2x1bWUgewo+ICAgICAgcmV0dXJuICIke3N0b3JlaWR9OiR7dGFyZ2V0X3ZvbG5hbWV9
IjsKPiAgfQo+ICAKPiArc3ViIGdldF9zbmFwX3ZvbG5hbWUgewo+ICsgICAgbXkgKCRjbGFzcywg
JHZvbG5hbWUsICRzbmFwbmFtZSkgPSBAXzsKPiArCj4gKyAgICBteSAoJHZ0eXBlLCAkbmFtZSwg
JHZtaWQsICRiYXNlbmFtZSwgJGJhc2V2bWlkLCAkaXNCYXNlLCAkZm9ybWF0KSA9ICRjbGFzcy0+
cGFyc2Vfdm9sbmFtZSgkdm9sbmFtZSk7Cj4gKyAgICAkbmFtZSA9ICEkc25hcG5hbWUgfHwgJHNu
YXBuYW1lIGVxICdjdXJyZW50JyA/ICR2b2xuYW1lIDogInNuYXAtJHNuYXBuYW1lLSRuYW1lIjsK
PiArICAgIHJldHVybiAkbmFtZTsKPiArfQo+ICsKPiAgMTsKPiAtLSAKPiAyLjM5LjUKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpwdmUtZGV2ZWwgbWFp
bGluZyBsaXN0CnB2ZS1kZXZlbEBsaXN0cy5wcm94bW94LmNvbQpodHRwczovL2xpc3RzLnByb3ht
b3guY29tL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9wdmUtZGV2ZWwK