Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp132041pxb; Thu, 21 Jan 2021 03:18:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJxds1BwoY6eSrqm+yUcglzBd8MbejbW7xxybUYAdIokjNcESFYiFesi2dPVLVsIu9EcARzd X-Received: by 2002:a17:906:4f0d:: with SMTP id t13mr9287734eju.10.1611227901735; Thu, 21 Jan 2021 03:18:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611227901; cv=none; d=google.com; s=arc-20160816; b=hW1Mm/fkwDHXeORlDvTxWDZHAxK7PCseCDVavOIOWdTSO1uqjUlsBn4huYGZx/sbJJ SikSMetkS94O7A0kuEvmQ664ITtbzhbnpK+gE2eb+FZePK+SLSDqWeiBBBw7lKfQIl5a FwdpGLQh/Qljx4uCjUDgXiwGJ/Wu5b8IHnVqssWDXxGvSzbuFKvyJEtmS26Yo2x81f9c oMmuaDYcIw7tIfvWJ/aqVDoZxX29C3iXgaQnVe2CADuFKqdOGvV+L8ixGKm0kWvpyK3v MD8U5urQMUzVc6VVKd2Kotyjmh78pm0Fryp7HdNRsq4NQob+/bpUjLOpHZuMPzYFJZwi XUqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:in-reply-to :date:cc:to:from:subject:message-id:dkim-signature; bh=hP3hA+HKJgjZgariZKFR8vHY2uRP6sSkasXcYQfBY38=; b=jr/PRrAY37eUdIoC3ucz40594/kklF6TgSF+XdrBt9RL8j9126FkgBoZfahfiZs58H BfpaxDm3n/mlnfLF1956PtwXXLAvhmIngh6FbpqSYnQp+bN4LFO9Q5Mr7x7qs3CvVN+g NJvttktTqS3Z//jZGNLZeQi7PB3CTFNnVWaWaZg19H9/QsX8ZOcNcmKgG5D57MJQQVZQ 0IOgJi+QmKSaW15+azAR6j7yNd3G4ZnghQji4ghsJXN0H9dA5dBGvSVjt2V1fFxKFhb7 DoT9dF8cwKk/LKB78CqOGQoL0oI2up2d27vJDMWwB9ZNID6vN0bZKidhXL2wsjTXCvB6 5Mgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=QNhrPoBl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u19si2030173edo.465.2021.01.21.03.17.57; Thu, 21 Jan 2021 03:18:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=QNhrPoBl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727251AbhAULQw (ORCPT + 99 others); Thu, 21 Jan 2021 06:16:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730478AbhAULOF (ORCPT ); Thu, 21 Jan 2021 06:14:05 -0500 Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7FFB2C061757 for ; Thu, 21 Jan 2021 03:13:20 -0800 (PST) Received: by mail-lf1-x133.google.com with SMTP id b26so1953292lff.9 for ; Thu, 21 Jan 2021 03:13:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version; bh=hP3hA+HKJgjZgariZKFR8vHY2uRP6sSkasXcYQfBY38=; b=QNhrPoBlnVen0WQxww4lveIdmu10/d4IKhnKp9OxbLPZ4jeXEYl4oH6fMqaSr5kkv7 ZZR5CrB8ooHdEdh7Nkmfn9/6cBBEv9gkniTTopB6k6YnL4KurWbE0pzfzc7QedIzpr4L H/0ZhlXV2T8ccP2Fi8axvrvrKU0L7JAL9i4GgTdHdka5sNifC484MQHzT0nr3JybSfjH PsEpEJMYdjCWERoOJWkdSVv+RjkFoRdgcW2ls9GgCfRygOczX7ztDc6szO4DF2i0A0zq OmUzm16Rqd4EVrrDGKjjOzph/c3GUmh+VcOkD0D4S75SISoQ4g/5kEnfCbt71n+p2TzA WEig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version; bh=hP3hA+HKJgjZgariZKFR8vHY2uRP6sSkasXcYQfBY38=; b=KY+5mqOep3id92cndPeaGp+aFHG24eFbKJxGh4qcvfgLgvu/vUqRcbMxAQPnYpNJeX EFzmz42P+LkB7T8Xvt1J9fSckFJnMaaOv2dqUIUJvCHo0fvopZiomm/wNwvuF8Kse72J 3SY7eGUUK7H0poMhmq8ENPBzNgSj0oxgxa7sF09iilXHpzHcK2P/+n9VxPd/u+/x3yIs Rmhqjd9tg5S6i7COmDhWQfVJGauLiCA3JymDJq6/vRAFf6cxCYslg6iD4DNGD9z0nng9 t7jx4NOjkJgoDX0uDO/3rGeO59bcxywj6nAb3FBPtKFHhfKGorgJ2OpeG7wqOkeCghlu v7gA== X-Gm-Message-State: AOAM532Z0+wZmJV+qgZMATrU6YtyVfayGzqgEhtxdOwklPGm0MHcYiR6 I7Qi8ta0Cupy5JeTcgGQpEg= X-Received: by 2002:ac2:484b:: with SMTP id 11mr4678006lfy.605.1611227598948; Thu, 21 Jan 2021 03:13:18 -0800 (PST) Received: from localhost.localdomain (unnum-78-27-181-19.domashka.kiev.ua. [78.27.181.19]) by smtp.gmail.com with ESMTPSA id c14sm494900lfd.186.2021.01.21.03.13.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Jan 2021 03:13:18 -0800 (PST) Message-ID: <9aedfb528600ecf871885f7293ca4207c84d16c1.camel@gmail.com> Subject: Re: [RESEND PATCH] drm/rockchip: dsi: move all lane config except LCDC mux to bind() From: aleksandr.o.makarov@gmail.com To: Thomas Hebb , linux-kernel@vger.kernel.org, Nickey Yang , Heiko Stuebner , Andrzej Hajda Cc: Archit Taneja , David Airlie , Brian Norris , Sandy Huang , dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Sean Paul , Daniel Vetter , linux-arm-kernel@lists.infradead.org Date: Thu, 21 Jan 2021 13:13:17 +0200 In-Reply-To: References: Content-Type: multipart/mixed; boundary="=-XMUVsVyMGq5lyknRa+e9" User-Agent: Evolution 3.38.2 (3.38.2-1.module_f33+10736+4f8d5006) MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-XMUVsVyMGq5lyknRa+e9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit В Вс, 13/12/2020 в 12:58 -0800, Thomas Hebb пишет: > When we first enable the DSI encoder, we currently program some per-chip > configuration that we look up in rk3399_chip_data based on the device > tree compatible we match. This data configures various parameters of the > MIPI lanes, including on RK3399 whether DSI1 is slaved to DSI0 in a > dual-mode configuration. It also selects which LCDC (i.e. VOP) to scan > out from. > > This causes a problem in RK3399 dual-mode configurations, though: panel > prepare() callbacks run before the encoder gets enabled and expect to be > able to write commands to the DSI bus, but the bus isn't fully > functional until the lane and master/slave configuration have been > programmed. As a result, dual-mode panels (and possibly others too) fail > to turn on when the rockchipdrm driver is initially loaded. > > Because the LCDC mux is the only thing we don't know until enable time > (and is the only thing that can ever change), we can actually move most > of the initialization to bind() and get it out of the way early. That's > what this change does. (Rockchip's 4.4 BSP kernel does it in mode_set(), > which also avoids the issue, but bind() seems like the more correct > place to me.) > > Tested on a Google Scarlet board (Acer Chromebook Tab 10), which has a > Kingdisplay KD097D04 dual-mode panel. Prior to this change, the panel's > backlight would turn on but no image would appear when initially loading > rockchipdrm. If I kept rockchipdrm loaded and reloaded the panel driver, > it would come on. With this change, the panel successfully turns on > during initial rockchipdrm load as expected. > > Fixes: 2d4f7bdafd70 ("drm/rockchip: dsi: migrate to use dw-mipi-dsi bridge driver") > Signed-off-by: Thomas Hebb > --- > Resending since I wasn't subscribed to dri-devel > >  .../gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 36 ++++++++++++++----- >  1 file changed, 28 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c b/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c > index ce044db8c97e..d0c9610ad220 100644 > --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c > +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c > @@ -691,13 +691,8 @@ static const struct dw_mipi_dsi_phy_ops dw_mipi_dsi_rockchip_phy_ops = { >   .get_timing = dw_mipi_dsi_phy_get_timing, >  }; >   > > -static void dw_mipi_dsi_rockchip_config(struct dw_mipi_dsi_rockchip *dsi, > - int mux) > +static void dw_mipi_dsi_rockchip_config(struct dw_mipi_dsi_rockchip *dsi) >  { > - if (dsi->cdata->lcdsel_grf_reg) > - regmap_write(dsi->grf_regmap, dsi->cdata->lcdsel_grf_reg, > - mux ? dsi->cdata->lcdsel_lit : dsi->cdata->lcdsel_big); > - >   if (dsi->cdata->lanecfg1_grf_reg) >   regmap_write(dsi->grf_regmap, dsi->cdata->lanecfg1_grf_reg, >   dsi->cdata->lanecfg1); > @@ -711,6 +706,13 @@ static void dw_mipi_dsi_rockchip_config(struct dw_mipi_dsi_rockchip *dsi, >   dsi->cdata->enable); >  } >   > > +static void dw_mipi_dsi_rockchip_set_lcdsel(struct dw_mipi_dsi_rockchip *dsi, > + int mux) > +{ > + regmap_write(dsi->grf_regmap, dsi->cdata->lcdsel_grf_reg, > + mux ? dsi->cdata->lcdsel_lit : dsi->cdata->lcdsel_big); > +} > + >  static int >  dw_mipi_dsi_encoder_atomic_check(struct drm_encoder *encoder, >   struct drm_crtc_state *crtc_state, > @@ -766,9 +768,9 @@ static void dw_mipi_dsi_encoder_enable(struct drm_encoder *encoder) >   return; >   } >   > > - dw_mipi_dsi_rockchip_config(dsi, mux); > + dw_mipi_dsi_rockchip_set_lcdsel(dsi, mux); >   if (dsi->slave) > - dw_mipi_dsi_rockchip_config(dsi->slave, mux); > + dw_mipi_dsi_rockchip_set_lcdsel(dsi->slave, mux); >   > >   clk_disable_unprepare(dsi->grf_clk); >  } > @@ -922,6 +924,24 @@ static int dw_mipi_dsi_rockchip_bind(struct device *dev, >   return ret; >   } >   > > + /* > + * With the GRF clock running, write lane and dual-mode configurations > + * that won't change immediately. If we waited until enable() to do > + * this, things like panel preparation would not be able to send > + * commands over DSI. > + */ > + ret = clk_prepare_enable(dsi->grf_clk); > + if (ret) { > + DRM_DEV_ERROR(dsi->dev, "Failed to enable grf_clk: %d\n", ret); > + return ret; > + } > + > + dw_mipi_dsi_rockchip_config(dsi); > + if (dsi->slave) > + dw_mipi_dsi_rockchip_config(dsi->slave); > + > + clk_disable_unprepare(dsi->grf_clk); > + >   ret = rockchip_dsi_drm_create_encoder(dsi, drm_dev); >   if (ret) { >   DRM_DEV_ERROR(dev, "Failed to create drm encoder\n"); Have tested this patch on a Pine64 RockPro64 v2.1 with Linux v5.4.44 All works good when DRM_PANEL_KINGDISPLAY_KD097D04=m Something bad happens when DRM_PANEL_KINGDISPLAY_KD097D04=y - the panel driver starts again to fail to write prepare() commands to DSI: [ 28.709049] 005: dw-mipi-dsi-rockchip ff960000.mipi: failed to write command FIFO [ 28.709056] 005: panel-kingdisplay-kd097d04 ff960000.mipi.0: [drm:kingdisplay_panel_prepare] *ERROR* failed write init cmds: -110 --=-XMUVsVyMGq5lyknRa+e9 Content-Disposition: attachment; filename="dmesg-21-01-2021-13:02" Content-Type: text/plain; name="dmesg-21-01-2021-13:02"; charset="UTF-8" Content-Transfer-Encoding: base64 WyAgICAwLjAwMDAwMF0gMDAwOiBCb290aW5nIExpbnV4IG9uIHBoeXNpY2FsIENQVSAweDAwMDAw MDAwMDAgWzB4NDEwZmQwMzRdClsgICAgMC4wMDAwMDBdIDAwMDogTGludXggdmVyc2lvbiA1LjQu NDQtcnQyNiAoYWxla3NhbmRyQGFzc2EpIChnY2MgdmVyc2lvbiA3LjUuMCAoR0NDKSkgIzIgU01Q IFBSRUVNUFQgV2VkIEphbiAyMCAxMDozNToyMCBNU1QgMjAyMQpbICAgIDAuMDAwMDAwXSAwMDA6 IE1hY2hpbmUgbW9kZWw6IFJvY2tjaGlwIFJLMzM5OSBCb2FyZCBCb3ggKERTMTAwKQpbICAgIDAu MDAwMDAwXSAwMDA6IGVhcmx5Y29uOiB1YXJ0ODI1MCBhdCBNTUlPMzIgMHgwMDAwMDAwMGZmMWEw MDAwIChvcHRpb25zICcnKQpbICAgIDAuMDAwMDAwXSAwMDA6IHByaW50azogYm9vdGNvbnNvbGUg W3VhcnQ4MjUwXSBlbmFibGVkClsgICAgMC4wMDAwMDBdIDAwMDogZWZpOiBHZXR0aW5nIEVGSSBw YXJhbWV0ZXJzIGZyb20gRkRUOgpbICAgIDAuMDAwMDAwXSAwMDA6IGVmaTogVUVGSSBub3QgZm91 bmQuClsgICAgMC4wMDAwMDBdIDAwMDogY21hOiBSZXNlcnZlZCAzMiBNaUIgYXQgMHgwMDAwMDAw MDdlMDAwMDAwClsgICAgMC4wMDAwMDBdIDAwMDogTlVNQTogTm8gTlVNQSBjb25maWd1cmF0aW9u IGZvdW5kClsgICAgMC4wMDAwMDBdIDAwMDogTlVNQTogRmFraW5nIGEgbm9kZSBhdCBbbWVtIDB4 MDAwMDAwMDAwMDIwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmZdClsgICAgMC4wMDAwMDBdIDAwMDog TlVNQTogTk9ERV9EQVRBIFttZW0gMHg3ZGJhMzgwMC0weDdkYmE0ZmZmXQpbICAgIDAuMDAwMDAw XSAwMDA6IFpvbmUgcmFuZ2VzOgpbICAgIDAuMDAwMDAwXSAwMDA6ICAgRE1BMzIgICAgW21lbSAw eDAwMDAwMDAwMDAyMDAwMDAtMHgwMDAwMDAwMDdmZmZmZmZmXQpbICAgIDAuMDAwMDAwXSAwMDA6 ICAgTm9ybWFsICAgZW1wdHkKWyAgICAwLjAwMDAwMF0gMDAwOiBNb3ZhYmxlIHpvbmUgc3RhcnQg Zm9yIGVhY2ggbm9kZQpbICAgIDAuMDAwMDAwXSAwMDA6IEVhcmx5IG1lbW9yeSBub2RlIHJhbmdl cwpbICAgIDAuMDAwMDAwXSAwMDA6ICAgbm9kZSAgIDA6IFttZW0gMHgwMDAwMDAwMDAwMjAwMDAw LTB4MDAwMDAwMDA3ZmZmZmZmZl0KWyAgICAwLjAwMDAwMF0gMDAwOiBJbml0bWVtIHNldHVwIG5v ZGUgMCBbbWVtIDB4MDAwMDAwMDAwMDIwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmZdClsgICAgMC4w MDAwMDBdIDAwMDogT24gbm9kZSAwIHRvdGFscGFnZXM6IDUyMzc3NgpbICAgIDAuMDAwMDAwXSAw MDA6ICAgRE1BMzIgem9uZTogODE4NCBwYWdlcyB1c2VkIGZvciBtZW1tYXAKWyAgICAwLjAwMDAw MF0gMDAwOiAgIERNQTMyIHpvbmU6IDAgcGFnZXMgcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gMDAw OiAgIERNQTMyIHpvbmU6IDUyMzc3NiBwYWdlcywgTElGTyBiYXRjaDo2MwpbICAgIDAuMDAwMDAw XSAwMDA6IHBzY2k6IHByb2JpbmcgZm9yIGNvbmR1aXQgbWV0aG9kIGZyb20gRFQuClsgICAgMC4w MDAwMDBdIDAwMDogcHNjaTogUFNDSXYxLjAgZGV0ZWN0ZWQgaW4gZmlybXdhcmUuClsgICAgMC4w MDAwMDBdIDAwMDogcHNjaTogVXNpbmcgc3RhbmRhcmQgUFNDSSB2MC4yIGZ1bmN0aW9uIElEcwpb ICAgIDAuMDAwMDAwXSAwMDA6IHBzY2k6IFRydXN0ZWQgT1MgbWlncmF0aW9uIG5vdCByZXF1aXJl ZApbICAgIDAuMDAwMDAwXSAwMDA6IHBzY2k6IFNNQyBDYWxsaW5nIENvbnZlbnRpb24gdjEuMApb ICAgIDAuMDAwMDAwXSAwMDA6IHBlcmNwdTogRW1iZWRkZWQgMTggcGFnZXMvY3B1IHMzMzQzMiBy ODE5MiBkMzIxMDQgdTczNzI4ClsgICAgMC4wMDAwMDBdIDAwMDogcGNwdS1hbGxvYzogczMzNDMy IHI4MTkyIGQzMjEwNCB1NzM3MjggYWxsb2M9MTgqNDA5NgpbICAgIDAuMDAwMDAwXSAwMDA6IHBj cHUtYWxsb2M6IFswXSAwIFswXSAxIFswXSAyIFswXSAzIFswXSA0IFswXSA1IApbICAgIDAuMDAw MDAwXSAwMDA6IERldGVjdGVkIFZJUFQgSS1jYWNoZSBvbiBDUFUwClsgICAgMC4wMDAwMDBdIDAw MDogQ1BVIGZlYXR1cmVzOiBkZXRlY3RlZDogQVJNIGVycmF0dW0gODQ1NzE5ClsgICAgMC4wMDAw MDBdIDAwMDogQ1BVIGZlYXR1cmVzOiBkZXRlY3RlZDogR0lDIHN5c3RlbSByZWdpc3RlciBDUFUg aW50ZXJmYWNlClsgICAgMC4wMDAwMDBdIDAwMDogQnVpbHQgMSB6b25lbGlzdHMsIG1vYmlsaXR5 IGdyb3VwaW5nIG9uLiAgVG90YWwgcGFnZXM6IDUxNTU5MgpbICAgIDAuMDAwMDAwXSAwMDA6IFBv bGljeSB6b25lOiBETUEzMgpbICAgIDAuMDAwMDAwXSAwMDA6IEtlcm5lbCBjb21tYW5kIGxpbmU6 IGVhcmx5Y29uPXVhcnQ4MjUwLG1taW8zMiwweGZmMWEwMDAwIGNvbnNvbGU9dHR5UzIsMTE1MjAw bjgKWyAgICAwLjAwMDAwMF0gMDAwOiBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAy NjIxNDQgKG9yZGVyOiA5LCAyMDk3MTUyIGJ5dGVzLCBsaW5lYXIpClsgICAgMC4wMDAwMDBdIDAw MDogSW5vZGUtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAxMzEwNzIgKG9yZGVyOiA4LCAxMDQ4 NTc2IGJ5dGVzLCBsaW5lYXIpClsgICAgMC4wMDAwMDBdIDAwMDogbWVtIGF1dG8taW5pdDogc3Rh Y2s6b2ZmLCBoZWFwIGFsbG9jOm9mZiwgaGVhcCBmcmVlOm9mZgpbICAgIDAuMDAwMDAwXSAwMDA6 IE1lbW9yeTogMjAwMTc3MksvMjA5NTEwNEsgYXZhaWxhYmxlICgxMDgxMksga2VybmVsIGNvZGUs IDg2MksgcndkYXRhLCA0NDg0SyByb2RhdGEsIDMxMzZLIGluaXQsIDQzOUsgYnNzLCA2MDU2NEsg cmVzZXJ2ZWQsIDMyNzY4SyBjbWEtcmVzZXJ2ZWQpClsgICAgMC4wMDAwMDBdIDAwMDogU0xVQjog SFdhbGlnbj02NCwgT3JkZXI9MC0zLCBNaW5PYmplY3RzPTAsIENQVXM9NiwgTm9kZXM9MQpbICAg IDAuMDAwMDAwXSAwMDA6IHJjdTogUHJlZW1wdGlibGUgaGllcmFyY2hpY2FsIFJDVSBpbXBsZW1l bnRhdGlvbi4KWyAgICAwLjAwMDAwMF0gMDAwOiByY3U6IAlSQ1UgcmVzdHJpY3RpbmcgQ1BVcyBm cm9tIE5SX0NQVVM9MjU2IHRvIG5yX2NwdV9pZHM9Ni4KWyAgICAwLjAwMDAwMF0gMDAwOiAJVGFz a3MgUkNVIGVuYWJsZWQuClsgICAgMC4wMDAwMDBdIDAwMDogcmN1OiBSQ1UgY2FsY3VsYXRlZCB2 YWx1ZSBvZiBzY2hlZHVsZXItZW5saXN0bWVudCBkZWxheSBpcyAyNSBqaWZmaWVzLgpbICAgIDAu MDAwMDAwXSAwMDA6IHJjdTogQWRqdXN0aW5nIGdlb21ldHJ5IGZvciByY3VfZmFub3V0X2xlYWY9 MTYsIG5yX2NwdV9pZHM9NgpbICAgIDAuMDAwMDAwXSAwMDA6IE5SX0lSUVM6IDY0LCBucl9pcnFz OiA2NCwgcHJlYWxsb2NhdGVkIGlycXM6IDAKWyAgICAwLjAwMDAwMF0gMDAwOiBHSUN2MzogR0lD OiBVc2luZyBzcGxpdCBFT0kvRGVhY3RpdmF0ZSBtb2RlClsgICAgMC4wMDAwMDBdIDAwMDogR0lD djM6IDI1NiBTUElzIGltcGxlbWVudGVkClsgICAgMC4wMDAwMDBdIDAwMDogR0lDdjM6IDAgRXh0 ZW5kZWQgU1BJcyBpbXBsZW1lbnRlZApbICAgIDAuMDAwMDAwXSAwMDA6IEdJQ3YzOiBEaXN0cmli dXRvciBoYXMgbm8gUmFuZ2UgU2VsZWN0b3Igc3VwcG9ydApbICAgIDAuMDAwMDAwXSAwMDA6IEdJ Q3YzOiAxNiBQUElzIGltcGxlbWVudGVkClsgICAgMC4wMDAwMDBdIDAwMDogR0lDdjM6IG5vIFZM UEkgc3VwcG9ydCwgbm8gZGlyZWN0IExQSSBzdXBwb3J0ClsgICAgMC4wMDAwMDBdIDAwMDogR0lD djM6IENQVTA6IGZvdW5kIHJlZGlzdHJpYnV0b3IgMCByZWdpb24gMDoweDAwMDAwMDAwZmVmMDAw MDAKWyAgICAwLjAwMDAwMF0gMDAwOiBJVFMgW21lbSAweGZlZTIwMDAwLTB4ZmVlM2ZmZmZdClsg ICAgMC4wMDAwMDBdIDAwMDogSVRTQDB4MDAwMDAwMDBmZWUyMDAwMDogYWxsb2NhdGVkIDY1NTM2 IERldmljZXMgQDdiMDgwMDAwIChmbGF0LCBlc3ogOCwgcHN6IDY0Sywgc2hyIDApClsgICAgMC4w MDAwMDBdIDAwMDogSVRTOiB1c2luZyBjYWNoZSBmbHVzaGluZyBmb3IgY21kIHF1ZXVlClsgICAg MC4wMDAwMDBdIDAwMDogR0lDdjM6IHVzaW5nIExQSSBwcm9wZXJ0eSB0YWJsZSBAMHgwMDAwMDAw MDdiMDQwMDAwClsgICAgMC4wMDAwMDBdIDAwMDogR0lDOiB1c2luZyBjYWNoZSBmbHVzaGluZyBm b3IgTFBJIHByb3BlcnR5IHRhYmxlClsgICAgMC4wMDAwMDBdIDAwMDogR0lDdjM6IENQVTA6IHVz aW5nIGFsbG9jYXRlZCBMUEkgcGVuZGluZyB0YWJsZSBAMHgwMDAwMDAwMDdiMDUwMDAwClsgICAg MC4wMDAwMDBdIDAwMDogR0lDdjM6IEdJQzogUFBJIHBhcnRpdGlvbiBpbnRlcnJ1cHQtcGFydGl0 aW9uLTBbMF0geyAvY3B1cy9jcHVAMFswXSAvY3B1cy9jcHVAMVsxXSAvY3B1cy9jcHVAMlsyXSAv Y3B1cy9jcHVAM1szXSB9ClsgICAgMC4wMDAwMDBdIDAwMDogR0lDdjM6IEdJQzogUFBJIHBhcnRp dGlvbiBpbnRlcnJ1cHQtcGFydGl0aW9uLTFbMV0geyAvY3B1cy9jcHVAMTAwWzRdIC9jcHVzL2Nw dUAxMDFbNV0gfQpbICAgIDAuMDAwMDAwXSAwMDA6IHJhbmRvbTogZ2V0X3JhbmRvbV9ieXRlcyBj YWxsZWQgZnJvbSBzdGFydF9rZXJuZWwrMHgyYjgvMHg0NTggd2l0aCBjcm5nX2luaXQ9MApbICAg IDAuMDAwMDAwXSAwMDA6IGFyY2hfdGltZXI6IGNwMTUgdGltZXIocykgcnVubmluZyBhdCAyNC4w ME1IeiAocGh5cykuClsgICAgMC4wMDAwMDBdIDAwMDogY2xvY2tzb3VyY2U6IGFyY2hfc3lzX2Nv dW50ZXI6IG1hc2s6IDB4ZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xlczogMHg1ODhmZTlkYzAsIG1h eF9pZGxlX25zOiA0NDA3OTUyMDI1OTIgbnMKWyAgICAwLjAwMDAwMV0gMDAwOiBzY2hlZF9jbG9j azogNTYgYml0cyBhdCAyNE1IeiwgcmVzb2x1dGlvbiA0MW5zLCB3cmFwcyBldmVyeSA0Mzk4MDQ2 NTExMDk3bnMKWyAgICAwLjAxMTEzNl0gMDAwOiBDb25zb2xlOiBjb2xvdXIgZHVtbXkgZGV2aWNl IDgweDI1ClsgICAgMC4wMjU5NDddIDAwMDogQ2FsaWJyYXRpbmcgZGVsYXkgbG9vcCAoc2tpcHBl ZCksIHZhbHVlIGNhbGN1bGF0ZWQgdXNpbmcgdGltZXIgZnJlcXVlbmN5Li4gNDguMDAgQm9nb01J UFMgKGxwaj05NjAwMCkKWyAgICAwLjAzMDU4Ml0gMDAwOiBwaWRfbWF4OiBkZWZhdWx0OiAzMjc2 OCBtaW5pbXVtOiAzMDEKWyAgICAwLjAzNjMzNl0gMDAwOiBMU006IFNlY3VyaXR5IEZyYW1ld29y ayBpbml0aWFsaXppbmcKWyAgICAwLjA0MjAyOF0gMDAwOiBNb3VudC1jYWNoZSBoYXNoIHRhYmxl IGVudHJpZXM6IDQwOTYgKG9yZGVyOiAzLCAzMjc2OCBieXRlcywgbGluZWFyKQpbICAgIDAuMDUw Njc5XSAwMDA6IE1vdW50cG9pbnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA0MDk2IChvcmRl cjogMywgMzI3NjggYnl0ZXMsIGxpbmVhcikKWyAgICAwLjA4Mzk3Nl0gMDAwOiBBU0lEIGFsbG9j YXRvciBpbml0aWFsaXNlZCB3aXRoIDMyNzY4IGVudHJpZXMKWyAgICAwLjA5ODQ3NV0gMDAwOiBy Y3U6IEhpZXJhcmNoaWNhbCBTUkNVIGltcGxlbWVudGF0aW9uLgpbICAgIDAuMTEyNDQ5XSAwMDA6 IFBsYXRmb3JtIE1TSTogaW50ZXJydXB0LWNvbnRyb2xsZXJAZmVlMjAwMDAgZG9tYWluIGNyZWF0 ZWQKWyAgICAwLjEyMDY0Ml0gMDAwOiBQQ0kvTVNJOiAvaW50ZXJydXB0LWNvbnRyb2xsZXJAZmVl MDAwMDAvaW50ZXJydXB0LWNvbnRyb2xsZXJAZmVlMjAwMDAgZG9tYWluIGNyZWF0ZWQKWyAgICAw LjEzMzI5Nl0gMDAwOiBFRkkgc2VydmljZXMgd2lsbCBub3QgYmUgYXZhaWxhYmxlLgpbICAgIDAu MTQ2ODM3XSAwMDA6IHNtcDogQnJpbmdpbmcgdXAgc2Vjb25kYXJ5IENQVXMgLi4uClsgICAgMC4x ODQ3NTNdIDAwMTogRGV0ZWN0ZWQgVklQVCBJLWNhY2hlIG9uIENQVTEKWyAgICAwLjE4OTcwMl0g MDAxOiBHSUN2MzogQ1BVMTogZm91bmQgcmVkaXN0cmlidXRvciAxIHJlZ2lvbiAwOjB4MDAwMDAw MDBmZWYyMDAwMApbICAgIDAuMTk3NzUzXSAwMDE6IEdJQ3YzOiBDUFUxOiB1c2luZyBhbGxvY2F0 ZWQgTFBJIHBlbmRpbmcgdGFibGUgQDB4MDAwMDAwMDA3YjA2MDAwMApbICAgIDAuMjA2MjI4XSAw MDE6IENQVTE6IEJvb3RlZCBzZWNvbmRhcnkgcHJvY2Vzc29yIDB4MDAwMDAwMDAwMSBbMHg0MTBm ZDAzNF0KWyAgICAwLjI0NDk4NV0gMDAyOiBEZXRlY3RlZCBWSVBUIEktY2FjaGUgb24gQ1BVMgpb ICAgIDAuMjQ5OTMzXSAwMDI6IEdJQ3YzOiBDUFUyOiBmb3VuZCByZWRpc3RyaWJ1dG9yIDIgcmVn aW9uIDA6MHgwMDAwMDAwMGZlZjQwMDAwClsgICAgMC4yNTc5ODZdIDAwMjogR0lDdjM6IENQVTI6 IHVzaW5nIGFsbG9jYXRlZCBMUEkgcGVuZGluZyB0YWJsZSBAMHgwMDAwMDAwMDdiMDcwMDAwClsg ICAgMC4yNjY0NjBdIDAwMjogQ1BVMjogQm9vdGVkIHNlY29uZGFyeSBwcm9jZXNzb3IgMHgwMDAw MDAwMDAyIFsweDQxMGZkMDM0XQpbICAgIDAuMzA1MjI4XSAwMDM6IERldGVjdGVkIFZJUFQgSS1j YWNoZSBvbiBDUFUzClsgICAgMC4zMTAxNzZdIDAwMzogR0lDdjM6IENQVTM6IGZvdW5kIHJlZGlz dHJpYnV0b3IgMyByZWdpb24gMDoweDAwMDAwMDAwZmVmNjAwMDAKWyAgICAwLjMxODIyOV0gMDAz OiBHSUN2MzogQ1BVMzogdXNpbmcgYWxsb2NhdGVkIExQSSBwZW5kaW5nIHRhYmxlIEAweDAwMDAw MDAwN2IxMDAwMDAKWyAgICAwLjMyNjY5NV0gMDAzOiBDUFUzOiBCb290ZWQgc2Vjb25kYXJ5IHBy b2Nlc3NvciAweDAwMDAwMDAwMDMgWzB4NDEwZmQwMzRdClsgICAgMC4zNzQzOTJdIDAwNDogQ1BV IGZlYXR1cmVzOiBkZXRlY3RlZDogRUwyIHZlY3RvciBoYXJkZW5pbmcKWyAgICAwLjM4MjQwMV0g MDA0OiBBUk1fU01DQ0NfQVJDSF9XT1JLQVJPVU5EXzEgbWlzc2luZyBmcm9tIGZpcm13YXJlClsg ICAgMC4zOTA1OTFdIDAwNDogRGV0ZWN0ZWQgUElQVCBJLWNhY2hlIG9uIENQVTQKWyAgICAwLjM5 NzM3MF0gMDA0OiBHSUN2MzogQ1BVNDogZm91bmQgcmVkaXN0cmlidXRvciAxMDAgcmVnaW9uIDA6 MHgwMDAwMDAwMGZlZjgwMDAwClsgICAgMC40MDczOTddIDAwNDogR0lDdjM6IENQVTQ6IHVzaW5n IGFsbG9jYXRlZCBMUEkgcGVuZGluZyB0YWJsZSBAMHgwMDAwMDAwMDdiMTEwMDAwClsgICAgMC40 MTgyOTZdIDAwNDogQ1BVNDogQm9vdGVkIHNlY29uZGFyeSBwcm9jZXNzb3IgMHgwMDAwMDAwMTAw IFsweDQxMGZkMDgyXQpbICAgIDAuNDcyNTU4XSAwMDU6IERldGVjdGVkIFBJUFQgSS1jYWNoZSBv biBDUFU1ClsgICAgMC40Nzk2ODZdIDAwNTogR0lDdjM6IENQVTU6IGZvdW5kIHJlZGlzdHJpYnV0 b3IgMTAxIHJlZ2lvbiAwOjB4MDAwMDAwMDBmZWZhMDAwMApbICAgIDAuNDg5NzU1XSAwMDU6IEdJ Q3YzOiBDUFU1OiB1c2luZyBhbGxvY2F0ZWQgTFBJIHBlbmRpbmcgdGFibGUgQDB4MDAwMDAwMDA3 YjEyMDAwMApbICAgIDAuNTAwNjcyXSAwMDU6IENQVTU6IEJvb3RlZCBzZWNvbmRhcnkgcHJvY2Vz c29yIDB4MDAwMDAwMDEwMSBbMHg0MTBmZDA4Ml0KWyAgICAwLjUxNjQwMF0gMDAwOiBzbXA6IEJy b3VnaHQgdXAgMSBub2RlLCA2IENQVXMKWyAgICAwLjUyMTU1M10gMDAwOiBTTVA6IFRvdGFsIG9m IDYgcHJvY2Vzc29ycyBhY3RpdmF0ZWQuClsgICAgMC41MjcyMzddIDAwMDogQ1BVIGZlYXR1cmVz OiBkZXRlY3RlZDogMzItYml0IEVMMCBTdXBwb3J0ClsgICAgMC41MzM0OTNdIDAwMDogQ1BVIGZl YXR1cmVzOiBkZXRlY3RlZDogQ1JDMzIgaW5zdHJ1Y3Rpb25zClsgICAgMC42NzE1MjddIDAwMDog Q1BVOiBBbGwgQ1BVKHMpIHN0YXJ0ZWQgYXQgRUwyClsgICAgMC42NzcyNDFdIDAwMDogYWx0ZXJu YXRpdmVzOiBwYXRjaGluZyBrZXJuZWwgY29kZQpbICAgIDAuNjg4MDAwXSAwMDA6IGRldnRtcGZz OiBpbml0aWFsaXplZApbICAgIDAuNzE5MjQxXSAwMDA6IGNsb2Nrc291cmNlOiBqaWZmaWVzOiBt YXNrOiAweGZmZmZmZmZmIG1heF9jeWNsZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA3NjQ1 MDQxNzg1MTAwMDAwIG5zClsgICAgMC43MzA4NDRdIDAwMDogZnV0ZXggaGFzaCB0YWJsZSBlbnRy aWVzOiAyMDQ4IChvcmRlcjogNSwgMTMxMDcyIGJ5dGVzLCBsaW5lYXIpClsgICAgMC43NzM4Mzhd IDAwNTogcGluY3RybCBjb3JlOiBpbml0aWFsaXplZCBwaW5jdHJsIHN1YnN5c3RlbQpbICAgIDAu ODE4MDMxXSAwMDU6IERNSSBub3QgcHJlc2VudCBvciBpbnZhbGlkLgpbICAgIDAuODM5NDA1XSAw MDU6IE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTYKWyAgICAwLjk1MTk2N10gMDA1 OiBETUE6IHByZWFsbG9jYXRlZCAyNTYgS2lCIHBvb2wgZm9yIGF0b21pYyBhbGxvY2F0aW9ucwpb ICAgIDAuOTYxMzE2XSAwMDU6IGF1ZGl0OiBpbml0aWFsaXppbmcgbmV0bGluayBzdWJzeXMgKGRp c2FibGVkKQpbICAgIDAuOTczMDQ0XSAwMDI6IGF1ZGl0OiB0eXBlPTIwMDAgYXVkaXQoMC44ODQ6 MSk6IHN0YXRlPWluaXRpYWxpemVkIGF1ZGl0X2VuYWJsZWQ9MCByZXM9MQpbICAgIDEuMDM1NDU2 XSAwMDQ6IGNwdWlkbGU6IHVzaW5nIGdvdmVybm9yIG1lbnUKWyAgICAxLjA1MTgzNl0gMDA0OiBo dy1icmVha3BvaW50OiBmb3VuZCA2IGJyZWFrcG9pbnQgYW5kIDQgd2F0Y2hwb2ludCByZWdpc3Rl cnMuClsgICAgMS4xMTE4ODldIDAwNDogU2VyaWFsOiBBTUJBIFBMMDExIFVBUlQgZHJpdmVyClsg ICAgMi43OTM5MjhdIDAwNDogSHVnZVRMQiByZWdpc3RlcmVkIDEuMDAgR2lCIHBhZ2Ugc2l6ZSwg cHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgMi44MDM4NThdIDAwNDogSHVnZVRMQiByZWdpc3Rl cmVkIDMyLjAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgMi44MTM1 OTNdIDAwNDogSHVnZVRMQiByZWdpc3RlcmVkIDIuMDAgTWlCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9j YXRlZCAwIHBhZ2VzClsgICAgMi44MjMyNTFdIDAwNDogSHVnZVRMQiByZWdpc3RlcmVkIDY0LjAg S2lCIHBhZ2Ugc2l6ZSwgcHJlLWFsbG9jYXRlZCAwIHBhZ2VzClsgICAgMy4wMTczMTFdIDAwNDog Y3J5cHRkOiBtYXhfY3B1X3FsZW4gc2V0IHRvIDEwMDAKWyAgICAzLjI5NDU3MF0gMDA1OiBBQ1BJ OiBJbnRlcnByZXRlciBkaXNhYmxlZC4KWyAgICAzLjM0ODI1NF0gMDA1OiB2Y2MzdjNfc3lzOiBz dXBwbGllZCBieSB2Y2M1djBfc3lzClsgICAgMy4zNzYwMjZdIDAwNTogdmNjM3YzX3BjaWU6IHN1 cHBsaWVkIGJ5IHZjYzN2M19zeXMKWyAgICAzLjQwMjcwOV0gMDA1OiB2Y2M1djBfaG9zdDogc3Vw cGxpZWQgYnkgdmNjNXYwX3N5cwpbICAgIDMuNDM2NzQzXSAwMDU6IGlvbW11OiBEZWZhdWx0IGRv bWFpbiB0eXBlOiBUcmFuc2xhdGVkIApbICAgIDMuNTM5NDEzXSAwMDU6IHZnYWFyYjogbG9hZGVk ClsgICAgMy41NjA5NjJdIDAwNTogdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRy aXZlciB1c2JmcwpbICAgIDMuNTcxNTYyXSAwMDU6IHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGlu dGVyZmFjZSBkcml2ZXIgaHViClsgICAgMy41ODQxMTddIDAwNTogdXNiY29yZTogcmVnaXN0ZXJl ZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IKWyAgICAzLjYxNTQxNl0gMDA1OiBtYzogTGludXggbWVk aWEgaW50ZXJmYWNlOiB2MC4xMApbICAgIDMuNjIzNDcwXSAwMDU6IHZpZGVvZGV2OiBMaW51eCB2 aWRlbyBjYXB0dXJlIGludGVyZmFjZTogdjIuMDAKWyAgICAzLjYzMzY4NF0gMDA1OiBwcHNfY29y ZTogTGludXhQUFMgQVBJIHZlci4gMSByZWdpc3RlcmVkClsgICAgMy42NDExNzhdIDAwNTogcHBz X2NvcmU6IFNvZnR3YXJlIHZlci4gNS4zLjYgLSBDb3B5cmlnaHQgMjAwNS0yMDA3IFJvZG9sZm8g R2lvbWV0dGkgPGdpb21ldHRpQGxpbnV4Lml0PgpbICAgIDMuNjU0NzU2XSAwMDU6IFBUUCBjbG9j ayBzdXBwb3J0IHJlZ2lzdGVyZWQKWyAgICAzLjY2ODYzMF0gMDA1OiBFREFDIE1DOiBWZXI6IDMu MC4wClsgICAgMy43MDIxMTJdIDAwNDogRlBHQSBtYW5hZ2VyIGZyYW1ld29yawpbICAgIDMuNzE4 OTYwXSAwMDQ6IEFkdmFuY2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZSBEcml2ZXIgSW5pdGlh bGl6ZWQuClsgICAgMy43NjE3NTJdIDAwNDogY2xvY2tzb3VyY2U6IFN3aXRjaGVkIHRvIGNsb2Nr c291cmNlIGFyY2hfc3lzX2NvdW50ZXIKWyAgICAzLjc3OTk1NV0gMDA0OiBWRlM6IERpc2sgcXVv dGFzIGRxdW90XzYuNi4wClsgICAgMy43ODkxMTJdIDAwNDogVkZTOiBEcXVvdC1jYWNoZSBoYXNo IHRhYmxlIGVudHJpZXM6IDUxMiAob3JkZXIgMCwgNDA5NiBieXRlcykKWyAgICAzLjgxMTgyNF0g MDA0OiBwbnA6IFBuUCBBQ1BJOiBkaXNhYmxlZApbICAgIDQuMTcxNjExXSAwMDU6IHRoZXJtYWxf c3lzOiBSZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKWyAgICA0LjE4MTM3 M10gMDA1OiB0aGVybWFsX3N5czogUmVnaXN0ZXJlZCB0aGVybWFsIGdvdmVybm9yICdwb3dlcl9h bGxvY2F0b3InClsgICAgNC4yMDg2MjldIDAwNTogTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZh bWlseSAyClsgICAgNC4yMzgzNDhdIDAwNTogdGNwX2xpc3Rlbl9wb3J0YWRkcl9oYXNoIGhhc2gg dGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDIsIDE2Mzg0IGJ5dGVzLCBsaW5lYXIpClsgICAg NC4yNTI5MTJdIDAwNTogVENQIGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50cmllczogMTYzODQg KG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVhcikKWyAgICA0LjI3NTA5N10gMDA1OiBUQ1Ag YmluZCBoYXNoIHRhYmxlIGVudHJpZXM6IDE2Mzg0IChvcmRlcjogNiwgMjYyMTQ0IGJ5dGVzLCBs aW5lYXIpClsgICAgNC4zMDQyNzBdIDAwNTogVENQOiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChl c3RhYmxpc2hlZCAxNjM4NCBiaW5kIDE2Mzg0KQpbICAgIDQuMzE5MDY2XSAwMDU6IFVEUCBoYXNo IHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVyOiAzLCAzMjc2OCBieXRlcywgbGluZWFyKQpbICAg IDQuMzMzMDE0XSAwMDU6IFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6 IDMsIDMyNzY4IGJ5dGVzLCBsaW5lYXIpClsgICAgNC4zNTQ3MjFdIDAwNTogTkVUOiBSZWdpc3Rl cmVkIHByb3RvY29sIGZhbWlseSAxClsgICAgNC4zNjI3ODJdIDAwNTogUENJOiBDTFMgMCBieXRl cywgZGVmYXVsdCA2NApbICAgIDQuNTE4NDU2XSAwMDQ6IGh3IHBlcmZldmVudHM6IGVuYWJsZWQg d2l0aCBhcm12OF9jb3J0ZXhfYTUzIFBNVSBkcml2ZXIsIDcgY291bnRlcnMgYXZhaWxhYmxlClsg ICAgNC41NDY2NDddIDAwNDogaHcgcGVyZmV2ZW50czogZW5hYmxlZCB3aXRoIGFybXY4X2NvcnRl eF9hNzIgUE1VIGRyaXZlciwgNyBjb3VudGVycyBhdmFpbGFibGUKWyAgICA1LjE1NjMwOF0gMDA0 OiBJbml0aWFsaXNlIHN5c3RlbSB0cnVzdGVkIGtleXJpbmdzClsgICAgNS4xNjc3MzZdIDAwNDog d29ya2luZ3NldDogdGltZXN0YW1wX2JpdHM9NDQgbWF4X29yZGVyPTE5IGJ1Y2tldF9vcmRlcj0w ClsgICAgNS41OTE1MjRdIDAwNDogc3F1YXNoZnM6IHZlcnNpb24gNC4wICgyMDA5LzAxLzMxKSBQ aGlsbGlwIExvdWdoZXIKWyAgICA1LjYxNTA2MV0gMDA1OiBmdXNlOiBpbml0IChBUEkgdmVyc2lv biA3LjMxKQpbICAgIDcuMDE5MjY5XSAwMDU6IEtleSB0eXBlIGFzeW1tZXRyaWMgcmVnaXN0ZXJl ZApbICAgIDcuMDI2Mjc0XSAwMDU6IEFzeW1tZXRyaWMga2V5IHBhcnNlciAneDUwOScgcmVnaXN0 ZXJlZApbICAgIDcuMDM1MTU3XSAwMDU6IEJsb2NrIGxheWVyIFNDU0kgZ2VuZXJpYyAoYnNnKSBk cml2ZXIgdmVyc2lvbiAwLjQgbG9hZGVkIChtYWpvciAyNDUpClsgICAgNy4wNDU5NjRdIDAwNTog aW8gc2NoZWR1bGVyIG1xLWRlYWRsaW5lIHJlZ2lzdGVyZWQKWyAgICA3LjA1Mjg5NF0gMDA1OiBp byBzY2hlZHVsZXIga3liZXIgcmVnaXN0ZXJlZApbICAgIDcuMjk0MzAwXSAwMDU6IHJvY2tjaGlw LXBjaWUgZjgwMDAwMDAucGNpZTogbm8gdnBjaWUxMnYgcmVndWxhdG9yIGZvdW5kClsgICAgNy4z MDgxNTldIDAwNTogcm9ja2NoaXAtcGNpZSBmODAwMDAwMC5wY2llOiBubyB2cGNpZTF2OCByZWd1 bGF0b3IgZm91bmQKWyAgICA3LjMxODU1Ml0gMDA1OiByb2NrY2hpcC1wY2llIGY4MDAwMDAwLnBj aWU6IG5vIHZwY2llMHY5IHJlZ3VsYXRvciBmb3VuZApbICAgIDcuMzM2MzYwXSAwMDU6IHJvY2tj aGlwLXBjaWUgZjgwMDAwMDAucGNpZTogaG9zdCBicmlkZ2UgL3BjaWVAZjgwMDAwMDAgcmFuZ2Vz OgpbICAgIDcuMzQ3NjQyXSAwMDU6IHJvY2tjaGlwLXBjaWUgZjgwMDAwMDAucGNpZTogICBNRU0g MHhmYTAwMDAwMC4uMHhmYmRmZmZmZiAtPiAweGZhMDAwMDAwClsgICAgNy4zNTkyNjRdIDAwNTog cm9ja2NoaXAtcGNpZSBmODAwMDAwMC5wY2llOiAgICBJTyAweGZiZTAwMDAwLi4weGZiZWZmZmZm IC0+IDB4ZmJlMDAwMDAKWyAgICA3LjM4MjEyOF0gMDA1OiByb2NrY2hpcC1wY2llIGY4MDAwMDAw LnBjaWU6IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMApbICAgIDcuMzkyMDM1XSAwMDU6 IHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2J1cyAwMC0xZl0KWyAgICA3LjQw MDYyNl0gMDA1OiBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFttZW0gMHhmYTAw MDAwMC0weGZiZGZmZmZmXQpbICAgIDcuNDEwODYwXSAwMDU6IHBjaV9idXMgMDAwMDowMDogcm9v dCBidXMgcmVzb3VyY2UgW2lvICAweDAwMDAtMHhmZmZmZl0gKGJ1cyBhZGRyZXNzIFsweGZiZTAw MDAwLTB4ZmJlZmZmZmZdKQpbICAgIDcuNDI2MDkxXSAwMDU6IHBjaSAwMDAwOjAwOjAwLjA6IFsx ZDg3OjAxMDBdIHR5cGUgMDEgY2xhc3MgMHgwNjA0MDAKWyAgICA3LjQzODc3M10gMDA1OiBwY2kg MDAwMDowMDowMC4wOiBzdXBwb3J0cyBEMQpbICAgIDcuNDQ1NzQzXSAwMDU6IHBjaSAwMDAwOjAw OjAwLjA6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDEgRDNob3QKWyAgICA3LjY2OTg4OV0gMDA1 OiBwY2kgMDAwMDowMDowMC4wOiBicmlkZ2UgY29uZmlndXJhdGlvbiBpbnZhbGlkIChbYnVzIDAw LTAwXSksIHJlY29uZmlndXJpbmcKWyAgICA3LjY4ODEwNl0gMDA1OiBwY2kgMDAwMDowMTowMC4w OiBbODA4NjoxNTMyXSB0eXBlIDAwIGNsYXNzIDB4MDIwMDAwClsgICAgNy42OTk4MzVdIDAwNTog cGNpIDAwMDA6MDE6MDAuMDogcmVnIDB4MTA6IFttZW0gMHgwMDAwMDAwMC0weDAwMDFmZmZmXQpb ICAgIDcuNzEwMzYzXSAwMDU6IHBjaSAwMDAwOjAxOjAwLjA6IHJlZyAweDE4OiBpbml0aWFsIEJB UiB2YWx1ZSAweDAwMDAwMDAwIGludmFsaWQKWyAgICA3LjcyMDcyNV0gMDA1OiBwY2kgMDAwMDow MTowMC4wOiByZWcgMHgxODogW2lvICBzaXplIDB4MDAyMF0KWyAgICA3LjcyOTI1M10gMDA1OiBw Y2kgMDAwMDowMTowMC4wOiByZWcgMHgxYzogW21lbSAweDAwMDAwMDAwLTB4MDAwMDNmZmZdClsg ICAgNy43Mzk3MjRdIDAwNTogcGNpIDAwMDA6MDE6MDAuMDogTWF4IFBheWxvYWQgU2l6ZSBzZXQg dG8gMjU2ICh3YXMgMTI4LCBtYXggNTEyKQpbICAgIDcuNzU0MTc3XSAwMDU6IHBjaSAwMDAwOjAx OjAwLjA6IFBNRSMgc3VwcG9ydGVkIGZyb20gRDAgRDNob3QgRDNjb2xkClsgICAgNy45NzgzNDZd IDAwNTogcGNpX2J1cyAwMDAwOjAxOiBidXNuX3JlczogW2J1cyAwMS0xZl0gZW5kIGlzIHVwZGF0 ZWQgdG8gMDEKWyAgICA3Ljk4ODg4OF0gMDA1OiBwY2kgMDAwMDowMDowMC4wOiBCQVIgMTQ6IGFz c2lnbmVkIFttZW0gMHhmYTAwMDAwMC0weGZhMGZmZmZmXQpbICAgIDcuOTk5Mzc5XSAwMDU6IHBj aSAwMDAwOjAxOjAwLjA6IEJBUiAwOiBhc3NpZ25lZCBbbWVtIDB4ZmEwMDAwMDAtMHhmYTAxZmZm Zl0KWyAgICA4LjAxMDY4OV0gMDA1OiBwY2kgMDAwMDowMTowMC4wOiBCQVIgMzogYXNzaWduZWQg W21lbSAweGZhMDIwMDAwLTB4ZmEwMjNmZmZdClsgICAgOC4wMjA5NjldIDAwNTogcGNpIDAwMDA6 MDE6MDAuMDogQkFSIDI6IG5vIHNwYWNlIGZvciBbaW8gIHNpemUgMHgwMDIwXQpbICAgIDguMDMw MzQxXSAwMDU6IHBjaSAwMDAwOjAxOjAwLjA6IEJBUiAyOiBmYWlsZWQgdG8gYXNzaWduIFtpbyAg c2l6ZSAweDAwMjBdClsgICAgOC4wNDAyMDZdIDAwNTogcGNpIDAwMDA6MDA6MDAuMDogUENJIGJy aWRnZSB0byBbYnVzIDAxXQpbICAgIDguMDQ3OTYwXSAwMDU6IHBjaSAwMDAwOjAwOjAwLjA6ICAg YnJpZGdlIHdpbmRvdyBbbWVtIDB4ZmEwMDAwMDAtMHhmYTBmZmZmZl0KWyAgICA4LjA2NDU1NV0g MDA1OiBwY2llcG9ydCAwMDAwOjAwOjAwLjA6IGVuYWJsaW5nIGRldmljZSAoMDAwMCAtPiAwMDAy KQpbICAgIDguMDg2NjE1XSAwMDU6IHBjaWVwb3J0IDAwMDA6MDA6MDAuMDogUE1FOiBTaWduYWxp bmcgd2l0aCBJUlEgMjExClsgICAgOC4xMDY3MjldIDAwNTogcGNpZXBvcnQgMDAwMDowMDowMC4w OiBBRVI6IGVuYWJsZWQgd2l0aCBJUlEgMjExClsgICAgOC4xODQ2ODldIDAwNTogcHdtLWJhY2ts aWdodCBiYWNrbGlnaHQ6IGJhY2tsaWdodCBzdXBwbHkgcG93ZXIgbm90IGZvdW5kLCB1c2luZyBk dW1teSByZWd1bGF0b3IKWyAgICA4LjIwODEwOF0gMDA1OiBJUE1JIG1lc3NhZ2UgaGFuZGxlcjog dmVyc2lvbiAzOS4yClsgICAgOC4yMTk1NDBdIDAwNTogaXBtaSBkZXZpY2UgaW50ZXJmYWNlClsg ICAgOC4yMjcwNDJdIDAwNTogaXBtaV9zaTogSVBNSSBTeXN0ZW0gSW50ZXJmYWNlIGRyaXZlcgpb ICAgIDguMjUxNDIxXSAwMDU6IGlwbWlfc2k6IFVuYWJsZSB0byBmaW5kIGFueSBTeXN0ZW0gSW50 ZXJmYWNlKHMpClsgICAgOC4zNjYyNTRdIDAwNDogZG1hLXBsMzMwIGZmNmQwMDAwLmRtYS1jb250 cm9sbGVyOiBMb2FkZWQgZHJpdmVyIGZvciBQTDMzMCBETUFDLTI0MTMzMApbICAgIDguMzc4NjIz XSAwMDQ6IGRtYS1wbDMzMCBmZjZkMDAwMC5kbWEtY29udHJvbGxlcjogCURCVUZGLTMyeDhieXRl cyBOdW1fQ2hhbnMtNiBOdW1fUGVyaS0xMiBOdW1fRXZlbnRzLTEyClsgICAgOC40NzA2MjJdIDAw NDogZG1hLXBsMzMwIGZmNmUwMDAwLmRtYS1jb250cm9sbGVyOiBMb2FkZWQgZHJpdmVyIGZvciBQ TDMzMCBETUFDLTI0MTMzMApbICAgIDguNDgxODM2XSAwMDQ6IGRtYS1wbDMzMCBmZjZlMDAwMC5k bWEtY29udHJvbGxlcjogCURCVUZGLTEyOHg4Ynl0ZXMgTnVtX0NoYW5zLTggTnVtX1BlcmktMjAg TnVtX0V2ZW50cy0xNgpbICAgIDguNzI2MTg5XSAwMDU6IFNlcmlhbDogODI1MC8xNjU1MCBkcml2 ZXIsIDQgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgICA4LjgyNzgwOV0gMDA1OiBwcmlu dGs6IGNvbnNvbGUgW3R0eVMyXSBkaXNhYmxlZApbICAgIDguODM2OTkyXSAwMDU6IGZmMWEwMDAw LnNlcmlhbDogdHR5UzIgYXQgTU1JTyAweGZmMWEwMDAwIChpcnEgPSAzMCwgYmFzZV9iYXVkID0g MTUwMDAwMCkgaXMgYSAxNjU1MEEKWyAgICA4Ljg1ODM3MV0gMDA0OiBwcmludGs6IGNvbnNvbGUg W3R0eVMyXSBlbmFibGVkClsgICAgOC44NjY1ODRdIDAwNDogcHJpbnRrOiBib290Y29uc29sZSBb dWFydDgyNTBdIGRpc2FibGVkClsgICAgOC45NzMyNjZdIDAwNDogcm9ja2NoaXAtdm9wIGZmOGYw MDAwLnZvcDogQWRkaW5nIHRvIGlvbW11IGdyb3VwIDEKWyAgICA4Ljk5NTc3Nl0gMDA0OiByb2Nr Y2hpcC12b3AgZmY5MDAwMDAudm9wOiBBZGRpbmcgdG8gaW9tbXUgZ3JvdXAgMgpbICAgIDkuMDg4 NTg2XSAwMDU6IHBhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0IGZmOTYwMDAwLm1pcGkuMDogZmY5 NjAwMDAubWlwaS4wIHN1cHBseSBwb3dlciBub3QgZm91bmQsIHVzaW5nIGR1bW15IHJlZ3VsYXRv cgpbICAgIDkuMTM2NDUyXSAwMDU6IHJvY2tjaGlwLWRybSBkaXNwbGF5LXN1YnN5c3RlbTogYm91 bmQgZmY4ZjAwMDAudm9wIChvcHMgdm9wX2NvbXBvbmVudF9vcHMpClsgICAgOS4xNzEzMTRdIDAw NDogcm9ja2NoaXAtZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBib3VuZCBmZjkwMDAwMC52b3AgKG9w cyB2b3BfY29tcG9uZW50X29wcykKWyAgICA5LjE4NDM1Ml0gMDA0OiByb2NrY2hpcC1kcm0gZGlz cGxheS1zdWJzeXN0ZW06IGJvdW5kIGZmOTYwMDAwLm1pcGkgKG9wcyBkd19taXBpX2RzaV9yb2Nr Y2hpcF9vcHMpClsgICAgOS4xODQ5NjVdIDAwNDogW2RybV0gU3VwcG9ydHMgdmJsYW5rIHRpbWVz dGFtcCBjYWNoaW5nIFJldiAyICgyMS4xMC4yMDEzKS4KWyAgICA5LjE4NTEyM10gMDA0OiBbZHJt XSBObyBkcml2ZXIgc3VwcG9ydCBmb3IgdmJsYW5rIHRpbWVzdGFtcCBxdWVyeS4KWyAgIDEwLjQz NDc3NV0gMDA1OiBkdy1taXBpLWRzaS1yb2NrY2hpcCBmZjk2MDAwMC5taXBpOiBbZHJtOmR3X21p cGlfZHNpX2dldF9sYW5lX21icHNdICpFUlJPUiogRFBIWSBjbG9jayBmcmVxdWVuY3kgaXMgb3V0 IG9mIHJhbmdlClsgICAxMy45NDIwOTRdIDAwNDogcm9ja2NoaXAtZHJtIGRpc3BsYXktc3Vic3lz dGVtOiBmYjA6IHJvY2tjaGlwZHJtZmIgZnJhbWUgYnVmZmVyIGRldmljZQpbICAgMTMuOTYyNDMw XSAwMDQ6IFtkcm1dIEluaXRpYWxpemVkIHJvY2tjaGlwIDEuMC4wIDIwMTQwODE4IGZvciBkaXNw bGF5LXN1YnN5c3RlbSBvbiBtaW5vciAwClsgICAxMy45OTQ4MDNdIDAwNDogcGFuZnJvc3QgZmY5 YTAwMDAuZ3B1OiBjbG9jayByYXRlID0gNTAwMDAwMDAwClsgICAxMy45OTY1NzBdIDAwNDogcGFu ZnJvc3QgZmY5YTAwMDAuZ3B1OiBmYWlsZWQgdG8gZ2V0IHJlZ3VsYXRvcjogLTUxNwpbICAgMTMu OTk2ODkxXSAwMDQ6IHBhbmZyb3N0IGZmOWEwMDAwLmdwdTogcmVndWxhdG9yIGluaXQgZmFpbGVk IC01MTcKWyAgIDE0LjAxNDk4MF0gMDAwOiBjYWNoZWluZm86IFVuYWJsZSB0byBkZXRlY3QgY2Fj aGUgaGllcmFyY2h5IGZvciBDUFUgMApbICAgMTIuMzQ5MTQxXSAwMDU6IENvbnNvbGU6IHN3aXRj aGluZyB0byBjb2xvdXIgZnJhbWUgYnVmZmVyIGRldmljZSAxOTJ4MTI4ClsgICAxNC40ODI2OTNd IDAwNTogbG9vcDogbW9kdWxlIGxvYWRlZApbICAgMTUuNTI5Nzc0XSAwMDA6IHJhbmRvbTogZmFz dCBpbml0IGRvbmUKWyAgIDE1LjU0NjM5M10gMDA1OiBsaWJwaHk6IEZpeGVkIE1ESU8gQnVzOiBw cm9iZWQKWyAgIDE1LjU0Nzc4MF0gMDA1OiB0dW46IFVuaXZlcnNhbCBUVU4vVEFQIGRldmljZSBk cml2ZXIsIDEuNgpbICAgMTUuNTU1MjQwXSAwMDU6IGUxMDAwZTogSW50ZWwoUikgUFJPLzEwMDAg TmV0d29yayBEcml2ZXIgLSAzLjIuNi1rClsgICAxNS41NTU0NTJdIDAwNTogZTEwMDBlOiBDb3B5 cmlnaHQoYykgMTk5OSAtIDIwMTUgSW50ZWwgQ29ycG9yYXRpb24uClsgICAxNS41NTg3MTJdIDAw NTogaWdiOiBJbnRlbChSKSBHaWdhYml0IEV0aGVybmV0IE5ldHdvcmsgRHJpdmVyIC0gdmVyc2lv biA1LjYuMC1rClsgICAxNS41NTg5MTldIDAwNTogaWdiOiBDb3B5cmlnaHQgKGMpIDIwMDctMjAx NCBJbnRlbCBDb3Jwb3JhdGlvbi4KWyAgIDE1LjU2MzMyOV0gMDA1OiBpZ2IgMDAwMDowMTowMC4w OiBlbmFibGluZyBkZXZpY2UgKDAwMDAgLT4gMDAwMikKWyAgIDE1LjY4NzYwN10gMDA0OiBwcHMg cHBzMDogbmV3IFBQUyBzb3VyY2UgcHRwMApbICAgMTUuNjk3MDY5XSAwMDQ6IGlnYiAwMDAwOjAx OjAwLjA6IGFkZGVkIFBIQyBvbiBldGgwClsgICAxNS42OTgyMjNdIDAwNDogaWdiIDAwMDA6MDE6 MDAuMDogSW50ZWwoUikgR2lnYWJpdCBFdGhlcm5ldCBOZXR3b3JrIENvbm5lY3Rpb24KWyAgIDE1 LjY5ODUyMV0gMDA0OiBpZ2IgMDAwMDowMTowMC4wOiBldGgwOiAoUENJZToyLjVHYi9zOldpZHRo IHgxKSA0MDplZjplZjo5NzozNzo3YgpbICAgMTUuNjk4OTI4XSAwMDQ6IGlnYiAwMDAwOjAxOjAw LjA6IGV0aDA6IFBCQSBObzogRkZGRkZGLTBGRgpbICAgMTUuNjk5MTg3XSAwMDQ6IGlnYiAwMDAw OjAxOjAwLjA6IFVzaW5nIE1TSS1YIGludGVycnVwdHMuIDIgcnggcXVldWUocyksIDIgdHggcXVl dWUocykKWyAgIDE1LjcwMjk2MV0gMDA0OiBpZ2J2ZjogSW50ZWwoUikgR2lnYWJpdCBWaXJ0dWFs IEZ1bmN0aW9uIE5ldHdvcmsgRHJpdmVyIC0gdmVyc2lvbiAyLjQuMC1rClsgICAxNS43MDMxNTZd IDAwNDogaWdidmY6IENvcHlyaWdodCAoYykgMjAwOSAtIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24u ClsgICAxNS43MTE0MzJdIDAwNDogVkZJTyAtIFVzZXIgTGV2ZWwgbWV0YS1kcml2ZXIgdmVyc2lv bjogMC4zClsgICAxNS43ODExMTddIDAwNDogZWhjaV9oY2Q6IFVTQiAyLjAgJ0VuaGFuY2VkJyBI b3N0IENvbnRyb2xsZXIgKEVIQ0kpIERyaXZlcgpbICAgMTUuNzgzMjEyXSAwMDQ6IGVoY2ktcGNp OiBFSENJIFBDSSBwbGF0Zm9ybSBkcml2ZXIKWyAgIDE1Ljc4NjE0MF0gMDA0OiBlaGNpLXBsYXRm b3JtOiBFSENJIGdlbmVyaWMgcGxhdGZvcm0gZHJpdmVyClsgICAxNS43OTUwMzNdIDAwNDogb2hj aV9oY2Q6IFVTQiAxLjEgJ09wZW4nIEhvc3QgQ29udHJvbGxlciAoT0hDSSkgRHJpdmVyClsgICAx NS43OTU3NjRdIDAwNDogb2hjaS1wY2k6IE9IQ0kgUENJIHBsYXRmb3JtIGRyaXZlcgpbICAgMTUu Nzk4MjMwXSAwMDQ6IG9oY2ktcGxhdGZvcm06IE9IQ0kgZ2VuZXJpYyBwbGF0Zm9ybSBkcml2ZXIK WyAgIDE1Ljk2Mzg5OV0gMDA0OiBpMmMgL2RldiBlbnRyaWVzIGRyaXZlcgpbICAgMTYuMDA4ODU5 XSAwMDU6IFtoeWNvbl0gaHk0Nnh4X3RzX3Byb2JlLDEyOTYgLS0+ClsgICAxNi4wMTE2NDNdIDAw NTogKiBpbnRfZ3BpbzogaW50IChudWxsKQpbICAgMTYuMDEzMjA0XSAwMDU6ICogcmVzZXRfZ3Bp bzogcmVzZXQgKG51bGwpClsgICAxNi4wMTU3MTddIDAwNTogKiBwd2VuX2dwaW86IHB3ZW4gKG51 bGwpClsgICAxNi4wMTYxNTVdIDAwNTogaXJxID0gMApbICAgMTYuMDMwMjU0XSAwMDU6IGlucHV0 OiBoeTQ2eHhfdHMgYXMgL2RldmljZXMvdmlydHVhbC9pbnB1dC9pbnB1dDAKWyAgIDE4LjE1MjEz NV0gMDA1OiBbSFlTXSBGaXJtd2FyZSB2ZXJzaW9uID0gMHhmZgpbICAgMTguMjAyMDU3XSAwMDU6 IGZhbjUzNTU1LXJlZ3VsYXRvciAwLTAwNDA6IEZBTjUzNTU1IE9wdGlvbls4XSBSZXZbMV0gRGV0 ZWN0ZWQhClsgICAxOC4yMDM1MDJdIDAwNTogZmFuNTM1NTUtcmVnOiBzdXBwbGllZCBieSB2Y2M1 djBfc3lzClsgICAxOC4yNDQ1MjFdIDAwNTogZmFuNTM1NTUtcmVndWxhdG9yIDAtMDA0MTogRkFO NTM1NTUgT3B0aW9uWzhdIFJldlsxXSBEZXRlY3RlZCEKWyAgIDE4LjI0NjMyM10gMDA1OiBmYW41 MzU1NS1yZWc6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAgIDE4LjI5NDIxMF0gMDA0OiByazgw OCAwLTAwMWI6IGNoaXAgaWQ6IDB4MApbICAgMTguNDE2MjUyXSAwMDQ6IHJrODA4LXJlZ3VsYXRv ciByazgwOC1yZWd1bGF0b3I6IHRoZXJlIGlzIG5vIGR2czAgZ3BpbwpbICAgMTguNDE4NDk4XSAw MDQ6IHJrODA4LXJlZ3VsYXRvciByazgwOC1yZWd1bGF0b3I6IHRoZXJlIGlzIG5vIGR2czEgZ3Bp bwpbICAgMTguNDIxMTIxXSAwMDQ6IERDRENfUkVHMTogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpb ICAgMTguNDQyNzMzXSAwMDQ6IERDRENfUkVHMjogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpbICAg MTguNDU4OTExXSAwMDQ6IERDRENfUkVHMzogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpbICAgMTgu NDcyMjM1XSAwMDQ6IERDRENfUkVHNDogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpbICAgMTguNDg4 NDgxXSAwMDQ6IExET19SRUcxOiBzdXBwbGllZCBieSB2Y2M1djBfc3lzClsgICAxOC41MDg2NDld IDAwNDogTERPX1JFRzI6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAgIDE4LjUxNDI5MV0gMDA0 OiB2Y2NhM3YwX2NvZGVjOiBCcmluZ2luZyAxODAwMDAwdVYgaW50byAzMzAwMDAwLTMzMDAwMDB1 VgpbICAgMTguNTMxOTUzXSAwMDQ6IExET19SRUczOiBzdXBwbGllZCBieSB2Y2M1djBfc3lzClsg ICAxOC41NTIxNjBdIDAwNDogTERPX1JFRzQ6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAgIDE4 LjU3MjkzOV0gMDA1OiBMRE9fUkVHNTogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpbICAgMTguNTc2 NjIyXSAwMDU6IHZjYzN2M19sYW46IEJyaW5naW5nIDMwMDAwMDB1ViBpbnRvIDMzMDAwMDAtMzMw MDAwMHVWClsgICAxOC41OTcwNTldIDAwNTogTERPX1JFRzY6IHN1cHBsaWVkIGJ5IHZjYzV2MF9z eXMKWyAgIDE4LjYxODc1NF0gMDA1OiBMRE9fUkVHNzogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpb ICAgMTguNjIyMzEyXSAwMDU6IHZjY2ExdjhfY29kZWM6IEJyaW5naW5nIDkwMDAwMHVWIGludG8g MTgwMDAwMC0xODAwMDAwdVYKWyAgIDE4LjY0MDU4Ml0gMDA1OiBMRE9fUkVHODogc3VwcGxpZWQg YnkgdmNjNXYwX3N5cwpbICAgMTguNjYzMDE0XSAwMDU6IFNXSVRDSF9SRUcxOiBzdXBwbGllZCBi eSB2Y2MzdjNfc3lzClsgICAxOC42NzYyNjVdIDAwNTogU1dJVENIX1JFRzI6IHN1cHBsaWVkIGJ5 IHZjYzN2M19zeXMKWyAgIDE4Ljc0NDU2OV0gMDA1OiByazgwOC1ydGMgcms4MDgtcnRjOiByZWdp c3RlcmVkIGFzIHJ0YzAKWyAgIDE4Ljc3NDczM10gMDA1OiB1c2Jjb3JlOiByZWdpc3RlcmVkIG5l dyBpbnRlcmZhY2UgZHJpdmVyIHV2Y3ZpZGVvClsgICAxOC43NzQ5ODRdIDAwNTogVVNCIFZpZGVv IENsYXNzIGRyaXZlciAoMS4xLjEpClsgICAxOC45MDY4MjFdIDAwNDogZGV2aWNlLW1hcHBlcjog aW9jdGw6IDQuNDEuMC1pb2N0bCAoMjAxOS0wOS0xNikgaW5pdGlhbGlzZWQ6IGRtLWRldmVsQHJl ZGhhdC5jb20KWyAgIDE4Ljk4MzA5NF0gMDA1OiBjcHVmcmVxOiBjcHVmcmVxX29ubGluZTogQ1BV MDogUnVubmluZyBhdCB1bmxpc3RlZCBmcmVxOiA0MDAwMDAgS0h6ClsgICAxOC45ODk5OTFdIDAw NTogY3B1ZnJlcTogY3B1ZnJlcV9vbmxpbmU6IENQVTA6IFVubGlzdGVkIGluaXRpYWwgZnJlcXVl bmN5IGNoYW5nZWQgdG86IDQwODAwMCBLSHoKWyAgIDE5LjA3MTAyNV0gMDA0OiBjcHVmcmVxOiBj cHVmcmVxX29ubGluZTogQ1BVNDogUnVubmluZyBhdCB1bmxpc3RlZCBmcmVxOiAxMjAwMCBLSHoK WyAgIDE5LjA4NzExMV0gMDA0OiBjcHVmcmVxOiBjcHVmcmVxX29ubGluZTogQ1BVNDogVW5saXN0 ZWQgaW5pdGlhbCBmcmVxdWVuY3kgY2hhbmdlZCB0bzogNDA4MDAwIEtIegpbICAgMTkuMDg5MDYz XSAwMDQ6IHNkaGNpOiBTZWN1cmUgRGlnaXRhbCBIb3N0IENvbnRyb2xsZXIgSW50ZXJmYWNlIGRy aXZlcgpbICAgMTkuMDg5MDY1XSAwMDQ6IHNkaGNpOiBDb3B5cmlnaHQoYykgUGllcnJlIE9zc21h bgpbICAgMTkuMDg5MTM5XSAwMDQ6IFN5bm9wc3lzIERlc2lnbndhcmUgTXVsdGltZWRpYSBDYXJk IEludGVyZmFjZSBEcml2ZXIKWyAgIDE5LjA4OTYzMV0gMDA0OiBkd21tY19yb2NrY2hpcCBmZTMy MDAwMC5kd21tYzogSURNQUMgc3VwcG9ydHMgMzItYml0IGFkZHJlc3MgbW9kZS4KWyAgIDE5LjA4 OTY0M10gMDA0OiBkd21tY19yb2NrY2hpcCBmZTMyMDAwMC5kd21tYzogVXNpbmcgaW50ZXJuYWwg RE1BIGNvbnRyb2xsZXIuClsgICAxOS4wODk2NTFdIDAwNDogZHdtbWNfcm9ja2NoaXAgZmUzMjAw MDAuZHdtbWM6IFZlcnNpb24gSUQgaXMgMjcwYQpbICAgMTkuMDg5Njc2XSAwMDQ6IGR3bW1jX3Jv Y2tjaGlwIGZlMzIwMDAwLmR3bW1jOiBEVyBNTUMgY29udHJvbGxlciBhdCBpcnEgMjcsMzIgYml0 IGhvc3QgZGF0YSB3aWR0aCwyNTYgZGVlcCBmaWZvClsgICAxOS4xMDEzNTFdIDAwNDogbW1jX2hv c3QgbW1jMDogQnVzIHNwZWVkIChzbG90IDApID0gNDAwMDAwSHogKHNsb3QgcmVxIDQwMDAwMEh6 LCBhY3R1YWwgNDAwMDAwSFogZGl2ID0gMCkKWyAgIDE5LjExNDIwMF0gMDA0OiBzZGhjaS1wbHRm bTogU0RIQ0kgcGxhdGZvcm0gYW5kIE9GIGRyaXZlciBoZWxwZXIKWyAgIDE5LjExNDc3Ml0gMDA0 OiBtbWMxOiBDUUhDSSB2ZXJzaW9uIDUuMTAKWyAgIDE5LjE0MDYyMF0gMDA0OiBtbWMxOiBTREhD SSBjb250cm9sbGVyIG9uIGZlMzMwMDAwLnNkaGNpIFtmZTMzMDAwMC5zZGhjaV0gdXNpbmcgQURN QQpbICAgMTkuMTQxNzk3XSAwMDQ6IGxlZHRyaWctY3B1OiByZWdpc3RlcmVkIHRvIGluZGljYXRl IGFjdGl2aXR5IG9uIENQVXMKWyAgIDE5LjE0MjIxNV0gMDA0OiB1c2Jjb3JlOiByZWdpc3RlcmVk IG5ldyBpbnRlcmZhY2UgZHJpdmVyIHVzYmhpZApbICAgMTkuMTQyMjE3XSAwMDQ6IHVzYmhpZDog VVNCIEhJRCBjb3JlIGRyaXZlcgpbICAgMTkuMTQ0NzcwXSAwMDQ6IE5FVDogUmVnaXN0ZXJlZCBw cm90b2NvbCBmYW1pbHkgMTAKWyAgIDE5LjE0NTE2OF0gMDA0OiBTZWdtZW50IFJvdXRpbmcgd2l0 aCBJUHY2ClsgICAxOS4xNDUzMzldIDAwNDogc2l0OiBJUHY2LCBJUHY0IGFuZCBNUExTIG92ZXIg SVB2NCB0dW5uZWxpbmcgZHJpdmVyClsgICAxOS4xNDU2MDJdIDAwNDogTkVUOiBSZWdpc3RlcmVk IHByb3RvY29sIGZhbWlseSAxNwpbICAgMTkuMTQ1NjIxXSAwMDQ6IGJyaWRnZTogZmlsdGVyaW5n IHZpYSBhcnAvaXAvaXA2dGFibGVzIGlzIG5vIGxvbmdlciBhdmFpbGFibGUgYnkgZGVmYXVsdC4g VXBkYXRlIHlvdXIgc2NyaXB0cyB0byBsb2FkIGJyX25ldGZpbHRlciBpZiB5b3UgbmVlZCB0aGlz LgpbICAgMTkuMTQ1NjIyXSAwMDQ6IDgwMjFxOiA4MDIuMVEgVkxBTiBTdXBwb3J0IHYxLjgKWyAg IDE5LjE0NTY2NF0gMDA0OiBLZXkgdHlwZSBkbnNfcmVzb2x2ZXIgcmVnaXN0ZXJlZApbICAgMTku MTQ2NjE4XSAwMDQ6IHJlZ2lzdGVyZWQgdGFza3N0YXRzIHZlcnNpb24gMQpbICAgMTkuMTQ2NjIy XSAwMDQ6IExvYWRpbmcgY29tcGlsZWQtaW4gWC41MDkgY2VydGlmaWNhdGVzClsgICAxOS4xNjE4 NjddIDAwNDogcGFuZnJvc3QgZmY5YTAwMDAuZ3B1OiBjbG9jayByYXRlID0gNTAwMDAwMDAwClsg ICAxOS4xNzQzMzhdIDAwNDogcGFuZnJvc3QgZmY5YTAwMDAuZ3B1OiBtYWxpLXQ4NjAgaWQgMHg4 NjAgbWFqb3IgMHgyIG1pbm9yIDB4MCBzdGF0dXMgMHgwClsgICAxOS4xNzQzNDVdIDAwNDogcGFu ZnJvc3QgZmY5YTAwMDAuZ3B1OiBmZWF0dXJlczogMDAwMDAwMDAsMTAwZTc3YmYsIGlzc3Vlczog MDAwMDAwMDAsMjQwNDA0MDAKWyAgIDE5LjE3NDM0OV0gMDA0OiBwYW5mcm9zdCBmZjlhMDAwMC5n cHU6IEZlYXR1cmVzOiBMMjoweDA3MTIwMjA2IFNoYWRlcjoweDAwMDAwMDAwIFRpbGVyOjB4MDAw MDA4MDkgTWVtOjB4MSBNTVU6MHgwMDAwMjgzMCBBUzoweGZmIEpTOjB4NwpbICAgMTkuMTc0MzUy XSAwMDQ6IHBhbmZyb3N0IGZmOWEwMDAwLmdwdTogc2hhZGVyX3ByZXNlbnQ9MHhmIGwyX3ByZXNl bnQ9MHgxClsgICAxOS4yMTg5NTFdIDAwNDogW2RybV0gSW5pdGlhbGl6ZWQgcGFuZnJvc3QgMS4x LjAgMjAxODA5MDggZm9yIGZmOWEwMDAwLmdwdSBvbiBtaW5vciAxClsgICAxOS4yMjUzMjJdIDAw NTogcms4MDgtcnRjIHJrODA4LXJ0Yzogc2V0dGluZyBzeXN0ZW0gY2xvY2sgdG8gMjAxMy0wMS0x OFQwODo1MDoyNyBVVEMgKDEzNTg0OTkwMjcpClsgICAxOS4yMjYwNDBdIDAwNTogQUxTQSBkZXZp Y2UgbGlzdDoKWyAgIDE5LjIyNjA0NF0gMDA1OiAgIE5vIHNvdW5kY2FyZHMgZm91bmQuClsgICAx OS4yMjYwNjldIDAwNTogV2FybmluZzogdW5hYmxlIHRvIG9wZW4gYW4gaW5pdGlhbCBjb25zb2xl LgpbICAgMTkuMjI3NTcwXSAwMDU6IEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDMxMzZL ClsgICAxOS4yNDUzODJdIDAwNTogUnVuIC9pbml0IGFzIGluaXQgcHJvY2VzcwpbICAgMTkuMjQ5 NzMxXSAwMDU6IHR0eVMyIC0gZmFpbGVkIHRvIHJlcXVlc3QgRE1BClsgICAxOS4zMjU2NzNdIDAw NDogbW1jMTogQ29tbWFuZCBRdWV1ZSBFbmdpbmUgZW5hYmxlZApbICAgMTkuMzI1Njg1XSAwMDQ6 IG1tYzE6IG5ldyBIUzIwMCBNTUMgY2FyZCBhdCBhZGRyZXNzIDAwMDEKWyAgIDE5LjMyNjI0Ml0g MDA0OiBtbWNibGsxOiBtbWMxOjAwMDEgOEdURjRSIDcuMjggR2lCIApbICAgMTkuMzI2MzA2XSAw MDQ6IG1tY2JsazFib290MDogbW1jMTowMDAxIDhHVEY0UiBwYXJ0aXRpb24gMSA0LjAwIE1pQgpb ICAgMTkuMzI2MzcwXSAwMDQ6IG1tY2JsazFib290MTogbW1jMTowMDAxIDhHVEY0UiBwYXJ0aXRp b24gMiA0LjAwIE1pQgpbICAgMTkuMzI2NjEzXSAwMDQ6IG1tY2JsazFycG1iOiBtbWMxOjAwMDEg OEdURjRSIHBhcnRpdGlvbiAzIDUxMiBLaUIsIGNoYXJkZXYgKDI0MDowKQpbICAgMTkuMzM0OTM2 XSAwMDQ6IEdQVDpQcmltYXJ5IGhlYWRlciB0aGlua3MgQWx0LiBoZWFkZXIgaXMgbm90IGF0IHRo ZSBlbmQgb2YgdGhlIGRpc2suClsgICAxOS4zMzQ5NDFdIDAwNDogR1BUOjQxOTQzMDMgIT0gMTUy Njk4ODcKWyAgIDE5LjMzNDk0NV0gMDA0OiBHUFQ6QWx0ZXJuYXRlIEdQVCBoZWFkZXIgbm90IGF0 IHRoZSBlbmQgb2YgdGhlIGRpc2suClsgICAxOS4zMzQ5NDZdIDAwNDogR1BUOjQxOTQzMDMgIT0g MTUyNjk4ODcKWyAgIDE5LjMzNDk0N10gMDA0OiBHUFQ6IFVzZSBHTlUgUGFydGVkIHRvIGNvcnJl Y3QgR1BUIGVycm9ycy4KWyAgIDE5LjMzNDk2Nl0gMDA0OiAgbW1jYmxrMTogcDIgcDMgcDQgcDUg cDYKWyAgIDIzLjI4NjE3MF0gMDA0OiBFWFQ0LWZzIChtbWNibGsxcDIpOiBWRlM6IENhbid0IGZp bmQgZXh0NCBmaWxlc3lzdGVtClsgICAyMy4yODY3MTRdIDAwNTogRVhUNC1mcyAobW1jYmxrMXAz KTogVkZTOiBDYW4ndCBmaW5kIGV4dDQgZmlsZXN5c3RlbQpbICAgMjMuMzAyNjI4XSAwMDU6IEVY VDQtZnMgKG1tY2JsazFwNCk6IFZGUzogQ2FuJ3QgZmluZCBleHQ0IGZpbGVzeXN0ZW0KWyAgIDIz LjMyMDg4NF0gMDA1OiBFWFQ0LWZzIChtbWNibGsxcDUpOiByZWNvdmVyeSBjb21wbGV0ZQpbICAg MjMuMzIxMzc1XSAwMDU6IEVYVDQtZnMgKG1tY2JsazFwNSk6IG1vdW50ZWQgZmlsZXN5c3RlbSB3 aXRoIG9yZGVyZWQgZGF0YSBtb2RlLiBPcHRzOiAobnVsbCkKWyAgIDIzLjM2MDM2OF0gMDA0OiBv dmVybGF5ZnM6IHVwcGVyIGZzIGRvZXMgbm90IHN1cHBvcnQgeGF0dHIsIGZhbGxpbmcgYmFjayB0 byBpbmRleD1vZmYgYW5kIG1ldGFjb3B5PW9mZi4KWyAgIDIzLjc5NTM5Nl0gMDA1OiByYW5kb206 IHVkZXZkOiB1bmluaXRpYWxpemVkIHVyYW5kb20gcmVhZCAoMTYgYnl0ZXMgcmVhZCkKWyAgIDIz Ljc5NTQ4MF0gMDA1OiByYW5kb206IHVkZXZkOiB1bmluaXRpYWxpemVkIHVyYW5kb20gcmVhZCAo MTYgYnl0ZXMgcmVhZCkKWyAgIDIzLjc5NTQ5N10gMDA1OiByYW5kb206IHVkZXZkOiB1bmluaXRp YWxpemVkIHVyYW5kb20gcmVhZCAoMTYgYnl0ZXMgcmVhZCkKWyAgIDIzLjgxNzIyOF0gMDA1OiB1 ZGV2ZFszNDJdOiBzcGVjaWZpZWQgZ3JvdXAgJ2lucHV0JyB1bmtub3duClsgICAyMy44MTc1MjVd IDAwNTogdWRldmRbMzQyXTogc3BlY2lmaWVkIGdyb3VwICdrdm0nIHVua25vd24KWyAgIDIzLjgy OTQ3NF0gMDAyOiB1ZGV2ZFszNDNdOiBzdGFydGluZyBldWRldi0zLjIuNwpbICAgMjUuMjU4Nzg4 XSAwMDQ6IHFzeXNfcHJvYzogbG9hZGluZyBvdXQtb2YtdHJlZSBtb2R1bGUgdGFpbnRzIGtlcm5l bC4KWyAgIDI1LjY0ODk5MF0gMDA1OiBFWFQ0LWZzIChsb29wMSk6IG1vdW50ZWQgZmlsZXN5c3Rl bSB3aXRoIG9yZGVyZWQgZGF0YSBtb2RlLiBPcHRzOiAobnVsbCkKWyAgIDI1LjY0OTAwOF0gMDA1 OiBleHQ0IGZpbGVzeXN0ZW0gYmVpbmcgbW91bnRlZCBhdCAvdmFyL3J3ZnMyIHN1cHBvcnRzIHRp bWVzdGFtcHMgdW50aWwgMjAzOCAoMHg3ZmZmZmZmZikKWyAgIDI2LjA0ODM4M10gMDA0OiA4MDIx cTogYWRkaW5nIFZMQU4gMCB0byBIVyBmaWx0ZXIgb24gZGV2aWNlIGV0aDAKWyAgIDI4LjcwOTA0 OV0gMDA1OiBkdy1taXBpLWRzaS1yb2NrY2hpcCBmZjk2MDAwMC5taXBpOiBmYWlsZWQgdG8gd3Jp dGUgY29tbWFuZCBGSUZPClsgICAyOC43MDkwNTZdIDAwNTogcGFuZWwta2luZ2Rpc3BsYXkta2Qw OTdkMDQgZmY5NjAwMDAubWlwaS4wOiBbZHJtOmtpbmdkaXNwbGF5X3BhbmVsX3ByZXBhcmVdICpF UlJPUiogZmFpbGVkIHdyaXRlIGluaXQgY21kczogLTExMApbICAgMjkuMDAxODQ4XSAwMDQ6IGln YiAwMDAwOjAxOjAwLjAgZXRoMDogaWdiOiBldGgwIE5JQyBMaW5rIGlzIFVwIDEwMDAgTWJwcyBG dWxsIER1cGxleCwgRmxvdyBDb250cm9sOiBSWC9UWApbICAgMjkuMjE3NjM5XSAwMDQ6IElQdjY6 IEFERFJDT05GKE5FVERFVl9DSEFOR0UpOiBldGgwOiBsaW5rIGJlY29tZXMgcmVhZHkKWyAgIDMw Ljc0NDYzMl0gMDA1OiB1cmFuZG9tX3JlYWQ6IDMgY2FsbGJhY2tzIHN1cHByZXNzZWQKWyAgIDMw Ljc0NDY0Ml0gMDA1OiByYW5kb206IHRzYzhfc3BsYXNoOiB1bmluaXRpYWxpemVkIHVyYW5kb20g cmVhZCAoOCBieXRlcyByZWFkKQpbICAgMzIuOTcxNTYzXSAwMDU6IHJhbmRvbTogZGJ1cy1kYWVt b246IHVuaW5pdGlhbGl6ZWQgdXJhbmRvbSByZWFkICgxMiBieXRlcyByZWFkKQpbICAgMzIuOTcy NDU0XSAwMDU6IHJhbmRvbTogZGJ1cy1kYWVtb246IHVuaW5pdGlhbGl6ZWQgdXJhbmRvbSByZWFk ICg4IGJ5dGVzIHJlYWQpClsgICAzMi45NzI3OThdIDAwNTogcmFuZG9tOiBkYnVzLWRhZW1vbjog dW5pbml0aWFsaXplZCB1cmFuZG9tIHJlYWQgKDEyIGJ5dGVzIHJlYWQpClsgICAzNC43NDEyODhd IDAwNDogcmFuZG9tOiBjcm5nIGluaXQgZG9uZQoKCg== --=-XMUVsVyMGq5lyknRa+e9--