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 X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27A99C76191 for ; Fri, 26 Jul 2019 10:38:13 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F2C65218EA for ; Fri, 26 Jul 2019 10:38:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="J2qCKtwr" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F2C65218EA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hqxbl-0006ZD-VR; Fri, 26 Jul 2019 10:37:53 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hqxbl-0006Yy-63 for xen-devel@lists.xenproject.org; Fri, 26 Jul 2019 10:37:53 +0000 X-Inumbo-ID: 6ade9d24-af91-11e9-8980-bc764e045a96 Received: from mail-lf1-x141.google.com (unknown [2a00:1450:4864:20::141]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 6ade9d24-af91-11e9-8980-bc764e045a96; Fri, 26 Jul 2019 10:37:51 +0000 (UTC) Received: by mail-lf1-x141.google.com with SMTP id b17so36773306lff.7 for ; Fri, 26 Jul 2019 03:37:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nPUZNsAM40LxOGsx6lmuVJn2v89gou977qScNyinde8=; b=J2qCKtwrLHXWe4zuH0pFWEQdcL18O42w6YtFZ+pm2omiDQOHJ2KW6M+4oC8MbTfSf1 hB/TMSug9aGxkPiAIIF6UiJuVaKAou9usPfbaO9XqYEBvkYRyVBjUwoeeuYth4Nhf+xW x4k1mc1pT7ZyLXZslk88/yNHp29yC8emtdNCPA7FtIQyoNVRfHVMIJySOBbNNcA+tjkx +Y4XMs1LlnH0fa92ygKeyxXlk6KH7gKei89qBMyn3VX2/JZjD9n64wxuxBXElMmKFocJ qdWn5O0HG3ZEyXmEQQyid3hWlBlc4S8YvdK3pKo5WE/yoNAH9GgsvE6+UXK6ECREv65w 9Qgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nPUZNsAM40LxOGsx6lmuVJn2v89gou977qScNyinde8=; b=MMa60ZMEVfZjelO7N2clRRaoftX5h9pUSJS7JCbamyHeYdJn7hJiPPELP6dpCLWaL2 FhE4W2QyFGy1IH6Y+mLHXfnVFcxP1kUVRo7Mz7WaCFjtMRU4lRWbo0RSxWu8/LI3qt/l PfdfjvXWgnjCRIXGEuuNHNPejUS6tlFEpzs/PwnM6zJqm5VhFrU86I+kLnmkMbFWDV3J 5WqPiBjGoh13m/XNRNNyRKR4WbeQSIDn/Ki655/5q8w0XG1Xr0wcgbZXIpIN+XUBYDq2 YXNDE0081qzF/rvNumumjJaTo1j5SGzPhZF5ecWHv5pjzWAxJH6WPj6JKYH9q+j/7SdM OgvQ== X-Gm-Message-State: APjAAAVyr8IOsR3gdUicMIkzdzJsO4qHxTtRPHBuF3ERoBwA0CbKpzCU Ic5m3lOK3TgY2t/Os08qkz0+9tFy X-Google-Smtp-Source: APXvYqzML1t+rRV4ytTFuxDs7jkrk0AYZoGH9rFrIUTWbI2wu4vBlsPDabQwZMhTE0pMSmM1ELa2jQ== X-Received: by 2002:ac2:5609:: with SMTP id v9mr42000579lfd.27.1564137470036; Fri, 26 Jul 2019 03:37:50 -0700 (PDT) Received: from aanisov-work.kyiv.epam.com (ll-22.209.223.85.sovam.net.ua. [85.223.209.22]) by smtp.gmail.com with ESMTPSA id m4sm9938274ljc.56.2019.07.26.03.37.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 26 Jul 2019 03:37:49 -0700 (PDT) From: Andrii Anisov To: xen-devel@lists.xenproject.org Date: Fri, 26 Jul 2019 13:37:38 +0300 Message-Id: <1564137460-25629-6-git-send-email-andrii.anisov@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1564137460-25629-1-git-send-email-andrii.anisov@gmail.com> References: <1564137460-25629-1-git-send-email-andrii.anisov@gmail.com> MIME-Version: 1.0 Subject: [Xen-devel] =?utf-8?q?=5BRFC_5/6=5D_arm64=3A_=D1=81all_enter=5Fhy?= =?utf-8?q?pervisor=5Fhead_only_when_it_is_needed?= X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Volodymyr Babchuk , Julien Grall , Stefano Stabellini , Andrii Anisov Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogQW5kcmlpIEFuaXNvdiA8YW5kcmlpX2FuaXNvdkBlcGFtLmNvbT4KCk9uIEFSTTY0IHdl IGtub3cgZXhhY3RseSBpZiB0cmFwIGhhcHBlbmVkIGZyb20gaHlwZXJ2aXNvciBvciBndWVzdCwg c28Kd2UgZG8gbm90IG5lZWQgdG8gdGFrZSB0aGF0IGRlY2lzaW9uLiBUaGlzIHJlZHVjZXMgYSBj b25kaXRpb24gZm9yCmFsbCBlbnRlcl9oeXBlcnZpc29yX2hlYWQgY2FsbHMgYW5kIHRoZSBmdW5j dGlvbiBjYWxsIGZvciB0cmFwcyBmcm9tCnRoZSBoeXBlcnZpc29yIG1vZGUuCgpDdXJyZW50bHks IGl0IGlzIGltcGxlbWVudGVkIGZvciBBUk02NCBvbmx5LiBJbnRlZ3JhdGluZyB0aGUgc3R1ZmYK d2l0aCBBUk0zMiByZXF1aXJlcyBtb3ZpbmcgYCBpZiAoIGd1ZXN0X21vZGUocmVncykgKWAgY29u ZGl0aW9uCmludG8gQVJNMzIgc3BlY2lmaWMgdHJhcHMuYwoKU2lnbmVkLW9mZi1ieTogQW5kcmlp IEFuaXNvdiA8YW5kcmlpX2FuaXNvdkBlcGFtLmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vYXJtNjQv ZW50cnkuUyB8ICA2ICsrLS0KIHhlbi9hcmNoL2FybS90cmFwcy5jICAgICAgIHwgNzUgKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2Vk LCA0MyBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vYXJtNjQvZW50cnkuUyBiL3hlbi9hcmNoL2FybS9hcm02NC9lbnRyeS5TCmluZGV4IDhm Mjg3ODkuLjIxYzcxMGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9lbnRyeS5TCisr KyBiL3hlbi9hcmNoL2FybS9hcm02NC9lbnRyeS5TCkBAIC0yMTEsNyArMjExLDcgQEAgaHlwX2ly cToKICAgICAgICAgZW50cnkgICBoeXA9MQogICAgICAgICBtc3IgICAgIGRhaWZjbHIsICM0CiAg ICAgICAgIG1vdiAgICAgeDAsIHNwCi0gICAgICAgIGJsICAgICAgZG9fdHJhcF9pcnEKKyAgICAg ICAgYmwgICAgICBkb190cmFwX2h5cF9pcnEKICAgICAgICAgZXhpdCAgICBoeXA9MQogCiBndWVz dF9zeW5jOgpAQCAtMzIxLDcgKzMyMSw3IEBAIGd1ZXN0X2lycToKICAgICAgICAgICAgICAgICAg ICAgU0tJUF9TWU5DSFJPTklaRV9TRVJST1JfRU5UUllfRVhJVCkKICAgICAgICAgbXNyICAgICBk YWlmY2xyLCAjNAogICAgICAgICBtb3YgICAgIHgwLCBzcAotICAgICAgICBibCAgICAgIGRvX3Ry YXBfaXJxCisgICAgICAgIGJsICAgICAgZG9fdHJhcF9ndWVzdF9pcnEKIDE6CiAgICAgICAgIGV4 aXQgICAgaHlwPTAsIGNvbXBhdD0wCiAKQEAgLTM2NCw3ICszNjQsNyBAQCBndWVzdF9pcnFfY29t cGF0OgogICAgICAgICAgICAgICAgICAgICBTS0lQX1NZTkNIUk9OSVpFX1NFUlJPUl9FTlRSWV9F WElUKQogICAgICAgICBtc3IgICAgIGRhaWZjbHIsICM0CiAgICAgICAgIG1vdiAgICAgeDAsIHNw Ci0gICAgICAgIGJsICAgICAgZG9fdHJhcF9pcnEKKyAgICAgICAgYmwgICAgICBkb190cmFwX2d1 ZXN0X2lycQogMToKICAgICAgICAgZXhpdCAgICBoeXA9MCwgY29tcGF0PTEKIApkaWZmIC0tZ2l0 IGEveGVuL2FyY2gvYXJtL3RyYXBzLmMgYi94ZW4vYXJjaC9hcm0vdHJhcHMuYwppbmRleCA1YTlk YzY2Li4xMzcyNmRiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdHJhcHMuYworKysgYi94ZW4v YXJjaC9hcm0vdHJhcHMuYwpAQCAtMjAxMSw0OCArMjAxMSw0NSBAQCBzdGF0aWMgaW5saW5lIGJv b2wgbmVlZHNfc3NiZF9mbGlwKHN0cnVjdCB2Y3B1ICp2KQogICAgICAgICAgICAgIGNwdV9yZXF1 aXJlX3NzYmRfbWl0aWdhdGlvbigpOwogfQogCi1zdGF0aWMgdm9pZCBlbnRlcl9oeXBlcnZpc29y X2hlYWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCitzdGF0aWMgdm9pZCBlbnRlcl9oeXBl cnZpc29yX2hlYWQodm9pZCkKIHsKLSAgICBpZiAoIGd1ZXN0X21vZGUocmVncykgKQotICAgIHsK LSAgICAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OworICAgIHN0cnVjdCB2Y3B1ICp2ID0g Y3VycmVudDsKIAotICAgICAgICBBU1NFUlQoIWxvY2FsX2lycV9pc19lbmFibGVkKCkpOworICAg IEFTU0VSVCghbG9jYWxfaXJxX2lzX2VuYWJsZWQoKSk7CiAKLSAgICAgICAgLyogSWYgdGhlIGd1 ZXN0IGhhcyBkaXNhYmxlZCB0aGUgd29ya2Fyb3VuZCwgYnJpbmcgaXQgYmFjayBvbi4gKi8KLSAg ICAgICAgaWYgKCBuZWVkc19zc2JkX2ZsaXAodikgKQotICAgICAgICAgICAgYXJtX3NtY2NjXzFf MV9zbWMoQVJNX1NNQ0NDX0FSQ0hfV09SS0FST1VORF8yX0ZJRCwgMSwgTlVMTCk7CisgICAgLyog SWYgdGhlIGd1ZXN0IGhhcyBkaXNhYmxlZCB0aGUgd29ya2Fyb3VuZCwgYnJpbmcgaXQgYmFjayBv bi4gKi8KKyAgICBpZiAoIG5lZWRzX3NzYmRfZmxpcCh2KSApCisgICAgICAgIGFybV9zbWNjY18x XzFfc21jKEFSTV9TTUNDQ19BUkNIX1dPUktBUk9VTkRfMl9GSUQsIDEsIE5VTEwpOwogCi0gICAg ICAgIC8qCi0gICAgICAgICAqIElmIHdlIHBlbmRlZCBhIHZpcnR1YWwgYWJvcnQsIHByZXNlcnZl IGl0IHVudGlsIGl0IGdldHMgY2xlYXJlZC4KLSAgICAgICAgICogU2VlIEFSTSBBUk0gRERJIDA0 ODdBLmogRDEuMTQuMyAoVmlydHVhbCBJbnRlcnJ1cHRzKSBmb3IgZGV0YWlscywKLSAgICAgICAg ICogYnV0IHRoZSBjcnVjaWFsIGJpdCBpcyAiT24gdGFraW5nIGEgdlNFcnJvciBpbnRlcnJ1cHQs IEhDUl9FTDIuVlNFCi0gICAgICAgICAqIChhbGlhcyBvZiBIQ1IuVkEpIGlzIGNsZWFyZWQgdG8g MC4iCi0gICAgICAgICAqLwotICAgICAgICBpZiAoIHYtPmFyY2guaGNyX2VsMiAmIEhDUl9WQSAp Ci0gICAgICAgICAgICB2LT5hcmNoLmhjcl9lbDIgPSBSRUFEX1NZU1JFRyhIQ1JfRUwyKTsKKyAg ICAvKgorICAgICAqIElmIHdlIHBlbmRlZCBhIHZpcnR1YWwgYWJvcnQsIHByZXNlcnZlIGl0IHVu dGlsIGl0IGdldHMgY2xlYXJlZC4KKyAgICAgKiBTZWUgQVJNIEFSTSBEREkgMDQ4N0EuaiBEMS4x NC4zIChWaXJ0dWFsIEludGVycnVwdHMpIGZvciBkZXRhaWxzLAorICAgICAqIGJ1dCB0aGUgY3J1 Y2lhbCBiaXQgaXMgIk9uIHRha2luZyBhIHZTRXJyb3IgaW50ZXJydXB0LCBIQ1JfRUwyLlZTRQor ICAgICAqIChhbGlhcyBvZiBIQ1IuVkEpIGlzIGNsZWFyZWQgdG8gMC4iCisgICAgICovCisgICAg aWYgKCB2LT5hcmNoLmhjcl9lbDIgJiBIQ1JfVkEgKQorICAgICAgICB2LT5hcmNoLmhjcl9lbDIg PSBSRUFEX1NZU1JFRyhIQ1JfRUwyKTsKIAogI2lmZGVmIENPTkZJR19ORVdfVkdJQwotICAgICAg ICAvKgotICAgICAgICAgKiBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgc3RhdGUgb2Ygb3VyIGVtdWxh dGVkIGRldmljZXMgdXNpbmcgbGV2ZWwKLSAgICAgICAgICogdHJpZ2dlcmVkIGludGVycnVwdHMg YmVmb3JlIHN5bmNpbmcgYmFjayB0aGUgVkdJQyBzdGF0ZS4KLSAgICAgICAgICoKLSAgICAgICAg ICogVE9ETzogSW52ZXN0aWdhdGUgd2hldGhlciB0aGlzIGlzIG5lY2Vzc2FyeSB0byBkbyBvbiBl dmVyeQotICAgICAgICAgKiB0cmFwIGFuZCBob3cgaXQgY2FuIGJlIG9wdGltaXNlZC4KLSAgICAg ICAgICovCi0gICAgICAgIHZ0aW1lcl91cGRhdGVfaXJxcyh2KTsKLSAgICAgICAgdmNwdV91cGRh dGVfZXZ0Y2huX2lycSh2KTsKKyAgICAvKgorICAgICAqIFdlIG5lZWQgdG8gdXBkYXRlIHRoZSBz dGF0ZSBvZiBvdXIgZW11bGF0ZWQgZGV2aWNlcyB1c2luZyBsZXZlbAorICAgICAqIHRyaWdnZXJl ZCBpbnRlcnJ1cHRzIGJlZm9yZSBzeW5jaW5nIGJhY2sgdGhlIFZHSUMgc3RhdGUuCisgICAgICoK KyAgICAgKiBUT0RPOiBJbnZlc3RpZ2F0ZSB3aGV0aGVyIHRoaXMgaXMgbmVjZXNzYXJ5IHRvIGRv IG9uIGV2ZXJ5CisgICAgICogdHJhcCBhbmQgaG93IGl0IGNhbiBiZSBvcHRpbWlzZWQuCisgICAg ICovCisgICAgdnRpbWVyX3VwZGF0ZV9pcnFzKHYpOworICAgIHZjcHVfdXBkYXRlX2V2dGNobl9p cnEodik7CiAjZW5kaWYKIAotICAgICAgICB2Z2ljX3N5bmNfZnJvbV9scnModik7Ci0gICAgfQor ICAgIHZnaWNfc3luY19mcm9tX2xycyh2KTsKIH0KIAogdm9pZCBkb190cmFwX2d1ZXN0X3N5bmMo c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgY29uc3QgdW5pb24gaHNyIGhzciA9 IHsgLmJpdHMgPSByZWdzLT5oc3IgfTsKIAotICAgIGVudGVyX2h5cGVydmlzb3JfaGVhZChyZWdz KTsKKyAgICBlbnRlcl9oeXBlcnZpc29yX2hlYWQoKTsKICAgICBsb2NhbF9pcnFfZW5hYmxlKCk7 CiAKICAgICBzd2l0Y2ggKCBoc3IuZWMgKQpAQCAtMjE4OCw3ICsyMTg1LDYgQEAgdm9pZCBkb190 cmFwX2h5cF9zeW5jKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewogICAgIGNvbnN0IHVu aW9uIGhzciBoc3IgPSB7IC5iaXRzID0gcmVncy0+aHNyIH07CiAKLSAgICBlbnRlcl9oeXBlcnZp c29yX2hlYWQocmVncyk7CiAgICAgbG9jYWxfaXJxX2VuYWJsZSgpOwogCiAgICAgc3dpdGNoICgg aHNyLmVjICkKQEAgLTIyMjcsNyArMjIyMyw2IEBAIHZvaWQgZG9fdHJhcF9oeXBfc3luYyhzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIAogdm9pZCBkb190cmFwX2h5cF9zZXJyb3Ioc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7Ci0gICAgZW50ZXJfaHlwZXJ2aXNvcl9oZWFkKHJlZ3Mp OwogICAgIGxvY2FsX2lycV9lbmFibGUoKTsKIAogICAgIF9fZG9fdHJhcF9zZXJyb3IocmVncywg VkFCT1JUX0dFTl9CWV9HVUVTVChyZWdzKSk7CkBAIC0yMjM1LDIxICsyMjMwLDMxIEBAIHZvaWQg ZG9fdHJhcF9oeXBfc2Vycm9yKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogCiB2b2lkIGRv X3RyYXBfZ3Vlc3Rfc2Vycm9yKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewotICAgIGVu dGVyX2h5cGVydmlzb3JfaGVhZChyZWdzKTsKKyAgICBlbnRlcl9oeXBlcnZpc29yX2hlYWQoKTsK ICAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CiAKICAgICBfX2RvX3RyYXBfc2Vycm9yKHJlZ3MsIHRy dWUpOwogfQogCi12b2lkIGRvX3RyYXBfaXJxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQor dm9pZCBkb190cmFwX2d1ZXN0X2lycShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3sKKyAg ICBlbnRlcl9oeXBlcnZpc29yX2hlYWQoKTsKKyAgICBnaWNfaW50ZXJydXB0KHJlZ3MsIDApOwor fQorCit2b2lkIGRvX3RyYXBfZ3Vlc3RfZmlxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQor eworICAgIGVudGVyX2h5cGVydmlzb3JfaGVhZCgpOworICAgIGdpY19pbnRlcnJ1cHQocmVncywg MSk7Cit9CisKK3ZvaWQgZG9fdHJhcF9oeXBfaXJxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz KQogewotICAgIGVudGVyX2h5cGVydmlzb3JfaGVhZChyZWdzKTsKICAgICBnaWNfaW50ZXJydXB0 KHJlZ3MsIDApOwogfQogCi12b2lkIGRvX3RyYXBfZmlxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzKQordm9pZCBkb190cmFwX2h5cF9maXEoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiB7 Ci0gICAgZW50ZXJfaHlwZXJ2aXNvcl9oZWFkKHJlZ3MpOwogICAgIGdpY19pbnRlcnJ1cHQocmVn cywgMSk7CiB9CiAKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==