From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:57420) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1htquQ-0004Ym-Dz for guix-patches@gnu.org; Sat, 03 Aug 2019 06:05:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1htquN-00008d-NQ for guix-patches@gnu.org; Sat, 03 Aug 2019 06:05:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:49486) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1htquM-00007N-Sp for guix-patches@gnu.org; Sat, 03 Aug 2019 06:05:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1htquM-000397-NT for guix-patches@gnu.org; Sat, 03 Aug 2019 06:05:02 -0400 Subject: [bug#36856] build: Add julia-build-system Resent-Message-ID: MIME-Version: 1.0 References: <87sgqn629k.fsf@elephly.net> <1DBAF4CE-8BA5-43EF-9CFE-5A73FB8118EB@lepiller.eu> <87o91b619c.fsf@elephly.net> In-Reply-To: From: =?UTF-8?Q?Nicol=C3=B2?= Balzarotti Date: Sat, 3 Aug 2019 10:04:20 +0000 Message-ID: Content-Type: multipart/mixed; boundary="000000000000f7c29d058f339923" 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: Ricardo Wurmus Cc: 36856@debbugs.gnu.org --000000000000f7c29d058f339923 Content-Type: multipart/alternative; boundary="000000000000f7c299058f339921" --000000000000f7c299058f339921 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Yeah I forgot to attach the patches. Here we go Il giorno sab 3 ago 2019 alle ore 10:03 Nicol=C3=B2 Balzarotti < anothersms@gmail.com> ha scritto: > Hi, I'm back. > > I fixed the problem I had (I forgot the ./pre-inst-env -.-") > > Following this discussion, I'm adding ``native-search-paths'' to the juli= a > package. Now, without any other hack (like the setup.jl one), it can find > the packages but only when installed with guix package -i . It cannot fin= d > them when in an environment (guix environment --ad-hoc julia-package). > Can you help? > > Except from this, I cleaned everything a bit, and added a draft of the > documentation. I'm attaching the new patches here (without the julia-xyz > part one, to which I'll add all package synopsis and description, and I'l= l > split in multiple patches before re-submitting). > > Thanks, Nicol=C3=B2 > > Il giorno mar 30 lug 2019 alle ore 16:02 Nicol=C3=B2 Balzarotti < > anothersms@gmail.com> ha scritto: > >> Thanks for the quick response! >> >> Well, the environment variable JULIA_LOAD_PATH (that inside julia is jus= t >> LOAD_PATH) works exactly like that (is a column-concatenated path list).= It >> just needs the special ":@stdlib" path to let julia find its standard >> libraries. >> Example: >> > JULIA_LOAD_PATH=3D/my/new/path/:/profile/path/:@stdlib julia --startup= =3Dno >> -E 'LOAD_PATH' >> ["/my/new/path/", "/profile/path/", "@stdlib"] >> >> Is setting this variable from guix fine, or we need a special >> GUIX_SOMETHING variable? >> Where exactly should I set this? >> >> Thanks >> >> Il giorno mar 30 lug 2019 alle ore 14:33 Ricardo Wurmus < >> rekado@elephly.net> ha scritto: >> >>> >>> Julien Lepiller writes: >>> >>> > Le 30 juillet 2019 16:11:19 GMT+02:00, Ricardo Wurmus < >>> rekado@elephly.net> a =C3=A9crit : >>> >> >>> >>Nicol=C3=B2 Balzarotti writes: >>> >> >>> >>> 3. By adding a simple startup.jl script, inspired by what emacs doe= s. >>> >>This >>> >>> is simplified so I'm not sure it works for every corner case. >>> >>> #+begin_src julia >>> >>> let paths =3D [expanduser("~/.guix-profile"), >>> >>"/run/current-system/profile"] >>> >>> ("GUIX_ENVIRONMENT" in keys(ENV)) && push!(paths, >>> >>> ENV["GUIX_ENVIRONMENT"]) >>> >>> empty!(LOAD_PATH) >>> >>> push!.(Ref(LOAD_PATH), joinpath.(paths, "share/julia/packages/"= )) >>> >>> push!(LOAD_PATH, "@stdlib") >>> >>> push!.(Ref(DEPOT_PATH), joinpath.(paths, "share/julia/")) >>> >>> nothing >>> >>> end >>> >>> #+end_src >>> >> >>> >>Could this perhaps be handled by a profile hook that is included only >>> >>when the profile manifest contains a julia package? >>> > >>> > Or simply with an environment variable? GUIX_JULIA_PATH or something? >>> >>> If this is the route you go down, please ensure that it can be used as = a >>> search path with more than one directory. This would make it possible >>> to extend a Julia environment with the contents of more than one >>> profile. >>> >>> -- >>> Ricardo >>> >>> --000000000000f7c299058f339921 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Yeah I forgot to attach the patches. Here we go
<= br>
Il gior= no sab 3 ago 2019 alle ore 10:03 Nicol=C3=B2 Balzarotti <anothersms@gmail.com> ha scritto:
=
Hi,= I'm back.

I fixed the problem I had (I forgot= the ./pre-inst-env -.-")

Following this= discussion, I'm adding ``native-search-paths'' to the julia pa= ckage. Now, without any other hack (like the setup.jl one), it can find the= packages but only when installed with guix package -i . It cannot find the= m when in an environment (guix environment --ad-hoc julia-package).
Can you help?

Except from this, I cleaned = everything a bit, and added a draft of the documentation. I'm attaching= the new patches here (without the julia-xyz part one, to which I'll ad= d all package synopsis and description, and I'll split in multiple patc= hes before re-submitting).

Thanks, Nicol=C3=B2
=

Il giorno mar 30 lug 2019 alle ore 16:02 Nicol=C3=B2 Balzarotti <<= a href=3D"mailto:anothersms@gmail.com" target=3D"_blank">anothersms@gmail.c= om> ha scritto:
Thanks for the quick response!

<= /div>
Well, the environment variable JULIA_LOAD_PATH (that inside julia= is just LOAD_PATH) works exactly like that (is a column-concatenated path = list). It just needs the special ":@stdlib" path to let julia fin= d its standard libraries.
Example:
> JULIA_LOAD_PATH= =3D/my/new/path/:/profile/path/:@stdlib julia --startup=3Dno -E 'LOAD_P= ATH'
["/my/new/path/", "/profile/path/", "@= stdlib"]

Is setting this variable from gu= ix fine, or we need a special GUIX_SOMETHING variable?
Where exac= tly should I set this?

Thanks

<= div class=3D"gmail_quote">
Il giorno m= ar 30 lug 2019 alle ore 14:33 Ricardo Wurmus <rekado@elephly.net> ha scritto:

Julien Lepiller <julien@lepiller.eu> writes:

> Le 30 juillet 2019 16:11:19 GMT+02:00, Ricardo Wurmus <rekado@elephly.net> a = =C3=A9crit :
>>
>>Nicol=C3=B2 Balzarotti <anothersms@gmail.com> writes:
>>
>>> 3. By adding a simple startup.jl script, inspired by what emac= s does.
>>This
>>> is simplified so I'm not sure it works for every corner ca= se.
>>> #+begin_src julia
>>> let paths =3D [expanduser("~/.guix-profile"),
>>"/run/current-system/profile"]
>>>=C2=A0 =C2=A0 =C2=A0("GUIX_ENVIRONMENT" in keys(ENV))= && push!(paths,
>>> ENV["GUIX_ENVIRONMENT"])
>>>=C2=A0 =C2=A0 =C2=A0empty!(LOAD_PATH)
>>>=C2=A0 =C2=A0 =C2=A0push!.(Ref(LOAD_PATH), joinpath.(paths, &qu= ot;share/julia/packages/"))
>>>=C2=A0 =C2=A0 =C2=A0push!(LOAD_PATH, "@stdlib")
>>>=C2=A0 =C2=A0 =C2=A0push!.(Ref(DEPOT_PATH), joinpath.(paths, &q= uot;share/julia/"))
>>>=C2=A0 =C2=A0 =C2=A0nothing
>>> end
>>> #+end_src
>>
>>Could this perhaps be handled by a profile hook that is included on= ly
>>when the profile manifest contains a julia package?
>
> Or simply with an environment variable? GUIX_JULIA_PATH or something?<= br>
If this is the route you go down, please ensure that it can be used as a search path with more than one directory.=C2=A0 This would make it possible=
to extend a Julia environment with the contents of more than one
profile.

--
Ricardo

--000000000000f7c299058f339921-- --000000000000f7c29d058f339923 Content-Type: text/x-patch; charset="UTF-8"; name="0001-build-Add-julia-build-system.patch" Content-Disposition: attachment; filename="0001-build-Add-julia-build-system.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jyvddv2c0 RnJvbSA1NTM4ZTc1OWU2YTUwMDQxYTQwYzM1MGNmOGMwOGMwYjRjMGY2NDdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBuaXhvIDxuaWNvbG9Abml4by54eXo+CkRhdGU6IE1vbiwgMjkg SnVsIDIwMTkgMTg6NDU6MjYgKzAyMDAKU3ViamVjdDogW1BBVENIIDEvMl0gYnVpbGQ6IEFkZCBq dWxpYS1idWlsZC1zeXN0ZW0uCgoqIGd1aXgvYnVpbGQvanVsaWEtYnVpbGQtc3lzdGVtLnNjbTog TmV3IGZpbGUuCiogZ3VpeC9idWlsZC1zeXN0ZW0vanVsaWEuc2NtOiBOZXcgZmlsZS4KKiBNYWtl ZmlsZS5hbTogQWRkZWQgbmV3IGZpbGVzLgotLS0KIE1ha2VmaWxlLmFtICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArCiBkb2MvZ3VpeC50ZXhpICAgICAgICAgICAgICAgICAgICAgfCAgMjMg KysrKysKIGd1aXgvYnVpbGQtc3lzdGVtL2p1bGlhLnNjbSAgICAgICB8IDEzMiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogZ3VpeC9idWlsZC9qdWxpYS1idWlsZC1zeXN0ZW0uc2NtIHwg MTM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyOTIg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGd1aXgvYnVpbGQtc3lzdGVtL2p1bGlh LnNjbQogY3JlYXRlIG1vZGUgMTAwNjQ0IGd1aXgvYnVpbGQvanVsaWEtYnVpbGQtc3lzdGVtLnNj bQoKZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggMGJkODVlOGZj Zi4uZDE0NDg3MDQ1YSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0K QEAgLTEyNSw2ICsxMjUsNyBAQCBNT0RVTEVTID0JCQkJCVwKICAgZ3VpeC9idWlsZC1zeXN0ZW0v Z251LnNjbQkJCVwKICAgZ3VpeC9idWlsZC1zeXN0ZW0vZ3VpbGUuc2NtCQkJXAogICBndWl4L2J1 aWxkLXN5c3RlbS9oYXNrZWxsLnNjbQkJCVwKKyAgZ3VpeC9idWlsZC1zeXN0ZW0vanVsaWEuc2Nt CQkJXAogICBndWl4L2J1aWxkLXN5c3RlbS9saW51eC1tb2R1bGUuc2NtCQlcCiAgIGd1aXgvYnVp bGQtc3lzdGVtL25vZGUuc2NtCQkJXAogICBndWl4L2J1aWxkLXN5c3RlbS9wZXJsLnNjbQkJCVwK QEAgLTE4Myw2ICsxODQsNyBAQCBNT0RVTEVTID0JCQkJCVwKICAgZ3VpeC9idWlsZC90ZXhsaXZl LWJ1aWxkLXN5c3RlbS5zY20JCVwKICAgZ3VpeC9idWlsZC93YWYtYnVpbGQtc3lzdGVtLnNjbQkJ XAogICBndWl4L2J1aWxkL2hhc2tlbGwtYnVpbGQtc3lzdGVtLnNjbQkJXAorICBndWl4L2J1aWxk L2p1bGlhLWJ1aWxkLXN5c3RlbS5zY20JCVwKICAgZ3VpeC9idWlsZC9saW51eC1tb2R1bGUtYnVp bGQtc3lzdGVtLnNjbQlcCiAgIGd1aXgvYnVpbGQvc3RvcmUtY29weS5zY20JCQlcCiAgIGd1aXgv YnVpbGQvanNvbi5zY20JCQkJXApkaWZmIC0tZ2l0IGEvZG9jL2d1aXgudGV4aSBiL2RvYy9ndWl4 LnRleGkKaW5kZXggY2NjMzZhOGE5Ny4uZThhYTRiYzkwNiAxMDA2NDQKLS0tIGEvZG9jL2d1aXgu dGV4aQorKysgYi9kb2MvZ3VpeC50ZXhpCkBAIC02MDMyLDYgKzYwMzIsMjkgQEAgUGFja2FnZXMg YnVpbHQgd2l0aCBAY29kZXtndWlsZS1idWlsZC1zeXN0ZW19IG11c3QgcHJvdmlkZSBhIEd1aWxl IHBhY2thZ2UgaW4KIHRoZWlyIEBjb2Rle25hdGl2ZS1pbnB1dHN9IGZpZWxkLgogQGVuZCBkZWZ2 cgogCitAZGVmdnIge1NjaGVtZSBWYXJpYWJsZX0ganVsaWEtYnVpbGQtc3lzdGVtCitUaGlzIHZh cmlhYmxlIGlzIGV4cG9ydGVkIGJ5IEBjb2RleyhndWl4IGJ1aWxkLXN5c3RlbSBqdWxpYSl9LiAg SXQgaW1wbGVtZW50cwordGhlIGJ1aWxkIHByb2NlZHVyZSB1c2VkIGJ5IEB1cmVme2h0dHBzOi8v anVsaWFsYW5nLm9yZy8sIGp1bGlhfSBwYWNrYWdlcywKK3doaWNoIGVzc2VudGlhbGx5IGlzIHNp bWlsYXIgdG8gcnVubmluZyBAY29tbWFuZHtqdWxpYSAtZSAndXNpbmcgUGtnOworUGtnLmFkZChw YWNrYWdlKSd9IGluIGFuIGVudmlyb25tZW50IHdoZXJlIEBjb2Rle0pVTElBX0xPQURfUEFUSH0g Y29udGFpbnMgdGhlCitwYXRocyB0byBhbGwgSnVsaWEgcGFja2FnZSBpbnB1dHMuICBUZXN0cyBh cmUgcnVuIG5vdCBydW4uCisKK0p1bGlhIHBhY2thZ2VzIHJlcXVpcmUgdGhlIHNvdXJjZSBAY29k ZXtmaWxlLW5hbWV9IHRvIGJlIHRoZSByZWFsIG5hbWUgb2YgdGhlCitwYWNrYWdlLCBjb3JyZWN0 bHkgY2FwaXRhbGl6ZWQuCisKK0ZvciBwYWNrYWdlcyByZXF1aXJpbmcgc2hhcmVkIGxpYnJhcnkg ZGVwZW5kZW5jaWVzLCB5b3UgbWF5IG5lZWQgdG8gd3JpdGUgdGhlCitAZmlsZXsvZGVwcy9kZXBz LmpsfSBmaWxlIG1hbnVhbGx5LiBJdCdzIHVzdWFsbHkgYSBsaW5lIG9mIEBjb2Rle2NvbnN0Cit2 YXJpYWJsZSA9IC9nbnUvc3RvcmUvbGliYXJ5LnNvfSBmb3IgZWFjaCBkZXBlbmRlbmN5LCBwbHVz IGEgdm9pZCBmdW5jdGlvbgorQGNvZGV7Y2hlY2tfZGVwcygpID0gbm90aGluZ30uCisKK1NvbWUg b2xkZXIgcGFja2FnZXMgdGhhdCBhcmVuJ3QgdXNpbmcgQGZpbGV7UGFja2FnZS50b21sfSB5ZXQs IHdpbGwgcmVxdWlyZQordGhpcyBmaWxlIHRvIGJlIGNyZWF0ZWQsIHRvby4gVGhlIGZ1bmN0aW9u IEBjb2Rle2p1bGlhLWNyZWF0ZS1wYWNrYWdlLXRvbWx9CitoZWxwcyBjcmVhdGluZyB0aGUgZmls ZS4gWW91IG5lZWQgdG8gcGFzcyB0aGUgb3V0cHV0cyBhbmQgdGhlIHNvdXJjZSBvZiB0aGUKK3Bh Y2thZ2UsIGl0J3MgbmFtZSAodGhlIHNhbWUgYXMgdGhlIEBjb2Rle2ZpbGUtbmFtZX0gcGFyYW1l dGVyKSwgdGhlIHBhY2thZ2UKK3V1aWQsIHRoZSBwYWNrYWdlIHZlcnNpb24sIGFuZCBhIGxpc3Qg b2YgZGVwZW5kZW5jaWVzIHNwZWNpZmllZCBieSB0aGVpciBuYW1lCithbmQgdGhlaXIgdXVpZC4K K0BlbmQgZGVmdnIKKwogQGRlZnZyIHtTY2hlbWUgVmFyaWFibGV9IG1pbmlmeS1idWlsZC1zeXN0 ZW0KIFRoaXMgdmFyaWFibGUgaXMgZXhwb3J0ZWQgYnkgQGNvZGV7KGd1aXggYnVpbGQtc3lzdGVt IG1pbmlmeSl9LiAgSXQKIGltcGxlbWVudHMgYSBtaW5pZmljYXRpb24gcHJvY2VkdXJlIGZvciBz aW1wbGUgSmF2YVNjcmlwdCBwYWNrYWdlcy4KZGlmZiAtLWdpdCBhL2d1aXgvYnVpbGQtc3lzdGVt L2p1bGlhLnNjbSBiL2d1aXgvYnVpbGQtc3lzdGVtL2p1bGlhLnNjbQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi40ZTBkNmNjZGRmCi0tLSAvZGV2L251bGwKKysrIGIvZ3Vp eC9idWlsZC1zeXN0ZW0vanVsaWEuc2NtCkBAIC0wLDAgKzEsMTMyIEBACis7OzsgR05VIEd1aXgg LS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKKzs7OyBDb3B5cmlnaHQg wqkgMjAxOSBOaWNvbMOyIEJhbHphcm90dGkgPG5pY29sb0BuaXhvLnh5ej4KKzs7OworOzs7IFRo aXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgorOzs7Cis7OzsgR05VIEd1aXggaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorOzs7IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5Cis7OzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cis7OzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorOzs7Cis7OzsgR05VIEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwgYnV0Cis7OzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7OyBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorOzs7Cis7OzsgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7OyBh bG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorCisoZGVmaW5lLW1vZHVsZSAoZ3VpeCBidWlsZC1zeXN0ZW0ganVsaWEpCisgICM6 dXNlLW1vZHVsZSAoKGd1aXggYnVpbGQganVsaWEtYnVpbGQtc3lzdGVtKSkKKyAgIzp1c2UtbW9k dWxlIChnbnUgcGFja2FnZXMganVsaWEpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBzdG9yZSkKKyAg Izp1c2UtbW9kdWxlIChndWl4IHV0aWxzKQorICAjOnVzZS1tb2R1bGUgKGd1aXggcGFja2FnZXMp CisgICM6dXNlLW1vZHVsZSAoZ3VpeCBkZXJpdmF0aW9ucykKKyAgIzp1c2UtbW9kdWxlIChndWl4 IHNlYXJjaC1wYXRocykKKyAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSkKKyAgIzp1 c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbnUpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkg bWF0Y2gpCisgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTI2KQorICAjOmV4cG9ydCAoJWp1bGlh LWJ1aWxkLXN5c3RlbS1tb2R1bGVzCisgICAgICAgICAgICBqdWxpYS1idWlsZAorICAgICAgICAg ICAganVsaWEtYnVpbGQtc3lzdGVtKSkKKworOzsgQ29tbWVudGFyeToKKzs7Cis7OyBTdGFuZGFy ZCBidWlsZCBwcm9jZWR1cmUgZm9yIEp1bGlhIHBhY2thZ2VzLgorOzsKKzs7IENvZGU6CisKKyhk ZWZpbmUgJWp1bGlhLWJ1aWxkLXN5c3RlbS1tb2R1bGVzCisgIDs7IEJ1aWxkLXNpZGUgbW9kdWxl cyBpbXBvcnRlZCBieSBkZWZhdWx0LgorICBgKChndWl4IGJ1aWxkIGp1bGlhLWJ1aWxkLXN5c3Rl bSkKKyAgICAsQCVnbnUtYnVpbGQtc3lzdGVtLW1vZHVsZXMpKQorCisoZGVmaW5lIChkZWZhdWx0 LWp1bGlhKQorICAiUmV0dXJuIHRoZSBkZWZhdWx0IEp1bGlhIHBhY2thZ2UuIgorICA7OyBMYXpp bHkgcmVzb2x2ZSB0aGUgYmluZGluZyB0byBhdm9pZCBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuCisg IChsZXQgKChqdWxpYS1tb2QgKHJlc29sdmUtaW50ZXJmYWNlICcoZ251IHBhY2thZ2VzIGp1bGlh KSkpKQorICAgIChtb2R1bGUtcmVmIGp1bGlhLW1vZCAnanVsaWEpKSkKKworKGRlZmluZSogKGxv d2VyIG5hbWUKKyAgICAgICAgICAgICAgICAjOmtleSBzb3VyY2UgaW5wdXRzIG5hdGl2ZS1pbnB1 dHMgb3V0cHV0cyBzeXN0ZW0gdGFyZ2V0CisgICAgICAgICAgICAgICAgKGp1bGlhIGp1bGlhKQor ICAgICAgICAgICAgICAgICM6YWxsb3ctb3RoZXIta2V5cworICAgICAgICAgICAgICAgICM6cmVz dCBhcmd1bWVudHMpCisgICJSZXR1cm4gYSBiYWcgZm9yIE5BTUUuIgorICAoZGVmaW5lIHByaXZh dGUta2V5d29yZHMKKyAgICAnKCM6dGFyZ2V0ICM6anVsaWEgIzppbnB1dHMgIzpuYXRpdmUtaW5w dXRzKSkKKworICAoYW5kIChub3QgdGFyZ2V0KQkJCTtYWFg6IG5vIGNyb3NzLWNvbXBpbGF0aW9u CisgICAgICAgKGJhZworCSAobmFtZSBuYW1lKQorCSAoc3lzdGVtIHN5c3RlbSkKKwkgKGhvc3Qt aW5wdXRzIGAoLEAoaWYgc291cmNlCisJCQkgICAgICBgKCgic291cmNlIiAsc291cmNlKSkKKwkJ CSAgICAgICcoKSkKKwkJICAgICAgICAsQGlucHV0cworICAgICAgICAgICAgICAgICAgICAgICAg CisgICAgICAgICAgICAgICAgICAgICAgICA7OyBLZWVwIHRoZSBzdGFuZGFyZCBpbnB1dHMgb2Yg J2dudS1idWlsZC1zeXN0ZW0nLgorCQkgICAgICAgICxAKHN0YW5kYXJkLXBhY2thZ2VzKSkpCisJ IChidWlsZC1pbnB1dHMgYCgoImp1bGlhIiAsanVsaWEpCisJCQkgLEBuYXRpdmUtaW5wdXRzKSkK KwkgKG91dHB1dHMgb3V0cHV0cykKKwkgKGJ1aWxkIGp1bGlhLWJ1aWxkKQorCSAoYXJndW1lbnRz IChzdHJpcC1rZXl3b3JkLWFyZ3VtZW50cyBwcml2YXRlLWtleXdvcmRzIGFyZ3VtZW50cykpKSkp CisKKyhkZWZpbmUqIChqdWxpYS1idWlsZCBzdG9yZSBuYW1lIGlucHV0cworICAgICAgICAgICAg ICAgICAgICAgICM6a2V5IHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICh0ZXN0cz8gI2Yp CisgICAgICAgICAgICAgICAgICAgICAgKHBoYXNlcyAnKEAgKGd1aXggYnVpbGQganVsaWEtYnVp bGQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzdGFuZGFyZC1w aGFzZXMpKQorICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXRzICcoIm91dCIpKQorICAgICAg ICAgICAgICAgICAgICAgIChzZWFyY2gtcGF0aHMgJygpKQorICAgICAgICAgICAgICAgICAgICAg IChzeXN0ZW0gKCVjdXJyZW50LXN5c3RlbSkpCisgICAgICAgICAgICAgICAgICAgICAgKGd1aWxl ICNmKQorICAgICAgICAgICAgICAgICAgICAgIChpbXBvcnRlZC1tb2R1bGVzICVqdWxpYS1idWls ZC1zeXN0ZW0tbW9kdWxlcykKKyAgICAgICAgICAgICAgICAgICAgICAobW9kdWxlcyAnKChndWl4 IGJ1aWxkIGp1bGlhLWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChndWl4IGJ1aWxkIHV0aWxzKSkpKQorICAiQnVpbGQgU09VUkNFIHVzaW5nIEp1bGlhLCBh bmQgd2l0aCBJTlBVVFMuIgorICAoZGVmaW5lIGJ1aWxkZXIKKyAgICBgKGJlZ2luCisgICAgICAg KHVzZS1tb2R1bGVzICxAbW9kdWxlcykKKyAgICAgICAoanVsaWEtYnVpbGQgIzpuYW1lICxuYW1l CisgICAgICAgICAgICAgICAgICAgICM6c291cmNlICwobWF0Y2ggKGFzc29jLXJlZiBpbnB1dHMg InNvdXJjZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoKD8gZGVyaXZhdGlv bj8gc291cmNlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZXJpdmF0aW9u LT5vdXRwdXQtcGF0aCBzb3VyY2UpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo KHNvdXJjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc291cmNlKSkKKyAgICAgICAgICAgICAgICAgICAgIzpzeXN0ZW0gLHN5c3Rl bQorICAgICAgICAgICAgICAgICAgICAjOnRlc3RzPyAsdGVzdHM/CisgICAgICAgICAgICAgICAg ICAgICM6cGhhc2VzICxwaGFzZXMKKyAgICAgICAgICAgICAgICAgICAgIzpvdXRwdXRzICVvdXRw dXRzCisgICAgICAgICAgICAgICAgICAgICM6c2VhcmNoLXBhdGhzICcsKG1hcCBzZWFyY2gtcGF0 aC1zcGVjaWZpY2F0aW9uLT5zZXhwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWFyY2gtcGF0aHMpCisgICAgICAgICAgICAgICAgICAgICM6aW5wdXRzICVidWls ZC1pbnB1dHMpKSkKKworICAoZGVmaW5lIGd1aWxlLWZvci1idWlsZAorICAgIChtYXRjaCBndWls ZQorICAgICAgKCg/IHBhY2thZ2U/KQorICAgICAgIChwYWNrYWdlLWRlcml2YXRpb24gc3RvcmUg Z3VpbGUgc3lzdGVtICM6Z3JhZnQ/ICNmKSkKKyAgICAgICgjZiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOyB0aGUgZGVmYXVsdAorICAgICAgIChsZXQqICgoZGlzdHJv IChyZXNvbHZlLWludGVyZmFjZSAnKGdudSBwYWNrYWdlcyBjb21tZW5jZW1lbnQpKSkKKyAgICAg ICAgICAgICAgKGd1aWxlICAobW9kdWxlLXJlZiBkaXN0cm8gJ2d1aWxlLWZpbmFsKSkpCisgICAg ICAgICAocGFja2FnZS1kZXJpdmF0aW9uIHN0b3JlIGd1aWxlIHN5c3RlbSAjOmdyYWZ0PyAjZikp KSkpCisKKyAgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gc3RvcmUgbmFtZSBidWlsZGVy CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aW5wdXRzIGlucHV0cworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjOnN5c3RlbSBzeXN0ZW0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIzptb2R1bGVzIGltcG9ydGVkLW1vZHVsZXMKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIzpvdXRwdXRzIG91dHB1dHMKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIzpndWlsZS1mb3ItYnVpbGQgZ3VpbGUtZm9yLWJ1aWxkKSkKKworKGRl ZmluZSBqdWxpYS1idWlsZC1zeXN0ZW0KKyAgKGJ1aWxkLXN5c3RlbQorICAgKG5hbWUgJ2p1bGlh KQorICAgKGRlc2NyaXB0aW9uICJUaGUgYnVpbGQgc3lzdGVtIGZvciBKdWxpYSBwYWNrYWdlcyIp CisgICAobG93ZXIgbG93ZXIpKSkKKworOzs7IGp1bGlhLnNjbSBlbmRzIGhlcmUKZGlmZiAtLWdp dCBhL2d1aXgvYnVpbGQvanVsaWEtYnVpbGQtc3lzdGVtLnNjbSBiL2d1aXgvYnVpbGQvanVsaWEt YnVpbGQtc3lzdGVtLnNjbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi43 MjhiYjY1ODkzCi0tLSAvZGV2L251bGwKKysrIGIvZ3VpeC9idWlsZC9qdWxpYS1idWlsZC1zeXN0 ZW0uc2NtCkBAIC0wLDAgKzEsMTM1IEBACis7OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFj a2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKKzs7OyBDb3B5cmlnaHQgwqkgMjAxOSBOaWNvbMOyIEJh bHphcm90dGkgPG5pY29sb0BuaXhvLnh5ej4KKzs7OworOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEdOVSBHdWl4LgorOzs7Cis7OzsgR05VIEd1aXggaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorOzs7IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OzsgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IgKGF0Cis7OzsgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorOzs7Cis7OzsgR05V IEd1aXggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwg YnV0Cis7OzsgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorOzs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKzs7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorOzs7Cis7OzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4 LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisKKyhkZWZp bmUtbW9kdWxlIChndWl4IGJ1aWxkIGp1bGlhLWJ1aWxkLXN5c3RlbSkKKyAgIzp1c2UtbW9kdWxl ICgoZ3VpeCBidWlsZCBnbnUtYnVpbGQtc3lzdGVtKSAjOnByZWZpeCBnbnU6KQorICAjOnVzZS1t b2R1bGUgKGd1aXggYnVpbGQgdXRpbHMpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgbWF0Y2gpCisg ICM6ZXhwb3J0ICglc3RhbmRhcmQtcGhhc2VzCisJICAgIGp1bGlhLWNyZWF0ZS1wYWNrYWdlLXRv bWwKKyAgICAgICAgICAgIGp1bGlhLWJ1aWxkKSkKKworOzsgQ29tbWVudGFyeToKKzs7Cis7OyBC dWlsZGVyLXNpZGUgY29kZSBvZiB0aGUgc3RhbmRhcmQgYnVpbGQgcHJvY2VkdXJlIGZvciBKdWxp YSBwYWNrYWdlcy4KKzs7Cis7OyBDb2RlOgorCisoZGVmaW5lIChpbnZva2UtanVsaWEgY29kZSkK KyAgKGludm9rZSAianVsaWEiICItZSIgY29kZSkpCisKKzs7IHN1YnBhdGggd2hlcmUgd2Ugc3Rv cmUgdGhlIHBhY2thZ2UgY29udGVudAorKGRlZmluZSAlcGFja2FnZS1wYXRoICIvc2hhcmUvanVs aWEvcGFja2FnZXMvIikKKworKGRlZmluZSAoZ2VuZXJhdGUtbG9hZC1wYXRoIGlucHV0cyBvdXRw dXRzKQorICAoc3RyaW5nLWFwcGVuZAorICAgKHN0cmluZy1qb2luIChtYXAgKG1hdGNoLWxhbWJk YQorICAgICAgICAgICAgICAgICAgICAgICAoKF8gLiBwYXRoKQorICAgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgcGF0aCAlcGFja2FnZS1wYXRoKSkpCisgICAgICAgICAgICAg ICAgICAgICA7OyBSZXN0cmljdCB0byBpbnB1dHMgYmVnaW5uaW5nIHdpdGggImp1bGlhLSIuCisg ICAgICAgICAgICAgICAgICAgICAoZmlsdGVyIChtYXRjaC1sYW1iZGEKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKG5hbWUgLiBfKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc3RyaW5nLXByZWZpeD8gImp1bGlhLSIgbmFtZSkpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnB1dHMpKQorICAgICAgICAgICAgICAgICI6IikKKyAgIChzdHJpbmctYXBw ZW5kICI6IiAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpICVwYWNrYWdlLXBhdGgpCisgICA7OyBz dGRsaWIgaXMgYWx3YXlzIHJlcXVpcmVkIHRvIGZpbmQgSnVsaWEncyBzdGFuZGFyZCBsaWJyYXJp ZXMuCisgICA7OyB1c3VhbGx5IHRoZXJlIGFyZSBvdGhlciB0d28gcGF0aHMgaW4gdGhpcyB2YXJp YWJsZToKKyAgIDs7ICJAIiBhbmQgIkB2Iy4jIgorICAgIjpAc3RkbGliIikpCisKKyhkZWZpbmUq IChpbnN0YWxsICM6a2V5IHNvdXJjZSBpbnB1dHMgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMp CisgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCisJIChwYWNrYWdlLWRp ciAoc3RyaW5nLWFwcGVuZCBvdXQgJXBhY2thZ2UtcGF0aAorCQkJCSAgICAgKHN0cmluZy1hcHBl bmQKKwkJCQkgICAgICAoc3RyaXAtc3RvcmUtZmlsZS1uYW1lIHNvdXJjZSkpKSkpCisgICAgKHNl dGVudiAiSlVMSUFfTE9BRF9QQVRIIiAoZ2VuZXJhdGUtbG9hZC1wYXRoIGlucHV0cyBvdXRwdXRz KSkKKyAgICAobWtkaXItcCBwYWNrYWdlLWRpcikKKyAgICAoY29weS1yZWN1cnNpdmVseSBzb3Vy Y2UgcGFja2FnZS1kaXIpKQorICAjdCkKKworOzsgVE9ETzogUHJlY29tcGlsYXRpb24gaXMgd29y a2luZywgYnV0IEkgZG9uJ3Qga25vdyBob3cgdG8gdGVsbAorOzsganVsaWEgdG8gdXNlIHVzZSBp dC4gSWYgKG9uIHJhbnRpbWUpIHdlIHNldCBIT01FIHRvCis7OyBzdG9yZSBwYXRoLCBqdWxpYSB0 cmllcyB0byB3cml0ZSBmaWxlcyB0aGVyZSAoZmFpbGluZykKKyhkZWZpbmUqIChwcmVjb21waWxl ICM6a2V5IHNvdXJjZSBpbnB1dHMgb3V0cHV0cyAjOmFsbG93LW90aGVyLWtleXMpCisgIChsZXQq ICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAib3V0IikpCisJIChidWlsZGRpciAoc3RyaW5nLWFw cGVuZCBvdXQgIi9zaGFyZS9qdWxpYS8iKSkKKwkgKHBhY2thZ2UgKHN0cmlwLXN0b3JlLWZpbGUt bmFtZSBzb3VyY2UpKSkKKyAgICAobWtkaXItcCBidWlsZGRpcikKKyAgICAoc2V0ZW52ICJKVUxJ QV9ERVBPVF9QQVRIIiBidWlsZGRpcikKKyAgICAoc2V0ZW52ICJKVUxJQV9MT0FEX1BBVEgiIChn ZW5lcmF0ZS1sb2FkLXBhdGggaW5wdXRzIG91dHB1dHMpKQorICAgIDs7IEFjdHVhbCBwcmVjb21w aWxhdGlvbgorICAgIChpbnZva2UtanVsaWEgKHN0cmluZy1hcHBlbmQgInVzaW5nICIgcGFja2Fn ZSkpKQorICAjdCkKKworKGRlZmluZSogKGNoZWNrICM6a2V5IHNvdXJjZSBpbnB1dHMgb3V0cHV0 cyAjOmFsbG93LW90aGVyLWtleXMpCisgIChsZXQqICgob3V0IChhc3NvYy1yZWYgb3V0cHV0cyAi b3V0IikpCisJIChwYWNrYWdlIChzdHJpcC1zdG9yZS1maWxlLW5hbWUgc291cmNlKSkKKwkgKGJ1 aWxkZGlyIChzdHJpbmctYXBwZW5kIG91dCAiL3NoYXJlL2p1bGlhLyIpKSkKKyAgICAoc2V0ZW52 ICJKVUxJQV9ERVBPVF9QQVRIIiBidWlsZGRpcikKKyAgICAoc2V0ZW52ICJKVUxJQV9MT0FEX1BB VEgiIChnZW5lcmF0ZS1sb2FkLXBhdGggaW5wdXRzIG91dHB1dHMpKQorICAgIChpbnZva2UtanVs aWEgKHN0cmluZy1hcHBlbmQgInVzaW5nIFBrZztQa2cudGVzdChcIiIgcGFja2FnZSAiXCIpIikp KQorICAjdCkKKworKGRlZmluZSAoanVsaWEtY3JlYXRlLXBhY2thZ2UtdG9tbCBvdXRwdXRzIHNv dXJjZQorCQkJCSAgIG5hbWUgdXVpZCB2ZXJzaW9uCisJCQkJICAgZGVwcykKKyAgIlNvbWUgcGFj a2FnZXMgYXJlIG5vdCB1c2luZyB0aGUgbmV3IFBhY2thZ2UudG9tbCBkZXBlbmRlbmN5IHNwZWNp ZmljYXRpb25zLgorV3JpdGUgdGhpcyBmaWxlIG1hbnVhbGx5LCBzbyB0aGF0IEp1bGlhIGNhbiBm aW5kIGl0cyBkZXBlbmRlbmNpZXMuIgorICAobGV0ICgoZiAob3Blbi1maWxlCisJICAgIChzdHJp bmctYXBwZW5kCisJICAgICAoYXNzb2MtcmVmIG91dHB1dHMgIm91dCIpCisJICAgICAlcGFja2Fn ZS1wYXRoCisJICAgICAoc3RyaW5nLWFwcGVuZAorCSAgICAgIG5hbWUgIi9Qcm9qZWN0LnRvbWwi KSkKKwkgICAgInciKSkpCisgICAgKGRpc3BsYXkgKHN0cmluZy1hcHBlbmQKKwkgICAgICAiCitu YW1lID0gXCIiIG5hbWUgIlwiCit1dWlkID0gXCIiIHV1aWQgIlwiCit2ZXJzaW9uID0gXCIiIHZl cnNpb24gIlwiCisiKSBmKQorICAgICh3aGVuIChub3QgKG51bGw/IGRlcHMpKQorICAgICAgKGRp c3BsYXkgIltkZXBzXVxuIiBmKQorICAgICAgKGZvci1lYWNoIChsYW1iZGEgZGVwCisJCSAgKGRp c3BsYXkgKHN0cmluZy1hcHBlbmQgKGNhciAoY2FyIGRlcCkpICIgPSBcIiIgKGNkciAoY2FyIGRl cCkpICJcIlxuIikKKwkJCSAgIGYpKQorCQlkZXBzKSkKKyAgICAoY2xvc2UtcG9ydCBmKSkKKyAg I3QpCisKKyhkZWZpbmUgJXN0YW5kYXJkLXBoYXNlcworICAobW9kaWZ5LXBoYXNlcyBnbnU6JXN0 YW5kYXJkLXBoYXNlcworICAgIChkZWxldGUgJ2NoZWNrKSA7IHRlc3RzIG11c3QgYmUgcnVuIGFm dGVyIGluc3RhbGxhdGlvbgorICAgIChyZXBsYWNlICdpbnN0YWxsIGluc3RhbGwpCisgICAgKGFk ZC1hZnRlciAnaW5zdGFsbCAncHJlY29tcGlsZSBwcmVjb21waWxlKQorICAgIDs7IChhZGQtYWZ0 ZXIgJ2luc3RhbGwgJ2NoZWNrIGNoZWNrKQorICAgIDs7IFRPRE86IEluIHRoZSBmdXR1cmUgd2Ug Y291bGQgYWRkIGEgInN5c3RlbS1pbWFnZS1nZW5lcmF0aW9uIiBwaGFzZQorICAgIDs7IHdoZXJl IHdlIHVzZSBQYWNrYWdlQ29tcGlsZXIuamwgdG8gc3BlZWQgdXAgcGFja2FnZSBsb2FkaW5nIHRp bWVzCisgICAgKGRlbGV0ZSAnY29uZmlndXJlKQorICAgIChkZWxldGUgJ2Jvb3RzdHJhcCkKKyAg ICAoZGVsZXRlICdwYXRjaC11c3ItYmluLWZpbGUpCisgICAgKGRlbGV0ZSAnYnVpbGQpKSkKKwor KGRlZmluZSogKGp1bGlhLWJ1aWxkICM6a2V5IGlucHV0cyAocGhhc2VzICVzdGFuZGFyZC1waGFz ZXMpCisgICAgICAgICAgICAgICAgICAgICAgIzphbGxvdy1vdGhlci1rZXlzICM6cmVzdCBhcmdz KQorICAiQnVpbGQgdGhlIGdpdmVuIEp1bGlhIHBhY2thZ2UsIGFwcGx5aW5nIGFsbCBvZiBQSEFT RVMgaW4gb3JkZXIuIgorICAoYXBwbHkgZ251OmdudS1idWlsZAorICAgICAgICAgIzppbnB1dHMg aW5wdXRzICM6cGhhc2VzIHBoYXNlcworICAgICAgICAgYXJncykpCi0tIAoyLjIyLjAKCg== --000000000000f7c29d058f339923 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-packages-julia-set-JULIA_LOAD_PATH-to-be-able-to-fin.patch" Content-Disposition: attachment; filename="0002-packages-julia-set-JULIA_LOAD_PATH-to-be-able-to-fin.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jyvddv2c1 RnJvbSBhMGIwYmYxMzUwMDIzNDA0Yjc4MjY1NmMyYTA5M2NhMGJmZDZhYmI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBuaXhvIDxuaWNvbG9Abml4by54eXo+CkRhdGU6IFNhdCwgMyBB dWcgMjAxOSAxMToxOToxMSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBwYWNrYWdlczoganVs aWE6IHNldCBKVUxJQV9MT0FEX1BBVEggdG8gYmUgYWJsZSB0byBmaW5kCiBwYWNrYWdlcwoKLS0t CiBnbnUvcGFja2FnZXMvanVsaWEuc2NtIHwgNCArKysrCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2p1bGlhLnNjbSBiL2dudS9wYWNr YWdlcy9qdWxpYS5zY20KaW5kZXggNDMyNTRmMjVmZC4uNjVhNWU0MmJlYiAxMDA2NDQKLS0tIGEv Z251L3BhY2thZ2VzL2p1bGlhLnNjbQorKysgYi9nbnUvcGFja2FnZXMvanVsaWEuc2NtCkBAIC00 ODIsNiArNDgyLDEwIEBACiAgICAgICAgKCJwYXRjaGVsZiIgLHBhdGNoZWxmKQogICAgICAgICgi cGtnLWNvbmZpZyIgLHBrZy1jb25maWcpCiAgICAgICAgKCJweXRob24iICxweXRob24tMikpKQor ICAgIChuYXRpdmUtc2VhcmNoLXBhdGhzCisgICAgIChsaXN0IChzZWFyY2gtcGF0aC1zcGVjaWZp Y2F0aW9uCisgICAgICAgICAgICAodmFyaWFibGUgIkpVTElBX0xPQURfUEFUSCIpCisgICAgICAg ICAgICAoZmlsZXMgKGxpc3QgInNoYXJlL2p1bGlhL3BhY2thZ2VzLyIpKSkpKQogICAgIDs7IEp1 bGlhIGlzIG5vdCBvZmZpY2lhbGx5IHJlbGVhc2VkIGZvciBBUk0gYW5kIE1JUFMuCiAgICAgOzsg U2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9KdWxpYUxhbmcvanVsaWEvaXNzdWVzLzEwNjM5CiAgICAg KHN1cHBvcnRlZC1zeXN0ZW1zICcoImk2ODYtbGludXgiICJ4ODZfNjQtbGludXgiICJhYXJjaDY0 LWxpbnV4IikpCi0tIAoyLjIyLjAKCg== --000000000000f7c29d058f339923--