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.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, 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 436E5C432C3 for ; Fri, 15 Nov 2019 09:21:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 2472320733 for ; Fri, 15 Nov 2019 09:21:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2472320733 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F15F26E23F; Fri, 15 Nov 2019 09:21:37 +0000 (UTC) Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC2DB6E1F8 for ; Fri, 15 Nov 2019 09:21:31 +0000 (UTC) Received: by mail-wr1-x442.google.com with SMTP id e6so10169686wrw.1 for ; Fri, 15 Nov 2019 01:21:31 -0800 (PST) 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=tGjIM2+uUqMORVIasokc3/CvFp+wprfDfEiecNEi+4o=; b=fMoJwLEZjVz0Gxmw10tC/8IDhP9zZonKT8t967cptxvhcsKzpVj6Y8GqKMH4J9r5XC XRfsxkevR/2u6iEudR8f/C/C9Wr0qUs0R8iLOt/SZumU/r7c8m/CofiKiVCTI9G1Ur8A NFYU+JMDrjP5VwFQN7/0AytmMJvarM5kLZfhLuNGaFkKd+c22IMBbeAWvM64hcdUiK50 ADHcpMjliPEolzkkWP2Rfa03/mUu7cPxGq6KtKydrY4+eH2DgwrVB6V09Y9Rr6Lqap2o xUwJaUOfI6SHVzNAkE+uFgmCJOcP1hiWdZKb8fnVMikas9tguWaYkrt27TLJirXxekxG xr1Q== X-Gm-Message-State: APjAAAX2hcjzMeNH8OyHfj/RktZEGl2rQDVHaAgZOGajy48l96biDgT+ DYG3mxHmeMZdUoIQWKzvyzW9AW8GtS0= X-Google-Smtp-Source: APXvYqwnf2/MQXZ679hFBEv5ABxJG5pWkcrTe0XZXAxsR67X5YWu3QoXY4fHOvAlU81ah5/AgJgOLA== X-Received: by 2002:adf:e883:: with SMTP id d3mr13501518wrm.197.1573809690172; Fri, 15 Nov 2019 01:21:30 -0800 (PST) Received: from phenom.ffwll.local (212-51-149-96.fiber7.init7.net. [212.51.149.96]) by smtp.gmail.com with ESMTPSA id 11sm8987506wmi.8.2019.11.15.01.21.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Nov 2019 01:21:29 -0800 (PST) From: Daniel Vetter To: DRI Development Subject: [PATCH 3/8] drm/mediatek: don't open-code drm_gem_fb_create Date: Fri, 15 Nov 2019 10:21:15 +0100 Message-Id: <20191115092120.4445-4-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191115092120.4445-1-daniel.vetter@ffwll.ch> References: <20191115092120.4445-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tGjIM2+uUqMORVIasokc3/CvFp+wprfDfEiecNEi+4o=; b=WfM8FyTO7ypE+YMQNKDxQoBKIEgYOliOhA8IHmPKabbGB3iVqRcp9+2Yiz95KojpyN 5RRyo1OFsYseOMJj0ngbATa4TKXxD9cw6JBnsUbQKpNyC8sS9fwiLVyMISJSJt3Y2mwY EujkOzvZYc9UjWmsXzRIqw8m1ryOAtGIjx3UQ= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter , Intel Graphics Development , Matthias Brugger , linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191115092115.TynuwmTXWKj1mY3y3uBdFe5bj6pXPc89NNp4rPqshh8@z> QXNpZGU6IFRoZXJlJ3MgYSBmZXcgb3RoZXIgZmJfY3JlYXRlIGltcGxlbWVudGF0aW9ucyB3aGlj aApzaW1wbHkgY2hlY2sgZm9yIHZhbGlkIGJ1ZmZlciBmb3JtYXQgKG9yIGFuIGFwcHJveGltYXRp b24gdGhlcmVvZiksCmFuZCB0aGVuIGNhbGwgZHJtX2dlbV9mYl9jcmVhdGUuIEZvciBhdG9taWMg ZHJpdmVycyBhdCBsZWFzdCB3ZSBjb3VsZAp3YWxrIGFsbCBwbGFuZXMgYW5kIG1ha2Ugc3VyZSB0 aGUgZm9ybWF0L21vZGlmaWVyIGNvbWJvIGlzIHZhbGlkLAphbmQgcmVtb3ZlIGV2ZW4gbW9yZSBj b2RlLgoKRm9yIG5vbi1hdG9taWMgZHJpdmVycyB0aGF0J3Mgbm90IHBvc3NpYmxlLCBzaW5jZSB0 aGUgZm9ybWF0IGxpc3QgZm9yCnRoZSBwcmltYXJ5IGJ1ZmZlciBtaWdodCBiZSBnYXJiYWdlIChh bmQgbW9zdCBsaWtlbHkgaXQgaXMpLgoKQWxzbyBkZWxldGUgbXRrX2RybV9mYi5baGNdIHNpbmNl IGl0IHdvdWxkIG5vdyBvbmx5IGNvbnRhaW4gb25lCmZ1bmN0aW9uLgoKU2lnbmVkLW9mZi1ieTog RGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQ2M6IENLIEh1IDxjay5odUBt ZWRpYXRlay5jb20+CkNjOiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgpD YzogTWF0dGhpYXMgQnJ1Z2dlciA8bWF0dGhpYXMuYmdnQGdtYWlsLmNvbT4KQ2M6IGxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpDYzogbGludXgtbWVkaWF0ZWtAbGlzdHMuaW5m cmFkZWFkLm9yZwotLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jICAg fCAxNiArKysrLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZmIuYyAgICB8IDky IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cm1fZmIuaCAgICB8IDEzIC0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX3Bs YW5lLmMgfCAgMSAtCiA0IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDEwNyBkZWxl dGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9mYi5jCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZmIuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMKaW5kZXggODRk MTQyMTNkOTkyLi4yYjFjMTIyMDY2ZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5jCkBAIC0xNiw4ICsxNiwxMCBAQAogI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBl ci5oPgogI2luY2x1ZGUgPGRybS9kcm1fZHJ2Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxw ZXIuaD4KKyNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgogI2luY2x1ZGUgPGRybS9kcm1fZ2Vt Lmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9nZW1fY21hX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9k cm1fZ2VtX2ZyYW1lYnVmZmVyX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fb2YuaD4KICNp bmNsdWRlIDxkcm0vZHJtX3Byb2JlX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fdmJsYW5r Lmg+CkBAIC0yNyw3ICsyOSw2IEBACiAjaW5jbHVkZSAibXRrX2RybV9kZHAuaCIKICNpbmNsdWRl ICJtdGtfZHJtX2RkcF9jb21wLmgiCiAjaW5jbHVkZSAibXRrX2RybV9kcnYuaCIKLSNpbmNsdWRl ICJtdGtfZHJtX2ZiLmgiCiAjaW5jbHVkZSAibXRrX2RybV9nZW0uaCIKIAogI2RlZmluZSBEUklW RVJfTkFNRSAibWVkaWF0ZWsiCkBAIC0xMTUsNiArMTE2LDE5IEBAIHN0YXRpYyBpbnQgbXRrX2F0 b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwKIAlyZXR1cm4gMDsKIH0KIAorc3Rh dGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgorbXRrX2RybV9tb2RlX2ZiX2NyZWF0ZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAorCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlLAorCQkg ICAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKmNtZCkKK3sKKwljb25zdCBzdHJ1 Y3QgZHJtX2Zvcm1hdF9pbmZvICppbmZvID0gZHJtX2dldF9mb3JtYXRfaW5mbyhkZXYsIGNtZCk7 CisKKwlpZiAoaW5mby0+bnVtX3BsYW5lcyAhPSAxKQorCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFM KTsKKworCXJldHVybiBkcm1fZ2VtX2ZiX2NyZWF0ZShkZXYsIGZpbGUsIGNtZCk7Cit9CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIG10a19kcm1fbW9kZV9jb25m aWdfZnVuY3MgPSB7CiAJLmZiX2NyZWF0ZSA9IG10a19kcm1fbW9kZV9mYl9jcmVhdGUsCiAJLmF0 b21pY19jaGVjayA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZmIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2ZiLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNmMjMwYTI4YTJk Yy4uMDAwMDAwMDAwMDAwCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Zi LmMKKysrIC9kZXYvbnVsbApAQCAtMSw5MiArMCwwIEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5Ci0vKgotICogQ29weXJpZ2h0IChjKSAyMDE1IE1lZGlhVGVrIElu Yy4KLSAqLwotCi0jaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgotI2luY2x1ZGUgPGxpbnV4L2Rt YS1yZXN2Lmg+Ci0KLSNpbmNsdWRlIDxkcm0vZHJtX21vZGVzZXRfaGVscGVyLmg+Ci0jaW5jbHVk ZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KLSNpbmNsdWRlIDxkcm0vZHJtX2ZvdXJjYy5oPgotI2lu Y2x1ZGUgPGRybS9kcm1fZ2VtLmg+Ci0jaW5jbHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJf aGVscGVyLmg+Ci0KLSNpbmNsdWRlICJtdGtfZHJtX2Rydi5oIgotI2luY2x1ZGUgIm10a19kcm1f ZmIuaCIKLSNpbmNsdWRlICJtdGtfZHJtX2dlbS5oIgotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlcl9mdW5jcyBtdGtfZHJtX2ZiX2Z1bmNzID0gewotCS5jcmVhdGVfaGFuZGxl ID0gZHJtX2dlbV9mYl9jcmVhdGVfaGFuZGxlLAotCS5kZXN0cm95ID0gZHJtX2dlbV9mYl9kZXN0 cm95LAotfTsKLQotc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm10a19kcm1fZnJhbWVi dWZmZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJCQljb25zdCBzdHJ1Y3QgZHJt X21vZGVfZmJfY21kMiAqbW9kZSwKLQkJCQkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCi17 Ci0JY29uc3Qgc3RydWN0IGRybV9mb3JtYXRfaW5mbyAqaW5mbyA9IGRybV9nZXRfZm9ybWF0X2lu Zm8oZGV2LCBtb2RlKTsKLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKLQlpbnQgcmV0Owot Ci0JaWYgKGluZm8tPm51bV9wbGFuZXMgIT0gMSkKLQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7 Ci0KLQlmYiA9IGt6YWxsb2Moc2l6ZW9mKCpmYiksIEdGUF9LRVJORUwpOwotCWlmICghZmIpCi0J CXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwotCi0JZHJtX2hlbHBlcl9tb2RlX2ZpbGxfZmJfc3Ry dWN0KGRldiwgZmIsIG1vZGUpOwotCi0JZmItPm9ialswXSA9IG9iajsKLQotCXJldCA9IGRybV9m cmFtZWJ1ZmZlcl9pbml0KGRldiwgZmIsICZtdGtfZHJtX2ZiX2Z1bmNzKTsKLQlpZiAocmV0KSB7 Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXRpYWxpemUgZnJhbWVidWZmZXJcbiIpOwotCQlr ZnJlZShmYik7Ci0JCXJldHVybiBFUlJfUFRSKHJldCk7Ci0JfQotCi0JcmV0dXJuIGZiOwotfQot Ci1zdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICptdGtfZHJtX21vZGVfZmJfY3JlYXRlKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCi0JCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCi0JCQkJ CSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqY21kKQotewotCWNvbnN0IHN0 cnVjdCBkcm1fZm9ybWF0X2luZm8gKmluZm8gPSBkcm1fZ2V0X2Zvcm1hdF9pbmZvKGRldiwgY21k KTsKLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKLQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg KmdlbTsKLQl1bnNpZ25lZCBpbnQgd2lkdGggPSBjbWQtPndpZHRoOwotCXVuc2lnbmVkIGludCBo ZWlnaHQgPSBjbWQtPmhlaWdodDsKLQl1bnNpZ25lZCBpbnQgc2l6ZSwgYnBwOwotCWludCByZXQ7 Ci0KLQlpZiAoaW5mby0+bnVtX3BsYW5lcyAhPSAxKQotCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFM KTsKLQotCWdlbSA9IGRybV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBjbWQtPmhhbmRsZXNbMF0p OwotCWlmICghZ2VtKQotCQlyZXR1cm4gRVJSX1BUUigtRU5PRU5UKTsKLQotCWJwcCA9IGluZm8t PmNwcFswXTsKLQlzaXplID0gKGhlaWdodCAtIDEpICogY21kLT5waXRjaGVzWzBdICsgd2lkdGgg KiBicHA7Ci0Jc2l6ZSArPSBjbWQtPm9mZnNldHNbMF07Ci0KLQlpZiAoZ2VtLT5zaXplIDwgc2l6 ZSkgewotCQlyZXQgPSAtRUlOVkFMOwotCQlnb3RvIHVucmVmZXJlbmNlOwotCX0KLQotCWZiID0g bXRrX2RybV9mcmFtZWJ1ZmZlcl9pbml0KGRldiwgY21kLCBnZW0pOwotCWlmIChJU19FUlIoZmIp KSB7Ci0JCXJldCA9IFBUUl9FUlIoZmIpOwotCQlnb3RvIHVucmVmZXJlbmNlOwotCX0KLQotCXJl dHVybiBmYjsKLQotdW5yZWZlcmVuY2U6Ci0JZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKGdl bSk7Ci0JcmV0dXJuIEVSUl9QVFIocmV0KTsKLX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2ZiLmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9mYi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjY0ZDI2MDAxYzYuLjAwMDAw MDAwMDAwMAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9mYi5oCisrKyAv ZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seSAqLwotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxNSBNZWRpYVRlayBJbmMuCi0g Ki8KLQotI2lmbmRlZiBNVEtfRFJNX0ZCX0gKLSNkZWZpbmUgTVRLX0RSTV9GQl9ICi0KLXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKm10a19kcm1fbW9kZV9mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKLQkJCQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJCQkJICAgICAg IGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICpjbWQpOwotCi0jZW5kaWYgLyogTVRLX0RS TV9GQl9IICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9w bGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fcGxhbmUuYwppbmRleCAz YjBjYzkxYzcwMjMuLjU0MGVmMmZhYTQwYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9wbGFuZS5jCkBAIC0xMyw3ICsxMyw2IEBACiAjaW5jbHVkZSAibXRrX2RybV9jcnRjLmgi CiAjaW5jbHVkZSAibXRrX2RybV9kZHBfY29tcC5oIgogI2luY2x1ZGUgIm10a19kcm1fZHJ2Lmgi Ci0jaW5jbHVkZSAibXRrX2RybV9mYi5oIgogI2luY2x1ZGUgIm10a19kcm1fZ2VtLmgiCiAjaW5j bHVkZSAibXRrX2RybV9wbGFuZS5oIgogCi0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==