From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:49926) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1i6ibp-0005vP-Ca for guix-patches@gnu.org; Sat, 07 Sep 2019 17:51:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1i6ibm-0002b1-EP for guix-patches@gnu.org; Sat, 07 Sep 2019 17:51:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:57605) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1i6ibm-0002ak-3U for guix-patches@gnu.org; Sat, 07 Sep 2019 17:51:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1i6ibm-0006jr-0U for guix-patches@gnu.org; Sat, 07 Sep 2019 17:51:02 -0400 Subject: [bug#35813] [PATCH] Add crate-recursive-import. Resent-Message-ID: MIME-Version: 1.0 References: <20190808103956.GD5507@E2140> In-Reply-To: <20190808103956.GD5507@E2140> From: Brian Leung Date: Sat, 7 Sep 2019 23:49:59 +0200 Message-ID: Content-Type: multipart/mixed; boundary="00000000000076c5eb0591fd8b34" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Efraim Flashner Cc: 35813@debbugs.gnu.org --00000000000076c5eb0591fd8b34 Content-Type: multipart/alternative; boundary="00000000000076c5e80591fd8b32" --00000000000076c5e80591fd8b32 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Efraim, An updated patch is attached. I was and still am confused why my previous patch was yielding duplicates. I'm not getting duplicates right now, even with packages that previously yielded duplicates (I tried this on ripgrep); please test and let me know if there are any issues. Maybe I fixed the issue in the course of rebasing? And "guix import crate -r asfeusnoetuhesont" should now print "failed to download meta-data for...", though I don't know how to do this more idiomatically without using error or leave (which would end the recursive import earlier than desired). And the double quotes actually appear, which is not ideal. I'd appreciate any advice on how to clean this up. Best, Brian On Thu, Aug 8, 2019 at 12:39 PM Efraim Flashner wrote: > On Tue, Aug 06, 2019 at 06:03:23PM +0200, Brian Leung wrote: > > Should have sent this to you too, Ivan. > > > > On Tue, Aug 6, 2019 at 5:42 AM Brian Leung wrote: > > > > > OK, I updated to remove print statements I missed. > > > > > > On Mon, Aug 5, 2019 at 7:50 PM Brian Leung > wrote: > > > > > >> I took Karl's changes and updated them accordingly. I've also added = a > > >> small test. The patch containing his importer, my changes, and my > test is > > >> attached (the commit was made using my name--not sure if I should > instead > > >> apply Karl's patch). > > >> > > > > > I ran 'guix import crate -r afl' on a machine where I had a bunch of > crates pre-packaged the (very shorted output looked like this: > > (define-public rust-xdg > ... > > (define-public rust-xdg > ... > > (define-public rust-afl > (package > (name "rust-afl") > (version "0.4.4") > (source > (origin > (method url-fetch) > (uri (crate-uri "afl" version)) > (file-name > (string-append name "-" version ".tar.gz")) > (sha256 > (base32 > "14k6hnwzqn7rrs0hs87vcfqj4334k9wff38d15378frlxpviaard")))) > (build-system cargo-build-system) > (arguments > `(#:cargo-inputs > (("rust-cc" ,rust-cc) > ("rust-clap" ,rust-clap) > ("rust-rustc-version" ,rust-rustc-version) > ("rust-xdg" ,rust-xdg)) > #:cargo-development-inputs > (("rust-rustc-version" ,rust-rustc-version) > ("rust-xdg" ,rust-xdg)))) > (home-page "https://github.com/rust-fuzz/afl.rs") > (synopsis > "Fuzzing Rust code with american-fuzzy-lop") > (description > "Fuzzing Rust code with american-fuzzy-lop") > (license #f))) > > I know rust-xdg is there twice, but IMO it should only be printed once. > > also 'guix import crate -r rusty-fork' gives me #f > 'guix import crate rusty-fork' gives me: > guix import: error: failed to download meta-data for package 'rusty-fork' > > > -- > Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7= =9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 > GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 > Confidentiality cannot be guaranteed on emails sent or received unencrypt= ed > --00000000000076c5e80591fd8b32 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Efraim,

An updated patch is attached= .

I was and still am confused why my previous patc= h was yielding duplicates. I'm not getting duplicates right now, even w= ith packages that previously yielded duplicates (I tried this on ripgrep); = please test and=C2=A0let me know if there are=C2=A0any issues. Maybe I fixe= d the issue in the course of rebasing?

And "g= uix import crate -r asfeusnoetuhesont" should now print "failed t= o download meta-data for...", though I don't know how to do this m= ore idiomatically without using error or leave (which would end the recursi= ve import earlier than desired). And the double quotes actually appear, whi= ch is not ideal. I'd appreciate any advice on how to clean this up.

Best,
Brian

On Thu, Aug 8, 2019 at 12:= 39 PM Efraim Flashner <efraim@f= lashner.co.il> wrote:
On Tue, Aug 06, 2019 at 06:03:23PM +0200, Brian Leung wrote: > Should have sent this to you too, Ivan.
>
> On Tue, Aug 6, 2019 at 5:42 AM Brian Leung <bkleung89@gmail.com> wrote:
>
> > OK, I updated to remove print statements I missed.
> >
> > On Mon, Aug 5, 2019 at 7:50 PM Brian Leung <bkleung89@gmail.com> wrote: > >
> >> I took Karl's changes and updated them accordingly. I'= ;ve also added a
> >> small test. The patch containing his importer, my changes, an= d my test is
> >> attached (the commit was made using my name--not sure if I sh= ould instead
> >> apply Karl's patch).
> >>
> >

I ran 'guix import crate -r afl' on a machine where I had a bunch o= f
crates pre-packaged the (very shorted output looked like this:

(define-public rust-xdg
...

(define-public rust-xdg
...

(define-public rust-afl
=C2=A0 (package
=C2=A0 =C2=A0 (name "rust-afl")
=C2=A0 =C2=A0 (version "0.4.4")
=C2=A0 =C2=A0 (source
=C2=A0 =C2=A0 =C2=A0 (origin
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (method url-fetch)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (uri (crate-uri "afl" version))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (file-name
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (string-append name "-" versio= n ".tar.gz"))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (sha256
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (base32
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 "14k6hnwzqn7rrs0hs87vcfqj433= 4k9wff38d15378frlxpviaard"))))
=C2=A0 =C2=A0 (build-system cargo-build-system)
=C2=A0 =C2=A0 (arguments
=C2=A0 =C2=A0 =C2=A0 `(#:cargo-inputs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (("rust-cc" ,rust-cc)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0("rust-clap" ,rust-clap)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0("rust-rustc-version" ,rust-rus= tc-version)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0("rust-xdg" ,rust-xdg))
=C2=A0 =C2=A0 =C2=A0 =C2=A0 #:cargo-development-inputs
=C2=A0 =C2=A0 =C2=A0 =C2=A0 (("rust-rustc-version" ,rust-rustc-ve= rsion)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0("rust-xdg" ,rust-xdg))))
=C2=A0 =C2=A0 (home-page "https://github.com/rust-fuzz/afl.r= s")
=C2=A0 =C2=A0 (synopsis
=C2=A0 =C2=A0 =C2=A0 "Fuzzing Rust code with american-fuzzy-lop")=
=C2=A0 =C2=A0 (description
=C2=A0 =C2=A0 =C2=A0 "Fuzzing Rust code with american-fuzzy-lop")=
=C2=A0 =C2=A0 (license #f)))

I know rust-xdg is there twice, but IMO it should only be printed once.

also 'guix import crate -r rusty-fork' gives me #f
'guix import crate rusty-fork' gives me:
guix import: error: failed to download meta-data for package 'rusty-for= k'


--
Efraim Flashner=C2=A0 =C2=A0<efraim@flashner.co.il>=C2=A0 =C2=A0=D7=90=D7=A4=D7= =A8=D7=99=D7=9D =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D=C2=A0 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted=
--00000000000076c5e80591fd8b32-- --00000000000076c5eb0591fd8b34 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-gnu-Add-crate-recursive-import.patch" Content-Disposition: attachment; filename="0001-gnu-Add-crate-recursive-import.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k0a2jyn00 RnJvbSA3NTFiZjIzNjdlZGY1NDAxNTc5MmYzMzlkY2FjYTc5N2NkN2RhOTM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCcmlhbiBMZXVuZyA8YmtsZXVuZzg5QGdtYWlsLmNvbT4KRGF0 ZTogU2F0LCAyMCBKdWwgMjAxOSAyMTozNToxNCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGdudTog QWRkIGNyYXRlLXJlY3Vyc2l2ZS1pbXBvcnQuCgoqIGd1aXgvaW1wb3J0L2NyYXRlLnNjbSAoY3Jh dGUtcmVjdXJzaXZlLWltcG9ydCk6IE5ldyB2YXJpYWJsZS4KKiBndWl4L3NjcmlwdC9pbXBvcnQv Y3JhdGUuc2NtOiBBZGQgcmVjdXJzaXZlIG9wdGlvbi4KKiBndWl4L3Rlc3RzL2NyYXRlLnNjbSAo Y3JhdGUtcmVjdXJzaXZlLWltcG9ydCk6IE5ldyB0ZXN0LgotLS0KLS0tCiBndWl4L2ltcG9ydC9j cmF0ZS5zY20gICAgICAgICB8IDEzMSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBndWl4L2lt cG9ydC91dGlscy5zY20gICAgICAgICB8ICAxNiArKy0tCiBndWl4L3NjcmlwdHMvaW1wb3J0L2Ny YXRlLnNjbSB8ICAzMiArKysrKystCiB0ZXN0cy9jcmF0ZS5zY20gICAgICAgICAgICAgICB8IDE3 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDI3 MyBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L2ltcG9y dC9jcmF0ZS5zY20gYi9ndWl4L2ltcG9ydC9jcmF0ZS5zY20KaW5kZXggZjYwNTdkYmY4Yi4uNWU4 MWMwMTVkOCAxMDA2NDQKLS0tIGEvZ3VpeC9pbXBvcnQvY3JhdGUuc2NtCisrKyBiL2d1aXgvaW1w b3J0L2NyYXRlLnNjbQpAQCAtMzgsNiArMzgsNyBAQAogICAjOnVzZS1tb2R1bGUgKHNyZmkgc3Jm aS0yKQogICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS0yNikKICAgIzpleHBvcnQgKGNyYXRlLT5n dWl4LXBhY2thZ2UKKyAgICAgICAgICAgIGNyYXRlLXJlY3Vyc2l2ZS1pbXBvcnQKICAgICAgICAg ICAgIGd1aXgtcGFja2FnZS0+Y3JhdGUtbmFtZQogICAgICAgICAgICAgJWNyYXRlLXVwZGF0ZXIp KQogCkBAIC0xNDcsNzggKzE0OCw4NiBAQCBWRVJTSU9OLCBDQVJHTy1JTlBVVFMsIENBUkdPLURF VkVMT1BNRU5ULUlOUFVUUywgSE9NRS1QQUdFLCBTWU5PUFNJUywgREVTQ1JJUFRJTwogYW5kIExJ Q0VOU0UuIgogICAobGV0KiAoKHBvcnQgKGh0dHAtZmV0Y2ggKGNyYXRlLXVyaSBuYW1lIHZlcnNp b24pKSkKICAgICAgICAgIChndWl4LW5hbWUgKGNyYXRlLW5hbWUtPnBhY2thZ2UtbmFtZSBuYW1l KSkKLSAgICAgICAgIChjYXJnby1pbnB1dHMgKG1hcCBjcmF0ZS1uYW1lLT5wYWNrYWdlLW5hbWUg Y2FyZ28taW5wdXRzKSkKLSAgICAgICAgIChjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMgKG1hcCBj cmF0ZS1uYW1lLT5wYWNrYWdlLW5hbWUKKyAgICAgICAgIChpbnB1dHMgKG1hcCBjcmF0ZS1uYW1l LT5wYWNrYWdlLW5hbWUgY2FyZ28taW5wdXRzKSkKKyAgICAgICAgIChkZXZlbG9wbWVudC1pbnB1 dHMgKG1hcCBjcmF0ZS1uYW1lLT5wYWNrYWdlLW5hbWUKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMpKQogICAgICAgICAgKHBr ZyBgKHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAobmFtZSAsZ3VpeC1uYW1lKQotICAgICAg ICAgICAgICAgICAgICh2ZXJzaW9uICx2ZXJzaW9uKQotICAgICAgICAgICAgICAgICAgIChzb3Vy Y2UgKG9yaWdpbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWV0aG9kIHVybC1mZXRj aCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVyaSAoY3JhdGUtdXJpICxuYW1lIHZl cnNpb24pKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmct YXBwZW5kIG5hbWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHNoYTI1NgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJhc2UzMgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwoYnl0ZXZlY3Rvci0+bml4LWJhc2UzMi1z dHJpbmcgKHBvcnQtc2hhMjU2IHBvcnQpKSkpKSkKLSAgICAgICAgICAgICAgICAgICAoYnVpbGQt c3lzdGVtIGNhcmdvLWJ1aWxkLXN5c3RlbSkKLSAgICAgICAgICAgICAgICAgICAsQChtYXliZS1h cmd1bWVudHMgKGFwcGVuZCAobWF5YmUtY2FyZ28taW5wdXRzIGNhcmdvLWlucHV0cykKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF5YmUtY2FyZ28tZGV2 ZWxvcG1lbnQtaW5wdXRzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMpKSkKLSAgICAgICAgICAgICAgICAgICAo aG9tZS1wYWdlICwobWF0Y2ggaG9tZS1wYWdlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoKCkgIiIpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoXyBob21lLXBh Z2UpKSkKLSAgICAgICAgICAgICAgICAgICAoc3lub3BzaXMgLHN5bm9wc2lzKQotICAgICAgICAg ICAgICAgICAgIChkZXNjcmlwdGlvbiAsKGJlYXV0aWZ5LWRlc2NyaXB0aW9uIGRlc2NyaXB0aW9u KSkKLSAgICAgICAgICAgICAgICAgICAobGljZW5zZSAsKG1hdGNoIGxpY2Vuc2UKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoKCkgI2YpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKChsaWNlbnNlKSBsaWNlbnNlKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChfIGAobGlzdCAsQGxpY2Vuc2UpKSkpKSkpCi0gICAgICAgICAoY2xvc2UtcG9ydCBwb3J0KQot ICAgICAgICAgcGtnKSkKKyAgICAgICAgICAgICAgICAgKG5hbWUgLGd1aXgtbmFtZSkKKyAgICAg ICAgICAgICAgICAgKHZlcnNpb24gLHZlcnNpb24pCisgICAgICAgICAgICAgICAgIChzb3VyY2Ug KG9yaWdpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAodXJpIChjcmF0ZS11cmkgLG5hbWUgdmVyc2lvbikp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmlsZS1uYW1lIChzdHJpbmctYXBwZW5kIG5h bWUgIi0iIHZlcnNpb24gIi50YXIuZ3oiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChz aGEyNTYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmFzZTMyCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICwoYnl0ZXZlY3Rvci0+bml4LWJhc2UzMi1zdHJpbmcgKHBvcnQtc2hh MjU2IHBvcnQpKSkpKSkKKyAgICAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSBjYXJnby1idWls ZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgICxAKG1heWJlLWFyZ3VtZW50cyAoYXBwZW5kICht YXliZS1jYXJnby1pbnB1dHMgaW5wdXRzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAobWF5YmUtY2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRzCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZlbG9wbWVudC1pbnB1dHMpKSkK KyAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAsKG1hdGNoIGhvbWUtcGFnZQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgoKSAiIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoXyBob21lLXBhZ2UpKSkKKyAgICAgICAgICAgICAgICAgKHN5bm9wc2lzICxzeW5vcHNp cykKKyAgICAgICAgICAgICAgICAgKGRlc2NyaXB0aW9uICwoYmVhdXRpZnktZGVzY3JpcHRpb24g ZGVzY3JpcHRpb24pKQorICAgICAgICAgICAgICAgICAobGljZW5zZSAsKG1hdGNoIGxpY2Vuc2UK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCgpICNmKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoKGxpY2Vuc2UpIGxpY2Vuc2UpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChfIGAobGlzdCAsQGxpY2Vuc2UpKSkpKSkpCisgICAgKGNsb3NlLXBvcnQgcG9ydCkKKyAg ICAodmFsdWVzIHBrZworICAgICAgICAgICAgKGxzZXQtdW5pb24gZXF1YWw/IGNhcmdvLWlucHV0 cyBjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMpKSkpCiAKIChkZWZpbmUgJWR1YWwtbGljZW5zZS1y eAogICA7OyBEdWFsIGxpY2Vuc2luZyBpcyByZXByZXNlbnRlZCBieSBhIHN0cmluZyBzdWNoIGFz ICJNSVQgT1IgQXBhY2hlLTIuMCIuCiAgIDs7IFRoaXMgcmVnZXhwIG1hdGNoZXMgdGhhdC4KICAg KG1ha2UtcmVnZXhwICJeKC4qKSBPUiAoLiopJCIpKQogCi0oZGVmaW5lIChjcmF0ZS0+Z3VpeC1w YWNrYWdlIGNyYXRlLW5hbWUpCi0gICJGZXRjaCB0aGUgbWV0YWRhdGEgZm9yIENSQVRFLU5BTUUg ZnJvbSBjcmF0ZXMuaW8sIGFuZCByZXR1cm4gdGhlCi1gcGFja2FnZScgcy1leHByZXNzaW9uIGNv cnJlc3BvbmRpbmcgdG8gdGhhdCBwYWNrYWdlLCBvciAjZiBvbiBmYWlsdXJlLiIKLSAgKGRlZmlu ZSAoc3RyaW5nLT5saWNlbnNlIHN0cmluZykKLSAgICAobWF0Y2ggKHJlZ2V4cC1leGVjICVkdWFs LWxpY2Vuc2Utcnggc3RyaW5nKQotICAgICAgKCNmIChsaXN0IChzcGR4LXN0cmluZy0+bGljZW5z ZSBzdHJpbmcpKSkKLSAgICAgIChtICAobGlzdCAoc3BkeC1zdHJpbmctPmxpY2Vuc2UgKG1hdGNo OnN1YnN0cmluZyBtIDEpKQotICAgICAgICAgICAgICAgIChzcGR4LXN0cmluZy0+bGljZW5zZSAo bWF0Y2g6c3Vic3RyaW5nIG0gMikpKSkpKQorKGRlZmluZSAoc3RyaW5nLT5saWNlbnNlIHN0cmlu ZykKKyAgKG1hdGNoIChyZWdleHAtZXhlYyAlZHVhbC1saWNlbnNlLXJ4IHN0cmluZykKKyAgICAo I2YgKGxpc3QgKHNwZHgtc3RyaW5nLT5saWNlbnNlIHN0cmluZykpKQorICAgIChtICAobGlzdCAo c3BkeC1zdHJpbmctPmxpY2Vuc2UgKG1hdGNoOnN1YnN0cmluZyBtIDEpKQorICAgICAgICAgICAg ICAoc3BkeC1zdHJpbmctPmxpY2Vuc2UgKG1hdGNoOnN1YnN0cmluZyBtIDIpKSkpKSkKKworKGRl ZmluZSAobm9ybWFsLWRlcGVuZGVuY3k/IGRlcGVuZGVuY3kpCisgIChlcT8gKGNyYXRlLWRlcGVu ZGVuY3kta2luZCBkZXBlbmRlbmN5KSAnbm9ybWFsKSkKIAotICAoZGVmaW5lIChub3JtYWwtZGVw ZW5kZW5jeT8gZGVwZW5kZW5jeSkKLSAgICAoZXE/IChjcmF0ZS1kZXBlbmRlbmN5LWtpbmQgZGVw ZW5kZW5jeSkgJ25vcm1hbCkpCisoZGVmaW5lIGNyYXRlLT5ndWl4LXBhY2thZ2UKKyAgKG1lbW9p emUKKyAgIChsYW1iZGEgKGNyYXRlLW5hbWUpCisgICAgICJGZXRjaCB0aGUgbWV0YWRhdGEgZm9y IENSQVRFLU5BTUUgZnJvbSBjcmF0ZXMuaW8sIGFuZCByZXR1cm4gdGhlCitgcGFja2FnZScgcy1l eHByZXNzaW9uIGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBwYWNrYWdlLCBvciAjZiBvbiBmYWlsdXJl LiIKKyAgICAgKGRlZmluZSBjcmF0ZQorICAgICAgIChsb29rdXAtY3JhdGUgY3JhdGUtbmFtZSkp CiAKLSAgKGRlZmluZSBjcmF0ZQotICAgIChsb29rdXAtY3JhdGUgY3JhdGUtbmFtZSkpCisgICAg IChhbmQgY3JhdGUKKyAgICAgICAgICAobGV0KiAoKHZlcnNpb24gICAgICAgIChmaW5kIChsYW1i ZGEgKHZlcnNpb24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmc9PyAoY3JhdGUtdmVyc2lvbi1udW1iZXIgdmVyc2lvbikKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjcmF0ZS1sYXRlc3QtdmVyc2lvbiBj cmF0ZSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNyYXRlLXZl cnNpb25zIGNyYXRlKSkpCisgICAgICAgICAgICAgICAgIChkZXBlbmRlbmNpZXMgICAoY3JhdGUt dmVyc2lvbi1kZXBlbmRlbmNpZXMgdmVyc2lvbikpCisgICAgICAgICAgICAgICAgIChkZXAtY3Jh dGVzICAgICAoZmlsdGVyIG5vcm1hbC1kZXBlbmRlbmN5PyBkZXBlbmRlbmNpZXMpKQorICAgICAg ICAgICAgICAgICAoZGV2LWRlcC1jcmF0ZXMgKHJlbW92ZSBub3JtYWwtZGVwZW5kZW5jeT8gZGVw ZW5kZW5jaWVzKSkKKyAgICAgICAgICAgICAgICAgKGNhcmdvLWlucHV0cyAgIChzb3J0IChtYXAg Y3JhdGUtZGVwZW5kZW5jeS1pZCBkZXAtY3JhdGVzKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyaW5nLWNpPD8pKQorICAgICAgICAgICAgICAgICAoY2FyZ28tZGV2 ZWxvcG1lbnQtaW5wdXRzCisgICAgICAgICAgICAgICAgICAoc29ydCAobWFwIGNyYXRlLWRlcGVu ZGVuY3ktaWQgZGV2LWRlcC1jcmF0ZXMpCisgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmct Y2k8PykpKQorICAgICAgICAgICAgKG1ha2UtY3JhdGUtc2V4cCAjOm5hbWUgY3JhdGUtbmFtZQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOnZlcnNpb24gKGNyYXRlLXZlcnNpb24tbnVt YmVyIHZlcnNpb24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6Y2FyZ28taW5wdXRz IGNhcmdvLWlucHV0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmNhcmdvLWRldmVs b3BtZW50LWlucHV0cyBjYXJnby1kZXZlbG9wbWVudC1pbnB1dHMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIzpob21lLXBhZ2UgKG9yIChjcmF0ZS1ob21lLXBhZ2UgY3JhdGUpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY3JhdGUtcmVwb3NpdG9y eSBjcmF0ZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6c3lub3BzaXMgKGNyYXRl LWRlc2NyaXB0aW9uIGNyYXRlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmRlc2Ny aXB0aW9uIChjcmF0ZS1kZXNjcmlwdGlvbiBjcmF0ZSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIzpsaWNlbnNlIChhbmQ9PiAoY3JhdGUtdmVyc2lvbi1saWNlbnNlIHZlcnNpb24pCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nLT5saWNl bnNlKSkpKSkpKQogCi0gIChhbmQgY3JhdGUKLSAgICAgICAobGV0KiAoKHZlcnNpb24gICAgICAg IChmaW5kIChsYW1iZGEgKHZlcnNpb24pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmc9PyAoY3JhdGUtdmVyc2lvbi1udW1iZXIgdmVyc2lvbikKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjcmF0ZS1sYXRlc3QtdmVy c2lvbiBjcmF0ZSkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNyYXRl LXZlcnNpb25zIGNyYXRlKSkpCi0gICAgICAgICAgICAgIChkZXBlbmRlbmNpZXMgICAoY3JhdGUt dmVyc2lvbi1kZXBlbmRlbmNpZXMgdmVyc2lvbikpCi0gICAgICAgICAgICAgIChkZXAtY3JhdGVz ICAgICAoZmlsdGVyIG5vcm1hbC1kZXBlbmRlbmN5PyBkZXBlbmRlbmNpZXMpKQotICAgICAgICAg ICAgICAoZGV2LWRlcC1jcmF0ZXMgKHJlbW92ZSBub3JtYWwtZGVwZW5kZW5jeT8gZGVwZW5kZW5j aWVzKSkKLSAgICAgICAgICAgICAgKGNhcmdvLWlucHV0cyAgIChzb3J0IChtYXAgY3JhdGUtZGVw ZW5kZW5jeS1pZCBkZXAtY3JhdGVzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyaW5nLWNpPD8pKQotICAgICAgICAgICAgICAoY2FyZ28tZGV2ZWxvcG1lbnQtaW5wdXRz Ci0gICAgICAgICAgICAgICAoc29ydCAobWFwIGNyYXRlLWRlcGVuZGVuY3ktaWQgZGV2LWRlcC1j cmF0ZXMpCi0gICAgICAgICAgICAgICAgICAgICBzdHJpbmctY2k8PykpKQotICAgICAgICAgKG1h a2UtY3JhdGUtc2V4cCAjOm5hbWUgY3JhdGUtbmFtZQotICAgICAgICAgICAgICAgICAgICAgICAg ICAjOnZlcnNpb24gKGNyYXRlLXZlcnNpb24tbnVtYmVyIHZlcnNpb24pCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICM6Y2FyZ28taW5wdXRzIGNhcmdvLWlucHV0cwotICAgICAgICAgICAgICAg ICAgICAgICAgICAjOmNhcmdvLWRldmVsb3BtZW50LWlucHV0cyBjYXJnby1kZXZlbG9wbWVudC1p bnB1dHMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIzpob21lLXBhZ2UgKG9yIChjcmF0ZS1o b21lLXBhZ2UgY3JhdGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY3JhdGUtcmVwb3NpdG9yeSBjcmF0ZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICM6 c3lub3BzaXMgKGNyYXRlLWRlc2NyaXB0aW9uIGNyYXRlKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAjOmRlc2NyaXB0aW9uIChjcmF0ZS1kZXNjcmlwdGlvbiBjcmF0ZSkKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIzpsaWNlbnNlIChhbmQ9PiAoY3JhdGUtdmVyc2lvbi1saWNlbnNlIHZl cnNpb24pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5n LT5saWNlbnNlKSkpKSkKKyhkZWZpbmUqIChjcmF0ZS1yZWN1cnNpdmUtaW1wb3J0IHBhY2thZ2Ut bmFtZSkKKyAgKHJlY3Vyc2l2ZS1pbXBvcnQgcGFja2FnZS1uYW1lICNmCisgICAgICAgICAgICAg ICAgICAgICM6cmVwby0+Z3VpeC1wYWNrYWdlIChsYW1iZGEgKG5hbWUgXykgKGNyYXRlLT5ndWl4 LXBhY2thZ2UgbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICM6Z3VpeC1uYW1lIGNyYXRlLW5h bWUtPnBhY2thZ2UtbmFtZSkpCiAKIChkZWZpbmUgKGd1aXgtcGFja2FnZS0+Y3JhdGUtbmFtZSBw YWNrYWdlKQogICAiUmV0dXJuIHRoZSBjcmF0ZSBuYW1lIG9mIFBBQ0tBR0UuIgpkaWZmIC0tZ2l0 IGEvZ3VpeC9pbXBvcnQvdXRpbHMuc2NtIGIvZ3VpeC9pbXBvcnQvdXRpbHMuc2NtCmluZGV4IDI1 Mjg3NWVlYWIuLmU1OGY1Y2JhOTQgMTAwNjQ0Ci0tLSBhL2d1aXgvaW1wb3J0L3V0aWxzLnNjbQor KysgYi9ndWl4L2ltcG9ydC91dGlscy5zY20KQEAgLTM4MSwxNiArMzgxLDE2IEBAIGRlcGVuZGVu Y2llcy4iCiAgICAgICAoKHByZXYgKG5leHQgLiByZXN0KSBkb25lKQogICAgICAgIChkZWZpbmUg KGhhbmRsZT8gZGVwKQogICAgICAgICAgKGFuZAotICAgICAgICAgICAobm90IChlcXVhbD8gZGVw IG5leHQpKQotICAgICAgICAgICAobm90IChtZW1iZXIgZGVwIGRvbmUpKQotICAgICAgICAgICAo bm90IChleGlzdHM/IGRlcCkpKSkKKyAgICAgICAgICAobm90IChlcXVhbD8gZGVwIG5leHQpKQor ICAgICAgICAgIChub3QgKG1lbWJlciBkZXAgZG9uZSkpCisgICAgICAgICAgKG5vdCAoZXhpc3Rz PyBkZXApKSkpCiAgICAgICAgKHJlY2VpdmUgKHBhY2thZ2UgLiBkZXBlbmRlbmNpZXMpIChyZXBv LT5ndWl4LXBhY2thZ2UgbmV4dCByZXBvKQogICAgICAgICAgKGxpc3QKLSAgICAgICAgICAgKGlm IHBhY2thZ2UgcGFja2FnZSAnKCkpIDs7IGRlZmF1bHQgI2Ygb24gZmFpbHVyZSB3b3VsZCBpbnRl cnJ1cHQKLSAgICAgICAgICAgKGlmIHBhY2thZ2UKLSAgICAgICAgICAgICAobHNldC11bmlvbiBl cXVhbD8gcmVzdCAoZmlsdGVyIGhhbmRsZT8gKGNhciBkZXBlbmRlbmNpZXMpKSkKLSAgICAgICAg ICAgICByZXN0KQotICAgICAgICAgICAoY29ucyBuZXh0IGRvbmUpKSkpCisgICAgICAgICAgKG9y IHBhY2thZ2UgbmV4dCkKKyAgICAgICAgICAoaWYgcGFja2FnZQorICAgICAgICAgICAgICAobHNl dC11bmlvbiBlcXVhbD8gcmVzdCAoZmlsdGVyIGhhbmRsZT8gKGNhciBkZXBlbmRlbmNpZXMpKSkK KyAgICAgICAgICAgICAgcmVzdCkKKyAgICAgICAgICAoY29ucyBuZXh0IGRvbmUpKSkpCiAgICAg ICAoKHByZXYgJygpIGRvbmUpCiAgICAgICAgKGxpc3QgI2YgJygpIGRvbmUpKSkpCiAKZGlmZiAt LWdpdCBhL2d1aXgvc2NyaXB0cy9pbXBvcnQvY3JhdGUuc2NtIGIvZ3VpeC9zY3JpcHRzL2ltcG9y dC9jcmF0ZS5zY20KaW5kZXggY2FiOWE0Mzk3Yi4uOTk3MGIxYTIzMSAxMDA2NDQKLS0tIGEvZ3Vp eC9zY3JpcHRzL2ltcG9ydC9jcmF0ZS5zY20KKysrIGIvZ3VpeC9zY3JpcHRzL2ltcG9ydC9jcmF0 ZS5zY20KQEAgLTI3LDYgKzI3LDcgQEAKICAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMSkKICAg Izp1c2UtbW9kdWxlIChzcmZpIHNyZmktMTEpCiAgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTM3 KQorICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS00MSkKICAgIzp1c2UtbW9kdWxlIChpY2UtOSBt YXRjaCkKICAgIzp1c2UtbW9kdWxlIChpY2UtOSBmb3JtYXQpCiAgICM6ZXhwb3J0IChndWl4LWlt cG9ydC1jcmF0ZSkpCkBAIC00NSw2ICs0Niw4IEBAIEltcG9ydCBhbmQgY29udmVydCB0aGUgY3Jh dGUuaW8gcGFja2FnZSBmb3IgUEFDS0FHRS1OQU1FLlxuIikpCiAgIChkaXNwbGF5IChHXyAiCiAg IC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXQiKSkKICAg KGRpc3BsYXkgKEdfICIKKyAgLXIsIC0tcmVjdXJzaXZlICAgICAgICBpbXBvcnQgcGFja2FnZXMg cmVjdXJzaXZlbHkiKSkKKyAgKGRpc3BsYXkgKEdfICIKICAgLVYsIC0tdmVyc2lvbiAgICAgICAg ICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQiKSkKICAgKG5ld2xpbmUpCiAg IChzaG93LWJ1Zy1yZXBvcnQtaW5mb3JtYXRpb24pKQpAQCAtNTgsNiArNjEsOSBAQCBJbXBvcnQg YW5kIGNvbnZlcnQgdGhlIGNyYXRlLmlvIHBhY2thZ2UgZm9yIFBBQ0tBR0UtTkFNRS5cbiIpKQog ICAgICAgICAgKG9wdGlvbiAnKCNcViAidmVyc2lvbiIpICNmICNmCiAgICAgICAgICAgICAgICAg IChsYW1iZGEgYXJncwogICAgICAgICAgICAgICAgICAgIChzaG93LXZlcnNpb24tYW5kLWV4aXQg Imd1aXggaW1wb3J0IGNyYXRlIikpKQorICAgICAgICAgKG9wdGlvbiAnKCNcciAicmVjdXJzaXZl IikgI2YgI2YKKyAgICAgICAgICAgICAgICAgKGxhbWJkYSAob3B0IG5hbWUgYXJnIHJlc3VsdCkK KyAgICAgICAgICAgICAgICAgICAoYWxpc3QtY29ucyAncmVjdXJzaXZlICN0IHJlc3VsdCkpKQog ICAgICAgICAgJXN0YW5kYXJkLWltcG9ydC1vcHRpb25zKSkKIAogDApAQCAtODMsMTEgKzg5LDI3 IEBAIEltcG9ydCBhbmQgY29udmVydCB0aGUgY3JhdGUuaW8gcGFja2FnZSBmb3IgUEFDS0FHRS1O QU1FLlxuIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmV2ZXJzZSBvcHRzKSkpKQog ICAgIChtYXRjaCBhcmdzCiAgICAgICAoKHBhY2thZ2UtbmFtZSkKLSAgICAgICAobGV0ICgoc2V4 cCAoY3JhdGUtPmd1aXgtcGFja2FnZSBwYWNrYWdlLW5hbWUpKSkKLSAgICAgICAgICh1bmxlc3Mg c2V4cAotICAgICAgICAgICAobGVhdmUgKEdfICJmYWlsZWQgdG8gZG93bmxvYWQgbWV0YS1kYXRh IGZvciBwYWNrYWdlICd+YSd+JSIpCi0gICAgICAgICAgICAgICAgICBwYWNrYWdlLW5hbWUpKQot ICAgICAgICAgc2V4cCkpCisgICAgICAgKGlmIChhc3NvYy1yZWYgb3B0cyAncmVjdXJzaXZlKQor ICAgICAgICAgICA7OyBSZWN1cnNpdmUgaW1wb3J0CisgICAgICAgICAgIChtYXAgKG1hdGNoLWxh bWJkYQorICAgICAgICAgICAgICAgICAgKChhbmQgKCdwYWNrYWdlICgnbmFtZSBuYW1lKSAuIHJl c3QpIHBrZykKKyAgICAgICAgICAgICAgICAgICBgKGRlZmluZS1wdWJsaWMgLChzdHJpbmctPnN5 bWJvbCBuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICxwa2cpKQorICAgICAgICAgICAgICAg ICAgKChhbmQgc3RyaW5nPyBwa2ctbmFtZSkKKyAgICAgICAgICAgICAgICAgICA7OyAoZm9ybWF0 ICNmIChHXyAiZmFpbGVkIHRvIGRvd25sb2FkIG1ldGEtZGF0YSBmb3IgcGFja2FnZSAnfmEnIikg ZGVwLW5hbWUpCisgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgImZhaWxlZCB0byBk b3dubG9hZCBtZXRhLWRhdGEgZm9yIHBhY2thZ2UgJyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwa2ctbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIn IikpCisgICAgICAgICAgICAgICAgICAoXyAjZikpCisgICAgICAgICAgICAgICAgKHJldmVyc2UK KyAgICAgICAgICAgICAgICAgKHN0cmVhbS0+bGlzdAorICAgICAgICAgICAgICAgICAgKGNyYXRl LXJlY3Vyc2l2ZS1pbXBvcnQgcGFja2FnZS1uYW1lKSkpKQorICAgICAgICAgICA7OyBTaW5nbGUg aW1wb3J0CisgICAgICAgICAgIChsZXQgKChzZXhwIChjcmF0ZS0+Z3VpeC1wYWNrYWdlIHBhY2th Z2UtbmFtZSkpKQorICAgICAgICAgICAgICh1bmxlc3Mgc2V4cAorICAgICAgICAgICAgICAgKGxl YXZlIChHXyAiZmFpbGVkIHRvIGRvd25sb2FkIG1ldGEtZGF0YSBmb3IgcGFja2FnZSAnfmEnfiUi KQorICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2UtbmFtZSkpCisgICAgICAgICAgICAgc2V4 cCkpKQogICAgICAgKCgpCiAgICAgICAgKGxlYXZlIChHXyAidG9vIGZldyBhcmd1bWVudHN+JSIp KSkKICAgICAgICgobWFueSAuLi4pCmRpZmYgLS1naXQgYS90ZXN0cy9jcmF0ZS5zY20gYi90ZXN0 cy9jcmF0ZS5zY20KaW5kZXggYzE0ODYyYWQ5Zi4uOGU3YjBiZGE5YiAxMDA2NDQKLS0tIGEvdGVz dHMvY3JhdGUuc2NtCisrKyBiL3Rlc3RzL2NyYXRlLnNjbQpAQCAtMjYsOSArMjYsMTAgQEAKICAg Izp1c2UtbW9kdWxlIChndWl4IHRlc3RzKQogICAjOnVzZS1tb2R1bGUgKGljZS05IGljb252KQog ICAjOnVzZS1tb2R1bGUgKGljZS05IG1hdGNoKQorICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS00 MSkKICAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktNjQpKQogCi0oZGVmaW5lIHRlc3QtY3JhdGUK KyhkZWZpbmUgdGVzdC1mb28tY3JhdGUKICAgInsKICAgXCJjcmF0ZVwiOiB7CiAgICAgXCJtYXhf dmVyc2lvblwiOiBcIjEuMC4wXCIsCkBAIC01MCwxNiArNTEsODEgQEAKICAgfQogfSIpCiAKLShk ZWZpbmUgdGVzdC1kZXBlbmRlbmNpZXMKKyhkZWZpbmUgdGVzdC1mb28tZGVwZW5kZW5jaWVzCiAg ICJ7CiAgIFwiZGVwZW5kZW5jaWVzXCI6IFsKICAgICAgewogICAgICAgIFwiY3JhdGVfaWRcIjog XCJiYXJcIiwKICAgICAgICBcImtpbmRcIjogXCJub3JtYWxcIiwKKyAgICAgfSwKKyAgICAgewor ICAgICAgIFwiY3JhdGVfaWRcIjogXCJiYXpcIiwKKyAgICAgICBcImtpbmRcIjogXCJub3JtYWxc IiwKKyAgICAgfQorICBdCit9IikKKworKGRlZmluZSB0ZXN0LWJhci1jcmF0ZQorICAieworICBc ImNyYXRlXCI6IHsKKyAgICBcIm1heF92ZXJzaW9uXCI6IFwiMS4wLjBcIiwKKyAgICBcIm5hbWVc IjogXCJiYXJcIiwKKyAgICBcImRlc2NyaXB0aW9uXCI6IFwic3VtbWFyeVwiLAorICAgIFwiaG9t ZXBhZ2VcIjogXCJodHRwOi8vZXhhbXBsZS5jb21cIiwKKyAgICBcInJlcG9zaXRvcnlcIjogXCJo dHRwOi8vZXhhbXBsZS5jb21cIiwKKyAgICBcImtleXdvcmRzXCI6IFtcImR1bW15XCIgXCJ0ZXN0 XCJdLAorICAgIFwiY2F0ZWdvcmllc1wiOiBbXCJ0ZXN0XCJdCisgICAgXCJhY3R1YWxfdmVyc2lv bnNcIjogWworICAgICAgeyBcImlkXCI6IFwiYmFyXCIsCisgICAgICAgIFwibnVtXCI6IFwiMS4w LjBcIiwKKyAgICAgICAgXCJsaWNlbnNlXCI6IFwiTUlUIE9SIEFwYWNoZS0yLjBcIiwKKyAgICAg ICAgXCJsaW5rc1wiOiB7CisgICAgICAgICAgXCJkZXBlbmRlbmNpZXNcIjogXCIvYXBpL3YxL2Ny YXRlcy9iYXIvMS4wLjAvZGVwZW5kZW5jaWVzXCIKKyAgICAgICAgfQorICAgICAgfQorICAgIF0K KyAgICBcImxpY2Vuc2VcIjogXCJNSVQgT1IgQXBhY2hlLTIuMFwiLAorICB9Cit9IikKKworKGRl ZmluZSB0ZXN0LWJhci1kZXBlbmRlbmNpZXMKKyAgInsKKyAgXCJkZXBlbmRlbmNpZXNcIjogWwor ICAgICB7CisgICAgICAgXCJjcmF0ZV9pZFwiOiBcImJhelwiLAorICAgICAgIFwia2luZFwiOiBc Im5vcm1hbFwiLAogICAgICB9CiAgIF0KIH0iKQogCisoZGVmaW5lIHRlc3QtYmF6LWNyYXRlCisg ICJ7CisgIFwiY3JhdGVcIjogeworICAgIFwibWF4X3ZlcnNpb25cIjogXCIxLjAuMFwiLAorICAg IFwibmFtZVwiOiBcImJhelwiLAorICAgIFwiZGVzY3JpcHRpb25cIjogXCJzdW1tYXJ5XCIsCisg ICAgXCJob21lcGFnZVwiOiBcImh0dHA6Ly9leGFtcGxlLmNvbVwiLAorICAgIFwicmVwb3NpdG9y eVwiOiBcImh0dHA6Ly9leGFtcGxlLmNvbVwiLAorICAgIFwia2V5d29yZHNcIjogW1wiZHVtbXlc IiBcInRlc3RcIl0sCisgICAgXCJjYXRlZ29yaWVzXCI6IFtcInRlc3RcIl0KKyAgICBcImFjdHVh bF92ZXJzaW9uc1wiOiBbCisgICAgICB7IFwiaWRcIjogXCJiYXpcIiwKKyAgICAgICAgXCJudW1c IjogXCIxLjAuMFwiLAorICAgICAgICBcImxpY2Vuc2VcIjogXCJNSVQgT1IgQXBhY2hlLTIuMFwi LAorICAgICAgICBcImxpbmtzXCI6IHsKKyAgICAgICAgICBcImRlcGVuZGVuY2llc1wiOiBcIi9h cGkvdjEvY3JhdGVzL2Jhei8xLjAuMC9kZXBlbmRlbmNpZXNcIgorICAgICAgICB9CisgICAgICB9 CisgICAgXQorICAgIFwibGljZW5zZVwiOiBcIk1JVCBPUiBBcGFjaGUtMi4wXCIsCisgIH0KK30i KQorCisoZGVmaW5lIHRlc3QtYmF6LWRlcGVuZGVuY2llcworICAieworXCJkZXBlbmRlbmNpZXNc IjogW10KK30iKQorCiAoZGVmaW5lIHRlc3Qtc291cmNlLWhhc2gKICAgIiIpCiAKQEAgLTc5LDE0 ICsxNDUsMTQgQEAKICAgICAgICAgIChsYW1iZGEgKHVybCAuIHJlc3QpCiAgICAgICAgICAgICht YXRjaCB1cmwKICAgICAgICAgICAgICAoImh0dHBzOi8vY3JhdGVzLmlvL2FwaS92MS9jcmF0ZXMv Zm9vIgotICAgICAgICAgICAgICAob3Blbi1pbnB1dC1zdHJpbmcgdGVzdC1jcmF0ZSkpCisgICAg ICAgICAgICAgIChvcGVuLWlucHV0LXN0cmluZyB0ZXN0LWZvby1jcmF0ZSkpCiAgICAgICAgICAg ICAgKCJodHRwczovL2NyYXRlcy5pby9hcGkvdjEvY3JhdGVzL2Zvby8xLjAuMC9kb3dubG9hZCIK ICAgICAgICAgICAgICAgKHNldCEgdGVzdC1zb3VyY2UtaGFzaAogICAgICAgICAgICAgICAgIChi eXRldmVjdG9yLT5uaXgtYmFzZTMyLXN0cmluZwogICAgICAgICAgICAgICAgICAoc2hhMjU2IChz dHJpbmctPmJ5dGV2ZWN0b3IgImVtcHR5IGZpbGVcbiIgInV0Zi04IikpKSkKICAgICAgICAgICAg ICAgKG9wZW4taW5wdXQtc3RyaW5nICJlbXB0eSBmaWxlXG4iKSkKICAgICAgICAgICAgICAoImh0 dHBzOi8vY3JhdGVzLmlvL2FwaS92MS9jcmF0ZXMvZm9vLzEuMC4wL2RlcGVuZGVuY2llcyIKLSAg ICAgICAgICAgICAgKG9wZW4taW5wdXQtc3RyaW5nIHRlc3QtZGVwZW5kZW5jaWVzKSkKKyAgICAg ICAgICAgICAgKG9wZW4taW5wdXQtc3RyaW5nIHRlc3QtZm9vLWRlcGVuZGVuY2llcykpCiAgICAg ICAgICAgICAgKF8gKGVycm9yICJVbmV4cGVjdGVkIFVSTDogIiB1cmwpKSkpKQogICAgIChtYXRj aCAoY3JhdGUtPmd1aXgtcGFja2FnZSAiZm9vIikKICAgICAgICgoJ3BhY2thZ2UKQEAgLTEwMiw3 ICsxNjgsOCBAQAogICAgICAgICAgKCdidWlsZC1zeXN0ZW0gJ2NhcmdvLWJ1aWxkLXN5c3RlbSkK ICAgICAgICAgICgnYXJndW1lbnRzCiAgICAgICAgICAgKCdxdWFzaXF1b3RlCi0gICAgICAgICAg ICgnIzpjYXJnby1pbnB1dHMgKCgicnVzdC1iYXIiICgndW5xdW90ZSBydXN0LWJhcikpKSkpKQor ICAgICAgICAgICAoJyM6Y2FyZ28taW5wdXRzICgoInJ1c3QtYmFyIiAoJ3VucXVvdGUgcnVzdC1i YXIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoInJ1c3QtYmF6IiAoJ3VucXVvdGUg cnVzdC1iYXopKSkpKSkKICAgICAgICAgICgnaG9tZS1wYWdlICJodHRwOi8vZXhhbXBsZS5jb20i KQogICAgICAgICAgKCdzeW5vcHNpcyAic3VtbWFyeSIpCiAgICAgICAgICAoJ2Rlc2NyaXB0aW9u ICJzdW1tYXJ5IikKQEAgLTExMSw0ICsxNzgsMTAwIEBACiAgICAgICAoeAogICAgICAgIChwayAn ZmFpbCB4ICNmKSkpKSkKIAorKHRlc3QtYXNzZXJ0ICJjYXJnby1yZWN1cnNpdmUtaW1wb3J0Igor ICA7OyBSZXBsYWNlIG5ldHdvcmsgcmVzb3VyY2VzIHdpdGggc2FtcGxlIGRhdGEuCisgIChtb2Nr ICgoZ3VpeCBodHRwLWNsaWVudCkgaHR0cC1mZXRjaAorICAgICAgICAgKGxhbWJkYSAodXJsIC4g cmVzdCkKKyAgICAgICAgICAgKG1hdGNoIHVybAorICAgICAgICAgICAgICgiaHR0cHM6Ly9jcmF0 ZXMuaW8vYXBpL3YxL2NyYXRlcy9mb28iCisgICAgICAgICAgICAgIChvcGVuLWlucHV0LXN0cmlu ZyB0ZXN0LWZvby1jcmF0ZSkpCisgICAgICAgICAgICAgKCJodHRwczovL2NyYXRlcy5pby9hcGkv djEvY3JhdGVzL2Zvby8xLjAuMC9kb3dubG9hZCIKKyAgICAgICAgICAgICAgKHNldCEgdGVzdC1z b3VyY2UtaGFzaAorICAgICAgICAgICAgICAgICAgICAoYnl0ZXZlY3Rvci0+bml4LWJhc2UzMi1z dHJpbmcKKyAgICAgICAgICAgICAgICAgICAgIChzaGEyNTYgKHN0cmluZy0+Ynl0ZXZlY3RvciAi ZW1wdHkgZmlsZVxuIiAidXRmLTgiKSkpKQorICAgICAgICAgICAgICAob3Blbi1pbnB1dC1zdHJp bmcgImVtcHR5IGZpbGVcbiIpKQorICAgICAgICAgICAgICgiaHR0cHM6Ly9jcmF0ZXMuaW8vYXBp L3YxL2NyYXRlcy9mb28vMS4wLjAvZGVwZW5kZW5jaWVzIgorICAgICAgICAgICAgICAob3Blbi1p bnB1dC1zdHJpbmcgdGVzdC1mb28tZGVwZW5kZW5jaWVzKSkKKyAgICAgICAgICAgICAoImh0dHBz Oi8vY3JhdGVzLmlvL2FwaS92MS9jcmF0ZXMvYmFyIgorICAgICAgICAgICAgICAob3Blbi1pbnB1 dC1zdHJpbmcgdGVzdC1iYXItY3JhdGUpKQorICAgICAgICAgICAgICgiaHR0cHM6Ly9jcmF0ZXMu aW8vYXBpL3YxL2NyYXRlcy9iYXIvMS4wLjAvZG93bmxvYWQiCisgICAgICAgICAgICAgIChzZXQh IHRlc3Qtc291cmNlLWhhc2gKKyAgICAgICAgICAgICAgICAgICAgKGJ5dGV2ZWN0b3ItPm5peC1i YXNlMzItc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2IChzdHJpbmctPmJ5dGV2 ZWN0b3IgImVtcHR5IGZpbGVcbiIgInV0Zi04IikpKSkKKyAgICAgICAgICAgICAgKG9wZW4taW5w dXQtc3RyaW5nICJlbXB0eSBmaWxlXG4iKSkKKyAgICAgICAgICAgICAoImh0dHBzOi8vY3JhdGVz LmlvL2FwaS92MS9jcmF0ZXMvYmFyLzEuMC4wL2RlcGVuZGVuY2llcyIKKyAgICAgICAgICAgICAg KG9wZW4taW5wdXQtc3RyaW5nIHRlc3QtYmFyLWRlcGVuZGVuY2llcykpCisgICAgICAgICAgICAg KCJodHRwczovL2NyYXRlcy5pby9hcGkvdjEvY3JhdGVzL2JheiIKKyAgICAgICAgICAgICAgKG9w ZW4taW5wdXQtc3RyaW5nIHRlc3QtYmF6LWNyYXRlKSkKKyAgICAgICAgICAgICAoImh0dHBzOi8v Y3JhdGVzLmlvL2FwaS92MS9jcmF0ZXMvYmF6LzEuMC4wL2Rvd25sb2FkIgorICAgICAgICAgICAg ICAoc2V0ISB0ZXN0LXNvdXJjZS1oYXNoCisgICAgICAgICAgICAgICAgICAgIChieXRldmVjdG9y LT5uaXgtYmFzZTMyLXN0cmluZworICAgICAgICAgICAgICAgICAgICAgKHNoYTI1NiAoc3RyaW5n LT5ieXRldmVjdG9yICJlbXB0eSBmaWxlXG4iICJ1dGYtOCIpKSkpCisgICAgICAgICAgICAgIChv cGVuLWlucHV0LXN0cmluZyAiZW1wdHkgZmlsZVxuIikpCisgICAgICAgICAgICAgKCJodHRwczov L2NyYXRlcy5pby9hcGkvdjEvY3JhdGVzL2Jhei8xLjAuMC9kZXBlbmRlbmNpZXMiCisgICAgICAg ICAgICAgIChvcGVuLWlucHV0LXN0cmluZyB0ZXN0LWJhei1kZXBlbmRlbmNpZXMpKQorICAgICAg ICAgICAgIChfIChlcnJvciAiVW5leHBlY3RlZCBVUkw6ICIgdXJsKSkpKSkKKyAgICAgICAgKG1h dGNoIChzdHJlYW0tPmxpc3QgKGNyYXRlLXJlY3Vyc2l2ZS1pbXBvcnQgImZvbyIpKQorICAgICAg ICAgICgoKCdwYWNrYWdlCisgICAgICAgICAgICAgICgnbmFtZSAicnVzdC1mb28iKQorICAgICAg ICAgICAgICAoJ3ZlcnNpb24gKD8gc3RyaW5nPyB2ZXIpKQorICAgICAgICAgICAgICAoJ3NvdXJj ZQorICAgICAgICAgICAgICAgKCdvcmlnaW4KKyAgICAgICAgICAgICAgICAgKCdtZXRob2QgJ3Vy bC1mZXRjaCkKKyAgICAgICAgICAgICAgICAgKCd1cmkgKCdjcmF0ZS11cmkgImZvbyIgJ3ZlcnNp b24pKQorICAgICAgICAgICAgICAgICAoJ2ZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgKCdz dHJpbmctYXBwZW5kICduYW1lICItIiAndmVyc2lvbiAiLnRhci5neiIpKQorICAgICAgICAgICAg ICAgICAoJ3NoYTI1NgorICAgICAgICAgICAgICAgICAgKCdiYXNlMzIKKyAgICAgICAgICAgICAg ICAgICAoPyBzdHJpbmc/IGhhc2gpKSkpKQorICAgICAgICAgICAgICAoJ2J1aWxkLXN5c3RlbSAn Y2FyZ28tYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAoJ2FyZ3VtZW50cworICAgICAgICAg ICAgICAgKCdxdWFzaXF1b3RlCisgICAgICAgICAgICAgICAgKCcjOmNhcmdvLWlucHV0cyAoKCJy dXN0LWJhciIgKCd1bnF1b3RlIHJ1c3QtYmFyKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInJ1c3QtYmF6IiAoJ3VucXVvdGUgcnVzdC1iYXopKSkpKSkKKyAgICAgICAgICAg ICAgKCdob21lLXBhZ2UgImh0dHA6Ly9leGFtcGxlLmNvbSIpCisgICAgICAgICAgICAgICgnc3lu b3BzaXMgInN1bW1hcnkiKQorICAgICAgICAgICAgICAoJ2Rlc2NyaXB0aW9uICJzdW1tYXJ5IikK KyAgICAgICAgICAgICAgKCdsaWNlbnNlICgnbGlzdCAnbGljZW5zZTpleHBhdCAnbGljZW5zZTph c2wyLjApKSkKKyAgICAgICAgICAgICgncGFja2FnZQorICAgICAgICAgICAgICAoJ25hbWUgInJ1 c3QtYmFyIikKKyAgICAgICAgICAgICAgKCd2ZXJzaW9uICg/IHN0cmluZz8gdmVyKSkKKyAgICAg ICAgICAgICAgKCdzb3VyY2UKKyAgICAgICAgICAgICAgICgnb3JpZ2luCisgICAgICAgICAgICAg ICAgICgnbWV0aG9kICd1cmwtZmV0Y2gpCisgICAgICAgICAgICAgICAgICgndXJpICgnY3JhdGUt dXJpICJiYXIiICd2ZXJzaW9uKSkKKyAgICAgICAgICAgICAgICAgKCdmaWxlLW5hbWUKKyAgICAg ICAgICAgICAgICAgICgnc3RyaW5nLWFwcGVuZCAnbmFtZSAiLSIgJ3ZlcnNpb24gIi50YXIuZ3oi KSkKKyAgICAgICAgICAgICAgICAgKCdzaGEyNTYKKyAgICAgICAgICAgICAgICAgICgnYmFzZTMy CisgICAgICAgICAgICAgICAgICAgKD8gc3RyaW5nPyBoYXNoKSkpKSkKKyAgICAgICAgICAgICAg KCdidWlsZC1zeXN0ZW0gJ2NhcmdvLWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgKCdhcmd1 bWVudHMKKyAgICAgICAgICAgICAgICgncXVhc2lxdW90ZQorICAgICAgICAgICAgICAgICgnIzpj YXJnby1pbnB1dHMgKCgicnVzdC1iYXoiICgndW5xdW90ZSBydXN0LWJheikpKSkpKQorICAgICAg ICAgICAgICAoJ2hvbWUtcGFnZSAiaHR0cDovL2V4YW1wbGUuY29tIikKKyAgICAgICAgICAgICAg KCdzeW5vcHNpcyAic3VtbWFyeSIpCisgICAgICAgICAgICAgICgnZGVzY3JpcHRpb24gInN1bW1h cnkiKQorICAgICAgICAgICAgICAoJ2xpY2Vuc2UgKCdsaXN0ICdsaWNlbnNlOmV4cGF0ICdsaWNl bnNlOmFzbDIuMCkpKQorICAgICAgICAgICAgKCdwYWNrYWdlCisgICAgICAgICAgICAgICgnbmFt ZSAicnVzdC1iYXoiKQorICAgICAgICAgICAgICAoJ3ZlcnNpb24gKD8gc3RyaW5nPyB2ZXIpKQor ICAgICAgICAgICAgICAoJ3NvdXJjZQorICAgICAgICAgICAgICAgKCdvcmlnaW4KKyAgICAgICAg ICAgICAgICAgKCdtZXRob2QgJ3VybC1mZXRjaCkKKyAgICAgICAgICAgICAgICAgKCd1cmkgKCdj cmF0ZS11cmkgImJheiIgJ3ZlcnNpb24pKQorICAgICAgICAgICAgICAgICAoJ2ZpbGUtbmFtZQor ICAgICAgICAgICAgICAgICAgKCdzdHJpbmctYXBwZW5kICduYW1lICItIiAndmVyc2lvbiAiLnRh ci5neiIpKQorICAgICAgICAgICAgICAgICAoJ3NoYTI1NgorICAgICAgICAgICAgICAgICAgKCdi YXNlMzIKKyAgICAgICAgICAgICAgICAgICAoPyBzdHJpbmc/IGhhc2gpKSkpKQorICAgICAgICAg ICAgICAoJ2J1aWxkLXN5c3RlbSAnY2FyZ28tYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAo J2hvbWUtcGFnZSAiaHR0cDovL2V4YW1wbGUuY29tIikKKyAgICAgICAgICAgICAgKCdzeW5vcHNp cyAic3VtbWFyeSIpCisgICAgICAgICAgICAgICgnZGVzY3JpcHRpb24gInN1bW1hcnkiKQorICAg ICAgICAgICAgICAoJ2xpY2Vuc2UgKCdsaXN0ICdsaWNlbnNlOmV4cGF0ICdsaWNlbnNlOmFzbDIu MCkpKSkKKyAgICAgICAgICAgI3QpCisgICAgICAgICAgKHgKKyAgICAgICAgICAgKHBrICdmYWls IHggI2YpKSkpKQorCiAodGVzdC1lbmQgImNyYXRlIikKLS0gCjIuMjMuMAoK --00000000000076c5eb0591fd8b34--