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=-0.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no 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 9BDB4C433E2 for ; Fri, 19 Jun 2020 20:43:36 +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 725AB2100A for ; Fri, 19 Jun 2020 20:43:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="AgcjpEks" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 725AB2100A 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 D38926EA50; Fri, 19 Jun 2020 20:43:33 +0000 (UTC) Received: from mail-oi1-x241.google.com (mail-oi1-x241.google.com [IPv6:2607:f8b0:4864:20::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0229D6E948 for ; Fri, 19 Jun 2020 20:43:31 +0000 (UTC) Received: by mail-oi1-x241.google.com with SMTP id k4so9616080oik.2 for ; Fri, 19 Jun 2020 13:43:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9/vStao3ifGYQOLbJNj3Rxj/tTeqgov6BzJ8gWfbJ1A=; b=AgcjpEksjSk/meUmImx4Ly4hcLbaJQ2LjS9UizwkCrgrYmH3wmTs84drjSSTYKERf+ PsamWUOymvUvCKzjYP33oBhpNt2/D9LrLHY4oCRARGJ7HLSJ+/CuVYOstOjO2DfKtzn7 1VYp/JHpuvG+5c+ka+eZ3g4RtJpYayImc4a7k= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=9/vStao3ifGYQOLbJNj3Rxj/tTeqgov6BzJ8gWfbJ1A=; b=BbnG0dBIZ8SGaT9UdgCHmjDpEwE6JMoONNVfBUbiWvsGE9MsOesm/gQJ/pejvbY003 6tYA48X1+cDnB49Z21OHoa7GW2wkFKDCKWBsN4fJKkRXjQq2hY8XnvLRAT6206obdcrg E0eoN9ljWM2wRXf0aVCUtLSeHC1K9hB/dCh3RmchPpqT0lKkALrJrBzSnQ+snrfIeMXv PwuWJieswaCFttbluUOaACetkzGBcnaKMyY983NlA4BII9I7673V79Twvsl6skiN/t+5 Bx3BWgxQQp26NagTXZo/ne/VUI00FGrp/czUuOlydCLYEdG7I/hzsvXFXzNtcie3q5YV QlrA== X-Gm-Message-State: AOAM531dsGzXnUJQAngncmHalLpT+Y4+h1SCgibyTDh5K9F5pfpxRM1N +bc+3anrfDbmW2YLgofxfwbJqm1rH9/EbCTe+77UHA== X-Google-Smtp-Source: ABdhPJx1lZPqFNOPgShq1MnrWX/3UtpuEHFUA1gXpZi9tZWjkxiopQ1aXB5WqGz98ZH8/8j9ccq3QYl/2AFHKXO85qo= X-Received: by 2002:aca:aaca:: with SMTP id t193mr4536847oie.14.1592599411245; Fri, 19 Jun 2020 13:43:31 -0700 (PDT) MIME-Version: 1.0 References: <20200618150051.GS20149@phenom.ffwll.local> <20200618172338.GM6578@ziepe.ca> <20200619113934.GN6578@ziepe.ca> <20200619151551.GP6578@ziepe.ca> <20200619172308.GQ6578@ziepe.ca> <20200619180935.GA10009@redhat.com> <20200619181849.GR6578@ziepe.ca> <20200619201011.GB13117@redhat.com> In-Reply-To: <20200619201011.GB13117@redhat.com> From: Daniel Vetter Date: Fri, 19 Jun 2020 22:43:20 +0200 Message-ID: Subject: Re: [Linaro-mm-sig] [PATCH 04/18] dma-fence: prime lockdep annotations To: Jerome Glisse X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-rdma , =?UTF-8?Q?Thomas_Hellstr=C3=B6m_=28Intel=29?= , LKML , DRI Development , =?UTF-8?Q?Christian_K=C3=B6nig?= , "moderated list:DMA BUFFER SHARING FRAMEWORK" , Jason Gunthorpe , Thomas Hellstrom , amd-gfx list , Daniel Vetter , Mika Kuoppala , Intel Graphics Development , "open list:DMA BUFFER SHARING FRAMEWORK" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gRnJpLCBKdW4gMTksIDIwMjAgYXQgMTA6MTAgUE0gSmVyb21lIEdsaXNzZSA8amdsaXNzZUBy ZWRoYXQuY29tPiB3cm90ZToKPgo+IE9uIEZyaSwgSnVuIDE5LCAyMDIwIGF0IDAzOjE4OjQ5UE0g LTAzMDAsIEphc29uIEd1bnRob3JwZSB3cm90ZToKPiA+IE9uIEZyaSwgSnVuIDE5LCAyMDIwIGF0 IDAyOjA5OjM1UE0gLTA0MDAsIEplcm9tZSBHbGlzc2Ugd3JvdGU6Cj4gPiA+IE9uIEZyaSwgSnVu IDE5LCAyMDIwIGF0IDAyOjIzOjA4UE0gLTAzMDAsIEphc29uIEd1bnRob3JwZSB3cm90ZToKPiA+ ID4gPiBPbiBGcmksIEp1biAxOSwgMjAyMCBhdCAwNjoxOTo0MVBNICswMjAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+ID4gPiA+Cj4gPiA+ID4gPiBUaGUgbWFkbmVzcyBpcyBvbmx5IHRoYXQgZGV2 aWNlIEIncyBtbXUgbm90aWZpZXIgbWlnaHQgbmVlZCB0byB3YWl0Cj4gPiA+ID4gPiBmb3IgZmVu Y2VfQiBzbyB0aGF0IHRoZSBkbWEgb3BlcmF0aW9uIGZpbmlzaGVzLiBXaGljaCBpbiB0dXJuIGhh cyB0bwo+ID4gPiA+ID4gd2FpdCBmb3IgZGV2aWNlIEEgdG8gZmluaXNoIGZpcnN0Lgo+ID4gPiA+ Cj4gPiA+ID4gU28sIGl0IHNvdW5kLCBmdW5kYW1lbnRhbGx5IHlvdSd2ZSBnb3QgdGhpcyBncmFw aCBvZiBvcGVyYXRpb25zIGFjcm9zcwo+ID4gPiA+IGFuIHVua25vd24gc2V0IG9mIGRyaXZlcnMg YW5kIHRoZSBrZXJuZWwgY2Fubm90IGluc2VydCBpdHNlbGYgaW4KPiA+ID4gPiBkbWFfZmVuY2Ug aGFuZCBvZmZzIHRvIHJlLXZhbGlkYXRlIGFueSBvZiB0aGUgYnVmZmVycyBpbnZvbHZlZD8KPiA+ ID4gPiBCdWZmZXJzIHdoaWNoIGJ5IGRlZmluaXRpb24gY2Fubm90IGJlIHRvdWNoZWQgYnkgdGhl IGhhcmR3YXJlIHlldC4KPiA+ID4gPgo+ID4gPiA+IFRoYXQgcmVhbGx5IGlzIGEgcHJldHR5IGhv cnJpYmxlIHBsYWNlIHRvIGVuZCB1cC4uCj4gPiA+ID4KPiA+ID4gPiBQaW5uaW5nIHJlYWxseSBp cyByaWdodCBhbnN3ZXIgZm9yIHRoaXMga2luZCBvZiB3b3JrIGZsb3cuIEkgdGhpbmsKPiA+ID4g PiBjb252ZXJ0aW5nIHBpbm5pbmcgdG8gbm90aWZlcnMgc2hvdWxkIG5vdCBiZSBkb25lIHVubGVz cyBub3RpZmllcgo+ID4gPiA+IGludmFsaWRhdGlvbiBpcyByZWxhdGl2ZWx5IGJvdW5kZWQuCj4g PiA+ID4KPiA+ID4gPiBJIGtub3cgcGVvcGxlIGxpa2Ugbm90aWZpZXJzIGJlY2F1c2UgdGhleSBn aXZlIGEgYml0IG5pY2VyIHBlcmZvcm1hbmNlCj4gPiA+ID4gaW4gc29tZSBoYXBweSBjYXNlcywg YnV0IHRoaXMgY3JpcHBsZXMgYWxsIHRoZSBiYWQgY2FzZXMuLgo+ID4gPiA+Cj4gPiA+ID4gSWYg cGlubmluZyBkb2Vzbid0IHdvcmsgZm9yIHNvbWUgcmVhc29uIG1heWJlIHdlIHNob3VsZCBhZGRy ZXNzIHRoYXQ/Cj4gPiA+Cj4gPiA+IE5vdGUgdGhhdCB0aGUgZG1hIGZlbmNlIGlzIG9ubHkgdHJ1 ZSBmb3IgdXNlciBwdHIgYnVmZmVyIHdoaWNoIHByZWRhdGUKPiA+ID4gYW55IEhNTSB3b3JrIGFu ZCB0aHVzIHdlcmUgdXNpbmcgbW11IG5vdGlmaWVyIGFscmVhZHkuIFlvdSBuZWVkIHRoZQo+ID4g PiBtbXUgbm90aWZpZXIgdGhlcmUgYmVjYXVzZSBvZiBmb3JrIGFuZCBvdGhlciBjb3JuZXIgY2Fz ZXMuCj4gPgo+ID4gSSB3b25kZXIgaWYgd2Ugc2hvdWxkIHRyeSB0byBmaXggdGhlIGZvcmsgY2Fz ZSBtb3JlIGRpcmVjdGx5IC0gUkRNQQo+ID4gaGFzIHRoaXMgc2FtZSBwcm9ibGVtIGFuZCBhZGRl ZCBNQURWX0RPTlRGT1JLIGEgbG9uZyB0aW1lIGFnbyBhcyBhCj4gPiBoYWNreSB3YXkgdG8gZGVh bCB3aXRoIGl0Lgo+ID4KPiA+IFNvbWUgY3JhenkgcGFnZSBwaW4gdGhhdCByZXNvbHZlZCBDT1cg aW4gYSB3YXkgdGhhdCBhbHdheXMga2VwdCB0aGUKPiA+IHBoeXNpY2FsIG1lbW9yeSB3aXRoIHRo ZSBtbSB0aGF0IGluaXRpYXRlZCB0aGUgcGluPwo+Cj4gSnVzdCBubyB3YXkgdG8gZGVhbCB3aXRo IGl0IGVhc2lseSwgaSB0aG91Z2h0IGFib3V0IGZvcmNpbmcgdGhlCj4gYW5vbl92bWEgKHBhZ2Ut Pm1hcHBpbmcgZm9yIGFub255bW91cyBwYWdlKSB0byB0aGUgYW5vbl92bWEgdGhhdAo+IGJlbG9u Z3MgdG8gdGhlIHZtYSBhZ2FpbnN0IHdoaWNoIHRoZSBHVVAgd2FzIGRvbmUgYnV0IGl0IHdvdWxk Cj4gYnJlYWsgdGhpbmdzIGlmIHBhZ2UgaXMgYWxyZWFkeSBpbiBvdGhlciBicmFuY2ggb2YgYSBm b3JrIHRyZWUuCj4gQWxzbyB0aGlzIGZvcmJpZCBmYXN0IEdVUC4KPgo+IFF1aXRlIGZyYW5rbHkg dGhlIGZvcmsgd2FzIG5vdCB0aGUgbWFpbiBtb3RpdmF0aW5nIGZhY3Rvci4gR1BVCj4gY2FuIHBp biBwb3RlbnRpYWx5IEdCeXRlcyBvZiBtZW1vcnkgdGh1cyB3ZSB3YW50ZWQgdG8gYmUgYWJsZQo+ IHRvIHJlbGVhc2UgaXQgYnV0IHNpbmNlIE1pY2hhbCBjaGFuZ2VzIHRvIHJlY2xhaW0gY29kZSB0 aGlzIGlzCj4gbm8gbG9uZ2VyIGVmZmVjdGl2ZS4KCldoYXQgd2hlcmUgaG93PyBNeSBwYXRjaCB0 byBhbm5vdGUgcmVjbGFpbSBwYXRocyB3aXRoIG1tdSBub3RpZmllcgpwb3NzaWJpbGl0eSBqdXN0 IGxhbmRlZCBpbiAtbW0sIHNvIGlmIGRpcmVjdCByZWNsYWltIGNhbid0IHJlY2xhaW0gbW11Cm5v dGlmaWVyJ2VkIHN0dWZmIGFueW1vcmUgd2UgbmVlZCB0byBrbm93LgoKQWxzbyB0aGlzIHdvdWxk IHJlc29sdmUgdGhlIGVudGlyZSBwYWluIHdlJ3JlIGRpc2N1c3NpbmcgaW4gdGhpcwp0aHJlYWQg YWJvdXQgZG1hX2ZlbmNlX3dhaXQgZGVhZGxvY2tpbmcgYWdhaW5zdCBhbnl0aGluZyB0aGF0J3Mg bm90CkdGUF9BVE9NSUMgLi4uCi1EYW5pZWwKCj4KPiBVc2VyIGJ1ZmZlciBzaG91bGQgbmV2ZXIg ZW5kIHVwIGluIHRob3NlIHdlaXJkIGNvcm5lciBjYXNlLCBpaXJjCj4gdGhlIGZpcnN0IHVzYWdl IHdhcyBmb3IgeG9yZyBleGEgdGV4dHVyZSB1cGxvYWQsIHRoZW4gZ2VuZXJhbGl6ZQo+IHRvIHRl eHR1cmUgdXBsb2FkIGluIG1lc2EgYW5kIGxhdHRlciBvbiB0byBtb3JlIHVwbG9hZCBjYXNlcwo+ ICh2ZXJ0aWNlcywgLi4uKS4gQXQgbGVhc3QgdGhpcyBpcyB3aGF0IGkgcmVtZW1iZXIgdG9kYXku IFNvIGluCj4gdGhvc2UgY2FzZXMgd2UgZG8gbm90IGV4cGVjdCBmb3JrLCBzcGxpY2UsIG1yZW1h cCwgbXByb3RlY3QsIC4uLgo+Cj4gTWF5YmUgd2UgY2FuIGF1ZGl0IGhvdyB1c2VyIHB0ciBidWZm ZXIgYXJlIHVzZSB0b2RheSBhbmQgc2VlIGlmCj4gd2UgY2FuIGRlZmluZSBhIHVzYWdlIHBhdHRl cm4gdGhhdCB3b3VsZCBhbGxvdyB0byBjdXQgY29ybmVyIGluCj4ga2VybmVsLiBGb3IgaW5zdGFu Y2Ugd2UgY291bGQgdXNlIG1tdSBub3RpZmllciBqdXN0IHRvIGJsb2NrIENQVQo+IHB0ZSB1cGRh dGUgd2hpbGUgd2UgZG8gR1VQIGFuZCB0aHVzIG5ldmVyIHdhaXQgb24gZG1hIGZlbmNlLgo+Cj4g VGhlbiBHUFUgZHJpdmVyIGp1c3Qga2VlcCB0aGUgR1VQIHBpbiBhcm91bmQgdW50aWwgdGhleSBh cmUgZG9uZQo+IHdpdGggdGhlIHBhZ2UuIFRoZXkgY2FuIGFsc28gdXNlIHRoZSBtbXUgbm90aWZp ZXIgdG8ga2VlcCBhIGZsYWcKPiBzbyB0aGF0IHRoZSBkcml2ZXIga25vdyBpZiBpdCBuZWVkcyB0 byByZWRvIGEgR1VQIGllOgo+Cj4gVGhlIG5vdGlmaWVyIHBhdGg6Cj4gICAgR1BVX21tdV9ub3Rp Zmllcl9zdGFydF9jYWxsYmFjayhyYW5nZSkKPiAgICAgICAgIGdwdV9sb2NrX2NwdV9wYWdldGFi bGUocmFuZ2UpCj4gICAgICAgICBmb3JfZWFjaF9ib19pbihibywgcmFuZ2UpIHsKPiAgICAgICAg ICAgICBiby0+bmVlZF9ndXAgPSB0cnVlOwo+ICAgICAgICAgfQo+ICAgICAgICAgZ3B1X3VubG9j a19jcHVfcGFnZXRhYmxlKHJhbmdlKQo+Cj4gICAgR1BVX3ZhbGlkYXRlX2J1ZmZlcl9wYWdlcyhi bykKPiAgICAgICAgIGlmICghYm8tPm5lZWRfZ3VwKQo+ICAgICAgICAgICAgIHJldHVybjsKPiAg ICAgICAgIHB1dF9wYWdlcyhiby0+cGFnZXMpOwo+ICAgICAgICAgcmFuZ2UgPSBib192YWRkcl9y YW5nZShibykKPiAgICAgICAgIGdwdV9sb2NrX2NwdV9wYWdldGFibGUocmFuZ2UpCj4gICAgICAg ICBHVVAoYm8tPnBhZ2VzLCByYW5nZSkKPiAgICAgICAgIGdwdV91bmxvY2tfY3B1X3BhZ2V0YWJs ZShyYW5nZSkKPgo+Cj4gRGVwZW5kaW5nIG9uIGhvdyB1c2VyX3B0ciBhcmUgdXNlIHRvZGF5IHRo aXMgY291bGQgd29yay4KPgo+Cj4gPiAoaXNuJ3QgdGhpcyBicm9rZW4gZm9yIE9fRElSRUNUIGFz IHdlbGwgYW55aG93PykKPgo+IFllcyBpdCBjYW4gaW4gdGhlb3J5LCBpZiB5b3UgaGF2ZSBhbiBh cHBsaWNhdGlvbiB0aGF0IGRvZXMgT19ESVJFQ1QKPiBhbmQgZm9yayBjb25jdXJyZW50bHkgKGll IE9fRElSRUNUIGluIG9uZSB0aHJlYWQgYW5kIGZvcmsgaW4gYW5vdGhlcikuCj4gTm90ZSB0aGF0 IE9fRElSRUNUIGFmdGVyIGZvcmsgaXMgZmluZSwgaXQgaXMgYW4gaXNzdWUgb25seSBpZiBHVVBf ZmFzdAo+IHdhcyBhYmxlIHRvIGxvb2t1cCBhIHBhZ2Ugd2l0aCB3cml0ZSBwZXJtaXNzaW9uIGJl Zm9yZSBmb3JrIGhhZCB0aGUKPiBjaGFuY2UgdG8gdXBkYXRlIGl0IHRvIHJlYWQgb25seSBmb3Ig Q09XLgo+Cj4gQnV0IGRvaW5nIE9fRElSRUNUIChvciBhbnl0aGluZyB0aGF0IHVzZSBHVVAgZmFz dCkgaW4gb25lIHRocmVhZCBhbmQKPiBmb3JrIGluIGFub3RoZXIgaXMgaW5oZXJlbnRseSBicm9r ZW4gaWUgdGhlcmUgaXMgbm8gd2F5IHRvIGZpeCBpdC4KPgo+IFNlZSAxNzgzOTg1NmZkNTg4ZjRh YjZiNzg5ZjQ4MmVkM2ZmZDdjNDAzZTFmCj4KPiA+Cj4gPiBIb3cgZG9lcyBtbXVfbm90aWZpZXJz IGhlbHAgdGhlIGZvcmsgY2FzZSBhbnlob3c/IEJsb2NrIGZvcmsgZnJvbQo+ID4gcHJvZ3Jlc3Np bmc/Cj4KPiBJdCBlbmZvcmNlIG9yZGVyaW5nIGJldHdlZW4gZm9yayBhbmQgR1VQLCBpZiBmb3Jr IGlzIGZpcnN0IGl0IGJsb2Nrcwo+IEdVUCBhbmQgaWYgZm9ya3MgaXMgbGFzdCB0aGVuIGZvcmsg d2FpdHMgb24gR1VQIGFuZCB0aGVuIHVzZXIgYnVmZmVyCj4gZ2V0IGludmFsaWRhdGVkLgo+Cj4g Pgo+ID4gPiBJIHByb2JhYmx5IG5lZWQgdG8gd2FybiBBTUQgZm9sa3MgYWdhaW4gdGhhdCB1c2lu ZyBITU0gbWVhbnMgdGhhdCB5b3UKPiA+ID4gbXVzdCBiZSBhYmxlIHRvIHVwZGF0ZSB0aGUgR1BV IHBhZ2UgdGFibGUgYXN5bmNocm9ub3VzbHkgd2l0aG91dAo+ID4gPiBmZW5jZSB3YWl0Lgo+ID4K PiA+IEl0IGlzIGtpbmQgb2YgdW5yZWxhdGVkIHRvIEhNTSwgaXQganVzdCBzaG91bGRuJ3QgYmUg dXNpbmcgbW11Cj4gPiBub3RpZmllcnMgdG8gcmVwbGFjZSBwYWdlIHBpbm5pbmcuLgo+Cj4gV2Vs bCBteSBQT1YgaXMgdGhhdCBpZiB5b3UgYWJpZGUgYnkgcnVsZXMgSE1NIGRlZmluZWQgdGhlbiB5 b3UgZG8KPiBub3QgbmVlZCB0byBwaW4gcGFnZXMuIFRoZSBydWxlIGlzIGFzeW5jaHJvbm91cyBk ZXZpY2UgcGFnZSB0YWJsZQo+IHVwZGF0ZS4KPgo+IFBpbm5pbmcgcGFnZXMgaXMgcHJvYmxlbWF0 aWMgaXQgYmxvY2tzIG1hbnkgY29yZSBtbSBmZWF0dXJlcyBhbmQKPiBpdCBpcyBqdXN0IGJhZCBh bGwgYXJvdW5kLiBBbHNvIGl0IGlzIGluaGVyZW50bHkgYnJva2VuIGluIGZyb250Cj4gb2YgZm9y ay9tcmVtYXAvc3BsaWNlLy4uLgo+Cj4gQ2hlZXJzLAo+IErDqXLDtG1lCj4KCgotLSAKRGFuaWVs IFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cu ZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==