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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E39B5FF8860 for ; Sat, 25 Apr 2026 15:24:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=R0+S2ocSlcmyb3wxOhoVMSFMHib9eObCiHOKomOeBLU=; b=xedJgf9kHzb9FZ UOCOq0nRdK1e5AKjv3aE3hDCHFv/uyCtIOJH/MojsbB1a2DdyD/NCUtLs1LMuXrp1X7cIIyagfSmr /VQpvGezPifx2sSNxjY6GPsy+TRqjCw8GyI4ZBeSqlQ14souMOt+Stc7tU11BPIiAZYU+kc97PGjA 6D/QBKw2Y2KoEDkPULjcc9UG5B42E4WB9WcNnlO+sTX5W5Z+Ko0sr+i7Byp5ohLIsldY1RclQoH1h DFcCvjzaL9UhMZH711HWfQZoJZ1rIEtkkU7PUhOJkTPqe1GVx1XA5RcXWcjxdQKu6gnJS5Cot7elS 1ZfTmajMcmL+9pxTAXYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1wGerQ-0000000EXpv-0kMR; Sat, 25 Apr 2026 15:24:00 +0000 Received: from smtp25.cstnet.cn ([159.226.251.25] helo=cstnet.cn) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1wGerK-0000000EXpJ-3qhF; Sat, 25 Apr 2026 15:23:56 +0000 Received: from edelgard.fodlan.icenowy.me (unknown [112.94.102.10]) by APP-05 (Coremail) with SMTP id zQCowAB3BQlQ3OxppTiPDg--.10769S2; Sat, 25 Apr 2026 23:22:59 +0800 (CST) Message-ID: Subject: Re: [PATCH v2 00/41] drm/display: bridge-connector: attach encoder to the connector From: Icenowy Zheng To: Luca Ceresoli , Dmitry Baryshkov , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sasha Finkelstein , Janne Grunau , Liu Ying , Douglas Anderson , Laurentiu Palcu , Lucas Stach , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Philipp Zabel , Paul Cercueil , Anitha Chrisanthus , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Tomi Valkeinen , Sandy Huang , Heiko =?ISO-8859-1?Q?St=FCbner?= , Andy Yan , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Jingoo Han , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Laurent Pinchart , Tomi Valkeinen , Kieran Bingham , Geert Uytterhoeven , Magnus Damm , Biju Das , Marek Vasut , Stefan Agner , Jyri Sarha , Michal Simek Cc: Hui Pu , Ian Ray , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, asahi@lists.linux.dev, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, linux-samsung-soc@vger.kernel.org, linux-renesas-soc@vger.kernel.org Date: Sat, 25 Apr 2026 23:22:56 +0800 In-Reply-To: <20260423-drm-bridge-connector-attach_encoder-v2-0-2ae6ca69b390@bootlin.com> References: <20260423-drm-bridge-connector-attach_encoder-v2-0-2ae6ca69b390@bootlin.com> User-Agent: Evolution 3.58.3 MIME-Version: 1.0 X-CM-TRANSID: zQCowAB3BQlQ3OxppTiPDg--.10769S2 X-Coremail-Antispam: 1UD129KBjvAXoW3ZF1xAF4DWw43AF4DWr1kGrg_yoW8Cr1ruo W8Gw1jy3WrG34UGF18KF17Jr13ZFyDtrnrZr1kJ3ZxWFs5tFWUK345Aryftay3tFn3Wr17 Jw10qry8JFW7XFn7n29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjp_UUUY67k0a2IF6F4UM7kC6x804xWl14x267AKxVWrJVCq3wAFc2x0 x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj4 1l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0 I7IYx2IY6xkF7I0E14v26r4UJVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4 vEx4A2jsIEc7CjxVAFwI0_GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xv F2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_JrI_JrylYx0Ex4A2jsIE14v26r1j6r 4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvEwIxGrwACI402YVCY1x02628vn2kIc2xK xwCY1x0262kKe7AKxVW3AVW8Zr1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr 0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY 17CE14v26rWY6r4UJwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0x vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI 42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvf C2KfnxnUUI43ZEXa7IU8LID7UUUUU== X-Originating-IP: [112.94.102.10] X-CM-SenderInfo: x2kh0wp0lqwv3d6l2u1dvotugofq/ X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260425_082355_359351_242C9731 X-CRM114-Status: GOOD ( 36.50 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org 5ZyoIDIwMjYtMDQtMjPlm5vnmoQgMTE6MTYgKzAyMDDvvIxMdWNhIENlcmVzb2xp5YaZ6YGT77ya Cj4gVGhpcyBzZXJpZXMgc2ltcGxpZmllcyB1c2luZyB0aGUgYnJpZGdlLWNvbm5lY3RvciBieSBy ZW1vdmluZyB0aGUKPiBuZWVkIHRvCj4gYXR0YWNoIHRoZSBuZXdseSBjcmVhdGVkIGNvbm5lY3Rv ciB0byB0aGUgZW5jb2Rlci4KPiAKPiA9PSBTZXJpZXMgZGVzY3JpcHRpb24KPiAKPiBDdXJyZW50 bHkgYWxsIHVzZXJzIG9mIHRoZSBicmlkZ2UtY29ubmVjdG9yIG11c3QgY2FsbAo+IGRybV9jb25u ZWN0b3JfYXR0YWNoX2VuY29kZXIoKSBpbW1lZGlhdGVseSBhZnRlciBhIHN1Y2Nlc3NmdWwKPiBk cm1fYnJpZGdlX2Nvbm5lY3Rvcl9pbml0KCkuCj4gCj4gVGhpcyBpcyBhbiB1bm5lY2Vzc2FyeSBi dXJkZW4gZm9yIHVzZXJzLiBNb3ZlIHRoZSBjYWxsIHRvIHRoZSBlbmQgb2YKPiBkcm1fYnJpZGdl X2Nvbm5lY3Rvcl9pbml0KCkgc28gYWxsIGNhbGxlcnMgY2FuIGJlIHNpbXBsaWZpZWQuCj4gCj4g wqAqIFBhdGNoIDEgYWRkcyBhIGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoKSBjYWxsIGF0 IHRoZSBlbmQgb2YKPiDCoMKgIGRybV9icmlkZ2VfY29ubmVjdG9yX2luaXQoKQo+IMKgKiBUaGUg b3RoZXIgcGF0Y2hlcyByZW1vdmUgZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpIGFmdGVy IGFsbAo+IMKgwqAgZHJtX2JyaWRnZV9jb25uZWN0b3JfaW5pdCgpIGNhbGxzLCBvcmRlcmVkIGZy b20gdGhlIHNpbXBsZXN0IG9uZXMKPiDCoMKgIChvbmx5IHRoZSBsYXN0IG9uZSBpcyBzb21ld2hh dCBub24tb2J2aW91cykKPiAKPiBUaGUgQ2MgbGlzdCBpcyBodWdlIGR1ZSB0byB0aGUgbWFueSBk cml2ZXJzIHRvdWNoZWQuIEkgc2VudCB2MSB0byBhCj4gcmVkdWNlZAo+IENjIGxpc3QgdG8gZW5z dXJlIHRoZXJlIGlzIGFuIGFncmVlbWVudCBhYm91dCB0aGUgb3ZlcmFsbCBpZGVhLiBUaGF0Cj4g c2VlbXMKPiB0byBiZSB0aGUgY2FzZSwgc28gbm93IGl0J3MgdGltZSB0byBjb3B5IGFsbCBkcml2 ZXJzIG1haW50YWluZXJzLgo+IAo+IEl0IHdvdWxkIGJlIG5pY2UgdG8gYXBwbHkgYWxsIG9mIHRo aXMgc2VyaWVzIGF0IG9uY2UgdG8gYXZvaWQKPiBkdXBsaWNhdGVkCj4gY2FsbHMgdG8gZHJtX2Nv bm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpIGluIHRoZSBpbnRlcmltLiBUaGF0IHdvdWxkIGJlCj4g aGFybWxlc3MgYmVhY3VzZSBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkgaXMgaWRlbXBv dGVudCwgYnV0Cj4gdW5wbGVhc2FudC4KPiAKPiA9PSBBZGRpdGlvbmFsIHJhdGlvbmFsZSAoZm9y IHRoZSBjdXJpb3VzKQo+IAo+IEJlc2lkZXMgbWFraW5nIHRoZSB1c2FnZSBvZiB0aGUgYnJpZGdl LWNvbm5lY3RvciBhIGJpdCBzaW1wbGVyLCB0aGlzCj4gc2VyaWVzCj4gaXMgaW4gcHJlcGFyYXRp b24gZm9yIERSTSBicmlkZ2UgaG90cGx1Zy4gSGVyZSdzIHdoeSwgZmVlbCBmcmVlIHRvCj4gc2tp cCBpZgo+IHlvdSBkb24ndCBjYXJlLgo+IAo+IFRoZSBvbGQgYnJpZGdlIGhvdHBsdWcgcHJvcG9z YWxzIEkgaGF2ZSBzZW50IGluIHRoZSBwYXN0IFsxXSB3ZXJlCj4gYmFzZWQgb24KPiBhIGhvdHBs dWctYnJpZGdlIGRyaXZlciB0byBzaXQgYmV0d2VlbiB0aGUgbGFzdCBmaXhlZCBicmlkZ2UgYW5k IHRoZQo+IGZpcnN0Cj4gaG90cGx1Z2dlZCBicmlkZ2UuIERpc2N1c3Npb24gd2l0aCB0aGUgY29t bXVuaXR5IGxlZCB0byB0aGUgbmVlZCBvZgo+IHJlbW92aW5nIHRoZSBob3RwbHVnLWJyaWRnZSBh bmQgbGV0IGNvbW1vbiBEUk0gY29kZSBoYW5kbGUgaG90cGx1Zy4KPiBUaGUKPiBjb21tb24gcGxh Y2Ugb2YgY29kZSB0aGF0IGFwcGVhcnMgdGhlIG1vc3Qgc3VpdGFibGUgZm9yIGhvdHBsdWcKPiBo YW5kbGluZyBpcwo+IHRoZSBicmlkZ2UtY29ubmVjdG9yLCB3aGljaCBpcyBieSBub3cgdGhlIHJl Y29tbWVuZGVkIHdheSB0byBoYW5kbGUKPiBjb25uZWN0b3IgaW5zdGFudGlhdGlvbiBhZnRlciBh IGJyaWRnZSBjaGFpbi4KPiAKPiBTbyBJJ20gaW4gdGhlIHByb2Nlc3Mgb2YgZXh0ZW5kaW5nIHRo ZSBicmlkZ2UtY29ubmVjdG9yIHRvIGJlIHRoZQo+IGNlbnRyYWwKPiBwb2ludCB0byBoYW5kbGUg YnJpZGdlIGhvdHBsdWcuIFR1cm5zIG91dCB0aGUgbmVlZCB0byBjYWxsCj4gZHJtX2Nvbm5lY3Rv cl9hdHRhY2hfZW5jb2RlcigpIGFmdGVyIGRybV9icmlkZ2VfY29ubmVjdG9yX2luaXQoKSBoYXMK PiByZXR1cm5lZCBpcyBhZGRpbmcgYmlnIGhlYWRhY2hlcyB0byBzdWNoIHdvcmsuIFNvIEknbSBz ZW5kIHRoaXMgbG9uZwo+IGJ1dAo+IHNpbXBsZSBzZXJpZXMgdG8gYm90aCBzaW1wbGlmeSBicmlk Z2UtY29ubmVjdG9yIHVzYWdlIGFuZCByZW1vdmUgb25lCj4gb2JzdGFjbGUgZnJvbSB0aGUgYnJp ZGdlIGhvdHBsdWcgd29yay4gVGhpcyBzZXJpZXMgaXMgcmVsZXZhbnQgYnkKPiBpdHNlbGYKPiBh bnl3YXkuCj4gCj4gWzFdCj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDI1MDIwNi1o b3RwbHVnLWRybS1icmlkZ2UtdjYtMjYtOWQ2ZjJjOWMzMDU4QGJvb3RsaW4uY29tLwo+IAo+ID09 IEdyYW5kIHBsYW4KPiAKPiBUaGlzIGlzIHBhcnQgb2YgdGhlIHdvcmsgdG8gc3VwcG9ydCBob3Rw bHVnIG9mIERSTSBicmlkZ2VzLiBUaGUgZ3JhbmQKPiBwbGFuCj4gd2FzIGRpc2N1c3NlZCBpbiBb MF0uCgpKdXN0IHNlZSB0aGUgYnJpZGdlIGhvdHBsdWdnaW5nIHRoaW5nLCBpcyBpdCBwb3NzaWJs ZSBmb3IgRFJNIGRyaXZlcnMKdG8gZGVjbGFyZSBicmlkZ2VzIGF0dGFjaGVkIHRvIHRoZW1zZWx2 ZXMgYWZ0ZXIgdGhpcz8KCkxvb25nc29uIDdBMTAwMCBQQ0ggY2FuIG9ubHkgb3V0cHV0IERQSSBz aWduYWxzLCBzbyBuZWFybHkgYWxsIHByb2R1Y3RzCndpdGggaXQgYXJlIHNoaXBwaW5nIHdpdGgg c29tZSBraW5kIG9mIGV4dGVybmFsIGJyaWRnZXMsIGJ1dCBjdXJyZW50bHkKZHJtL2xvb25nc29u IGRvZXMgbm90IHN1cHBvcnQgdGhlbSAoYWxsIGRpc3BsYXkgY29ubmVjdG9ycyBhcmUgbm93IHNl ZW4KYXMgRFBJIG9uZXMsIGFuZCBjb25uZWN0b3JzIGJlaGluZCBub24tdHJhbnNwYXJlbnQgYnJp ZGdlcyB3b24ndCB3b3JrKS4KClRoZSBicmlkZ2VzIGFyZSBnb2luZyB0byBiZSBhY2Nlc3NlZCBi eSB0aGUgRERDIEkyQyBidXNzZXMgb2YgN0ExMDAwLAphbmQgYXJlIG5vdCBkZWNsYXJlZCB3aXRo IGRldmljZSB0cmVlIChzeXN0ZW1zIHdpdGggN0ExMDAwIG5ldmVyIHNoaXAKd2l0aCBkZXZpY2Ug dHJlZXMsIGFuZCBMaW51eCBjdXJyZW50bHkgbWF0Y2hlcyBhIGJ1aWx0LWluIGRldmljZSB0cmVl KS4KKEJyaWRnZXMgYmVpbmcgb24gdGhlIEREQyBJMkMgYWxzbyBpbnRyb2R1Y2VzIHNvbWUgZGVw ZW5kZW5jeSBmb3IgdGhlbQp0byBkZXBlbmQgb24gdGhlIGRybS9sb29uZ3NvbiBkcml2ZXIuKQoK TG9vbmdzb24gaGF2ZSBkZWZpbmVkIHNvbWUga2luZCBvZiBWQklPUyBkZWNsYXJpbmcgd2hhdCBi cmlkZ2UgaXMKYmVoaW5kLCBhbmQgdGhlaXIgbm9uLW1haW5saW5lIGRyaXZlciBqdXN0IGNvbnRh aW5zIGRyaXZlciBjb2RlcyBmb3IKYWxsIHBvc3NpYmxlIGJyaWRnZXMuIChTdWkgSmluZ2Zlbmcg cHJldmlvdXNseSB0cmllZCB0byBtYWlubGluZSBzdWNoCnByYWN0aWNlLCBhbmQgb2YgY291cnNl IGl0J3MgcmVqZWN0ZWQgYmVjYXVzZSBvZiBjb2RlIGR1cGxpY2l0eS4pCgpUaGFua3MsCkljZW5v d3kKCj4gCj4gSGVyZSdzIHRoZSB3b3JrIGJyZWFrZG93biAo4p6cIG1hcmtzIHRoZSBjdXJyZW50 IHNlcmllcyk6Cj4gCj4gwqAxLiDigKYgYWRkIHJlZmNvdW50aW5nIHRvIERSTSBicmlkZ2VzIHN0 cnVjdCBkcm1fYnJpZGdlLAo+IMKgwqDCoMKgwqAgYmFzZWQgb24gZGV2bV9kcm1fYnJpZGdlX2Fs bG9jKCkKPiDCoMKgwqAgQS4g4pyUIGFkZCBuZXcgYWxsb2MgQVBJIGFuZCByZWZjb3VudGluZyAo djYuMTYpCj4gwqDCoMKgIEIuIOKclCBjb252ZXJ0IGFsbCBicmlkZ2UgZHJpdmVycyB0byBuZXcg QVBJICh2Ni4xNykKPiDCoMKgwqAgQy4g4pyUIGt1bml0IHRlc3RzICh2Ni4xNykKPiDCoMKgwqAg RC4g4pyUIGFkZCBnZXQvcHV0IHRvIGRybV9icmlkZ2VfYWRkL3JlbW92ZSgpICsgYXR0YWNoL2Rl dGFjaCgpCj4gwqDCoMKgwqDCoMKgwqDCoCBhbmQgd2FybiBvbiBvbGQgYWxsb2NhdGlvbiBwYXR0 ZXJuICh2Ni4xNykKPiDCoMKgwqAgRS4g4oCmIGFkZCBnZXQvcHV0IG9uIGRybV9icmlkZ2UgYWNj ZXNzb3JzCj4gwqDCoMKgwqDCoMKgIDEuIOKclCBkcm1fYnJpZGdlX2NoYWluX2dldF9maXJzdF9i cmlkZ2UoKSwgYWRkIGNsZWFudXAgYWN0aW9uCj4gKHY2LjE4KQo+IMKgwqDCoMKgwqDCoCAyLiDi nJQgZHJtX2JyaWRnZV9nZXRfcHJldl9icmlkZ2UoKSAodjYuMTgpCj4gwqDCoMKgwqDCoMKgIDMu IOKclCBkcm1fYnJpZGdlX2dldF9uZXh0X2JyaWRnZSgpICh2Ni4xOSkKPiDCoMKgwqDCoMKgwqAg NC4g4pyUIGRybV9mb3JfZWFjaF9icmlkZ2VfaW5fY2hhaW4oKSAodjYuMTkpCj4gwqDCoMKgwqDC oMKgIDUuIOKclCBkcm1fYnJpZGdlX2Nvbm5lY3Rvcl9pbml0ICh2Ni4xOSkKPiDCoMKgwqDCoMKg wqAgNi4g4pyUIHByb3RlY3QgZW5jb2RlciBicmlkZ2UgY2hhaW4gd2l0aCBhIG11dGV4ICh2Ny4y KQo+IMKgwqDCoMKgwqDCoCA3LiDigKYgb2ZfZHJtX2ZpbmRfYnJpZGdlCj4gwqDCoMKgwqDCoMKg wqDCoMKgIGEuIOKclCBhZGQgb2ZfZHJtX2dldF9icmlkZ2UoKSAodjcuMCksCj4gCcKgwqDCoMKg wqDCoCBjb252ZXJ0IGJhc2ljIGRpcmVjdCB1c2VycyAodjcuMC12Ny4xKQo+IAnCoCBiLiDinJQg Y29udmVydCBkaXJlY3Qgb2ZfZHJtX2dldF9icmlkZ2UoKSB1c2VycywgcGFydCAyCj4gKHY3LjAp Cj4gCcKgIGMuIOKclCBjb252ZXJ0IGRpcmVjdCBvZl9kcm1fZ2V0X2JyaWRnZSgpIHVzZXJzLCBw YXJ0IDMKPiAodjcuMCkKPiAJwqAgZC4g4pyUIGNvbnZlcnQgZGlyZWN0IG9mX2RybV9nZXRfYnJp ZGdlKCkgdXNlcnMsIHBhcnQgNAo+ICh2Ny4xLXY3LjIpCj4gCcKgIGUuIOKApiBjb252ZXJ0IGJy aWRnZS1vbmx5IGRybV9vZl9maW5kX3BhbmVsX29yX2JyaWRnZSgpCj4gdXNlcnMKPiDCoMKgwqDC oMKgwqAgOC4gZHJtX29mX2ZpbmRfcGFuZWxfb3JfYnJpZGdlLCAqX29mX2dldF9icmlkZ2UKPiDC oMKgwqDCoMKgwqAgOS4g4pyUIGVuZm9yY2UgZHJtX2JyaWRnZV9hZGQgYmVmb3JlIGRybV9icmlk Z2VfYXR0YWNoICh2Ni4xOSkKPiDCoMKgwqAgRi4g4pyUIGRlYnVnZnMgaW1wcm92ZW1lbnRzCj4g wqDCoMKgwqDCoMKgIDEuIOKclCBhZGQgdG9wLWxldmVsICdicmlkZ2VzJyBmaWxlICh2Ni4xNikK PiDCoMKgwqDCoMKgwqAgMi4g4pyUIHNob3cgcmVmY291bnQgYW5kIGxpc3QgbGluZ2VyaW5nIGJy aWRnZXMgKHY2LjE5KQo+IMKgMi4g4oCmIGhhbmRsZSBncmFjZWZ1bGx5IGF0b21pYyB1cGRhdGVz IGR1cmluZyBicmlkZ2UgcmVtb3ZhbAo+IMKgwqDCoCBBLiDinJQgQWRkIGRybV9icmlkZ2VfZW50 ZXIvZXhpdCgpIHRvIHByb3RlY3QgZGV2aWNlIHJlc291cmNlcwo+ICh2Ny4wKQo+IMKgwqDCoCBC LiDigKYgcHJvdGVjdCBwcml2YXRlX29iaiByZW1vdmFsIGZyb20gbGlzdAo+IMKgwqDCoCBDLiDi nJQgQWRkIGRybV9icmlkZ2VfY2xlYXJfYW5kX3B1dCgpICh2Ny4xKQo+IMKgMy4g4oCmIERTSSBo b3N0LWRldmljZSBkcml2ZXIgaW50ZXJhY3Rpb24KPiDCoDQuIOKclCByZW1vdmluZyB0aGUgbmVl ZCBmb3IgdGhlICJhbHdheXMtZGlzY29ubmVjdGVkIiBjb25uZWN0b3IKPiDCoDUuIOKclCBNaWdy YXRlIGkuTVggTENESUYgZHJpdmVyIHRvIGJyaWRnZS1jb25uZWN0b3IgKHY3LjIpCj4gwqA2LiDi npwgRFJNIGJyaWRnZSBob3RwbHVnCj4gwqDCoMKgIEEuIOKenCBCcmlkZ2UgaG90cGx1ZyBtYW5h Z2VtZW50IGluIHRoZSBEUk0gY29yZQo+IMKgwqDCoMKgwqDCoCAxLiDinpwgYnJpZGdlLWNvbm5l Y3RvcjogYXR0YWNoIGVuY29kZXIgdG8gdGhlIGNvbm5lY3Rvcgo+IMKgwqDCoCBCLsKgwqAgRGV2 aWNlIHRyZWUgZGVzY3JpcHRpb24KPiAKPiBbMF0KPiBodHRwczovL2xvcmUua2VybmVsLm9yZy9s a21sLzIwMjUwMjA2LWhvdHBsdWctZHJtLWJyaWRnZS12Ni0wLTlkNmYyYzljMzA1OEBib290bGlu LmNvbS8jdAo+IAo+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgQ2VyZXNvbGkgPGx1Y2EuY2VyZXNvbGlA Ym9vdGxpbi5jb20+Cj4gLS0tCj4gQ2hhbmdlcyBpbiB2MjoKPiAtIHBhdGNoIDE6IHVwZGF0ZSBr ZG9jCj4gLSBwYXRjaCA0MTogZml4IGJ5IHJld3JpdGluZyBpdCBmdWxseQo+IC0gdXBkYXRlIGNv dmVyIGxldHRlcgo+IC0gTGluayB0byB2MToKPiBodHRwczovL3BhdGNoLm1zZ2lkLmxpbmsvMjAy NjA0MTctZHJtLWJyaWRnZS1jb25uZWN0b3ItYXR0YWNoX2VuY29kZXItdjEtMC02N2I4YjhmYjg3 MmFAYm9vdGxpbi5jb20KPiAKPiBUbzogQW5kcnplaiBIYWpkYSA8YW5kcnplai5oYWpkYUBpbnRl bC5jb20+Cj4gVG86IE5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPgo+ IFRvOiBSb2JlcnQgRm9zcyA8cmZvc3NAa2VybmVsLm9yZz4KPiBUbzogTGF1cmVudCBQaW5jaGFy dCA8TGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IFRvOiBKb25hcyBLYXJsbWFu IDxqb25hc0Brd2lib28uc2U+Cj4gVG86IEplcm5laiBTa3JhYmVjIDxqZXJuZWouc2tyYWJlY0Bn bWFpbC5jb20+Cj4gVG86IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+Cj4gVG86IE1heGltZSBSaXBhcmQgPG1yaXBhcmRAa2VybmVsLm9yZz4KPiBU bzogVGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2UuZGU+Cj4gVG86IERhdmlkIEFp cmxpZSA8YWlybGllZEBnbWFpbC5jb20+Cj4gVG86IFNpbW9uYSBWZXR0ZXIgPHNpbW9uYUBmZnds bC5jaD4KPiBUbzogU2FzaGEgRmlua2Vsc3RlaW4gPGZua2wua2VybmVsQGdtYWlsLmNvbT4KPiBU bzogSmFubmUgR3J1bmF1IDxqQGphbm5hdS5uZXQ+Cj4gVG86IExpdSBZaW5nIDx2aWN0b3IubGl1 QG54cC5jb20+Cj4gVG86IERvdWdsYXMgQW5kZXJzb24gPGRpYW5kZXJzQGNocm9taXVtLm9yZz4K PiBUbzogTGF1cmVudGl1IFBhbGN1IDxsYXVyZW50aXUucGFsY3VAb3NzLm54cC5jb20+Cj4gVG86 IEx1Y2FzIFN0YWNoIDxsLnN0YWNoQHBlbmd1dHJvbml4LmRlPgo+IFRvOiBGcmFuayBMaSA8RnJh bmsuTGlAbnhwLmNvbT4KPiBUbzogU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRl Pgo+IFRvOiBQZW5ndXRyb25peCBLZXJuZWwgVGVhbSA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgo+ IFRvOiBGYWJpbyBFc3RldmFtIDxmZXN0ZXZhbUBnbWFpbC5jb20+Cj4gVG86IFBoaWxpcHAgWmFi ZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gVG86IFBhdWwgQ2VyY3VlaWwgPHBhdWxAY3Jh cG91aWxsb3UubmV0Pgo+IFRvOiBBbml0aGEgQ2hyaXNhbnRodXMgPGFuaXRoYS5jaHJpc2FudGh1 c0BpbnRlbC5jb20+Cj4gVG86IENodW4tS3VhbmcgSHUgPGNodW5rdWFuZy5odUBrZXJuZWwub3Jn Pgo+IFRvOiBNYXR0aGlhcyBCcnVnZ2VyIDxtYXR0aGlhcy5iZ2dAZ21haWwuY29tPgo+IFRvOiBB bmdlbG9HaW9hY2NoaW5vIERlbCBSZWdubwo+IDxhbmdlbG9naW9hY2NoaW5vLmRlbHJlZ25vQGNv bGxhYm9yYS5jb20+Cj4gVG86IEtldmluIEhpbG1hbiA8a2hpbG1hbkBiYXlsaWJyZS5jb20+Cj4g VG86IEplcm9tZSBCcnVuZXQgPGpicnVuZXRAYmF5bGlicmUuY29tPgo+IFRvOiBNYXJ0aW4gQmx1 bWVuc3RpbmdsIDxtYXJ0aW4uYmx1bWVuc3RpbmdsQGdvb2dsZW1haWwuY29tPgo+IFRvOiBSb2Ig Q2xhcmsgPHJvYmluLmNsYXJrQG9zcy5xdWFsY29tbS5jb20+Cj4gVG86IERtaXRyeSBCYXJ5c2hr b3YgPGx1bWFnQGtlcm5lbC5vcmc+Cj4gVG86IEFiaGluYXYgS3VtYXIgPGFiaGluYXYua3VtYXJA bGludXguZGV2Pgo+IFRvOiBKZXNzaWNhIFpoYW5nIDxqZXNzemhhbjAwMjRAZ21haWwuY29tPgo+ IFRvOiBTZWFuIFBhdWwgPHNlYW5AcG9vcmx5LnJ1bj4KPiBUbzogTWFyaWpuIFN1aWp0ZW4gPG1h cmlqbi5zdWlqdGVuQHNvbWFpbmxpbmUub3JnPgo+IFRvOiBUb21pIFZhbGtlaW5lbiA8dG9taS52 YWxrZWluZW5AaWRlYXNvbmJvYXJkLmNvbT4KPiBUbzogU2FuZHkgSHVhbmcgPGhqY0Byb2NrLWNo aXBzLmNvbT4KPiBUbzogSGVpa28gU3TDvGJuZXIgPGhlaWtvQHNudGVjaC5kZT4KPiBUbzogQW5k eSBZYW4gPGFuZHkueWFuQHJvY2stY2hpcHMuY29tPgo+IFRvOiBUaGllcnJ5IFJlZGluZyA8dGhp ZXJyeS5yZWRpbmdAZ21haWwuY29tPgo+IFRvOiBNaWtrbyBQZXJ0dHVuZW4gPG1wZXJ0dHVuZW5A bnZpZGlhLmNvbT4KPiBUbzogSm9uYXRoYW4gSHVudGVyIDxqb25hdGhhbmhAbnZpZGlhLmNvbT4K PiBUbzogSWNlbm93eSBaaGVuZyA8emhlbmd4aW5nZGFAaXNjYXMuYWMuY24+Cj4gVG86IEppbmdv byBIYW4gPGppbmdvb2hhbjFAZ21haWwuY29tPgo+IFRvOiBJbmtpIERhZSA8aW5raS5kYWVAc2Ft c3VuZy5jb20+Cj4gVG86IFNldW5nLVdvbyBLaW0gPHN3MDMxMi5raW1Ac2Ftc3VuZy5jb20+Cj4g VG86IEt5dW5nbWluIFBhcmsgPGt5dW5nbWluLnBhcmtAc2Ftc3VuZy5jb20+Cj4gVG86IEtyenlz enRvZiBLb3psb3dza2kgPGtyemtAa2VybmVsLm9yZz4KPiBUbzogQWxpbSBBa2h0YXIgPGFsaW0u YWtodGFyQHNhbXN1bmcuY29tPgo+IFRvOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNo YXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPiBUbzogVG9taSBWYWxrZWluZW4gPHRvbWku dmFsa2VpbmVuK3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPiBUbzogS2llcmFuIEJpbmdoYW0g PGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KPiBUbzogR2VlcnQgVXl0 dGVyaG9ldmVuIDxnZWVydCtyZW5lc2FzQGdsaWRlci5iZT4KPiBUbzogTWFnbnVzIERhbW0gPG1h Z251cy5kYW1tQGdtYWlsLmNvbT4KPiBUbzogQmlqdSBEYXMgPGJpanUuZGFzLmp6QGJwLnJlbmVz YXMuY29tPgo+IFRvOiBNYXJlayBWYXN1dCA8bWFyZXhAZGVueC5kZT4KPiBUbzogU3RlZmFuIEFn bmVyIDxzdGVmYW5AYWduZXIuY2g+Cj4gVG86IEp5cmkgU2FyaGEgPGp5cmkuc2FyaGFAaWtpLmZp Pgo+IFRvOiBNaWNoYWwgU2ltZWsgPG1pY2hhbC5zaW1la0BhbWQuY29tPgo+IENjOiBIdWkgUHUg PEh1aS5QdUBnZWhlYWx0aGNhcmUuY29tPgo+IENjOiBJYW4gUmF5IDxpYW4ucmF5QGdlaGVhbHRo Y2FyZS5jb20+Cj4gQ2M6IFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAYm9vdGxp bi5jb20+Cj4gQ2M6IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBDYzogbGludXgt a2VybmVsQHZnZXIua2VybmVsLm9yZwo+IENjOiBhc2FoaUBsaXN0cy5saW51eC5kZXYKPiBDYzog aW14QGxpc3RzLmxpbnV4LmRldgo+IENjOiBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKPiBDYzogbGludXgtbWlwc0B2Z2VyLmtlcm5lbC5vcmcKPiBDYzogbGludXgtbWVkaWF0 ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IENjOiBsaW51eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVh ZC5vcmcKPiBDYzogbGludXgtYXJtLW1zbUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogZnJlZWRyZW5v QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBsaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRl YWQub3JnCj4gQ2M6IGxpbnV4LXRlZ3JhQHZnZXIua2VybmVsLm9yZwo+IENjOiBsaW51eC1zYW1z dW5nLXNvY0B2Z2VyLmtlcm5lbC5vcmcKPiBDYzogbGludXgtcmVuZXNhcy1zb2NAdmdlci5rZXJu ZWwub3JnCj4gCj4gLS0tCj4gTHVjYSBDZXJlc29saSAoNDEpOgo+IMKgwqDCoMKgwqAgZHJtL2Rp c3BsYXk6IGJyaWRnZS1jb25uZWN0b3I6IGF0dGFjaCB0aGUgZW5jb2RlciB0byB0aGUKPiBjcmVh dGVkIGNvbm5lY3Rvcgo+IMKgwqDCoMKgwqAgZHJtOiBhZHA6IHJlbW92ZSBub3ctcmVkdW5kYW50 IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRy bS9icmlkZ2U6IGFkdjc1MTE6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29u bmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9icmlkZ2U6IGl0ZS1pdDYy NjM6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9l bmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9icmlkZ2U6IHRpLXNuNjVkc2k4NjogcmVtb3ZlIG5v dy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+IMKg wqDCoMKgwqAgZHJtL2lteC9kY3NzOiByZW1vdmUgbm93LXJlZHVuZGFudCBjYWxsIHRvCj4gZHJt X2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBkcm0vaW14OiBsZGI6IHJl bW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVy KCkKPiDCoMKgwqDCoMKgIGRybS9pbXg6IHBhcmFsbGVsLWRpc3BsYXk6IHJlbW92ZSBub3ctcmVk dW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDC oMKgIGRybS9pbXgvbGNkYzogcmVtb3ZlIG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25u ZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+IMKgwqDCoMKgwqAgZHJtL2luZ2VuaWM6IHJlbW92ZSBu b3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDC oMKgwqDCoMKgIGRybS9rbWIvZHNpOiByZW1vdmUgbm93LXJlZHVuZGFudCBjYWxsIHRvCj4gZHJt X2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBkcm0vbWVkaWF0ZWs6IG10 a19kcGk6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFj aF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9tZWRpYXRlazogbXRrX2RzaTogcmVtb3ZlIG5v dy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+IMKg wqDCoMKgwqAgZHJtL21lc29uOiBlbmNvZGVyX2N2YnM6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNh bGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9t ZXNvbjogZW5jb2Rlcl9oZG1pOiByZW1vdmUgbm93LXJlZHVuZGFudCBjYWxsIHRvCj4gZHJtX2Nv bm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBkcm0vbXNtL2RwOiByZW1vdmUg bm93LXJlZHVuZGFudCBjYWxsIHRvCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4g wqDCoMKgwqDCoCBkcm0vbXNtL2hkbWk6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBk cm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9vbWFwZHJtOiBy ZW1vdmUgbm93LXJlZHVuZGFudCBjYWxsIHRvCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2Rl cigpCj4gwqDCoMKgwqDCoCBybS9yb2NrY2hpcDogY2RuLWRwOiByZW1vdmUgbm93LXJlZHVuZGFu dCBjYWxsIHRvCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBk cm0vcm9ja2NoaXA6IHJrMzA2Nl9oZG1pOiByZW1vdmUgbm93LXJlZHVuZGFudCBjYWxsIHRvCj4g ZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBkcm0vdGVncmE6IGhk bWk6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9l bmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS90ZWdyYTogcmdiOiByZW1vdmUgbm93LXJlZHVuZGFu dCBjYWxsIHRvCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBk cm0vdGVzdHM6IGJyaWRnZTogcmVtb3ZlIG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25u ZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+IMKgwqDCoMKgwqAgZHJtOiB2ZXJpc2lsaWNvbjogcmVt b3ZlIG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIo KQo+IMKgwqDCoMKgwqAgZHJtL2V4eW5vczogZXh5bm9zX2RwOiByZW1vdmUgbm93LXJlZHVuZGFu dCBjYWxsIHRvCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKgwqDCoCBk cm06IHJjYXItZHU6IGVuY29kZXI6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1f Y29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybTogcmVuZXNhczogcnot ZHU6IHJ6ZzJsX2R1X2VuY29kZXI6IHJlbW92ZSBub3ctcmVkdW5kYW50Cj4gY2FsbCB0byBkcm1f Y29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9yb2NrY2hpcDogYW5h bG9naXhfZHA6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0 dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9yb2NrY2hpcDogZHdfZHA6IHJlbW92ZSBu b3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDC oMKgwqDCoMKgIGRybS9yb2NrY2hpcDogZHdfaGRtaV9xcDogcmVtb3ZlIG5vdy1yZWR1bmRhbnQg Y2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+IMKgwqDCoMKgwqAgZHJt L3JvY2tjaGlwOiBpbm5vLWhkbWk6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1f Y29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9tc20vbWRwNDogcmVt b3ZlIG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIo KQo+IMKgwqDCoMKgwqAgZHJtL21zbS9kc2k6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8K PiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS9teHNmYi9s Y2RpZjogcmVtb3ZlIG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNo X2VuY29kZXIoKQo+IMKgwqDCoMKgwqAgZHJtL3JvY2tjaGlwOiBsdmRzOiByZW1vdmUgbm93LXJl ZHVuZGFudCBjYWxsIHRvCj4gZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2RlcigpCj4gwqDCoMKg wqDCoCBkcm0vdGlkc3M6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVj dG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybS90aWxjZGM6IHJlbW92ZSBub3ct cmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKg wqDCoMKgIGRybTogenlucW1wX2ttczogcmVtb3ZlIG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRy bV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+IMKgwqDCoMKgwqAgZHJtL2lteDogcmVtb3Zl IG5vdy1yZWR1bmRhbnQgY2FsbCB0bwo+IGRybV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoKQo+ IMKgwqDCoMKgwqAgZHJtL3JvY2tjaGlwOiByZ2I6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwg dG8KPiBkcm1fY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKCkKPiDCoMKgwqDCoMKgIGRybTogcmVu ZXNhczogc2htb2JpbGU6IHJlbW92ZSBub3ctcmVkdW5kYW50IGNhbGwgdG8KPiBkcm1fY29ubmVj dG9yX2F0dGFjaF9lbmNvZGVyKCkKPiAKPiDCoGRyaXZlcnMvZ3B1L2RybS9hZHAvYWRwX2Rydi5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiAtLQo+IMKgZHJp dmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmPCoMKgwqDCoMKgIHzCoCAy IC0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2l0ZS1pdDYyNjMuY8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgfMKgIDIgLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGktc242 NWRzaTg2LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgLS0KPiDCoGRyaXZlcnMvZ3B1 L2RybS9kaXNwbGF5L2RybV9icmlkZ2VfY29ubmVjdG9yLmPCoMKgwqAgfCAxMSArKysrKysrKyst LQo+IMKgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHAuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8wqAgMiArLQo+IMKgZHJpdmVycy9ncHUvZHJtL2lteC9kYy9kYy1rbXMu Y8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgOCArLS0tLS0tLQo+IMKg ZHJpdmVycy9ncHUvZHJtL2lteC9kY3NzL2Rjc3Mta21zLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHzCoCAyIC0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzL2lteC1sZGIuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9p bXgvaXB1djMvcGFyYWxsZWwtZGlzcGxheS5jwqDCoMKgwqDCoCB8wqAgMiAtLQo+IMKgZHJpdmVy cy9ncHUvZHJtL2lteC9sY2RjL2lteC1sY2RjLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHzCoCAyIC0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaW5nZW5pYy9pbmdlbmljLWRybS1kcnYuY8Kg wqDCoMKgwqDCoMKgwqAgfMKgIDIgLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9rbWIva21iX2RzaS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiArLQo+IMKgZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB8wqAgMSAtCj4gwqBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAxIC0KPiDCoGRyaXZlcnMvZ3B1L2RybS9tZXNv bi9tZXNvbl9lbmNvZGVyX2N2YnMuY8KgwqDCoMKgwqDCoMKgIHzCoCAyIC0tCj4gwqBkcml2ZXJz L2dwdS9kcm0vbWVzb24vbWVzb25fZW5jb2Rlcl9oZG1pLmPCoMKgwqDCoMKgwqDCoCB8wqAgMiAt LQo+IMKgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDQvbWRwNF9rbXMuY8KgwqDCoMKgwqDC oMKgwqDCoCB8wqAgNyAtLS0tLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vbXNtL2RwL2RwX2RybS5j wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyIC0tCj4gwqBkcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC oCA0IC0tLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIgLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS9teHNm Yi9sY2RpZl9kcnYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA2IC0tLS0t LQo+IMKgZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB8wqAgMiAtLQo+IMKgZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMvcmNhci1k dS9yY2FyX2R1X2VuY29kZXIuYyB8wqAgMiArLQo+IMKgZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMv cnotZHUvcnpnMmxfZHVfZW5jb2Rlci5jwqAgfMKgIDIgKy0KPiDCoGRyaXZlcnMvZ3B1L2RybS9y ZW5lc2FzL3NobW9iaWxlL3NobW9iX2RybV9jcnRjLmMgfCAxNiArKysrKysrLS0tLS0tCj4gLS0t Cj4gwqBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvYW5hbG9naXhfZHAtcm9ja2NoaXAuY8KgwqAg fMKgIDIgKy0KPiDCoGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9jZG4tZHAtY29yZS5jwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgMiAtLQo+IMKgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3 X2RwLXJvY2tjaGlwLmPCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICstCj4gwqBkcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvZHdfaGRtaV9xcC1yb2NrY2hpcC5jwqDCoMKgIHzCoCAyICstCj4gwqBkcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLXJvY2tjaGlwLmPCoMKgwqDCoCB8wqAgMiAr LQo+IMKgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JrMzA2Nl9oZG1pLmPCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHzCoCAyIC0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBf bHZkcy5jwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA2IC0tLS0tLQo+IMKgZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX3JnYi5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDkgLS0tLS0t LS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyIC0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vdGVncmEv cmdiLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiAt LQo+IMKgZHJpdmVycy9ncHUvZHJtL3Rlc3RzL2RybV9icmlkZ2VfdGVzdC5jwqDCoMKgwqDCoMKg wqDCoMKgwqAgfMKgIDIgLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS90aWRzcy90aWRzc19lbmNvZGVy LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDYgLS0tLS0tCj4gwqBkcml2ZXJzL2dwdS9k cm0vdGlsY2RjL3RpbGNkY19lbmNvZGVyLmPCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNiAtLS0t LS0KPiDCoGRyaXZlcnMvZ3B1L2RybS92ZXJpc2lsaWNvbi92c19icmlkZ2UuY8KgwqDCoMKgwqDC oMKgwqDCoMKgIHzCoCAxIC0KPiDCoGRyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9rbXMuY8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA2IC0tLS0tLQo+IMKgNDEgZmlsZXMg Y2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQo+IC0tLQo+IGJhc2Ut Y29tbWl0OiA3N2ZlYzM3Yzg5NWZjYmRlZmJjZWM5N2NlZmQ2ZDFmNWNmZGYxZTNhCj4gY2hhbmdl LWlkOiAyMDI2MDQxNi1kcm0tYnJpZGdlLWNvbm5lY3Rvci1hdHRhY2hfZW5jb2Rlci1jNjUxYWMw NTcwNWYKPiAKPiBCZXN0IHJlZ2FyZHMsCj4gLS3CoCAKPiBMdWNhIENlcmVzb2xpIDxsdWNhLmNl cmVzb2xpQGJvb3RsaW4uY29tPgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmxpbnV4LWFtbG9naWMgbWFpbGluZyBsaXN0CmxpbnV4LWFtbG9naWNAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFtbG9naWMK