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=-6.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_PASS autolearn=unavailable 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 4D29EC43381 for ; Mon, 18 Mar 2019 15:03:51 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 109AA20850 for ; Mon, 18 Mar 2019 15:03:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1552921431; bh=VXk8044aIkjiTgThvreUga7BIzyES16fRQvBqz8niiw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-ID:From; b=mCqrJltJMwKPgfR2fCZSpq6tmFMAi9aqMSseLWo/C9t6M0jgLuFXCL0SR1QsJcZ4G bQN8pHmZCgBVgbxaPq92+9ontHSH4W/8n5XEPb5hK44Pn13KF172iYY4CHplBV3veV ABRZmkgj51Kvgs8QjeFbrk/UNKLFHX4ydcXnmMlE= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726677AbfCRPDu (ORCPT ); Mon, 18 Mar 2019 11:03:50 -0400 Received: from casper.infradead.org ([85.118.1.10]:33082 "EHLO casper.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726466AbfCRPDu (ORCPT ); Mon, 18 Mar 2019 11:03:50 -0400 X-Greylist: delayed 1059 seconds by postgrey-1.27 at vger.kernel.org; Mon, 18 Mar 2019 11:03:50 EDT DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=H6KQyXCX2TKmJEsScIsdqKMxRrKJbYRNrXBwGwNR+R0=; b=Nat3z8TBeg+cwkbtMhqxIT/sLC XyqkeLzeOzlHdodhCQ0C+gq2jc01QAa7qCZ5XcThsBf1E12Ex4+3g7zLt9pXbT9WexMctdpA2CE/8 LzDhgl1ibzIOQSS773YPmbnHMl9iPjO8W69bm+vauNU+/5tmhUe61YE1phKUCLT/JSrkwIwzDnqaa 7UpTPlQ/yDJneXAnxIVca9N40oOMm6CH9wYOSTXyO6OLaYiFq3RLVsujNfHluzEVqyTkWt3LAiPxy KN9/YvoFzjHiUT41MVtu6uHcUpPwU7CqB5IRHsMgsO26avf6uFkSOjuEptFjLtXo8rZ294rVhqxLp A/Zfmvhw==; Received: from [191.250.43.186] (helo=coco.lan) by casper.infradead.org with esmtpsa (Exim 4.90_1 #2 (Red Hat Linux)) id 1h5tWg-0006K6-DN; Mon, 18 Mar 2019 14:46:07 +0000 Date: Mon, 18 Mar 2019 11:46:01 -0300 From: Mauro Carvalho Chehab To: Laurent Pinchart Cc: dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Kieran Bingham Subject: Re: [PATCH v7 00/18] R-Car DU display writeback support Message-ID: <20190318114601.455984b2@coco.lan> In-Reply-To: <20190318143121.29561-1-laurent.pinchart+renesas@ideasonboard.com> References: <20190318143121.29561-1-laurent.pinchart+renesas@ideasonboard.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Em Mon, 18 Mar 2019 16:31:03 +0200 Laurent Pinchart escreveu: > Hello everybody, > > This is the latest and greatest version of the patch series that > implements display writeback support for the R-Car Gen3 platforms in the > VSP1 and DU drivers. All patches have been reviewed, all comments > incorporated, and the result rebased on top ov v5.1-rc1. > > Patches 01/18 to 11/18 prepare the VSP1 driver for writeback support > with all the necessary plumbing, including extensions of the API between > the VSP1 and DU drivers. > > The most significant change compared to v6 is the rebase on top of > v5.1-rc1. This was done to ease merging, as the VSP and DU parts would > normally go through different trees. I usually ask Mauro or Dave their > permission to merge the whole series through a single tree, and doing > the same this time I would select the DRM tree given that I hope to get > more DU patches merged in this development cycle. There is no foreseen > conflicting patch for the VSP in v5.2, but if a need arises, I will > them on top of the 11 first patches of this series and send a pull > request to Mauro to avoid conflicts. > > Mauro, I plan to send a pull request to Dave by the end of this week, so > if you'd like to have a look at the VSP patches, now would be a good > time :-) It's only driver changes, and they have been reviewed already, > so I don't expect any problem. > > Compared to v5 the major change is the usage of chained display lists in > the VSP to disable writeback after one frame, instead of patching the > active display list in memory. This should solve the potential DMA to > released buffer issue that could occur when the frame start interrupt > was delayed after frame end. Patch 06/18 and 07/18 are new in this > version to support usage of chained display pipelines. > > Compared to v4 the major change is the move from V4L2 to DRM writeback > connectors for the userspace API. This has caused a few issues with > writeback support to be uncovered, and they are addressed by patches > 12/18 to 14/18. > > Patches 15/18 to 17/18 then perform refactoring of the DU driver, to > finally add writeback support in patch 18/18. > > The writeback pixel format is restricted to RGB, due to the VSP1 > outputting RGB to the display and lacking a separate colour space > conversion unit for writeback. The writeback framebuffer size must match > the active mode, writeback scaling is not supported by the hardware. > > Writeback requests being part of atomic commits, they're queued to the > hardware when they are received, become active at the next vblank, and > complete on the following vblank. The display list chaining mechanism > ensures that writeback will be enabled for a single frame only, unless > the next atomic commit contains a separate writeback request. > > For convenience patches can be found at > > git://linuxtv.org/pinchartl/media.git drm/du/writeback > > Kieran Bingham (1): > Revert "[media] v4l: vsp1: Supply frames to the DU continuously" > > Laurent Pinchart (17): > media: vsp1: wpf: Fix partition configuration for display pipelines > media: vsp1: Replace leftover occurrence of fragment with body > media: vsp1: Fix addresses of display-related registers for VSP-DL > media: vsp1: Replace the display list internal flag with a flags field > media: vsp1: Add vsp1_dl_list argument to .configure_stream() > operation > media: vsp1: dl: Allow chained display lists for display pipelines > media: vsp1: wpf: Add writeback support > media: vsp1: drm: Split RPF format setting to separate function > media: vsp1: drm: Extend frame completion API to the DU driver > media: vsp1: drm: Implement writeback support For the media patches: Reviewed-by: Mauro Carvalho Chehab If those are the only changes at media side, feel free to push it via DRM tree. > drm: writeback: Cleanup job ownership handling when queuing job > drm: writeback: Fix leak of writeback job > drm: writeback: Add job prepare and cleanup operations > drm: rcar-du: Fix rcar_du_crtc structure documentation > drm: rcar-du: Store V4L2 fourcc in rcar_du_format_info structure > drm: rcar-du: vsp: Extract framebuffer (un)mapping to separate > functions > drm: rcar-du: Add writeback support for R-Car Gen3 > > drivers/gpu/drm/arm/malidp_mw.c | 3 +- > drivers/gpu/drm/drm_atomic_helper.c | 11 + > drivers/gpu/drm/drm_atomic_state_helper.c | 4 + > drivers/gpu/drm/drm_atomic_uapi.c | 31 +-- > drivers/gpu/drm/drm_writeback.c | 73 +++++- > drivers/gpu/drm/rcar-du/Kconfig | 4 + > drivers/gpu/drm/rcar-du/Makefile | 3 +- > drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 7 +- > drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 9 +- > drivers/gpu/drm/rcar-du/rcar_du_kms.c | 37 +++ > drivers/gpu/drm/rcar-du/rcar_du_kms.h | 1 + > drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 122 +++++----- > drivers/gpu/drm/rcar-du/rcar_du_vsp.h | 17 ++ > drivers/gpu/drm/rcar-du/rcar_du_writeback.c | 243 ++++++++++++++++++++ > drivers/gpu/drm/rcar-du/rcar_du_writeback.h | 39 ++++ > drivers/gpu/drm/vc4/vc4_txp.c | 2 +- > drivers/media/platform/vsp1/vsp1_brx.c | 1 + > drivers/media/platform/vsp1/vsp1_clu.c | 1 + > drivers/media/platform/vsp1/vsp1_dl.c | 84 ++++--- > drivers/media/platform/vsp1/vsp1_dl.h | 6 +- > drivers/media/platform/vsp1/vsp1_drm.c | 94 +++++--- > drivers/media/platform/vsp1/vsp1_drm.h | 2 +- > drivers/media/platform/vsp1/vsp1_entity.c | 3 +- > drivers/media/platform/vsp1/vsp1_entity.h | 7 +- > drivers/media/platform/vsp1/vsp1_hgo.c | 1 + > drivers/media/platform/vsp1/vsp1_hgt.c | 1 + > drivers/media/platform/vsp1/vsp1_hsit.c | 1 + > drivers/media/platform/vsp1/vsp1_lif.c | 1 + > drivers/media/platform/vsp1/vsp1_lut.c | 1 + > drivers/media/platform/vsp1/vsp1_regs.h | 6 +- > drivers/media/platform/vsp1/vsp1_rpf.c | 1 + > drivers/media/platform/vsp1/vsp1_rwpf.h | 1 + > drivers/media/platform/vsp1/vsp1_sru.c | 1 + > drivers/media/platform/vsp1/vsp1_uds.c | 1 + > drivers/media/platform/vsp1/vsp1_uif.c | 1 + > drivers/media/platform/vsp1/vsp1_video.c | 16 +- > drivers/media/platform/vsp1/vsp1_wpf.c | 83 +++++-- > include/drm/drm_modeset_helper_vtables.h | 7 + > include/drm/drm_writeback.h | 30 ++- > include/media/vsp1.h | 19 +- > 40 files changed, 775 insertions(+), 200 deletions(-) > create mode 100644 drivers/gpu/drm/rcar-du/rcar_du_writeback.c > create mode 100644 drivers/gpu/drm/rcar-du/rcar_du_writeback.h > Thanks, Mauro From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mauro Carvalho Chehab Subject: Re: [PATCH v7 00/18] R-Car DU display writeback support Date: Mon, 18 Mar 2019 11:46:01 -0300 Message-ID: <20190318114601.455984b2@coco.lan> References: <20190318143121.29561-1-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2DE5589803 for ; Mon, 18 Mar 2019 14:46:09 +0000 (UTC) In-Reply-To: <20190318143121.29561-1-laurent.pinchart+renesas@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: linux-renesas-soc@vger.kernel.org, Kieran Bingham , dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org RW0gTW9uLCAxOCBNYXIgMjAxOSAxNjozMTowMyArMDIwMApMYXVyZW50IFBpbmNoYXJ0IDxsYXVy ZW50LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4gZXNjcmV2ZXU6Cgo+IEhlbGxv IGV2ZXJ5Ym9keSwKPiAKPiBUaGlzIGlzIHRoZSBsYXRlc3QgYW5kIGdyZWF0ZXN0IHZlcnNpb24g b2YgdGhlIHBhdGNoIHNlcmllcyB0aGF0Cj4gaW1wbGVtZW50cyBkaXNwbGF5IHdyaXRlYmFjayBz dXBwb3J0IGZvciB0aGUgUi1DYXIgR2VuMyBwbGF0Zm9ybXMgaW4gdGhlCj4gVlNQMSBhbmQgRFUg ZHJpdmVycy4gQWxsIHBhdGNoZXMgaGF2ZSBiZWVuIHJldmlld2VkLCBhbGwgY29tbWVudHMKPiBp bmNvcnBvcmF0ZWQsIGFuZCB0aGUgcmVzdWx0IHJlYmFzZWQgb24gdG9wIG92IHY1LjEtcmMxLgo+ IAo+IFBhdGNoZXMgMDEvMTggdG8gMTEvMTggcHJlcGFyZSB0aGUgVlNQMSBkcml2ZXIgZm9yIHdy aXRlYmFjayBzdXBwb3J0Cj4gd2l0aCBhbGwgdGhlIG5lY2Vzc2FyeSBwbHVtYmluZywgaW5jbHVk aW5nIGV4dGVuc2lvbnMgb2YgdGhlIEFQSSBiZXR3ZWVuCj4gdGhlIFZTUDEgYW5kIERVIGRyaXZl cnMuCj4gCj4gVGhlIG1vc3Qgc2lnbmlmaWNhbnQgY2hhbmdlIGNvbXBhcmVkIHRvIHY2IGlzIHRo ZSByZWJhc2Ugb24gdG9wIG9mCj4gdjUuMS1yYzEuIFRoaXMgd2FzIGRvbmUgdG8gZWFzZSBtZXJn aW5nLCBhcyB0aGUgVlNQIGFuZCBEVSBwYXJ0cyB3b3VsZAo+IG5vcm1hbGx5IGdvIHRocm91Z2gg ZGlmZmVyZW50IHRyZWVzLiBJIHVzdWFsbHkgYXNrIE1hdXJvIG9yIERhdmUgdGhlaXIKPiBwZXJt aXNzaW9uIHRvIG1lcmdlIHRoZSB3aG9sZSBzZXJpZXMgdGhyb3VnaCBhIHNpbmdsZSB0cmVlLCBh bmQgZG9pbmcKPiB0aGUgc2FtZSB0aGlzIHRpbWUgSSB3b3VsZCBzZWxlY3QgdGhlIERSTSB0cmVl IGdpdmVuIHRoYXQgSSBob3BlIHRvIGdldAo+IG1vcmUgRFUgcGF0Y2hlcyBtZXJnZWQgaW4gdGhp cyBkZXZlbG9wbWVudCBjeWNsZS4gVGhlcmUgaXMgbm8gZm9yZXNlZW4KPiBjb25mbGljdGluZyBw YXRjaCBmb3IgdGhlIFZTUCBpbiB2NS4yLCBidXQgaWYgYSBuZWVkIGFyaXNlcywgSSB3aWxsCj4g dGhlbSBvbiB0b3Agb2YgdGhlIDExIGZpcnN0IHBhdGNoZXMgb2YgdGhpcyBzZXJpZXMgYW5kIHNl bmQgYSBwdWxsCj4gcmVxdWVzdCB0byBNYXVybyB0byBhdm9pZCBjb25mbGljdHMuCj4gCj4gTWF1 cm8sIEkgcGxhbiB0byBzZW5kIGEgcHVsbCByZXF1ZXN0IHRvIERhdmUgYnkgdGhlIGVuZCBvZiB0 aGlzIHdlZWssIHNvCj4gaWYgeW91J2QgbGlrZSB0byBoYXZlIGEgbG9vayBhdCB0aGUgVlNQIHBh dGNoZXMsIG5vdyB3b3VsZCBiZSBhIGdvb2QKPiB0aW1lIDotKSBJdCdzIG9ubHkgZHJpdmVyIGNo YW5nZXMsIGFuZCB0aGV5IGhhdmUgYmVlbiByZXZpZXdlZCBhbHJlYWR5LAo+IHNvIEkgZG9uJ3Qg ZXhwZWN0IGFueSBwcm9ibGVtLgo+IAo+IENvbXBhcmVkIHRvIHY1IHRoZSBtYWpvciBjaGFuZ2Ug aXMgdGhlIHVzYWdlIG9mIGNoYWluZWQgZGlzcGxheSBsaXN0cyBpbgo+IHRoZSBWU1AgdG8gZGlz YWJsZSB3cml0ZWJhY2sgYWZ0ZXIgb25lIGZyYW1lLCBpbnN0ZWFkIG9mIHBhdGNoaW5nIHRoZQo+ IGFjdGl2ZSBkaXNwbGF5IGxpc3QgaW4gbWVtb3J5LiBUaGlzIHNob3VsZCBzb2x2ZSB0aGUgcG90 ZW50aWFsIERNQSB0bwo+IHJlbGVhc2VkIGJ1ZmZlciBpc3N1ZSB0aGF0IGNvdWxkIG9jY3VyIHdo ZW4gdGhlIGZyYW1lIHN0YXJ0IGludGVycnVwdAo+IHdhcyBkZWxheWVkIGFmdGVyIGZyYW1lIGVu ZC4gUGF0Y2ggMDYvMTggYW5kIDA3LzE4IGFyZSBuZXcgaW4gdGhpcwo+IHZlcnNpb24gdG8gc3Vw cG9ydCB1c2FnZSBvZiBjaGFpbmVkIGRpc3BsYXkgcGlwZWxpbmVzLgo+IAo+IENvbXBhcmVkIHRv IHY0IHRoZSBtYWpvciBjaGFuZ2UgaXMgdGhlIG1vdmUgZnJvbSBWNEwyIHRvIERSTSB3cml0ZWJh Y2sKPiBjb25uZWN0b3JzIGZvciB0aGUgdXNlcnNwYWNlIEFQSS4gVGhpcyBoYXMgY2F1c2VkIGEg ZmV3IGlzc3VlcyB3aXRoCj4gd3JpdGViYWNrIHN1cHBvcnQgdG8gYmUgdW5jb3ZlcmVkLCBhbmQg dGhleSBhcmUgYWRkcmVzc2VkIGJ5IHBhdGNoZXMKPiAxMi8xOCB0byAxNC8xOC4KPiAKPiBQYXRj aGVzIDE1LzE4IHRvIDE3LzE4IHRoZW4gcGVyZm9ybSByZWZhY3RvcmluZyBvZiB0aGUgRFUgZHJp dmVyLCB0bwo+IGZpbmFsbHkgYWRkIHdyaXRlYmFjayBzdXBwb3J0IGluIHBhdGNoIDE4LzE4Lgo+ IAo+IFRoZSB3cml0ZWJhY2sgcGl4ZWwgZm9ybWF0IGlzIHJlc3RyaWN0ZWQgdG8gUkdCLCBkdWUg dG8gdGhlIFZTUDEKPiBvdXRwdXR0aW5nIFJHQiB0byB0aGUgZGlzcGxheSBhbmQgbGFja2luZyBh IHNlcGFyYXRlIGNvbG91ciBzcGFjZQo+IGNvbnZlcnNpb24gdW5pdCBmb3Igd3JpdGViYWNrLiBU aGUgd3JpdGViYWNrIGZyYW1lYnVmZmVyIHNpemUgbXVzdCBtYXRjaAo+IHRoZSBhY3RpdmUgbW9k ZSwgd3JpdGViYWNrIHNjYWxpbmcgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUuCj4g Cj4gV3JpdGViYWNrIHJlcXVlc3RzIGJlaW5nIHBhcnQgb2YgYXRvbWljIGNvbW1pdHMsIHRoZXkn cmUgcXVldWVkIHRvIHRoZQo+IGhhcmR3YXJlIHdoZW4gdGhleSBhcmUgcmVjZWl2ZWQsIGJlY29t ZSBhY3RpdmUgYXQgdGhlIG5leHQgdmJsYW5rLCBhbmQKPiBjb21wbGV0ZSBvbiB0aGUgZm9sbG93 aW5nIHZibGFuay4gVGhlIGRpc3BsYXkgbGlzdCBjaGFpbmluZyBtZWNoYW5pc20KPiBlbnN1cmVz IHRoYXQgd3JpdGViYWNrIHdpbGwgYmUgZW5hYmxlZCBmb3IgYSBzaW5nbGUgZnJhbWUgb25seSwg dW5sZXNzCj4gdGhlIG5leHQgYXRvbWljIGNvbW1pdCBjb250YWlucyBhIHNlcGFyYXRlIHdyaXRl YmFjayByZXF1ZXN0Lgo+IAo+IEZvciBjb252ZW5pZW5jZSBwYXRjaGVzIGNhbiBiZSBmb3VuZCBh dAo+IAo+IAlnaXQ6Ly9saW51eHR2Lm9yZy9waW5jaGFydGwvbWVkaWEuZ2l0IGRybS9kdS93cml0 ZWJhY2sKPiAKPiBLaWVyYW4gQmluZ2hhbSAoMSk6Cj4gICBSZXZlcnQgIlttZWRpYV0gdjRsOiB2 c3AxOiBTdXBwbHkgZnJhbWVzIHRvIHRoZSBEVSBjb250aW51b3VzbHkiCj4gCj4gTGF1cmVudCBQ aW5jaGFydCAoMTcpOgo+ICAgbWVkaWE6IHZzcDE6IHdwZjogRml4IHBhcnRpdGlvbiBjb25maWd1 cmF0aW9uIGZvciBkaXNwbGF5IHBpcGVsaW5lcwo+ICAgbWVkaWE6IHZzcDE6IFJlcGxhY2UgbGVm dG92ZXIgb2NjdXJyZW5jZSBvZiBmcmFnbWVudCB3aXRoIGJvZHkKPiAgIG1lZGlhOiB2c3AxOiBG aXggYWRkcmVzc2VzIG9mIGRpc3BsYXktcmVsYXRlZCByZWdpc3RlcnMgZm9yIFZTUC1ETAo+ICAg bWVkaWE6IHZzcDE6IFJlcGxhY2UgdGhlIGRpc3BsYXkgbGlzdCBpbnRlcm5hbCBmbGFnIHdpdGgg YSBmbGFncyBmaWVsZAo+ICAgbWVkaWE6IHZzcDE6IEFkZCB2c3AxX2RsX2xpc3QgYXJndW1lbnQg dG8gLmNvbmZpZ3VyZV9zdHJlYW0oKQo+ICAgICBvcGVyYXRpb24KPiAgIG1lZGlhOiB2c3AxOiBk bDogQWxsb3cgY2hhaW5lZCBkaXNwbGF5IGxpc3RzIGZvciBkaXNwbGF5IHBpcGVsaW5lcwo+ICAg bWVkaWE6IHZzcDE6IHdwZjogQWRkIHdyaXRlYmFjayBzdXBwb3J0Cj4gICBtZWRpYTogdnNwMTog ZHJtOiBTcGxpdCBSUEYgZm9ybWF0IHNldHRpbmcgdG8gc2VwYXJhdGUgZnVuY3Rpb24KPiAgIG1l ZGlhOiB2c3AxOiBkcm06IEV4dGVuZCBmcmFtZSBjb21wbGV0aW9uIEFQSSB0byB0aGUgRFUgZHJp dmVyCj4gICBtZWRpYTogdnNwMTogZHJtOiBJbXBsZW1lbnQgd3JpdGViYWNrIHN1cHBvcnQKCkZv ciB0aGUgbWVkaWEgcGF0Y2hlczoKClJldmlld2VkLWJ5OiBNYXVybyBDYXJ2YWxobyBDaGVoYWIg PG1jaGVoYWIrc2Ftc3VuZ0BrZXJuZWwub3JnPgoKSWYgdGhvc2UgYXJlIHRoZSBvbmx5IGNoYW5n ZXMgYXQgbWVkaWEgc2lkZSwgZmVlbCBmcmVlIHRvIHB1c2ggaXQKdmlhIERSTSB0cmVlLgoKPiAg IGRybTogd3JpdGViYWNrOiBDbGVhbnVwIGpvYiBvd25lcnNoaXAgaGFuZGxpbmcgd2hlbiBxdWV1 aW5nIGpvYgo+ICAgZHJtOiB3cml0ZWJhY2s6IEZpeCBsZWFrIG9mIHdyaXRlYmFjayBqb2IKPiAg IGRybTogd3JpdGViYWNrOiBBZGQgam9iIHByZXBhcmUgYW5kIGNsZWFudXAgb3BlcmF0aW9ucwo+ ICAgZHJtOiByY2FyLWR1OiBGaXggcmNhcl9kdV9jcnRjIHN0cnVjdHVyZSBkb2N1bWVudGF0aW9u Cj4gICBkcm06IHJjYXItZHU6IFN0b3JlIFY0TDIgZm91cmNjIGluIHJjYXJfZHVfZm9ybWF0X2lu Zm8gc3RydWN0dXJlCj4gICBkcm06IHJjYXItZHU6IHZzcDogRXh0cmFjdCBmcmFtZWJ1ZmZlciAo dW4pbWFwcGluZyB0byBzZXBhcmF0ZQo+ICAgICBmdW5jdGlvbnMKPiAgIGRybTogcmNhci1kdTog QWRkIHdyaXRlYmFjayBzdXBwb3J0IGZvciBSLUNhciBHZW4zCj4gCj4gIGRyaXZlcnMvZ3B1L2Ry bS9hcm0vbWFsaWRwX213LmMgICAgICAgICAgICAgfCAgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWNfaGVscGVyLmMgICAgICAgICB8ICAxMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX3N0YXRlX2hlbHBlci5jICAgfCAgIDQgKwo+ICBkcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY191YXBpLmMgICAgICAgICAgIHwgIDMxICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJt X3dyaXRlYmFjay5jICAgICAgICAgICAgIHwgIDczICsrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9LY29uZmlnICAgICAgICAgICAgIHwgICA0ICsKPiAgZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvTWFrZWZpbGUgICAgICAgICAgICB8ICAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X2NydGMuYyAgICAgIHwgICA3ICstCj4gIGRyaXZlcnMvZ3B1L2RybS9yY2Fy LWR1L3JjYXJfZHVfY3J0Yy5oICAgICAgfCAgIDkgKy0KPiAgZHJpdmVycy9ncHUvZHJtL3JjYXIt ZHUvcmNhcl9kdV9rbXMuYyAgICAgICB8ICAzNyArKysKPiAgZHJpdmVycy9ncHUvZHJtL3JjYXIt ZHUvcmNhcl9kdV9rbXMuaCAgICAgICB8ICAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfZHVfdnNwLmMgICAgICAgfCAxMjIgKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X3ZzcC5oICAgICAgIHwgIDE3ICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9y Y2FyLWR1L3JjYXJfZHVfd3JpdGViYWNrLmMgfCAyNDMgKysrKysrKysrKysrKysrKysrKysKPiAg ZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV93cml0ZWJhY2suaCB8ICAzOSArKysrCj4g IGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3R4cC5jICAgICAgICAgICAgICAgfCAgIDIgKy0KPiAg ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfYnJ4LmMgICAgICB8ICAgMSArCj4gIGRy aXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2NsdS5jICAgICAgfCAgIDEgKwo+ICBkcml2 ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9kbC5jICAgICAgIHwgIDg0ICsrKystLS0KPiAg ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfZGwuaCAgICAgICB8ICAgNiArLQo+ICBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9kcm0uYyAgICAgIHwgIDk0ICsrKysrLS0t Cj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2RybS5oICAgICAgfCAgIDIgKy0K PiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfZW50aXR5LmMgICB8ICAgMyArLQo+ ICBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9lbnRpdHkuaCAgIHwgICA3ICstCj4g IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2hnby5jICAgICAgfCAgIDEgKwo+ICBk cml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9oZ3QuYyAgICAgIHwgICAxICsKPiAgZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfaHNpdC5jICAgICB8ICAgMSArCj4gIGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vdnNwMS92c3AxX2xpZi5jICAgICAgfCAgIDEgKwo+ICBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9sdXQuYyAgICAgIHwgICAxICsKPiAgZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS92c3AxL3ZzcDFfcmVncy5oICAgICB8ICAgNiArLQo+ICBkcml2ZXJzL21l ZGlhL3BsYXRmb3JtL3ZzcDEvdnNwMV9ycGYuYyAgICAgIHwgICAxICsKPiAgZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS92c3AxL3ZzcDFfcndwZi5oICAgICB8ICAgMSArCj4gIGRyaXZlcnMvbWVkaWEv cGxhdGZvcm0vdnNwMS92c3AxX3NydS5jICAgICAgfCAgIDEgKwo+ICBkcml2ZXJzL21lZGlhL3Bs YXRmb3JtL3ZzcDEvdnNwMV91ZHMuYyAgICAgIHwgICAxICsKPiAgZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS92c3AxL3ZzcDFfdWlmLmMgICAgICB8ICAgMSArCj4gIGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vdnNwMS92c3AxX3ZpZGVvLmMgICAgfCAgMTYgKy0KPiAgZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS92c3AxL3ZzcDFfd3BmLmMgICAgICB8ICA4MyArKysrKy0tCj4gIGluY2x1ZGUvZHJtL2RybV9t b2Rlc2V0X2hlbHBlcl92dGFibGVzLmggICAgfCAgIDcgKwo+ICBpbmNsdWRlL2RybS9kcm1fd3Jp dGViYWNrLmggICAgICAgICAgICAgICAgIHwgIDMwICsrLQo+ICBpbmNsdWRlL21lZGlhL3ZzcDEu aCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE5ICstCj4gIDQwIGZpbGVzIGNoYW5nZWQsIDc3 NSBpbnNlcnRpb25zKCspLCAyMDAgZGVsZXRpb25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3dyaXRlYmFjay5jCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3dyaXRlYmFjay5oCj4gCgoK ClRoYW5rcywKTWF1cm8KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVs