From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: passt.top; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=U2Uv1k+Y; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by passt.top (Postfix) with ESMTPS id 411585A026F for ; Tue, 23 Sep 2025 09:16:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1758611810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Bxuff0taYgG9HWXcDTjngm8Uuhm/rUKDvFXtROIwBOo=; b=U2Uv1k+YSg4/vzt3POIfWmHxvVqPzibosA0A1LUQ8rJ8GKOe869uxGRa8i30YK8CrGRkUG a8AAl6cKGaKicol2YII2Kjl9hdnk+KuqvPjTGiRGYjtm5ZHzO6Uk66m4tS8nQHY4UrGQNA AzwoHk6lD+pW3S5zfC19U4IpGHctgNA= Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-460-wVZFGJs_N4qk5xriim0gBA-1; Tue, 23 Sep 2025 03:16:47 -0400 X-MC-Unique: wVZFGJs_N4qk5xriim0gBA-1 X-Mimecast-MFC-AGG-ID: wVZFGJs_N4qk5xriim0gBA_1758611806 Received: by mail-ed1-f71.google.com with SMTP id 4fb4d7f45d1cf-62f8fefe873so1326296a12.1 for ; Tue, 23 Sep 2025 00:16:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758611806; x=1759216606; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Bxuff0taYgG9HWXcDTjngm8Uuhm/rUKDvFXtROIwBOo=; b=xPHnf/kLMnoKpqFyHHUMcP3PW/0ZQbKw0BqWVQKkXr0pkrerRQOjqEKtBHbryZlLGG G/bYybb1COd08XlAKiC1UUQK/blNFlYyLaquQbhbH/yXwRxbiCiVSaBFdRRl06iKExH8 jR+uxYR1/XzT+4cOxsoUM+wueyKLpcnri4maMRpzAFWiJkjBDj0kovo5MhxNkNV4zPnW tZHu+G5N2HYLiPmqSEBtKohXb+fo7f8GgoDbkJrTEPz/CAp3bZ0N6nuZGKBYgTlQ0/6E ywJzpKzJbypzVQ5aLbQmniBwMoxtffU8qAuJ7x0QdKZPDNCqqz9IRpQS5tkB+13vSGVw 4jLA== X-Gm-Message-State: AOJu0Yy6Ft+GgtIGYTzB0astSZWEqmOvcgTPS1aIcT6X1pdh2kKt6JLf x3Vd45p4w6Yy3QZVrcyyj/DcYLtO2O83TzTHBmBcf8Q+6gUpTkqJe7/eivVWQKXp/q6l19oLT8F JApPOEmtbyOvRqjWzPOqIbtRRqC56cGdn+9fYwgbdUt2iwQyvw3Q3mZ00xiqaYyGX35OHrXe+/1 sPyx3nclN5+gUr85/OmZIpjiEth8Jy X-Gm-Gg: ASbGnctyGXtX4pm/9YpNkuZA2M7FaddGJrEpZdmggYfxFLEl2LcEdfPymOoIjKf4iME QN6L6eGvuW+QYM9bBBE4CtbA8gLFpvnW6n0wkusDXs3iNTxNtAB5kviOPSIW7m4RcjukyQQuKzs QBvlieEZQQy8lKTz/9X2etNw== X-Received: by 2002:a05:6402:2087:b0:62f:4915:bc47 with SMTP id 4fb4d7f45d1cf-63467798711mr1206480a12.1.1758611806122; Tue, 23 Sep 2025 00:16:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFKGxcMlurwQe52N8ppt/U9T9ZzDv5euk5AojWTJQpS+ZD+TCW4Lwetv+4fGBL5I7y1EZNyBhZU9/tOoT7Tsi4= X-Received: by 2002:a05:6402:2087:b0:62f:4915:bc47 with SMTP id 4fb4d7f45d1cf-63467798711mr1206452a12.1.1758611805525; Tue, 23 Sep 2025 00:16:45 -0700 (PDT) MIME-Version: 1.0 References: <20250919014329.6007-1-yuhuang@redhat.com> <20250919115822.4e3aab21@elisabeth> <20250922220338.49013fce@elisabeth> In-Reply-To: From: Yumei Huang Date: Tue, 23 Sep 2025 15:16:32 +0800 X-Gm-Features: AS18NWB4Rn_q0lm8id9hoA2f5dCO320WYSW5hT1BnTfGCeFAGhPbK0mLKPZ2ap4 Message-ID: Subject: Re: [PATCH] test: Update README.md To: Stefano Brivio X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: qVTH3KIce8IW7nM-B3REUEBlQqNPYZn8ohnPC2zMXA4_1758611806 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000f7a448063f72b716" Message-ID-Hash: F2JDWVEH3GFVZF3SKOKBAHRKOLCUSB6D X-Message-ID-Hash: F2JDWVEH3GFVZF3SKOKBAHRKOLCUSB6D X-MailFrom: yuhuang@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: passt-dev@passt.top, david@gibson.dropbear.id.au X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --000000000000f7a448063f72b716 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Sep 23, 2025 at 2:36=E2=80=AFPM Yumei Huang wr= ote: > > On Tue, Sep 23, 2025 at 4:03=E2=80=AFAM Stefano Brivio wrote: > > > > On Mon, 22 Sep 2025 11:03:23 +0800 > > Yumei Huang wrote: > > > > > On Fri, Sep 19, 2025 at 5:58=E2=80=AFPM Stefano Brivio wrote: > > > > > > > > On Fri, 19 Sep 2025 09:43:29 +0800 > > > > Yumei Huang wrote: > > > > > > > > > Signed-off-by: Yumei Huang > > > > > --- > > > > > test/README.md | 31 +++++++++++++++++++++++++++++-- > > > > > 1 file changed, 29 insertions(+), 2 deletions(-) > > > > > > > > > > diff --git a/test/README.md b/test/README.md > > > > > index 91ca603..e3e9d37 100644 > > > > > --- a/test/README.md > > > > > +++ b/test/README.md > > > > > @@ -32,7 +32,7 @@ Example for Debian, and possibly most Debian-ba= sed distributions: > > > > > git go iperf3 isc-dhcp-common jq libgpgme-dev libseccomp-dev= linux-cpupower > > > > > lm-sensors lz4 netavark netcat-openbsd psmisc qemu-efi-aarch= 64 > > > > > qemu-system-arm qemu-system-misc qemu-system-ppc qemu-system= -x86 > > > > > - qemu-system-x86 sipcalc socat strace tmux uidmap valgrind > > > > > + sipcalc socat strace tmux uidmap valgrind > > > > > > > > > > NOTE: the tests need a qemu version >=3D 7.2, or one that contai= ns commit > > > > > 13c6be96618c ("net: stream: add unix socket"): this change intro= duces support > > > > > @@ -81,7 +81,12 @@ The following additional packages are commonly= needed: > > > > > > > > > > ## Regular test > > > > > > > > > > -Just issue: > > > > > +Before running the tests, you need to prepare the required asset= s: > > > > > + > > > > > + cd test > > > > > + make assets > > > > > + > > > > > +Then issue: > > > > > > > > > > ./run > > > > > > > > > > @@ -91,6 +96,28 @@ variable settings: DEBUG=3D1 enables debugging= messages, TRACE=3D1 enables tracing > > > > > > > > > > PCAP=3D1 TRACE=3D1 ./run > > > > > > > > > > +**Note:** > > > > > + > > > > > +* It's recommended to run the commands as a non-root user. > > > > > + Due to [Bug 967509](https://bugzilla.redhat.com/show_bug.cgi?i= d=3D967509), > > > > > + if you switch users with `su` or `sudo`, the directory `/run/u= ser/ID` may > > > > > + not be created. In that case, `XDG_RUNTIME_DIR` will incorrect= ly point to > > > > > + `/run/user/0` instead of `/run/user/ID`, which can cause error= . > > > > > > > > Thanks for the research, I wasn't aware of that, and recently spent > > > > quite some time figuring that out (for other reasons): > > > > > > > > https://issues.redhat.com/browse/RHEL-70222 > > > > > > > > in that case, XDG_RUNTIME_DIR was simply not set. Things were worki= ng > > > > with 'machinectl shell' instead. > > > > > > > > At the same time: running this whole stuff as root sounds rather cr= azy, > > > > unless it's a throw-away VMs with absolutely nothing important on i= t. > > > > > > > > That is, regardless of the issue with XDG_RUNTIME_DIR. I would mayb= e > > > > make the wording stronger, something like: > > > > > > > > * Don't run the tests as root, it's not needed! > > > > * If you really need to, note that ... > > > > > > > > > + **Workaround:** Log out and log back in as the intended user t= o ensure the > > > > > + correct runtime directory is set up. > > > > > > > > We could also suggest 'machinectl shell' if it's really needed for > > > > whatever reason. > > > > > > I'm not sure how 'machinectl shell' works here. The error happens whe= n > > > running 'make assets', > > > which calls 'prepare-distro-img.sh' script, which calls 'virsh edit'. > > > > Ah, I didn't know! So this is actually similar to > > https://issues.redhat.com/browse/RHEL-70222. > > > > > If we run 'make assets' with root, the error is like this: > > > > > > ./prepare-distro-img.sh prepared-debian-8.11.0-openstack-amd64.qcow2 > > > libguestfs: error: could not create appliance through libvirt. > > > Original error from libvirt: Cannot access storage file > > > '/home/test/passt/test/prepared-debian-8.11.0-openstack-amd64.qcow2' > > > (as uid:107, gid:107): Permission denied [code=3D38 int1=3D13] > > > > > > If we switch to a non-root user via 'su', the error is like this: > > > > > > ./prepare-distro-img.sh prepared-debian-8.11.0-openstack-amd64.qcow2 > > > libvirt: XML-RPC error : Cannot create user runtime directory > > > '/run/user/0/libvirt': Permission denied > > > libguestfs: error: could not connect to libvirt (URI =3D > > > qemu:///session): Cannot create user runtime directory > > > '/run/user/0/libvirt': Permission denied [code=3D38 int1=3D13] > > > make: *** [Makefile:115: prepared-debian-8.11.0-openstack-amd64.qcow2= ] Error 1 > > > > > > Do you mean to run 'make assets' with 'machinectl shell'? What's the > > > exact cmd here? I tried this, seems not work. > > > > > > # machinectl shell --uid=3D$(id -u pat) .host > > > /home/test/passt/test/make assets > > > Connected to the local host. Press ^] three times within 1s to ex= it session. > > > > > > Connection to the local host terminated. > > > > No, I mean using 'machinectl shell' instead of 'su' (it's intended as a > > replacement), that is: > > > > $ machinectl shell > > # make assets > > > > ...because that one will set XDG_RUNTIME_DIR. > > Yes, 'machinectl shell' will solve the issue when switching to a > non-root user via su. But it doesn't solve the issue when running > 'make assets' as root. They are actually different issues as above. > Maybe we can just put it like: > > Running the commands as root is just not allowed. If you login > the system with root, don't use su to switch users due to [Bug > 967509](https://bugzilla.redhat.com/show_bug.cgi?id=3D967509). Log out > and log back in as the intended user, or use 'machinectl shell > --uid=3D$user'. > > What do you think? > > > > > > > +* SELinux may prevent the tests from running correctly. To avoid= this, > > > > > + temporarily disable it by running: > > > > > + > > > > > + setenforce 0 > > > > > > > > By the way, other than the DHCP client not working on Fedora in a > > > > namespace (which we should really fix, I can look into it if you sh= are > > > > the messages you're getting from /var/log/audit/audit.log), did you= hit > > > > any other issue with it? > > > > > > > > > > Sure, I will send you a link containing the audit.log. > > > BTW, if 'setenforce 1', the tests would get stuck at 'DHCPv6 > > > :address'. Looks like an endless loop there. So except the very first > > > few tests, other tests haven't been executed. > > > > > > =3D=3D=3D pasta/dhcp > > > DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:DEB= UG:DEBUG:DEBUG:DEBUG:DEBUG:DEBUG:> > > > Interface name > > > DEBUG:DEBUG:? [ -n "eno8303" ] > > > DEBUG:DEBUG:...passed. > > > > > > > DHCP: address > > > DEBUG:DEBUG:DEBUG:DEBUG:? [ @EMPTY@ =3D 10.72.136.30 ] < failed. > > > DEBUG:DEBUG:...failed. > > > > > > > DHCP: route > > > DEBUG:DEBUG:DEBUG:? [ @EMPTY@ =3D 10.72.139.254 ] < failed. > > > DEBUG:DEBUG:...failed. > > > > > > > DHCP: MTU > > > DEBUG:DEBUG:? [ 1500 =3D 65520 ] < failed. > > > DEBUG:DEBUG:...failed. > > > > > > > DHCPv6: address > > > DEBUG: > > > > Thanks, so it's the issue David recently mentioned with > > dhclient-script(8) being prevented by SELinux from setting up addresses > > and routes via ip(8), even though it's in a detached namespace and that > > should be allowed. > > > > We should probably add something like we do in contrib/selinux/pasta.te > > to https://github.com/fedora-selinux/selinux-policy: > > > > roleattribute user_r usernetctl_roles; > > role usernetctl_roles types ; > > > > Now, we can disable SELinux temporarily to run tests, but eventually > > we'll want to have tests with DHCP clients in unprivileged setups also > > as part of Fedora automated tests, and I'm fairly sure that those run > > with SELinux in enforcing mode. So we should really fix this. > > Sure, I will file a ticket for that. > > > > By the way, it would also be interesting to see if, once the test suite > > gets past this point, you get further messages in audit.log. > > > > If you do 'setenforce 0', SELinux switches to the so-called "complain > > mode", and warnings are still logged, but they won't block anything. > > > > So, with 'setenforce 0', we can find out from audit.log if we would hit > > further failures. > > Here is the audit.log: > > https://privatebin.corp.redhat.com/?49fef5ef2e766c42#Fki5LnD9EGMfDDpmvFPp= 1WqGbQPwQk4qQmQbmKugDLxb Sorry for the wrong link. Attached the log. > > From what I can see, there is no 'avc: denied' after the dhcp cases. > > > > > Maybe also relevant: > > > > https://github.com/fedora-selinux/selinux-policy/pull/1838 > > > > ...but it's not being merged for some reason. > > > > -- > > Stefano > > > > > -- > Thanks, > > Yumei Huang --=20 Thanks, Yumei Huang --000000000000f7a448063f72b716 Content-Type: text/x-log; charset="US-ASCII"; name="audit.log" Content-Disposition: attachment; filename="audit.log" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mfw80rc80 ICAgIHR5cGU9QVZDIG1zZz1hdWRpdCgxNzU4NjA3NTY0LjE3MToxNDM1OSk6IGF2YzogIGRlbmll ZCAgeyBhcHBlbmQgfSBmb3IgIHBpZD0zMjI5MjQxIGNvbW09ImRoY2xpZW50IiBwYXRoPSIvdG1w L3Bhc3N0LXRlc3RzLUhiakZTUi9wYXN0YS9jb250ZXh0X25zLnN0ZG91dC4wVU9IelpCdyIgZGV2 PSJ0bXBmcyIgaW5vPTEyMDAzNCBzY29udGV4dD11bmNvbmZpbmVkX3U6c3lzdGVtX3I6ZGhjcGNf dDpzMC1zMDpjMC5jMTAyMyB0Y29udGV4dD11bmNvbmZpbmVkX3U6b2JqZWN0X3I6dXNlcl90bXBf dDpzMCB0Y2xhc3M9Zmlmb19maWxlIHBlcm1pc3NpdmU9MQogICAgdHlwZT1BVkMgbXNnPWF1ZGl0 KDE3NTg2MDc1NjQuMTc0OjE0MzYwKTogYXZjOiAgZGVuaWVkICB7IGRhY19vdmVycmlkZSB9IGZv ciAgcGlkPTMyMjkyNDIgY29tbT0iZGhjbGllbnQiIGNhcGFiaWxpdHk9MSAgc2NvbnRleHQ9dW5j b25maW5lZF91OnN5c3RlbV9yOmRoY3BjX3Q6czAtczA6YzAuYzEwMjMgdGNvbnRleHQ9dW5jb25m aW5lZF91OnN5c3RlbV9yOmRoY3BjX3Q6czAtczA6YzAuYzEwMjMgdGNsYXNzPWNhcF91c2VybnMg cGVybWlzc2l2ZT0xCiAgICB0eXBlPUFWQyBtc2c9YXVkaXQoMTc1ODYwNzU2NC4xNzY6MTQzNjEp OiBhdmM6ICBkZW5pZWQgIHsgaW9jdGwgfSBmb3IgIHBpZD0zMjI5MjQ1IGNvbW09ImRoY2xpZW50 LXNjcmlwdCIgcGF0aD0iL3RtcC9wYXNzdC10ZXN0cy1IYmpGU1IvcGFzdGEvY29udGV4dF9ucy5z dGRlcnIueElyRkFNRzkiIGRldj0idG1wZnMiIGlubz0xMjAwMzUgaW9jdGxjbWQ9MHg1NDBmIHNj b250ZXh0PXVuY29uZmluZWRfdTpzeXN0ZW1fcjpkaGNwY190OnMwLXMwOmMwLmMxMDIzIHRjb250 ZXh0PXVuY29uZmluZWRfdTpvYmplY3Rfcjp1c2VyX3RtcF90OnMwIHRjbGFzcz1maWZvX2ZpbGUg cGVybWlzc2l2ZT0xCiAgICB0eXBlPUFWQyBtc2c9YXVkaXQoMTc1ODYwNzU2NC4xNzc6MTQzNjIp OiBhdmM6ICBkZW5pZWQgIHsgZGFjX3JlYWRfc2VhcmNoIH0gZm9yICBwaWQ9MzIyOTI0NSBjb21t PSJkaGNsaWVudC1zY3JpcHQiIGNhcGFiaWxpdHk9MiAgc2NvbnRleHQ9dW5jb25maW5lZF91OnN5 c3RlbV9yOmRoY3BjX3Q6czAtczA6YzAuYzEwMjMgdGNvbnRleHQ9dW5jb25maW5lZF91OnN5c3Rl bV9yOmRoY3BjX3Q6czAtczA6YzAuYzEwMjMgdGNsYXNzPWNhcF91c2VybnMgcGVybWlzc2l2ZT0x CiAgICB0eXBlPUFWQyBtc2c9YXVkaXQoMTc1ODYwNzU2NC4xODM6MTQzNjMpOiBhdmM6ICBkZW5p ZWQgIHsgbmV0X2FkbWluIH0gZm9yICBwaWQ9MzIyOTI0OSBjb21tPSJpcCIgY2FwYWJpbGl0eT0x MiAgc2NvbnRleHQ9dW5jb25maW5lZF91OnN5c3RlbV9yOmlmY29uZmlnX3Q6czAtczA6YzAuYzEw MjMgdGNvbnRleHQ9dW5jb25maW5lZF91OnN5c3RlbV9yOmlmY29uZmlnX3Q6czAtczA6YzAuYzEw MjMgdGNsYXNzPWNhcF91c2VybnMgcGVybWlzc2l2ZT0xCiAgICB0eXBlPUFWQyBtc2c9YXVkaXQo MTc1ODYwNzU2NC4xODQ6MTQzNjQpOiBhdmM6ICBkZW5pZWQgIHsgbmV0X3JhdyB9IGZvciAgcGlk PTMyMjkyNDIgY29tbT0iZGhjbGllbnQiIGNhcGFiaWxpdHk9MTMgIHNjb250ZXh0PXVuY29uZmlu ZWRfdTpzeXN0ZW1fcjpkaGNwY190OnMwLXMwOmMwLmMxMDIzIHRjb250ZXh0PXVuY29uZmluZWRf dTpzeXN0ZW1fcjpkaGNwY190OnMwLXMwOmMwLmMxMDIzIHRjbGFzcz1jYXBfdXNlcm5zIHBlcm1p c3NpdmU9MQogICAgdHlwZT1BVkMgbXNnPWF1ZGl0KDE3NTg2MDc1NjQuMjAzOjE0MzY1KTogYXZj OiAgZGVuaWVkICB7IG5ldF9yYXcgfSBmb3IgIHBpZD0zMjI5MjU2IGNvbW09ImFycGluZyIgY2Fw YWJpbGl0eT0xMyAgc2NvbnRleHQ9dW5jb25maW5lZF91OnN5c3RlbV9yOm5ldHV0aWxzX3Q6czAt czA6YzAuYzEwMjMgdGNvbnRleHQ9dW5jb25maW5lZF91OnN5c3RlbV9yOm5ldHV0aWxzX3Q6czAt czA6YzAuYzEwMjMgdGNsYXNzPWNhcF91c2VybnMgcGVybWlzc2l2ZT0xCiAgICB0eXBlPUFWQyBt c2c9YXVkaXQoMTc1ODYwNzU2OS40NjM6MTQzNjYpOiBhdmM6ICBkZW5pZWQgIHsgaW9jdGwgfSBm b3IgIHBpZD0zMjMwNDE3IGNvbW09ImRoY2xpZW50LXNjcmlwdCIgcGF0aD0iL3RtcC9wYXNzdC10 ZXN0cy1IYmpGU1IvcGFzdGEvY29udGV4dF9ucy5zdGRlcnIueGlwbEtSd0QiIGRldj0idG1wZnMi IGlubz0xMjAwNDcgaW9jdGxjbWQ9MHg1NDBmIHNjb250ZXh0PXVuY29uZmluZWRfdTpzeXN0ZW1f cjpkaGNwY190OnMwLXMwOmMwLmMxMDIzIHRjb250ZXh0PXVuY29uZmluZWRfdTpvYmplY3Rfcjp1 c2VyX3RtcF90OnMwIHRjbGFzcz1maWZvX2ZpbGUgcGVybWlzc2l2ZT0xCiAgICB0eXBlPVNFUlZJ Q0VfU1RPUCBtc2c9YXVkaXQoMTc1ODYwNzU4Ny45Mzg6MTQzNjcpOiBwaWQ9MSB1aWQ9MCBhdWlk PTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6 czAgbXNnPSd1bml0PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9s aWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNj ZXNzJ1VJRD0icm9vdCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYw NzU4Ny45OTE6MTQzNjgpOiBwcm9nLWlkPTYwOCBvcD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1h dWRpdCgxNzU4NjA3NjAxLjgyNDoxNDM2OSk6IHByb2ctaWQ9NjEwIG9wPVVOTE9BRAogICAgdHlw ZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDc2MDEuODI0OjE0MzcwKTogcHJvZy1pZD02MDkgb3A9VU5M T0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzYwMS44NDM6MTQzNzEpOiBwcm9nLWlk PTYxMSBvcD1MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzYwMS44NDQ6MTQzNzIp OiBwcm9nLWlkPTYxMiBvcD1MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzYwMS44 NDQ6MTQzNzMpOiBwcm9nLWlkPTYxMyBvcD1MT0FECiAgICB0eXBlPVNFUlZJQ0VfU1RBUlQgbXNn PWF1ZGl0KDE3NTg2MDc2MDEuODkyOjE0Mzc0KTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1 IHNlcz00Mjk0OTY3Mjk1IHN1Ymo9c3lzdGVtX3U6c3lzdGVtX3I6aW5pdF90OnMwIG1zZz0ndW5p dD1zeXN0ZW1kLWhvc3RuYW1lZCBjb21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQv c3lzdGVtZCIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcydVSUQ9InJv b3QiIEFVSUQ9InVuc2V0IgogICAgdHlwZT1TRVJWSUNFX1NUT1AgbXNnPWF1ZGl0KDE3NTg2MDc2 NTguMDgzOjE0Mzc1KTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1 IHN1Ymo9c3lzdGVtX3U6c3lzdGVtX3I6aW5pdF90OnMwIG1zZz0ndW5pdD1zeXN0ZW1kLWhvc3Ru YW1lZCBjb21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5h bWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcydVSUQ9InJvb3QiIEFVSUQ9InVuc2V0 IgogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDc2NTguMTM2OjE0Mzc2KTogcHJvZy1pZD02 MTEgb3A9VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzY3Ni43MDc6MTQzNzcp OiBwcm9nLWlkPTYxMyBvcD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA3Njc2 LjcwNzoxNDM3OCk6IHByb2ctaWQ9NjEyIG9wPVVOTE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0 KDE3NTg2MDc2NzYuNzIyOjE0Mzc5KTogcHJvZy1pZD02MTQgb3A9TE9BRAogICAgdHlwZT1CUEYg bXNnPWF1ZGl0KDE3NTg2MDc2NzYuNzIzOjE0MzgwKTogcHJvZy1pZD02MTUgb3A9TE9BRAogICAg dHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDc2NzYuNzIzOjE0MzgxKTogcHJvZy1pZD02MTYgb3A9 TE9BRAogICAgdHlwZT1TRVJWSUNFX1NUQVJUIG1zZz1hdWRpdCgxNzU4NjA3Njc2Ljc3MToxNDM4 Mik6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBzdWJqPXN5c3Rl bV91OnN5c3RlbV9yOmluaXRfdDpzMCBtc2c9J3VuaXQ9c3lzdGVtZC1ob3N0bmFtZWQgY29tbT0i c3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/ IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnVUlEPSJyb290IiBBVUlEPSJ1bnNldCIKICAgIHR5cGU9 U0VSVklDRV9TVE9QIG1zZz1hdWRpdCgxNzU4NjA3NzA2LjgwODoxNDM4Myk6IHBpZD0xIHVpZD0w IGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBzdWJqPXN5c3RlbV91OnN5c3RlbV9yOmlu aXRfdDpzMCBtc2c9J3VuaXQ9c3lzdGVtZC1ob3N0bmFtZWQgY29tbT0ic3lzdGVtZCIgZXhlPSIv dXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVz PXN1Y2Nlc3MnVUlEPSJyb290IiBBVUlEPSJ1bnNldCIKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgx NzU4NjA3NzA2Ljg1MjoxNDM4NCk6IHByb2ctaWQ9NjE0IG9wPVVOTE9BRAogICAgdHlwZT1CUEYg bXNnPWF1ZGl0KDE3NTg2MDc3ODMuMTgyOjE0Mzg1KTogcHJvZy1pZD02MTYgb3A9VU5MT0FECiAg ICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzc4My4xODI6MTQzODYpOiBwcm9nLWlkPTYxNSBv cD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA3NzgzLjIwMjoxNDM4Nyk6IHBy b2ctaWQ9NjE3IG9wPUxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA3NzgzLjIwMzox NDM4OCk6IHByb2ctaWQ9NjE4IG9wPUxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA3 NzgzLjIwMzoxNDM4OSk6IHByb2ctaWQ9NjE5IG9wPUxPQUQKICAgIHR5cGU9U0VSVklDRV9TVEFS VCBtc2c9YXVkaXQoMTc1ODYwNzc4My4yNDk6MTQzOTApOiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5 NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6czAgbXNn PSd1bml0PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lz dGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJ1VJ RD0icm9vdCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPVNFUlZJQ0VfU1RPUCBtc2c9YXVkaXQoMTc1 ODYwNzgxMy4yODU6MTQzOTEpOiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5 NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6czAgbXNnPSd1bml0PXN5c3RlbWQt aG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBo b3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJ1VJRD0icm9vdCIgQVVJRD0i dW5zZXQiCiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzgxMy4zMzE6MTQzOTIpOiBwcm9n LWlkPTYxNyBvcD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA3ODUzLjY4MDox NDM5Myk6IHByb2ctaWQ9NjE5IG9wPVVOTE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2 MDc4NTMuNjgwOjE0Mzk0KTogcHJvZy1pZD02MTggb3A9VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9 YXVkaXQoMTc1ODYwNzg1My42ODQ6MTQzOTUpOiBwcm9nLWlkPTYyMCBvcD1MT0FECiAgICB0eXBl PUJQRiBtc2c9YXVkaXQoMTc1ODYwNzg1My42ODQ6MTQzOTYpOiBwcm9nLWlkPTYyMSBvcD1MT0FE CiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwNzg1My42ODU6MTQzOTcpOiBwcm9nLWlkPTYy MiBvcD1MT0FECiAgICB0eXBlPVNFUlZJQ0VfU1RBUlQgbXNnPWF1ZGl0KDE3NTg2MDc4NTMuNzI5 OjE0Mzk4KTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IHN1Ymo9 c3lzdGVtX3U6c3lzdGVtX3I6aW5pdF90OnMwIG1zZz0ndW5pdD1zeXN0ZW1kLWhvc3RuYW1lZCBj b21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBh ZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcydVSUQ9InJvb3QiIEFVSUQ9InVuc2V0IgogICAg dHlwZT1TRVJWSUNFX1NUT1AgbXNnPWF1ZGl0KDE3NTg2MDc4ODMuNzY2OjE0Mzk5KTogcGlkPTEg dWlkPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IHN1Ymo9c3lzdGVtX3U6c3lzdGVt X3I6aW5pdF90OnMwIG1zZz0ndW5pdD1zeXN0ZW1kLWhvc3RuYW1lZCBjb21tPSJzeXN0ZW1kIiBl eGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9 PyByZXM9c3VjY2VzcydVSUQ9InJvb3QiIEFVSUQ9InVuc2V0IgogICAgdHlwZT1CUEYgbXNnPWF1 ZGl0KDE3NTg2MDc4ODMuODE0OjE0NDAwKTogcHJvZy1pZD02MjAgb3A9VU5MT0FECiAgICB0eXBl PUJQRiBtc2c9YXVkaXQoMTc1ODYwODAyMi45Njk6MTQ0MDEpOiBwcm9nLWlkPTYyMiBvcD1VTkxP QUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4MDIyLjk2OToxNDQwMik6IHByb2ctaWQ9 NjIxIG9wPVVOTE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgwMjIuOTg0OjE0NDAz KTogcHJvZy1pZD02MjMgb3A9TE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgwMjIu OTg0OjE0NDA0KTogcHJvZy1pZD02MjQgb3A9TE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3 NTg2MDgwMjIuOTg1OjE0NDA1KTogcHJvZy1pZD02MjUgb3A9TE9BRAogICAgdHlwZT1TRVJWSUNF X1NUQVJUIG1zZz1hdWRpdCgxNzU4NjA4MDIzLjAzMjoxNDQwNik6IHBpZD0xIHVpZD0wIGF1aWQ9 NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBzdWJqPXN5c3RlbV91OnN5c3RlbV9yOmluaXRfdDpz MCBtc2c9J3VuaXQ9c3lzdGVtZC1ob3N0bmFtZWQgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xp Yi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nl c3MnVUlEPSJyb290IiBBVUlEPSJ1bnNldCIKICAgIHR5cGU9U0VSVklDRV9TVE9QIG1zZz1hdWRp dCgxNzU4NjA4MDUzLjA3MDoxNDQwNyk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9 NDI5NDk2NzI5NSBzdWJqPXN5c3RlbV91OnN5c3RlbV9yOmluaXRfdDpzMCBtc2c9J3VuaXQ9c3lz dGVtZC1ob3N0bmFtZWQgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3Rl bWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnVUlEPSJyb290IiBB VUlEPSJ1bnNldCIKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4MDUzLjEyNDoxNDQwOCk6 IHByb2ctaWQ9NjIzIG9wPVVOTE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgwNTMu NjgyOjE0NDA5KTogcHJvZy1pZD02MjUgb3A9VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQo MTc1ODYwODA1My42ODI6MTQ0MTApOiBwcm9nLWlkPTYyNCBvcD1VTkxPQUQKICAgIHR5cGU9QlBG IG1zZz1hdWRpdCgxNzU4NjA4MDUzLjY5NjoxNDQxMSk6IHByb2ctaWQ9NjI2IG9wPUxPQUQKICAg IHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4MDUzLjY5NzoxNDQxMik6IHByb2ctaWQ9NjI3IG9w PUxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4MDUzLjY5NzoxNDQxMyk6IHByb2ct aWQ9NjI4IG9wPUxPQUQKICAgIHR5cGU9U0VSVklDRV9TVEFSVCBtc2c9YXVkaXQoMTc1ODYwODA1 My43Mzk6MTQ0MTQpOiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUg c3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6czAgbXNnPSd1bml0PXN5c3RlbWQtaG9zdG5h bWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFt ZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJ1VJRD0icm9vdCIgQVVJRD0idW5zZXQi CiAgICB0eXBlPVNFUlZJQ0VfU1RPUCBtc2c9YXVkaXQoMTc1ODYwODA4My43NzY6MTQ0MTUpOiBw aWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpz eXN0ZW1fcjppbml0X3Q6czAgbXNnPSd1bml0PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3Rl bWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJt aW5hbD0/IHJlcz1zdWNjZXNzJ1VJRD0icm9vdCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPUJQRiBt c2c9YXVkaXQoMTc1ODYwODA4My44Mjg6MTQ0MTYpOiBwcm9nLWlkPTYyNiBvcD1VTkxPQUQKICAg IHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4MjExLjE4NDoxNDQxNyk6IHByb2ctaWQ9NjI4IG9w PVVOTE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgyMTEuMTg0OjE0NDE4KTogcHJv Zy1pZD02Mjcgb3A9VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwODIxMS4xOTc6 MTQ0MTkpOiBwcm9nLWlkPTYyOSBvcD1MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYw ODIxMS4xOTc6MTQ0MjApOiBwcm9nLWlkPTYzMCBvcD1MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVk aXQoMTc1ODYwODIxMS4xOTc6MTQ0MjEpOiBwcm9nLWlkPTYzMSBvcD1MT0FECiAgICB0eXBlPVNF UlZJQ0VfU1RBUlQgbXNnPWF1ZGl0KDE3NTg2MDgyMTEuMjQ0OjE0NDIyKTogcGlkPTEgdWlkPTAg YXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1IHN1Ymo9c3lzdGVtX3U6c3lzdGVtX3I6aW5p dF90OnMwIG1zZz0ndW5pdD1zeXN0ZW1kLWhvc3RuYW1lZCBjb21tPSJzeXN0ZW1kIiBleGU9Ii91 c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9 c3VjY2VzcydVSUQ9InJvb3QiIEFVSUQ9InVuc2V0IgogICAgdHlwZT1TRVJWSUNFX1NUT1AgbXNn PWF1ZGl0KDE3NTg2MDgyNDEuMjg2OjE0NDIzKTogcGlkPTEgdWlkPTAgYXVpZD00Mjk0OTY3Mjk1 IHNlcz00Mjk0OTY3Mjk1IHN1Ymo9c3lzdGVtX3U6c3lzdGVtX3I6aW5pdF90OnMwIG1zZz0ndW5p dD1zeXN0ZW1kLWhvc3RuYW1lZCBjb21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQv c3lzdGVtZCIgaG9zdG5hbWU9PyBhZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcydVSUQ9InJv b3QiIEFVSUQ9InVuc2V0IgogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgyNDEuMzQyOjE0 NDI0KTogcHJvZy1pZD02Mjkgb3A9VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYw ODI0My44Nzk6MTQ0MjUpOiBwcm9nLWlkPTYzMSBvcD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1h dWRpdCgxNzU4NjA4MjQzLjg3OToxNDQyNik6IHByb2ctaWQ9NjMwIG9wPVVOTE9BRAogICAgdHlw ZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgyNDMuODk3OjE0NDI3KTogcHJvZy1pZD02MzIgb3A9TE9B RAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgyNDMuODk3OjE0NDI4KTogcHJvZy1pZD02 MzMgb3A9TE9BRAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDgyNDMuODk4OjE0NDI5KTog cHJvZy1pZD02MzQgb3A9TE9BRAogICAgdHlwZT1TRVJWSUNFX1NUQVJUIG1zZz1hdWRpdCgxNzU4 NjA4MjQzLjk0NToxNDQzMCk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2 NzI5NSBzdWJqPXN5c3RlbV91OnN5c3RlbV9yOmluaXRfdDpzMCBtc2c9J3VuaXQ9c3lzdGVtZC1o b3N0bmFtZWQgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhv c3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnVUlEPSJyb290IiBBVUlEPSJ1 bnNldCIKICAgIHR5cGU9U0VSVklDRV9TVE9QIG1zZz1hdWRpdCgxNzU4NjA4NTMyLjIyODoxNDQz MSk6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBzdWJqPXN5c3Rl bV91OnN5c3RlbV9yOmluaXRfdDpzMCBtc2c9J3VuaXQ9c3lzdGVtZC1ob3N0bmFtZWQgY29tbT0i c3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/ IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnVUlEPSJyb290IiBBVUlEPSJ1bnNldCIKICAgIHR5cGU9 QlBGIG1zZz1hdWRpdCgxNzU4NjA4NTMyLjI3NjoxNDQzMik6IHByb2ctaWQ9NjMyIG9wPVVOTE9B RAogICAgdHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDg1MzMuNjI3OjE0NDMzKTogcHJvZy1pZD02 MzQgb3A9VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwODUzMy42Mjc6MTQ0MzQp OiBwcm9nLWlkPTYzMyBvcD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4NTMz LjY0MToxNDQzNSk6IHByb2ctaWQ9NjM1IG9wPUxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgx NzU4NjA4NTMzLjY0MjoxNDQzNik6IHByb2ctaWQ9NjM2IG9wPUxPQUQKICAgIHR5cGU9QlBGIG1z Zz1hdWRpdCgxNzU4NjA4NTMzLjY0MjoxNDQzNyk6IHByb2ctaWQ9NjM3IG9wPUxPQUQKICAgIHR5 cGU9U0VSVklDRV9TVEFSVCBtc2c9YXVkaXQoMTc1ODYwODUzMy42ODU6MTQ0MzgpOiBwaWQ9MSB1 aWQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1f cjppbml0X3Q6czAgbXNnPSd1bml0PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4 ZT0iL3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/ IHJlcz1zdWNjZXNzJ1VJRD0icm9vdCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPVNFUlZJQ0VfU1RP UCBtc2c9YXVkaXQoMTc1ODYwODU2My43MjI6MTQ0MzkpOiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5 NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6czAgbXNn PSd1bml0PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lz dGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJ1VJ RD0icm9vdCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwODU2My43 NzY6MTQ0NDApOiBwcm9nLWlkPTYzNSBvcD1VTkxPQUQKICAgIHR5cGU9U0VSVklDRV9TVEFSVCBt c2c9YXVkaXQoMTc1ODYwODY3Ni44MjU6MTQ0NDEpOiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5Njcy OTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6czAgbXNnPSd1 bml0PWRuZi1tYWtlY2FjaGUgY29tbT0ic3lzdGVtZCIgZXhlPSIvdXNyL2xpYi9zeXN0ZW1kL3N5 c3RlbWQiIGhvc3RuYW1lPT8gYWRkcj0/IHRlcm1pbmFsPT8gcmVzPXN1Y2Nlc3MnVUlEPSJyb290 IiBBVUlEPSJ1bnNldCIKICAgIHR5cGU9U0VSVklDRV9TVE9QIG1zZz1hdWRpdCgxNzU4NjA4Njc2 LjgyNToxNDQ0Mik6IHBpZD0xIHVpZD0wIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2NzI5NSBz dWJqPXN5c3RlbV91OnN5c3RlbV9yOmluaXRfdDpzMCBtc2c9J3VuaXQ9ZG5mLW1ha2VjYWNoZSBj b21tPSJzeXN0ZW1kIiBleGU9Ii91c3IvbGliL3N5c3RlbWQvc3lzdGVtZCIgaG9zdG5hbWU9PyBh ZGRyPT8gdGVybWluYWw9PyByZXM9c3VjY2VzcydVSUQ9InJvb3QiIEFVSUQ9InVuc2V0IgogICAg dHlwZT1CUEYgbXNnPWF1ZGl0KDE3NTg2MDg5OTUuMTk2OjE0NDQzKTogcHJvZy1pZD02Mzcgb3A9 VU5MT0FECiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwODk5NS4xOTY6MTQ0NDQpOiBwcm9n LWlkPTYzNiBvcD1VTkxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4OTk1LjIyMTox NDQ0NSk6IHByb2ctaWQ9NjM4IG9wPUxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRpdCgxNzU4NjA4 OTk1LjIyMjoxNDQ0Nik6IHByb2ctaWQ9NjM5IG9wPUxPQUQKICAgIHR5cGU9QlBGIG1zZz1hdWRp dCgxNzU4NjA4OTk1LjIyMjoxNDQ0Nyk6IHByb2ctaWQ9NjQwIG9wPUxPQUQKICAgIHR5cGU9U0VS VklDRV9TVEFSVCBtc2c9YXVkaXQoMTc1ODYwODk5NS4yNzA6MTQ0NDgpOiBwaWQ9MSB1aWQ9MCBh dWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0 X3Q6czAgbXNnPSd1bml0PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vz ci9saWIvc3lzdGVtZC9zeXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1z dWNjZXNzJ1VJRD0icm9vdCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPVNFUlZJQ0VfU1RPUCBtc2c9 YXVkaXQoMTc1ODYwOTAyNS4zMDg6MTQ0NDkpOiBwaWQ9MSB1aWQ9MCBhdWlkPTQyOTQ5NjcyOTUg c2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0ZW1fdTpzeXN0ZW1fcjppbml0X3Q6czAgbXNnPSd1bml0 PXN5c3RlbWQtaG9zdG5hbWVkIGNvbW09InN5c3RlbWQiIGV4ZT0iL3Vzci9saWIvc3lzdGVtZC9z eXN0ZW1kIiBob3N0bmFtZT0/IGFkZHI9PyB0ZXJtaW5hbD0/IHJlcz1zdWNjZXNzJ1VJRD0icm9v dCIgQVVJRD0idW5zZXQiCiAgICB0eXBlPUJQRiBtc2c9YXVkaXQoMTc1ODYwOTAyNS4zNjI6MTQ0 NTApOiBwcm9nLWlkPTYzOCBvcD1VTkxPQUQK --000000000000f7a448063f72b716--