From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4EBE5C47258 for ; Tue, 23 Jan 2024 21:19:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FwK2sQxriU1QaHrE8TW0zcfY9KET/hrEaEE28MMaC6E=; b=xRw2D0BQA190N+ POgA1gTQ2nag2j1aJvGNdxokIzrtVra5oaXeTEz2lSNDANbAaPVe11ND2CoWY7vfE0TRsTuoW6xe+ tUgQEFKCOSgO0OskIbFvikQDBtE5DCATdgD5DYiWPu3Tm2P3vTF+U/SouIoch+xd7P4EP0NLNAww8 yWqZ55Nmvz2Gm3wcxS6Su24TzHQUOc5qT2N7cFVg4Dk+JcJ//lhXng47YmTqK3CQtIX6XV0Nhag/a vLVeRQUwI++Fwh1yFt6kKfLipY0qCGWE/o08SYgDPQ86J/AzAVup/5X9OnZ9rQmAx5ZKA1Z0c0Qln nGLBdI+UKLyg7PpQlXkw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSOBQ-000VTW-1j; Tue, 23 Jan 2024 21:19:48 +0000 Received: from linux.microsoft.com ([13.77.154.182]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1rSOBN-000VSu-1U for kexec@lists.infradead.org; Tue, 23 Jan 2024 21:19:47 +0000 Received: from [192.168.86.69] (unknown [50.46.228.62]) by linux.microsoft.com (Postfix) with ESMTPSA id 5D75220E34C8; Tue, 23 Jan 2024 13:19:44 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 5D75220E34C8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1706044784; bh=FhCAZ0J8Nyw2j0kmJdDbRBVbbMuhK1dHP+qsDzSwWj0=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=j5idd6wZyVRV5F2+PzanmZ+g9aHrVf6yeh+Q1K39JJ1xzbYn592CCnAvsa6rSP/+5 wR1NwHfJjYEOp72Z+MqZPAb93XjD2WTawJOBm91/tsSUFW+RnLVxNAZL6dKr2oR9Kj 5HF+FOjY8/EbrXcA4SQ5YvuNKMrnZIPz0cUK3xng= Message-ID: <022986e8-07f5-4d3d-8a60-f06dbae31ae8@linux.microsoft.com> Date: Tue, 23 Jan 2024 13:19:44 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 6/7] ima: make the kexec extra memory configurable Content-Language: en-US To: Stefan Berger , zohar@linux.ibm.com, roberto.sassu@huaweicloud.com, roberto.sassu@huawei.com, eric.snowberg@oracle.com, ebiederm@xmission.com, noodles@fb.com, bauermann@kolabnow.com, linux-integrity@vger.kernel.org, kexec@lists.infradead.org Cc: code@tyhicks.com, nramas@linux.microsoft.com, paul@paul-moore.com References: <20240122183804.3293904-1-tusharsu@linux.microsoft.com> <20240122183804.3293904-7-tusharsu@linux.microsoft.com> From: Tushar Sugandhi In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240123_131945_692443_C24C3012 X-CRM114-Status: GOOD ( 37.54 ) X-BeenThere: kexec@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "kexec" Errors-To: kexec-bounces+kexec=archiver.kernel.org@lists.infradead.org VGhhbmtzIGFnYWluIFN0ZWZhbiBmb3IgdGFraW5nIGEgbG9vay4KCk9uIDEvMjMvMjQgMTE6MDIs IFN0ZWZhbiBCZXJnZXIgd3JvdGU6Cj4gCj4gCj4gT24gMS8yMi8yNCAxMzozOCwgVHVzaGFyIFN1 Z2FuZGhpIHdyb3RlOgo+PiBUaGUgZXh0cmEgbWVtb3J5IGFsbG9jYXRlZCBmb3IgY2Fycnlpbmcg dGhlIElNQSBtZWFzdXJlbWVudCBsaXN0IGFjcm9zcwo+PiBrZXhlYyBpcyBoYXJkY29kZWQgYXMg aGFsZiBhIFBBR0UuwqAgTWFrZSBpdCBjb25maWd1cmFibGUuCj4+Cj4+IERlZmluZSBhIEtjb25m aWcgb3B0aW9uLCBJTUFfS0VYRUNfRVhUUkFfTUVNT1JZX0tCLCB0byBjb25maWd1cmUgdGhlCj4+ IGV4dHJhIG1lbW9yeSAoaW4ga2IpIHRvIGJlIGFsbG9jYXRlZCBmb3IgSU1BIG1lYXN1cmVtZW50 cyBhZGRlZCBkdXJpbmcKPj4ga2V4ZWMgc29mdCByZWJvb3QuwqAgRW5zdXJlIHRoZSBkZWZhdWx0 IHZhbHVlIG9mIHRoZSBvcHRpb24gaXMgc2V0IHN1Y2gKPj4gdGhhdCBleHRyYSBoYWxmIGEgcGFn ZSBvZiBtZW1vcnkgZm9yIGFkZGl0aW9uYWwgbWVhc3VyZW1lbnRzIGlzIGFsbG9jYXRlZAo+PiB0 byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KPj4KPj4gVXBkYXRlIGltYV9hZGRf a2V4ZWNfYnVmZmVyKCkgZnVuY3Rpb24gdG8gYWxsb2NhdGUgbWVtb3J5IGJhc2VkIG9uIHRoZQo+ PiBLY29uZmlnIG9wdGlvbiB2YWx1ZSwgcmF0aGVyIHRoYW4gdGhlIGN1cnJlbnRseSBoYXJkY29k ZWQgb25lLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBUdXNoYXIgU3VnYW5kaGkgPHR1c2hhcnN1QGxp bnV4Lm1pY3Jvc29mdC5jb20+Cj4+IC0tLQo+PiDCoCBzZWN1cml0eS9pbnRlZ3JpdHkvaW1hL0tj b25maWfCoMKgwqDCoCB8IDExICsrKysrKysrKysrCj4+IMKgIHNlY3VyaXR5L2ludGVncml0eS9p bWEvaW1hX2tleGVjLmMgfCAxNSArKysrKysrKysrLS0tLS0KPj4gwqAgMiBmaWxlcyBjaGFuZ2Vk LCAyMSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvc2Vj dXJpdHkvaW50ZWdyaXR5L2ltYS9LY29uZmlnIAo+PiBiL3NlY3VyaXR5L2ludGVncml0eS9pbWEv S2NvbmZpZwo+PiBpbmRleCA2MGE1MTFjNmI1ODMuLmZjMTAzMjg4ODUyYiAxMDA2NDQKPj4gLS0t IGEvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9LY29uZmlnCj4+ICsrKyBiL3NlY3VyaXR5L2ludGVn cml0eS9pbWEvS2NvbmZpZwo+PiBAQCAtMzM4LDMgKzMzOCwxNCBAQCBjb25maWcgSU1BX0RJU0FC TEVfSFRBQkxFCj4+IMKgwqDCoMKgwqAgZGVmYXVsdCBuCj4+IMKgwqDCoMKgwqAgaGVscAo+PiDC oMKgwqDCoMKgwqDCoMKgIFRoaXMgb3B0aW9uIGRpc2FibGVzIGh0YWJsZSB0byBhbGxvdyBtZWFz dXJlbWVudCBvZiBkdXBsaWNhdGUgCj4+IHJlY29yZHMuCj4+ICsKPj4gK2NvbmZpZyBJTUFfS0VY RUNfRVhUUkFfTUVNT1JZX0tCCj4+ICvCoMKgwqAgaW50Cj4+ICvCoMKgwqAgZGVwZW5kcyBvbiBJ TUEgJiYgSU1BX0tFWEVDCj4+ICvCoMKgwqAgZGVmYXVsdCAwCj4+ICvCoMKgwqAgaGVscAo+PiAr wqDCoMKgwqDCoCBJTUFfS0VYRUNfRVhUUkFfTUVNT1JZX0tCIGRldGVybWluZXMgdGhlIGV4dHJh IG1lbW9yeSB0byBiZQo+PiArwqDCoMKgwqDCoCBhbGxvY2F0ZWQgKGluIGtiKSBmb3IgSU1BIG1l YXN1cmVtZW50cyBhZGRlZCBkdXJpbmcga2V4ZWMgc29mdCAKPj4gcmVib290Lgo+PiArwqDCoMKg wqDCoCBJZiBzZXQgdG8gdGhlIGRlZmF1bHQgdmFsdWUsIGFuIGV4dHJhIGhhbGYgcGFnZSBvZiBt ZW1vcnkgZm9yCj4+ICvCoMKgwqDCoMKgIGFkZGl0aW9uYWwgbWVhc3VyZW1lbnRzIHdpbGwgYmUg YWxsb2NhdGVkIHRvIG1haW50YWluIGJhY2t3YXJkcwo+PiArwqDCoMKgwqDCoCBjb21wYXRpYmls aXR5Lgo+IAo+IElzIHRoZXJlIHJlYWxseSBhbiBpc3N1ZSB3aXRoICdiYWNrd2FyZHMgY29tcGF0 aWJpbGl0eScgdGhhdCB0aGUgdXNlciAKPiBuZWVkcyB0byBrbm93IGFib3V0ID8gRnJvbSBsb29r aW5nIGF0IHRoZSBjb2RlIGl0IHNlZW1zIG1vcmUgaW1wb3J0YW50IAo+IHRoYXQgYSBiaXQgb2Yg YWRkaXRpb25hbCBtZW1vcnkgaXMgcmVzZXJ2ZWQgbm93IHRvIGZpdCB0aGUga2V4ZWMgJ2xvYWQn IAo+IGFuZCAnZXhlYycgY3JpdGljYWwgZGF0YSBldmVudHMgYnV0IHRoYXQncyBub3QgJ2JhY2t3 YXJkcyBjb21wYXRpYmlsaXR5Jy4KPiAKSSB3YXMgY29udGVtcGxhdGluZyBob3cgdG8gcHV0IHRo ZSByaWdodCBkZXNjcmlwdGlvbiBpbiBwbGFjZSAKY29uc2lkZXJpbmcgdGhlIGNvbnZlcnNhdGlv biB3ZSBoYWQgaW4gdjMgb2YgdGhpcyBzZXJpZXNbMV0uCldpdGhvdXQgdGhhdCBjb250ZXh0WzFd IGRlZmF1bHQgMCBjb3VsZCBiZSBlcXVhbGx5IGNvbmZ1c2luZyB0byB0aGUgZW5kIAp1c2VyLiAg V2l0aCB0aGUgcGhyYXNlICdiYWNrd2FyZHMgY29tcGF0aWJpbGl0eScsIEkgd2FzIHRyeWluZyB0 byAKYWRkcmVzcyB0aGUgcG90ZW50aWFsIGNvbmZ1c2lvbiBhcm91bmQgdGhlIGRlZmF1bHQgdmFs dWUgMCBpbiB0aGUgY29uZmlnIAotIHRoYXQgaXQgcmVwcmVzZW50cyBoYWxmLWEtcGFnZSBhcyBk ZWZhdWx0LiBBbmQgdGhhdCBwYXJ0aWN1bGFyIHZhbHVlIApjaG9pY2UgKCBoYWxmLWEtcGFnZSkg aXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgpZb3UgYXJlIHJpZ2h0LCBJIHRoZSB1c2Vy IHNob3VsZG4ndCBjYXJlIGFib3V0IGl0LiAgQnV0IEkgaGFkIHRvIHN0YXJ0IApzb21ld2hlcmUg c28gdGhhdCB3ZSBjYW4gaGF2ZSB0aGlzIGRpc2N1c3Npb24gb24gdGhpcyB0aHJlYWQuIDopCgpM ZXQgbWUga25vdyBob3cgdGhpcyBkZXNjcmlwdGlvbiBsb29rcyBhZnRlciByZW1vdmluZyB0aGUg cGhyYXNlIAonYmFja3dhcmRzIGNvbXBhdGliaWxpdHknOgoKIiBJTUFfS0VYRUNfRVhUUkFfTUVN T1JZX0tCIGRldGVybWluZXMgdGhlIGV4dHJhIG1lbW9yeSB0byBiZQogICBhbGxvY2F0ZWQgKGlu IGtiKSBmb3IgSU1BIG1lYXN1cmVtZW50cyBhZGRlZCBkdXJpbmcga2V4ZWMgc29mdCByZWJvb3Qu CiAgIElmIHNldCB0byB0aGUgZGVmYXVsdCB2YWx1ZSwgYW4gZXh0cmEgaGFsZiBhIHBhZ2Ugb2Yg bWVtb3J5IGZvciB0aG9zZQogICBhZGRpdGlvbmFsIG1lYXN1cmVtZW50cyB3aWxsIGJlIGFsbG9j YXRlZC4iCgpMYXN0bHksIGRvIHlvdSB3YW50IG1lIHRvIGFkZCBzdWdnZXN0ZWQtYnkgYW5kL29y IHJldmlld2VkLWJ5IHRhZyB0byAKdGhpcyBwYXRjaD8gTGV0IG1lIGtub3cuIEkgd2lsbCBiZSBo YXBweSB0byBkbyBzby4KClRoYW5rcywKVHVzaGFyCgotLS0KWzFdIFN1YmplY3Q6IFJlOiBbUEFU Q0ggdjMgNi83XSBpbWE6IGNvbmZpZ3VyZSBtZW1vcnkgdG8gbG9nIGV2ZW50cyAKYmV0d2VlbiBr ZXhlYyBsb2FkIGFuZCBleGVjdXRlCmh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC9hMDk2MTNm Mi0wZDlmLTQxYTMtYjc4ZC1iMWIxZmQzNTYxNGNAbGludXgubWljcm9zb2Z0LmNvbS8KCk9uIDEv MTIvMjQgMDk6NDQsIE1pbWkgWm9oYXIgd3JvdGU6CiA+IE9uIFRodSwgMjAyNC0wMS0xMSBhdCAx Mjo1MiAtMDgwMCwgVHVzaGFyIFN1Z2FuZGhpIHdyb3RlOgogPiBbLi4uXQogPj4gSWYgd2UgZ28g d2l0aCB0aGUgS0JzIGFwcHJvYWNoIC0KID4+CiA+PiBoYWxmLWEtcGFnZSB0cmFuc2xhdGVzIHRv IGRpZmZlcmVudCBLQnMgb24gZGlmZmVyZW50IGFyY2hpdGVjdHVyZXMuCiA+PiBBbmQgc2V0dGlu ZyB0aGUgcmlnaHQgZGVmYXVsdCB2YWx1ZSBpbiBLQnMgd2hpY2ggd291bGQgdHJhbnNsYXRlIHRv CiA+PiB0aGUgZGVzaXJlZCBoYWxmLWEtcGFnZSwgb24gYSBnaXZlbiBhcmNoLCBpbnNpZGUgdGhl IEtjb25maWcgc2VlbXMKID4+IGZyYWdpbGUgKGFzIEkgbWVudGlvbmVkIGluIHRoZSBjb250ZXh0 IG9mIE9wdGlvbiBBIGluIG15IHByZXZpb3VzCiA+PiByZXNwb25zZS4KID4KID4gSG93IGFib3V0 IHNldHRpbmcgdGhlIGRlZmF1bHQgdmFsdWUgdG8gMCwgaW5kaWNhdGluZyBub3QgdG8gY2hhbmdl IAp0aGUgY3VycmVudAogPiBoYWxmIHBhZ2UgZGVmYXVsdC4gIEFueSBvdGhlciB2YWx1ZSB3b3Vs ZCBiZSBLQnMsIGFzIFN0ZWZhbiBzdWdnZXN0ZWQuCiA+ClRoYW5rcy4KVGhhdCdzIHdheSBtb3Jl IGVsZWdhbnQgdGhhbiB0aGUgb3RoZXIgYWx0ZXJuYXRpdmVzLgpJdCdzIGRlZmluaXRlbHkgZG9h YmxlIGluIEtDb25maWcgYW5kIGhhbmRsZSB0aGUgZGVmYXVsdCBpbiBjb2RlCmFwcHJvcHJpYXRl bHkuCgpJdCBtYXkgY2F1c2Ugc29tZSBjb25mdXNpb24gaW4gdGhlIGRvY3VtZW50YXRpb24gb2Yg dGhlIGNvbmZpZyBwYXJhbS4KQnV0IGl0IHdvdWxkIGJlIGEgd29yZGluZyBpc3N1ZSwgYW5kIHdl IGNhbiB3b3JrIG9uIGl0LgoKCj4gQWxzbyBtZW50aW9uIHRoaXMgYXMgYSBndWlkYW5jZSBvbiBl aXRoZXIgaG93IGtleGVjIGxvYWQrZXhlYyBuZWVkIHRvIGJlIAo+IHVzZWQgb3IgYXMgYSBoaW50 IHRoYXQgaXQgbWF5IHBvdGVudGlhbGx5IHJlcXVpcmUgYSBsb3Qgb2YgbWVtb3J5PyA6Cj4gCj4g VGhlIGFtb3VudCBvZiBleHRyYSBtZW1vcnkgdGhhdCBpcyBuZWNlc3NhcnkgdG8gY2FycnkgYWxs IG1lYXN1cmVtZW50cyAKPiBhY3Jvc3MgYSBrZXhlYyBkZXBlbmRzIG9uIG1lbW9yeSByZXF1aXJl bWVudHMgb2YgdGhlIG1lYXN1cmVtZW50cyB0YWtlbiAKPiBiZXR3ZWVuIHRoZSBrZXhlYyAnbG9h ZCcgYW5kICdleGVjJyBzdGFnZXMuIFRoZSBtb3JlIG1lYXN1cmVtZW50cyBhcmUgCj4gdGFrZW4s IHRoZSBtb3JlIGV4dHJhIG1lbW9yeSBpcyByZXF1aXJlZC4gTGFyZ2UgYW1vdW50cyBvZiBleHRy YSBtZW1vcnkgCj4gY2FuIGJlIGF2b2lkZWQgYnkgcnVubmluZyBrZXhlYyAnbG9hZCcgYW5kICdl eGVjJyBpbiBzaG9ydCBzZXF1ZW5jZS4KPiAKPj4gZGlmZiAtLWdpdCBhL3NlY3VyaXR5L2ludGVn cml0eS9pbWEvaW1hX2tleGVjLmMgCj4+IGIvc2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfa2V4 ZWMuYwo+PiBpbmRleCBmMjZiNWIzNDJkODQuLmMxMjZhYTY0OTRlOSAxMDA2NDQKPj4gLS0tIGEv c2VjdXJpdHkvaW50ZWdyaXR5L2ltYS9pbWFfa2V4ZWMuYwo+PiArKysgYi9zZWN1cml0eS9pbnRl Z3JpdHkvaW1hL2ltYV9rZXhlYy5jCj4+IEBAIC0xMjEsNiArMTIxLDcgQEAgdm9pZCBpbWFfYWRk X2tleGVjX2J1ZmZlcihzdHJ1Y3Qga2ltYWdlICppbWFnZSkKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgLmJ1Zl9taW4gPSAwLCAuYnVmX21heCA9IFVMT05HX01BWCwK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLnRvcF9kb3duID0gdHJ1 ZSB9Owo+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgYmluYXJ5X3J1bnRpbWVfc2l6ZTsKPj4g K8KgwqDCoCB1bnNpZ25lZCBsb25nIGV4dHJhX3NpemU7Cj4+IMKgwqDCoMKgwqAgLyogdXNlIG1v cmUgdW5kZXJzdGFuZGFibGUgdmFyaWFibGUgbmFtZXMgdGhhbiBkZWZpbmVkIGluIGtidWYgKi8K Pj4gwqDCoMKgwqDCoCB2b2lkICprZXhlY19idWZmZXIgPSBOVUxMOwo+PiBAQCAtMTI4LDE1ICsx MjksMTkgQEAgdm9pZCBpbWFfYWRkX2tleGVjX2J1ZmZlcihzdHJ1Y3Qga2ltYWdlICppbWFnZSkK Pj4gwqDCoMKgwqDCoCBpbnQgcmV0Owo+PiDCoMKgwqDCoMKgIC8qCj4+IC3CoMKgwqDCoCAqIFJl c2VydmUgYW4gZXh0cmEgaGFsZiBwYWdlIG9mIG1lbW9yeSBmb3IgYWRkaXRpb25hbCBtZWFzdXJl bWVudHMKPj4gLcKgwqDCoMKgICogYWRkZWQgZHVyaW5nIHRoZSBrZXhlYyBsb2FkLgo+PiArwqDC oMKgwqAgKiBSZXNlcnZlIGV4dHJhIG1lbW9yeSBmb3IgbWVhc3VyZW1lbnRzIGFkZGVkIGR1cmlu ZyBrZXhlYy4KPj4gwqDCoMKgwqDCoMKgICovCj4+IC3CoMKgwqAgYmluYXJ5X3J1bnRpbWVfc2l6 ZSA9IGltYV9nZXRfYmluYXJ5X3J1bnRpbWVfc2l6ZSgpOwo+PiArwqDCoMKgIGlmIChDT05GSUdf SU1BX0tFWEVDX0VYVFJBX01FTU9SWV9LQiA8PSAwKQo+PiArwqDCoMKgwqDCoMKgwqAgZXh0cmFf c2l6ZSA9IFBBR0VfU0laRSAvIDI7Cj4+ICvCoMKgwqAgZWxzZQo+PiArwqDCoMKgwqDCoMKgwqAg ZXh0cmFfc2l6ZSA9IENPTkZJR19JTUFfS0VYRUNfRVhUUkFfTUVNT1JZX0tCICogMTAyNDsKPj4g K8KgwqDCoCBiaW5hcnlfcnVudGltZV9zaXplID0gaW1hX2dldF9iaW5hcnlfcnVudGltZV9zaXpl KCkgKyBleHRyYV9zaXplOwo+PiArCj4+IMKgwqDCoMKgwqAgaWYgKGJpbmFyeV9ydW50aW1lX3Np emUgPj0gVUxPTkdfTUFYIC0gUEFHRV9TSVpFKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAga2V4ZWNf c2VnbWVudF9zaXplID0gVUxPTkdfTUFYOwo+PiDCoMKgwqDCoMKgIGVsc2UKPj4gLcKgwqDCoMKg wqDCoMKgIGtleGVjX3NlZ21lbnRfc2l6ZSA9IEFMSUdOKGltYV9nZXRfYmluYXJ5X3J1bnRpbWVf c2l6ZSgpICsKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFBBR0VfU0laRSAvIDIsIFBBR0VfU0laRSk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBrZXhlY19zZWdt ZW50X3NpemUgPSBBTElHTihiaW5hcnlfcnVudGltZV9zaXplLCBQQUdFX1NJWkUpOwo+PiArCj4+ IMKgwqDCoMKgwqAgaWYgKChrZXhlY19zZWdtZW50X3NpemUgPT0gVUxPTkdfTUFYKSB8fAo+PiDC oMKgwqDCoMKgwqDCoMKgwqAgKChrZXhlY19zZWdtZW50X3NpemUgPj4gUEFHRV9TSElGVCkgPiB0 b3RhbHJhbV9wYWdlcygpIC8gMikpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHByX2VycigiQmlu YXJ5IG1lYXN1cmVtZW50IGxpc3QgdG9vIGxhcmdlLlxuIik7Cj4gCj4gQ29kZSBMR1RNCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprZXhlYyBtYWlsaW5n IGxpc3QKa2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2tleGVjCg==