From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id mBhAGfZO8GEGKAEAgWs5BA (envelope-from ) for ; Tue, 25 Jan 2022 20:26:46 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id MGrmFfZO8GHR3wAAauVa8A (envelope-from ) for ; Tue, 25 Jan 2022 20:26:46 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 083A412761 for ; Tue, 25 Jan 2022 20:26:46 +0100 (CET) Received: from localhost ([::1]:49102 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nCRSn-00059v-6O for larch@yhetil.org; Tue, 25 Jan 2022 14:26:45 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37332) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nCLNL-0005DF-2H for guix-devel@gnu.org; Tue, 25 Jan 2022 07:56:43 -0500 Received: from smtprelay02.ispgateway.de ([80.67.18.14]:21051) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nCLNC-0001DX-2V; Tue, 25 Jan 2022 07:56:37 -0500 Received: from [79.252.145.173] (helo=motorball) by smtprelay02.ispgateway.de with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nCLMw-0003cI-9p; Tue, 25 Jan 2022 13:56:18 +0100 From: Simon Streit To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: WSDD Service Module References: <87ee4xrva3.fsf@gnu.org> Gcc: nnfolder+archive:sent.2022-01 Date: Tue, 25 Jan 2022 13:56:29 +0100 In-Reply-To: <87ee4xrva3.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 24 Jan 2022 16:46:44 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Df-Sender: bGlzdHNAbmV0cGFuaWMub3Jn Received-SPF: none client-ip=80.67.18.14; envelope-from=simon@netpanic.org; helo=smtprelay02.ispgateway.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Tue, 25 Jan 2022 14:20:14 -0500 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1643138806; h=from:from:sender:sender: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:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=PHV6TBZS7dgvAk5vXgrdy3EjkeZBD7cw5sbnDIF9Q7c=; b=CkkXCCexspfQRM5cCIv2JzTZi1qM+j3LiEmXO9gyY1aQDGq7N2iUlT3kFVxYwlWYkmvghO wRU//29jedxZUEnImo1q4exsKSy4JUtKwMAx8GZ4lRv1S+fi1aImTRSdLyyQrJgAvNMm4l /EXPAXZJYKD11a0alQOCLRsuxbptgkN5TlwqjuXK2VWfXdXkuOqJ908tBk6g/ZA0WOihsI rWHhhbEe+syW8uXAAmEYqPjwTZa0oZiP7K16Ch3zqhXsUJSsHAxRKBQukIQn6bWAT9L1Ch VssmeEGJjHvVGEwO5lMCuaMAFCuY1yISZm1UEDvtmFxSn5qw/oh75ilRB79YMg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1643138806; a=rsa-sha256; cv=none; b=U3Wn3393hh74oWA1QdeuB5O5BbIF7335po0iy3Dm7pn1q8lagF4mb9diu3vT/TPV2mJYXG fJHU6Yh0Te/Z5rSC/DTfligv3UUrHeCWUn+h871qj1XWG995rGGU2gq9MXMQPEhWQg3ynt vC23K/0g8KrVDkCxJ88jZWvf2xSTPq6CJhC320ry10WONPS3R/WQ8593Ydxgam5ZLRRljr J+awPwwkp8iCCNJl86SYn1XFEfGuJPz73ZkMMhUbaHeQzY0f2wgv9B8XaFY0/4oXPWj2w+ NmcuLQM9cmWDa+Kc3gT8pRsuWN3EwwkG6VXOHUZsY+Hn3ULVv3qMpaNONU1Btw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.13 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 083A412761 X-Spam-Score: -4.13 X-Migadu-Scanner: scn0.migadu.com X-TUID: Wxfnq6hc5Y12 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, thanks for your reply. Ludovic Court=C3=A8s writes: > My understanding is that you intend the =E2=80=98interface=E2=80=99 field= to be either > #f or a string, is that right? I think it rather be a list of strings, since wsdd takes the list of interfaces to listen to. So it should expand to --interface eth0 --interface eth1, etc. > When you write: > > (interface) > > that means: =E2=80=9Ccall the procedure bound to =E2=80=98interface=E2=80= =99, passing it zero > arguments=E2=80=9D. However, if =E2=80=98interface=E2=80=99 is a string,= you cannot call it, so > you get a wrong-type-to-apply error. > > Likewise, =E2=80=98for-each=E2=80=99 expects its second argument to be a = list. But > here, =E2=80=98interface=E2=80=99 is supposedly a string, not a list, so = if you do: > > (for-each (lambda =E2=80=A6) interface) > > you=E2=80=99ll get a wrong-type-argument error. So I changed it, that interface is usually an empty list now, and with for-each I'd like to have it expanded. Good thing is, I've gotten at least a step further, but only after hard coding the list as an argument in the for-each expression. So it should work? It still doesn't. And I still don't understand how it is somehow not passed as a list properly. One thing I noticed, after hard coding the argument, the procedure is not properly expanded in the constructor. How come? This is the output in the service file: --8<---------------cut here---------------start------------->8--- (make-forkexec-constructor (list "/gnu/store/6jpn21wnnyz59ii634hfbk34yy48nxrq-wsdd-0.6.4/bin/wsdd" "-= -hoplimit" "1" for-each (lambda (arg) (format #t "--interface ~s " (arg))) (interface) "--workgroup" "WORKGROUP") #:user "wsdd" #:group "wsdd" #:log-file "/var/log/wsdd.log") --8<---------------cut here---------------end--------------->8--- My for-each procedure and list works in my REPL, but it fails in Guix. It might have to do with me trying to get on with make-forkexec-constructor. So this constructor needs a list of strings? I put interfaces into a let*, and would call it in the constructor. Unfortunately this results into an invalid G-expression. Thanks for you help. It is taking its time to get comfortable with Guile. I've attached the current state of the service too. --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=wsdd.scm Content-Transfer-Encoding: base64 KGRlZmluZS1tb2R1bGUgKHNlcnZpY2VzIHNhbWJhKQoKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYXNlKQogICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGFkbWluKQogICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHNhbWJhKQoK ICAjOnVzZS1tb2R1bGUgKGdudSBzZXJ2aWNlcykKICAjOnVzZS1tb2R1bGUgKGdudSBzZXJ2aWNl cyBjb25maWd1cmF0aW9uKQogICM6dXNlLW1vZHVsZSAoZ251IHNlcnZpY2VzIHNoZXBoZXJkKQog ICM6dXNlLW1vZHVsZSAoZ251IHNlcnZpY2VzIGJhc2UpCiAgIzp1c2UtbW9kdWxlIChnbnUgc3lz dGVtIHNoYWRvdykKCiAgIzp1c2UtbW9kdWxlIChndWl4IGdleHApCiAgIzp1c2UtbW9kdWxlIChn dWl4IHBhY2thZ2VzKQogICM6dXNlLW1vZHVsZSAoZ3VpeCBtb2R1bGVzKQogICM6dXNlLW1vZHVs ZSAoZ3VpeCByZWNvcmRzKQoKICAjOnVzZS1tb2R1bGUgKGljZS05IGZvcm1hdCkKICAjOnVzZS1t b2R1bGUgKGljZS05IG1hdGNoKQogICM6dXNlLW1vZHVsZSAoaWNlLTkgdGV4dHVhbC1wb3J0cykK ICAjOnVzZS1tb2R1bGUgKHNyZmkgc3JmaS0xKQoKICAjOmV4cG9ydCAod3NkZC1zZXJ2aWNlCiAg ICAgICAgICAgIHdzZGQtc2VydmljZS10eXBlCiAgICAgICAgICAgIHdzZGQtY29uZmlndXJhdGlv bgogICAgICAgICAgICB3c2RkLWNvbmZpZ3VyYXRpb24/CiAgICAgICAgICAgIHdzZGQtY29uZmln dXJhdGlvbi1wYWNrYWdlCiAgICAgICAgICAgIHdzZGQtY29uZmlndXJhdGlvbi1pcHY0b25seT8K ICAgICAgICAgICAgd3NkZC1jb25maWd1cmF0aW9uLWlwdjZvbmx5PwogICAgICAgICAgICB3c2Rk LWNvbmZpZ3VyYXRpb24tY2hyb290CiAgICAgICAgICAgIHdzZGQtY29uZmlndXJhdGlvbi1ob3Bs aW1pdAogICAgICAgICAgICB3c2RkLWNvbmZpZ3VyYXRpb24taW50ZXJmYWNlCiAgICAgICAgICAg IHdzZGQtY29uZmlndXJhdGlvbi11dWlkLWRldmljZQogICAgICAgICAgICB3c2RkLWNvbmZpZ3Vy YXRpb24tZG9tYWluCiAgICAgICAgICAgIHdzZGQtY29uZmlndXJhdGlvbi1ob3N0bmFtZQogICAg ICAgICAgICB3c2RkLWNvbmZpZ3VyYXRpb24tcHJlc2VydmUtY2FzZT8KICAgICAgICAgICAgd3Nk ZC1jb25maWd1cmF0aW9uLXdvcmtncm91cCkpCgoMCjs7Owo7OzsgV1NERAo7OzsKCihkZWZpbmUt cmVjb3JkLXR5cGUqIDx3c2RkLWNvbmZpZ3VyYXRpb24+CiAgd3NkZC1jb25maWd1cmF0aW9uCiAg bWFrZS13c2RkLWNvbmZpZ3VyYXRpb24KICB3c2RkLWNvbmZpZ3VyYXRpb24/CiAgKHBhY2thZ2Ug ICAgICAgICAgICAgICB3c2RkLWNvbmZpZ3VyYXRpb24tcGFja2FnZQogICAgICAgICAgICAgICAg ICAgICAgICAgKGRlZmF1bHQgd3NkZCkpCiAgKGlwdjRvbmx5PyAgICAgICAgICAgICB3c2RkLWNv bmZpZ3VyYXRpb24taXB2NG9ubHk/CiAgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCAj ZikpCiAgKGlwdjZvbmx5PyAgICAgICAgICAgICB3c2RkLWNvbmZpZ3VyYXRpb24taXB2Nm9ubHk/ CiAgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCAjZikpCiAgKGNocm9vdCAgICAgICAg ICAgICAgICB3c2RkLWNvbmZpZ3VyYXRpb24tY2hyb290CiAgICAgICAgICAgICAgICAgICAgICAg ICAoZGVmYXVsdCAjZikpCiAgKGhvcGxpbWl0ICAgICAgICAgICAgICB3c2RkLWNvbmZpZ3VyYXRp b24taG9wbGltaXQKICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IDEpKQogIChpbnRl cmZhY2UgICAgICAgICAgICAgd3NkZC1jb25maWd1cmF0aW9uLWludGVyZmFjZQogICAgICAgICAg ICAgICAgICAgICAgICAgKGRlZmF1bHQgJygpKSkKICAodXVpZC1kZXZpY2UgICAgICAgICAgIHdz ZGQtY29uZmlndXJhdGlvbi11dWlkLWRldmljZQogICAgICAgICAgICAgICAgICAgICAgICAgKGRl ZmF1bHQgI2YpKQogIChkb21haW4gICAgICAgICAgICAgICAgd3NkZC1jb25maWd1cmF0aW9uLWRv bWFpbgogICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgI2YpKQogIChob3N0bmFtZSAg ICAgICAgICAgICAgd3NkZC1jb25maWd1cmF0aW9uLWhvc3RuYW1lCiAgICAgICAgICAgICAgICAg ICAgICAgICAoZGVmYXVsdCAjZikpCiAgKHByZXNlcnZlLWNhc2U/ICAgICAgICB3c2RkLWNvbmZp Z3VyYXRpb24tcHJlc2VydmUtY2FzZT8KICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0 ICNmKSkKICAod29ya2dyb3VwICAgICAgICAgICAgIHdzZGQtY29uZmlndXJhdGlvbi13b3JrZ3Jv dXAKICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0ICJXT1JLR1JPVVAiKSkpCgooZGVm aW5lIHdzZGQtYWNjb3VudHMKICAobGlzdAogICAodXNlci1ncm91cCAobmFtZSAid3NkZCIpKQog ICAodXNlci1hY2NvdW50IChuYW1lICJ3c2RkIikKICAgICAgICAgICAgICAgICAoZ3JvdXAgIndz ZGQiKQogICAgICAgICAgICAgICAgIChjb21tZW50ICJXZWIgU2VydmljZSBEaXNjb3ZlcnkgdXNl ciIpCiAgICAgICAgICAgICAgICAgKGhvbWUtZGlyZWN0b3J5ICIvdmFyL2VtcHR5IikKICAgICAg ICAgICAgICAgICAoc2hlbGwgKGZpbGUtYXBwZW5kIHNoYWRvdyAiL3NiaW4vbm9sb2dpbiIpKSkp KQoKKGRlZmluZSB3c2RkLXNoZXBoZXJkLXNlcnZpY2UKICAobWF0Y2gtbGFtYmRhCiAgICAoKCQg PHdzZGQtY29uZmlndXJhdGlvbj4gcGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlwdjRvbmx5PwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlwdjZvbmx5PwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNocm9vdAogICAgICAgICAgICAgICAgICAgICAgICAgICAg IGhvcGxpbWl0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdXVpZC1kZXZpY2UKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkb21haW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBob3N0bmFtZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByZXNlcnZlLWNhc2U/CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd29ya2dyb3VwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgIChs ZXQqICgoaW50ZXJmYWNlcyAoZm9yLWVhY2ggKGxhbWJkYSAoaW50ZXJmYWNlKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyAoZGlzcGxheSAoc3RyaW5nLWFwcGVuZCAiLS1p bnRlcmZhY2UiIGludGVyZmFjZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChmb3JtYXQgI3QgIi0taW50ZXJmYWNlIH5zICIgaW50ZXJmYWNlKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICcoImV0aDAiICJldGgxIikpKSkKICAgICAgIChsaXN0IChzaGVw aGVyZC1zZXJ2aWNlCiAgICAgICAgICAgICAgKGRvY3VtZW50YXRpb24gIlJ1biBhIFdlYiBTZXJ2 aWNlIERpc2NvdmVyeSBzZXJ2aWNlIikKICAgICAgICAgICAgICAocHJvdmlzaW9uICcod3NkZCkp CiAgICAgICAgICAgICAgKHJlcXVpcmVtZW50ICcobmV0d29ya2luZykpCiAgICAgICAgICAgICAg KHN0YXJ0ICN+KG1ha2UtZm9ya2V4ZWMtY29uc3RydWN0b3IKICAgICAgICAgICAgICAgICAgICAg ICAgKGxpc3QgIyQoZmlsZS1hcHBlbmQgcGFja2FnZSAiL2Jpbi93c2RkIikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIyRAKGlmIGlwdjRvbmx5PwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI34oIi0taXB2NG9ubHkiKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJygpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjJEAoaWYgaXB2 Nm9ubHk/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjfigiLS1pcHY2b25s eSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICMkQChpZiBjaHJvb3QKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICN+KCItLWNocm9vdCIgIyRjaHJvb3QpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMkQChp ZiBob3BsaW1pdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI34oIi0taG9w bGltaXQiICMkKG51bWJlci0+c3RyaW5nIGhvcGxpbWl0KSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICcoKSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEZJ WE1FLCB0aGlzIHJlc3VsdHMgaW50byB3cm9uZyB0eXBlIGFwcGxpZWQuCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7ICMkKGlmIGludGVyZmFjZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7OyAgICAgICAoZm9yLWVhY2ggKGxhbWJkYSAoaW50ZXJmYWNlKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7OyAgICAgICAgICAgICAgICAgICAoZGlzcGxheSAoc3RyaW5n LWFwcGVuZCAiLS1pbnRlcmZhY2UiIGludGVyZmFjZSkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDs7ICAgICAgICAgICAgICAgICAgIDs7IChmb3JtYXQgI3QgIi0taW50ZXJmYWNlIH5h ICIgaW50ZXJmYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyAgICAgICAgICAg ICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7ICAgICAgICAgICAgICAg ICAnKCJldGgxIiAiZXRoMiIpKSkKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IHRo aXMgb25lIGlzIGZpbmUsIGJ1dCB0aGUgZm9yLWVhY2gKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgZXhwcmVzc2lvbiBpcyBub3QgZXhwYW5kZWQgYW5kIGlzCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IGtlcHQgaW4gcGxhY2UgaW4gdGhlIHNlcnZpY2UgdW5pdC4KICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgU2VlIGVuZCBvZiB0aGlzIGZpbGUuCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMkQChpZiBpbnRlcmZhY2UKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICN+KGZvci1lYWNoIChsYW1iZGEgKGludGVyZmFjZSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IChkaXNwbGF5 IChzdHJpbmctYXBwZW5kICItLWludGVyZmFjZSIgaW50ZXJmYWNlKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JtYXQgI3QgIi0taW50ZXJmYWNl IH5zICIgaW50ZXJmYWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDs7IChsaXN0LT5zdHJpbmcgYXJnKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoImV0aDAiICJldGgxIikpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCkpCgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7OyAjJGludGVyZmFjZXMKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7 ICMkQChpZiBpbnRlcmZhY2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgICAgICAg ICN+KGZvci1lYWNoIChsYW1iZGEgKGludGVyZmFjZSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOzsgICAgICAgICAgICAgICAgICAgICAgOzsgKGRpc3BsYXkgKHN0cmluZy1hcHBlbmQg Ii0taW50ZXJmYWNlIiBpbnRlcmZhY2UpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7 OyAgICAgICAgICAgICAgICAgICAgICAoZm9ybWF0ICN0ICItLWludGVyZmFjZSB+cyAiIGludGVy ZmFjZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7ICAgICAgICAgICAgICAgICAg ICAnKCJldGgwIiAiZXRoMSIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyAgICAg ICAgJygpKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgIyQoZm9yLWVhY2ggKGxh bWJkYSAoaW50ZXJmYWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyAgICAgICAg ICAgICAgIChkaXNwbGF5IChzdHJpbmctYXBwZW5kICItLWludGVyZmFjZSIgaW50ZXJmYWNlKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgICAgICAgICAgICAgICA7OyAoZm9ybWF0 ICNmICItLWludGVyZmFjZSB+cyAiIGludGVyZmFjZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7OyAgICAgICAgICAgICAgIDs7ICAgICAgICAgOzsgKGxpc3QtPnN0cmluZyBhcmcpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7ICAgICAgICAgICAgICAgOzsgICAgICAgICAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7ICAgICAgICAgICAgICAgKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA7OyAgICAgICAgICAgICAnKCJldGgwIiAiZXRoMSIpKQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgIyRAKGlmIGludGVyZmFjZSA7dG8gYmUg cmVwbGFjZWQgYnkgcHJvY2VkdXJlIGFib3ZlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDs7ICAgICAgICAjfigiLS1pbnRlcmZhY2UiICMkaW50ZXJmYWNlKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7OyAgICAgICAgJygpKQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIyRAKGlmIHV1aWQtZGV2aWNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjfigiLS11dWlkIiAjJHV1aWQtZGV2aWNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJygpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjJEAoaWYgZG9tYWlu CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjfigiLS1kb21haW4iICMkZG9t YWluKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjJEAoaWYgaG9zdG5hbWUKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICN+KCItLWhvc3RuYW1lIiAjJGhvc3RuYW1lKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJygpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjJEAoaWYgcHJlc2VydmUtY2FzZT8KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICN+KCItLXByZXNlcnZlLWNhc2UiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJygpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjJEAoaWYgd29ya2dyb3Vw CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjfigiLS13b3JrZ3JvdXAiICMk d29ya2dyb3VwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgIzp1c2VyICJ3c2RkIgogICAgICAgICAgICAgICAgICAgICAg ICAjOmdyb3VwICJ3c2RkIgogICAgICAgICAgICAgICAgICAgICAgICAjOmxvZy1maWxlICIvdmFy L2xvZy93c2RkLmxvZyIpKQogICAgICAgICAgICAgIChzdG9wICN+KG1ha2Uta2lsbC1kZXN0cnVj dG9yKSkpKSkpKSkKCihkZWZpbmUgd3NkZC1zZXJ2aWNlLXR5cGUKICAoc2VydmljZS10eXBlCiAg IChuYW1lICd3c2RkKQogICAoZGVzY3JpcHRpb24gIldlYiBTZXJ2aWNlIERpc2NvdmVyeSBEYWVt b24iKQogICAoZXh0ZW5zaW9ucwogICAgKGxpc3QgKHNlcnZpY2UtZXh0ZW5zaW9uIHNoZXBoZXJk LXJvb3Qtc2VydmljZS10eXBlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3NkZC1zaGVw aGVyZC1zZXJ2aWNlKQogICAgICAgICAgKHNlcnZpY2UtZXh0ZW5zaW9uIGFjY291bnQtc2Vydmlj ZS10eXBlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IHdzZGQtYWNjb3VudHMp KSkpCiAgIChkZWZhdWx0LXZhbHVlICh3c2RkLWNvbmZpZ3VyYXRpb24pKSkpCg== --=-=-= Content-Type: text/plain Kind regards Simon --=-=-=--