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 D1FE9C433F5 for ; Tue, 12 Apr 2022 17:32:00 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:From:Subject:References: Mime-Version:Message-Id:In-Reply-To:Date:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Owner; bh=dKymCexDLz+4DsNpUpckh0Yg7cqTEeuakdVDti1u/jo=; b=Z8RGWr6msH3sp32pd4Z7+5wmd/ k0lyKcD6xmfh91Qx6qpihMIE5AFzIk9boZXyyFNna+vBlgP/MnlkzWkU+qoI2tvCPBZr3cFw6EZGq W0ZjZ8zkeN2TtaO7uAHvKhP4fCrlh5rRskpAscC+Cj2t3dTb14qiavWf7wQwY9Stai3ZOsrTaOtOA nX8ahceiSu0urNQ4p4iVnnsCY3R99cBCnXRSqJJLPD4XVH2d4a1i0b+aVrVbBeGEZBpzhbzfTvomb JchIpP5y+4bbG4iCCis15i/CnJasiiuxY9P2aHT+K51ms0GGK4l+F7Kh67D2NrmqPwOOnOEOPoLlF e2/bQfWg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1neKLN-00FEBQ-Q4; Tue, 12 Apr 2022 17:30:23 +0000 Received: from mail-yw1-x114a.google.com ([2607:f8b0:4864:20::114a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1neKJh-00FDTB-E7 for linux-arm-kernel@lists.infradead.org; Tue, 12 Apr 2022 17:28:43 +0000 Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-2ebf1d99068so91046687b3.9 for ; Tue, 12 Apr 2022 10:28:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc:content-transfer-encoding; bh=NZIJIqseO3uYhYuY4tJN35PeZXtKXnQS/HHSXzdDC/I=; b=KhPJOk27DdVfEEPe14kvS2gwz9Zjp9SMRYuJnV/ooUITzHMaG7zonfVEGFN4kvqeUI QkgUaH7FzHTWThq4NwRST6uT4MTRhx3aeMoIhYf6hPDpvSinM6TzJhlfKSC0yNeBqGSp 9LgcOv2dKJK2BVjYbbG/DG9Lld7gCrmc8brYAQgduU0J8mqJOkzJm+BZ89yz6dZLuKAf 8chkZFBom+GN3x9WUtK0FJ6Wgx5NwQHmB5nrI2kttqegpVRBKGnpr8oyEajNQm4cMVBo +V4LSBQpZTsV5m3I2BNUnhy3+UIxSYc0e8IF5wMCJcccYwp5InTc8fVb8eix2nmMi8W8 0Lkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc:content-transfer-encoding; bh=NZIJIqseO3uYhYuY4tJN35PeZXtKXnQS/HHSXzdDC/I=; b=4zvEsc/bR79ww5gI1k95MUqdu6Y9oiklANpAr9yH5yLL/ht84m/AwuPFzmNDI9tfgO agwK3pGDzM7BaT73s5GzBAv045nhH5R9mnqY26fReX2IyV8ltKNULoGO0oVFymZNbQmk Lsh7Ng55yNnPTBYq6eiMQ5Uu8d1OHhtX1C1bIRJbHI978tcAXrmeb6FhcgY9Yr1hbjrJ 7JwTeGI6Gu4kPI+SxI5E2XTZHgM5sFy7Krb9981exbgHwDCLiqMg7Pi/iv9je12xwMbS JFePs9HNgqYIzWZHeuFNylbel/8YWoM9CjgayIFZaXfMYebfftvymaZertIkHtL8DwU3 ml4A== X-Gm-Message-State: AOAM530MW+N96FAa/kQ6MGhTEB8YOMj2fnztCfVykWt5Kf4JeUY8Xtxl rGsyfkQc8ZrVWjlBjgsfKSElE6/7sw== X-Google-Smtp-Source: ABdhPJzBgAgxwtjafpXkJscGX9y7015Jbpp/LrxpAStlAc65CJmaAv2WNoPAUEeT+VFDZUfHi/s7l6BSWQ== X-Received: from nhuck.c.googlers.com ([fda3:e722:ac3:cc00:14:4d90:c0a8:39cc]) (user=nhuck job=sendgmr) by 2002:a81:5382:0:b0:2eb:e88e:1f60 with SMTP id h124-20020a815382000000b002ebe88e1f60mr17892598ywb.234.1649784513536; Tue, 12 Apr 2022 10:28:33 -0700 (PDT) Date: Tue, 12 Apr 2022 17:28:11 +0000 In-Reply-To: <20220412172816.917723-1-nhuck@google.com> Message-Id: <20220412172816.917723-4-nhuck@google.com> Mime-Version: 1.0 References: <20220412172816.917723-1-nhuck@google.com> X-Mailer: git-send-email 2.35.1.1178.g4f1659d476-goog Subject: [PATCH v4 3/8] crypto: hctr2 - Add HCTR2 support From: Nathan Huckleberry To: linux-crypto@vger.kernel.org Cc: Herbert Xu , "David S. Miller" , linux-arm-kernel@lists.infradead.org, Paul Crowley , Eric Biggers , Sami Tolvanen , Ard Biesheuvel , Nathan Huckleberry X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220412_102837_575145_A4E8064C X-CRM114-Status: GOOD ( 29.07 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIHN1cHBvcnQgZm9yIEhDVFIyIGFzIGEgdGVtcGxhdGUuICBIQ1RSMiBpcyBhIGxlbmd0aC1w cmVzZXJ2aW5nCmVuY3J5cHRpb24gbW9kZSB0aGF0IGlzIGVmZmljaWVudCBvbiBwcm9jZXNzb3Jz IHdpdGggaW5zdHJ1Y3Rpb25zIHRvCmFjY2VsZXJhdGUgQUVTIGFuZCBjYXJyeWxlc3MgbXVsdGlw bGljYXRpb24sIGUuZy4geDg2IHByb2Nlc3NvcnMgd2l0aApBRVMtTkkgYW5kIENMTVVMLCBhbmQg QVJNIHByb2Nlc3NvcnMgd2l0aCB0aGUgQVJNdjggQ3J5cHRvIEV4dGVuc2lvbnMuCgpBcyBhIGxl bmd0aC1wcmVzZXJ2aW5nIGVuY3J5cHRpb24gbW9kZSwgSENUUjIgaXMgc3VpdGFibGUgZm9yCmFw cGxpY2F0aW9ucyBzdWNoIGFzIHN0b3JhZ2UgZW5jcnlwdGlvbiB3aGVyZSBjaXBoZXJ0ZXh0IGV4 cGFuc2lvbiBpcwpub3QgcG9zc2libGUsIGFuZCB0aHVzIGF1dGhlbnRpY2F0ZWQgZW5jcnlwdGlv biBjYW5ub3QgYmUgdXNlZC4KQ3VycmVudGx5LCBzdWNoIGFwcGxpY2F0aW9ucyB1c3VhbGx5IHVz ZSBYVFMsIG9yIGluIHNvbWUgY2FzZXMgQWRpYW50dW0uClhUUyBoYXMgdGhlIGRpc2FkdmFudGFn ZSB0aGF0IGl0IGlzIGEgbmFycm93LWJsb2NrIG1vZGU6IGEgYml0ZmxpcCB3aWxsCm9ubHkgY2hh bmdlIDE2IGJ5dGVzIGluIHRoZSByZXN1bHRpbmcgY2lwaGVydGV4dCBvciBwbGFpbnRleHQuICBU aGlzCnJldmVhbHMgbW9yZSBpbmZvcm1hdGlvbiB0byBhbiBhdHRhY2tlciB0aGFuIG5lY2Vzc2Fy eS4KCkhDVFIyIGlzIGEgd2lkZS1ibG9jayBtb2RlLCBzbyBpdCBwcm92aWRlcyBhIHN0cm9uZ2Vy IHNlY3VyaXR5IHByb3BlcnR5OgphIGJpdGZsaXAgd2lsbCBjaGFuZ2UgdGhlIGVudGlyZSBtZXNz YWdlLiAgSENUUjIgaXMgc29tZXdoYXQgc2ltaWxhciB0bwpBZGlhbnR1bSwgd2hpY2ggaXMgYWxz byBhIHdpZGUtYmxvY2sgbW9kZS4gIEhvd2V2ZXIsIEhDVFIyIGlzIGRlc2lnbmVkCnRvIHRha2Ug YWR2YW50YWdlIG9mIGV4aXN0aW5nIGNyeXB0byBpbnN0cnVjdGlvbnMsIHdoaWxlIEFkaWFudHVt CnRhcmdldHMgZGV2aWNlcyB3aXRob3V0IHN1Y2ggaGFyZHdhcmUgc3VwcG9ydC4gIEFkaWFudHVt IGlzIGFsc28KZGVzaWduZWQgd2l0aCBsb25nZXIgbWVzc2FnZXMgaW4gbWluZCwgd2hpbGUgSENU UjIgaXMgZGVzaWduZWQgdG8gYmUKZWZmaWNpZW50IGV2ZW4gb24gc2hvcnQgbWVzc2FnZXMuCgpI Q1RSMiByZXF1aXJlcyBQT0xZVkFMIGFuZCBYQ1RSIGFzIGNvbXBvbmVudHMuICBNb3JlIGluZm9y bWF0aW9uIG9uCkhDVFIyIGNhbiBiZSBmb3VuZCBoZXJlOiBMZW5ndGgtcHJlc2VydmluZyBlbmNy eXB0aW9uIHdpdGggSENUUjI6Cmh0dHBzOi8vZXByaW50LmlhY3Iub3JnLzIwMjEvMTQ0MS5wZGYK ClNpZ25lZC1vZmYtYnk6IE5hdGhhbiBIdWNrbGViZXJyeSA8bmh1Y2tAZ29vZ2xlLmNvbT4KLS0t CiBjcnlwdG8vS2NvbmZpZyAgIHwgIDExICsKIGNyeXB0by9NYWtlZmlsZSAgfCAgIDEgKwogY3J5 cHRvL2hjdHIyLmMgICB8IDYxNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBjcnlwdG8vdGNyeXB0LmMgIHwgICA1ICsKIGNyeXB0by90ZXN0bWdyLmMgfCAgIDgg KwogY3J5cHRvL3Rlc3RtZ3IuaCB8IDY3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAxMzEzIGluc2VydGlvbnMoKykKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBjcnlwdG8vaGN0cjIuYwoKZGlmZiAtLWdpdCBhL2NyeXB0by9LY29u ZmlnIGIvY3J5cHRvL0tjb25maWcKaW5kZXggMDAxMzk4NDVkNzZkLi4wZGVkYmE3NGRiNGEgMTAw NjQ0Ci0tLSBhL2NyeXB0by9LY29uZmlnCisrKyBiL2NyeXB0by9LY29uZmlnCkBAIC01MzIsNiAr NTMyLDE3IEBAIGNvbmZpZyBDUllQVE9fQURJQU5UVU0KIAogCSAgSWYgdW5zdXJlLCBzYXkgTi4K IAorY29uZmlnIENSWVBUT19IQ1RSMgorCXRyaXN0YXRlICJIQ1RSMiBzdXBwb3J0IgorCXNlbGVj dCBDUllQVE9fWENUUgorCXNlbGVjdCBDUllQVE9fUE9MWVZBTAorCXNlbGVjdCBDUllQVE9fTUFO QUdFUgorCWhlbHAKKwkgIEhDVFIyIGlzIGEgbGVuZ3RoLXByZXNlcnZpbmcgZW5jcnlwdGlvbiBt b2RlIGZvciBzdG9yYWdlIGVuY3J5cHRpb24gdGhhdAorCSAgaXMgZWZmaWNpZW50IG9uIHByb2Nl c3NvcnMgd2l0aCBpbnN0cnVjdGlvbnMgdG8gYWNjZWxlcmF0ZSBBRVMgYW5kCisJICBjYXJyeWxl c3MgbXVsdGlwbGljYXRpb24sIGUuZy4geDg2IHByb2Nlc3NvcnMgd2l0aCBBRVMtTkkgYW5kIENM TVVMLCBhbmQKKwkgIEFSTSBwcm9jZXNzb3JzIHdpdGggdGhlIEFSTXY4IGNyeXB0byBleHRlbnNp b25zLgorCiBjb25maWcgQ1JZUFRPX0VTU0lWCiAJdHJpc3RhdGUgIkVTU0lWIHN1cHBvcnQgZm9y IGJsb2NrIGVuY3J5cHRpb24iCiAJc2VsZWN0IENSWVBUT19BVVRIRU5DCmRpZmYgLS1naXQgYS9j cnlwdG8vTWFrZWZpbGUgYi9jcnlwdG8vTWFrZWZpbGUKaW5kZXggNTYxZjkwMWE5MWQ0Li4yZGNh OWRiZGVkZTYgMTAwNjQ0Ci0tLSBhL2NyeXB0by9NYWtlZmlsZQorKysgYi9jcnlwdG8vTWFrZWZp bGUKQEAgLTk0LDYgKzk0LDcgQEAgb2JqLSQoQ09ORklHX0NSWVBUT19MUlcpICs9IGxydy5vCiBv YmotJChDT05GSUdfQ1JZUFRPX1hUUykgKz0geHRzLm8KIG9iai0kKENPTkZJR19DUllQVE9fQ1RS KSArPSBjdHIubwogb2JqLSQoQ09ORklHX0NSWVBUT19YQ1RSKSArPSB4Y3RyLm8KK29iai0kKENP TkZJR19DUllQVE9fSENUUjIpICs9IGhjdHIyLm8KIG9iai0kKENPTkZJR19DUllQVE9fS0VZV1JB UCkgKz0ga2V5d3JhcC5vCiBvYmotJChDT05GSUdfQ1JZUFRPX0FESUFOVFVNKSArPSBhZGlhbnR1 bS5vCiBvYmotJChDT05GSUdfQ1JZUFRPX05IUE9MWTEzMDUpICs9IG5ocG9seTEzMDUubwpkaWZm IC0tZ2l0IGEvY3J5cHRvL2hjdHIyLmMgYi9jcnlwdG8vaGN0cjIuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmEzMWU4YzI2ZTA5ZAotLS0gL2Rldi9udWxsCisrKyBi L2NyeXB0by9oY3RyMi5jCkBAIC0wLDAgKzEsNjE2IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMAorLyoKKyAqIEhDVFIyIGxlbmd0aC1wcmVzZXJ2aW5nIGVuY3J5cHRpb24g bW9kZQorICoKKyAqIENvcHlyaWdodCAyMDIxIEdvb2dsZSBMTEMKKyAqLworCisKKy8qCisgKiBI Q1RSMiBpcyBhIGxlbmd0aC1wcmVzZXJ2aW5nIGVuY3J5cHRpb24gbW9kZSB0aGF0IGlzIGVmZmlj aWVudCBvbgorICogcHJvY2Vzc29ycyB3aXRoIGluc3RydWN0aW9ucyB0byBhY2NlbGVyYXRlIGFl cyBhbmQgY2FycnlsZXNzCisgKiBtdWx0aXBsaWNhdGlvbiwgZS5nLiB4ODYgcHJvY2Vzc29ycyB3 aXRoIEFFUy1OSSBhbmQgQ0xNVUwsIGFuZCBBUk0KKyAqIHByb2Nlc3NvcnMgd2l0aCB0aGUgQVJN djggY3J5cHRvIGV4dGVuc2lvbnMuCisgKgorICogRm9yIG1vcmUgZGV0YWlscywgc2VlIHRoZSBw YXBlcjogTGVuZ3RoLXByZXNlcnZpbmcgZW5jcnlwdGlvbiB3aXRoIEhDVFIyCisgKiAoaHR0cHM6 Ly9lcHJpbnQuaWFjci5vcmcvMjAyMS8xNDQxLnBkZikKKyAqLworCisjaW5jbHVkZSA8Y3J5cHRv L2ludGVybmFsL2NpcGhlci5oPgorI2luY2x1ZGUgPGNyeXB0by9pbnRlcm5hbC9oYXNoLmg+Cisj aW5jbHVkZSA8Y3J5cHRvL2ludGVybmFsL3NrY2lwaGVyLmg+CisjaW5jbHVkZSA8Y3J5cHRvL3Bv bHl2YWwuaD4KKyNpbmNsdWRlIDxjcnlwdG8vc2NhdHRlcndhbGsuaD4KKyNpbmNsdWRlIDxsaW51 eC9tb2R1bGUuaD4KKworI2RlZmluZSBCTE9DS0NJUEhFUl9CTE9DS19TSVpFCQkxNgorCisvKgor ICogVGhlIHNwZWNpZmljYXRpb24gYWxsb3dzIHZhcmlhYmxlLWxlbmd0aCB0d2Vha3MsIGJ1dCBM aW51eCdzIGNyeXB0byBBUEkKKyAqIGN1cnJlbnRseSBvbmx5IGFsbG93cyBhbGdvcml0aG1zIHRv IHN1cHBvcnQgYSBzaW5nbGUgbGVuZ3RoLiAgVGhlICJuYXR1cmFsIgorICogdHdlYWsgbGVuZ3Ro IGZvciBIQ1RSMiBpcyAxNiwgc2luY2UgdGhhdCBmaXRzIGludG8gb25lIFBPTFlWQUwgYmxvY2sg Zm9yCisgKiB0aGUgYmVzdCBwZXJmb3JtYW5jZS4gIEJ1dCBsb25nZXIgdHdlYWtzIGFyZSB1c2Vm dWwgZm9yIGZzY3J5cHQsIHRvIGF2b2lkCisgKiBuZWVkaW5nIHRvIGRlcml2ZSBwZXItZmlsZSBr ZXlzLiAgU28gaW5zdGVhZCB3ZSB1c2UgdHdvIGJsb2Nrcywgb3IgMzIgYnl0ZXMuCisgKi8KKyNk ZWZpbmUgVFdFQUtfU0laRQkJMzIKKworc3RydWN0IGhjdHIyX2luc3RhbmNlX2N0eCB7CisJc3Ry dWN0IGNyeXB0b19jaXBoZXJfc3Bhd24gYmxvY2tjaXBoZXJfc3Bhd247CisJc3RydWN0IGNyeXB0 b19za2NpcGhlcl9zcGF3biB4Y3RyX3NwYXduOworCXN0cnVjdCBjcnlwdG9fc2hhc2hfc3Bhd24g cG9seXZhbF9zcGF3bjsKK307CisKK3N0cnVjdCBoY3RyMl90Zm1fY3R4IHsKKwlzdHJ1Y3QgY3J5 cHRvX2NpcGhlciAqYmxvY2tjaXBoZXI7CisJc3RydWN0IGNyeXB0b19za2NpcGhlciAqeGN0cjsK KwlzdHJ1Y3QgY3J5cHRvX3NoYXNoICpwb2x5dmFsOworCXU4IExbQkxPQ0tDSVBIRVJfQkxPQ0tf U0laRV07CisJaW50IGhhc2hlZF90d2Vha19vZmZzZXQ7CisJLyoKKwkgKiBUaGlzIHN0cnVjdCBp cyBhbGxvY2F0ZWQgd2l0aCBleHRyYSBzcGFjZSBmb3IgdHdvIGV4cG9ydGVkIGhhc2gKKwkgKiBk aWdlc3RzLiAgU2luY2UgdGhlIGRpZ2VzdCBsZW5ndGggaXMgbm90IGtub3duIGF0IGNvbXBpbGUt dGltZSwgd2UKKwkgKiBjYW4ndCBhZGQgdGhlbSB0byB0aGUgc3RydWN0IGRpcmVjdGx5LgorCSAq CisJICogaGFzaGVkX3R3ZWFrbGVuX2V2ZW47CisJICogaGFzaGVkX3R3ZWFrbGVuX29kZDsKKwkg Ki8KK307CisKK3N0cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCB7CisJdTggZmlyc3RfYmxvY2tbQkxP Q0tDSVBIRVJfQkxPQ0tfU0laRV07CisJdTggeGN0cl9pdltCTE9DS0NJUEhFUl9CTE9DS19TSVpF XTsKKwlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKmJ1bGtfcGFydF9kc3Q7CisJc3RydWN0IHNjYXR0ZXJs aXN0ICpidWxrX3BhcnRfc3JjOworCXN0cnVjdCBzY2F0dGVybGlzdCBzZ19zcmNbMl07CisJc3Ry dWN0IHNjYXR0ZXJsaXN0IHNnX2RzdFsyXTsKKwkvKiBTdWItcmVxdWVzdHMsIG11c3QgYmUgbGFz dCAqLworCXVuaW9uIHsKKwkJc3RydWN0IHNoYXNoX2Rlc2MgaGFzaF9kZXNjOworCQlzdHJ1Y3Qg c2tjaXBoZXJfcmVxdWVzdCB4Y3RyX3JlcTsKKwl9IHU7CisJLyoKKwkgKiBUaGlzIHN0cnVjdCBp cyBhbGxvY2F0ZWQgd2l0aCBleHRyYSBzcGFjZSBmb3Igb25lIGV4cG9ydGVkIGhhc2gKKwkgKiBk aWdlc3QuICBTaW5jZSB0aGUgZGlnZXN0IGxlbmd0aCBpcyBub3Qga25vd24gYXQgY29tcGlsZS10 aW1lLCB3ZQorCSAqIGNhbid0IGFkZCBpdCB0byB0aGUgc3RydWN0IGRpcmVjdGx5LgorCSAqCisJ ICogaGFzaGVkX3R3ZWFrOworCSAqLworfTsKKworc3RhdGljIGlubGluZSB1OCAqaGN0cjJfaGFz aGVkX3R3ZWFrbGVuKGNvbnN0IHN0cnVjdCBoY3RyMl90Zm1fY3R4ICp0Y3R4LAorCQkJCQlib29s IG9kZCkKK3sKKwl1OCAqcCA9ICh1OCAqKXRjdHggKyBzaXplb2YoKnRjdHgpOworCisJaWYgKG9k ZCkgLyogRm9yIG1lc3NhZ2VzIG5vdCBhIG11bHRpcGxlIG9mIGJsb2NrIGxlbmd0aCAqLworCQlw ICs9IGNyeXB0b19zaGFzaF9zdGF0ZXNpemUodGN0eC0+cG9seXZhbCk7CisJcmV0dXJuIHA7Cit9 CisKK3N0YXRpYyBpbmxpbmUgdTggKmhjdHIyX2hhc2hlZF90d2Vhayhjb25zdCBzdHJ1Y3QgaGN0 cjJfdGZtX2N0eCAqdGN0eCwKKwkJCQkgICAgIHN0cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCAqcmN0 eCkKK3sKKwlyZXR1cm4gKHU4ICopcmN0eCArIHRjdHgtPmhhc2hlZF90d2Vha19vZmZzZXQ7Cit9 CisKKy8qCisgKiBIQ1RSMiByZXF1aXJlcyBoYXNoaW5nIHZhbHVlcyBiYXNlZCBvZmYgdGhlIHR3 ZWFrIGxlbmd0aC4gIFNpbmNlIHRoZSBrZXJuZWwKKyAqIGltcGxlbWVudGF0aW9uIG9ubHkgc3Vw cG9ydHMgMzItYnl0ZSB0d2Vha3MsIHdlIGNhbiBwcmVjb21wdXRlIHRoZXNlIHdoZW4KKyAqIHNl dHRpbmcgdGhlIGtleS4gIFRoaXMgYWxsb3dzIHVzIHRvIGF2b2lkIGFuIGV4dHJhIGJsb2NrIG9m IGhhc2hpbmcgZHVyaW5nCisgKiBldmVyeSBlbmNyeXB0aW9uLgorICoKKyAqIFRoZXNlIHByZWNv bXB1dGVkIGhhc2hlcyBhcmUgc3RvcmVkIGluIGhjdHIyX3RmbV9jdHguCisgKgorICogSWYgdGhl IG1lc3NhZ2UgbGVuZ3RoIGlzIGEgbXVsdGlwbGUgb2YgdGhlIGJsb2Nrc2l6ZSwgd2UgdXNlIEgo dHdlYWtfbGVuICogMgorICogKyAyKS4gIElmIHRoZSBtZXNzYWdlIGxlbmd0aCBpcyBub3QgYSBt dWx0aXBsZSBvZiB0aGUgYmxvY2tzaXplLCB3ZSB1c2UKKyAqIEgodHdlYWtfbGVuICogMiArIDMp LgorICovCitzdGF0aWMgaW50IGhjdHIyX2hhc2hfdHdlYWtsZW5zKHN0cnVjdCBoY3RyMl90Zm1f Y3R4ICp0Y3R4KQoreworCVNIQVNIX0RFU0NfT05fU1RBQ0soc2hhc2gsIHRmbS0+cG9seXZhbCk7 CisJX19sZTY0IHR3ZWFrX2xlbmd0aF9ibG9ja1syXTsKKwlpbnQgZXJyOworCisJc2hhc2gtPnRm bSA9IHRjdHgtPnBvbHl2YWw7CisJbWVtc2V0KHR3ZWFrX2xlbmd0aF9ibG9jaywgMCwgc2l6ZW9m KHR3ZWFrX2xlbmd0aF9ibG9jaykpOworCisJdHdlYWtfbGVuZ3RoX2Jsb2NrWzBdID0gY3B1X3Rv X2xlNjQoVFdFQUtfU0laRSAqIDggKiAyICsgMik7CisJZXJyID0gY3J5cHRvX3NoYXNoX2luaXQo c2hhc2gpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisJZXJyID0gY3J5cHRvX3NoYXNoX3Vw ZGF0ZShzaGFzaCwgKHU4ICopdHdlYWtfbGVuZ3RoX2Jsb2NrLAorCQkJCSAgUE9MWVZBTF9CTE9D S19TSVpFKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCWVyciA9IGNyeXB0b19zaGFzaF9l eHBvcnQoc2hhc2gsIGhjdHIyX2hhc2hlZF90d2Vha2xlbih0Y3R4LCB0cnVlKSk7CisJaWYgKGVy cikKKwkJcmV0dXJuIGVycjsKKworCXR3ZWFrX2xlbmd0aF9ibG9ja1swXSA9IGNwdV90b19sZTY0 KFRXRUFLX1NJWkUgKiA4ICogMiArIDMpOworCWVyciA9IGNyeXB0b19zaGFzaF9pbml0KHNoYXNo KTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCWVyciA9IGNyeXB0b19zaGFzaF91cGRhdGUo c2hhc2gsICh1OCAqKXR3ZWFrX2xlbmd0aF9ibG9jaywKKwkJCQkgIFBPTFlWQUxfQkxPQ0tfU0la RSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwlyZXR1cm4gY3J5cHRvX3NoYXNoX2V4cG9y dChzaGFzaCwgaGN0cjJfaGFzaGVkX3R3ZWFrbGVuKHRjdHgsIGZhbHNlKSk7Cit9CisKK3N0YXRp YyBpbnQgaGN0cjJfc2V0a2V5KHN0cnVjdCBjcnlwdG9fc2tjaXBoZXIgKnRmbSwgY29uc3QgdTgg KmtleSwKKwkJCXVuc2lnbmVkIGludCBrZXlsZW4pCit7CisJc3RydWN0IGhjdHIyX3RmbV9jdHgg KnRjdHggPSBjcnlwdG9fc2tjaXBoZXJfY3R4KHRmbSk7CisJdTggaGJhcltCTE9DS0NJUEhFUl9C TE9DS19TSVpFXTsKKwlpbnQgZXJyOworCisJY3J5cHRvX2NpcGhlcl9jbGVhcl9mbGFncyh0Y3R4 LT5ibG9ja2NpcGhlciwgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJY3J5cHRvX2NpcGhlcl9zZXRf ZmxhZ3ModGN0eC0+YmxvY2tjaXBoZXIsCisJCQkJY3J5cHRvX3NrY2lwaGVyX2dldF9mbGFncyh0 Zm0pICYKKwkJCQlDUllQVE9fVEZNX1JFUV9NQVNLKTsKKwllcnIgPSBjcnlwdG9fY2lwaGVyX3Nl dGtleSh0Y3R4LT5ibG9ja2NpcGhlciwga2V5LCBrZXlsZW4pOworCWlmIChlcnIpCisJCXJldHVy biBlcnI7CisKKwljcnlwdG9fc2tjaXBoZXJfY2xlYXJfZmxhZ3ModGN0eC0+eGN0ciwgQ1JZUFRP X1RGTV9SRVFfTUFTSyk7CisJY3J5cHRvX3NrY2lwaGVyX3NldF9mbGFncyh0Y3R4LT54Y3RyLAor CQkJCSAgY3J5cHRvX3NrY2lwaGVyX2dldF9mbGFncyh0Zm0pICYKKwkJCQkgIENSWVBUT19URk1f UkVRX01BU0spOworCWVyciA9IGNyeXB0b19za2NpcGhlcl9zZXRrZXkodGN0eC0+eGN0ciwga2V5 LCBrZXlsZW4pOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwltZW1zZXQodGN0eC0+TCwg MCwgc2l6ZW9mKHRjdHgtPkwpKTsKKwltZW1zZXQoaGJhciwgMCwgc2l6ZW9mKGhiYXIpKTsKKwl0 Y3R4LT5MWzBdID0gMHgwMTsKKwljcnlwdG9fY2lwaGVyX2VuY3J5cHRfb25lKHRjdHgtPmJsb2Nr Y2lwaGVyLCB0Y3R4LT5MLCB0Y3R4LT5MKTsKKwljcnlwdG9fY2lwaGVyX2VuY3J5cHRfb25lKHRj dHgtPmJsb2NrY2lwaGVyLCBoYmFyLCBoYmFyKTsKKworCWNyeXB0b19zaGFzaF9jbGVhcl9mbGFn cyh0Y3R4LT5wb2x5dmFsLCBDUllQVE9fVEZNX1JFUV9NQVNLKTsKKwljcnlwdG9fc2hhc2hfc2V0 X2ZsYWdzKHRjdHgtPnBvbHl2YWwsIGNyeXB0b19za2NpcGhlcl9nZXRfZmxhZ3ModGZtKSAmCisJ CQkgICAgICAgQ1JZUFRPX1RGTV9SRVFfTUFTSyk7CisJZXJyID0gY3J5cHRvX3NoYXNoX3NldGtl eSh0Y3R4LT5wb2x5dmFsLCBoYmFyLCBCTE9DS0NJUEhFUl9CTE9DS19TSVpFKTsKKwlpZiAoZXJy KQorCQlyZXR1cm4gZXJyOworCW1lbXplcm9fZXhwbGljaXQoaGJhciwgc2l6ZW9mKGhiYXIpKTsK KworCXJldHVybiBoY3RyMl9oYXNoX3R3ZWFrbGVucyh0Y3R4KTsKK30KKworc3RhdGljIGludCBo Y3RyMl9oYXNoX3R3ZWFrKHN0cnVjdCBza2NpcGhlcl9yZXF1ZXN0ICpyZXEpCit7CisJc3RydWN0 IGNyeXB0b19za2NpcGhlciAqdGZtID0gY3J5cHRvX3NrY2lwaGVyX3JlcXRmbShyZXEpOworCWNv bnN0IHN0cnVjdCBoY3RyMl90Zm1fY3R4ICp0Y3R4ID0gY3J5cHRvX3NrY2lwaGVyX2N0eCh0Zm0p OworCXN0cnVjdCBoY3RyMl9yZXF1ZXN0X2N0eCAqcmN0eCA9IHNrY2lwaGVyX3JlcXVlc3RfY3R4 KHJlcSk7CisJc3RydWN0IHNoYXNoX2Rlc2MgKmhhc2hfZGVzYyA9ICZyY3R4LT51Lmhhc2hfZGVz YzsKKwlpbnQgZXJyOworCWJvb2wgb2RkID0gcmVxLT5jcnlwdGxlbiAlIFBPTFlWQUxfQkxPQ0tf U0laRSA9PSAwOworCisJaGFzaF9kZXNjLT50Zm0gPSB0Y3R4LT5wb2x5dmFsOworCWVyciA9IGNy eXB0b19zaGFzaF9pbXBvcnQoaGFzaF9kZXNjLCBoY3RyMl9oYXNoZWRfdHdlYWtsZW4odGN0eCwg b2RkKSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwllcnIgPSBjcnlwdG9fc2hhc2hfdXBk YXRlKGhhc2hfZGVzYywgcmVxLT5pdiwgVFdFQUtfU0laRSk7CisJaWYgKGVycikKKwkJcmV0dXJu IGVycjsKKworCS8vIFN0b3JlIHRoZSBoYXNoZWQgdHdlYWssIHNpbmNlIHdlIG5lZWQgaXQgd2hl biBjb21wdXRpbmcgYm90aAorCS8vIEgoVCB8fCBOKSBhbmQgSChUIHx8IFYpLgorCXJldHVybiBj cnlwdG9fc2hhc2hfZXhwb3J0KGhhc2hfZGVzYywgaGN0cjJfaGFzaGVkX3R3ZWFrKHRjdHgsIHJj dHgpKTsKK30KKworc3RhdGljIGludCBoY3RyMl9oYXNoX21lc3NhZ2Uoc3RydWN0IHNrY2lwaGVy X3JlcXVlc3QgKnJlcSwKKwkJCSAgICAgIHN0cnVjdCBzY2F0dGVybGlzdCAqc2dsLAorCQkJICAg ICAgdTggZGlnZXN0W1BPTFlWQUxfRElHRVNUX1NJWkVdKQoreworCXU4IHBhZGRpbmdbQkxPQ0tD SVBIRVJfQkxPQ0tfU0laRV07CisJc3RydWN0IGhjdHIyX3JlcXVlc3RfY3R4ICpyY3R4ID0gc2tj aXBoZXJfcmVxdWVzdF9jdHgocmVxKTsKKwlzdHJ1Y3Qgc2hhc2hfZGVzYyAqaGFzaF9kZXNjID0g JnJjdHgtPnUuaGFzaF9kZXNjOworCWNvbnN0IHVuc2lnbmVkIGludCBidWxrX2xlbiA9IHJlcS0+ Y3J5cHRsZW4gLSBCTE9DS0NJUEhFUl9CTE9DS19TSVpFOworCXN0cnVjdCBzZ19tYXBwaW5nX2l0 ZXIgbWl0ZXI7CisJdW5zaWduZWQgaW50IHJlbWFpbmRlciA9IGJ1bGtfbGVuICUgQkxPQ0tDSVBI RVJfQkxPQ0tfU0laRTsKKwlpbnQgZXJyLCBpOworCWludCBuID0gMDsKKworCXNnX21pdGVyX3N0 YXJ0KCZtaXRlciwgc2dsLCBzZ19uZW50cyhzZ2wpLAorCQkgICAgICAgU0dfTUlURVJfRlJPTV9T RyB8IFNHX01JVEVSX0FUT01JQyk7CisJZm9yIChpID0gMDsgaSA8IGJ1bGtfbGVuOyBpICs9IG4p IHsKKwkJc2dfbWl0ZXJfbmV4dCgmbWl0ZXIpOworCQluID0gbWluX3QodW5zaWduZWQgaW50LCBt aXRlci5sZW5ndGgsIGJ1bGtfbGVuIC0gaSk7CisJCWVyciA9IGNyeXB0b19zaGFzaF91cGRhdGUo aGFzaF9kZXNjLCBtaXRlci5hZGRyLCBuKTsKKwkJaWYgKGVycikKKwkJCWJyZWFrOworCX0KKwlz Z19taXRlcl9zdG9wKCZtaXRlcik7CisKKwlpZiAoZXJyKQorCQlyZXR1cm4gZXJyOworCisJaWYg KHJlbWFpbmRlcikgeworCQltZW1zZXQocGFkZGluZywgMCwgQkxPQ0tDSVBIRVJfQkxPQ0tfU0la RSk7CisJCXBhZGRpbmdbMF0gPSAweDAxOworCQllcnIgPSBjcnlwdG9fc2hhc2hfdXBkYXRlKGhh c2hfZGVzYywgcGFkZGluZywKKwkJCQkJICBCTE9DS0NJUEhFUl9CTE9DS19TSVpFIC0gcmVtYWlu ZGVyKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7CisJfQorCXJldHVybiBjcnlwdG9fc2hh c2hfZmluYWwoaGFzaF9kZXNjLCBkaWdlc3QpOworfQorCitzdGF0aWMgaW50IGhjdHIyX2Zpbmlz aChzdHJ1Y3Qgc2tjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXN0cnVjdCBjcnlwdG9fc2tjaXBo ZXIgKnRmbSA9IGNyeXB0b19za2NpcGhlcl9yZXF0Zm0ocmVxKTsKKwljb25zdCBzdHJ1Y3QgaGN0 cjJfdGZtX2N0eCAqdGN0eCA9IGNyeXB0b19za2NpcGhlcl9jdHgodGZtKTsKKwlzdHJ1Y3QgaGN0 cjJfcmVxdWVzdF9jdHggKnJjdHggPSBza2NpcGhlcl9yZXF1ZXN0X2N0eChyZXEpOworCXU4IGRp Z2VzdFtQT0xZVkFMX0RJR0VTVF9TSVpFXTsKKwlzdHJ1Y3Qgc2hhc2hfZGVzYyAqaGFzaF9kZXNj ID0gJnJjdHgtPnUuaGFzaF9kZXNjOworCWludCBlcnI7CisKKwkvLyBVID0gVVUgXiBIKFQgfHwg VikKKwkvLyBvciBNID0gTU0gXiBIKFQgfHwgTikKKwloYXNoX2Rlc2MtPnRmbSA9IHRjdHgtPnBv bHl2YWw7CisJZXJyID0gY3J5cHRvX3NoYXNoX2ltcG9ydChoYXNoX2Rlc2MsIGhjdHIyX2hhc2hl ZF90d2Vhayh0Y3R4LCByY3R4KSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwllcnIgPSBo Y3RyMl9oYXNoX21lc3NhZ2UocmVxLCByY3R4LT5idWxrX3BhcnRfZHN0LCBkaWdlc3QpOworCWlm IChlcnIpCisJCXJldHVybiBlcnI7CisJY3J5cHRvX3hvcihyY3R4LT5maXJzdF9ibG9jaywgZGln ZXN0LCBCTE9DS0NJUEhFUl9CTE9DS19TSVpFKTsKKworCS8vIENvcHkgVSAob3IgTSkgaW50byBk c3Qgc2NhdHRlcmxpc3QKKwlzY2F0dGVyd2Fsa19tYXBfYW5kX2NvcHkocmN0eC0+Zmlyc3RfYmxv Y2ssIHJlcS0+ZHN0LAorCQkJCSAwLCBCTE9DS0NJUEhFUl9CTE9DS19TSVpFLCAxKTsKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIHZvaWQgaGN0cjJfeGN0cl9kb25lKHN0cnVjdCBjcnlwdG9fYXN5 bmNfcmVxdWVzdCAqYXJlcSwKKwkJCQkgICAgaW50IGVycikKK3sKKwlzdHJ1Y3Qgc2tjaXBoZXJf cmVxdWVzdCAqcmVxID0gYXJlcS0+ZGF0YTsKKworCWlmICghZXJyKQorCQllcnIgPSBoY3RyMl9m aW5pc2gocmVxKTsKKworCXNrY2lwaGVyX3JlcXVlc3RfY29tcGxldGUocmVxLCBlcnIpOworfQor CitzdGF0aWMgaW50IGhjdHIyX2NyeXB0KHN0cnVjdCBza2NpcGhlcl9yZXF1ZXN0ICpyZXEsIGJv b2wgZW5jKQoreworCXN0cnVjdCBjcnlwdG9fc2tjaXBoZXIgKnRmbSA9IGNyeXB0b19za2NpcGhl cl9yZXF0Zm0ocmVxKTsKKwljb25zdCBzdHJ1Y3QgaGN0cjJfdGZtX2N0eCAqdGN0eCA9IGNyeXB0 b19za2NpcGhlcl9jdHgodGZtKTsKKwlzdHJ1Y3QgaGN0cjJfcmVxdWVzdF9jdHggKnJjdHggPSBz a2NpcGhlcl9yZXF1ZXN0X2N0eChyZXEpOworCXU4IGRpZ2VzdFtQT0xZVkFMX0RJR0VTVF9TSVpF XTsKKwlpbnQgYnVsa19sZW4gPSByZXEtPmNyeXB0bGVuIC0gQkxPQ0tDSVBIRVJfQkxPQ0tfU0la RTsKKwlpbnQgZXJyOworCisJLy8gUmVxdWVzdHMgbXVzdCBiZSBhdCBsZWFzdCBvbmUgYmxvY2sK KwlpZiAocmVxLT5jcnlwdGxlbiA8IEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkUpCisJCXJldHVybiAt RUlOVkFMOworCisJLy8gQ29weSBNIChvciBVKSBpbnRvIGEgdGVtcG9yYXJ5IGJ1ZmZlcgorCXNj YXR0ZXJ3YWxrX21hcF9hbmRfY29weShyY3R4LT5maXJzdF9ibG9jaywgcmVxLT5zcmMsCisJCQkJ IDAsIEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkUsIDApOworCisJLy8gQ3JlYXRlIHNjYXR0ZXJsaXN0 cyBmb3IgTiBhbmQgVgorCXJjdHgtPmJ1bGtfcGFydF9zcmMgPSBzY2F0dGVyd2Fsa19mZndkKHJj dHgtPnNnX3NyYywgcmVxLT5zcmMsCisJCQkJCSAgICAgICBCTE9DS0NJUEhFUl9CTE9DS19TSVpF KTsKKwlyY3R4LT5idWxrX3BhcnRfZHN0ID0gc2NhdHRlcndhbGtfZmZ3ZChyY3R4LT5zZ19kc3Qs IHJlcS0+ZHN0LAorCQkJCQkgICAgICAgQkxPQ0tDSVBIRVJfQkxPQ0tfU0laRSk7CisKKwkvLyBN TSA9IE0gXiBIKFQgfHwgTikKKwkvLyBvciBVVSA9IFUgXiBIKFQgfHwgVikKKwllcnIgPSBoY3Ry Ml9oYXNoX3R3ZWFrKHJlcSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKwllcnIgPSBoY3Ry Ml9oYXNoX21lc3NhZ2UocmVxLCByY3R4LT5idWxrX3BhcnRfc3JjLCBkaWdlc3QpOworCWlmIChl cnIpCisJCXJldHVybiBlcnI7CisJY3J5cHRvX3hvcihkaWdlc3QsIHJjdHgtPmZpcnN0X2Jsb2Nr LCBCTE9DS0NJUEhFUl9CTE9DS19TSVpFKTsKKworCS8vIFVVID0gRShNTSkKKwkvLyBvciBNTSA9 IEQoVVUpCisJaWYgKGVuYykKKwkJY3J5cHRvX2NpcGhlcl9lbmNyeXB0X29uZSh0Y3R4LT5ibG9j a2NpcGhlciwgcmN0eC0+Zmlyc3RfYmxvY2ssCisJCQkJCSAgZGlnZXN0KTsKKwllbHNlCisJCWNy eXB0b19jaXBoZXJfZGVjcnlwdF9vbmUodGN0eC0+YmxvY2tjaXBoZXIsIHJjdHgtPmZpcnN0X2Js b2NrLAorCQkJCQkgIGRpZ2VzdCk7CisKKwkvLyBTID0gTU0gXiBVVSBeIEwKKwljcnlwdG9feG9y KGRpZ2VzdCwgcmN0eC0+Zmlyc3RfYmxvY2ssIEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkUpOworCWNy eXB0b194b3JfY3B5KHJjdHgtPnhjdHJfaXYsIGRpZ2VzdCwgdGN0eC0+TCwgQkxPQ0tDSVBIRVJf QkxPQ0tfU0laRSk7CisKKwkvLyBWID0gWENUUihTLCBOKQorCS8vIG9yIE4gPSBYQ1RSKFMsIFYp CisJc2tjaXBoZXJfcmVxdWVzdF9zZXRfdGZtKCZyY3R4LT51LnhjdHJfcmVxLCB0Y3R4LT54Y3Ry KTsKKwlza2NpcGhlcl9yZXF1ZXN0X3NldF9jcnlwdCgmcmN0eC0+dS54Y3RyX3JlcSwgcmN0eC0+ YnVsa19wYXJ0X3NyYywKKwkJCQkgICByY3R4LT5idWxrX3BhcnRfZHN0LCBidWxrX2xlbiwKKwkJ CQkgICByY3R4LT54Y3RyX2l2KTsKKwlza2NpcGhlcl9yZXF1ZXN0X3NldF9jYWxsYmFjaygmcmN0 eC0+dS54Y3RyX3JlcSwKKwkJCQkgICAgICByZXEtPmJhc2UuZmxhZ3MsCisJCQkJICAgICAgaGN0 cjJfeGN0cl9kb25lLCByZXEpOworCXJldHVybiBjcnlwdG9fc2tjaXBoZXJfZW5jcnlwdCgmcmN0 eC0+dS54Y3RyX3JlcSkgPzoKKwkJaGN0cjJfZmluaXNoKHJlcSk7Cit9CisKK3N0YXRpYyBpbnQg aGN0cjJfZW5jcnlwdChzdHJ1Y3Qgc2tjaXBoZXJfcmVxdWVzdCAqcmVxKQoreworCXJldHVybiBo Y3RyMl9jcnlwdChyZXEsIHRydWUpOworfQorCitzdGF0aWMgaW50IGhjdHIyX2RlY3J5cHQoc3Ry dWN0IHNrY2lwaGVyX3JlcXVlc3QgKnJlcSkKK3sKKwlyZXR1cm4gaGN0cjJfY3J5cHQocmVxLCBm YWxzZSk7Cit9CisKK3N0YXRpYyBpbnQgaGN0cjJfaW5pdF90Zm0oc3RydWN0IGNyeXB0b19za2Np cGhlciAqdGZtKQoreworCXN0cnVjdCBza2NpcGhlcl9pbnN0YW5jZSAqaW5zdCA9IHNrY2lwaGVy X2FsZ19pbnN0YW5jZSh0Zm0pOworCXN0cnVjdCBoY3RyMl9pbnN0YW5jZV9jdHggKmljdHggPSBz a2NpcGhlcl9pbnN0YW5jZV9jdHgoaW5zdCk7CisJc3RydWN0IGhjdHIyX3RmbV9jdHggKnRjdHgg PSBjcnlwdG9fc2tjaXBoZXJfY3R4KHRmbSk7CisJc3RydWN0IGNyeXB0b19za2NpcGhlciAqeGN0 cjsKKwlzdHJ1Y3QgY3J5cHRvX2NpcGhlciAqYmxvY2tjaXBoZXI7CisJc3RydWN0IGNyeXB0b19z aGFzaCAqcG9seXZhbDsKKwl1bnNpZ25lZCBpbnQgc3VicmVxX3NpemU7CisJaW50IGVycjsKKwor CXhjdHIgPSBjcnlwdG9fc3Bhd25fc2tjaXBoZXIoJmljdHgtPnhjdHJfc3Bhd24pOworCWlmIChJ U19FUlIoeGN0cikpCisJCXJldHVybiBQVFJfRVJSKHhjdHIpOworCisJYmxvY2tjaXBoZXIgPSBj cnlwdG9fc3Bhd25fY2lwaGVyKCZpY3R4LT5ibG9ja2NpcGhlcl9zcGF3bik7CisJaWYgKElTX0VS UihibG9ja2NpcGhlcikpIHsKKwkJZXJyID0gUFRSX0VSUihibG9ja2NpcGhlcik7CisJCWdvdG8g ZXJyX2ZyZWVfeGN0cjsKKwl9CisKKwlwb2x5dmFsID0gY3J5cHRvX3NwYXduX3NoYXNoKCZpY3R4 LT5wb2x5dmFsX3NwYXduKTsKKwlpZiAoSVNfRVJSKHBvbHl2YWwpKSB7CisJCWVyciA9IFBUUl9F UlIocG9seXZhbCk7CisJCWdvdG8gZXJyX2ZyZWVfYmxvY2tjaXBoZXI7CisJfQorCisJdGN0eC0+ eGN0ciA9IHhjdHI7CisJdGN0eC0+YmxvY2tjaXBoZXIgPSBibG9ja2NpcGhlcjsKKwl0Y3R4LT5w b2x5dmFsID0gcG9seXZhbDsKKworCUJVSUxEX0JVR19PTihvZmZzZXRvZmVuZChzdHJ1Y3QgaGN0 cjJfcmVxdWVzdF9jdHgsIHUpICE9CisJCQkJIHNpemVvZihzdHJ1Y3QgaGN0cjJfcmVxdWVzdF9j dHgpKTsKKwlzdWJyZXFfc2l6ZSA9IG1heChzaXplb2ZfZmllbGQoc3RydWN0IGhjdHIyX3JlcXVl c3RfY3R4LCB1Lmhhc2hfZGVzYykgKworCQkJICBjcnlwdG9fc2hhc2hfc3RhdGVzaXplKHBvbHl2 YWwpLCBzaXplb2ZfZmllbGQoc3RydWN0CisJCQkgIGhjdHIyX3JlcXVlc3RfY3R4LCB1LnhjdHJf cmVxKSArCisJCQkgIGNyeXB0b19za2NpcGhlcl9yZXFzaXplKHhjdHIpKTsKKworCXRjdHgtPmhh c2hlZF90d2Vha19vZmZzZXQgPSBvZmZzZXRvZihzdHJ1Y3QgaGN0cjJfcmVxdWVzdF9jdHgsIHUp ICsKKwkJCQkgICAgc3VicmVxX3NpemU7CisJY3J5cHRvX3NrY2lwaGVyX3NldF9yZXFzaXplKHRm bSwgdGN0eC0+aGFzaGVkX3R3ZWFrX29mZnNldCArCisJCQkJICAgIGNyeXB0b19zaGFzaF9zdGF0 ZXNpemUocG9seXZhbCkpOworCXJldHVybiAwOworCitlcnJfZnJlZV9ibG9ja2NpcGhlcjoKKwlj cnlwdG9fZnJlZV9jaXBoZXIoYmxvY2tjaXBoZXIpOworZXJyX2ZyZWVfeGN0cjoKKwljcnlwdG9f ZnJlZV9za2NpcGhlcih4Y3RyKTsKKwlyZXR1cm4gZXJyOworfQorCitzdGF0aWMgdm9pZCBoY3Ry Ml9leGl0X3RmbShzdHJ1Y3QgY3J5cHRvX3NrY2lwaGVyICp0Zm0pCit7CisJc3RydWN0IGhjdHIy X3RmbV9jdHggKnRjdHggPSBjcnlwdG9fc2tjaXBoZXJfY3R4KHRmbSk7CisKKwljcnlwdG9fZnJl ZV9jaXBoZXIodGN0eC0+YmxvY2tjaXBoZXIpOworCWNyeXB0b19mcmVlX3NrY2lwaGVyKHRjdHgt PnhjdHIpOworCWNyeXB0b19mcmVlX3NoYXNoKHRjdHgtPnBvbHl2YWwpOworfQorCitzdGF0aWMg dm9pZCBoY3RyMl9mcmVlX2luc3RhbmNlKHN0cnVjdCBza2NpcGhlcl9pbnN0YW5jZSAqaW5zdCkK K3sKKwlzdHJ1Y3QgaGN0cjJfaW5zdGFuY2VfY3R4ICppY3R4ID0gc2tjaXBoZXJfaW5zdGFuY2Vf Y3R4KGluc3QpOworCisJY3J5cHRvX2Ryb3BfY2lwaGVyKCZpY3R4LT5ibG9ja2NpcGhlcl9zcGF3 bik7CisJY3J5cHRvX2Ryb3Bfc2tjaXBoZXIoJmljdHgtPnhjdHJfc3Bhd24pOworCWNyeXB0b19k cm9wX3NoYXNoKCZpY3R4LT5wb2x5dmFsX3NwYXduKTsKKwlrZnJlZShpbnN0KTsKK30KKworLyoK KyAqIENoZWNrIGZvciBhIHN1cHBvcnRlZCBzZXQgb2YgaW5uZXIgYWxnb3JpdGhtcy4KKyAqIFNl ZSB0aGUgY29tbWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgZmlsZS4KKyAqLworc3RhdGlj IGJvb2wgaGN0cjJfc3VwcG9ydGVkX2FsZ29yaXRobXMoc3RydWN0IHNrY2lwaGVyX2FsZyAqeGN0 cl9hbGcsCisJCQkJICAgICAgIHN0cnVjdCBjcnlwdG9fYWxnICpibG9ja2NpcGhlcl9hbGcsCisJ CQkJICAgICAgIHN0cnVjdCBzaGFzaF9hbGcgKnBvbHl2YWxfYWxnKQoreworCWlmIChzdHJuY21w KHhjdHJfYWxnLT5iYXNlLmNyYV9uYW1lLCAieGN0cigiLCA0KSAhPSAwKQorCQlyZXR1cm4gZmFs c2U7CisKKwlpZiAoYmxvY2tjaXBoZXJfYWxnLT5jcmFfYmxvY2tzaXplICE9IEJMT0NLQ0lQSEVS X0JMT0NLX1NJWkUpCisJCXJldHVybiBmYWxzZTsKKworCWlmIChzdHJjbXAocG9seXZhbF9hbGct PmJhc2UuY3JhX25hbWUsICJwb2x5dmFsIikgIT0gMCkKKwkJcmV0dXJuIGZhbHNlOworCisJcmV0 dXJuIHRydWU7Cit9CisKK3N0YXRpYyBpbnQgaGN0cjJfY3JlYXRlX2NvbW1vbihzdHJ1Y3QgY3J5 cHRvX3RlbXBsYXRlICp0bXBsLAorCQkJICAgICAgIHN0cnVjdCBydGF0dHIgKip0YiwKKwkJCSAg ICAgICBjb25zdCBjaGFyICp4Y3RyX25hbWUsCisJCQkgICAgICAgY29uc3QgY2hhciAqcG9seXZh bF9uYW1lKQoreworCXUzMiBtYXNrOworCXN0cnVjdCBza2NpcGhlcl9pbnN0YW5jZSAqaW5zdDsK KwlzdHJ1Y3QgaGN0cjJfaW5zdGFuY2VfY3R4ICppY3R4OworCXN0cnVjdCBza2NpcGhlcl9hbGcg KnhjdHJfYWxnOworCXN0cnVjdCBjcnlwdG9fYWxnICpibG9ja2NpcGhlcl9hbGc7CisJc3RydWN0 IHNoYXNoX2FsZyAqcG9seXZhbF9hbGc7CisJY2hhciBibG9ja2NpcGhlcl9uYW1lW0NSWVBUT19N QVhfQUxHX05BTUVdOworCWludCBsZW47CisJaW50IGVycjsKKworCWVyciA9IGNyeXB0b19jaGVj a19hdHRyX3R5cGUodGIsIENSWVBUT19BTEdfVFlQRV9TS0NJUEhFUiwgJm1hc2spOworCWlmIChl cnIpCisJCXJldHVybiBlcnI7CisKKwlpbnN0ID0ga3phbGxvYyhzaXplb2YoKmluc3QpICsgc2l6 ZW9mKCppY3R4KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFpbnN0KQorCQlyZXR1cm4gLUVOT01FTTsK KwlpY3R4ID0gc2tjaXBoZXJfaW5zdGFuY2VfY3R4KGluc3QpOworCisJLyogU3RyZWFtIGNpcGhl ciwgeGN0cihibG9ja19jaXBoZXIpICovCisJZXJyID0gY3J5cHRvX2dyYWJfc2tjaXBoZXIoJmlj dHgtPnhjdHJfc3Bhd24sCisJCQkJICAgc2tjaXBoZXJfY3J5cHRvX2luc3RhbmNlKGluc3QpLAor CQkJCSAgIHhjdHJfbmFtZSwgMCwgbWFzayk7CisJaWYgKGVycikKKwkJZ290byBlcnJfZnJlZV9p bnN0OworCXhjdHJfYWxnID0gY3J5cHRvX3NwYXduX3NrY2lwaGVyX2FsZygmaWN0eC0+eGN0cl9z cGF3bik7CisKKwlpZiAoIXN0cm5jbXAoeGN0cl9hbGctPmJhc2UuY3JhX25hbWUsICJ4Y3RyKCIs IDUpKSB7CisJCWxlbiA9IHN0cnNjcHkoYmxvY2tjaXBoZXJfbmFtZSwgeGN0cl9uYW1lICsgNSwK KwkJCSAgICBzaXplb2YoYmxvY2tjaXBoZXJfbmFtZSkpOworCisJCWlmIChsZW4gPCAxKQorCQkJ cmV0dXJuIC1FSU5WQUw7CisKKwkJaWYgKGJsb2NrY2lwaGVyX25hbWVbbGVuIC0gMV0gIT0gJykn KQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJYmxvY2tjaXBoZXJfbmFtZVtsZW4gLSAxXSA9IDA7 CisJfSBlbHNlCisJCXJldHVybiAtRUlOVkFMOworCisKKwkvKiBCbG9jayBjaXBoZXIsIGUuZy4g ImFlcyIgKi8KKwllcnIgPSBjcnlwdG9fZ3JhYl9jaXBoZXIoJmljdHgtPmJsb2NrY2lwaGVyX3Nw YXduLAorCQkJCSBza2NpcGhlcl9jcnlwdG9faW5zdGFuY2UoaW5zdCksCisJCQkJIGJsb2NrY2lw aGVyX25hbWUsIDAsIG1hc2spOworCWlmIChlcnIpCisJCWdvdG8gZXJyX2ZyZWVfaW5zdDsKKwli bG9ja2NpcGhlcl9hbGcgPSBjcnlwdG9fc3Bhd25fY2lwaGVyX2FsZygmaWN0eC0+YmxvY2tjaXBo ZXJfc3Bhd24pOworCisJLyogUG9seXZhbCDOtS3iiIZVIGhhc2ggZnVuY3Rpb24gKi8KKwllcnIg PSBjcnlwdG9fZ3JhYl9zaGFzaCgmaWN0eC0+cG9seXZhbF9zcGF3biwKKwkJCQlza2NpcGhlcl9j cnlwdG9faW5zdGFuY2UoaW5zdCksCisJCQkJcG9seXZhbF9uYW1lLCAwLCBtYXNrKTsKKwlpZiAo ZXJyKQorCQlnb3RvIGVycl9mcmVlX2luc3Q7CisJcG9seXZhbF9hbGcgPSBjcnlwdG9fc3Bhd25f c2hhc2hfYWxnKCZpY3R4LT5wb2x5dmFsX3NwYXduKTsKKworCS8qIENoZWNrIHRoZSBzZXQgb2Yg YWxnb3JpdGhtcyAqLworCWlmICghaGN0cjJfc3VwcG9ydGVkX2FsZ29yaXRobXMoeGN0cl9hbGcs IGJsb2NrY2lwaGVyX2FsZywKKwkJCQkJcG9seXZhbF9hbGcpKSB7CisJCXByX3dhcm4oIlVuc3Vw cG9ydGVkIEhDVFIyIGluc3RhbnRpYXRpb246ICglcywlcywlcylcbiIsCisJCQl4Y3RyX2FsZy0+ YmFzZS5jcmFfbmFtZSwgYmxvY2tjaXBoZXJfYWxnLT5jcmFfbmFtZSwKKwkJCXBvbHl2YWxfYWxn LT5iYXNlLmNyYV9uYW1lKTsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBlcnJfZnJlZV9pbnN0 OworCX0KKworCS8qIEluc3RhbmNlIGZpZWxkcyAqLworCisJZXJyID0gLUVOQU1FVE9PTE9ORzsK KwlpZiAoc25wcmludGYoaW5zdC0+YWxnLmJhc2UuY3JhX25hbWUsIENSWVBUT19NQVhfQUxHX05B TUUsICJoY3RyMiglcykiLAorCQkgICAgIGJsb2NrY2lwaGVyX2FsZy0+Y3JhX25hbWUpID49IENS WVBUT19NQVhfQUxHX05BTUUpCisJCWdvdG8gZXJyX2ZyZWVfaW5zdDsKKwlpZiAoc25wcmludGYo aW5zdC0+YWxnLmJhc2UuY3JhX2RyaXZlcl9uYW1lLCBDUllQVE9fTUFYX0FMR19OQU1FLAorCQkg ICAgICJoY3RyMl9iYXNlKCVzLCVzKSIsCisJCSAgICAgeGN0cl9hbGctPmJhc2UuY3JhX2RyaXZl cl9uYW1lLAorCQkgICAgIHBvbHl2YWxfYWxnLT5iYXNlLmNyYV9kcml2ZXJfbmFtZSkgPj0gQ1JZ UFRPX01BWF9BTEdfTkFNRSkKKwkJZ290byBlcnJfZnJlZV9pbnN0OworCisJaW5zdC0+YWxnLmJh c2UuY3JhX2Jsb2Nrc2l6ZSA9IEJMT0NLQ0lQSEVSX0JMT0NLX1NJWkU7CisJaW5zdC0+YWxnLmJh c2UuY3JhX2N0eHNpemUgPSBzaXplb2Yoc3RydWN0IGhjdHIyX3RmbV9jdHgpICsKKwkJCQkgICAg IHBvbHl2YWxfYWxnLT5zdGF0ZXNpemUgKiAyOworCWluc3QtPmFsZy5iYXNlLmNyYV9hbGlnbm1h c2sgPSB4Y3RyX2FsZy0+YmFzZS5jcmFfYWxpZ25tYXNrIHwKKwkJCQkgICAgICAgcG9seXZhbF9h bGctPmJhc2UuY3JhX2FsaWdubWFzazsKKwkvKgorCSAqIFRoZSBoYXNoIGZ1bmN0aW9uIGlzIGNh bGxlZCB0d2ljZSwgc28gaXQgaXMgd2VpZ2h0ZWQgaGlnaGVyIHRoYW4gdGhlCisJICogeGN0ciBh bmQgYmxvY2tjaXBoZXIuCisJICovCisJaW5zdC0+YWxnLmJhc2UuY3JhX3ByaW9yaXR5ID0gKDIg KiB4Y3RyX2FsZy0+YmFzZS5jcmFfcHJpb3JpdHkgKworCQkJCSAgICAgICA0ICogcG9seXZhbF9h bGctPmJhc2UuY3JhX3ByaW9yaXR5ICsKKwkJCQkgICAgICAgYmxvY2tjaXBoZXJfYWxnLT5jcmFf cHJpb3JpdHkpIC8gNzsKKworCWluc3QtPmFsZy5zZXRrZXkgPSBoY3RyMl9zZXRrZXk7CisJaW5z dC0+YWxnLmVuY3J5cHQgPSBoY3RyMl9lbmNyeXB0OworCWluc3QtPmFsZy5kZWNyeXB0ID0gaGN0 cjJfZGVjcnlwdDsKKwlpbnN0LT5hbGcuaW5pdCA9IGhjdHIyX2luaXRfdGZtOworCWluc3QtPmFs Zy5leGl0ID0gaGN0cjJfZXhpdF90Zm07CisJaW5zdC0+YWxnLm1pbl9rZXlzaXplID0gY3J5cHRv X3NrY2lwaGVyX2FsZ19taW5fa2V5c2l6ZSh4Y3RyX2FsZyk7CisJaW5zdC0+YWxnLm1heF9rZXlz aXplID0gY3J5cHRvX3NrY2lwaGVyX2FsZ19tYXhfa2V5c2l6ZSh4Y3RyX2FsZyk7CisJaW5zdC0+ YWxnLml2c2l6ZSA9IFRXRUFLX1NJWkU7CisKKwlpbnN0LT5mcmVlID0gaGN0cjJfZnJlZV9pbnN0 YW5jZTsKKworCWVyciA9IHNrY2lwaGVyX3JlZ2lzdGVyX2luc3RhbmNlKHRtcGwsIGluc3QpOwor CWlmIChlcnIpIHsKK2Vycl9mcmVlX2luc3Q6CisJCWhjdHIyX2ZyZWVfaW5zdGFuY2UoaW5zdCk7 CisJfQorCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyBpbnQgaGN0cjJfY3JlYXRlX2Jhc2Uoc3Ry dWN0IGNyeXB0b190ZW1wbGF0ZSAqdG1wbCwgc3RydWN0IHJ0YXR0ciAqKnRiKQoreworCWNvbnN0 IGNoYXIgKnhjdHJfbmFtZTsKKwljb25zdCBjaGFyICpwb2x5dmFsX25hbWU7CisKKwl4Y3RyX25h bWUgPSBjcnlwdG9fYXR0cl9hbGdfbmFtZSh0YlsxXSk7CisJaWYgKElTX0VSUih4Y3RyX25hbWUp KQorCQlyZXR1cm4gUFRSX0VSUih4Y3RyX25hbWUpOworCisJcG9seXZhbF9uYW1lID0gY3J5cHRv X2F0dHJfYWxnX25hbWUodGJbMl0pOworCWlmIChJU19FUlIocG9seXZhbF9uYW1lKSkKKwkJcmV0 dXJuIFBUUl9FUlIocG9seXZhbF9uYW1lKTsKKworCXJldHVybiBoY3RyMl9jcmVhdGVfY29tbW9u KHRtcGwsIHRiLCB4Y3RyX25hbWUsIHBvbHl2YWxfbmFtZSk7Cit9CisKK3N0YXRpYyBpbnQgaGN0 cjJfY3JlYXRlKHN0cnVjdCBjcnlwdG9fdGVtcGxhdGUgKnRtcGwsIHN0cnVjdCBydGF0dHIgKip0 YikKK3sKKwljb25zdCBjaGFyICpibG9ja2NpcGhlcl9uYW1lOworCWNoYXIgeGN0cl9uYW1lW0NS WVBUT19NQVhfQUxHX05BTUVdOworCisJYmxvY2tjaXBoZXJfbmFtZSA9IGNyeXB0b19hdHRyX2Fs Z19uYW1lKHRiWzFdKTsKKwlpZiAoSVNfRVJSKGJsb2NrY2lwaGVyX25hbWUpKQorCQlyZXR1cm4g UFRSX0VSUihibG9ja2NpcGhlcl9uYW1lKTsKKworCWlmIChzbnByaW50Zih4Y3RyX25hbWUsIENS WVBUT19NQVhfQUxHX05BTUUsICJ4Y3RyKCVzKSIsCisJCSAgICBibG9ja2NpcGhlcl9uYW1lKSA+ PSBDUllQVE9fTUFYX0FMR19OQU1FKQorCQlyZXR1cm4gLUVOQU1FVE9PTE9ORzsKKworCXJldHVy biBoY3RyMl9jcmVhdGVfY29tbW9uKHRtcGwsIHRiLCB4Y3RyX25hbWUsICJwb2x5dmFsIik7Cit9 CisKKy8qIGhjdHIyKGJsb2NrY2lwaGVyX25hbWUpICovCisvKiBoY3RyMl9iYXNlKHhjdHJfbmFt ZSwgcG9seXZhbF9uYW1lKSAqLworc3RhdGljIHN0cnVjdCBjcnlwdG9fdGVtcGxhdGUgaGN0cjJf dG1wbHNbXSA9IHsKKwl7CisJCS5uYW1lID0gImhjdHIyX2Jhc2UiLAorCQkuY3JlYXRlID0gaGN0 cjJfY3JlYXRlX2Jhc2UsCisJCS5tb2R1bGUgPSBUSElTX01PRFVMRSwKKwl9LCB7CisJCS5uYW1l ID0gImhjdHIyIiwKKwkJLmNyZWF0ZSA9IGhjdHIyX2NyZWF0ZSwKKwkJLm1vZHVsZSA9IFRISVNf TU9EVUxFLAorCX0KK307CisKK3N0YXRpYyBpbnQgX19pbml0IGhjdHIyX21vZHVsZV9pbml0KHZv aWQpCit7CisJcmV0dXJuIGNyeXB0b19yZWdpc3Rlcl90ZW1wbGF0ZXMoaGN0cjJfdG1wbHMsIEFS UkFZX1NJWkUoaGN0cjJfdG1wbHMpKTsKK30KKworc3RhdGljIHZvaWQgX19leGl0IGhjdHIyX21v ZHVsZV9leGl0KHZvaWQpCit7CisJcmV0dXJuIGNyeXB0b191bnJlZ2lzdGVyX3RlbXBsYXRlcyho Y3RyMl90bXBscywKKwkJCQkJICAgQVJSQVlfU0laRShoY3RyMl90bXBscykpOworfQorCitzdWJz eXNfaW5pdGNhbGwoaGN0cjJfbW9kdWxlX2luaXQpOworbW9kdWxlX2V4aXQoaGN0cjJfbW9kdWxl X2V4aXQpOworCitNT0RVTEVfREVTQ1JJUFRJT04oIkhDVFIyIGxlbmd0aC1wcmVzZXJ2aW5nIGVu Y3J5cHRpb24gbW9kZSIpOworTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOworTU9EVUxFX0FMSUFT X0NSWVBUTygiaGN0cjIiKTsKK01PRFVMRV9JTVBPUlRfTlMoQ1JZUFRPX0lOVEVSTkFMKTsKZGlm ZiAtLWdpdCBhL2NyeXB0by90Y3J5cHQuYyBiL2NyeXB0by90Y3J5cHQuYwppbmRleCBkZDljZjIx NjAyOWIuLjMzNjU5OGRhOGVhYyAxMDA2NDQKLS0tIGEvY3J5cHRvL3RjcnlwdC5jCisrKyBiL2Ny eXB0by90Y3J5cHQuYwpAQCAtMjE5MSw2ICsyMTkxLDExIEBAIHN0YXRpYyBpbnQgZG9fdGVzdChj b25zdCBjaGFyICphbGcsIHUzMiB0eXBlLCB1MzIgbWFzaywgaW50IG0sIHUzMiBudW1fbWIpCiAJ CQkJICAgMTYsIDE2LCBhZWFkX3NwZWVkX3RlbXBsYXRlXzE5LCBudW1fbWIpOwogCQlicmVhazsK IAorCWNhc2UgMjI2OgorCQl0ZXN0X2NpcGhlcl9zcGVlZCgiaGN0cjIoYWVzKSIsIEVOQ1JZUFQs IHNlYywgTlVMTCwKKwkJCQkgIDAsIHNwZWVkX3RlbXBsYXRlXzMyKTsKKwkJYnJlYWs7CisKIAlj YXNlIDMwMDoKIAkJaWYgKGFsZykgewogCQkJdGVzdF9oYXNoX3NwZWVkKGFsZywgc2VjLCBnZW5l cmljX2hhc2hfc3BlZWRfdGVtcGxhdGUpOwpkaWZmIC0tZ2l0IGEvY3J5cHRvL3Rlc3RtZ3IuYyBi L2NyeXB0by90ZXN0bWdyLmMKaW5kZXggZDgwN2IyMDBlZGY2Li4zMjQ0YjdlNWFhN2UgMTAwNjQ0 Ci0tLSBhL2NyeXB0by90ZXN0bWdyLmMKKysrIGIvY3J5cHRvL3Rlc3RtZ3IuYwpAQCAtNTAzMCw2 ICs1MDMwLDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYWxnX3Rlc3RfZGVzYyBhbGdfdGVzdF9k ZXNjc1tdID0gewogCQkuc3VpdGUgPSB7CiAJCQkuaGFzaCA9IF9fVkVDUyhnaGFzaF90dl90ZW1w bGF0ZSkKIAkJfQorCX0sIHsKKwkJLmFsZyA9ICJoY3RyMihhZXMpIiwKKwkJLmdlbmVyaWNfZHJp dmVyID0KKwkJICAgICJoY3RyMl9iYXNlKHhjdHIoYWVzLWdlbmVyaWMpLHBvbHl2YWwtZ2VuZXJp YykiLAorCQkudGVzdCA9IGFsZ190ZXN0X3NrY2lwaGVyLAorCQkuc3VpdGUgPSB7CisJCQkuY2lw aGVyID0gX19WRUNTKGFlc19oY3RyMl90dl90ZW1wbGF0ZSkKKwkJfQogCX0sIHsKIAkJLmFsZyA9 ICJobWFjKG1kNSkiLAogCQkudGVzdCA9IGFsZ190ZXN0X2hhc2gsCmRpZmYgLS1naXQgYS9jcnlw dG8vdGVzdG1nci5oIGIvY3J5cHRvL3Rlc3RtZ3IuaAppbmRleCBjNTgxZTU0MDU5MTYuLjEzYzcw ZGRlMmY4OSAxMDA2NDQKLS0tIGEvY3J5cHRvL3Rlc3RtZ3IuaAorKysgYi9jcnlwdG8vdGVzdG1n ci5oCkBAIC0zNTEwMCw0ICszNTEwMCw2NzYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoYXNoX3Rl c3R2ZWMgcG9seXZhbF90dl90ZW1wbGF0ZVtdID0gewogCiB9OwogCisvKgorICogVGVzdCB2ZWN0 b3JzIGdlbmVyYXRlZCB1c2luZyBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL2hjdHIyCisgKi8K K3N0YXRpYyBjb25zdCBzdHJ1Y3QgY2lwaGVyX3Rlc3R2ZWMgYWVzX2hjdHIyX3R2X3RlbXBsYXRl W10gPSB7CisJeworCQkua2V5CT0gIlx4ZTFceDE1XHg2Nlx4M2NceDhkXHhjNlx4M2FceGZmIgor CQkJICAiXHhlZlx4NDFceGQ3XHg0N1x4YTJceGNjXHg4YVx4YmEiLAorCQkuaXYJPSAiXHhjM1x4 YmVceDJhXHhjYlx4YjVceDM5XHg4Nlx4ZjEiCisJCQkgICJceDkxXHhhZFx4NmNceGY0XHhkZVx4 NzRceDQ1XHg2MyIKKwkJCSAgIlx4NWNceDdhXHhkNVx4Y2NceDhiXHg3Nlx4ZWZceDBlIgorCQkJ ICAiXHhjZlx4MmNceDYwXHg2OVx4MzdceGZkXHgwN1x4OTYiLAorCQkucHRleHQJPSAiXHg2NVx4 NzVceGFlXHhkM1x4ZTJceGJjXHg0M1x4NWMiCisJCQkgICJceGIzXHgxYVx4ZDhceDA1XHhjM1x4 ZDBceDU2XHgyOSIsCisJCS5jdGV4dAk9ICJceDExXHg5MVx4ZWFceDc0XHg1OFx4Y2NceGQ1XHhh MiIKKwkJCSAgIlx4ZDBceDU1XHg5ZVx4M2RceGZlXHg3Zlx4YzhceGZlIiwKKwkJLmtsZW4JPSAx NiwKKwkJLmxlbgk9IDE2LAorCX0sCisJeworCQkua2V5CT0gIlx4ZTdceGQxXHg3N1x4NDhceDc2 XHgwYlx4Y2RceDM0IgorCQkJICAiXHgyYVx4MmRceGU3XHg3NFx4Y2FceDExXHg5Y1x4YWUiLAor CQkuaXYJPSAiXHg3MVx4MWNceDQ5XHg2Mlx4ZDlceDViXHg1MFx4NWUiCisJCQkgICJceDY4XHg4 N1x4YmNceGY2XHg4OVx4ZmZceGVkXHgzMCIKKwkJCSAgIlx4ZTRceGU1XHhiZFx4YjZceDEwXHg0 Zlx4OWZceDY2IgorCQkJICAiXHgyOFx4MDZceDVhXHhmNFx4MjdceDM1XHhjZFx4ZTUiLAorCQku cHRleHQJPSAiXHg4N1x4MDNceDhmXHgwNlx4YThceDYxXHg1NFx4ZGEiCisJCQkgICJceDAxXHg0 NVx4ZDRceDAxXHhlZlx4NGFceDIyXHhjZiIKKwkJCSAgIlx4NzhceDE1XHg5Zlx4YmRceDY0XHhi ZFx4MmNceGI5IgorCQkJICAiXHg0MFx4MWRceDcyXHhhZVx4NTNceDYzXHhhNSIsCisJCS5jdGV4 dAk9ICJceDRlXHhhMVx4MDVceDI3XHhiOFx4NDVceGU0XHhhMSIKKwkJCSAgIlx4YmJceDMwXHhi NFx4YTZceDEyXHg3NFx4NjNceGQ2IgorCQkJICAiXHgxN1x4YzlceGNjXHgyZlx4MThceDY0XHhl MFx4MDYiCisJCQkgICJceDBhXHhhMFx4ZmZceDcyXHgxMFx4N2JceDIyIiwKKwkJLmtsZW4JPSAx NiwKKwkJLmxlbgk9IDMxLAorCX0sCisJeworCQkua2V5CT0gIlx4NTlceDY1XHgzYlx4MWRceDQz XHg1ZVx4YzBceGFlIgorCQkJICAiXHhiOFx4OWRceDliXHhkZFx4MjJceDAzXHhiZlx4Y2EiLAor CQkuaXYJPSAiXHhlY1x4OTVceGZhXHg1YVx4Y2ZceDVlXHhkMlx4OTMiCisJCQkgICJceGEzXHhi NVx4ZTVceGJlXHhmM1x4MDFceDdiXHgwMSIKKwkJCSAgIlx4ZDFceGNhXHg2Y1x4MDZceDgyXHhm MFx4YmRceDY3IgorCQkJICAiXHhkOVx4NmNceGE0XHhkY1x4YjRceDM4XHgwZlx4NzQiLAorCQku cHRleHQJPSAiXHg0NVx4ZGZceDc1XHg4N1x4YmNceDcyXHhjZVx4NTUiCisJCQkgICJceGM5XHhm YVx4Y2JceGZjXHg5Zlx4NDBceDgyXHgyYiIKKwkJCSAgIlx4YzZceDRmXHg0Zlx4NWJceDhiXHgz Ylx4NmRceDY3IgorCQkJICAiXHhhNlx4OTNceDYyXHg4OVx4OGNceDE5XHhmNFx4ZTMiCisJCQkg ICJceDA4XHg5Mlx4OWNceGM5XHg0N1x4MmNceDZlXHhkMCIKKwkJCSAgIlx4YTNceDAyXHgyYlx4 ZGJceDJjXHhmMlx4OGRceDQ2IgorCQkJICAiXHhjZFx4YjBceDlkXHgyNlx4NjNceDRjXHg0MFx4 NmIiCisJCQkgICJceDc5XHg0M1x4ZTVceGNlXHg0Mlx4YThceGVjXHgzYiIKKwkJCSAgIlx4NWJc eGQwXHhlYVx4YTRceGU2XHhkYlx4NjZceDU1IgorCQkJICAiXHg3YVx4NzZceGVjXHhhYlx4N2Rc eDJhXHgyYlx4YmQiCisJCQkgICJceGE5XHhhYlx4MjJceDY0XHgxYVx4YTFceGFlXHg4NCIKKwkJ CSAgIlx4ODZceDc5XHg2N1x4ZTlceGIyXHg1MFx4YmVceDEyIgorCQkJICAiXHgyZlx4YjJceDE0 XHhmMFx4ZGJceDcxXHhkOFx4YTciCisJCQkgICJceDQxXHg4YVx4ODhceGEwXHg2YVx4NmVceDlk XHgyYSIKKwkJCSAgIlx4ZmFceDExXHgzN1x4NDBceDMyXHgwOVx4NGNceDQ3IgorCQkJICAiXHg0 MVx4MDdceDMxXHg4NVx4M2RceGE4XHhmN1x4NjQiLAorCQkuY3RleHQJPSAiXHgyZFx4NGJceDlm XHg5M1x4Y2FceDVhXHg0OFx4MjYiCisJCQkgICJceDAxXHhjY1x4NTRceGU0XHgzMVx4NTBceDEy XHhmMCIKKwkJCSAgIlx4NDlceGZmXHg1OVx4NDJceDY4XHhiZFx4ODdceDhmIgorCQkJICAiXHg5 ZVx4NjJceDk2XHhjZFx4YjlceDI0XHg1N1x4YTQiCisJCQkgICJceDBiXHg3Ylx4ZjVceDJlXHgw ZVx4YThceDY1XHgwNyIKKwkJCSAgIlx4YWJceDA1XHhkNVx4Y2FceGU3XHg5Y1x4NmNceDM0Igor CQkJICAiXHg1ZFx4NDJceDM0XHhhNFx4NjJceGU5XHg3NVx4NDgiCisJCQkgICJceDNkXHg5ZVx4 OGZceGZhXHg0Mlx4ZTlceDc1XHgwOCIKKwkJCSAgIlx4NGVceDU0XHg5MVx4MmJceGJkXHgxMVx4 MGZceDhlIgorCQkJICAiXHhmMFx4ODJceGY1XHgyNFx4ZjFceGM0XHhmY1x4YWUiCisJCQkgICJc eDQyXHg1NFx4N2ZceGNlXHgxNVx4YThceGIyXHgzMyIKKwkJCSAgIlx4YzBceDg2XHhiNlx4MmJc eGU4XHg0NFx4Y2VceDFmIgorCQkJICAiXHg2OFx4NTdceDY2XHg5NFx4NmVceGFkXHhlYlx4ZjMi CisJCQkgICJceDMwXHhmOFx4MTFceGJkXHg2MFx4MDBceGM2XHhkNSIKKwkJCSAgIlx4NGNceDgx XHhmMVx4MjBceDJiXHg0YVx4NWJceDk5IgorCQkJICAiXHg3OVx4M2JceGM5XHg1Y1x4NzRceDIz XHhlNlx4NWQiLAorCQkua2xlbgk9IDE2LAorCQkubGVuCT0gMTI4LAorCX0sCisJeworCQkua2V5 CT0gIlx4M2VceDA4XHg1ZFx4NjRceDZjXHg5OFx4ZWNceGVjIgorCQkJICAiXHg3MFx4MGVceDBk XHhhMVx4NDFceDIwXHg5OVx4ODIiLAorCQkuaXYJPSAiXHgxMVx4YjdceDc3XHg5MVx4MGRceDk5 XHhkOVx4OGQiCisJCQkgICJceDM1XHgzYVx4ZjdceDE0XHg2Ylx4MDlceDM3XHhlNSIKKwkJCSAg Ilx4YWRceDUxXHhmNlx4YzNceDk2XHg0Ylx4NjRceDU2IgorCQkJICAiXHhhOFx4YmRceDgxXHhj Y1x4YmVceDk0XHhhZlx4ZTQiLAorCQkucHRleHQJPSAiXHhmZlx4OGRceGI5XHhjMFx4ZTNceDY5 XHhiM1x4YjIiCisJCQkgICJceDhiXHgxMVx4MjZceGIzXHgxMVx4ZWNceGZiXHhiOSIKKwkJCSAg Ilx4OWNceGMxXHg3MVx4ZDZceGUzXHgyNlx4MGVceGUwIgorCQkJICAiXHg2OFx4NDBceDYwXHhi OVx4M2FceDYzXHg1Nlx4OGEiCisJCQkgICJceDllXHhjMVx4ZjBceDEwXHhiMVx4NjRceDMyXHg3 MCIKKwkJCSAgIlx4ZjhceGNkXHhjNlx4YzRceDQ5XHg0Y1x4ZTFceGNlIgorCQkJICAiXHhmM1x4 ZTFceDAzXHhmOFx4MzVceGFlXHhlMFx4NWUiCisJCQkgICJceGVmXHg1Zlx4YmNceDQxXHg3NVx4 MjZceDEzXHhjYyIKKwkJCSAgIlx4MzdceDg1XHhkZlx4YzBceDVkXHhhNlx4NDdceDk4IgorCQkJ ICAiXHhmMVx4OTdceDUyXHg1OFx4MDRceGU2XHhiNVx4MDEiCisJCQkgICJceGMwXHhiOFx4MTdc eDZkXHg3NFx4YmRceDlhXHhkZiIKKwkJCSAgIlx4YTRceDM3XHg5NFx4ODZceGIwXHgxM1x4ODNc eDI4IgorCQkJICAiXHhjOVx4YTJceDA3XHgzZlx4YjVceGIyXHg3Mlx4NDAiCisJCQkgICJceDBl XHg2MFx4ZGZceDU3XHgwN1x4YjdceDJjXHg2NiIKKwkJCSAgIlx4MTBceDNmXHg4ZFx4ZGRceDMw XHgwYVx4NDdceGQ1IgorCQkJICAiXHhlOFx4OWRceGZiXHhhMVx4YWZceDUzXHhkN1x4MDUiCisJ CQkgICJceGM3XHhkMlx4YmFceGU3XHgyY1x4YTBceGJmXHhiOCIKKwkJCSAgIlx4ZDFceDkzXHhl N1x4NDFceDgyXHhhM1x4NDFceDNhIgorCQkJICAiXHhhZlx4MTJceGQ2XHhmOFx4MzRceGRhXHg5 Mlx4NDYiCisJCQkgICJceGFkXHhhMlx4MmZceGY2XHg3ZVx4NDZceDk2XHhkOCIKKwkJCSAgIlx4 MDNceGYzXHg0OVx4NjRceGRlXHhkOFx4MDZceDhiIgorCQkJICAiXHhhMFx4YmNceDYzXHgzNVx4 MzhceGI2XHg2Ylx4ZGEiCisJCQkgICJceDViXHg1MFx4M2ZceDEzXHhhNVx4ODRceDFiXHgxYiIK KwkJCSAgIlx4NjZceDg5XHg5NVx4YjdceGMyXHgxNlx4M2NceGU5IgorCQkJICAiXHgyNFx4YjBc eDhjXHg2Zlx4NDlceGVmXHhmN1x4MjgiCisJCQkgICJceDZhXHgyNFx4ZmRceGJlXHgyNVx4ZTJc eGI0XHg5MCIKKwkJCSAgIlx4NzdceDQ0XHgwOFx4YjhceGRhXHhkMlx4ZGVceDJjIgorCQkJICAi XHhhMFx4NTdceDQ1XHg1N1x4MjlceDQ3XHg2Ylx4ODkiCisJCQkgICJceDRhXHhmNlx4YTdceDJh XHhjM1x4OWVceDdiXHhjOCIKKwkJCSAgIlx4ZmRceDlmXHg4OVx4YWJceGVlXHg2ZFx4YTNceGI0 IgorCQkJICAiXHgyM1x4OTBceDdhXHhlOVx4ODlceGEwXHhjN1x4YjMiCisJCQkgICJceDE3XHg0 MVx4ODdceDkxXHhmY1x4OTdceDQyIiwKKwkJLmN0ZXh0CT0gIlx4ZmNceDliXHg5Nlx4NjZceGM0 XHg4Mlx4MmFceDRhIgorCQkJICAiXHhiMVx4MjRceGJhXHhjN1x4NzhceDVmXHg3OVx4YzEiCisJ CQkgICJceDU3XHgyZVx4NDdceDI5XHg0ZFx4N2JceGQyXHg5YSIKKwkJCSAgIlx4YmRceGM2XHhj MVx4MjZceDdiXHg4ZVx4M2ZceDVkIgorCQkJICAiXHhkNFx4YjRceDlmXHg2YVx4MDJceDI0XHg0 YVx4YWQiCisJCQkgICJceDBjXHgwMFx4MWJceGRmXHg5Mlx4YzVceDhhXHhlMSIKKwkJCSAgIlx4 NzdceDc5XHhjY1x4ZDVceDIwXHhiZlx4ODNceGY0IgorCQkJICAiXHg0Ylx4YWRceDExXHhiZlx4 ZGJceDQ3XHg2NVx4NzAiCisJCQkgICJceDQzXHhmM1x4NjVceGRmXHhiN1x4ZGNceGIyXHhiOSIK KwkJCSAgIlx4YWFceDNmXHhiM1x4ZGZceDc5XHg2OVx4MGRceGEwIgorCQkJICAiXHg4Nlx4MWNc eGJhXHg0OFx4MGJceDAxXHhjMVx4ODgiCisJCQkgICJceGRmXHgwM1x4YjFceDA2XHgzY1x4MWRc eDU2XHhhMSIKKwkJCSAgIlx4OGVceDk4XHhjMVx4YTZceDk1XHhhMlx4NWJceDcyIgorCQkJICAi XHg3Nlx4NTlceGQyXHgyNlx4MjVceGNkXHhlZlx4N2MiCisJCQkgICJceGM5XHg2MFx4ZWFceDQz XHhkMVx4MTJceDhhXHg4YSIKKwkJCSAgIlx4NjNceDEyXHg3OFx4Y2JceDJmXHg4OFx4MWVceDg4 IgorCQkJICAiXHg3OFx4NTlceGRlXHhiYVx4NGRceDJjXHg3OFx4NjEiCisJCQkgICJceDc1XHgz N1x4NTRceGZkXHg4MFx4YzdceDVlXHg5OCIKKwkJCSAgIlx4Y2ZceDE0XHg2Mlx4OGVceGZiXHg3 Mlx4ZWVceDRkIgorCQkJICAiXHg5Zlx4YWZceDhiXHgwOVx4ZTVceDIxXHgwYVx4OTEiCisJCQkg ICJceDhmXHg4OFx4ODdceGQ1XHhiMVx4ODRceGFiXHgxOCIKKwkJCSAgIlx4MDhceDU3XHhlZFx4 NzJceDM1XHhhNlx4MGVceGM2IgorCQkJICAiXHhmZlx4Y2JceGZlXHgyY1x4NDhceDM5XHgxNFx4 NDQiCisJCQkgICJceGJhXHg1OVx4MzJceDNhXHgyZFx4YzRceDVmXHhjYiIKKwkJCSAgIlx4YmVc eDY4XHg4ZVx4N2JceGVlXHgyMVx4YTRceDMyIgorCQkJICAiXHgxMVx4YTBceDk5XHhmZFx4OTBc eGRlXHg1OVx4NDMiCisJCQkgICJceGViXHhlZFx4ZDVceDg3XHg2OFx4NDZceGM2XHhkZSIKKwkJ CSAgIlx4MGJceDA3XHgxN1x4NTlceDZhXHhhYlx4Y2FceDE1IgorCQkJICAiXHg2NVx4MDJceDAx XHhiNlx4NzFceDhjXHgzYlx4YWEiCisJCQkgICJceDE4XHgzYlx4MzBceGFlXHgzOFx4NWJceDJj XHg3NCIKKwkJCSAgIlx4ZDRceGVlXHg0YVx4ZmNceGY3XHgxYlx4MDlceGQ0IgorCQkJICAiXHhk YVx4OGJceDFkXHg1ZFx4NmZceDIxXHg2YyIsCisJCS5rbGVuCT0gMTYsCisJCS5sZW4JPSAyNTUs CisJfSwKKwl7CisJCS5rZXkJPSAiXHgyNFx4ZjZceGUxXHg2Mlx4ZTVceGFmXHg5OVx4ZGEiCisJ CQkgICJceDg0XHhlY1x4NDFceGIwXHhhM1x4MGJceGQ1XHhhOCIKKwkJCSAgIlx4YTBceDNlXHg3 Ylx4YTZceGRkXHg2Y1x4OGZceGE4IiwKKwkJLml2CT0gIlx4N2ZceDgwXHgyNFx4NjJceDMyXHhk ZFx4YWJceDY2IgorCQkJICAiXHhmMlx4ODdceDI5XHgyNFx4ZWNceGQyXHg0Ylx4OWYiCisJCQkg ICJceDBjXHgzM1x4NTJceGQ5XHhlMFx4Y2NceDZlXHhlNCIKKwkJCSAgIlx4OTBceDg1XHg0M1x4 OTdceGM0XHg2Mlx4MTRceDMzIiwKKwkJLnB0ZXh0CT0gIlx4ZWZceDU4XHhlN1x4N2ZceGE5XHhk OVx4YjhceGQ3IgorCQkJICAiXHhhMlx4OTFceDk3XHgwN1x4MjdceDllXHhiYVx4ZTgiCisJCQkg ICJceGFhIiwKKwkJLmN0ZXh0CT0gIlx4ZDdceGMzXHg4MVx4OTFceGYyXHg0MFx4MTdceDczIgor CQkJICAiXHgzZVx4M2JceDFjXHgyYVx4OGVceDExXHg5Y1x4MTciCisJCQkgICJceGYxIiwKKwkJ LmtsZW4JPSAyNCwKKwkJLmxlbgk9IDE3LAorCX0sCisJeworCQkua2V5CT0gIlx4YmZceGFmXHhk N1x4NjdceDhjXHg0N1x4Y2ZceDIxIgorCQkJICAiXHg4YVx4YTVceGRkXHgzMlx4MjVceDQ3XHhi ZVx4NGYiCisJCQkgICJceGYxXHgzYVx4MGJceGE2XHhhYVx4MmRceGNmXHgwOSIsCisJCS5pdgk9 ICJceGQ5XHhlOFx4ZjBceDkyXHg0ZVx4ZmNceDFkXHhmMiIKKwkJCSAgIlx4ODFceDM3XHg3Y1x4 OGZceGYxXHg1OVx4MDlceDIwIgorCQkJICAiXHhmNFx4NDZceDUxXHg4Nlx4NGZceDU0XHg4Ylx4 MzIiCisJCQkgICJceDU4XHhkMVx4OTlceDhiXHg4Y1x4MDNceGViXHg1ZCIsCisJCS5wdGV4dAk9 ICJceGNkXHg2NFx4OTBceGY5XHg3Y1x4ZTVceDBlXHg1YSIKKwkJCSAgIlx4NzVceGU3XHg4ZVx4 MzlceDg2XHhlY1x4MjBceDQzIgorCQkJICAiXHg4YVx4NDlceDA5XHgxNVx4NDdceGY0XHgzY1x4 ODkiCisJCQkgICJceDIxXHhlYlx4Y2ZceDRlXHhjZlx4OTFceGI1XHg0MCIKKwkJCSAgIlx4Y2Rc eGU1XHg0ZFx4NWNceDZmXHhmMlx4ZDJceDgwIgorCQkJICAiXHhmYVx4YWJceGIzXHg3Nlx4OWZc eDdmXHg4NFx4MGEiLAorCQkuY3RleHQJPSAiXHg0NFx4OThceDY0XHgxNVx4YjdceDBiXHg4MFx4 YTMiCisJCQkgICJceGI5XHhjYVx4MjNceGZmXHgzYlx4MGJceDY4XHg3NCIKKwkJCSAgIlx4YmJc eDNlXHgyMFx4MTlceDlmXHgyOFx4NzFceDJhIgorCQkJICAiXHg0OFx4M2NceDdjXHhlMlx4ZWZc eGI1XHgxMFx4YWMiCisJCQkgICJceDgyXHg5Zlx4Y2RceDA4XHg4Zlx4NmJceDE2XHg2ZiIKKwkJ CSAgIlx4YzNceGJiXHgwN1x4ZmJceDNjXHhiMFx4MWJceDI3IiwKKwkJLmtsZW4JPSAyNCwKKwkJ Lmxlbgk9IDQ4LAorCX0sCisJeworCQkua2V5CT0gIlx4YjhceDM1XHhhMlx4NWZceDg2XHhiYlx4 ODJceDk5IgorCQkJICAiXHgyN1x4ZWJceDAxXHgzZlx4OTJceGFmXHg4MFx4MjQiCisJCQkgICJc eDRjXHg2Nlx4YTJceDg5XHhmZlx4MmVceGEyXHgyNSIsCisJCS5pdgk9ICJceDBhXHgxZFx4OTZc eGQzXHhlMFx4ZThceDBjXHg5YiIKKwkJCSAgIlx4OWRceDZmXHgyMVx4OTdceGMyXHgxN1x4ZGJc eDM5IgorCQkJICAiXHgzZlx4ZDhceDY0XHg0OFx4ODBceDA0XHhlZVx4NDMiCisJCQkgICJceDAy XHhjZVx4ODhceGUyXHg4MVx4ODFceDVmXHg4MSIsCisJCS5wdGV4dAk9ICJceGI4XHhmOVx4MTZc eDhiXHgyNVx4NjhceGQwXHg5YyIKKwkJCSAgIlx4ZDJceDI4XHhhY1x4YThceDc5XHhjMlx4MzBc eGMxIgorCQkJICAiXHgzMVx4ZGVceDFjXHgzN1x4MWJceGEyXHhiNVx4ZTYiCisJCQkgICJceGYw XHhkMFx4ZjhceDljXHg3Zlx4YzZceDQ2XHgwNyIKKwkJCSAgIlx4NWNceGMzXHgwNlx4ZTRceGYw XHgwMlx4ZWNceGY4IgorCQkJICAiXHg1OVx4N2NceGMyXHg1ZFx4ZjhceDBjXHgyMVx4YWUiCisJ CQkgICJceDllXHg4Mlx4YjFceDFhXHg1Zlx4NzhceDQ0XHgxNSIKKwkJCSAgIlx4MDBceGE3XHgy ZVx4NTJceGM1XHg5OFx4OThceDM1IgorCQkJICAiXHgwM1x4YWVceGQwXHg4ZVx4MDdceDU3XHhl Mlx4NWEiCisJCQkgICJceDE3XHhiZlx4NTJceDQwXHg1NFx4NWJceDc0XHhlNSIKKwkJCSAgIlx4 MmRceDM1XHhhZlx4OWVceDM3XHhmN1x4N2VceDRhIgorCQkJICAiXHg4Y1x4OWVceGExXHhkY1x4 NDBceGI0XHg1Ylx4MzYiCisJCQkgICJceGRjXHgzYVx4NjhceGU2XHhiN1x4MzVceDBiXHg4YSIK KwkJCSAgIlx4OTBceGVjXHg3NFx4OGZceDA5XHg5YVx4N2ZceDAyIgorCQkJICAiXHg0ZFx4MDNc eDQ2XHgzNVx4NjJceGIxXHhiZFx4MDgiCisJCQkgICJceDNmXHg1NFx4MmFceDEwXHgwYlx4ZGNc eDY5XHhhZiIKKwkJCSAgIlx4MjVceDNhXHgwY1x4NWZceGUwXHg1MVx4ZTdceDExIgorCQkJICAi XHhiN1x4MDBceGFiXHhiYlx4OWFceGIwXHhkY1x4NGQiCisJCQkgICJceGMzXHg3ZFx4MWFceDZl XHhkMVx4MDlceDUyXHhiZCIKKwkJCSAgIlx4NmJceDQzXHg1NVx4MjJceDNhXHg3OFx4MTRceDdk IgorCQkJICAiXHg3OVx4ZmRceDhkXHhmY1x4OWJceDFkXHgwZlx4YTIiCisJCQkgICJceGM3XHhi OVx4ZjhceDg3XHhkNVx4OTZceDUwXHg2MSIKKwkJCSAgIlx4YTdceDVlXHgxZVx4NTdceDk3XHhl MFx4YWRceDJmIgorCQkJICAiXHg5M1x4ZTZceGU4XHg4M1x4ZWNceDg1XHgyNlx4NWUiCisJCQkg ICJceGQ5XHgyYVx4MTVceGUwXHhlOVx4MDlceDI1XHhhMSIKKwkJCSAgIlx4NzdceDJiXHg4OFx4 ZGNceGE0XHhhNVx4NDhceGI2IgorCQkJICAiXHhmN1x4Y2NceGE2XHhhOVx4YmFceGYzXHg0Mlx4 NWMiCisJCQkgICJceDcwXHg5ZFx4ZTlceDI5XHhjMVx4ZjFceDMzXHhkZCIKKwkJCSAgIlx4NTZc eDQ4XHgxN1x4ODZceDE0XHg1MVx4NWNceDEwIgorCQkJICAiXHhhYlx4ZmRceGQzXHgyNlx4OGNc eDIxXHhmNVx4OTMiCisJCQkgICJceDFiXHhlYlx4NDdceDk3XHg3M1x4YmJceDg4XHgxMCIKKwkJ CSAgIlx4ZjNceGZlXHhmNVx4ZGVceGYzXHgyZVx4MDVceDQ2IgorCQkJICAiXHgxY1x4MGRceGEz XHgxMFx4NDhceDljXHg3MVx4MTYiCisJCQkgICJceDc4XHgzM1x4NGRceDBhXHg3NFx4M2JceGU5 XHgzNCIKKwkJCSAgIlx4MGJceGE3XHgwZVx4OWVceDYxXHhlOVx4ZTlceGZkIgorCQkJICAiXHg4 NVx4YTBceGNiXHgxOVx4ZmRceDdjXHgzM1x4ZTMiCisJCQkgICJceDBlXHhjZVx4YzJceDZmXHg5 ZFx4YTRceDJkXHg3NyIKKwkJCSAgIlx4ZmRceGFkXHhlZVx4NWVceDA4XHgzZVx4ZDdceGY1Igor CQkJICAiXHhmYlx4YzNceGQ3XHg5M1x4OTZceDA4XHg5Nlx4Y2EiCisJCQkgICJceDU4XHg4MVx4 MTZceDliXHg5OFx4MGFceGUyXHhlZiIKKwkJCSAgIlx4N2ZceGRhXHg0MFx4ZTRceDFmXHg0Nlx4 OWVceDY3IgorCQkJICAiXHgyYlx4ODRceGNiXHg0Mlx4YzRceGQ2XHg2YVx4Y2YiCisJCQkgICJc eDJkXHhiMlx4MzNceGMwXHg1Nlx4YjNceDM1XHg2ZiIKKwkJCSAgIlx4MjlceDM2XHg4Zlx4NmFc eDViXHhlY1x4ZDVceDRmIgorCQkJICAiXHhhMFx4NzBceGZmXHhiNlx4NWJceGRlXHg2YVx4OTMi CisJCQkgICJceDIwXHgzY1x4ZTJceDc2XHg3YVx4ZWZceDNjXHg3OSIKKwkJCSAgIlx4MzFceDY1 XHhjZVx4M2FceDBlXHhkMFx4YmVceGE4IgorCQkJICAiXHgyMVx4OTVceGM3XHgyYlx4NjJceDhl XHg2N1x4ZGQiCisJCQkgICJceDIwXHg3OVx4ZTRceGU1XHgwMVx4MTVceGMwXHhlYyIKKwkJCSAg Ilx4MGZceGQ5XHgyM1x4YzhceGNhXHhkZlx4ZDRceDdkIgorCQkJICAiXHgxZFx4ZjhceDY0XHg0 Zlx4NTZceGIxXHg4M1x4YTciCisJCQkgICJceDQzXHhiZVx4ZmNceGNmXHhjMlx4OGNceDMzXHhk YSIKKwkJCSAgIlx4MzZceGQwXHg1Mlx4ZWZceDllXHg5ZVx4ODhceGY0IgorCQkJICAiXHhhOFx4 MjFceDBmXHhhYVx4ZWVceDhkXHhhMFx4MjQiCisJCQkgICJceDRkXHhjYlx4YjFceDcyXHgwN1x4 ZjBceGMyXHgwNiIKKwkJCSAgIlx4NjBceDY1XHg4NVx4ODRceDJjXHg2MFx4Y2ZceDYxIgorCQkJ ICAiXHhlN1x4NTZceDQzXHg1Ylx4MmJceDUwXHg3NFx4ZmEiCisJCQkgICJceGRiXHg0ZVx4ZWFc eDg4XHhkNFx4YjNceDgzXHg4ZiIKKwkJCSAgIlx4NmZceDk3XHg0Ylx4NTdceDdhXHg2NFx4NjRc eGFlIgorCQkJICAiXHgwYVx4MzdceDY2XHhjNVx4MDNceGFkXHhiNVx4ZjkiCisJCQkgICJceDA4 XHhiMFx4M2FceDc0XHhkZVx4OTdceDUxXHhmZiIKKwkJCSAgIlx4NDhceDRmXHg1Y1x4YTRceGY4 XHg3YVx4YjRceDA1IgorCQkJICAiXHgyN1x4NzBceDUyXHg4Nlx4MWJceDc4XHhmY1x4MTgiCisJ CQkgICJceDA2XHgyN1x4YTlceDYyXHhmN1x4ZGFceGQyXHg4ZSIsCisJCS5jdGV4dAk9ICJceDNi XHhlMVx4ZGJceGIzXHhjNVx4OWFceGRlXHg2OSIKKwkJCSAgIlx4NThceDA1XHhjY1x4ZWJceDAy XHg1MVx4NzhceDRhIgorCQkJICAiXHhhY1x4MjhceGU5XHhlZFx4ZDFceGM5XHgxNVx4N2QiCisJ CQkgICJceDMzXHg3ZFx4YzFceDQ3XHgxMlx4NDFceDExXHhmOCIKKwkJCSAgIlx4NGFceDJjXHhi N1x4YTNceDQxXHhiZVx4NTlceGY3IgorCQkJICAiXHgyMlx4ZGJceDJjXHhkYVx4OWNceDAwXHg2 MVx4OWIiCisJCQkgICJceDczXHhiM1x4MGJceDg0XHgyYlx4YzFceGYzXHg4MCIKKwkJCSAgIlx4 ODRceGViXHgxOVx4NjBceDgwXHgwOVx4ZTFceGNkIgorCQkJICAiXHgxNlx4M2FceDIwXHgyM1x4 YzRceDgyXHg0Zlx4YmEiCisJCQkgICJceDNiXHg4ZVx4NTVceGQ3XHhhOVx4MGJceDc1XHhkMCIK KwkJCSAgIlx4ZGFceGNlXHhkMlx4ZWVceDdlXHg0Ylx4N2ZceDY1IgorCQkJICAiXHg0ZFx4Mjhc eGM1XHhkM1x4MTVceDJjXHg0MFx4OTYiCisJCQkgICJceDUyXHhkNFx4MThceDYxXHgyYlx4ZTdc eDgzXHhlYyIKKwkJCSAgIlx4ODlceDYyXHg5Y1x4NGNceDUwXHhlNlx4ZTJceGJiIgorCQkJICAi XHgyNVx4YTFceDBmXHhhN1x4YjBceGI0XHhiMlx4ZGUiCisJCQkgICJceDU0XHgyMFx4YWVceGEz XHg1Nlx4YTVceDI2XHg0YyIKKwkJCSAgIlx4ZDVceGNjXHhlNVx4Y2JceDI4XHg0NFx4YjFceGVm IgorCQkJICAiXHg2N1x4MmVceDkzXHg2ZFx4MDBceDg4XHg4M1x4OWEiCisJCQkgICJceGYyXHgx Y1x4NDhceDM4XHhlY1x4MWFceDI0XHg5MCIKKwkJCSAgIlx4NzNceDBhXHhkYlx4ZThceGNlXHg5 NVx4N2FceDJjIgorCQkJICAiXHg4Y1x4ZTlceGI3XHgwN1x4MWRceGIzXHhhM1x4MjAiCisJCQkg ICJceGJlXHhhZFx4NjFceDg0XHhhY1x4ZGVceDc2XHhiNSIKKwkJCSAgIlx4YTZceDI4XHgyOVx4 NDdceDYzXHhjNFx4ZmNceDEzIgorCQkJICAiXHgzZlx4NzFceGZiXHg1OFx4MzdceDM0XHg4Mlx4 ZWQiCisJCQkgICJceDllXHgwNVx4MTlceDFmXHhjMVx4NjdceGMxXHhhYiIKKwkJCSAgIlx4ZjVc eGZkXHg3Y1x4ZWFceGZhXHhhNFx4ZjhceDBhIgorCQkJICAiXHhhY1x4NGNceDkyXHhkZlx4NjVc eDczXHhkN1x4ZGIiCisJCQkgICJceGVkXHgyY1x4ZTBceDg0XHg1Zlx4NTdceDhjXHg3NiIKKwkJ CSAgIlx4M2VceDA1XHhjMFx4YzNceDY4XHg5Nlx4OTVceDBiIgorCQkJICAiXHg4OFx4OTdceGZl XHgyZVx4OTlceGQ1XHhjMlx4YjkiCisJCQkgICJceDUzXHg5Zlx4ZjNceDMyXHgxMFx4MWZceDFm XHg1ZCIKKwkJCSAgIlx4ZGZceDIxXHg5NVx4NzBceDkxXHhlOFx4YTFceDNlIgorCQkJICAiXHgx OVx4M2VceGI2XHgwYlx4YThceGRiXHhmOFx4ZDQiCisJCQkgICJceDU0XHgyN1x4YjhceGFiXHg1 ZFx4NzhceDBjXHhlNiIKKwkJCSAgIlx4YjdceDA4XHhlZVx4YTRceGI2XHg2Ylx4ZWJceDVhIgor CQkJICAiXHg4OVx4NjlceDJiXHhiZFx4ZDRceDIxXHg1Ylx4YmYiCisJCQkgICJceDc5XHhiYlx4 MGZceGZmXHhkYlx4MjNceDlhXHhlYiIKKwkJCSAgIlx4OGRceGYyXHhjNFx4MzlceGI0XHg5MFx4 NzdceDZmIgorCQkJICAiXHg2OFx4ZTJceGI4XHhmM1x4ZjFceDY1XHg0Zlx4ZDUiCisJCQkgICJc eDI0XHg4MFx4MDZceGFmXHg3Y1x4OGRceDE1XHgwYyIKKwkJCSAgIlx4ZmRceDU2XHhlNVx4ZTNc eDAxXHhhNVx4ZjdceDFjIgorCQkJICAiXHgzMVx4ZDZceGEyXHgwMVx4MWVceDU5XHhmOVx4YTki CisJCQkgICJceDQyXHhkNVx4YzJceDM0XHhkYVx4MjVceGRlXHhjNiIKKwkJCSAgIlx4NWRceDM4 XHhlZlx4ZDFceDRjXHhjMVx4ZDlceDFiIgorCQkJICAiXHg5OFx4ZmRceGNkXHg1N1x4NmZceGZk XHg0Nlx4OTEiCisJCQkgICJceDkwXHgzZFx4NTJceDJiXHgyY1x4N2RceGNmXHg3MSIKKwkJCSAg Ilx4Y2ZceGQxXHg3N1x4MjNceDcxXHgzNlx4YjFceGNlIgorCQkJICAiXHhjN1x4NWRceGYwXHg1 Ylx4NDRceDNkXHg0M1x4NzEiCisJCQkgICJceGFjXHhiOFx4YTBceDZhXHhlYVx4ODlceDVjXHhm ZiIKKwkJCSAgIlx4ODFceDczXHhkNFx4ODNceGQxXHhjOVx4ZTlceGUyIgorCQkJICAiXHhhOFx4 YTZceDBmXHgzNlx4ZTZceGFhXHg1N1x4ZDQiCisJCQkgICJceDI3XHhkMlx4YzlceGRhXHg5NFx4 MDJceDFmXHhmYiIKKwkJCSAgIlx4ZTFceGExXHgwN1x4YmVceGUxXHgxYlx4MTVceDk0IgorCQkJ ICAiXHgxZVx4YWNceDJmXHg1N1x4YmJceDQxXHgyMlx4YWYiCisJCQkgICJceDYwXHg1ZVx4Y2Nc eDY2XHhjYlx4MTZceDYyXHhhYiIKKwkJCSAgIlx4YjhceDdjXHg5OVx4ZjRceDg0XHg5M1x4MGNc eGMyIgorCQkJICAiXHhhMlx4NDlceGU0XHhmZFx4MTdceDU1XHhlMVx4YTYiCisJCQkgICJceDhk XHg1Ylx4YzZceDFiXHhjOFx4YWNceGVjXHgxMSIKKwkJCSAgIlx4MzNceGNmXHhiMFx4ZThceGM3 XHgyOFx4NGZceGIyIgorCQkJICAiXHg1Y1x4YTZceGUyXHg3MVx4YWJceDgwXHgwYVx4YTciCisJ CQkgICJceDVjXHg1OVx4NTBceDlmXHg3YVx4MzJceGI3XHhlNSIKKwkJCSAgIlx4MjRceDlhXHg4 ZVx4MjVceDIxXHgyZVx4YjdceDE4IgorCQkJICAiXHhkMFx4ZjJceGU3XHgyN1x4NmZceGRhXHhj MVx4MDAiCisJCQkgICJceGQ5XHhhNlx4MDNceDU5XHhhY1x4NGJceGNiXHhiYSIsCisJCS5rbGVu CT0gMjQsCisJCS5sZW4JPSA1MTIsCisJfSwKKwl7CisJCS5rZXkJPSAiXHg5ZVx4ZWJceGIyXHg0 OVx4M2NceDFjXHhmNVx4ZjQiCisJCQkgICJceDZhXHg5OVx4YzJceGM0XHhkZlx4YjFceGY0XHhk ZCIKKwkJCSAgIlx4NzVceDIwXHg1N1x4ZWFceDJjXHg0Zlx4Y2RceGIyIgorCQkJICAiXHhhNVx4 M2RceDdiXHg0OVx4MWVceGFiXHhmZFx4MGYiLAorCQkuaXYJPSAiXHhkZlx4NjNceGQ0XHhhYlx4 ZDJceDQ5XHhmM1x4ZDgiCisJCQkgICJceDMzXHg4MVx4MzdceDYwXHg3ZFx4ZmFceDczXHgwOCIK KwkJCSAgIlx4ZDhceDQ5XHg2ZFx4ODBceGU4XHgyZlx4NjJceDU0IgorCQkJICAiXHhlYlx4MGVc eGE5XHgzOVx4NWJceDQ1XHg3Zlx4OGEiLAorCQkucHRleHQJPSAiXHg2N1x4YzlceGYyXHgzMFx4 ODRceDQxXHg4ZVx4NDMiCisJCQkgICJceGZiXHhmM1x4YjNceDNlXHg3OVx4MzZceDdmXHhlOCIs CisJCS5jdGV4dAk9ICJceDI3XHgzOFx4NzhceDQ3XHgxNlx4ZDlceDcxXHgzNSIKKwkJCSAgIlx4 MmVceDdlXHhkZFx4N2VceDQzXHgzY1x4YjhceDQwIiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9 IDE2LAorCX0sCisJeworCQkua2V5CT0gIlx4OTNceGZhXHg3ZVx4ZTJceDBlXHg2N1x4YzRceDM5 IgorCQkJICAiXHhlN1x4Y2FceDQ3XHg5NVx4NjhceDlkXHg1ZVx4NWEiCisJCQkgICJceDdjXHgy Nlx4MTlceGFiXHhjNlx4Y2FceDZhXHg0YyIKKwkJCSAgIlx4NDVceGE2XHg5Nlx4NDJceGFlXHg2 Y1x4ZmZceGU3IiwKKwkJLml2CT0gIlx4ZWFceDgyXHg0N1x4OTVceDNiXHgyMlx4YTFceDNhIgor CQkJICAiXHg2YVx4Y2FceDI0XHg0Y1x4NTBceDdlXHgyM1x4Y2QiCisJCQkgICJceDBlXHg1MFx4 ZTVceDQxXHhiNlx4NjVceDI5XHhkOCIKKwkJCSAgIlx4MzBceDIzXHgwMFx4ZDJceDU0XHhhN1x4 ZDZceDU2IiwKKwkJLnB0ZXh0CT0gIlx4ZGJceDFmXHgxZlx4ZWNceGFkXHg4M1x4NmVceDVkIgor CQkJICAiXHgxOVx4YTVceGY2XHgzYlx4YjRceDkzXHg1YVx4NTciCisJCQkgICJceDZmIiwKKwkJ LmN0ZXh0CT0gIlx4ZjFceDQ2XHg2ZVx4OWRceGIzXHgwMVx4ZjBceDZiIgorCQkJICAiXHhjMlx4 YWNceDU3XHg4OFx4NDhceDZkXHg0MFx4NzIiCisJCQkgICJceDY4IiwKKwkJLmtsZW4JPSAzMiwK KwkJLmxlbgk9IDE3LAorCX0sCisJeworCQkua2V5CT0gIlx4MzZceDJiXHg1N1x4OTdceGY4XHg1 ZFx4Y2RceDk5IgorCQkJICAiXHg1Zlx4MWFceDVhXHg0NFx4MWRceDkyXHgwZlx4MjciCisJCQkg ICJceGNjXHgxNlx4ZDdceDJiXHg4NVx4NjNceDk5XHhkMyIKKwkJCSAgIlx4YmFceDk2XHhhMVx4 ZGJceGQyXHg2MFx4NjhceGRhIiwKKwkJLml2CT0gIlx4ZWZceDU4XHg2OVx4YjFceDJjXHg1ZVx4 OWFceDQ3IgorCQkJICAiXHgyNFx4YzFceGIxXHg2OVx4ZTFceDEyXHg5M1x4OGYiCisJCQkgICJc eDQzXHgzZFx4NmRceDAwXHhkYlx4NWVceGQ4XHhkOSIKKwkJCSAgIlx4MTJceDlhXHhmZVx4ZDlc eGZmXHgyZFx4YWFceGM0IiwKKwkJLnB0ZXh0CT0gIlx4NWVceGE4XHg2OFx4MTlceDg1XHg5OFx4 MTJceDIzIgorCQkJICAiXHgyNlx4MGFceGNjXHhkYlx4MGFceDA0XHhiOVx4ZGYiCisJCQkgICJc eDRkXHhiM1x4NDhceDdiXHhiMFx4ZTNceGM4XHgxOSIKKwkJCSAgIlx4NDNceDVhXHg0Nlx4MDZc eDk0XHgyZFx4ZjIiLAorCQkuY3RleHQJPSAiXHhkYlx4ZmRceGM4XHgwM1x4ZDBceGVjXHhjMVx4 ZmUiCisJCQkgICJceGJkXHg2NFx4MzdceGI4XHg4Mlx4NDNceDYyXHg0ZSIKKwkJCSAgIlx4N2Vc eDU0XHhhM1x4ZTJceDI0XHhhN1x4MjdceGU4IgorCQkJICAiXHhhNFx4ZDVceGIzXHg2Y1x4YjJc eDI2XHhiNCIsCisJCS5rbGVuCT0gMzIsCisJCS5sZW4JPSAzMSwKKwl9LAorCXsKKwkJLmtleQk9 ICJceDAzXHg2NVx4MDNceDZlXHg0ZFx4ZTZceGU4XHg0ZSIKKwkJCSAgIlx4OGJceGJlXHgyMlx4 MTlceDQ4XHgzMVx4ZWVceGQ5IgorCQkJICAiXHhhMFx4OTFceDIxXHhiZVx4NjJceDg5XHhkZVx4 NzgiCisJCQkgICJceGQ5XHhiMFx4MzZceGEzXHgzY1x4Y2VceDQzXHhkNSIsCisJCS5pdgk9ICJc eGE5XHhjM1x4NGJceGU3XHgwZlx4ZmNceDZkXHhiZiIKKwkJCSAgIlx4NTZceDI3XHgyMVx4MWNc eGZjXHhkNlx4MDRceDEwIgorCQkJICAiXHg1Zlx4NDNceGUyXHgzMFx4MzVceDI5XHg2Y1x4MTAi CisJCQkgICJceDkwXHhmMVx4YmZceDYxXHhlZFx4MGZceDhhXHg5MSIsCisJCS5wdGV4dAk9ICJc eDA3XHhhYVx4MDJceDI2XHhiNFx4OThceDExXHg1ZSIKKwkJCSAgIlx4MzNceDQxXHgyMVx4NTFc eDUxXHg2M1x4MmNceDcyIgorCQkJICAiXHgwMFx4YWJceDMyXHhhN1x4MWNceGM4XHgzY1x4OWMi CisJCQkgICJceDI1XHgwZVx4OGJceDlhXHhkZlx4ODVceGVkXHgyZCIKKwkJCSAgIlx4ZjRceGYy XHhiY1x4NTVceGNhXHg5Mlx4NmRceDIyIgorCQkJICAiXHhmZFx4MjJceDNiXHg0Mlx4NGNceDBi XHg3NFx4ZWMiLAorCQkuY3RleHQJPSAiXHg3Ylx4YjFceDQzXHg2ZFx4ZDhceDcyXHg2Y1x4ZjYi CisJCQkgICJceDY3XHg2YVx4MDBceGM0XHhmMVx4ZjBceGY1XHhhNCIKKwkJCSAgIlx4ZmNceDYw XHg5MVx4YWJceDQ2XHgwYlx4MTVceGZjIgorCQkJICAiXHhkN1x4YzFceDI4XHgxNVx4YTFceGZj XHhmN1x4NjgiCisJCQkgICJceDhlXHhjY1x4MjdceDYyXHgwMFx4NjRceDU2XHg3MiIKKwkJCSAg Ilx4YTZceDE3XHhkN1x4M2ZceDY3XHg4MFx4MTBceDU4IiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxl bgk9IDQ4LAorCX0sCisJeworCQkua2V5CT0gIlx4YTVceDI4XHgyNFx4MzRceDFhXHgzY1x4ZDhc eGY3IgorCQkJICAiXHgwNVx4OTFceDhmXHhlZVx4ODVceDFmXHgzNVx4N2YiCisJCQkgICJceDgw XHgzZFx4ZmNceDliXHg5NFx4ZjZceGZjXHg5ZSIKKwkJCSAgIlx4MTlceDA5XHgwMFx4YTlceDA0 XHgzMVx4NGZceDExIiwKKwkJLml2CT0gIlx4YTFceGJhXHg0OVx4OTVceGZmXHgzNFx4NmRceGI4 IgorCQkJICAiXHhjZFx4ODdceDVkXHg1ZVx4ZmRceGVhXHg4NVx4ZGIiCisJCQkgICJceDhhXHg3 Ylx4NWVceGIyXHg1ZFx4NTdceGRkXHg2MiIKKwkJCSAgIlx4YWNceGE5XHg4Y1x4NDFceDQyXHg5 NFx4NzVceGI3IiwKKwkJLnB0ZXh0CT0gIlx4NjlceGI0XHhlOFx4OGNceDM3XHhlOFx4NjdceDgy IgorCQkJICAiXHhmMVx4ZWNceDVkXHgwNFx4ZTVceDE0XHg5MVx4MTMiCisJCQkgICJceGRmXHhm Mlx4ODdceDFiXHg2OVx4ODFceDFkXHg3MSIKKwkJCSAgIlx4NzBceDllXHg5Y1x4M2JceGRlXHg0 OVx4NzBceDExIgorCQkJICAiXHhhMFx4YTNceGRiXHgwZFx4NTRceDRmXHg2Nlx4NjkiCisJCQkg ICJceGQ3XHhkYlx4ODBceGE3XHg3MFx4OTJceDY4XHhjZSIKKwkJCSAgIlx4ODFceDA0XHgyY1x4 YzZceGFiXHhhZVx4ZTVceDYwIgorCQkJICAiXHgxNVx4ZTlceDZmXHhlZlx4YWFceDhmXHhhN1x4 YTciCisJCQkgICJceDYzXHg4Zlx4ZjJceGYwXHg3N1x4ZjFceGE4XHhlYSIKKwkJCSAgIlx4ZTFc eGI3XHgxZlx4OWVceGFiXHg5ZVx4NGJceDNmIgorCQkJICAiXHgwN1x4ODdceDViXHg2Zlx4Y2Rc eGE4XHhhZlx4YjkiCisJCQkgICJceGZhXHg3MFx4MGJceDUyXHhiOFx4YThceGE3XHg5ZSIKKwkJ CSAgIlx4MDdceDVmXHhhNlx4MGVceGIzXHg5Ylx4NzlceDEzIgorCQkJICAiXHg3OVx4YzNceDNl XHg4ZFx4MWNceDJjXHg2OFx4YzgiCisJCQkgICJceDUxXHgxZFx4M2NceDdiXHg3ZFx4NzlceDc3 XHgyYSIKKwkJCSAgIlx4NTZceDY1XHhjNVx4NTRceDIzXHgyOFx4YjBceDAzIiwKKwkJLmN0ZXh0 CT0gIlx4ZWJceGY5XHg5OFx4ODZceDNjXHg0MFx4OWZceDE2IgorCQkJICAiXHg4NFx4MDFceGY5 XHgwNlx4MGZceGViXHgzY1x4YTkiCisJCQkgICJceDRjXHhhNFx4OGVceDVkXHhjM1x4OGRceGU1 XHhkMyIKKwkJCSAgIlx4YWVceGE2XHhlNlx4Y2NceGQ2XHgyZFx4MzdceDRmIgorCQkJICAiXHg5 OVx4YzhceGEzXHgyMVx4NDZceGI4XHg2OVx4ZjIiCisJCQkgICJceGUzXHgxNFx4ODlceGQ3XHhi OVx4ZjVceDllXHg0ZSIKKwkJCSAgIlx4MDdceDkzXHg2Zlx4NzhceDhlXHg2Ylx4ZWFceDhmIgor CQkJICAiXHhmYlx4NDNceGI4XHgzZVx4OWJceDRjXHgxZFx4N2UiCisJCQkgICJceDIwXHg5YVx4 YzVceDg3XHhlZVx4YWZceGY2XHhmOSIKKwkJCSAgIlx4NDZceGM1XHgxOFx4OGFceGU4XHg2OVx4 ZTdceDk2IgorCQkJICAiXHg1Mlx4NTVceDVmXHgwMFx4MWVceDFhXHhkY1x4Y2MiCisJCQkgICJc eDEzXHhhNVx4ZWVceGZmXHg0Ylx4MjdceGNhXHhkYyIKKwkJCSAgIlx4MTBceGE2XHg0OFx4NzZc eDk4XHg0M1x4OTRceGEzIgorCQkJICAiXHhjN1x4ZTJceGM5XHg2NVx4OWJceDA4XHgxNFx4MjYi CisJCQkgICJceDFkXHg2OFx4ZmJceDE1XHgwYVx4MzNceDQ5XHg4NCIKKwkJCSAgIlx4ODRceDMz XHg1YVx4MWJceDI0XHg0Nlx4MzFceDkyIiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDEyOCwK Kwl9LAorCXsKKwkJLmtleQk9ICJceDM2XHg0NVx4MTFceGEyXHg5OFx4NWZceDk2XHg3YyIKKwkJ CSAgIlx4YzZceGI0XHg5NFx4MzFceDBhXHg2N1x4MDlceDMyIgorCQkJICAiXHg2Y1x4NmZceDZm XHgwMFx4ZjBceDE3XHhjYlx4YWMiCisJCQkgICJceGE1XHhhOVx4NDdceDllXHgyZVx4ODVceDJm XHhmYSIsCisJCS5pdgk9ICJceDI4XHg4OFx4YWFceDliXHg1OVx4M2JceDFlXHg5NyIKKwkJCSAg Ilx4ODJceGU1XHg1Y1x4OWVceDZkXHgxNFx4MTFceDE5IgorCQkJICAiXHg2ZVx4MzhceDhmXHhk NVx4NDBceDJiXHhjYVx4ZjkiCisJCQkgICJceDdiXHg0Y1x4ZTRceGEzXHhkMFx4ZDJceDhhXHgx MyIsCisJCS5wdGV4dAk9ICJceDk1XHhkMlx4ZjdceDcxXHgxYlx4Y2FceGE1XHg4NiIKKwkJCSAg Ilx4ZDlceDQ4XHgwMVx4OTNceDJmXHg3OVx4NTVceDI5IgorCQkJICAiXHg3MVx4MTNceDE1XHgw ZVx4ZTZceDEyXHhiY1x4NGQiCisJCQkgICJceDhhXHgzMVx4ZTNceDQwXHgyYVx4YzZceDVlXHgw ZCIKKwkJCSAgIlx4NjhceGJiXHg0YVx4NjJceDhkXHhjN1x4NDVceDc3IgorCQkJICAiXHhkMlx4 YjhceGM3XHgxZFx4ZjFceGQyXHg1ZFx4OTciCisJCQkgICJceGNmXHhhY1x4NTJceGU1XHgzMlx4 NzdceGI2XHhkYSIKKwkJCSAgIlx4MzBceDg1XHhjZlx4MmJceDk4XHhlOVx4YWFceDM0IgorCQkJ ICAiXHg2Mlx4YjVceDIzXHg5ZVx4YjdceGE2XHhkNFx4ZTAiCisJCQkgICJceGI0XHg1OFx4MThc eDhjXHg0ZFx4ZGVceDRkXHgwMSIKKwkJCSAgIlx4ODNceDg5XHgyNFx4Y2FceGZiXHgxMVx4ZDRc eDgyIgorCQkJICAiXHgzMFx4N2FceDgxXHgzNVx4YTBceGI0XHhkNFx4YjYiCisJCQkgICJceDg0 XHhlYVx4NDdceDkxXHg4Y1x4MTlceDg2XHgyNSIKKwkJCSAgIlx4YTZceDA2XHg4ZFx4NzhceGU2 XHhlZFx4ODdceGViIgorCQkJICAiXHhkYVx4ZWFceDczXHg3Y1x4YmZceDY2XHhiOFx4NzIiCisJ CQkgICJceGUzXHgwYVx4YjhceDBjXHhjYlx4MWFceDczXHhmMSIKKwkJCSAgIlx4YTdceGNhXHgw YVx4ZGVceDU3XHgyYlx4YmRceDJiIgorCQkJICAiXHhlYlx4OGJceDI0XHgzOFx4MjJceGQzXHgw ZVx4MWYiCisJCQkgICJceDE3XHhhMFx4ODRceDk4XHgzMVx4NzdceGZkXHgzNCIKKwkJCSAgIlx4 NmFceDRlXHgzZFx4ODRceDRjXHgwZVx4ZmJceGVkIgorCQkJICAiXHhjOFx4MmFceDUxXHhmYVx4 ZDhceDczXHgyMVx4OGEiCisJCQkgICJceGRiXHhiNVx4ZmVceDFmXHhlZVx4YzRceGU4XHg2NSIK KwkJCSAgIlx4NTRceDg0XHhkZFx4OTZceDZkXHhmZFx4ZDNceDMxIgorCQkJICAiXHg3N1x4MzZc eDUyXHg2Ylx4ODBceDRmXHg5ZVx4YjQiCisJCQkgICJceGEyXHg1NVx4YmZceDY2XHg0MVx4NDlc eDRlXHg4NyIKKwkJCSAgIlx4YTdceDBjXHhjYVx4ZTdceGE1XHhjNVx4ZjZceDZmIgorCQkJICAi XHgyN1x4NTZceGUyXHg0OFx4MjJceGRkXHg1Zlx4NTkiCisJCQkgICJceDNjXHhmMVx4OWZceDgz XHhlNVx4MmRceGZiXHg3MSIKKwkJCSAgIlx4YWRceGQxXHhhZVx4MWJceDIwXHg1Y1x4NDdceGI3 IgorCQkJICAiXHgzYlx4ZDNceDE0XHhjZVx4ODFceDQyXHhiMVx4MGEiCisJCQkgICJceGYwXHg0 OVx4ZmFceGMyXHhlN1x4ODZceGJmXHhjZCIKKwkJCSAgIlx4YjBceDk1XHg5Zlx4OGZceDc5XHg0 MVx4NTQiLAorCQkuY3RleHQJPSAiXHhmNlx4NTdceDUxXHhjNFx4MjVceDYxXHgyZFx4ZmEiCisJ CQkgICJceGQ2XHhkOVx4M2ZceDlhXHg4MVx4NTFceGRkXHg4ZSIKKwkJCSAgIlx4M2RceGU3XHhh YVx4MmRceGIxXHhkYVx4YzhceGE2IgorCQkJICAiXHg5ZFx4YWFceDNjXHhhYlx4NjJceGYyXHg4 MFx4YzMiCisJCQkgICJceDJjXHhlN1x4NThceDcyXHgxZFx4NDRceGM1XHgyOCIKKwkJCSAgIlx4 N2ZceGI0XHhmOVx4YmNceDljXHhiMlx4YWJceDhlIgorCQkJICAiXHhmYVx4ZDFceDRkXHg3Mlx4 ZDlceDc5XHhmNVx4YTAiCisJCQkgICJceDI0XHgzZVx4OTBceDI1XHgzMVx4MTRceDM4XHg0NSIK KwkJCSAgIlx4NTlceGM4XHhmNlx4ZTJceGM2XHhmNlx4YzFceGE3IgorCQkJICAiXHhiMlx4Zjhc eGE3XHhhOVx4MmJceDZmXHgxMlx4M2EiCisJCQkgICJceGIwXHg4MVx4YTRceDA4XHg1N1x4NTlc eGIxXHg1NiIKKwkJCSAgIlx4NGNceDhmXHgxOFx4NTVceDMzXHg1Zlx4ZDZceDZhIgorCQkJICAi XHhjNlx4YTBceDRiXHhkNlx4NmJceDY0XHgzZVx4OWUiCisJCQkgICJceGZkXHg2Nlx4MTZceGUy XHhkYlx4ZWJceDVmXHhiMyIKKwkJCSAgIlx4NTBceDUwXHgzZVx4ZGVceDhkXHg3Mlx4NzZceDAx IgorCQkJICAiXHhiZVx4Y2NceGM5XHg1Mlx4MDlceDJkXHg4ZFx4ZTciCisJCQkgICJceGQ2XHhj M1x4NjZceGRiXHgzNlx4MDhceGQxXHg3NyIKKwkJCSAgIlx4YzhceDczXHg0Nlx4MjZceDI0XHgy OVx4YmZceDY4IgorCQkJICAiXHgyZFx4MmFceDk5XHg0M1x4NTZceDU1XHhlNFx4OTMiCisJCQkg ICJceGFmXHhhZVx4NGRceGU3XHg1NVx4NGFceGMwXHg0NSIKKwkJCSAgIlx4MjZceGViXHgzYlx4 MTJceDkwXHg3Y1x4ZGNceGQxIgorCQkJICAiXHhkNVx4NmZceDBhXHhkMFx4YTlceGQ3XHg0Ylx4 ODkiCisJCQkgICJceDBiXHgwN1x4ZDhceDg2XHhhZFx4YTFceGM0XHg2OSIKKwkJCSAgIlx4MWZc eDVlXHg4Ylx4YzRceDllXHg5MVx4NDFceDI1IgorCQkJICAiXHg1Nlx4OThceDY5XHg3OFx4M2Fc eDllXHhhZVx4OTEiCisJCQkgICJceGQ4XHhkOVx4ZmFceGZiXHhmZlx4ODFceDI1XHgwOSIKKwkJ CSAgIlx4ZmNceGVkXHgyZFx4ODdceGJjXHgwNFx4NjJceDk3IgorCQkJICAiXHgzNVx4ZTFceDI2 XHhjMlx4NDZceDFjXHhjZlx4ZDciCisJCQkgICJceDE0XHhlZFx4MDJceDA5XHhhNVx4YjJceGI2 XHhhYSIKKwkJCSAgIlx4MjdceDRlXHg2MVx4YjNceDcxXHg2Ylx4NDdceDE2IgorCQkJICAiXHhi N1x4ZThceGQ0XHhhZlx4NTJceGViXHg2YVx4NmIiCisJCQkgICJceGRiXHg0Y1x4NjVceDIxXHg5 ZVx4MWNceDM2IiwKKwkJLmtsZW4JPSAzMiwKKwkJLmxlbgk9IDI1NSwKKwl9LAorCXsKKwkJLmtl eQk9ICJceGQzXHg4MVx4NzJceDE4XHgyM1x4ZmZceDZmXHg0YSIKKwkJCSAgIlx4MjVceDc0XHgy OVx4MGRceDUxXHg4YVx4MGVceDEzIgorCQkJICAiXHhjMVx4NTNceDVkXHgzMFx4OGRceGVlXHg3 NVx4MGQiCisJCQkgICJceDE0XHhkNlx4NjlceGM5XHgxNVx4YTlceDBjXHg2MCIsCisJCS5pdgk9 ICJceDY1XHg5Ylx4ZDRceGE4XHg3ZFx4MjlceDFkXHhmNCIKKwkJCSAgIlx4YzRceGQ2XHg5Ylx4 NmFceDI4XHhhYlx4NjRceGUyIgorCQkJICAiXHg2Mlx4ODFceDk3XHhjNVx4ODFceGFhXHhmOVx4 NDQiCisJCQkgICJceGMxXHg3Mlx4NTlceDgyXHhhZlx4MTZceGM4XHgyYyIsCisJCS5wdGV4dAk9 ICJceGM3XHg2Ylx4NTJceDZhXHgxMFx4ZjBceGNjXHgwOSIKKwkJCSAgIlx4YzFceDEyXHgxZFx4 NmRceDIxXHhhNlx4NzhceGY1IgorCQkJICAiXHgwNVx4YTNceDY5XHg2MFx4OTFceDM2XHg5OFx4 NTciCisJCQkgICJceGJhXHgwY1x4MTRceGNjXHhmM1x4MmRceDczXHgwMyIKKwkJCSAgIlx4YzZc eGIyXHg1Zlx4YzhceDE2XHgyN1x4MzdceDVkIgorCQkJICAiXHhkMFx4MGJceDg3XHhiMlx4NTBc eDk0XHg3Ylx4NTgiCisJCQkgICJceDA0XHhmNFx4ZTBceDdmXHg2ZVx4NTdceDhlXHhjOSIKKwkJ CSAgIlx4NDFceDg0XHhjMVx4YjFceDdlXHg0Ylx4OTFceDEyIgorCQkJICAiXHgzYVx4OGJceDVk XHg1MFx4ODJceDdiXHhjYlx4ZDkiCisJCQkgICJceDlhXHhkOVx4NGVceDE4XHgwNlx4MjNceDll XHhkNCIKKwkJCSAgIlx4YTVceDIwXHg5OFx4ZWZceGI1XHhkYVx4ZTVceGMwIgorCQkJICAiXHg4 YVx4NmFceDgzXHg3N1x4MTVceDg0XHgxZVx4YWUiCisJCQkgICJceDc4XHg5NFx4OWRceGRmXHhi N1x4ZDFceGVhXHg2NyIKKwkJCSAgIlx4YWFceGIwXHgxNFx4MTVceGZhXHg2N1x4MjFceDg0Igor CQkJICAiXHhkM1x4NDFceDJhXHhjZVx4YmFceDRiXHg0YVx4ZTgiCisJCQkgICJceDk1XHg2Mlx4 YTlceDU1XHhmMFx4ODBceGFkXHhiZCIKKwkJCSAgIlx4YWJceGFmXHhkZFx4NGZceGE1XHg3Y1x4 MTNceDM2IgorCQkJICAiXHhlZFx4NWVceDRmXHg3Mlx4YWRceDRiXHhmMVx4ZDAiCisJCQkgICJc eDg4XHg0ZVx4ZWNceDJjXHg4OFx4MTBceDVlXHhlYSIKKwkJCSAgIlx4MTJceGMwXHgxNlx4MDFc eDI5XHhhM1x4YTBceDU1IgorCQkJICAiXHhhYVx4NjhceGYzXHhlOVx4OWRceDNiXHgwZFx4M2Ii CisJCQkgICJceDZkXHhlY1x4ZjhceGEwXHgyZFx4ZjBceDkwXHg4ZCIKKwkJCSAgIlx4MWNceGUy XHg4OFx4ZDRceDI0XHg3MVx4ZjlceGIzIgorCQkJICAiXHhjMVx4OWZceGM1XHhkNlx4NzZceDcw XHhjNVx4MmUiCisJCQkgICJceDljXHhhY1x4ZGJceDkwXHhiZFx4ODNceDcyXHhiYSIKKwkJCSAg Ilx4NmVceGI1XHhhNVx4NTNceDgzXHhhOVx4YTVceGJmIgorCQkJICAiXHg3ZFx4MDZceDBlXHgz Y1x4MmFceGQyXHgwNFx4YjUiCisJCQkgICJceDFlXHgxOVx4MzhceDA5XHgxNlx4ZDJceDgyXHgx ZiIKKwkJCSAgIlx4NzVceDE4XHg1Nlx4YjhceDk2XHgwYlx4YTZceGY5IgorCQkJICAiXHhjZlx4 NjJceGQ5XHgzMlx4NWRceGE5XHhkN1x4MWQiCisJCQkgICJceGVjXHhlNFx4ZGZceDFiXHhiZVx4 ZjFceDM2XHhlZSIKKwkJCSAgIlx4ZTNceDdiXHhiNVx4MmZceGVlXHhmOFx4NTNceDNkIgorCQkJ ICAiXHg2YVx4YjdceDcwXHhhOVx4ZmNceDljXHg1N1x4MjUiCisJCQkgICJceGYyXHg4OVx4MTBc eGQzXHhiOFx4YThceDhjXHgzMCIKKwkJCSAgIlx4YWVceDIzXHg0Zlx4MGVceDEzXHg2Nlx4NGZc eGUxIgorCQkJICAiXHhiNlx4YzBceGU0XHhmOFx4ZWZceDkzXHhiZFx4NmUiCisJCQkgICJceDE1 XHg4NVx4NmJceGUzXHg2MFx4ODFceDFkXHg2OCIKKwkJCSAgIlx4ZDdceDMxXHg4N1x4ODlceDA5 XHhhYlx4ZDVceDk2IgorCQkJICAiXHgxZFx4ZjNceDZkXHg2N1x4ODBceGNhXHgwN1x4MzEiCisJ CQkgICJceDVkXHhhN1x4ZTRceGZiXHgzZVx4ZjJceDliXHgzMyIKKwkJCSAgIlx4NTJceDE4XHhj OFx4MzBceGZlXHgyZFx4Y2FceDFlIgorCQkJICAiXHg3OVx4OTJceDdhXHg2MFx4NWNceGI2XHg1 OFx4ODciCisJCQkgICJceGE0XHgzNlx4YTJceDY3XHg5Mlx4OGJceGE0XHhiNyIKKwkJCSAgIlx4 ZjFceDg2XHhkZlx4ZGNceGMwXHg3ZVx4OGZceDYzIgorCQkJICAiXHhkMlx4YTJceGRjXHg3OFx4 ZWJceDRmXHhkOFx4OTYiCisJCQkgICJceDQ3XHhjYVx4YjhceDkxXHhmOVx4ZjdceDk0XHgyMSIK KwkJCSAgIlx4NWZceDlhXHg5Zlx4NWJceGI4XHg0MFx4NDFceDRiIgorCQkJICAiXHg2Nlx4Njlc eDZhXHg3Mlx4ZDBceGNiXHg3MFx4YjciCisJCQkgICJceDkzXHhiNVx4MzdceDk2XHgwNVx4Mzdc eDRmXHhlNSIKKwkJCSAgIlx4OGNceGE3XHg1YVx4NGVceDhiXHhiN1x4ODRceGVhIgorCQkJICAi XHhjN1x4ZmNceDE5XHg2ZVx4MWZceDVhXHhhMVx4YWMiCisJCQkgICJceDE4XHg3ZFx4NTJceDNi XHhiM1x4MzRceDYyXHg5OSIKKwkJCSAgIlx4ZTRceDllXHgzMVx4MDRceDNmXHhjMFx4OGRceDg0 IgorCQkJICAiXHgxN1x4N2NceDI1XHg0OFx4NTJceDY3XHgxMVx4MjciCisJCQkgICJceDY3XHhi Ylx4NWFceDg1XHhjYVx4NTZceGIyXHg1YyIKKwkJCSAgIlx4ZTZceGVjXHhkNVx4OTZceDNkXHgx NVx4ZmNceGZiIgorCQkJICAiXHgyMlx4MjVceGY0XHgxM1x4ZTVceDkzXHg0Ylx4OWEiCisJCQkg ICJceDc3XHhmMVx4NTJceDE4XHhmYVx4MTZceDVlXHg0OSIKKwkJCSAgIlx4MDNceDQ1XHhhOFx4 MDhceGZhXHhiM1x4NDFceDkyIgorCQkJICAiXHg3OVx4NTBceDMzXHhjYVx4ZDBceGQ3XHg0Mlx4 NTUiCisJCQkgICJceGMzXHg5YVx4MGNceDRlXHhkOVx4YTRceDNjXHg4NiIKKwkJCSAgIlx4ODBc eDlmXHg1M1x4ZDFceGE0XHgyZVx4ZDFceGJjIgorCQkJICAiXHhmMVx4NTRceDZlXHg5M1x4YTRc eDY1XHg5OVx4OGUiCisJCQkgICJceGRmXHgyOVx4YzBceDY0XHg2M1x4MDdceGJiXHhlYSIsCisJ CS5jdGV4dAk9ICJceDlmXHg3Mlx4ODdceGM3XHgxN1x4ZmJceDIwXHgxNSIKKwkJCSAgIlx4NjVc eGIzXHg1NVx4YThceDFjXHg4ZVx4NTJceDMyIgorCQkJICAiXHhiMVx4ODJceDhkXHhiZlx4YjVc eDlmXHgxMFx4MGEiCisJCQkgICJceGU4XHgwY1x4NzBceDYyXHhlZlx4ODlceGI2XHgxZiIKKwkJ CSAgIlx4NzNceGNjXHhlNFx4Y2NceDdhXHgzYVx4NzVceDRhIgorCQkJICAiXHgyNlx4ZTdceGY1 XHhkN1x4N2JceDE3XHgzOVx4MmQiCisJCQkgICJceGQyXHgyN1x4NmVceGY5XHgyZlx4OWVceGUy XHhmNiIKKwkJCSAgIlx4ZmFceDE2XHhjMlx4ZjJceDQ5XHgyNlx4YTdceDViIgorCQkJICAiXHhl N1x4Y2FceDI1XHgwZVx4NDVceGEwXHgzNFx4YzIiCisJCQkgICJceDlhXHgzN1x4NzlceDdlXHg3 Y1x4NThceDE4XHg5NCIKKwkJCSAgIlx4MTBceGE4XHg3Y1x4NDhceGE5XHhkN1x4NjNceDg5Igor CQkJICAiXHg5ZVx4NjFceDRkXHgyNlx4MzRceGQ5XHhmMFx4YjEiCisJCQkgICJceDJkXHgxN1x4 MmNceDZmXHg3Y1x4MzVceDBlXHhiZSIKKwkJCSAgIlx4NzdceDcxXHg3Y1x4MTdceDViXHhhYlx4 NzBceGRiIgorCQkJICAiXHgyZlx4NTRceDBmXHhhOVx4YzhceGY0XHhmNVx4YWIiCisJCQkgICJc eDUyXHgwNFx4M2FceGI4XHgwM1x4YTdceGZkXHg1NyIKKwkJCSAgIlx4NDVceDVlXHhiY1x4Nzdc eGUxXHhlZVx4NzlceDhjIgorCQkJICAiXHg1OFx4N2JceDFmXHhmN1x4NzVceGRlXHg2OFx4MTci CisJCQkgICJceDk4XHg4NVx4OGFceDE4XHg1Y1x4ZDJceDM5XHg3OCIKKwkJCSAgIlx4N2FceDZm XHgyNlx4NmVceGUxXHgxM1x4OTFceGRkIgorCQkJICAiXHhkZlx4MGVceDZlXHg2N1x4Y2NceDUx XHg1M1x4ZDgiCisJCQkgICJceDE3XHg1ZVx4Y2VceGE3XHhlNFx4YWZceGZhXHhmMyIKKwkJCSAg Ilx4NGZceDlmXHgwMVx4OWJceDA0XHhlN1x4ZmNceGY5IgorCQkJICAiXHg2YVx4ZGNceDFkXHgw Y1x4OWFceGFhXHgzYVx4N2EiCisJCQkgICJceDczXHgwM1x4ZGZceGJmXHgzYlx4ODJceGJlXHhi MCIKKwkJCSAgIlx4YjRceGE0XHhjZlx4MDdceGQ3XHhkZVx4NzFceDI1IgorCQkJICAiXHhjNVx4 MTBceGVlXHgwYVx4MTVceDk2XHg4Ylx4NGYiCisJCQkgICJceGZlXHhiOFx4MjhceGJkXHg0YVx4 Y2RceGViXHg5ZiIKKwkJCSAgIlx4NWRceDAwXHhjMVx4ZWVceGU4XHgxNlx4NDRceGVjIgorCQkJ ICAiXHhlOVx4N2JceGQ2XHg4NVx4MTdceDI5XHhjZlx4NTgiCisJCQkgICJceDIwXHhhYlx4Zjdc eGNlXHg2Ylx4ZTdceDcxXHg3ZCIKKwkJCSAgIlx4NGZceGE4XHhiMFx4ZTlceDdkXHg3MFx4ZDZc eDBiIgorCQkJICAiXHgyZVx4MjBceGIxXHgxYVx4NjNceDM3XHhhYVx4MmMiCisJCQkgICJceDk0 XHhlZVx4ZDVceGY2XHg1OFx4MmFceGY0XHg3YSIKKwkJCSAgIlx4NGNceGJhXHhmNVx4ZTlceDNj XHg2Zlx4OTVceDEzIgorCQkJICAiXHg1Zlx4OTZceDgxXHg1Ylx4YjVceDYyXHhmMlx4ZDciCisJ CQkgICJceDhkXHhiZVx4YTFceDMxXHg1MVx4ZTZceGZlXHhjOSIKKwkJCSAgIlx4MDdceDdkXHgw Zlx4MDBceDNhXHg2Nlx4OGNceDRiIgorCQkJICAiXHg5NFx4YWFceGU1XHg1Nlx4ZGVceGNkXHg3 NFx4YTciCisJCQkgICJceDQ4XHg2N1x4NmZceGVkXHhjOVx4NmFceGVmXHhhZiIKKwkJCSAgIlx4 OWFceGI3XHhhZVx4NjBceGZhXHhjMFx4MzdceDM5IgorCQkJICAiXHhhNVx4MjVceGU1XHgyMlx4 ZWFceDgyXHg1NVx4NjgiCisJCQkgICJceDNlXHgzMFx4YzNceDVhXHhiNlx4MjlceDczXHg3YSIK KwkJCSAgIlx4YjZceGZiXHgzNFx4ZWVceDUxXHg3Y1x4NTRceGU1IgorCQkJICAiXHgwMVx4NGRc eDcyXHgyNVx4MzJceDRhXHhhM1x4NjgiCisJCQkgICJceDgwXHg5YVx4ODlceGM1XHgxMVx4NjZc eDRjXHg4YyIKKwkJCSAgIlx4NDRceDUwXHhiZVx4ZDdceGEwXHhlZVx4YTZceGJiIgorCQkJICAi XHg5Mlx4MGNceGU2XHhkN1x4ODNceDUxXHhiMVx4NjkiCisJCQkgICJceDYzXHg0MFx4ZjNceGY0 XHg5Mlx4ODRceGM0XHgzOCIKKwkJCSAgIlx4MjlceGZiXHhiNFx4ODRceGEwXHgxOVx4NzVceDE2 IgorCQkJICAiXHg2MFx4YmZceDBhXHg5Y1x4ODlceGVlXHhhZFx4YjQiCisJCQkgICJceDQzXHhm OVx4NzFceDM5XHg0NVx4N2NceDI0XHg4MyIKKwkJCSAgIlx4MzBceGJiXHhlZVx4MjhceGIwXHg4 Nlx4N2JceGVjIgorCQkJICAiXHg5M1x4YzFceGJmXHhiOVx4OTdceDFiXHg5Nlx4ZWYiCisJCQkg ICJceGVlXHg1OFx4MzVceDYxXHgxMlx4MTlceGRhXHgyNSIKKwkJCSAgIlx4NzdceGU1XHg4MFx4 MWFceDMxXHgyN1x4OWJceGU0IgorCQkJICAiXHhkYVx4OGJceDdlXHg1MVx4NGRceGNiXHgwMVx4 MTkiCisJCQkgICJceDRmXHhkY1x4OTJceDFhXHgxN1x4ZDVceDZiXHhmNCIKKwkJCSAgIlx4NTBc eGUzXHgwNlx4ZTRceDc2XHg5Zlx4NjVceDAwIgorCQkJICAiXHhiZFx4N2FceGUyXHg2NFx4MjZc eGYyXHhlNFx4N2UiCisJCQkgICJceDQwXHhmMlx4ODBceGFiXHg2Mlx4ZDVceGVmXHgyMyIKKwkJ CSAgIlx4OGJceGZiXHg2Zlx4MjRceDZlXHg5Ylx4NjZceDBlIgorCQkJICAiXHhmNFx4MWNceDI0 XHgxZVx4MWRceDI2XHg5NVx4MDkiCisJCQkgICJceDk0XHgzY1x4YjJceGI2XHgwMlx4YTdceGQ5 XHg5YSIsCisJCS5rbGVuCT0gMzIsCisJCS5sZW4JPSA1MTIsCisJfSwKKworfTsKKwogI2VuZGlm CS8qIF9DUllQVE9fVEVTVE1HUl9IICovCi0tIAoyLjM1LjEuMTE3OC5nNGYxNjU5ZDQ3Ni1nb29n CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo=