From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id +NjEGZdqimEenQAAgWs5BA (envelope-from ) for ; Tue, 09 Nov 2021 13:33:27 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id sEJ6FZdqimE+HAAA1q6Kng (envelope-from ) for ; Tue, 09 Nov 2021 12:33:27 +0000 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 956463E8E3 for ; Tue, 9 Nov 2021 13:33:26 +0100 (CET) Received: from localhost ([::1]:57700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mkQJZ-0004bv-Oy for larch@yhetil.org; Tue, 09 Nov 2021 07:33:25 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41702) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mkQJD-0004Y3-EU for guix-patches@gnu.org; Tue, 09 Nov 2021 07:33:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:49553) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mkQJC-0000bX-FP for guix-patches@gnu.org; Tue, 09 Nov 2021 07:33:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mkQJC-0006c0-DC for guix-patches@gnu.org; Tue, 09 Nov 2021 07:33:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#51512] [PATCH v 2]: gnu: Add bash-bcu. Resent-From: david larsson Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 09 Nov 2021 12:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 51512 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 51512@debbugs.gnu.org X-Debbugs-Original-To: 51512@debbugs.gnu.org, guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.163646117325401 (code B ref -1); Tue, 09 Nov 2021 12:33:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 Nov 2021 12:32:53 +0000 Received: from localhost ([127.0.0.1]:32866 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mkQJ3-0006bd-5m for submit@debbugs.gnu.org; Tue, 09 Nov 2021 07:32:53 -0500 Received: from lists.gnu.org ([209.51.188.17]:59178) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mkQJ1-0006bU-79 for submit@debbugs.gnu.org; Tue, 09 Nov 2021 07:32:51 -0500 Received: from eggs.gnu.org ([209.51.188.92]:41612) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mkQIx-0004Te-Iy for guix-patches@gnu.org; Tue, 09 Nov 2021 07:32:51 -0500 Received: from server0.selfhosted.xyz ([217.64.149.7]:49994) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mkQIq-0000ZL-9U for guix-patches@gnu.org; Tue, 09 Nov 2021 07:32:47 -0500 Received: from server0.selfhosted.xyz (localhost [127.0.0.1]) by server0.selfhosted.xyz (Postfix) with ESMTP id 4F3AD2727165; Tue, 9 Nov 2021 13:32:28 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=selfhosted.xyz; s=dkim; t=1636461154; bh=JXFgOGEb90i/5dJwsJ4X7tZWDbIv1QKGsecwrdiX4yI=; h=Date:From:To:Subject:In-Reply-To:References; b=uJJ+sWifWHzOwlY4jNa1fPCP4w4KcuE0MKihRhsQZKcuLo8R9FTLcz9jJ82j3kQzN 9+fi9UMg/lCW76JlY5ombPG5Dlc8HwSP15+c1d7HVml3HNYh4I/Vtlh4WfHuWCQmck fLf++8tPyF0AA2bqq/z0X2jkvRs2GiLBZAXRFoOWJAkaoBk4VYVHcXWsK21CkNIUsL 71XKzAdVbnAjXOii3xoHJMfLIAN/4VTmUeHruyfDi4gGtvrR+22rspj7VD76m7XdU3 mb3/8lbqlEdTDBJQ1Dmg0wfupadSCtDLDsyueka3GL53YYb5zJBuL4KCWrCUJ8KUgy HhlTKbmdbiziw== X-Fuglu-Suspect: c92537c2bf0846be8fa2545d09a38fd3 X-Fuglu-Spamstatus: NO Received: from webmail.selfhosted.xyz (office.selfhosted.xyz [192.168.1.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: mail@selfhosted.xyz) by server0.selfhosted.xyz (Postfix) with ESMTPSA; Tue, 9 Nov 2021 13:32:28 +0100 (CET) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_94394898c451efc614c1debc723689ab" Date: Tue, 09 Nov 2021 13:32:28 +0100 From: david larsson In-Reply-To: <87r1bsqdy8.fsf@nckx> References: <3add15b77522d6e9ebd715a19d966666@selfhosted.xyz> <87r1bsqdy8.fsf@nckx> Message-ID: <93d8232c104dc63f46f6b975073b56ca@selfhosted.xyz> X-Sender: david.larsson@selfhosted.xyz Received-SPF: pass client-ip=217.64.149.7; envelope-from=david.larsson@selfhosted.xyz; helo=server0.selfhosted.xyz X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FROM_SUSPICIOUS_NTLD=0.001, PDS_OTHER_BAD_TLD=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1636461206; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=JXFgOGEb90i/5dJwsJ4X7tZWDbIv1QKGsecwrdiX4yI=; b=mFX1d20hEj6Z6L9u0/L4/uNokOlxxial+ekzCNUcwDhtgOFEK4UMXH8Lg5Sn+Rm2AVTU37 xjVxZKtbNXv0ay1BeHOdGKNz4SVRJyjFrgYTvLhwxGHemH9hOWqwGwjtgNO58EioLyULL2 fsN+9nttyvRRceEQ2rCQf/60Y2kuomtEi75pT3C8OvCTQjSZHfJyAAZrbfXAzupODCRzRL OsSuWnfuUc7qEbYzmWtR1oTbLzmpJKpRGGJqwxHZ3Rbh7+fV6SaeA515/JNM6azRfeZfis ypEYv84k6CahXhrQmvy3nOx5SRbMcsnF8Cv67WDr3sFalDKoMOKOahWFvPRPKg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1636461206; a=rsa-sha256; cv=none; b=eELU+p0gmq2YXhfXeuXoLyjT92wSSQwWnzBONxy8NP918J9evJMi3XDRqYk2BIK8hOKnEt GkR3L3MTg9BQcVdo/scbXBsXIQAw6jrECo6nk5OhhBokJ/uP79Rabm3sQv7/TzGKhhuHkI AfB/ejZQR3Mx5YXB4oCjzobHIRFF2DfTWijaNs4HzKOTdtQi84fuIZ3ot7BnpDgrx2N49t lOS2L1sX4zUZ45W61/Y3bQke56tFBmuu9tY9tXyfHRawrPDvlUmtjTitnJR2HHwkLuumW2 nJtIsKIlY0Rp+JFzGp8oT1s0JucwbfmCvevH3dcy9iRswLmwYR2iBIkvjFnt7w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=selfhosted.xyz header.s=dkim header.b=uJJ+sWif; dmarc=fail reason="SPF not aligned (relaxed)" header.from=selfhosted.xyz (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -0.22 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=selfhosted.xyz header.s=dkim header.b=uJJ+sWif; dmarc=fail reason="SPF not aligned (relaxed)" header.from=selfhosted.xyz (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 956463E8E3 X-Spam-Score: -0.22 X-Migadu-Scanner: scn0.migadu.com X-TUID: 5j9yEFN+y0Ux --=_94394898c451efc614c1debc723689ab Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8; format=flowed On 2021-11-07 13:40, Tobias Geerinckx-Rice wrote: > David, > > Thank you! > > (One fire's out, you'll be glad to hear, so in return here's most of a > review. I still reserve the right to tinker with the hunk below — > you'll see which — later today.) > Thanks for the review, it feels like I learn a lot from this :-) Not sure if u intended to attach ur modified version of the patch when you replied or not. I have however made the changes you suggested in a version2 and attached. [...] >> + (display >> + (string-append >> + "[[ \"$_BCU_SH_LOADED\" == YES ]] || { \nexport >> PATH=\"" >> + pathline "${PATH:+:}${PATH}\"\nexport PYTHONPATH=\"" >> + pylibsline "${PYTHONPATH:+:}${PYTHONPATH}\"\nexport >> GUILE_LOAD_PATH=\"" >> + g-bash-lib >> "${GUILE_LOAD_PATH:+:}${GUILE_LOAD_PATH}\"\n" >> + ;; XDG_DATA_DIRS needs set for yad to load icons >> properly >> + "[[ -e /run/current-system/profile/share ]] && >> export XDG_DATA_DIRS=" >> + >> "/run/current-system/profile/share${XDG_DATA_DIRS:+:}${XDG_DATA_DIRS}\n" >> + ;; Ensure that the setuid version of ping is used >> + "[[ -e /run/setuid-programs/ping ]] && " >> + "ping(){ /run/setuid-programs/ping \"$@\" ; } && >> export -f ping\n" >> + "[[ -e /run/setuid-programs/ping6 ]] && " >> + "ping6(){ /run/setuid-programs/ping6 \"$@\" ; } && >> export -f ping6\n}\n") >> + bcu-port) >> + (display (string-append "source " libexec "/bcu.sh\n") >> bcu-port) >> + (close-port bcu-port) > > [So this is the part I was waiting to finish :-) I still don't have > time now.] > > I really want to rewrite this whole block, but for now I just have 1 > question: why not simply append /run/setuid-programs to the start of > $PATH here? What's the difference, if any, and do we care? Basically just to make minimal disruption of the the current environment when you source bcu.sh. Almost certainly a non-issue 99.9% of cases, i.e. I think that just prepending /run/setuid-programs to PATH would be fine as well. >> + (license license:gpl3)))) > > Why not lgpl3+? I can't find the gpl3-only file(s). I really don't know enough about licensing to answer this very well unfortunately.. bash-coding-utils is to a large extent a remix of stackoverflow contributions (CC-BY-SA-4.0) and other small libraries, some of which have GPLv3+ stated at the top (e.g. src/csv/csv/csv.scm). I want to apply whatever license must be applied based on the included software and SO snippets. If it needs to be lgpl3+ or GPLv3 in the end does not matter much to me (Im the author of bash-coding-utils). Best regards, David --=_94394898c451efc614c1debc723689ab Content-Transfer-Encoding: base64 Content-Type: text/x-diff; charset=us-ascii; name=0001-gnu-Add-bash-bcu.patch Content-Disposition: attachment; filename=0001-gnu-Add-bash-bcu.patch; size=11548 RnJvbSBkM2VlMTA1MjFiOTgxZmI0Yjk3YjIwMjBiZjllM2NkODM3M2MzZDViIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBMYXJzc29uIDxkYXZpZC5sYXJzc29uQHNlbGZob3N0 ZWQueHl6PgpEYXRlOiBGcmksIDI5IE9jdCAyMDIxIDEzOjU4OjQxICswMjAwClN1YmplY3Q6IFtQ QVRDSF0gZ251OiBBZGQgYmFzaC1iY3UuCgoqIGdudS9wYWNrYWdlcy9iYXNoLnNjbSAoYmFzaC1i Y3UpOiBOZXcgdmFyaWFibGUuCi0tLQogZ251L3BhY2thZ2VzL2Jhc2guc2NtIHwgMTk1ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE5 NSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzL2Jhc2guc2NtIGIvZ251 L3BhY2thZ2VzL2Jhc2guc2NtCmluZGV4IGVkMjkzMWZkOTcuLjk1Mjk0ZWY1ZWQgMTAwNjQ0Ci0t LSBhL2dudS9wYWNrYWdlcy9iYXNoLnNjbQorKysgYi9nbnUvcGFja2FnZXMvYmFzaC5zY20KQEAg LTI1LDE3ICsyNSwzNCBAQAogKGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYXNoKQogICAj OnVzZS1tb2R1bGUgKChndWl4IGxpY2Vuc2VzKSAjOnByZWZpeCBsaWNlbnNlOikKICAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGFkbWlu KQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBiYXNlKQogICAjOnVzZS1tb2R1bGUgKGdu dSBwYWNrYWdlcyBib290c3RyYXApCiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGNvbXBy ZXNzaW9uKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBjdXJsKQorICAjOnVzZS1tb2R1 bGUgKGdudSBwYWNrYWdlcyBkbnMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGVkKQog ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBlbGYpCisgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIGZyZWVkZXNrdG9wKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBnYXdrKQor ICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBndGspCiAgICM6dXNlLW1vZHVsZSAoZ251IHBh Y2thZ2VzIG5jdXJzZXMpCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIG5ldHdvcmtpbmcp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHJlYWRsaW5lKQogICAjOnVzZS1tb2R1bGUg KGdudSBwYWNrYWdlcyBiaXNvbikKICAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgbGludXgp CiAgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIGxpYmZmaSkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgcGNyZSkKKyAgIzp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGVybCkKKyAg Izp1c2UtbW9kdWxlIChnbnUgcGFja2FnZXMgcGhwKQogICAjOnVzZS1tb2R1bGUgKGdudSBwYWNr YWdlcyBwa2ctY29uZmlnKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBweXRob24pCisg ICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHB5dGhvbi14eXopCiAgICM6dXNlLW1vZHVsZSAo Z251IHBhY2thZ2VzIGd1aWxlKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBndWlsZS14 eXopCisgICM6dXNlLW1vZHVsZSAoZ251IHBhY2thZ2VzIHRjbCkKKyAgIzp1c2UtbW9kdWxlIChn bnUgcGFja2FnZXMgd2ViKQorICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyB4bWwpCiAgICM6 dXNlLW1vZHVsZSAoZ3VpeCBwYWNrYWdlcykKICAgIzp1c2UtbW9kdWxlIChndWl4IGRvd25sb2Fk KQogICAjOnVzZS1tb2R1bGUgKGd1aXggZ2l0LWRvd25sb2FkKQpAQCAtNDQ4LDMgKzQ2NSwxODEg QEAgaW4gQmFzaCwgYnV0IHlvdSBjYW4gdXNlIGl0IHRvIHRlc3QgYW55IFVOSVggcHJvZ3JhbS4i KQogZnVuY3Rpb24gaW50ZXJmYWNlIChGRkkpIGRpcmVjdGx5IGluIHlvdXIgc2hlbGwuICBJbiBv dGhlciB3b3JkcywgaXQgYWxsb3dzCiB5b3UgdG8gY2FsbCByb3V0aW5lcyBpbiBzaGFyZWQgbGli cmFyaWVzIGZyb20gd2l0aGluIEJhc2guIikKICAgICAobGljZW5zZSBsaWNlbnNlOmV4cGF0KSkp CisKKyhkZWZpbmUtcHVibGljIGJhc2gtY29kaW5nLXV0aWxzCisgIChwYWNrYWdlCisgICAgKG5h bWUgImJhc2gtY29kaW5nLXV0aWxzIikKKyAgICAodmVyc2lvbiAiMC4yLjAiKQorICAgIChzb3Vy Y2UKKyAgICAgKG9yaWdpbgorICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQorICAgICAgICh1cmkg KGdpdC1yZWZlcmVuY2UKKyAgICAgICAgICAgICAoY29tbWl0ICI2MDhhNGMyYTYxNWUwZDZlMzVi YmIyOGQzYTQyODY0ZWUwMTM5NzUiKQorICAgICAgICAgICAgICh1cmwgImh0dHBzOi8vZ2l0bGFi LmNvbS9tZXRodXNlbGFoLTAvYmFzaC1jb2RpbmctdXRpbHMuc2guZ2l0IikKKyAgICAgICAgICAg ICA7OyBUT0RPOiB1bmJ1bmRsZSBzdWJtb2R1bGVzIHNvbWUgZGF5LgorICAgICAgICAgICAgIChy ZWN1cnNpdmU/ICN0KSkpCisgICAgICAgKGZpbGUtbmFtZSAoZ2l0LWZpbGUtbmFtZSBuYW1lIHZl cnNpb24pKQorICAgICAgIChzaGEyNTYKKyAgICAgICAgKGJhc2UzMiAiMWhmY3hmdjJpN3JhcmE5 Nm5rNHc5YmFiZzhibThraHIybTlubGgwOWh4amhuMjJsMGpnYSIpKSkpCisgICAgKGJ1aWxkLXN5 c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKKyAgICAoYXJndW1lbnRzCisgICAgIGAoIzptb2R1 bGVzICgoZ3VpeCBidWlsZCB1dGlscykpCisgICAgICAgIzpidWlsZGVyCisgICAgICAgKGJlZ2lu CisgICAgICAgICAodXNlLW1vZHVsZXMgKGd1aXggYnVpbGQgdXRpbHMpKQorICAgICAgICAgKGxl dCogKChweXRob24tdmVyc2lvbiAsKHZlcnNpb24tbWFqb3IrbWlub3IgKHBhY2thZ2UtdmVyc2lv biBweXRob24pKSkKKyAgICAgICAgICAgICAgICAoYmFzaCAoYXNzb2MtcmVmICVidWlsZC1pbnB1 dHMgImJhc2giKSkKKyAgICAgICAgICAgICAgICA7OyBTb21lIGd1aWxlIGxpYnJhcmllcyBzdWNo IGFzIGdudSBiYXNoIHdpbGwgbmVlZAorICAgICAgICAgICAgICAgIDs7IHRvIGJlIGFkZGVkIHRv IEdVSUxFX0xPQURfUEFUSAorICAgICAgICAgICAgICAgIChndWlsZS1iYXNoIChhc3NvYy1yZWYg JWJ1aWxkLWlucHV0cyAiZ3VpbGUtYmFzaCIpKQorICAgICAgICAgICAgICAgIChnLWJhc2gtbGli IChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aWxlLWJhc2gg Ii9zaGFyZS9ndWlsZS9zaXRlLyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCh2ZXJz aW9uLW1ham9yK21pbm9yIChwYWNrYWdlLXZlcnNpb24gZ3VpbGUtMy4wKSkpKQorICAgICAgICAg ICAgICAgIDs7IFNvbWUgcHl0aG9uIGxpYnJhcmllcyBuZWVkcyBhZGRlZCB0byBQWVRIT05QQVRI CisgICAgICAgICAgICAgICAgKHAtZWxlbWVudHBhdGgtbGliIChzdHJpbmctYXBwZW5kCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMg InB5dGhvbi1lbGVtZW50cGF0aCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiL2xpYi9weXRob24iIHB5dGhvbi12ZXJzaW9uICIvc2l0ZS1wYWNrYWdlcyIpKQorICAgICAg ICAgICAgICAgIChwLWx4bWwtbGliIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAicHl0aG9uLWx4bWwiKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiL2xpYi9weXRob24iIHB5dGhvbi12ZXJzaW9uICIvc2l0 ZS1wYWNrYWdlcyIpKQorICAgICAgICAgICAgICAgIChwLW5ldGFkZHItbGliIChzdHJpbmctYXBw ZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhc3NvYy1yZWYgJWJ1aWxkLWlu cHV0cyAicHl0aG9uLW5ldGFkZHIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi L2xpYi9weXRob24iIHB5dGhvbi12ZXJzaW9uICIvc2l0ZS1wYWNrYWdlcyIpKQorICAgICAgICAg ICAgICAgIChwLWxpYiAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgKGFz c29jLXJlZiAlYnVpbGQtaW5wdXRzICJweXRob24iKQorICAgICAgICAgICAgICAgICAgICAgICAg Ii9saWIvcHl0aG9uIiBweXRob24tdmVyc2lvbiAiL3NpdGUtcGFja2FnZXMiKSkKKyAgICAgICAg ICAgICAgICAocHlsaWJzbGluZSAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwLWVsZW1lbnRwYXRoLWxpYiAiOiIgcC1seG1sLWxpYgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiOiIgcC1uZXRhZGRyLWxpYiAiOiIgcC1saWIpKQorICAgICAgICAgICAg ICAgIChvdXQgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpCisgICAgICAgICAgICAgICAgKGJp biAoc3RyaW5nLWFwcGVuZCBvdXQgIi9iaW4iKSkKKyAgICAgICAgICAgICAgICA7OyBFdmVyeXRo aW5nIGJ1dCBiY3Uuc2ggaXRzZWxmIGlzIG9ubHkgYWNjZXNzZWQKKyAgICAgICAgICAgICAgICA7 OyBpbnRlcm5hbGx5IGJ5IGJjdSBzbyB3ZSBwdXQgaXQgaW4gbGliZXhlYy4KKyAgICAgICAgICAg ICAgICAobGliZXhlYyAoc3RyaW5nLWFwcGVuZCBvdXQgIi9saWJleGVjL2JjdSIpKSkKKyAgICAg ICAgICAgKG1rZGlyLXAgbGliZXhlYykKKyAgICAgICAgICAgKGNvcHktcmVjdXJzaXZlbHkgKGFz c29jLXJlZiAlYnVpbGQtaW5wdXRzICJzb3VyY2UiKSBsaWJleGVjKQorICAgICAgICAgICA7OyBD cmVhdGUgYSBiY3Uuc2ggd3JhcHBpbmcgc2NyaXB0IG1hbnVhbGx5IHRoYXQgZW5zdXJlcworICAg ICAgICAgICA7OyB3ZSBwcmVwZW5kIG5lY2Vzc2FyeSBQQVRIcy4KKyAgICAgICAgICAgKG1rZGly LXAgYmluKQorICAgICAgICAgICAobGV0KiAoKHdyYXBwZXIgKHN0cmluZy1hcHBlbmQgYmluICIv YmN1LnNoIikpCisgICAgICAgICAgICAgICAgICAoYmN1LXBvcnQgKG9wZW4tZmlsZSB3cmFwcGVy ICJhIikpCisgICAgICAgICAgICAgICAgICAocGF0aCAoc3RyaW5nLWFwcGVuZAorICAgICAgICAg ICAgICAgICAgICAgICAgIGJhc2ggIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoi IChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAiYmluZHV0aWxzIikgIi9iaW4iCisgICAgICAgICAg ICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAiY29yZXV0aWxzIikg Ii9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlu cHV0cyAiY3R5cGVzLnNoIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChh c3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAiY3VybCIpICIvYmluIgorICAgICAgICAgICAgICAgICAg ICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImRpZmZ1dGlscyIpICIvYmluIgor ICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImVk IikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxk LWlucHV0cyAiZXhwZWN0IikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChh c3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAiZmluZCIpICIvYmluIgorICAgICAgICAgICAgICAgICAg ICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImdhd2siKSAiL2JpbiIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJncmVwIikg Ii9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlu cHV0cyAiZ3VpbGUiKSAiL2JpbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29j LXJlZiAlYnVpbGQtaW5wdXRzICJpbmV0dXRpbHMiKSAiL2JpbiIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJqcSIpICIvYmluIgorICAgICAg ICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImxpYnhtbDIt eHBhdGgwIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYg JWJ1aWxkLWlucHV0cyAibmV0Y2F0IikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAg IjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAibm1hcCIpICIvYmluIgorICAgICAgICAgICAg ICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInBjcmUvYmluIikgIi9i aW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0 cyAicGVybCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICI6IiAoYXNzb2MtcmVm ICVidWlsZC1pbnB1dHMgInBocCIpICIvYmluIgorICAgICAgICAgICAgICAgICAgICAgICAgICI6 IiAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgInByaXBzIikgIi9iaW4iCisgICAgICAgICAgICAg ICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAicHl0aG9uIikgIi9iaW4i CisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAi cHl0aG9uLXlxIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1y ZWYgJWJ1aWxkLWlucHV0cyAic2VkIikgIi9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAg IjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAic29jYXQiKSAiL2JpbiIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJ1dGlsLWxpbnV4Iikg Ii9iaW4iCisgICAgICAgICAgICAgICAgICAgICAgICAgIjoiIChhc3NvYy1yZWYgJWJ1aWxkLWlu cHV0cyAid2hpY2giKSAiL2JpbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiOiIgKGFzc29j LXJlZiAlYnVpbGQtaW5wdXRzICJ4ZGctdXRpbHMiKSAiL2JpbiIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAiOiIgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJ5YWQiKSAiL2JpbiIpKSkKKyAg ICAgICAgICAgICAoZGlzcGxheSAoc3RyaW5nLWFwcGVuZCAiIyEiIGJhc2ggIi9iaW4vYmFzaFxu IikgYmN1LXBvcnQpCisgICAgICAgICAgICAgKGRpc3BsYXkKKyAgICAgICAgICAgICAgKHN0cmlu Zy1hcHBlbmQKKyAgICAgICAgICAgICAgICJbWyBcIiRfQkNVX1NIX0xPQURFRFwiID09IFlFUyBd XSB8fCB7IFxuZXhwb3J0IFBBVEg9XCIiCisgICAgICAgICAgICAgICBwYXRoICIke1BBVEg6Kzp9 JHtQQVRIfVwiXG5leHBvcnQgUFlUSE9OUEFUSD1cIiIKKyAgICAgICAgICAgICAgIHB5bGlic2xp bmUgIiR7UFlUSE9OUEFUSDorOn0ke1BZVEhPTlBBVEh9XCJcbmV4cG9ydCBHVUlMRV9MT0FEX1BB VEg9XCIiCisgICAgICAgICAgICAgICBnLWJhc2gtbGliICIke0dVSUxFX0xPQURfUEFUSDorOn0k e0dVSUxFX0xPQURfUEFUSH1cIlxuIgorICAgICAgICAgICAgICAgOzsgWERHX0RBVEFfRElSUyBu ZWVkcyBzZXQgZm9yIHlhZCB0byBsb2FkIGljb25zIHByb3Blcmx5CisgICAgICAgICAgICAgICAi W1sgLWUgL3J1bi9jdXJyZW50LXN5c3RlbS9wcm9maWxlL3NoYXJlIF1dICYmIGV4cG9ydCBYREdf REFUQV9ESVJTPSIKKyAgICAgICAgICAgICAgICIvcnVuL2N1cnJlbnQtc3lzdGVtL3Byb2ZpbGUv c2hhcmUke1hER19EQVRBX0RJUlM6Kzp9JHtYREdfREFUQV9ESVJTfVxuIgorICAgICAgICAgICAg ICAgOzsgRW5zdXJlIHRoYXQgdGhlIHNldHVpZCB2ZXJzaW9uIG9mIHBpbmcgaXMgdXNlZAorICAg ICAgICAgICAgICAgIltbIC1lIC9ydW4vc2V0dWlkLXByb2dyYW1zL3BpbmcgXV0gJiYgIgorICAg ICAgICAgICAgICAgInBpbmcoKXsgL3J1bi9zZXR1aWQtcHJvZ3JhbXMvcGluZyBcIiRAXCIgOyB9 ICYmIGV4cG9ydCAtZiBwaW5nXG4iCisgICAgICAgICAgICAgICAiW1sgLWUgL3J1bi9zZXR1aWQt cHJvZ3JhbXMvcGluZzYgXV0gJiYgIgorICAgICAgICAgICAgICAgInBpbmc2KCl7IC9ydW4vc2V0 dWlkLXByb2dyYW1zL3Bpbmc2IFwiJEBcIiA7IH0gJiYgZXhwb3J0IC1mIHBpbmc2XG59XG4iKQor ICAgICAgICAgICAgICBiY3UtcG9ydCkKKyAgICAgICAgICAgICAoZGlzcGxheSAoc3RyaW5nLWFw cGVuZCAic291cmNlICIgbGliZXhlYyAiL2JjdS5zaFxuIikgYmN1LXBvcnQpCisgICAgICAgICAg ICAgKGNsb3NlLXBvcnQgYmN1LXBvcnQpCisgICAgICAgICAgICAgKGNobW9kIHdyYXBwZXIgI281 NTUpCisgICAgICAgICAgICAgKHNldGVudiAiUEFUSCIgKHN0cmluZy1hcHBlbmQgcGF0aCAiOiIg KGdldGVudiAiUEFUSCIpKSkpCisgICAgICAgICAgIChzdWJzdGl0dXRlKiAoZmluZC1maWxlcyBv dXQgIlxcLnNoIikKKyAgICAgICAgICAgICAoKCJ+L1xcLmd1aXgtcHJvZmlsZS9saWIvYmFzaC9s aWJndWlsZS1iYXNoXFwuc28iKQorICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBndWlsZS1i YXNoICIvbGliL2Jhc2gvbGliZ3VpbGUtYmFzaC5zbyIpKQorICAgICAgICAgICAgICgoIlwiXFwk R1VJWF9QUk9GSUxFXCIvbGliL2Jhc2gvbGliZ3VpbGUtYmFzaFxcLnNvIikKKyAgICAgICAgICAg ICAgKHN0cmluZy1hcHBlbmQgZ3VpbGUtYmFzaCAiL2xpYi9iYXNoL2xpYmd1aWxlLWJhc2guc28i KSkpCisgICAgICAgICAgIChmb3ItZWFjaCAobGFtYmRhIChmaWxlKQorICAgICAgICAgICAgICAg ICAgICAgICAocGF0Y2gtc2hlYmFuZyBmaWxlKSkKKyAgICAgICAgICAgICAgICAgICAgIChmaW5k LWZpbGVzIG91dCAiXFwuKHNofHNjbXxhd2t8cGhwfHB5KSQiKSkKKworOzs7IE5vdyB0aGF0IGV2 ZXJ5dGhpbmcncyBpbnN0YWxsZWQsIHByZXBhcmUgJiBydW4gdGhlIHRlc3RzLgorICAgICAgICAg ICA7OyBTZXR1cCBQQVRIIGZvciB0ZXN0cworICAgICAgICAgICAoc2V0ZW52ICJQQVRIIiAoc3Ry aW5nLWFwcGVuZCBiaW4gIjoiIChnZXRlbnYgIlBBVEgiKSkpCisgICAgICAgICAgIDs7IFNvbWUg dGVzdHMgbmVlZCBhIEhPTUUtZGlyZWN0b3J5CisgICAgICAgICAgIChzZXRlbnYgIkhPTUUiICIv dG1wIikKKyAgICAgICAgICAgOzsgRGlzYWJsZSBuZXR3b3JrIHRlc3RzLCBhbmQgYWxsIHRlc3Rz IGZvciBzZXRvcHRzIHdoaWNoCisgICAgICAgICAgIDs7IGRvbid0IHdvcmsgaW5zaWRlIHRoZSBH dWl4IGJ1aWxkIGVudmlyb25tZW50CisgICAgICAgICAgICh3aXRoLW91dHB1dC10by1maWxlIChz dHJpbmctYXBwZW5kIGxpYmV4ZWMgIi9kaXNhYmxlZF90ZXN0cy50eHQiKQorICAgICAgICAgICAg IChsYW1iZGEgXworICAgICAgICAgICAgICAgKGZvcm1hdCAjdCAifnt+YX4lfn0iCisgICAgICAg ICAgICAgICAgICAgICAgIChsaXN0ICJpcF9vZl90ZXN0XzEiCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJzZXRvcHRzX3Rlc3RfMSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg InNldG9wdHNfdGVzdF8yIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2V0b3B0c190 ZXN0XzMiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXRvcHRzX3Rlc3RfNCIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInNldG9wdHNfdGVzdF81IgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAic2V0b3B0c190ZXN0XzYiKSkpKQorICAgICAgICAgICAoaW52b2tl IChzdHJpbmctYXBwZW5kIGxpYmV4ZWMgIi9iY3UtdGVzdC5zaCIpKSkpKSkKKyAgICAoaW5wdXRz IGAoKCJiYXNoIiAsYmFzaCkKKyAgICAgICAgICAgICAgKCJiaW5kdXRpbHMiICxpc2MtYmluZCAi dXRpbHMiKQorICAgICAgICAgICAgICAoImNvcmV1dGlscyIgLGNvcmV1dGlscykKKyAgICAgICAg ICAgICAgKCJjdHlwZXMuc2giICxiYXNoLWN0eXBlcykKKyAgICAgICAgICAgICAgKCJjdXJsIiAs Y3VybCkKKyAgICAgICAgICAgICAgKCJkaWZmdXRpbHMiICxkaWZmdXRpbHMpCisgICAgICAgICAg ICAgICgiZWQiICxlZCkKKyAgICAgICAgICAgICAgKCJleHBlY3QiICxleHBlY3QpCisgICAgICAg ICAgICAgICgiZmluZCIgLGZpbmR1dGlscykKKyAgICAgICAgICAgICAgKCJnYXdrIiAsZ2F3aykK KyAgICAgICAgICAgICAgKCJncmVwIiAsZ3JlcCkKKyAgICAgICAgICAgICAgKCJndWlsZSIgLGd1 aWxlLTMuMCkKKyAgICAgICAgICAgICAgKCJndWlsZS1iYXNoIiAsZ3VpbGUtYmFzaCkKKyAgICAg ICAgICAgICAgKCJndWlsZS1kYWVtb24iICxndWlsZS1kYWVtb24pCisgICAgICAgICAgICAgICgi aW5ldHV0aWxzIiAsaW5ldHV0aWxzKQorICAgICAgICAgICAgICAoImpxIiAsanEpCisgICAgICAg ICAgICAgICgibGlieG1sMi14cGF0aDAiICxsaWJ4bWwyLXhwYXRoMCkKKyAgICAgICAgICAgICAg KCJuZXRjYXQiICxuZXRjYXQpCisgICAgICAgICAgICAgICgibm1hcCIgLG5tYXApCisgICAgICAg ICAgICAgICgicGNyZS9iaW4iICxwY3JlICJiaW4iKQorICAgICAgICAgICAgICAoInBlcmwiICxw ZXJsKQorICAgICAgICAgICAgICAoInBocCIgLHBocCkKKyAgICAgICAgICAgICAgKCJwcmlwcyIg LHByaXBzKQorICAgICAgICAgICAgICAoInB5dGhvbiIgLHB5dGhvbikKKyAgICAgICAgICAgICAg KCJweXRob24tZWxlbWVudHBhdGgiICxweXRob24tZWxlbWVudHBhdGgpCisgICAgICAgICAgICAg ICgicHl0aG9uLWx4bWwiICxweXRob24tbHhtbCkKKyAgICAgICAgICAgICAgKCJweXRob24tbmV0 YWRkciIgLHB5dGhvbi1uZXRhZGRyKQorICAgICAgICAgICAgICAoInB5dGhvbi15cSIgLHB5dGhv bi15cSkKKyAgICAgICAgICAgICAgKCJzZWQiICxzZWQpCisgICAgICAgICAgICAgICgic29jYXQi ICxzb2NhdCkKKyAgICAgICAgICAgICAgKCJ1dGlsLWxpbnV4IiAsdXRpbC1saW51eCkKKyAgICAg ICAgICAgICAgKCJ3aGljaCIgLHdoaWNoKQorICAgICAgICAgICAgICAoInhkZy11dGlscyIgLHhk Zy11dGlscykKKyAgICAgICAgICAgICAgKCJ5YWQiICx5YWQpKSkKKyAgICAoc3lub3BzaXMgIkZ1 bmN0aW9ucyBhbmQgdG9vbHMgZm9yIHNvZnR3YXJlIHByb3RvdHlwaW5nIGluIEJhc2giKQorICAg IChob21lLXBhZ2UgImh0dHBzOi8vZ2l0bGFiLmNvbS9tZXRodXNlbGFoLTAvYmFzaC1jb2Rpbmct dXRpbHMuc2giKQorICAgIChkZXNjcmlwdGlvbgorICAgICAiQmFzaC1jb2RpbmctdXRpbHMgY29u dGFpbnMgYmFzaCBmdW5jdGlvbnMgYW5kIHdyYXBwZXJzIHRoYXQgY2FuIGJlCisgdXNlZnVsIHdo ZW4gd3JpdGluZyBxdWljayBpbXBsZW1lbnRhdGlvbnMgb2YgbmV3IHByb2dyYW1zLiAgSXQgaGVs cHMgeW91Cisgd29yayB3aXRoIEpTT04sIFhNTCwgcGFyYWxsZWxpemF0aW9uIGFuZCBpbnN0YWxs cyBzb21lIGNvbW1vbmx5IHVzZWQKKyBcImhlbHBlclwiIHByb2dyYW1zIHVzZWQgaW4gQmFzaCBz Y3JpcHRpbmcuICBKdXN0IHJ1biBAY29tbWFuZHsuIGJjdS5zaH0sCisgYW5kIHR5cGUgQGNvbW1h bmR7YmN1X19kb2NzfSBmb3IgdGhlIGZ1bGwgaHRtbCBkb2N1bWVudGF0aW9uLiIpCisgICAgKGxp Y2Vuc2UgbGljZW5zZTpncGwzKSkpCi0tIAoyLjMxLjAKCg== --=_94394898c451efc614c1debc723689ab--