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 D2DDBC04A94 for ; Tue, 1 Aug 2023 19:12: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:Subject:From:Cc:To:MIME-Version:Date:Message-ID: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=VVX9VjgR0BsyeZIuRmPLTfOU3r3Ct9cbHzJrM2qMHg0=; b=5Eprakvzn9IgGz+LNT0ghioybL VpZr/FndkzCfaEQQ/BZVoP4bOB1ygrYrQ1aXbuxAJu+9U2q6l3dZ/V2JecY0YDhCGCHLGrb/KXVTb /NNU1UdmmNyQGP/LYaSg7XaqqQhOinBakl4pt4JJrCotGR1H5CP3JCEQxz5j5Yq5Ux0p4imSwIHt8 3gm0i/Ug8O7AJNosmFZHwY9ndEmdUOh/noiiMDaMqKL+mJrTt4dlgKVRV1ZRZkzMzP1q8ArRxx+4b BO/B3xozDKDEdwFav+L5+NRFYj981Yc3CqR2+fRcVr8Hoco/SSxkYWAI0kO6oL7iYqAVH9tuEvyPG +Zf9qkkA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qQuna-00371V-2g; Tue, 01 Aug 2023 19:12:50 +0000 Received: from linux.microsoft.com ([13.77.154.182]) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qQunW-00370t-1S for kexec@lists.infradead.org; Tue, 01 Aug 2023 19:12:49 +0000 Received: from [10.137.114.52] (unknown [131.107.159.180]) by linux.microsoft.com (Postfix) with ESMTPSA id 4E97D238AE99; Tue, 1 Aug 2023 12:12:44 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 4E97D238AE99 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1690917164; bh=WDPyxQYUrT1OuL5jCB4Yx3BUjHclVnSk8QQX5DOJwNg=; h=Date:To:Cc:From:Subject:From; b=E4jc79E5/CiAauEkbMv1o+vjZzUDs0o5o6UR/C6tGqhqVnyzoNwwOb6xtyiZnSemS ajI3K4kZ1AS/mixx+GoDxsh7ZZi6vnIRksdByPeHdrZ5nRn52cnSPT9uCLY4hXFBSk XEGQt4X1kn25StUET97navTGXEkxdizNpdLAuxLM= Message-ID: Date: Tue, 1 Aug 2023 12:12:44 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Content-Language: en-US To: 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, Tushar Sugandhi , linux-security-module@vger.kernel.org From: Sush Shringarputale Subject: [RFC] IMA Log Snapshotting Design Proposal X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230801_121246_557811_BAEC49B4 X-CRM114-Status: GOOD ( 28.20 ) 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 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CnwgQS4gUHJv YmxlbSBTdGF0ZW1lbnTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgfAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K RGVwZW5kaW5nIG9uIHRoZSBJTUEgcG9saWN5LCB0aGUgSU1BIGxvZyBjYW4gY29uc3VtZSBhIGxv dCBvZiBLZXJuZWwgCm1lbW9yeSBvbgp0aGUgZGV2aWNlLsKgIEZvciBpbnN0YW5jZSwgdGhlIGV2 ZW50cyBmb3IgdGhlIGZvbGxvd2luZyBJTUEgcG9saWN5IAplbnRyaWVzIG1heQpuZWVkIHRvIGJl IG1lYXN1cmVkIGluIGNlcnRhaW4gc2NlbmFyaW9zLCBidXQgdGhleSBjYW4gYWxzbyBsZWFkIHRv IGEgCnZlcmJvc2UKSU1BIGxvZyB3aGVuIHRoZSBkZXZpY2UgaXMgcnVubmluZyBmb3IgYSBsb25n IHBlcmlvZCBvZiB0aW1lLgrilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilJAK4pSCIyBQUk9DX1NVUEVSX01BR0lDwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDilIIK4pSCbWVhc3VyZSBmc21hZ2ljPTB4 OWZhMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIOKUggrilIIjIFNZU0ZTX01BR0lD wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg4pSCCuKU gm1lYXN1cmUgZnNtYWdpYz0weDYyNjU2NTcywqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIOKUggri lIIjIERFQlVHRlNfTUFHSUPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIOKUggrilIJtZWFzdXJlIGZzbWFnaWM9MHg2NDYyNjcyMMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCDilIIK4pSCIyBUTVBGU19NQUdJQ8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIOKUggrilIJtZWFzdXJlIGZzbWFnaWM9MHgwMTAyMTk5NMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDilIIK4pSCIyBSQU1GU19NQUdJQ8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIOKUggrilIJtZWFzdXJlIGZzbWFn aWM9MHg4NTg0NThmNsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDilIIK4pSCIyBTRUNVUklUWUZT X01BR0lDwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDilIIK4pSCbWVh c3VyZSBmc21hZ2ljPTB4NzM2MzY2NzPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg4pSCCuKUgiMg T1ZFUkxBWUZTX01BR0lDwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IOKUggrilIJtZWFzdXJlIGZzbWFnaWM9MHg3OTRjNzYzMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCDilIIK4pSCIyBsb2csIGF1ZGl0IG9yIHRtcCBmaWxlc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIOKUggrilIJtZWFzdXJlIG9ial90eXBlPXZhcl9sb2dfdMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCDilIIK4pSCbWVhc3VyZSBvYmpfdHlwZT1hdWRpdGRfbG9nX3TCoMKgwqDCoMKgwqDCoMKg wqAg4pSCCuKUgm1lYXN1cmUgb2JqX3R5cGU9dG1wX3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCDilIIK4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSYCgpTZWNvbmRseSwgY2VydGFpbiBkZXZpY2VzIGFyZSBjb25m aWd1cmVkIHRvIHRha2UgS2VybmVsIHVwZGF0ZXMgdXNpbmcgS2V4ZWMKc29mdC1ib290LsKgIFRo ZSBJTUEgbG9nIGZyb20gdGhlIHByZXZpb3VzIEtlcm5lbCBnZXRzIGNhcnJpZWQgb3ZlciBhbmQg dGhlCktlcm5lbCBtZW1vcnkgY29uc3VtcHRpb24gcHJvYmxlbSB3b3JzZW5zIHdoZW4gc3VjaCBk ZXZpY2VzIHVuZGVyZ28gbXVsdGlwbGUKS2V4ZWMgc29mdC1ib290cyBvdmVyIGEgbG9uZyBwZXJp b2Qgb2YgdGltZS4KClRoZSBhYm92ZSB0d28gc2NlbmFyaW9zIGNhbiBjYXVzZSBJTUEgbG9nIHRv IGdyb3cgYW5kIGNvbnN1bWUgS2VybmVsIG1lbW9yeS4KCkluIGFkZGl0aW9uLCBhIGxhcmdlIElN QSBsb2cgY2FuIGFkZCBwcmVzc3VyZSBvbiB0aGUgbmV0d29yayBiYW5kd2lkdGggd2hlbgp0aGUg YXR0ZXN0YXRpb24gY2xpZW50IHNlbmRzIGl0IHRvIHJlbW90ZS1hdHRlc3RhdGlvbi1zZXJ2aWNl LgoKVHJ1bmNhdGluZyBJTUEgbG9nIHRvIHJlY2xhaW0gbWVtb3J5IGlzIG5vdCBmZWFzaWJsZSwg c2luY2UgaXQgbWFrZXMgdGhlIApsb2cgZ28Kb3V0IG9mIHN5bmMgd2l0aCB0aGUgVFBNIFBDUiBx dW90ZSBtYWtpbmcgcmVtb3RlIGF0dGVzdGF0aW9uIGZhaWwuCgpBIHNvcGhpc3RpY2F0ZWQgc29s dXRpb24gaXMgcmVxdWlyZWQgd2hpY2ggd2lsbCBoZWxwIHJlbGlldmUgdGhlIG1lbW9yeQpwcmVz c3VyZSBvbiB0aGUgZGV2aWNlIGFuZCBjb250aW51ZSBzdXBwb3J0aW5nIHJlbW90ZSBhdHRlc3Rh dGlvbiB3aXRob3V0CmRpc3J1cHRpb25zLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KfCBCLiBQcm9wb3NlZCBT b2x1dGlvbsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpJbiB0aGlz IGRvY3VtZW50LCB3ZSBwcm9wb3NlIGFuIGVuaGFuY2VtZW50IHRvIHRoZSBJTUEgc3Vic3lzdGVt IHRvIGltcHJvdmUKdGhlIGxvbmctcnVubmluZyBwZXJmb3JtYW5jZSBieSBzbmFwc2hvdHRpbmcg dGhlIElNQSBsb2csIHdoaWxlIHN0aWxsCnByb3ZpZGluZyBtZWNoYW5pc21zIHRvIHZlcmlmeSBp dHMgaW50ZWdyaXR5IHVzaW5nIHRoZSBQQ1IgcXVvdGVzLgoKVGhlIHJlbWFpbmRlciBvZiB0aGUg ZG9jdW1lbnQgZGVzY3JpYmVzIGRldGFpbHMgb2YgdGhlIHByb3Bvc2VkIHNvbHV0aW9uIAppbiB0 aGUKZm9sbG93aW5nIHN1Yi1zZWN0aW9ucy4KIMKgLSBIaWdoLWxldmVsIFdvcmstZmxvdwogwqAt IFNuYXBzaG90IFRyaWdnZXJpbmcgTWVjaGFuaXNtCiDCoC0gRGVzaWduIENob2ljZXMgZm9yIFN0 b3JpbmcgU25hcHNob3RzCiDCoC0gQXR0ZXN0YXRpb24tQ2xpZW50IGFuZCBSZW1vdGUtQXR0ZXN0 YXRpb24tU2VydmljZSBTaWRlIENoYW5nZXMKIMKgLSBFeGFtcGxlIFdhbGstdGhyb3VnaAogwqAt IE9wZW4gUXVlc3Rpb25zCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQp8IEIuMSBIaWdoLWxldmVsIFdvcmstZmxv d8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUHJlLXJlcXVpc2l0ZXM6Ci0gSU1B IEludGVncml0eSBndWFyYW50ZWVzIGFyZSBtYWludGFpbmVkLgoKVGhlIHByb3Bvc2VkIGhpZ2gg bGV2ZWwgd29yay1mbG93IG9mIElNQSBsb2cgc25hcHNob3R0aW5nIGlzIGFzIGZvbGxvd3M6Ci0g QSB1c2VyLW1vZGUgcHJvY2VzcyB3aWxsIHRyaWdnZXIgdGhlIHNuYXBzaG90IGJ5IG9wZW5pbmcg YSBmaWxlIGluIFN5c0ZTCiDCoCBzYXkgL3N5cy9rZXJuZWwvc2VjdXJpdHkvaW1hL3NuYXBzaG90 IChyZWZlcnJlZCB0byBhcyAKc3lza19pbWFfc25hcHNob3RfZmlsZQogwqAgaGVyZSBvbndhcmRz KS4KLSBUaGUgS2VybmVsIHdpbGwgZ2V0IHRoZSBjdXJyZW50IFRQTSBQQ1IgdmFsdWVzIGFuZCBQ Q1IgdXBkYXRlIGNvdW50ZXIgWzJdCiDCoCBhbmQgc3RvcmUgdGhlbSBhcyB0ZW1wbGF0ZSBkYXRh IGluIGEgbmV3IElNQSBldmVudCAic25hcHNob3RfYWdncmVnYXRlIi4KIMKgIFRoaXMgZXZlbnQg d2lsbCBiZSBtZWFzdXJlZCBieSBJTUEgdXNpbmcgY3JpdGljYWwgZGF0YSBtZWFzdXJlbWVudAog wqAgZnVuY3Rpb25hbGl0eSBbMV0uwqAgUmVjb3JkaW5nIHJlZ3VsYXIgSU1BIGV2ZW50cyB3aWxs IGJlIHBhdXNlZCB3aGlsZQogwqAgInNuYXBzaG90X2FnZ3JlZ2F0ZSIgaXMgYmVpbmcgY29tcHV0 ZWQgdXNpbmcgdGhlIGV4aXN0aW5nIElNQSBtdXRleCBsb2NrLgotIE9uY2UgdGhlICJzbmFwc2hv dF9hZ2dyZWdhdGUiIGlzIGNvbXB1dGVkIGFuZCBtZWFzdXJlZCBpbiBJTUEgbG9nLCB0aGUgCnBy aW9yCiDCoCBJTUEgZXZlbnRzIHdpbGwgYmUgbWFkZSBhdmFpbGFibGUgaW4gdGhlIHN5c2tfaW1h X3NuYXBzaG90X2ZpbGUuCi0gVGhlIFVNIHByb2Nlc3Mgd2lsbCBjb3B5IHRob3NlIElNQSBldmVu dHMgZnJvbSBzeXNrX2ltYV9zbmFwc2hvdF9maWxlIHRvIGEKIMKgIHNuYXBzaG90IGZpbGUgb24g ZGlzayBjaG9zZW4gYnkgVU0gKHJlZmVycmVkIHRvIGFzIFVNX3NuYXBzaG90X2ZpbGUgaGVyZQog wqAgb253YXJkcykuwqAgVGhlIGxvY2F0aW9uLCBmaWxlLXN5c3RlbSB0eXBlLCBhY2Nlc3MgcGVy bWlzc2lvbnMgZXRjLiBvZiB0aGUKIMKgIFVNX3NuYXBzaG90X2ZpbGUgd291bGQgYmUgY29udHJv bGxlZCBieSBVTSBwcm9jZXNzIGl0c2VsZi4KLSBPbmNlIFVNIGlzIGRvbmUgY29weWluZyB0aGUg SU1BIGV2ZW50cyBmcm9tIHN5c2tfaW1hX3NuYXBzaG90X2ZpbGUgdG8KIMKgIFVNX3NuYXBzaG90 X2ZpbGUsIGl0IHdpbGwgaW5kaWNhdGUgdG8gdGhlIEtlcm5lbCB0aGF0IHRoZSBzbmFwc2hvdCBj YW4gYmUKIMKgIGZpbmFsaXplZCBieSB0cmlnZ2VyaW5nIGEgd3JpdGUgd2l0aCBhbnkgZGF0YSB0 byB0aGUgCnN5c2tfaW1hX3NuYXBzaG90X2ZpbGUuCiDCoCBVTSBwcm9jZXNzIGNhbm5vdCBwcmV2 ZW50IHRoZSBJTUEgbG9nIHB1cmdlIG9wZXJhdGlvbiBhZnRlciB0aGlzIHBvaW50LgotIFRoZSBL ZXJuZWwgd2lsbCB0cnVuY2F0ZSB0aGUgY3VycmVudCBJTUEgbG9nIGFuZCBhbmQgY2xlYXIgSFRh YmxlIHVwIAp0byB0aGUKIMKgICJzbmFwc2hvdF9hZ2dyZWdhdGUiIG1hcmtlci4KLSBUaGUgS2Vy bmVsIHdpbGwgbWVhc3VyZSB0aGUgUENSIHVwZGF0ZSBjb3VudGVyIGFzIHBhcnQgb2YgbWVhc3Vy aW5nCiDCoCBzbmFwc2hvdF9hZ2dyZWdhdGUsIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYnkgdGhl IHJlbW90ZSBhdHRlc3RhdGlvbiAKc2VydmljZQogwqAgZm9yIGRldGVjdGluZyBtaXNzaW5nIGV2 ZW50cy4KLSBVTSBjYW4gcHJldmVudCB0aGUgSU1BIGxvZyBwdXJnZSBieSBjbG9zaW5nIHRoZSBz eXNrX2ltYV9zbmFwc2hvdF9maWxlCiDCoCB3aXRob3V0IHBlcmZvcm1pbmcgYSB3cml0ZSBvcGVy YXRpb24gb24gaXQuwqAgSW4gdGhpcyBjYXNlLCB3aGlsZSB0aGUKIMKgICJzbmFwc2hvdF9hZ2dy ZWdhdGUiIG1hcmtlciBtYXkgc3RpbGwgYmUgaW4gdGhlIGxvZywgdGhlIGV2ZW50IGNhbiBiZSAK aWdub3JlZAogwqAgc2luY2UgdGhlIHByZXZpb3VzIGVudHJpZXMgaW4gdGhlIElNQSBsb2cgd2ls bCBub3QgYmUgcHVyZ2VkLgoKTm90ZToKLSBUaGlzIHdvcmstZmxvdyBzaG91bGQgd29yayB3aGVu IGludGVybGVhdmVkIHdpdGggS2V4ZWMgJ2xvYWQnIGFuZCAKJ2V4ZWN1dGUnCiDCoCBldmVudHMg YW5kIHNob3VsZCBub3QgY2F1c2UgSU1BIGxvZyArIHNuYXBzaG90IHRvIGdvIG91dCBvZiBzeW5j IHdpdGggUENSCiDCoCBxdW90ZXMuIFRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGFyZSBvbWl0 dGVkIGZyb20gdGhpcyBkb2N1bWVudCBmb3IKIMKgIGJyZXZpdHkuCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cnwg Qi4yIFNuYXBzaG90IFRyaWdnZXJpbmcgTWVjaGFuaXNtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8 Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpUaGUgSU1B IHN1YnN5c3RlbSB3aWxsIGNyZWF0ZSBhIG5ldyBmaWxlOiAvc3lzL2tlcm5lbC9zZWN1cml0eS9p bWEvc25hcHNob3QKKGEuay5hLiBzeXNrX2ltYV9zbmFwc2hvdF9maWxlKS4gQSBVTSBwcm9jZXNz IG9wZW5pbmcgdGhpcyBmaWxlIHdpbGwgdHJpZ2dlcgp0aGUgc25hcHNob3QuwqAgVGhlIGZpbGUg d2lsbCBiZSBvcGVuZWQgZXhjbHVzaXZlbHksIHNvIG9ubHkgb25lIFVNIApwcm9jZXNzIGNhbgp0 cmlnZ2VyIHRoZSBzbmFwc2hvdCBhdCBhIHRpbWUuCk9uY2UgdGhlIGtlcm5lbCBoYXMgd3JpdHRl biB0aGUgc25hcHNob3RfYWdncmVnYXRlIG1hcmtlciB0byB0aGUgSU1BIApsb2csIHRoZQpJTUEg bG9nIHByaW9yIHRvIHRoYXQgY2FuIGJlIHJlYWQgYnkgVU0gb24gdGhlIHNhbWUgRkQuwqAgV2hl biBVTSB3cml0ZXMgc29tZQpkYXRhIHRvIHN5c2tfaW1hX3NuYXBzaG90X2ZpbGUsIHRoZSBrZXJu ZWwgd2lsbCBmaW5hbGl6ZSB0aGUgc25hcHNob3QuwqAgCklmIFVNCmNsb3NlcyBzeXNrX2ltYV9z bmFwc2hvdF9maWxlIHdpdGhvdXQgd3JpdGluZyB0byBpdCwgdGhlIEtlcm5lbCB3aWxsIG5vdApw dXJnZSB0aGUgSU1BIGxvZy4KCklmIGEgc3lzdGVtIGFkbWluaXN0cmF0b3IgcmVxdWlyZXMgdGhh dCBvbmx5IGEgc3BlY2lmaWMgY2xpZW50IHByb2Nlc3MgCnNob3VsZAp0cmlnZ2VyIHRoZSBzbmFw c2hvdCwgdGhpcyBjYXBhYmlsaXR5IGNhbiBiZSBzZXQgYXMgYW4gU2VMaW51eCBwb2xpY3kuCgot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQp8IEIuMyBEZXNpZ24gQ2hvaWNlcyBmb3IgU3RvcmluZyBTbmFwc2hvdHPC oMKgwqDCoCB8Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpDaG9vc2luZyB0aGUgc25hcHNob3QgbG9jYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgVU0gcHJv Y2Vzcy7CoCBUaGUgS2VybmVsIAp3aWxsCndhaXQgZm9yIHRoZSBVTSBwcm9jZXNzIHRvIGluZGlj YXRlIHRoYXQgdGhlIGN1cnJlbnQgSU1BIGxvZyBoYXMgYmVlbiAKd3JpdHRlbiB0bwpVTV9zbmFw c2hvdF9maWxlIGFuZCB0aGVuIHRoZSBLZXJuZWwgd2lsbCB0cnVuY2F0ZSB0aGUgSU1BIGxvZy4g VU0gaXMKcmVzcG9uc2libGUgdG8gY2xlYXIgYW55IGV4aXN0aW5nIFVNX3NuYXBzaG90X2ZpbGUo cykgb24gc3lzdGVtIHN0YXJ0IG9yIApvbiBhCmhhcmQgcmVib290L3Bvd2VyIGN5Y2xlLgoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CnwgQi40IEF0dGVzdGF0aW9uLUNsaWVu dCBhbmQgUmVtb3RlLUF0dGVzdGF0aW9uLVNlcnZpY2UgU2lkZSBDaGFuZ2VzIHwKPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpBIHJlbW90ZSBhdHRlc3RhdGlvbiBjbGllbnQgYW5kIHNlcnZpY2Ugd2lsbCBuZWVkIHRv IGJlIGF3YXJlIG9mIHRoZQpzbmFwc2hvdF9hZ2dyZWdhdGUgbWFya2VyIGFuZCBob3cgaXQgc2hv dWxkIGJlIGhhbmRsZWQuwqAgQSB0eXBpY2FsIAphdHRlc3RhdGlvbgpwYXRoIG9uIHRoZSBkZXZp Y2Ugd2lsbCByZW1haW4gdGhlIHNhbWUgLSBzZW5kIHRoZSBjdXJyZW50IElNQSBsb2cgYWxvbmcg CndpdGgKdGhlIHNpZ25lZCBUUE0gUENSIHF1b3RlcyB0byB0aGUgcmVtb3RlIGF0dGVzdGF0aW9u LXNlcnZpY2UuwqAgQnV0IHRoZQphdHRlc3RhdGlvbiBjbGllbnRzIGFuZCByZW1vdGUgc2Vydmlj ZXMgbmVlZCB0byBiZSBhd2FyZSB0aGF0IHRoZXkgbmVlZCAKdG8gdXNlClVNX3NuYXBzaG90X2Zp bGUocykgdG9vLCBhbG9uZyB3aXRoIFBDUiBxdW90ZXMgYW5kIHRoZSBkYXRhIGluCiJzbmFwc2hv dF9hZ2dyZWdhdGUiIGV2ZW50IGluIElNQSBsb2cgdG8gcmUtZXN0YWJsaXNoIHRoZSBjaGFpbiBv ZiB0cnVzdCBpZgp0aGUgZmVhdHVyZSBpcyBlbmFibGVkIGFuZCBhIHNuYXBzaG90IGlzIHRha2Vu LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KfCBCLjQuMSBBdHRlc3RhdGlvbi1DbGllbnQgc2lkZSBjaGFuZ2Vz wqDCoMKgwqDCoMKgwqAgfAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KVG8gdXNlIHNuYXBzaG90IGZlYXR1cmUsIHRoZSBhdHRlc3RhdGlvbiBjbGllbnQg aXMgcmVxdWlyZWQgdG8ga25vdwogwqDCoMKgIC0gaWYgc25hcHNob3R0aW5nIGlzIHN1cHBvcnRl ZC9lbmFibGVkIGJ5IHRoZSBLZXJuZWwKIMKgwqDCoCAtIGlmIHNuYXBzaG90dGluZyBpcyBzdXBw b3J0ZWQvZW5hYmxlZCBieSB0aGUgCnJlbW90ZS1hdHRlc3RhdGlvbi1zZXJ2aWNlCiDCoMKgwqDC oMKgIGl0IGludGVyYWN0cyB3aXRoCiDCoMKgwqAgLSB0aGUgY29ycmVjdCBvcmRlciBvZiBVTV9z bmFwc2hvdF9maWxlKHMpIGZvciBiYWNrdHJhY2tpbmcgdGhyb3VnaCB0aGUKIMKgwqDCoMKgwqAg SU1BIGxvZwoKVGhlIHByb3RvY29sIGJldHdlZW4gdGhlIGF0dGVzdGF0aW9uLWNsaWVudCBhbmQg cmVtb3RlLWF0dGVzdGF0aW9uLXNlcnZpY2UKbmVlZHMgdG8gYmUgdXBkYXRlZCB0byBzZW5kIHBy ZXZpb3VzIHNuYXBzaG90cyB0byB0aGUgc2VydmljZSBhcyByZXF1ZXN0ZWQuCgpGb3Igc2Vydmlj ZSB0cmFuc2l0aW9uLCBjbGllbnRzIGNvbm5lY3RlZCB0byBhIHNlcnZpY2UgdW5hd2FyZSBvZgpz bmFwc2hvdF9hZ2dyZWdhdGUgc2hvdWxkIG5vdCB3cml0ZSBhbnkgZGF0YSB0byB0aGUgc3lza19p bWFfc25hcHNob3RfZmlsZQpiZWZvcmUgY2xvc2luZyBpdC7CoCBUaGlzIHdpbGwgYWRkIHRoZSBz bmFwc2hvdF9hZ2dyZWdhdGUgbWFya2VyIHRvIHRoZSBJTUEKbG9nIHdpdGhvdXQgcHVyZ2luZyB0 aGUgbG9nLsKgIE9uY2UgdGhlIHNlcnZpY2UgaW1wbGVtZW50cyBzbmFwc2hvdF9hZ2dyZWdhdGUK cGFyc2luZywgdGhlIGNsaWVudCBjYW4gaW1wbGVtZW50IHRoZSBmdW5jdGlvbmFsaXR5IHRvwqAg d3JpdGUgdG8gdGhlCnN5c2tfaW1hX3NuYXBzaG90X2ZpbGUgZWFjaCB0aW1lIGl0IHRyaWdnZXJz IHRoZSBzbmFwc2hvdC7CoCBUaGlzIHdvdWxkIAppbmRpY2F0ZQp0byB0aGUgS2VybmVsIHRoYXQg dGhlIGxvZyBzaG91bGQgYmUgcHVyZ2VkLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KfCBCLjQuMiBSZW1vdGUt QXR0ZXN0YXRpb24tU2VydmljZSBzaWRlIGNoYW5nZXN8Cj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQpGb3IgcmVtb3RlIGF0dGVzdGF0aW9uIHRvIHdvcmss IHRoZSBzZXJ2aWNlIHdpbGwgbmVlZCB0byBrbm93IGhvdyB0byAKdmFsaWRhdGUKdGhlIHNuYXBz aG90X2FnZ3JlZ2F0ZSBlbnRyeSBpbiB0aGUgSU1BIGxvZy7CoCBJdCB3aWxsIGhhdmUgdG8gcmVh ZCB0aGUgUENSCnZhbHVlcyBwcmVzZW50IGluIHRoZSB0ZW1wbGF0ZSBkYXRhIG9mIHNuYXBzaG90 X2FnZ3JlZ2F0ZSBldmVudCBpbiB0aGUgCmxhdGVzdApJTUEgbG9nLCBhbmQgZW5zdXJlIHRoYXQg dGhlIFBDUiBxdW90ZXMgYWxpZ24gd2l0aCB0aGUgY29udGVudHMgb2YgdGhlIHBhc3QKVU1fc25h cHNob3RfZmlsZShzKS7CoCBUaGlzIHdpbGwgcmUtZXN0YWJsaXNoIHRoZSBjaGFpbiBvZiB0cnVz dCBuZWVkZWQgCmZvciB0aGUKZGV2aWNlIHRvIHBhc3MgcmVtb3RlIGF0dGVzdGF0aW9uLsKgIFRo aXMgd2lsbCBhbHNvIG1haW50YWluIHRoZSBhYmlsaXR5IG9mCnRoZSByZW1vdGUtYXR0ZXN0YXRp b24tc2VydmljZSB0byBzZWFsIHRoZSBzZWNyZXRzLCBpZiB0aGUgY2xpZW50LXNlcnZlciB1c2UK VFBNIHVuc2VhbCBtZWNoYW5pc20gdG8gYXR0ZXN0IHRoZSBzdGF0ZSBvZiB0aGUgZGV2aWNlLgoK VGhlIGNsaWVudC1zZXJ2aWNlIHByb3RvY29sIHdpbGwgbmVlZCBhbiBpbXBsZW1lbnRhdGlvbiBm b3IgcmVxdWVzdGluZwpwcmV2aW91cyBzbmFwc2hvdHMgb2YgdGhlIElNQSBsb2dzLsKgIFRoZXJl IG1heSBiZSB2YXJpb3VzIHNjZW5hcmlvcyB3aGVuCnN1Y2ggYSByZXF1ZXN0IGlzIG1hZGUgc3Vj aCBhczoKIMKgwqDCoCAtIHRoZSBzZXJ2aWNlIHJlcXVpcmVzIGFsbCB0aGUgZGF0YSBzaW5jZSBi b290IGJhc2VkIG9uIGFkbWluIGRlY2lzaW9ucwogwqDCoMKgIC0gbGlua2VkIElNQSBldmVudHMg YXJlIHNwbGl0IGFjcm9zcyBhIHNuYXBzaG90IGJvdW5kYXJ5CiDCoMKgwqAgLSBhbnkgb3RoZXIg cHJvdG9jb2wgbGV2ZWwgZGVjaXNpb24KClRoZSBzZXJ2aWNlIHdpbGwgbmVlZCB0byByZXF1ZXN0 IHRoZSBjbGllbnQgdG8gc2VuZCB0aGUgb2xkIApVTV9zbmFwc2hvdF9maWxlKHMpCmFuZCBlbnN1 cmUgdGhhdCB0aGUgbG9nIHJlcGxheSBzdGlsbCBnZW5lcmF0ZXMgdGhlIGV4cGVjdGVkIFBDUiB2 YWx1ZXMgCnByb3ZpZGVkCmluIHRoZSBxdW90ZS4KClRvIGF2b2lkIGFza2luZyBmb3IgcHJldmlv dXMgc25hcHNob3QgY2h1bmtzIGZyb20gdGhlIGRldmljZSwgdGhlIHNlcnZpY2UKbWF5IG1haW50 YWluIHRoZSBwYXN0IGF0dGVzdGF0aW9uIHN0YXR1cyBvZiB0aGUgZGV2aWNlIGF0IGEgZ2l2ZW4g c25hcHNob3QKY2hlY2twb2ludC7CoCBUaGlzIHdvdWxkIHJlcXVpcmUgdGhlIHNlcnZpY2UgdG8g YmUgc3RhdGVmdWwsIGJ1dCBpdCB3aWxsCnJlbGlldmUgdGhlIHN0b3JhZ2UgcHJlc3N1cmUgb24g dGhlIGRldmljZSBhcyB3ZWxsIGFzIHRoZSBuZXR3b3JrIGJhbmR3aWR0aApvbmNlIHRoZSBhdHRl c3RhdGlvbi1jbGllbnQgc3RhcnRzIHRha2luZyBzbmFwc2hvdHMuCi0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cnwg Qi41IEV4YW1wbGUgV2Fsay10aHJvdWdowqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCB8Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQpGb3IgaWxsdXN0cmF0aW9uLCB3ZSBwcm92aWRlIGFuIGV4YW1wbGUgb2YgdGhlIHNuYXBzaG90 IHNjZW5hcmlvLiBBc3N1bWUKdGhlIGJlbG93IGlzIHRoZSBJTUEgbG9nIG9uIGEgc3lzdGVtIGJl Zm9yZSBhIHNuYXBzaG90IGlzIHRha2VuLgrilIzilIDilIDilIDilKzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilJAK4pSCUENS4pSCVGVtcGxhdGUgSGFzaOKUglRlbXBsYXRl 4pSCwqDCoCBEYXRhIEhhc2jCoMKgIOKUgsKgwqDCoCBEYXRhIEZpbGUg4pSCVGVtcGxhdGVEYXRh 4pSCCuKUnOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU pArilIIxMCDilIIzMjJhODQ3Mzg1Li4u4pSCaW1hLXNpZyDilIJzaGEyNTY6MzA5Yy4uLiDilIJi b290X2FnZ3JlZ2F0ZSDilILCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIOKUggrilJzilIDilIDilIDi lLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDi lIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKQK4pSCMTAg4pSCOTJkYmY1 NTA2MS4uLuKUgmltYS1idWYg4pSCc2hhMjU2OmI5M2UuLi4g4pSCa2VybmVsX3ZlcnNpb24uLi7i lIIzNTIzNDIzNDcuLi7ilIIK4pSc4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSkCuKUgjExIOKUgmU4ZTEyZDk1MzIuLi7ilIJpbWEtYnVmIOKUgnNoYTI1 NjpjZDAwLi4uIOKUgmRtX3RhYmxlX2xvYWQuLi4u4pSCNTY4OTU2ODk5Li4u4pSCCuKUnOKUgOKU gOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpArilIIxMiDilIJl OGUxMmQ5NTMyLi4u4pSCaW1hLXNpZyDilIJzaGEyNTY6NTYwMS4uLiDilIIvdXNyL2xpYi9tb2R1 bC4uLuKUgsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg4pSCCuKUlOKUgOKUgOKUgOKUtOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAoKRm9yIHRoaXMgZXhhbXBsZSwgdGhlIFBD UiB2YWx1ZXMgaW4gc2hhMjU2IGJhbmsgYXJlIGFzIGZvbGxvd3M6CgogwqDCoMKgIHNoYTI1NjoK IMKgwqDCoMKgwqDCoMKgIDAgOiAKMHhEQTAwOUNCOUREQkYyREYyRkQ1OTgyQThFNDQ0OTI3MThE M0NBRTUxNkE5OTg0NzI2Mjc5MDQ3OTM2OEY4MkI2CiDCoMKgwqDCoMKgwqDCoCAuLi4KIMKgwqDC oMKgwqDCoMKgIC4uLgogwqDCoMKgwqDCoMKgwqAgMTA6IAoweEI5M0VCRjY4RkM2NkM2QjZGNUUy RDBFMzRFMTEzRDg0MzAzQkMwRDVEQTBCNDE5RjA1OURFMjdFQUUzQkFBMjkKIMKgwqDCoMKgwqDC oMKgIDExOiAKMHhDRDAwQUJCM0Q4NERCMEYwNDE5RjIwNjRFQ0Q4QUQ0QzAxQTFBRENEQ0FEQjE1 REVFRDQ3QkE2RkNFNDBENDIwCiDCoMKgwqDCoMKgwqDCoCAxMjogCjB4NTYwMTUzRkI2QTBDQzYw MzM0NzU5OTRFQ0E3MjY3NjU4OTJCQjQ4NzcyNjgyRjY5MkU0NEEwMzkzMjgxREI0NQogwqDCoMKg wqDCoMKgwqAgLi4uCiDCoMKgwqDCoMKgwqDCoCAuLi4KIMKgwqDCoMKgwqDCoMKgIDIzOiAKMHgw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwCgpJZiBhIHNuYXBzaG90IGlzIHRha2VuIGF0IHRoaXMgcG9pbnQsIHRoZSBjdXJyZW50 IElNQSBsb2cgd2lsbCBiZSB3cml0dGVuIHRvCmRpc2suwqAgTm8gYWRkaXRpb25hbCBldmVudHMg d2lsbCBiZSBtZWFzdXJlZCBpbiB0aGUgbG9nIHVudGlsIHRoZSAKc25hcHNob3QgaXMKY29tcGxl dGUuCgpUaGUgc3RhdGUgb2YgdGhlIElNQSBsb2cgYWZ0ZXIgdGhlIHNuYXBzaG90OgrilIzilIDi lIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDi lIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lJAK4pSCUENS4pSCVGVtcGxhdGUg4pSCVGVtcGxhdGXilIIgRGF0YSBIYXNowqDCoCDilILCoMKg wqDCoCBEYXRhIEZpbGXCoMKgwqAg4pSCIFRlbXBsYXRlwqDCoMKgwqDCoCDilIIK4pSCwqDCoCDi lIIgSGFzaMKgwqDCoCDilILCoMKgwqDCoMKgwqDCoCDilILCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAg4pSCwqDCoMKgwqAgRGF0YSBGaWxlwqDCoMKgIOKUgiBEYXRhwqDCoMKgwqDCoMKgwqAg4pSC CuKUnOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU vOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU vOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUpArilIIxMCDilIJlNTVjYmEuLi7ilIJpbWEtYnVmIOKUglNoYTI1NjozMGEuLi7i lIJzbmFwc2hvdF9hZ2dyZWdhdGXilIIgCjxURU1QTEFURV9EQVRBPsKgwqAg4pSCCuKUgsKgwqAg 4pSCwqDCoMKgwqDCoMKgwqDCoCDilILCoMKgwqDCoMKgwqDCoCDilILCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAg4pSCwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCDilILCoMKgIHNl ZSB0aGUgCmdyYW1tYXLCoMKgIOKUggrilILCoMKgIOKUgsKgwqDCoMKgwqDCoMKgwqAg4pSCwqDC oMKgwqDCoMKgwqAg4pSCwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIOKUgsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAg4pSCIGJlbG93wqDCoMKgwqDCoMKgwqDCoMKgIOKUggrilJTi lIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDi lIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilJgKIMKgd2hlcmUgdGhlIERhdGEgSGFzaCBvZiB0aGUgbG9nIGxpbmUgaXMgLQogwqBBcHBl bmQoSChzbmFwc2hvdF9maWxlKSxQQ1IwLFBDUjEsLi4uUENSMjMpLsKgIEFsbCBhdmFpbGFibGUg UENSIGJhbmtzIAp3aWxsIGJlCiDCoGluY2x1ZGVkIGluIHRoZSB0ZW1wbGF0ZSBkYXRhIGluIGEg a25vd24gc3RydWN0dXJlLgoKVGhlIFRlbXBsYXRlIERhdGEgd2lsbCBmb2xsb3cgdGhlIGdyYW1t YXIgYmVsb3c6CiDCoMKgwqAgVEVNUExBVEVfREFUQSA6PSAKPFBDUl9VcGRhdGVfQ291bnRlcj4i OyI8U25hcHNob3RfQ291bnRlcj4iOyI8UENSX0JhbmtzPiI7IgogwqDCoMKgIFBDUl9VcGRhdGVf Q291bnRlciA6PSAiUENSX0NvdW50ZXI9IjxQQ1IgdXBkYXRlIGNvdW50ZXIgdmFsdWUgZnJvbSBU UE0+CiDCoMKgwqAgU25hcHNob3RfQ291bnRlciA6PSAiU25hcHNob3RfQXR0ZW1wdF9Db3VudD0i IDxudW0uIG9mIHNuYXBzaG90cyAKYXR0ZW1wdGVkPgogwqDCoMKgIFBDUl9CYW5rc8KgwqDCoMKg wqDCoMKgwqDCoCA6PSA8UENSX0Jhbms+IjsifDxQQ1JfQmFua3M+ICIsIiA8UENSX0Jhbms+Ijsi CiDCoMKgwqAgUENSX0JhbmvCoMKgwqDCoMKgwqDCoMKgwqDCoCA6PSA8UENSX0hhc2ggVHlwZT4g IjoiIDxQQ1JuPgogwqDCoMKgIFBDUl9IYXNoX1R5cGXCoMKgwqDCoMKgIDo9ICJzaGExInwic2hh MjU2Inwic2hhMzg0IgogwqDCoMKgIFBDUm7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDo9 ICJQQ1IiPE4+IjoiPFBDUl9IYXNoPgogwqDCoMKgIE7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIDo9IFswLTIzXQogwqDCoMKgIFBDUl9IYXNowqDCoMKgwqDCoMKgwqDCoMKgwqAg Oj0gPGhhc2hfb2ZfdGhlX3Bjcl9OPgoKVGhlIHN0YXRlIG9mIHRoZSBQQ1JzIGFmdGVyIHRoZSBz bmFwc2hvdDoKIMKgwqDCoCAoT25seSBQQ1IgMTAgd2lsbCBjaGFuZ2UsIHNpbmNlIHNuYXBzaG90 X2FnZ3JlZ2F0ZSBpcyBiZWluZyBleHRlbmRlZAogwqDCoMKgwqAgaW4gdGhhdCBQQ1IuKQogwqDC oMKgIHNoYTI1NjoKIMKgwqDCoMKgwqDCoMKgIDAgOiAKMHhEQTAwOUNCOUREQkYyREYyRkQ1OTgy QThFNDQ0OTI3MThEM0NBRTUxNkE5OTg0NzI2Mjc5MDQ3OTM2OEY4MkI2CiDCoMKgwqDCoMKgwqDC oCAuLi4KIMKgwqDCoMKgwqDCoMKgIC4uLgogwqDCoMKgwqDCoMKgwqAgMTAgOiAKMHgzMEExQjY5 RjA5QTk1OTlFRDQ1RkZFQTVDOTQwMDA4NTI1MTgzOTRBOEUxQTNCOEQzNDNENDQ1OEU2RkIwQjA0 CiDCoMKgwqDCoMKgwqDCoCAxMSA6IAoweENEMDBBQkIzRDg0REIwRjA0MTlGMjA2NEVDRDhBRDRD MDFBMUFEQ0RDQURCMTVERUVENDdCQTZGQ0U0MEQ0MjAKIMKgwqDCoMKgwqDCoMKgIDEyIDogCjB4 NTYwMTUzRkI2QTBDQzYwMzM0NzU5OTRFQ0E3MjY3NjU4OTJCQjQ4NzcyNjgyRjY5MkU0NEEwMzkz MjgxREI0NQogwqDCoMKgwqDCoMKgwqAgLi4uCiDCoMKgwqDCoMKgwqDCoCAuLi4KIMKgwqDCoMKg wqDCoMKgIDIzOiAKMHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwCgpBbiBleGFtcGxlIG9mICJzbmFwc2hvdF9hZ2dyZWdhdGUi IHRlbXBsYXRlIGRhdGEgaXMgZ2l2ZW4gYmVsb3cuCjEwIGU1NWNiYS4uLiBpbWEtYnVmwqAgU2hh MjU2OjMwYS4uLiBzbmFwc2hvdF9hZ2dyZWdhdGUKIMKgwqDCoCBQQ1JfQ291bnRlcj0xMTsKIMKg wqDCoCBTbmFwc2hvdF9BdHRlbXB0X0NvdW50PTc7CnNoYTI1NjpQQ1IwOjB4REEwMDlDQjlEREJG MkRGMkZENTk4MkE4RTQ0NDkyNzE4RDNDQUU1MTZBOTk4NDcyNjI3OTA0NzkzNjhGODJCNiwKc2hh MjU2OlBDUjE6MHgzMEExQjY5RjA5QTk1OTlFRDQ1RkZFQTVDOTQwMDA4NTI1MTgzOTRBOEUxQTNC OEQzNDNENDQ1OEU2RkIwQjA0LAogwqDCoMKgIC4uLgpzaGEyNTY6UENSMjM6MHgzMEExQjY5RjA5 QTk1OTlFRDQ1RkZFQTVDOTQwMDA4NTI1MTgzOTRBOEUxQTNCOEQzNDNENDQ1OEU2RkIwQjA0OwoK RnV0dXJlIGxvZ3MgY2FuIHRoZW4gY29udGludWUgdG8gZXh0ZW5kIHRoZSBhc3NpZ25lZCBQQ1Jz LsKgIFNpbmNlIElNQQptZWFzdXJlbWVudHMgZXh0ZW5kIHRoZSBUUE0tUENScyBhbmQgY29tcHV0 aW5nIHNuYXBzaG90X2FnZ3JlZ2F0ZSBpbnZvbHZlcwpyZWFkaW5nIFRQTSBQQ1IgYmFua3MsIElN QSBtZWFzdXJlbWVudHMgbXVzdCBiZSBzdXNwZW5kZWQgdW50aWwgdGhlCnNuYXBzaG90X2FnZ3Jl Z2F0ZSBpcyBjb21wdXRlZCBhbmQgbWVhc3VyZWQuwqAgT3RoZXJ3aXNlLCB0aGVzZSB0d28gCm9w ZXJhdGlvbnMKbWF5IGludGVyZmVyZSB3aXRoIGVhY2ggb3RoZXIgY29tcHJvbWlzaW5nIHRoZSBp bnRlZ3JpdHkgb2YgdGhlIHN5c3RlbS4KClRoZSByZW1vdGUtYXR0ZXN0YXRpb24tc2VydmljZSBj YW4gdmVyaWZ5IHRoZSBjb250ZW50cyBvZiB0aGUgcGFzdCAoTi0xKQpVTV9zbmFwc2hvdF9maWxl KHMpIGJ5IHJlcGxheWluZyB0aGUgZXZlbnRzIGluIHRoZW0gYW5kIGNvbXBhcmluZyB0aGVtCndp dGggdGhlIFBDUiB2YWx1ZXMgc3RvcmVkIGluIHRlbXBsYXRlIGRhdGEgb2YgdGhlIGZpcnN0IAoi c25hcHNob3RfYWdncmVnYXRlIgpldmVudCBvZiBzdWJzZXF1ZW50IElNQSBsb2cuCgotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQp8IEMuIE9wZW4gUXVlc3Rpb25zwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09CjEuIFRoZXJlIGlzIGEga25vd24gaXNzdWUgd2l0aCBQQ1JzIGJl aW5nIHJlc2V0IGFmdGVyIGhpYmVybmF0ZSBbM10uwqAgSXMgCnRoZXJlCiDCoCBhbnkgcHJvcG9z ZWQgc29sdXRpb24gZm9yIHRoZSBoaWJlcm5hdGUgcHJvYmxlbT8gQ2FuIHdlIHJldXNlIHBhcnRz IApvZiBpdCBmb3IKIMKgIElNQSBsb2cgc25hcHNob3R0aW5nPwoKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpXZSBhcHByZWNpYXRlIHlvdXIgY29tbWVudHMgb24gdGhpcyBwcm9wb3NhbCBhcyB3ZWxs IGFzIHBvaW50ZXJzIHRvIGFueQpwcmlvciBlZmZvcnRzIG1hZGUgaW4gYWRkcmVzc2luZyB0aGlz IGlzc3VlLgoKVGhhbmtzIQpTdXNoICYgVHVzaGFyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQp8IEQuIFJlZmVy ZW5jZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQpbMV0gSU1BOiBzdXBwb3J0IGZvciBtZWFzdXJpbmcga2VybmVsIGludGVncml0eSBjcml0 aWNhbCBkYXRhCmh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC9saW51eC1pbnRl Z3JpdHkvY292ZXIvMjAyMTAxMDgwNDA3MDguODM4OS0xLXR1c2hhcnN1QGxpbnV4Lm1pY3Jvc29m dC5jb20vCgpbMl0gTWVhc3VyaW5nIFRQTSB1cGRhdGUgY291bnRlciBpbiBJTUEKaHR0cHM6Ly9w YXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L2xpbnV4LWludGVncml0eS9jb3Zlci8yMDIzMDgw MTE4MTkxNy44NTM1LTEtdHVzaGFyc3VAbGludXgubWljcm9zb2Z0LmNvbS8KClszXSBUUE06IEhp YmVybmF0ZSB3aXRoIElNQSBQQ1IgMTAKaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtaW50 ZWdyaXR5LzJiYzY1NmJmNjdhZjUyZTBiOWE2OGU5MWM1YjU3NGUwYWI0ZmZhOGUuY2FtZWxAbGlu dXguaWJtLmNvbS8KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwprZXhlYyBtYWlsaW5nIGxpc3QKa2V4ZWNAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tleGVjCg==