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 6E074C04E69 for ; Thu, 10 Aug 2023 04:43:29 +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=WwxSRWFOqH4JCzjXNj6nYhlgX50H8UfxxGRmgIbZW6E=; b=zYlpD2BS5TaP/v ULQs2NkyXepMN7awkONV8aDAXartkSAUUApYfuLUr1/Fr0poL9xnOftPMokOCdKYuT7ggcKNWdQm+ 3AdlJaAfwXmf0+wUWKswVfZDHCcRatP4eZn2/kuEduf3iQjrTGU0XhP9309POsZRGg6w/dJOvm5M8 Xr6Cyq29A0PnvWtK0A2zyHWlzmKjPMweg+r2iU9nDmmGrIawBVkfrW9KO8T7m6emSZCdHsTWnkDOT sVayzLKNA07gHL/UD8PEBCTB/8RjmEay2v5hHyTvDGKIRynsWFA1ZZBnbJkxBYicKY+0TFOnvA6kB CuQzsu7rL9bATgI7DW4g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qTxWA-006W5I-1p; Thu, 10 Aug 2023 04:43:26 +0000 Received: from linux.microsoft.com ([13.77.154.182]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qTxW8-006W4t-0r for kexec@lists.infradead.org; Thu, 10 Aug 2023 04:43:25 +0000 Received: from [192.168.87.33] (c-98-237-170-177.hsd1.wa.comcast.net [98.237.170.177]) by linux.microsoft.com (Postfix) with ESMTPSA id A0BBF20FC4EA; Wed, 9 Aug 2023 21:43:22 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com A0BBF20FC4EA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1691642603; bh=+DWHuLIIJxSXS0lU56QFsDV+CHctvOnp6IE9qUIPFpw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=GrwXMWX6LH8U2AqCe10fUsLzaM06uERFLo+aBdXSh5ba7sa8H77oV9SoSl5qX8yFc KfFaTemy6fxd4oELL5MrGlc4p73ScVS8polhHNbXHreTpvRGLHTdE0eGzGdcZAl5se 9bC1S/xkS9cuDLjg9fMsIzIUhm7k9nFT112Ic5A0= Message-ID: <5cb03349-7a32-8f74-f2a1-ff3c6247c1ef@linux.microsoft.com> Date: Wed, 9 Aug 2023 21:43:22 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [RFC] IMA Log Snapshotting Design Proposal Content-Language: en-US To: James Bottomley , Stefan Berger , Sush Shringarputale , linux-integrity@vger.kernel.org, zohar@linux.ibm.com, peterhuewe@gmx.de, jarkko@kernel.org, jgg@ziepe.ca, kgold@linux.ibm.com, bhe@redhat.com, vgoyal@redhat.com, dyoung@redhat.com, kexec@lists.infradead.org, jmorris@namei.org, Paul Moore , serge@hallyn.com Cc: code@tyhicks.com, nramas@linux.microsoft.com, linux-security-module@vger.kernel.org References: <5d21276a-daac-fc9b-add9-62e7c04bbdcd@linux.ibm.com> <8ad131f35c33cf10788344be6c981473971f9c1c.camel@HansenPartnership.com> <350ecdcbf7796f488807fcd7983414a02dd71be4.camel@HansenPartnership.com> <04fb2fe5-9ebe-b35f-bdde-6ef22786438f@linux.ibm.com> From: Tushar Sugandhi In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230809_214324_373606_7D59DB2D X-CRM114-Status: GOOD ( 42.73 ) 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 CgpPbiA4LzgvMjMgMTQ6NDEsIEphbWVzIEJvdHRvbWxleSB3cm90ZToKPiBPbiBUdWUsIDIwMjMt MDgtMDggYXQgMTY6MDkgLTA0MDAsIFN0ZWZhbiBCZXJnZXIgd3JvdGU6Cj4+Cj4+IE9uIDgvOC8y MyAxNDoyNiwgSmFtZXMgQm90dG9tbGV5IHdyb3RlOgo+Pj4gT24gVHVlLCAyMDIzLTA4LTA4IGF0 IDA5OjMxIC0wNDAwLCBTdGVmYW4gQmVyZ2VyIHdyb3RlOgo+Pj4+Cj4+Pj4gT24gOC84LzIzIDA4 OjM1LCBKYW1lcyBCb3R0b21sZXkgd3JvdGU6Cj4+Pj4+IE9uIE1vbiwgMjAyMy0wOC0wNyBhdCAx ODo0OSAtMDQwMCwgU3RlZmFuIEJlcmdlciB3cm90ZToKPj4+Pj4+Cj4+Pj4+PiBPbiA4LzEvMjMg MTc6MjEsIEphbWVzIEJvdHRvbWxleSB3cm90ZToKPj4+Pj4+PiBPbiBUdWUsIDIwMjMtMDgtMDEg YXQgMTI6MTIgLTA3MDAsIFN1c2ggU2hyaW5nYXJwdXRhbGUKPj4+Pj4+PiB3cm90ZToKPj4+Pj4+ PiBbLi4uXQo+Pj4+Pj4+PiBUcnVuY2F0aW5nIElNQSBsb2cgdG8gcmVjbGFpbSBtZW1vcnkgaXMg bm90IGZlYXNpYmxlLAo+Pj4+Pj4+PiBzaW5jZQo+Pj4+Pj4+PiBpdCBtYWtlcyB0aGUgbG9nIGdv IG91dCBvZiBzeW5jIHdpdGggdGhlIFRQTSBQQ1IgcXVvdGUKPj4+Pj4+Pj4gbWFraW5nCj4+Pj4+ Pj4+IHJlbW90ZSBhdHRlc3RhdGlvbiBmYWlsLgo+Pj4+Pj4+IFRoaXMgYXNzdW1wdGlvbiBpc24n dCBlbnRpcmVseSB0cnVlLsKgIEl0J3MgcGVyZmVjdGx5Cj4+Pj4+Pj4gcG9zc2libGUKPj4+Pj4+ PiB0byBzaGFyZCBhbiBJTUEgbG9nIHVzaW5nIHR3byBUUE0yX1F1b3RlJ3MgZm9yIHRoZQo+Pj4+ Pj4+IGJlZ2lubmluZwo+Pj4+Pj4+IGFuZCBlbmQgUENSIHZhbHVlcyB0byB2YWxpZGF0ZSB0aGUg c2hhcmQuwqAgVGhlIElNQSBsb2cKPj4+Pj4+PiBjb3VsZCBiZQo+Pj4+Pj4+IHRydW5jYXRlZCBp biB0aGUgc2FtZSB3YXkgKHJlcGxhY2UgdGhlIHJlbW92ZWQgcGFydCBvZiB0aGUKPj4+Pj4+PiBs b2cKPj4+Pj4+PiB3aXRoIGEgVFBNMl9RdW90ZSBhbmQgQUssIHNvIHRoZSBsb2cgc3RpbGwgdmFs aWRhdGVzIGZyb20KPj4+Pj4+PiB0aGUKPj4+Pj4+PiBiZWdpbm5pbmcgcXVvdGUgdG8gdGhlIGVu ZCkuCj4+Pj4+Pj4KPj4+Pj4+PiBJZiB5b3UgdXNlIGEgVFBNMl9RdW90ZSBtZWNoYW5pc20gdG8g c2F2ZSB0aGUgbG9nLCBhbGwgeW91Cj4+Pj4+Pj4gbmVlZAo+Pj4+Pj4+IHRvIGRvIGlzIGhhdmUg dGhlIGtlcm5lbCBnZW5lcmF0ZSB0aGUgcXVvdGUgd2l0aCBhbgo+Pj4+Pj4+IGludGVybmFsCj4+ Pj4+Pj4gQUsuwqAgWW91IGNhbiBrZWVwIGEgcmVjb3JkIG9mIHRoZSBxdW90ZSBhbmQgdGhlIEFL IGF0IHRoZQo+Pj4+Pj4+IGJlZ2lubmluZyBvZiB0aGUgdHJ1bmNhdGVkIGtlcm5lbCBsb2cuwqAg SWYgdGhlIHRydW5jYXRlZAo+Pj4+Pj4+IGVudHJpZXMgYXJlIHNhdmVkIGluIGEgZmlsZSBzaGFy ZCBpdAo+Pj4+Pj4gVGhlIHRydW5jYXRpb24gc2VlbXMgZGFuZ2Vyb3VzIHRvIG1lLiBNYXliZSBu b3QgYWxsIHRoZQo+Pj4+Pj4gc2NlbmFyaW9zCj4+Pj4+PiB3aXRoIGFuIGF0dGVzdGF0aW9uIGNs aWVudCAoY2xpZW50ID0gcmVhZGluZyBsb2dzIGFuZAo+Pj4+Pj4gcXVvdGluZykKPj4+Pj4+IGFy ZSBwb3NzaWJsZSB0aGVuIGFueW1vcmUsIHN1Y2ggYXMgc3RhcnRpbmcgYW4gYXR0ZXN0YXRpb24K Pj4+Pj4+IGNsaWVudAo+Pj4+Pj4gb25seSBhZnRlciB0cnVuY2F0aW9uIGJ1dCBhIHZlcmlmaWVy IG11c3QgaGF2ZSB3aXRuZXNzZWQgdGhlCj4+Pj4+PiBzeXN0ZW0ncyBQQ1JzIGFuZCBsb2cgc3Rh dGUgYmVmb3JlIHRoZSB0cnVuY2F0aW9uIG9jY3VycmVkLgo+Pj4+PiBUaGF0J3Mgbm90IGV4YWN0 bHkgY29ycmVjdC7CoCBOb3RoaW5nIG5lZWRzIHRvIGhhdmUgIndpdG5lc3NlZCIKPj4+Pj4gdGhl Cj4+Pj4+IHN0YXJ0aW5nIFBDUiB2YWx1ZSBiZWNhdXNlIHRoZSBxdW90ZSB2b3VjaGVzIGZvciBp dCAoYW5kIGNhbgo+Pj4+PiB2b3VjaAo+Pj4+PiBmb3IgaXQgYWZ0ZXIgdGhlIGZhY3QpLsKgIFRo ZSBvbmx5IHRoaW5nIHlvdSBuZWVkIHRvIHZlcmlmeSB0aGUKPj4+Pj4gcXVvdGUgaXMgdGhlIGF0 dGVzdGF0aW9uIGtleSBhbmQgdGhlIG9ubHkgdGhpbmcgeW91IG5lZWQgdG8gZG8KPj4+Pj4gdG8K Pj4+Pj4gdHJ1c3QgdGhlIGF0dGVzdGF0aW9uIGtleSBpcyBlbnN1cmUgaXQgd2FzIFRQTSBjcmVh dGVkLsKgIEFsbCBvZgo+Pj4+PiB0aGF0IGNhbiBiZSB2ZXJpZmllZCBhZnRlciB0aGUgZmFjdCBh cyB3ZWxsLsKgIFRoZSBvbmx5IHRoaW5nCj4+Pj4+IHRoYXQKPj4+Pj4gY2FuIGJlIGRvbmUgdG8g ZGlzcnVwdCB0aGlzIGlzIHRvIGRlc3Ryb3kgdGhlIFRQTSAob3IgcmUtb3duCj4+Pj4+IGl0KS4+ Cj4+Pj4+IFJlbWVtYmVyIHRoZSBhc3N1bXB0aW9uIGlzIHlvdSAqYWxzbyogaGF2ZSB0aGUgcmVt b3ZlZCBsb2cKPj4+Pj4gc2hhcmQgdG8KPj4+Pj4gcHJlc2VudC7CoCBGcm9tIHRoYXQgdGhlIFBD UiBzdGF0ZSBvZiB0aGUgc3RhcnRpbmcgcXVvdGUgY2FuIGJlCj4+Pj4gWWVzLCB0aGUgd2hvbGUg c2VxdWVuY2Ugb2Ygb2xkIGxvZ3MgbmVlZHMgdG8gYmUgYXZhaWxhYmxlLgo+Pj4gWWVzIGFuZCBu by7CoCBJZiB0aGUgcGVyc29uIHJlbHlpbmcgb24gdGhlIGxvZ3MgaXMgaGFwcHkgdGhleSd2ZQo+ Pj4gZXh0cmFjdGVkIGFsbCB0aGUgZXZpZGVudGlhcnkgdmFsdWUgZnJvbSB0aGUgbG9nIGl0c2Vs ZiB0aGVuIHRoZXkKPj4+IGNhbgo+Pj4gcmVkdWNlIHRoZSBwcmVjZWRpbmcgbG9nIHNoYXJkIHRv IHNpbXBseSB0aGUgUENSIHZhbHVlcyB0aGF0IG1hdGNoCj4+PiB0aGUKPj4+IHF1b3RlIGFuZCBk aXNjYXJkIHRoZSByZXN0Lgo+Pj4KPj4+PiAgwqAgSUYgdGhhdCdzIHRoZSBjYXNlIGFuZCB0aGUg bG9ncyBjYW4gYmUgc3RpdGNoZWQgdG9nZXRoZXIKPj4+PiBzZWFtbGVzc2x5LCB3aG8gdGhlbiBs b29rcyBhdCB0aGUga2VybmVsIEFLIHF1b3RlIGFuZCB1bmRlciB3aGF0Cj4+Pj4gY2lyY3Vtc3Rh bmNlcz8KPj4+IEZvciBpbmNyZW1lbnRhbCBhdHRlc3RhdGlvbi7CoCBFYWNoIGxvZyBzaGFyZCBj YW4gYmUgdmVyaWZpZWQgdXNpbmcKPj4+IHRoZSBiYXNlIFBDUiB2YWx1ZXMgY29ycmVzcG9uZGlu ZyB0byB0aGUgYm90dG9tIHF1b3RlIHRoZW4gcmVwbGF5ZWQKPj4+IGFuZCB0aGUKPj4KPj4gU29t ZWhvdyB5b3UgaGF2ZSB0byB0ZWxsIGEgdmVyaWZpZXIgdG8gdGFrZSBhIHNuYXBzaG90IG9mIHRo ZSBjdXJyZW50Cj4+IHN0YXRlIG9mIHRoZSBQQ1JzIHdoZW4gaXQgcmVwbGF5cyB0aGUgbG9ncyB0 byBiZSBhYmxlIHRvIHRydW5jYXRlIHRoZQo+PiBsb2cuCj4gTm8sIHRoZSB2ZXJpZmllciBpcyBz ZXJ2ZXIgc2lkZS4gIEl0IHdvdWxkIGJlIHRoZSBhZ2VudCBvciB0aGUga2VybmVsLAo+IGNsaWVu dCBzaWRlLCB3aGljaCBnZXRzIHRoZSBxdW90ZSBhbmQgc2hhcmRzIHRoZSBsb2cuICBUaGF0IHdh eSB0aGUKPiBvcGVyYXRpb24gY2FuIGJlIGRvbmUgaW4gc3VjaCBhIHdheSBhcyB0byBtYWtlIHN1 cmUgdGhlIHF1b3RlIGFuZCB0aGUKPiBzaGFyZCBwb2ludCBtYXRjaC4gIEknZCBpbWFnaW5lIHRo ZSB2ZXJpZmllciBjYW4gcHJvdmlkZSBzb21lIHNvcnQgb2YKPiBndWlkZSBhcyB0byBob3cgYmln IGl0IHdhbnRzIHRoZSBzaGFyZHMgdG8gYmUgYW5kIHRoZSBjbGllbnQgY29tcGxpZXMuCll1cC4g QWdyZWVkLgo+PiBXaGV0aGVyIHRoZSBzdGF0ZSBvZiB0aGUgUENScyBpcyBpbiB0aGUgbG9nIGl0 c2VsZiBvciBpdCdzIGp1c3Qgc29tZQo+PiBzb3J0IG9mIGVudHJ5IGluIHRoZSBsb2cgaW5kaWNh dGluZyBhIHRydW5jYXRpb24gcHJvYmFibHkgZG9lc24ndAo+PiBtYXR0ZXIgZm9yIGFzIGxvbmcg YXMgdGhlIHZlcmlmeWluZyBzaWRlIGtlZXBzIHN0YXRlIG9mIHRoZSBQQ1JzIGF0Cj4+IHBvaW50 IG9mIHRydW5jYXRpb2tuLgo+IFRoZSBpZGVhIHdvdWxkIGJlIHRoZSBsb2cgc2hhcmQgd291bGQg YmUgc2VsZiBhdHRlc3RpbmcsIHRoYXQncyB3aHkKPiBxdW90ZSBhdCBiZWdpbm5pbmcgYW5kIGVu ZCAoYW5kIHByb2JhYmx5IFBDUiBzdGF0ZSBhdCBiZWdpbm5pbmcpLCBzbyBubwo+IHZlcmlmaWVy IHJlcXVpcmVkIHVudGlsIHNvbWVvbmUgd2FudHMgdG8gY2hlY2sgdGhlIGxvZy4KPgo+PiBBbHNv LCB0aGUgdmVyaWZ5aW5nIHNpZGUgbmVlZHMgdG8gdGFrZSBub3RpY2Ugb2YgdGhlIHRydXN0d29y dGhpbmVzcwo+PiBvZiB0aGUgc3lzdGVtIGF0IHRoZSB0aW1lIHRoZSBsb2cgd2FzIHRydW5jYXRl ZCBpbiBjYXNlIHRoZQo+PiBhdHRlc3RhdGlvbiBjbGllbnQgaXMgcmVzdGFydGVkIGFuZCBzdGFy dHMgb3V0IHNlbmRpbmcgdGhlIGxvZyB3aXRoCj4+IHRoZSBmaXJzdCBlbnRyeS4KPiBUaGF0J3Mg dXN1YWxseSB3aGF0IGEgcnVudGltZSB2ZXJpZmljYXRpb24gc3lzdGVtIGlzIGFjdHVhbGx5Cj4g dmVyaWZ5aW5nLCB5ZXMuCj4KPj4gICBUaGUgUENSIHN0YXRlIHNob3duIGF0IHRoZSBiZWdpbm5p bmcgb2YgdGhlIHRydW5jYXRlZCBsb2cgKHdoZW4KPj4gcmVzdGFydGluZyB0aGUgYXR0ZXN0YXRp b24gY2xpZW50KSBtdXN0IHRoZW4gbWF0Y2ggd2hlbiB0aGUgJ25vdGljZScKPj4gd2FzIHRha2Vu IGFuZCB0aGF0IGRldGVybWluZXMgaXRzIHRydXN0d29ydGhpbmVzcyBhdCB0aGlzIHBvaW50IGlu Cj4+IHRoZSBsb2cuCj4+Cj4+IFRoYXQgdGhlcmUncyBhIGtlcm5lbCBBSyBzaWduYXR1cmUKPiBB IHF1b3RlIGlzIGEgc2lnbmF0dXJlIG92ZXIgUENSIHN0YXRlIHNpZ25lZCBieSBhbiBBSywgeWVz Lgo+Cj4+ICAgYXQgdGhpcyBwb2ludCBkb2Vzbid0IHNlZW0gbmVjZXNzYXJ5IHNpbmNlIG9uZSBw cmVzdW1hYmx5IGNhbiB2ZXJpZnkKPj4gdGhlIGxvZyBhbmQgUENSIHN0YXRlcyBhdCB0aGUgZW5k IHdpdGggdGhlICdyZWd1bGFyJyBxdW90ZS4KPiBJIGRvbid0IHVuZGVyc3RhbmQgdGhpcy4gIEEg cmVndWxhciBxdW90ZSBpcyBhIHNpZ25hdHVyZSBvdmVyIFBDUiBzdGF0ZQo+IGJ5IGFuIEFLLiAg VGhlIHBvaW50IGFib3V0IHNhdmluZyB0aGUgQUsgaW4gdGhlIGxvZyBmb3IgdGhlIG9yaWdpbmFs IGlzCj4gdGhhdCBpZiB0aGUgKmtlcm5lbCogdHJ1bmNhdGVzIHRoZSBsb2cgYW5kIHNhdmVzIGl0 IHRvIGEgZmlsZSwgaXQgbmVlZHMKPiB0byBnZW5lcmF0ZSBib3RoIHRoZSBBSyBhbmQgdGhlIHF1 b3RlIGZvciB0aGUgdG9wIG9mIHRoZSBmaWxlIHNoYXJkLgo+IFRoYXQgbWVhbnMgdGhlIEFLL0VL IGJpbmRpbmcgaXMgdW52ZXJpZmllZCwgYnV0IGNhbiBiZSB2ZXJpZmllZCBieQo+IGxvYWRpbmcg dGhlIEFLIGFuZCBydW5uaW5nIHRoZSB1c3VhbCB0ZXN0cywgd2hpY2ggY2FuIG9ubHkgYmUgZG9u ZSBpZgo+IHlvdSBoYXZlIHRoZSBsb2FkYWJsZSBBSywgd2hpY2ggaXMgd2h5IHlvdSBuZWVkIGl0 IGFzIHBhcnQgb2YgdGhlIGxvZwo+IHNhdmluZyBwcm9wb3NhbC4KSSBoYWQgdGhpcyBxdWVzdGlv biBhYm91dCB0aGUgdXNhYmlsaXR5IG9mIEFLL0VLIGluIHRoaXMKY29udGV4dC4gQWx0aG91Z2gg QUsvRUsgKyBQQ1IgcXVvdGUgaXMgbmVlZGVkIHRvIHZlcmlmeSB0aGUgc25hcHNob3QKc2hhcmRz IC8gSU1BIGxvZ3MgYXJlIG5vdCB0YW1wZXJlZCB3aXRoLCBJIGFtIHN0aWxsIG5vdCBzdXJlIHdo eSBBSy9FSwpuZWVkcyB0byBiZSBwYXJ0IG9mIHRoZSBzaGFyZC9JTUEgbG9nLiBUaGUgY2xpZW50 IHNlbmRpbmcgQUsvRUsgdG8KYXR0ZXN0YXRpb24gc2VydmljZSBzZXBhcmF0ZWx5IHdvdWxkIHN0 aWxsIHNlcnZlIHRoZSBwdXJwb3NlLCByaWdodD8KCkZvciBpbnN0YW5jZSwgUENSIHF1b3RlcyB3 aWxsIGJlIHNpZ25lZCBieSBBSy4gU28gYXMgbG9uZyBhcyB0aGUgdmVyaWZpZXIKdHJ1c3RzIHRo ZSBBSy9FSywgaXQgY2FuIHZlcmlmeSB0aGUgcXVvdGVzIGFyZSBub3QgdGFtcGVyZWQgd2l0aC4K UmVwbGF5aW5nIElNQSBsb2cvc25hcHNob3QgY2FuIHByb2R1Y2UgdGhlIFBDUiBxdW90ZXMgd2hp Y2ggY2FuIGJlCm1hdGNoZWQgd2l0aCBzaWduZWQgUENSIHF1b3Rlcy4gSWYgdGhleSBtYXRjaCwg dGhlbiB0aGUgdmVyaWZpZXIgY2FuCmNvbmNsdWRlIHRoYXQgdGhlIElNQSBsb2cgaXMgbm90IHRh bXBlcmVkIHdpdGguIFNvIEFLIGRvZXNuJ3QgbmVlZCB0bwpiZSBwYXJ0IG9mIHRoZSBsb2cvc25h cHNob3QuCgpCVFcsIGluIHRoaXMgcHJvcG9zYWwsIGtlcm5lbCBpcyB0cnVuY2F0aW5nIHRoZSBs b2cgYW5kIHBhc3NpbmcgdGhlCnRydW5jYXRlZCBidWZmZXIgdG8gVU0uwqAgVU0gY2xpZW50IG5l ZWQgdG8gc2F2ZSBpdCB0byB0aGUgZGlzayBsb2NhdGlvbgpvZiBpdCdzIGNob2ljZS4KCgo+PiBO b2JvZHkgc2hvdWxkIGV2ZXIgdHJ1c3QgYSBzeXN0ZW0gYnkgc3RhcnRpbmcgdG8gbG9vayBhdCB0 aGUKPj4gYmVnaW5uaW5nIG9mIGEgdHJ1bmNhdGVkIGxvZy4gWW91IGhhdmUgdG8gaGF2ZSBldmFs dWF0ZWQgYWxsIHRoZQo+PiBlbnRyaWVzIGluIHRoZSBsb2cgYmVmb3JlIGFuZCBkZXRlcm1pbmVk IHdoZXRoZXIgdGhlIHN5c3RlbSB3YXMKPj4gdHJ1c3R3b3J0aHkuIEkgZG9uJ3QgdGhpbmsgdGhl IGtlcm5lbCBBSyBxdW90ZSBidXlzIG11Y2ggLSBhdCBsZWFzdAo+PiBub3QgZnJvbSB3aGF0IEkg Y2FuIHNlZS4KPiBZb3UgaGF2ZSBhIGxvZyBzaGFyZCB3aXRoIFBDUiBzdGF0ZSBhdCB0aGUgYmVn aW5uaW5nIGFuZCBjYWxjdWxhdGVkIGF0Cj4gdGhlIGVuZCwgYm90aCBvZiB3aGljaCB5b3UgY2Fu IHZlcmlmeS4gIEhvdyB5b3UgZXN0YWJsaXNoIHRydXN0IGluIHRoZQo+IHN0YXJ0aW5nIFBDUiB2 YWx1ZXMgb2YgdGhlIHNoYXJkIGlzIGEgcG9saWN5IGRlY2lzaW9uLCBidXQgdGhlIHBvbGljeQo+ IGRvZXNuJ3QgaGF2ZSB0byBiZSB5b3Ugc2VlIGV2ZXJ5IHNoYXJkIHVwIHRvIGJvb3QuICBZb3Ug Y291bGQgdGFrZSB0aGUKPiB3b3JkIG9mIHRoZSBzeXN0ZW0gb3duZXIgb24gYSBoYW5kb2ZmIG9m IHJlc3BvbnNpYmlsaXR5IGZvciBpbnN0YW5jZS4KQWdyZWVkLiBZb3UgZG9u4oCZdCBoYXZlIHRv IGdvIGFsbCB0aGUgd2F5IHRvIHRoZSBib290IHNuYXBzaG90CihzaGFyZCkuwqAgSXQgaXMgdXAg dG8gdGhlIGF0dGVzdGF0aW9uIHNlcnZpY2Ugd2hpY2ggbGFzdC1rbm93bi1nb29kIFBDUgpxdW90 ZXMgKHNvbWV0aW1lcyByZWZlcnJlZCBhcyBnb2xkZW4gUENSIHF1b3RlcykgaXQgdHJ1c3RzLCBh bmQgdmVyaWZ5CnRoZSBzbmFwc2hvdHMgLyBsb2dzIGFmdGVyIHRoYXQuCgp+VHVzaGFyCgo+IEph bWVzCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka2V4 ZWMgbWFpbGluZyBsaXN0CmtleGVjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rZXhlYwo=