From nobody Wed Apr 15 04:33:50 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 11B60C04A68 for ; Wed, 27 Jul 2022 06:37:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229965AbiG0Ghr (ORCPT ); Wed, 27 Jul 2022 02:37:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229882AbiG0Ghm (ORCPT ); Wed, 27 Jul 2022 02:37:42 -0400 Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B2D632DB5 for ; Tue, 26 Jul 2022 23:37:41 -0700 (PDT) Received: by mail-pj1-x102a.google.com with SMTP id o14-20020a17090a4b4e00b001f2f2b61be5so1209930pjl.4 for ; Tue, 26 Jul 2022 23:37:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Tj/bTvmx1mtQc87HmWuQCYJqveZhXuzoGM/KIIfrMWI=; b=MtMS3fdRc3YRlPoX4FQCOMbdypYuawslicDLFoVGatTfHnDc0pMWSKRAI49x8d2PEq 3hWUWhWl17Cg4rzNZXsUFsHD+cnOMyGGWgG48hIiYfJOzhmwPix6ukn836AbR85TnXpq nuCJS3f9O95cUMMv42/PacPR49c8+OhAazh3g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Tj/bTvmx1mtQc87HmWuQCYJqveZhXuzoGM/KIIfrMWI=; b=kODlx9H/t703nMK6rr/pijI6gl4BFxh2Nn55WXTlQJa1fW1WjjZrzjslMwGviEdREN YQxSX0I0+c7XBP1mUNY5mSQ+RxjPOu8xuyKC1F7ETopq/5qLD3Val/8l1Wbxa36le+KD nLeTCe+Xx8ehtiG2+emT2M+GKnTAvCs7q57xq6dKgiNYBh9jqgMGR7Be1ss54CnDK/Yu 47lxQZLPgZUvMbCqO9PbZjlg591s9dCpgH5AiJCPG20w6atKOFcV+nk1fI7yPBI0ROCL iTR50t4HGBRa6IaZ6nXef66H8gVb7GVWo/1BBYLBP4FWWaFNezIAa6XTmoQ1Dl+Lx8wC b/jQ== X-Gm-Message-State: AJIora83CWBN+n0rhAv8gISZ3e1fh+PRY+5siZ8VW5YDke3zomTPe+XP rN9VjR4dgOdsVSLBLQuPAXK7cg== X-Google-Smtp-Source: AGRyM1tCKJYk6e/nEKOq8uqI56w0leHW7/8xOg2OJAG6hvEKehmCnvE6y6hAx9gFptoPw5ktVe/qNA== X-Received: by 2002:a17:902:7049:b0:16c:b1f4:e00e with SMTP id h9-20020a170902704900b0016cb1f4e00emr20649814plt.113.1658903860578; Tue, 26 Jul 2022 23:37:40 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id q68-20020a634347000000b0041b36d47940sm1643582pga.23.2022.07.26.23.37.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Jul 2022 23:37:37 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, pabeni@redhat.com, ast@kernel.org, leon@kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, Vikas Gupta Subject: [PATCH net-next v7 1/2] devlink: introduce framework for selftests Date: Wed, 27 Jul 2022 12:07:18 +0530 Message-Id: <20220727063719.35125-2-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220727063719.35125-1-vikas.gupta@broadcom.com> References: <20220727063719.35125-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000005cd05305e4c3a7bc" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --0000000000005cd05305e4c3a7bc MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIGEgZnJhbWV3b3JrIGZvciBydW5uaW5nIHNlbGZ0ZXN0cy4KRnJhbWV3b3JrIGV4cG9zZXMg ZGV2bGluayBjb21tYW5kcyBhbmQgdGVzdCBzdWl0ZShzKSB0byB0aGUgdXNlcgp0byBleGVjdXRl IGFuZCBxdWVyeSB0aGUgc3VwcG9ydGVkIHRlc3RzIGJ5IHRoZSBkcml2ZXIuCgpCZWxvdyBhcmUg bmV3IGVudHJpZXMgaW4gZGV2bGlua19ubF9vcHMKZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX3No b3dfZG9pdC9kdW1waXQ6IFRvIHF1ZXJ5IHRoZSBzdXBwb3J0ZWQKc2VsZnRlc3RzIGJ5IHRoZSBk cml2ZXJzLgpkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfcnVuOiBUbyBleGVjdXRlIHNlbGZ0ZXN0 cy4gVXNlcnMgY2FuCnByb3ZpZGUgYSB0ZXN0IG1hc2sgZm9yIGV4ZWN1dGluZyBncm91cCB0ZXN0 cyBvciBzdGFuZGFsb25lIHRlc3RzLgoKRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2Rldmxpbmsv IHBhdGggaXMgYWxyZWFkeSBwYXJ0IG9mIE1BSU5UQUlORVJTICYKdGhlIG5ldyBmaWxlcyBjb21l IHVuZGVyIHRoaXMgcGF0aC4gSGVuY2Ugbm8gdXBkYXRlIG5lZWRlZCB0byB0aGUKTUFJTlRBSU5F UlMKClNpZ25lZC1vZmYtYnk6IFZpa2FzIEd1cHRhIDx2aWthcy5ndXB0YUBicm9hZGNvbS5jb20+ ClJldmlld2VkLWJ5OiBNaWNoYWVsIENoYW4gPG1pY2hhZWwuY2hhbkBicm9hZGNvbS5jb20+ClJl dmlld2VkLWJ5OiBBbmR5IEdvc3BvZGFyZWsgPGFuZHJldy5nb3Nwb2RhcmVrQGJyb2FkY29tLmNv bT4KLS0tCiAuLi4vbmV0d29ya2luZy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdCAgfCAg MzggKysrCiBpbmNsdWRlL25ldC9kZXZsaW5rLmggICAgICAgICAgICAgICAgICAgICAgICAgfCAg MjEgKysKIGluY2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmggICAgICAgICAgICAgICAgICB8ICAy OSArKysKIG5ldC9jb3JlL2RldmxpbmsuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIx NiArKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzA0IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL25ldHdvcmtpbmcvZGV2bGluay9kZXZs aW5rLXNlbGZ0ZXN0cy5yc3QKCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL25ldHdvcmtpbmcv ZGV2bGluay9kZXZsaW5rLXNlbGZ0ZXN0cy5yc3QgYi9Eb2N1bT0KZW50YXRpb24vbmV0d29ya2lu Zy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLmMwYWExZjNhZWYwZAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50 YXRpb24vbmV0d29ya2luZy9kZXZsaW5rL2Rldmxpbmstc2VsZnRlc3RzLnJzdApAQCAtMCwwICsx LDM4IEBACisuLiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogKEdQTC0yLjAtb25seSBPUiBCU0Qt Mi1DbGF1c2UpCisKKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRAorRGV2bGluayBTZWxmdGVzdHMKKz0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorCitUaGUgYGBkZXZsaW5rLXNlbGZ0ZXN0c2BgIEFQSSBh bGxvd3MgZXhlY3V0aW5nIHNlbGZ0ZXN0cyBvbiB0aGUgZGV2aWNlLgorCitUZXN0cyBNYXNrCis9 M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKK1RoZSBgYGRldmxpbmstc2VsZnRlc3RzYGAg Y29tbWFuZCBzaG91bGQgYmUgcnVuIHdpdGggYSBtYXNrIGluZGljYXRpbmcKK3RoZSB0ZXN0cyB0 byBiZSBleGVjdXRlZC4KKworVGVzdHMgRGVzY3JpcHRpb24KKz0zRD0zRD0zRD0zRD0zRD0zRD0z RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorVGhlIGZvbGxvd2luZyBpcyBhIGxpc3Qg b2YgdGVzdHMgdGhhdCBkcml2ZXJzIG1heSBleGVjdXRlLgorCisuLiBsaXN0LXRhYmxlOjogTGlz dCBvZiB0ZXN0cworICAgOndpZHRoczogNSA5MAorCisgICAqIC0gTmFtZQorICAgICAtIERlc2Ny aXB0aW9uCisgICAqIC0gYGBERVZMSU5LX1NFTEZURVNUX0ZMQVNIYGAKKyAgICAgLSBEZXZpY2Vz IG1heSBoYXZlIHRoZSBmaXJtd2FyZSBvbiBub24tdm9sYXRpbGUgbWVtb3J5IG9uIHRoZSBib2Fy ZCwgPQplLmcuCisgICAgICAgZmxhc2guIFRoaXMgcGFydGljdWxhciB0ZXN0IGhlbHBzIHRvIHJ1 biBhIGZsYXNoIHNlbGZ0ZXN0IG9uIHRoZSBkZT0KdmljZS4KKyAgICAgICBJbXBsZW1lbnRhdGlv biBvZiB0aGUgdGVzdCBpcyBsZWZ0IHRvIHRoZSBkcml2ZXIvZmlybXdhcmUuCisKK2V4YW1wbGUg dXNhZ2UKKy0tLS0tLS0tLS0tLS0KKworLi4gY29kZTo6IHNoZWxsCisKKyAgICAjIFF1ZXJ5IHNl bGZ0ZXN0cyBzdXBwb3J0ZWQgb24gdGhlIGRldmxpbmsgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRl diBzZWxmdGVzdHMgc2hvdyBERVYKKyAgICAjIFF1ZXJ5IHNlbGZ0ZXN0cyBzdXBwb3J0ZWQgb24g YWxsIGRldmxpbmsgZGV2aWNlcworICAgICQgZGV2bGluayBkZXYgc2VsZnRlc3RzIHNob3cKKyAg ICAjIEV4ZWN1dGVzIHNlbGZ0ZXN0cyBvbiB0aGUgZGV2aWNlCisgICAgJCBkZXZsaW5rIGRldiBz ZWxmdGVzdHMgcnVuIERFViBpZCBmbGFzaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvZGV2bGlu ay5oIGIvaW5jbHVkZS9uZXQvZGV2bGluay5oCmluZGV4IDViZDNmYWMxMmU5ZS4uYjMxMTA1NWNj MjlhIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9kZXZsaW5rLmgKKysrIGIvaW5jbHVkZS9uZXQv ZGV2bGluay5oCkBAIC0xNTA5LDYgKzE1MDksMjcgQEAgc3RydWN0IGRldmxpbmtfb3BzIHsKIAkJ CQkgICAgc3RydWN0IGRldmxpbmtfcmF0ZSAqcGFyZW50LAogCQkJCSAgICB2b2lkICpwcml2X2No aWxkLCB2b2lkICpwcml2X3BhcmVudCwKIAkJCQkgICAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAq ZXh0YWNrKTsKKwkvKioKKwkgKiBzZWxmdGVzdHNfY2hlY2soKSAtIHF1ZXJpZXMgaWYgc2VsZnRl c3QgaXMgc3VwcG9ydGVkCisJICogQGRldmxpbms6IGRldmxpbmsgaW5zdGFuY2UKKwkgKiBAdGVz dF9pZDogdGVzdCBpbmRleAorCSAqIEBleHRhY2s6IGV4dGFjayBmb3IgcmVwb3J0aW5nIGVycm9y IG1lc3NhZ2VzCisJICoKKwkgKiBSZXR1cm46IHRydWUgaWYgdGVzdCBpcyBzdXBwb3J0ZWQgYnkg dGhlIGRyaXZlcgorCSAqLworCWJvb2wgKCpzZWxmdGVzdF9jaGVjaykoc3RydWN0IGRldmxpbmsg KmRldmxpbmssIHVuc2lnbmVkIGludCB0ZXN0X2lkLAorCQkJICAgICAgIHN0cnVjdCBuZXRsaW5r X2V4dF9hY2sgKmV4dGFjayk7CisJLyoqCisJICogc2VsZnRlc3RfcnVuKCkgLSBSdW5zIGEgc2Vs ZnRlc3QKKwkgKiBAZGV2bGluazogZGV2bGluayBpbnN0YW5jZQorCSAqIEB0ZXN0X2lkOiB0ZXN0 IGluZGV4CisJICogQGV4dGFjazogZXh0YWNrIGZvciByZXBvcnRpbmcgZXJyb3IgbWVzc2FnZXMK KwkgKgorCSAqIFJldHVybjogc3RhdHVzIG9mIHRoZSB0ZXN0CisJICovCisJZW51bSBkZXZsaW5r X3NlbGZ0ZXN0X3N0YXR1cworCSgqc2VsZnRlc3RfcnVuKShzdHJ1Y3QgZGV2bGluayAqZGV2bGlu aywgdW5zaWduZWQgaW50IHRlc3RfaWQsCisJCQlzdHJ1Y3QgbmV0bGlua19leHRfYWNrICpleHRh Y2spOwogfTsKPTIwCiB2b2lkICpkZXZsaW5rX3ByaXYoc3RydWN0IGRldmxpbmsgKmRldmxpbmsp OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2RldmxpbmsuaCBiL2luY2x1ZGUvdWFw aS9saW51eC9kZXZsaW5rLmgKaW5kZXggNTQxMzIxNjk1ZjUyLi5kNmUyZDNiNzZlNDcgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC9kZXZsaW5rLmgKKysrIGIvaW5jbHVkZS91YXBpL2xp bnV4L2RldmxpbmsuaApAQCAtMTM2LDYgKzEzNiw5IEBAIGVudW0gZGV2bGlua19jb21tYW5kIHsK IAlERVZMSU5LX0NNRF9MSU5FQ0FSRF9ORVcsCiAJREVWTElOS19DTURfTElORUNBUkRfREVMLAo9 MjAKKwlERVZMSU5LX0NNRF9TRUxGVEVTVFNfR0VULAkvKiBjYW4gZHVtcCAqLworCURFVkxJTktf Q01EX1NFTEZURVNUU19SVU4sCisKIAkvKiBhZGQgbmV3IGNvbW1hbmRzIGFib3ZlIGhlcmUgKi8K IAlfX0RFVkxJTktfQ01EX01BWCwKIAlERVZMSU5LX0NNRF9NQVggPTNEIF9fREVWTElOS19DTURf TUFYIC0gMQpAQCAtMjc2LDYgKzI3OSwzMCBAQCBlbnVtIHsKICNkZWZpbmUgREVWTElOS19TVVBQ T1JURURfRkxBU0hfT1ZFUldSSVRFX1NFQ1RJT05TIFwKIAkoX0JJVFVMKF9fREVWTElOS19GTEFT SF9PVkVSV1JJVEVfTUFYX0JJVCkgLSAxKQo9MjAKK2VudW0gZGV2bGlua19hdHRyX3NlbGZ0ZXN0 X2lkIHsKKwlERVZMSU5LX0FUVFJfU0VMRlRFU1RfSURfVU5TUEVDLAorCURFVkxJTktfQVRUUl9T RUxGVEVTVF9JRF9GTEFTSCwJLyogZmxhZyAqLworCisJX19ERVZMSU5LX0FUVFJfU0VMRlRFU1Rf SURfTUFYLAorCURFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9NQVggPTNEIF9fREVWTElOS19BVFRS X1NFTEZURVNUX0lEX01BWCAtIDEKK307CisKK2VudW0gZGV2bGlua19zZWxmdGVzdF9zdGF0dXMg eworCURFVkxJTktfU0VMRlRFU1RfU1RBVFVTX1NLSVAsCisJREVWTElOS19TRUxGVEVTVF9TVEFU VVNfUEFTUywKKwlERVZMSU5LX1NFTEZURVNUX1NUQVRVU19GQUlMCit9OworCitlbnVtIGRldmxp bmtfYXR0cl9zZWxmdGVzdF9yZXN1bHQgeworCURFVkxJTktfQVRUUl9TRUxGVEVTVF9SRVNVTFRf VU5TUEVDLAorCURFVkxJTktfQVRUUl9TRUxGVEVTVF9SRVNVTFQsCQkvKiBuZXN0ZWQgKi8KKwlE RVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxUX0lELAkvKiB1MzIsIGVudW0gZGV2bGlua19hdHRy X3NlbGZ0ZXN0X2lkICovCisJREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9TVEFUVVMsCS8q IHU4LCBlbnVtIGRldmxpbmtfc2VsZnRlc3Rfc3RhdHVzID0KKi8KKworCV9fREVWTElOS19BVFRS X1NFTEZURVNUX1JFU1VMVF9NQVgsCisJREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9NQVgg PTNEIF9fREVWTElOS19BVFRSX1NFTEZURVNUX1JFU1VMVF9NQVggLT0KIDEKK307CisKIC8qKgog ICogZW51bSBkZXZsaW5rX3RyYXBfYWN0aW9uIC0gUGFja2V0IHRyYXAgYWN0aW9uLgogICogQERF VkxJTktfVFJBUF9BQ1RJT05fRFJPUDogUGFja2V0IGlzIGRyb3BwZWQgYnkgdGhlIGRldmljZSBh bmQgYSBjb3B5IGk9CnMgbm90CkBAIC01NzgsNiArNjA1LDggQEAgZW51bSBkZXZsaW5rX2F0dHIg ewo9MjAKIAlERVZMSU5LX0FUVFJfTkVTVEVEX0RFVkxJTkssCQkvKiBuZXN0ZWQgKi8KPTIwCisJ REVWTElOS19BVFRSX1NFTEZURVNUU19JTkZPLAkJLyogbmVzdGVkICovCisKIAkvKiBhZGQgbmV3 IGF0dHJpYnV0ZXMgYWJvdmUgaGVyZSwgdXBkYXRlIHRoZSBwb2xpY3kgaW4gZGV2bGluay5jICov Cj0yMAogCV9fREVWTElOS19BVFRSX01BWCwKZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Rldmxpbmsu YyBiL25ldC9jb3JlL2RldmxpbmsuYwppbmRleCA2OThiMmQ2ZTBlYzcuLmE5NDJiM2M5MjIzYyAx MDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2bGluay5jCisrKyBiL25ldC9jb3JlL2RldmxpbmsuYwpA QCAtMjAxLDYgKzIwMSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgZGV2bGlu a19mdW5jdGlvbl9ubF9wb2w9CmljeVtERVZMSU5LX1BPUlRfRlVOQ1RJT05fCiAJCQkJIERFVkxJ TktfUE9SVF9GTl9TVEFURV9BQ1RJVkUpLAogfTsKPTIwCitzdGF0aWMgY29uc3Qgc3RydWN0IG5s YV9wb2xpY3kgZGV2bGlua19zZWxmdGVzdF9ubF9wb2xpY3lbREVWTElOS19BVFRSX1NFTD0KRlRF U1RfSURfTUFYICsgMV0gPTNEIHsKKwlbREVWTElOS19BVFRSX1NFTEZURVNUX0lEX0ZMQVNIXSA9 M0QgeyAudHlwZSA9M0QgTkxBX0ZMQUcgfSwKK307CisKIHN0YXRpYyBERUZJTkVfWEFSUkFZX0ZM QUdTKGRldmxpbmtzLCBYQV9GTEFHU19BTExPQyk7CiAjZGVmaW5lIERFVkxJTktfUkVHSVNURVJF RCBYQV9NQVJLXzEKPTIwCkBAIC00ODI3LDYgKzQ4MzEsMjA2IEBAIHN0YXRpYyBpbnQgZGV2bGlu a19ubF9jbWRfZmxhc2hfdXBkYXRlKHN0cnVjdCBza19idT0KZmYgKnNrYiwKIAlyZXR1cm4gcmV0 OwogfQo9MjAKK3N0YXRpYyBpbnQKK2Rldmxpbmtfbmxfc2VsZnRlc3RzX2ZpbGwoc3RydWN0IHNr X2J1ZmYgKm1zZywgc3RydWN0IGRldmxpbmsgKmRldmxpbmssCisJCQkgIHUzMiBwb3J0aWQsIHUz MiBzZXEsIGludCBmbGFncywKKwkJCSAgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQor eworCXN0cnVjdCBubGF0dHIgKnNlbGZ0ZXN0c19saXN0OworCXZvaWQgKmhkcjsKKwlpbnQgZXJy OworCWludCBpOworCisJaGRyID0zRCBnZW5sbXNnX3B1dChtc2csIHBvcnRpZCwgc2VxLCAmZGV2 bGlua19ubF9mYW1pbHksIGZsYWdzLAorCQkJICBERVZMSU5LX0NNRF9TRUxGVEVTVFNfR0VUKTsK KwlpZiAoIWhkcikKKwkJcmV0dXJuIC1FTVNHU0laRTsKKworCWVyciA9M0QgLUVNU0dTSVpFOwor CWlmIChkZXZsaW5rX25sX3B1dF9oYW5kbGUobXNnLCBkZXZsaW5rKSkKKwkJZ290byBlcnJfY2Fu Y2VsX21zZzsKKworCXNlbGZ0ZXN0c19saXN0ID0zRCBubGFfbmVzdF9zdGFydChtc2csIERFVkxJ TktfQVRUUl9TRUxGVEVTVFNfSU5GTyk7CisJaWYgKCFzZWxmdGVzdHNfbGlzdCkKKwkJZ290byBl cnJfY2FuY2VsX21zZzsKKworCWZvciAoaSA9M0QgREVWTElOS19BVFRSX1NFTEZURVNUX0lEX1VO U1BFQyArIDE7CisJICAgICBpIDw9M0QgREVWTElOS19BVFRSX1NFTEZURVNUX0lEX01BWDsgaSsr KSB7CisJCWlmIChkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X2NoZWNrKGRldmxpbmssIGksIGV4dGFj aykpIHsKKwkJCWVyciA9M0QgbmxhX3B1dF9mbGFnKG1zZywgaSk7CisJCQlpZiAoZXJyKQorCQkJ CWdvdG8gZXJyX2NhbmNlbF9tc2c7CisJCX0KKwl9CisKKwlubGFfbmVzdF9lbmQobXNnLCBzZWxm dGVzdHNfbGlzdCk7CisJZ2VubG1zZ19lbmQobXNnLCBoZHIpOworCXJldHVybiAwOworCitlcnJf Y2FuY2VsX21zZzoKKwlnZW5sbXNnX2NhbmNlbChtc2csIGhkcik7CisJcmV0dXJuIGVycjsKK30K Kworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfZ2V0X2RvaXQoc3RydWN0IHNr X2J1ZmYgKnNrYiwKKwkJCQkJICAgICBzdHJ1Y3QgZ2VubF9pbmZvICppbmZvKQoreworCXN0cnVj dCBkZXZsaW5rICpkZXZsaW5rID0zRCBpbmZvLT51c2VyX3B0clswXTsKKwlzdHJ1Y3Qgc2tfYnVm ZiAqbXNnOworCWludCBlcnI7CisKKwlpZiAoIWRldmxpbmstPm9wcy0+c2VsZnRlc3RfY2hlY2sp CisJCXJldHVybiAtRU9QTk9UU1VQUDsKKworCW1zZyA9M0Qgbmxtc2dfbmV3KE5MTVNHX0RFRkFV TFRfU0laRSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFtc2cpCisJCXJldHVybiAtRU5PTUVNOworCisJ ZXJyID0zRCBkZXZsaW5rX25sX3NlbGZ0ZXN0c19maWxsKG1zZywgZGV2bGluaywgaW5mby0+c25k X3BvcnRpZCwKKwkJCQkJaW5mby0+c25kX3NlcSwgMCwgaW5mby0+ZXh0YWNrKTsKKwlpZiAoZXJy KSB7CisJCW5sbXNnX2ZyZWUobXNnKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwlyZXR1cm4gZ2Vu bG1zZ19yZXBseShtc2csIGluZm8pOworfQorCitzdGF0aWMgaW50IGRldmxpbmtfbmxfY21kX3Nl bGZ0ZXN0c19nZXRfZHVtcGl0KHN0cnVjdCBza19idWZmICptc2csCisJCQkJCSAgICAgICBzdHJ1 Y3QgbmV0bGlua19jYWxsYmFjayAqY2IpCit7CisJc3RydWN0IGRldmxpbmsgKmRldmxpbms7CisJ aW50IHN0YXJ0ID0zRCBjYi0+YXJnc1swXTsKKwl1bnNpZ25lZCBsb25nIGluZGV4OworCWludCBp ZHggPTNEIDA7CisJaW50IGVyciA9M0QgMDsKKworCW11dGV4X2xvY2soJmRldmxpbmtfbXV0ZXgp OworCWRldmxpbmtzX3hhX2Zvcl9lYWNoX3JlZ2lzdGVyZWRfZ2V0KHNvY2tfbmV0KG1zZy0+c2sp LCBpbmRleCwgZGV2bGluaykgeworCQlpZiAoaWR4IDwgc3RhcnQgfHwgIWRldmxpbmstPm9wcy0+ c2VsZnRlc3RfY2hlY2spCisJCQlnb3RvIGluYzsKKworCQlkZXZsX2xvY2soZGV2bGluayk7CisJ CWVyciA9M0QgZGV2bGlua19ubF9zZWxmdGVzdHNfZmlsbChtc2csIGRldmxpbmssCisJCQkJCQlO RVRMSU5LX0NCKGNiLT5za2IpLnBvcnRpZCwKKwkJCQkJCWNiLT5ubGgtPm5sbXNnX3NlcSwgTkxN X0ZfTVVMVEksCisJCQkJCQljYi0+ZXh0YWNrKTsKKwkJZGV2bF91bmxvY2soZGV2bGluayk7CisJ CWlmIChlcnIpIHsKKwkJCWRldmxpbmtfcHV0KGRldmxpbmspOworCQkJYnJlYWs7CisJCX0KK2lu YzoKKwkJaWR4Kys7CisJCWRldmxpbmtfcHV0KGRldmxpbmspOworCX0KKwltdXRleF91bmxvY2so JmRldmxpbmtfbXV0ZXgpOworCisJaWYgKGVyciAhPTNEIC1FTVNHU0laRSkKKwkJcmV0dXJuIGVy cjsKKworCWNiLT5hcmdzWzBdID0zRCBpZHg7CisJcmV0dXJuIG1zZy0+bGVuOworfQorCitzdGF0 aWMgaW50IGRldmxpbmtfc2VsZnRlc3RfcmVzdWx0X3B1dChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1 bnNpZ25lZCBpbnQgdD0KZXN0X2lkLAorCQkJCSAgICAgICBlbnVtIGRldmxpbmtfc2VsZnRlc3Rf c3RhdHVzIHRlc3Rfc3RhdHVzKQoreworCXN0cnVjdCBubGF0dHIgKnJlc3VsdF9hdHRyOworCisJ cmVzdWx0X2F0dHIgPTNEIG5sYV9uZXN0X3N0YXJ0KHNrYiwgREVWTElOS19BVFRSX1NFTEZURVNU X1JFU1VMVCk7CisJaWYgKCFyZXN1bHRfYXR0cikKKwkJcmV0dXJuIC1FTVNHU0laRTsKKworCWlm IChubGFfcHV0X3UzMihza2IsIERFVkxJTktfQVRUUl9TRUxGVEVTVF9SRVNVTFRfSUQsIHRlc3Rf aWQpIHx8CisJICAgIG5sYV9wdXRfdTgoc2tiLCBERVZMSU5LX0FUVFJfU0VMRlRFU1RfUkVTVUxU X1NUQVRVUywKKwkJICAgICAgIHRlc3Rfc3RhdHVzKSkKKwkJZ290byBubGFfcHV0X2ZhaWx1cmU7 CisKKwlubGFfbmVzdF9lbmQoc2tiLCByZXN1bHRfYXR0cik7CisJcmV0dXJuIDA7CisKK25sYV9w dXRfZmFpbHVyZToKKwlubGFfbmVzdF9jYW5jZWwoc2tiLCByZXN1bHRfYXR0cik7CisJcmV0dXJu IC1FTVNHU0laRTsKK30KKworc3RhdGljIGludCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfcnVu KHN0cnVjdCBza19idWZmICpza2IsCisJCQkJCXN0cnVjdCBnZW5sX2luZm8gKmluZm8pCit7CisJ c3RydWN0IG5sYXR0ciAqdGJbREVWTElOS19BVFRSX1NFTEZURVNUX0lEX01BWCArIDFdOworCXN0 cnVjdCBkZXZsaW5rICpkZXZsaW5rID0zRCBpbmZvLT51c2VyX3B0clswXTsKKwlzdHJ1Y3Qgbmxh dHRyICphdHRycywgKnRlc3RzX2luZm87CisJc3RydWN0IHNrX2J1ZmYgKm1zZzsKKwl2b2lkICpo ZHI7CisJaW50IGVycjsKKwlpbnQgaTsKKworCWlmICghZGV2bGluay0+b3BzLT5zZWxmdGVzdF9y dW4gfHwgIWRldmxpbmstPm9wcy0+c2VsZnRlc3RfY2hlY2spCisJCXJldHVybiAtRU9QTk9UU1VQ UDsKKworCWlmICghaW5mby0+YXR0cnNbREVWTElOS19BVFRSX1NFTEZURVNUU19JTkZPXSkgewor CQlOTF9TRVRfRVJSX01TR19NT0QoaW5mby0+ZXh0YWNrLCAic2VsZnRlc3QgaW5mb3JtYXRpb24g cmVxdWlyZWQiKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJYXR0cnMgPTNEIGluZm8tPmF0 dHJzW0RFVkxJTktfQVRUUl9TRUxGVEVTVFNfSU5GT107CisKKwllcnIgPTNEIG5sYV9wYXJzZV9u ZXN0ZWQodGIsIERFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9NQVgsIGF0dHJzLAorCQkJICAgICAg IGRldmxpbmtfc2VsZnRlc3RfbmxfcG9saWN5LCBpbmZvLT5leHRhY2spOworCWlmIChlcnIgPCAw KQorCQlyZXR1cm4gZXJyOworCisJbXNnID0zRCBubG1zZ19uZXcoTkxNU0dfREVGQVVMVF9TSVpF LCBHRlBfS0VSTkVMKTsKKwlpZiAoIW1zZykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwllcnIgPTNE IC1FTVNHU0laRTsKKwloZHIgPTNEIGdlbmxtc2dfcHV0KG1zZywgaW5mby0+c25kX3BvcnRpZCwg aW5mby0+c25kX3NlcSwKKwkJCSAgJmRldmxpbmtfbmxfZmFtaWx5LCAwLCBERVZMSU5LX0NNRF9T RUxGVEVTVFNfUlVOKTsKKwlpZiAoIWhkcikKKwkJZ290byBmcmVlX21zZzsKKworCWlmIChkZXZs aW5rX25sX3B1dF9oYW5kbGUobXNnLCBkZXZsaW5rKSkKKwkJZ290byBnZW5sbXNnX2NhbmNlbDsK KworCXRlc3RzX2luZm8gPTNEIG5sYV9uZXN0X3N0YXJ0KG1zZywgREVWTElOS19BVFRSX1NFTEZU RVNUU19JTkZPKTsKKwlpZiAoIXRlc3RzX2luZm8pCisJCWdvdG8gZ2VubG1zZ19jYW5jZWw7CisK Kwlmb3IgKGkgPTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9VTlNQRUMgKyAxOworCSAgICAg aSA8PTNEIERFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9NQVg7IGkrKykgeworCQllbnVtIGRldmxp bmtfc2VsZnRlc3Rfc3RhdHVzIHRlc3Rfc3RhdHVzOworCisJCWlmIChubGFfZ2V0X2ZsYWcodGJb aV0pKSB7CisJCQlpZiAoIWRldmxpbmstPm9wcy0+c2VsZnRlc3RfY2hlY2soZGV2bGluaywgaSwK KwkJCQkJCQkgIGluZm8tPmV4dGFjaykpIHsKKwkJCQlpZiAoZGV2bGlua19zZWxmdGVzdF9yZXN1 bHRfcHV0KG1zZywgaSwKKwkJCQkJCQkJREVWTElOS19TRUxGVEVTVF9TVEFUVVNfU0tJUCkpCisJ CQkJCWdvdG8gc2VsZnRlc3RzX2luZm9fbmVzdF9jYW5jZWw7CisJCQkJY29udGludWU7CisJCQl9 CisKKwkJCXRlc3Rfc3RhdHVzID0zRCBkZXZsaW5rLT5vcHMtPnNlbGZ0ZXN0X3J1bihkZXZsaW5r LCBpLAorCQkJCQkJCQkgaW5mby0+ZXh0YWNrKTsKKwkJCWlmIChkZXZsaW5rX3NlbGZ0ZXN0X3Jl c3VsdF9wdXQobXNnLCBpLCB0ZXN0X3N0YXR1cykpCisJCQkJZ290byBzZWxmdGVzdHNfaW5mb19u ZXN0X2NhbmNlbDsKKwkJfQorCX0KKworCW5sYV9uZXN0X2VuZChtc2csIHRlc3RzX2luZm8pOwor CWdlbmxtc2dfZW5kKG1zZywgaGRyKTsKKwlyZXR1cm4gZ2VubG1zZ19yZXBseShtc2csIGluZm8p OworCitzZWxmdGVzdHNfaW5mb19uZXN0X2NhbmNlbDoKKwlubGFfbmVzdF9jYW5jZWwobXNnLCB0 ZXN0c19pbmZvKTsKK2dlbmxtc2dfY2FuY2VsOgorCWdlbmxtc2dfY2FuY2VsKG1zZywgaGRyKTsK K2ZyZWVfbXNnOgorCW5sbXNnX2ZyZWUobXNnKTsKKwlyZXR1cm4gZXJyOworfQorCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGRldmxpbmtfcGFyYW0gZGV2bGlua19wYXJhbV9nZW5lcmljW10gPTNEIHsK IAl7CiAJCS5pZCA9M0QgREVWTElOS19QQVJBTV9HRU5FUklDX0lEX0lOVF9FUlJfUkVTRVQsCkBA IC04OTcwLDYgKzkxNzQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG5sYV9wb2xpY3kgZGV2bGlu a19ubF9wb2xpY3lbREVWTD0KSU5LX0FUVFJfTUFYICsgMV0gPTNEIHsKIAlbREVWTElOS19BVFRS X1JBVEVfUEFSRU5UX05PREVfTkFNRV0gPTNEIHsgLnR5cGUgPTNEIE5MQV9OVUxfU1RSSU5HIH0s CiAJW0RFVkxJTktfQVRUUl9MSU5FQ0FSRF9JTkRFWF0gPTNEIHsgLnR5cGUgPTNEIE5MQV9VMzIg fSwKIAlbREVWTElOS19BVFRSX0xJTkVDQVJEX1RZUEVdID0zRCB7IC50eXBlID0zRCBOTEFfTlVM X1NUUklORyB9LAorCVtERVZMSU5LX0FUVFJfU0VMRlRFU1RTX0lORk9dID0zRCB7IC50eXBlID0z RCBOTEFfTkVTVEVEIH0sCiB9Owo9MjAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9v cHMgZGV2bGlua19ubF9vcHNbXSA9M0QgewpAQCAtOTMyOSw2ICs5NTM0LDE3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZ2VubF9zbWFsbF9vcHMgZGV2bGlua19ubF9vcHNbXSA9Cj0zRCB7CiAJCS5k b2l0ID0zRCBkZXZsaW5rX25sX2NtZF90cmFwX3BvbGljZXJfc2V0X2RvaXQsCiAJCS5mbGFncyA9 M0QgR0VOTF9BRE1JTl9QRVJNLAogCX0sCisJeworCQkuY21kID0zRCBERVZMSU5LX0NNRF9TRUxG VEVTVFNfR0VULAorCQkuZG9pdCA9M0QgZGV2bGlua19ubF9jbWRfc2VsZnRlc3RzX2dldF9kb2l0 LAorCQkuZHVtcGl0ID0zRCBkZXZsaW5rX25sX2NtZF9zZWxmdGVzdHNfZ2V0X2R1bXBpdAorCQkv KiBjYW4gYmUgcmV0cmlldmVkIGJ5IHVucHJpdmlsZWdlZCB1c2VycyAqLworCX0sCisJeworCQku Y21kID0zRCBERVZMSU5LX0NNRF9TRUxGVEVTVFNfUlVOLAorCQkuZG9pdCA9M0QgZGV2bGlua19u bF9jbWRfc2VsZnRlc3RzX3J1biwKKwkJLmZsYWdzID0zRCBHRU5MX0FETUlOX1BFUk0sCisJfSwK IH07Cj0yMAogc3RhdGljIHN0cnVjdCBnZW5sX2ZhbWlseSBkZXZsaW5rX25sX2ZhbWlseSBfX3Jv X2FmdGVyX2luaXQgPTNEIHsKLS09MjAKMi4zMS4xCg== --0000000000005cd05305e4c3a7bc Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEINq2KdWlob+J+nCTF2B1R/b2bAmXxhkVBixQ sZ/CQ1AGMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyNzA2 Mzc0MVowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQB7GFZ8UhJg4PWdxQp9/U33/zZlcfinzYZseHSyTKjG7iZHFeeUWi+u bpZGzAsj5N0YMVd0A1SxlbWg2FOjEpl3auq27XA5Qu9Yqkz/FmKZFXWzeLoKf1O4Y7DKDvXx5ySU +l9MdcQC1MM5xAl1EL+T35g7f+vYs/DivwoOTT+PnNm1gIooc6vnggTqIaZMHm2rqHF7wBhcPDib nE6VKFgf0g/bXRgYj5wi2/Ff07auSa4rE3WYGMzPhQG43S3ocg1qu0tocoeuJKxtBYzFFHWt6m+K NpTp9SNEc/XJwhSZ/8etoONwP5eypvK48rYEAQEOCznlex0OjTVHuWgeAhDN --0000000000005cd05305e4c3a7bc-- From nobody Wed Apr 15 04:33:50 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98C1BC04A68 for ; Wed, 27 Jul 2022 06:38:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230038AbiG0GiL (ORCPT ); Wed, 27 Jul 2022 02:38:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230011AbiG0Ghx (ORCPT ); Wed, 27 Jul 2022 02:37:53 -0400 Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com [IPv6:2607:f8b0:4864:20::1036]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 185B528E25 for ; Tue, 26 Jul 2022 23:37:52 -0700 (PDT) Received: by mail-pj1-x1036.google.com with SMTP id e8-20020a17090a280800b001f2fef7886eso1210177pjd.3 for ; Tue, 26 Jul 2022 23:37:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=yv314y4YEKCT/YUlwePToQQecZVLg32zzlY9VcH4jTk=; b=TAo/4NDJNzJ0CCvTehbXcCI32nAplrALZEdj5fLj9FZnk6MHT4lBIFAV47ZBIJzGHF 526iGV4jfaDtsIx4Efaqz3m8sBZmz4WHAXO8K6f6lNTZBy83lrMXva3V1zNfVjbudkhl 2Y/lhZ4jgPLNxLcM4ilzakhrOtYeuPHmVzcNU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=yv314y4YEKCT/YUlwePToQQecZVLg32zzlY9VcH4jTk=; b=TT3BsrcY+O5fOlNBNiYvscST84AY49jitho25leZWgT4vyavDFxJNiH69ivblefFO6 S+5tIDNyAkyVMEf1LM4BJ1Ia4eIT7rAWyboZCTFtnwc1UTv1x748eJ4SK06/mS50/uuu GirmWCSHrWjMxJCiWRmSw3uYKExvqT5j0YXoTkAB1vIopnvGqDUlZbZ8iHwjYpl5FDaT fci/d5UNiaLMB88EyNIsSzt6kq69vaknEwASh0G8IKLsMZxISdsdZvbITNlL2WiuYfLk CBBFGq/MZXiwDwcnJc2XpYsuvzT2k/EgVNsWMQtkKP3z6jbqaIZGkMCEI41Ap2mSsEAv yl7g== X-Gm-Message-State: AJIora9Hecw/tAUzQHXgQKWCKsMflvNxi6XysUDMJ0gGknNB8vEalb+5 fdNZNJVtLnC6VBR6KPlv6d8idw== X-Google-Smtp-Source: AGRyM1t3OauboateELwAL34LSctNAPuAAtPnbuj7rCapIp9NxQDJkz67IO3ZaEscEyFx7sgkZCGKsQ== X-Received: by 2002:a17:90a:4402:b0:1f2:3507:5f96 with SMTP id s2-20020a17090a440200b001f235075f96mr2856633pjg.22.1658903871311; Tue, 26 Jul 2022 23:37:51 -0700 (PDT) Received: from rahul_yocto_ubuntu18.ibn.broadcom.net ([192.19.234.250]) by smtp.gmail.com with ESMTPSA id q68-20020a634347000000b0041b36d47940sm1643582pga.23.2022.07.26.23.37.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Jul 2022 23:37:47 -0700 (PDT) From: Vikas Gupta To: jiri@nvidia.com, kuba@kernel.org Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, davem@davemloft.net, dsahern@kernel.org, stephen@networkplumber.org, edumazet@google.com, pabeni@redhat.com, ast@kernel.org, leon@kernel.org, linux-doc@vger.kernel.org, corbet@lwn.net, michael.chan@broadcom.com, andrew.gospodarek@broadcom.com, vikas Subject: [PATCH net-next v7 2/2] bnxt_en: implement callbacks for devlink selftests Date: Wed, 27 Jul 2022 12:07:19 +0530 Message-Id: <20220727063719.35125-3-vikas.gupta@broadcom.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220727063719.35125-1-vikas.gupta@broadcom.com> References: <20220727063719.35125-1-vikas.gupta@broadcom.com> Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="000000000000ffa18d05e4c3a719" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: quoted-printable --000000000000ffa18d05e4c3a719 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 RnJvbTogdmlrYXMgPHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbT4KCkFkZCBjYWxsYmFja3MKPTNE PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNECi5zZWxmdGVzdF9jaGVjazogcmV0 dXJucyB0cnVlIGZvciBmbGFzaCBzZWxmdGVzdC4KLnNlbGZ0ZXN0X3J1bjogcnVucyBhIGZsYXNo IHNlbGZ0ZXN0LgoKQWxzbywgcmVmYWN0b3IgTlZNIEFQSXMgc28gdGhhdCB0aGV5IGNhbiBiZQp1 c2VkIHdpdGggZGV2bGluayBhbmQgZXRodG9vbCBib3RoLgoKU2lnbmVkLW9mZi1ieTogdmlrYXMg PHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbT4KUmV2aWV3ZWQtYnk6IE1pY2hhZWwgQ2hhbiA8bWlj aGFlbC5jaGFuQGJyb2FkY29tLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHkgR29zcG9kYXJlayA8YW5k cmV3Lmdvc3BvZGFyZWtAYnJvYWRjb20uY29tPgpTaWduZWQtb2ZmLWJ5OiBWaWthcyBHdXB0YSA8 dmlrYXMuZ3VwdGFAYnJvYWRjb20uY29tPgotLS0KIC4uLi9uZXQvZXRoZXJuZXQvYnJvYWRjb20v Ym54dC9ibnh0X2RldmxpbmsuYyB8IDYxICsrKysrKysrKysrKysrKysrKysKIC4uLi9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYm54dC9ibnh0X2V0aHRvb2wuYyB8IDI0ICsrKystLS0tCiAuLi4vbmV0 L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmggfCAxMiArKysrCiAzIGZpbGVz IGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMgYi9kcml2 ZXJzL25lPQp0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMKaW5kZXggNmIz ZDRmNGMyYTc1Li5lYzIyYjhkYTlmNmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2Jyb2FkY29tL2JueHQvYm54dF9kZXZsaW5rLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv YnJvYWRjb20vYm54dC9ibnh0X2RldmxpbmsuYwpAQCAtMjAsNiArMjAsOCBAQAogI2luY2x1ZGUg ImJueHRfdWxwLmgiCiAjaW5jbHVkZSAiYm54dF9wdHAuaCIKICNpbmNsdWRlICJibnh0X2NvcmVk dW1wLmgiCisjaW5jbHVkZSAiYm54dF9udm1fZGVmcy5oIgorI2luY2x1ZGUgImJueHRfZXRodG9v bC5oIgo9MjAKIHN0YXRpYyB2b2lkIF9fYm54dF9md19yZWNvdmVyKHN0cnVjdCBibnh0ICpicCkK IHsKQEAgLTYxMCw2ICs2MTIsNjMgQEAgc3RhdGljIGludCBibnh0X2RsX3JlbG9hZF91cChzdHJ1 Y3QgZGV2bGluayAqZGwsIGVudW0gPQpkZXZsaW5rX3JlbG9hZF9hY3Rpb24gYWN0aQogCXJldHVy biByYzsKIH0KPTIwCitzdGF0aWMgYm9vbCBibnh0X252bV90ZXN0KHN0cnVjdCBibnh0ICpicCwg c3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQoreworCXUzMiBkYXRhbGVuOworCXUxNiBp bmRleDsKKwl1OCAqYnVmOworCisJaWYgKGJueHRfZmluZF9udnJhbV9pdGVtKGJwLT5kZXYsIEJO WF9ESVJfVFlQRV9WUEQsCisJCQkJIEJOWF9ESVJfT1JESU5BTF9GSVJTVCwgQk5YX0RJUl9FWFRf Tk9ORSwKKwkJCQkgJmluZGV4LCBOVUxMLCAmZGF0YWxlbikgfHwgIWRhdGFsZW4pIHsKKwkJTkxf U0VUX0VSUl9NU0dfTU9EKGV4dGFjaywgIm52bSB0ZXN0IHZwZCBlbnRyeSBlcnJvciIpOworCQly ZXR1cm4gZmFsc2U7CisJfQorCisJYnVmID0zRCBremFsbG9jKGRhdGFsZW4sIEdGUF9LRVJORUwp OworCWlmICghYnVmKSB7CisJCU5MX1NFVF9FUlJfTVNHX01PRChleHRhY2ssICJpbnN1ZmZpY2ll bnQgbWVtb3J5IGZvciBudm0gdGVzdCIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKGJu eHRfZ2V0X252cmFtX2l0ZW0oYnAtPmRldiwgaW5kZXgsIDAsIGRhdGFsZW4sIGJ1ZikpIHsKKwkJ TkxfU0VUX0VSUl9NU0dfTU9EKGV4dGFjaywgIm52bSB0ZXN0IHZwZCByZWFkIGVycm9yIik7CisJ CWdvdG8gZXJyOworCX0KKworCWlmIChibnh0X2ZsYXNoX252cmFtKGJwLT5kZXYsIEJOWF9ESVJf VFlQRV9WUEQsIEJOWF9ESVJfT1JESU5BTF9GSVJTVCwKKwkJCSAgICAgQk5YX0RJUl9FWFRfTk9O RSwgMCwgMCwgYnVmLCBkYXRhbGVuKSkgeworCQlOTF9TRVRfRVJSX01TR19NT0QoZXh0YWNrLCAi bnZtIHRlc3QgdnBkIHdyaXRlIGVycm9yIik7CisJCWdvdG8gZXJyOworCX0KKworCXJldHVybiB0 cnVlOworCitlcnI6CisJa2ZyZWUoYnVmKTsKKwlyZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBi b29sIGJueHRfZGxfc2VsZnRlc3RfY2hlY2soc3RydWN0IGRldmxpbmsgKmRsLCB1bnNpZ25lZCBp bnQgdGVzdF9pPQpkLAorCQkJCSAgIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykKK3sK KwlyZXR1cm4gdGVzdF9pZCA9M0Q9M0QgREVWTElOS19BVFRSX1NFTEZURVNUX0lEX0ZMQVNIOwor fQorCitzdGF0aWMgZW51bSBkZXZsaW5rX3NlbGZ0ZXN0X3N0YXR1cyBibnh0X2RsX3NlbGZ0ZXN0 X3J1bihzdHJ1Y3QgZGV2bGluayAqZD0KbCwKKwkJCQkJCQkgdW5zaWduZWQgaW50IHRlc3RfaWQs CisJCQkJCQkJIHN0cnVjdCBuZXRsaW5rX2V4dF9hY2sgKmV4dGFjaykKK3sKKwlzdHJ1Y3QgYm54 dCAqYnAgPTNEIGJueHRfZ2V0X2JwX2Zyb21fZGwoZGwpOworCisJaWYgKHRlc3RfaWQgPTNEPTNE IERFVkxJTktfQVRUUl9TRUxGVEVTVF9JRF9GTEFTSCkKKwkJcmV0dXJuIGJueHRfbnZtX3Rlc3Qo YnAsIGV4dGFjaykgPworCQkJCURFVkxJTktfU0VMRlRFU1RfU1RBVFVTX1BBU1MgOgorCQkJCURF VkxJTktfU0VMRlRFU1RfU1RBVFVTX0ZBSUw7CisKKwlyZXR1cm4gREVWTElOS19TRUxGVEVTVF9T VEFUVVNfU0tJUDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZsaW5rX29wcyBibnh0X2Rs X29wcyA9M0QgewogI2lmZGVmIENPTkZJR19CTlhUX1NSSU9WCiAJLmVzd2l0Y2hfbW9kZV9zZXQg PTNEIGJueHRfZGxfZXN3aXRjaF9tb2RlX3NldCwKQEAgLTYyMiw2ICs2ODEsOCBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGRldmxpbmtfb3BzIGJueHRfZGxfb3BzID0zRCB7CiAJLnJlbG9hZF9saW1p dHMJICA9M0QgQklUKERFVkxJTktfUkVMT0FEX0xJTUlUX05PX1JFU0VUKSwKIAkucmVsb2FkX2Rv d24JICA9M0QgYm54dF9kbF9yZWxvYWRfZG93biwKIAkucmVsb2FkX3VwCSAgPTNEIGJueHRfZGxf cmVsb2FkX3VwLAorCS5zZWxmdGVzdF9jaGVjawkgID0zRCBibnh0X2RsX3NlbGZ0ZXN0X2NoZWNr LAorCS5zZWxmdGVzdF9ydW4JICA9M0QgYm54dF9kbF9zZWxmdGVzdF9ydW4sCiB9Owo9MjAKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZGV2bGlua19vcHMgYm54dF92Zl9kbF9vcHM7CmRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jIGIvZHJp dmVycy9uZT0KdC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jCmluZGV4IDcx OTFlNWQ3NDIwOC4uODdlYjUzNjJhZDcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5l dC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmMKQEAgLTIxNzYsMTQgKzIxNzYsMTQgQEAgc3Rh dGljIHZvaWQgYm54dF9wcmludF9hZG1pbl9lcnIoc3RydWN0IGJueHQgKmJwKQogCW5ldGRldl9p bmZvKGJwLT5kZXYsICJQRiBkb2VzIG5vdCBoYXZlIGFkbWluIHByaXZpbGVnZXMgdG8gZmxhc2gg b3IgcmVzZXQ9CiB0aGUgZGV2aWNlXG4iKTsKIH0KPTIwCi1zdGF0aWMgaW50IGJueHRfZmluZF9u dnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3JkaT0KbmFs LAotCQkJCXUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRlbV9sZW5ndGgsCi0JCQkJdTMyICpk YXRhX2xlbmd0aCk7CitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2Ug KmRldiwgdTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5kZXgsIHUz MiAqaXRlbV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCk7Cj0yMAotc3RhdGljIGludCBi bnh0X2ZsYXNoX252cmFtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiBkaXJfdHlwZSwKLQkJ CSAgICB1MTYgZGlyX29yZGluYWwsIHUxNiBkaXJfZXh0LCB1MTYgZGlyX2F0dHIsCi0JCQkgICAg dTMyIGRpcl9pdGVtX2xlbiwgY29uc3QgdTggKmRhdGEsCi0JCQkgICAgc2l6ZV90IGRhdGFfbGVu KQoraW50IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTE2IGRpcl90 eXBlLAorCQkgICAgIHUxNiBkaXJfb3JkaW5hbCwgdTE2IGRpcl9leHQsIHUxNiBkaXJfYXR0ciwK KwkJICAgICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25zdCB1OCAqZGF0YSwKKwkJICAgICBzaXplX3Qg ZGF0YV9sZW4pCiB7CiAJc3RydWN0IGJueHQgKmJwID0zRCBuZXRkZXZfcHJpdihkZXYpOwogCXN0 cnVjdCBod3JtX252bV93cml0ZV9pbnB1dCAqcmVxOwpAQCAtMjgzNiw4ICsyODM2LDggQEAgc3Rh dGljIGludCBibnh0X2dldF9udnJhbV9kaXJlY3Rvcnkoc3RydWN0IG5ldF9kZXZpY2U9CiAqZGV2 LCB1MzIgbGVuLCB1OCAqZGF0YSkKIAlyZXR1cm4gcmM7CiB9Cj0yMAotc3RhdGljIGludCBibnh0 X2dldF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUzMiBpbmRleCwgdTMyIG9m ZnM9CmV0LAotCQkJICAgICAgIHUzMiBsZW5ndGgsIHU4ICpkYXRhKQoraW50IGJueHRfZ2V0X252 cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgb2Zmc2V0LAor CQkJdTMyIGxlbmd0aCwgdTggKmRhdGEpCiB7CiAJc3RydWN0IGJueHQgKmJwID0zRCBuZXRkZXZf cHJpdihkZXYpOwogCWludCByYzsKQEAgLTI4NzEsOSArMjg3MSw5IEBAIHN0YXRpYyBpbnQgYm54 dF9nZXRfbnZyYW1faXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2PQosIHUzMiBpbmRleCwgdTMy IG9mZnNldCwKIAlyZXR1cm4gcmM7CiB9Cj0yMAotc3RhdGljIGludCBibnh0X2ZpbmRfbnZyYW1f aXRlbShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MTYgdHlwZSwgdTE2IG9yZGk9Cm5hbCwKLQkJ CQl1MTYgZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAotCQkJCXUzMiAqZGF0YV9s ZW5ndGgpCitpbnQgYm54dF9maW5kX252cmFtX2l0ZW0oc3RydWN0IG5ldF9kZXZpY2UgKmRldiwg dTE2IHR5cGUsIHUxNiBvcmRpbmFsLAorCQkJIHUxNiBleHQsIHUxNiAqaW5kZXgsIHUzMiAqaXRl bV9sZW5ndGgsCisJCQkgdTMyICpkYXRhX2xlbmd0aCkKIHsKIAlzdHJ1Y3QgaHdybV9udm1fZmlu ZF9kaXJfZW50cnlfb3V0cHV0ICpvdXRwdXQ7CiAJc3RydWN0IGh3cm1fbnZtX2ZpbmRfZGlyX2Vu dHJ5X2lucHV0ICpyZXE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNv bS9ibnh0L2JueHRfZXRodG9vbC5oIGIvZHJpdmVycy9uZT0KdC9ldGhlcm5ldC9icm9hZGNvbS9i bnh0L2JueHRfZXRodG9vbC5oCmluZGV4IGE1OTI4NDIxNWU3OC4uYThlY2VmOGFiODJjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibnh0L2JueHRfZXRodG9vbC5o CisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueHQvYm54dF9ldGh0b29sLmgK QEAgLTU4LDUgKzU4LDE3IEBAIGludCBibnh0X2ZsYXNoX3BhY2thZ2VfZnJvbV9md19vYmooc3Ry dWN0IG5ldF9kZXZpY2UgKmRlPQp2LCBjb25zdCBzdHJ1Y3QgZmlybXdhcmUKIGludCBibnh0X2dl dF9wa2dpbmZvKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGNoYXIgKnZlciwgaW50IHNpemUpOwog dm9pZCBibnh0X2V0aHRvb2xfaW5pdChzdHJ1Y3QgYm54dCAqYnApOwogdm9pZCBibnh0X2V0aHRv b2xfZnJlZShzdHJ1Y3QgYm54dCAqYnApOworaW50IGJueHRfZmluZF9udnJhbV9pdGVtKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1MTYgb3JkaW5hbCwKKwkJCSB1MTYgZXh0LCB1 MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAorCQkJIHUzMiAqZGF0YV9sZW5ndGgpOworaW50 IGJueHRfZmluZF9udnJhbV9pdGVtKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHUxNiB0eXBlLCB1 MTYgb3JkaW5hbCwKKwkJCSB1MTYgZXh0LCB1MTYgKmluZGV4LCB1MzIgKml0ZW1fbGVuZ3RoLAor CQkJIHUzMiAqZGF0YV9sZW5ndGgpOworaW50IGJueHRfZmxhc2hfbnZyYW0oc3RydWN0IG5ldF9k ZXZpY2UgKmRldiwgdTE2IGRpcl90eXBlLAorCQkgICAgIHUxNiBkaXJfb3JkaW5hbCwgdTE2IGRp cl9leHQsIHUxNiBkaXJfYXR0ciwKKwkJICAgICB1MzIgZGlyX2l0ZW1fbGVuLCBjb25zdCB1OCAq ZGF0YSwKKwkJICAgICBzaXplX3QgZGF0YV9sZW4pOworaW50IGJueHRfZ2V0X252cmFtX2l0ZW0o c3RydWN0IG5ldF9kZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgb2Zmc2V0LAorCQkJdTMyIGxl bmd0aCwgdTggKmRhdGEpOwo9MjAKICNlbmRpZgotLT0yMAoyLjMxLjEK --000000000000ffa18d05e4c3a719 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 I7qKxvF8Yo7eGTnHRTa99J+6yTd88AKVuhM5TEhpC8cS7qvrQXJje+Uing2xWC4FH76LEWIFH0Pt x8C1WoCU0ClXHU/XfzH2mYrFANBSCeP1Co6QdEfRAgMBAAGjggHZMIIB1TAOBgNVHQ8BAf8EBAMC BaAwgaMGCCsGAQUFBwEBBIGWMIGTME4GCCsGAQUFBzAChkJodHRwOi8vc2VjdXJlLmdsb2JhbHNp Z24uY29tL2NhY2VydC9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcnQwQQYIKwYBBQUHMAGG NWh0dHA6Ly9vY3NwLmdsb2JhbHNpZ24uY29tL2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwME0G A1UdIARGMEQwQgYKKwYBBAGgMgEoCjA0MDIGCCsGAQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxz aWduLmNvbS9yZXBvc2l0b3J5LzAJBgNVHRMEAjAAMEkGA1UdHwRCMEAwPqA8oDqGOGh0dHA6Ly9j cmwuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAuY3JsMCMGA1UdEQQc MBqBGHZpa2FzLmd1cHRhQGJyb2FkY29tLmNvbTATBgNVHSUEDDAKBggrBgEFBQcDBDAfBgNVHSME GDAWgBSWM9HmWBdbNHWKgVZk1b5I3qGPzzAdBgNVHQ4EFgQUUc6J11rH3s6PyZQ0zIVZHIuP20Yw DQYJKoZIhvcNAQELBQADggEBALvCjXn9gy9a2nU/Ey0nphGZefIP33ggiyuKnmqwBt7Wk/uDHIIc kkIlqtTbo0x0PqphS9A23CxCDjKqZq2WN34fL5MMW83nrK0vqnPloCaxy9/6yuLbottBY4STNuvA mQ//Whh+PE+DZadqiDbxXbos3IH8AeFXH4A1zIqIrc0Um2/CSD/T6pvu9QrchtvemfP0z/f1Bk+8 QbQ4ARVP93WV1I13US69evWXw+mOv9VnejShU9PMcDK203xjXbBOi9Hm+fthrWfwIyGoC5aEf7vd PKkEDt4VZ9RbudZU/c3N8+kURaHNtrvu2K+mQs5w/AF7HYZThqmOzQJnvMRjuL8xggJtMIICaQIB ATBrMFsxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTEwLwYDVQQDEyhH bG9iYWxTaWduIEdDQyBSMyBQZXJzb25hbFNpZ24gMiBDQSAyMDIwAgwYjepatB64S625eswwDQYJ YIZIAWUDBAIBBQCggdQwLwYJKoZIhvcNAQkEMSIEIIxtvygicOwmO13+UWaUK2A2MtJh5EtxQR8v /ll0DWXaMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMDcyNzA2 Mzc1MVowaQYJKoZIhvcNAQkPMVwwWjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAsGCWCGSAFl AwQBAjAKBggqhkiG9w0DBzALBgkqhkiG9w0BAQowCwYJKoZIhvcNAQEHMAsGCWCGSAFlAwQCATAN BgkqhkiG9w0BAQEFAASCAQB7JdTf+TDzi4xA0ct1/dGjDGKOP/3Y2KvT+cNvNojSv14FKXFcELMT cNmw/JsEBygieSqOtF8CUFnYvWxfbwlieFKHODDpXJw0cUO9uSPiqVy0B1zPRcThIzjbgq2HZkPI GD+l45z+gMv2F9Vr/EPHzWcd3rfTKy/THypsgiVwPx6JVWhQFMsMuYgukKm+6dDOz8ivxZ6ZMEY4 VrACHtKVfth9Zku9BHctQowG5DpYd2yZq+hP87z4k4dtqdNStMkJYVZ/bypLbYsG/NTXZjUUCCor Wp8lTY4bd3PZXX3eJUweVdC012u1Y4I88D31i8yJtR6opqAxdRgYgDSTEvux --000000000000ffa18d05e4c3a719--