From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id yG9uJ3k06WKmWQAAbAwnHQ (envelope-from ) for ; Tue, 02 Aug 2022 16:28:09 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id AF+YJnk06WJhYAEAG6o9tA (envelope-from ) for ; Tue, 02 Aug 2022 16:28:09 +0200 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 36D2A33234 for ; Tue, 2 Aug 2022 16:28:09 +0200 (CEST) Received: from localhost ([::1]:49020 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oIssS-0007ey-7Y for larch@yhetil.org; Tue, 02 Aug 2022 10:28:08 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49568) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oIssM-0007en-6C for guix-patches@gnu.org; Tue, 02 Aug 2022 10:28:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:54908) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oIssL-0001qJ-Tb for guix-patches@gnu.org; Tue, 02 Aug 2022 10:28:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1oIssL-00083k-Iy for guix-patches@gnu.org; Tue, 02 Aug 2022 10:28:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#56677] [PATCH 2/2 v2] environment: Add '--emulate-fhs'. Resent-From: John Kehayias Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Tue, 02 Aug 2022 14:28:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 56677 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: "56677@debbugs.gnu.org" <56677@debbugs.gnu.org> Received: via spool by 56677-submit@debbugs.gnu.org id=B56677.165945045230942 (code B ref 56677); Tue, 02 Aug 2022 14:28:01 +0000 Received: (at 56677) by debbugs.gnu.org; 2 Aug 2022 14:27:32 +0000 Received: from localhost ([127.0.0.1]:44657 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oIsrr-00082y-2L for submit@debbugs.gnu.org; Tue, 02 Aug 2022 10:27:32 -0400 Received: from mail-40134.protonmail.ch ([185.70.40.134]:30637) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oIsrn-00082g-T8 for 56677@debbugs.gnu.org; Tue, 02 Aug 2022 10:27:29 -0400 Date: Tue, 02 Aug 2022 14:27:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1659450440; x=1659709640; bh=3xNdoSM0kh5HCzfBV9xhpTf7OAn599aNyrTsZFGPTWY=; h=Date:To:From:Reply-To:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=T3jiiJieU7swrDB2gMWr1TnXpD4WmulHXucQdbYrorwXxeX8leM6AYvQ7sPDwr1zD fRvYWSwGHGXxHjL7gZoGw8sVD0RksdsEqn6KUE2Dk4j8yD8VYyWHpvNAOfQ0+nQ9oh l//P3/dOyDQsM4FCodpA4qo/mkPSZy5/w4fW0e31nhgjf6KOEpZMrkKcnI2Sx7JYex +esSXJVVMCllhMOzcdAkzNp1Q2zJJus5MdiTqoydTnHcFyWc318v+blY8rNdLP+Ejq bCwyvQSvtDa7FpZryLY4yXakjwSYxU5gusyoyFQC8TYKfBAs7aYUL6yZ4YA+PqOHJ0 MnrPqOgBpwbtw== Message-ID: In-Reply-To: References: Feedback-ID: 7805494:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_16tXAdEOpSButhfnFxG5bCp6iqfklSwfnzB6bmZPk" 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" Reply-to: John Kehayias X-ACL-Warn: , John Kehayias via Guix-patches From: John Kehayias via Guix-patches via X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1659450489; h=from:from:sender:sender:reply-to: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=3xNdoSM0kh5HCzfBV9xhpTf7OAn599aNyrTsZFGPTWY=; b=ed8wd3rXUPUtcu3yTfM5xc7OMsCvjyqYZ9Mn/sqL0uXXSnf/+uDvsTu16qYTN+8QmSpMzg qbGiB8VQNBOM66Xv1W/XzJ6b6OrI0XFKJEKq26KJLrXxTS2g3N+1+tiIkkq+AnP9RkMrJa zB2lwdTk886hk3Ltn2mh5bnyXlm+2rc6Lfzyl+6sMF20VctvfiXjl6/4DU3M7cAUTiYNt5 gUecL3ZoailkH+QQt5Dr0vMJh18xAA4nyhZCMLMIfTQnAwgS0OLnQKxcNhK84bHxWQGCIa DQDV6+am7VzlIqIFzyrgnpCv7SGlr21WH3oLO/c/F3DFub18vc4k0f/REsxYyA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1659450489; a=rsa-sha256; cv=none; b=DpNudwkV3lXzu8jimiOuoj31Tbc8mDA23GW1oCLkySJ09w/yQ7lNhkygnd7hzW8/kQhHoa 2QYtda80/R7nKY3fMl2EgVhWEefIzW1nc0V/DIntZmNNmcVMyHCI0GPh41l2ur0Tx5EUPc x5JNrKcmNb73xTcCt+LzTrBRuMdWMzehOHRvYuGejR1cUcZRnxMk33pN1ZiRi7b0TJJOEX td3ZnTxXdc2P/5AWNt9q34xBDmsp1pHAepMZrQ7EMJ3VyC3WgKnk9KV1UQgbzJ3LeiKNv7 nvp5afWP67xsyFdQK/Av8YKhK9VH7nFW03I+zS+mWZUF3M42XFz2dKtFLJa9jw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail3 header.b=T3jiiJie; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.82 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=protonmail.com header.s=protonmail3 header.b=T3jiiJie; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 36D2A33234 X-Spam-Score: -1.82 X-Migadu-Scanner: scn0.migadu.com X-TUID: QTe0hFNo2FHX This is a multi-part message in MIME format. --b1_16tXAdEOpSButhfnFxG5bCp6iqfklSwfnzB6bmZPk Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Here is a tiny update to this patch; I noticed after I sent it originally t= hat there was a formatting typo in the guix.texi changes. Update attached. Has anyone had a chance to try out the patch or take a look at it? I do use this in some daily work, for a project that uses Python's poetry s= hell and the Playwright libraries (uses browser binaries it downloads to do= web automation). Here is the command I use, where since I need to use brow= sers in the container just getting the development inputs for ungoogled-chr= omium is a nice shortcut. The share/expose is to get all graphical/hardware= acceleration working. ~/path/to/guix-source/pre-inst-env guix shell -C -F -N poetry coreutils gcc= :lib -D ungoogled-chromium --share=3D$HOME/temphome=3D$HOME --preserve=3D'^= DISPLAY$' --preserve=3D'^XAUTHORITY$' --share=3D$XAUTHORITY -- "poetry shel= l" All works great and is very handy for doing this on my Guix machine. --b1_16tXAdEOpSButhfnFxG5bCp6iqfklSwfnzB6bmZPk Content-Type: text/x-patch; name=0002-environment-Add-emulate-fhs.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0002-environment-Add-emulate-fhs.patch RnJvbSA2YjVlMzkzMWJiODNkNTg5ZmY0NzI2M2NjM2JmZDVlYjIzNmEzOTU0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2huIEtlaGF5aWFzIDxqb2huLmtlaGF5aWFzQHByb3Rvbm1h aWwuY29tPgpEYXRlOiBXZWQsIDIwIEp1bCAyMDIyIDIzOjQ2OjQ1IC0wNDAwClN1YmplY3Q6IFtQ QVRDSF0gZW52aXJvbm1lbnQ6IEFkZCAnLS1lbXVsYXRlLWZocycuCgoqIGd1aXgvc2NyaXB0cy9l bnZpcm9ubWVudC5zY20gKHNob3ctZW52aXJvbm1lbnQtb3B0aW9ucy1oZWxwKQooJW9wdGlvbnMp OiBBZGQgJy0tZW11bGF0ZS1maHMnLgoqIGd1aXgvc2NyaXB0cy9lbnZpcm9ubWVudC5zY20gKGxh dW5jaC1lbnZpcm9ubWVudC9jb250YWluZXIpOiBBZGQKJ2VtdWxhdGUtZmhzPycgIGtleSBhbmQg aW1wbGVtZW50IGl0LiAgRGVmaW5lIGFuZCB1c2UgRkhTLU1BUFBJTkdTLApGSFMtU1lNTElOS1Ms IGFuZCBMSU5LLUNPTlRFTlRTIHRvIHNldCB1cCB0aGUgY29udGFpbmVyIHRvIGZvbGxvdyB0aGUK RmlsZXN5c3RlbSBIaWVyYXJjaHkgU3RhbmRhcmQgKEZIUykgZm9yIC9iaW4sIC9ldGMsIGFuZCAv dXNyLiAgR2VuZXJhdGUKL2V0Yy9sZC5zby5jYWNoZSBpbiB0aGUgY29udGFpbmVyIGZyb20gL2V0 Yy9sZC5zby5jb25mIGJ5IHJ1bm5pbmcgdGhlIHNjcmlwdAovdG1wL2Zocy5zaCB0byBsYXVuY2gg dGhlIGNvbnRhaW5lci4KKGd1aXgtZW52aXJvbm1lbnQqKTogQWRkIGdsaWJjLWZvci1maHMgdG8g dGhlIGNvbnRhaW5lciBwYWNrYWdlcyB3aGVuCidlbXVsYXRlLWZocz8nIGtleSBpcyBpbiBPUFRT LgoqIGRvYy9ndWl4LnRleGkgKEludm9raW5nIGd1aXggc2hlbGwpOiBEb2N1bWVudCAnLS1lbXVs YXRlLWZocycuCihJbnZva2luZyBndWl4IGVudmlyb25tZW50KTogRG9jdW1lbnQgJy0tZW11bGF0 ZS1maHMnLgotLS0KIGRvYy9ndWl4LnRleGkgICAgICAgICAgICAgICAgfCAgMzMgKysrKysrKysK IGd1aXgvc2NyaXB0cy9lbnZpcm9ubWVudC5zY20gfCAxNTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTY4IGluc2VydGlvbnMoKyksIDIyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9ndWl4LnRleGkgYi9kb2MvZ3VpeC50ZXhpCmlu ZGV4IDNjNTg2NGVjMWEuLjAzYTY1ZjI2ZjQgMTAwNjQ0Ci0tLSBhL2RvYy9ndWl4LnRleGkKKysr IGIvZG9jL2d1aXgudGV4aQpAQCAtMTA2LDYgKzEwNiw3IEBACiBDb3B5cmlnaHQgQGNvcHlyaWdo dHt9IDIwMjIgS2FybCBIYWxsc2J5QCoKIENvcHlyaWdodCBAY29weXJpZ2h0e30gMjAyMiBKdXN0 aW4gVmVpbGxldXhAKgogQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAyMDIyIFJlaWx5IFNpZWdlbEAq CitDb3B5cmlnaHQgQGNvcHlyaWdodHt9IDIwMjIgSm9obiBLZWhheWlhc0AqCiAKIFBlcm1pc3Np b24gaXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcyBkb2N1 bWVudAogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vu c2UsIFZlcnNpb24gMS4zIG9yCkBAIC02MTU1LDYgKzYxNTYsMjIgQEAgSW52b2tpbmcgZ3VpeCBz aGVsbAogZ3VpeCBzaGVsbCAtLWNvbnRhaW5lciAtLWV4cG9zZT0kSE9NRT0vZXhjaGFuZ2UgZ3Vp bGUgLS0gZ3VpbGUKIEBlbmQgZXhhbXBsZQogCitAaXRlbSAtLWVtdWxhdGUtZmhzCitAaXRlbSAt RgorRm9yIGNvbnRhaW5lcnMsIGVtdWxhdGUgYSBGaWxlc3lzdGVtIEhpZXJhcmNoeSBTdGFuZGFy ZCAoRkhTKQorY29uZmlndXJhdGlvbiB3aXRoaW4gdGhlIGNvbnRhaW5lciwgc2VlCitAdXJlZnto dHRwczovL3JlZnNwZWNzLmxpbnV4Zm91bmRhdGlvbi5vcmcvZmhzLnNodG1sLCB0aGUgb2ZmaWNp YWwKK3NwZWNpZmljYXRpb259LiAgQXMgR3VpeCBkZXZpYXRlcyBmcm9tIHRoZSBGSFMgc3BlY2lm aWNhdGlvbiwgdGhpcworb3B0aW9uIHNldHMgdXAgdGhlIGNvbnRhaW5lciB0byBtb3JlIGNsb3Nl bHkgbWltaWMgdGhhdCBvZiBvdGhlcgorR05VL0xpbnV4IGRpc3RyaWJ1dGlvbnMuICBUaGlzIGlz IHVzZWZ1bCBmb3IgcmVwcm9kdWNpbmcgb3RoZXIKK2RldmVsb3BtZW50IGVudmlyb25tZW50cywg dGVzdGluZywgYW5kIHVzaW5nIHByb2dyYW1zIHdoaWNoIGV4cGVjdCB0aGUKK0ZIUyBzcGVjaWZp Y2F0aW9uIHRvIGJlIGZvbGxvd2VkLiAgV2l0aCB0aGlzIG9wdGlvbiwgdGhlIGNvbnRhaW5lciB3 aWxsCitpbmNsdWRlIGEgdmVyc2lvbiBvZiBAY29kZXtnbGliY30gd2hpY2ggd2lsbCByZWFkCitA Y29kZXsvZXRjL2xkLnNvLmNhY2hlfSB3aXRoaW4gdGhlIGNvbnRhaW5lciBmb3IgdGhlIHNoYXJl ZCBsaWJyYXJ5CitjYWNoZSAoY29udHJhcnkgdG8gQGNvZGV7Z2xpYmN9IGluIHJlZ3VsYXIgR3Vp eCB1c2FnZSkgYW5kIHNldCB1cCB0aGUKK2V4cGVjdGVkIEZIUyBkaXJlY3RvcmllczogQGNvZGV7 L2Jpbn0sIEBjb2Rley9ldGN9LCBAY29kZXsvbGlifSwgYW5kCitAY29kZXsvdXNyfSBmcm9tIHRo ZSBjb250YWluZXIncyBwcm9maWxlLgorCiBAaXRlbSAtLXJlYnVpbGQtY2FjaGUKIEBjaW5kZXgg Y2FjaGluZywgb2YgcHJvZmlsZXMKIEBjaW5kZXggY2FjaGluZywgaW4gQGNvbW1hbmR7Z3VpeCBz aGVsbH0KQEAgLTY1NzIsNiArNjU4OSwyMiBAQCBJbnZva2luZyBndWl4IGVudmlyb25tZW50CiBn dWl4IGVudmlyb25tZW50IC0tY29udGFpbmVyIC0tZXhwb3NlPSRIT01FPS9leGNoYW5nZSAtLWFk LWhvYyBndWlsZSAtLSBndWlsZQogQGVuZCBleGFtcGxlCiAKK0BpdGVtIC0tZW11bGF0ZS1maHMK K0BpdGVtIC1GCitGb3IgY29udGFpbmVycywgZW11bGF0ZSBhIEZpbGVzeXN0ZW0gSGllcmFyY2h5 IFN0YW5kYXJkIChGSFMpCitjb25maWd1cmF0aW9uIHdpdGhpbiB0aGUgY29udGFpbmVyLCBzZWUK K0B1cmVme2h0dHBzOi8vcmVmc3BlY3MubGludXhmb3VuZGF0aW9uLm9yZy9maHMuc2h0bWwsIHRo ZSBvZmZpY2lhbAorc3BlY2lmaWNhdGlvbn0uICBBcyBHdWl4IGRldmlhdGVzIGZyb20gdGhlIEZI UyBzcGVjaWZpY2F0aW9uLCB0aGlzCitvcHRpb24gc2V0cyB1cCB0aGUgY29udGFpbmVyIHRvIG1v cmUgY2xvc2VseSBtaW1pYyB0aGF0IG9mIG90aGVyCitHTlUvTGludXggZGlzdHJpYnV0aW9ucy4g IFRoaXMgaXMgdXNlZnVsIGZvciByZXByb2R1Y2luZyBvdGhlcgorZGV2ZWxvcG1lbnQgZW52aXJv bm1lbnRzLCB0ZXN0aW5nLCBhbmQgdXNpbmcgcHJvZ3JhbXMgd2hpY2ggZXhwZWN0IHRoZQorRkhT IHNwZWNpZmljYXRpb24gdG8gYmUgZm9sbG93ZWQuICBXaXRoIHRoaXMgb3B0aW9uLCB0aGUgY29u dGFpbmVyIHdpbGwKK2luY2x1ZGUgYSB2ZXJzaW9uIG9mIEBjb2Rle2dsaWJjfSB3aGljaCB3aWxs IHJlYWQKK0Bjb2Rley9ldGMvbGQuc28uY2FjaGV9IHdpdGhpbiB0aGUgY29udGFpbmVyIGZvciB0 aGUgc2hhcmVkIGxpYnJhcnkKK2NhY2hlIChjb250cmFyeSB0byBAY29kZXtnbGliY30gaW4gcmVn dWxhciBHdWl4IHVzYWdlKSBhbmQgc2V0IHVwIHRoZQorZXhwZWN0ZWQgRkhTIGRpcmVjdG9yaWVz OiBAY29kZXsvYmlufSwgQGNvZGV7L2V0Y30sIEBjb2Rley9saWJ9LCBhbmQKK0Bjb2Rley91c3J9 IGZyb20gdGhlIGNvbnRhaW5lcidzIHByb2ZpbGUuCisKIEBlbmQgdGFibGUKIAogQGNvbW1hbmR7 Z3VpeCBlbnZpcm9ubWVudH0KZGlmZiAtLWdpdCBhL2d1aXgvc2NyaXB0cy9lbnZpcm9ubWVudC5z Y20gYi9ndWl4L3NjcmlwdHMvZW52aXJvbm1lbnQuc2NtCmluZGV4IDMyMTYyMzU5MzcuLmM4MGY1 ZjI4YWYgMTAwNjQ0Ci0tLSBhL2d1aXgvc2NyaXB0cy9lbnZpcm9ubWVudC5zY20KKysrIGIvZ3Vp eC9zY3JpcHRzL2Vudmlyb25tZW50LnNjbQpAQCAtMiw2ICsyLDcgQEAKIDs7OyBDb3B5cmlnaHQg wqkgMjAxNCwgMjAxNSwgMjAxOCBEYXZpZCBUaG9tcHNvbiA8ZGF2ZXRAZ251Lm9yZz4KIDs7OyBD b3B5cmlnaHQgwqkgMjAxNS0yMDIyIEx1ZG92aWMgQ291cnTDqHMgPGx1ZG9AZ251Lm9yZz4KIDs7 OyBDb3B5cmlnaHQgwqkgMjAxOCBNaWtlIEdlcndpdHogPG10Z0BnbnUub3JnPgorOzs7IENvcHly aWdodCDCqSAyMDIyIEpvaG4gS2VoYXlpYXMgPGpvaG4ua2VoYXlpYXNAcHJvdG9ubWFpbC5jb20+ CiA7OzsKIDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtMTIwLDYg KzEyMSw5IEBAIChkZWZpbmUgKHNob3ctZW52aXJvbm1lbnQtb3B0aW9ucy1oZWxwKQogICAgICAg LS1leHBvc2U9U1BFQyAgICAgIGZvciBjb250YWluZXJzLCBleHBvc2UgcmVhZC1vbmx5IGhvc3Qg ZmlsZSBzeXN0ZW0KICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvcmRpbmcgdG8gU1BFQyIp KQogICAoZGlzcGxheSAoR18gIgorICAtRiwgLS1lbXVsYXRlLWZocyAgICAgIGZvciBjb250YWlu ZXJzLCBlbXVsYXRlIHRoZSBGaWxlc3lzdGVtIEhpZXJhcmNoeQorICAgICAgICAgICAgICAgICAg ICAgICAgIFN0YW5kYXJkIChGSFMpIikpCisgIChkaXNwbGF5IChHXyAiCiAgIC12LCAtLXZlcmJv c2l0eT1MRVZFTCAgdXNlIHRoZSBnaXZlbiB2ZXJib3NpdHkgTEVWRUwiKSkKICAgKGRpc3BsYXkg KEdfICIKICAgICAgIC0tYm9vdHN0cmFwICAgICAgICB1c2UgYm9vdHN0cmFwIGJpbmFyaWVzIHRv IGJ1aWxkIHRoZSBlbnZpcm9ubWVudCIpKSkKQEAgLTI1Niw2ICsyNjAsOSBAQCAoZGVmaW5lICVv cHRpb25zCiAgICAgICAgICAgICAgICAgICAgKGFsaXN0LWNvbnMgJ2ZpbGUtc3lzdGVtLW1hcHBp bmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3BlY2lmaWNhdGlvbi0+ZmlsZS1z eXN0ZW0tbWFwcGluZyBhcmcgI2YpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVz dWx0KSkpCisgICAgICAgICAob3B0aW9uICcoI1xGICJlbXVsYXRlLWZocyIpICNmICNmCisgICAg ICAgICAgICAgICAgIChsYW1iZGEgKG9wdCBuYW1lIGFyZyByZXN1bHQpCisgICAgICAgICAgICAg ICAgICAgKGFsaXN0LWNvbnMgJ2VtdWxhdGUtZmhzPyAjdCByZXN1bHQpKSkKICAgICAgICAgIChv cHRpb24gJygjXHIgInJvb3QiKSAjdCAjZgogICAgICAgICAgICAgICAgICAobGFtYmRhIChvcHQg bmFtZSBhcmcgcmVzdWx0KQogICAgICAgICAgICAgICAgICAgIChhbGlzdC1jb25zICdnYy1yb290 IGFyZyByZXN1bHQpKSkKQEAgLTYwOCwxNiArNjE1LDE4IEBAIChkZWZpbmUqIChsYXVuY2gtZW52 aXJvbm1lbnQvZm9yayBjb21tYW5kIHByb2ZpbGUgbWFuaWZlc3QKIAogKGRlZmluZSogKGxhdW5j aC1lbnZpcm9ubWVudC9jb250YWluZXIgIzprZXkgY29tbWFuZCBiYXNoIHVzZXIgdXNlci1tYXBw aW5ncwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZmlsZSBtYW5p ZmVzdCBsaW5rLXByb2ZpbGU/IG5ldHdvcms/Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtYXAtY3dkPyAod2hpdGUtbGlzdCAnKCkpKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbWFwLWN3ZD8gZW11bGF0ZS1maHM/ICh3aGl0ZS1saXN0ICco KSkpCiAgICJSdW4gQ09NTUFORCB3aXRoaW4gYSBjb250YWluZXIgdGhhdCBmZWF0dXJlcyB0aGUg c29mdHdhcmUgaW4gUFJPRklMRS4KLUVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgc2V0IGFjY29y ZGluZyB0byB0aGUgc2VhcmNoIHBhdGhzIG9mIE1BTklGRVNULgotVGhlIGdsb2JhbCBzaGVsbCBp cyBCQVNILCBhIGZpbGUgbmFtZSBmb3IgYSBHTlUgQmFzaCBiaW5hcnkgaW4gdGhlCi1zdG9yZS4g IFdoZW4gTkVUV09SSz8sIGFjY2VzcyB0byB0aGUgaG9zdCBzeXN0ZW0gbmV0d29yayBpcyBwZXJt aXR0ZWQuCi1VU0VSLU1BUFBJTkdTLCBhIGxpc3Qgb2YgZmlsZSBzeXN0ZW0gbWFwcGluZ3MsIGNv bnRhaW5zIHRoZSB1c2VyLXNwZWNpZmllZAotaG9zdCBmaWxlIHN5c3RlbXMgdG8gbW91bnQgaW5z aWRlIHRoZSBjb250YWluZXIuICBJZiBVU0VSIGlzIG5vdCAjZiwgZWFjaAotdGFyZ2V0IG9mIFVT RVItTUFQUElOR1Mgd2lsbCBiZSByZS13cml0dGVuIHJlbGF0aXZlIHRvICcvaG9tZS9VU0VSJywg YW5kIFVTRVIKLXdpbGwgYmUgdXNlZCBmb3IgdGhlIHBhc3N3ZCBlbnRyeS4gIExJTkstUFJPRklM RT8gY3JlYXRlcyBhIHN5bWJvbGljIGxpbmsgZnJvbQotfi8uZ3VpeC1wcm9maWxlIHRvIHRoZSBl bnZpcm9ubWVudCBwcm9maWxlLgorRW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBzZXQgYWNjb3Jk aW5nIHRvIHRoZSBzZWFyY2ggcGF0aHMgb2YgTUFOSUZFU1QuICBUaGUKK2dsb2JhbCBzaGVsbCBp cyBCQVNILCBhIGZpbGUgbmFtZSBmb3IgYSBHTlUgQmFzaCBiaW5hcnkgaW4gdGhlIHN0b3JlLiAg V2hlbgorTkVUV09SSz8sIGFjY2VzcyB0byB0aGUgaG9zdCBzeXN0ZW0gbmV0d29yayBpcyBwZXJt aXR0ZWQuICBVU0VSLU1BUFBJTkdTLCBhCitsaXN0IG9mIGZpbGUgc3lzdGVtIG1hcHBpbmdzLCBj b250YWlucyB0aGUgdXNlci1zcGVjaWZpZWQgaG9zdCBmaWxlIHN5c3RlbXMgdG8KK21vdW50IGlu c2lkZSB0aGUgY29udGFpbmVyLiAgSWYgVVNFUiBpcyBub3QgI2YsIGVhY2ggdGFyZ2V0IG9mIFVT RVItTUFQUElOR1MKK3dpbGwgYmUgcmUtd3JpdHRlbiByZWxhdGl2ZSB0byAnL2hvbWUvVVNFUics IGFuZCBVU0VSIHdpbGwgYmUgdXNlZCBmb3IgdGhlCitwYXNzd2QgZW50cnkuICBXaGVuIEVNVUxB VEUtRkhTPywgc2V0IHVwIHRoZSBjb250YWluZXIgdG8gZm9sbG93IHRoZQorRmlsZXN5c3RlbSBI aWVyYXJjaHkgU3RhbmRhcmQgYW5kIHByb3ZpZGUgYSBnbGliYyB0aGF0IHJlYWRzIHRoZSBjYWNo ZSBmcm9tCisvZXRjL2xkLnNvLmNhY2hlLiAgTElOSy1QUk9GSUxFPyBjcmVhdGVzIGEgc3ltYm9s aWMgbGluayBmcm9tIH4vLmd1aXgtcHJvZmlsZQordG8gdGhlIGVudmlyb25tZW50IHByb2ZpbGUu CiAKIFByZXNlcnZlIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aG9zZSBuYW1lIG1hdGNoZXMgdGhl IG9uZSBvZiB0aGUgcmVnZXhwcyBpbgogV0hJTEUtTElTVC4iCkBAIC02MjUsNiArNjM0LDQwIEBA IChkZWZpbmUqIChsYXVuY2gtZW52aXJvbm1lbnQvY29udGFpbmVyICM6a2V5IGNvbW1hbmQgYmFz aCB1c2VyIHVzZXItbWFwcGluZ3MKICAgICAoYW5kIChmaWxlLWV4aXN0cz8gKGZpbGUtc3lzdGVt LW1hcHBpbmctc291cmNlIG1hcHBpbmcpKQogICAgICAgICAgKGZpbGUtc3lzdGVtLW1hcHBpbmct PmJpbmQtbW91bnQgbWFwcGluZykpKQogCisgIDs7IEZpbGUgc3lzdGVtIG1hcHBpbmdzIGZvciBh biBGSFMgY29udGFpbmVyLCB3aGVyZSB0aGUgZW50aXJlIGRpcmVjdG9yeSBjYW4KKyAgOzsgYmUg bWFwcGVkLiAgT3RoZXJzIChiaW4gYW5kIGV0Yykgd2lsbCBhbHJlYWR5IGhhdmUgY29udGVudHMg YW5kIG5lZWQgdG8KKyAgOzsgdXNlIExJTkstQ09OVEVOVFMgdG8gc3ltbGluayB0aGUgZGlyZWN0 b3J5IGNvbnRlbnRzLgorICAoZGVmaW5lIGZocy1tYXBwaW5ncworICAgIChtYXAgKGxhbWJkYSAo bWFwcGluZykKKyAgICAgICAgICAgKGZpbGUtc3lzdGVtLW1hcHBpbmcKKyAgICAgICAgICAgIChz b3VyY2UgKHN0cmluZy1hcHBlbmQgcHJvZmlsZSAoY2FyIG1hcHBpbmcpKSkKKyAgICAgICAgICAg ICh0YXJnZXQgKGNkciBtYXBwaW5nKSkpKQorICAgICAgICAgJygoIi9saWIiICAgICAuICIvbGli IikKKyAgICAgICAgICAgKCIvaW5jbHVkZSIgLiAiL3Vzci9pbmNsdWRlIikKKyAgICAgICAgICAg KCIvc2JpbiIgICAgLiAiL3NiaW4iKQorICAgICAgICAgICAoIi9saWJleGVjIiAuICIvdXNyL2xp YmV4ZWMiKQorICAgICAgICAgICAoIi9zaGFyZSIgICAuICIvdXNyL3NoYXJlIikpKSkKKworICA7 OyBBZGRpdGlvbmFsIHN5bWxpbmtzIGZvciBhbiBGSFMgY29udGFpbmVyLgorICAoZGVmaW5lIGZo cy1zeW1saW5rcworICAgIGAoKCIvbGliIiAuICIvdXNyL2xpYiIpCisgICAgICAsKGlmICh0YXJn ZXQtNjRiaXQ/KQorICAgICAgICAgICAnKCIvbGliIiAuICIvbGliNjQiKQorICAgICAgICAgICAn KCIvbGliIiAuICIvbGliMzIiKSkKKyAgICAgICgiL2JpbiIgLiAiL3Vzci9iaW4iKQorICAgICAg KCIvc2JpbiIgLiAiL3Vzci9zYmluIikpKQorCisgIDs7IEEgcHJvY2VkdXJlIHRvIHN5bWxpbmsg dGhlIGNvbnRlbnRzIChhdCB0aGUgdG9wIGxldmVsKSBvZiBhIGRpcmVjdG9yeSwKKyAgOzsgZXhj bHVkaW5nIHRoZSBkaXJlY3RvcnkgaXRzZWxmIGFuZCBwYXJlbnQsIGFsb25nIHdpdGggYW55IG90 aGVycyBwcm92aWRlZAorICA7OyBpbiBFWENMVURFLgorICAoZGVmaW5lKiAobGluay1jb250ZW50 cyBkaXIgIzprZXkgKGV4Y2x1ZGUgJygpKSkKKyAgICAoZm9yLWVhY2ggKGxhbWJkYSAoZmlsZSkK KyAgICAgICAgICAgICAgICAoc3ltbGluayAoc3RyaW5nLWFwcGVuZCBwcm9maWxlIGRpciAiLyIg ZmlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBkaXIgIi8iIGZp bGUpKSkKKyAgICAgICAgICAgICAgKHNjYW5kaXIgKHN0cmluZy1hcHBlbmQgcHJvZmlsZSBkaXIp CisgICAgICAgICAgICAgICAgICAgICAgIChuZWdhdGUgKGN1dCBtZW1iZXIgPD4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhcHBlbmQgZXhjbHVkZSAnKCIuIiAiLi4iICkp KSkpKSkKKwogICAoZGVmaW5lIChleGl0L3N0YXR1cyogc3RhdHVzKQogICAgIChleGl0L3N0YXR1 cyAodmFsaWRhdGUtZXhpdC1zdGF0dXMgcHJvZmlsZSBjb21tYW5kIHN0YXR1cykpKQogCkBAIC02 ODIsNiArNzI1LDExIEBAIChkZWZpbmUqIChsYXVuY2gtZW52aXJvbm1lbnQvY29udGFpbmVyICM6 a2V5IGNvbW1hbmQgYmFzaCB1c2VyIHVzZXItbWFwcGluZ3MKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGZpbHRlci1tYXAgb3B0aW9uYWwtbWFwcGluZy0+ZnMKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJW5ldHdvcmstZmls ZS1tYXBwaW5ncykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygpKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IE1hcHBpbmdzIGZvciBhbiBGSFMg Y29udGFpbmVyLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiBlbXVsYXRl LWZocz8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZpbHRlci1tYXAg b3B0aW9uYWwtbWFwcGluZy0+ZnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZmhzLW1hcHBpbmdzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnKCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcCBm aWxlLXN5c3RlbS1tYXBwaW5nLT5iaW5kLW1vdW50CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBtYXBwaW5ncykpKSkKICAgICAgICAoZXhpdC9zdGF0dXMqCkBAIC03MDks NiArNzU3LDU0IEBAIChkZWZpbmUqIChsYXVuY2gtZW52aXJvbm1lbnQvY29udGFpbmVyICM6a2V5 IGNvbW1hbmQgYmFzaCB1c2VyIHVzZXItbWFwcGluZ3MKICAgICAgICAgICAgIChta2Rpci1wIGhv bWUtZGlyKQogICAgICAgICAgICAgKHNldGVudiAiSE9NRSIgaG9tZS1kaXIpCiAKKyAgICAgICAg ICAgIDs7IFNldCB1cCBhbiBGSFMgY29udGFpbmVyLgorICAgICAgICAgICAgKHdoZW4gZW11bGF0 ZS1maHM/CisgICAgICAgICAgICAgIDs7IFRoZSBGSFMgY29udGFpbmVyIHNldHMgdXAgdGhlIGV4 cGVjdGVkIGZpbGVzeXN0ZW0gdGhyb3VnaAorICAgICAgICAgICAgICA7OyBNQVBQSU5HUyB3aXRo IEZIUy1NQVBQSU5HUyBhYm92ZSwgdGhlIHN5bWxpbmtzIHRocm91Z2gKKyAgICAgICAgICAgICAg OzsgRkhTLVNZTUxJTktTLCBhbmQgbGlua2luZyB0aGUgY29udGVudHMgb2YgcHJvZmlsZS9iaW4g YW5kCisgICAgICAgICAgICAgIDs7IHByb2ZpbGUvZXRjIHVzaW5nIExJTkstQ09OVEVOVFMsIGFz IHRoZXNlIGJvdGggaGF2ZSBvciB3aWxsCisgICAgICAgICAgICAgIDs7IGhhdmUgY29udGVudHMg Zm9yIGEgbm9uLUZIUyBjb250YWluZXIgc28gbXVzdCBiZSBoYW5kbGVkCisgICAgICAgICAgICAg IDs7IHNlcGFyYXRlbHkuCisgICAgICAgICAgICAgIChta2Rpci1wICIvdXNyIikKKyAgICAgICAg ICAgICAgKGZvci1lYWNoIChsYW1iZGEgKGxpbmspCisgICAgICAgICAgICAgICAgICAgICAgICAg IChpZiAoZmlsZS1leGlzdHM/IChjYXIgbGluaykpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoc3ltbGluayAoY2FyIGxpbmspIChjZHIgbGluaykpKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgIGZocy1zeW1saW5rcykKKyAgICAgICAgICAgICAgKGxpbmstY29udGVudHMgIi9iaW4i ICM6ZXhjbHVkZSAnKCJzaCIpKQorICAgICAgICAgICAgICAobWtkaXItcCAiL2V0YyIpCisgICAg ICAgICAgICAgIChsaW5rLWNvbnRlbnRzICIvZXRjIikKKworICAgICAgICAgICAgICA7OyBQcm92 aWRlIGEgZnJlcXVlbnRseSBleHBlY3RlZCAnY2MnIHN5bWxpbmsgdG8gZ2NjIChpbiBjYXNlIGl0 CisgICAgICAgICAgICAgIDs7IGlzIGluIHRoZSBjb250YWluZXIpLCB0aG91Z2ggdGhpcyBjb3Vs ZCBhbHNvIGJlIGRvbmUgYnkgdGhlCisgICAgICAgICAgICAgIDs7IHVzZXIgaW4gdGhlIGNvbnRh aW5lciwgZS5nLiBpbiAkSE9NRS8ubG9jYWwvYmluIGFuZCBhZGRpbmcKKyAgICAgICAgICAgICAg OzsgdGhhdCB0byAkUEFUSC4gIE5vdGU6IHdlIGRvIHRoaXMgaW4gL2JpbiBzaW5jZSB0aGF0IGFs cmVhZHkKKyAgICAgICAgICAgICAgOzsgaGFzIHRoZSBzaCBzeW1saW5rIGFuZCB0aGUgb3RoZXIg KG9wdGlvbmFsKSBGSFMgYmluCisgICAgICAgICAgICAgIDs7IGRpcmVjdG9yaWVzIHdpbGwgbGlu ayB0byAvYmluLgorICAgICAgICAgICAgICAoc3ltbGluayAoc3RyaW5nLWFwcGVuZCBwcm9maWxl ICIvYmluL2djYyIpICIvYmluL2NjIikKKworICAgICAgICAgICAgICA7OyBHdWl4J3MgbGRjb25m aWcgZG9lc24ndCBzZWVtIHRvIHNlYXJjaCBpbiBGSFMgZGVmYXVsdAorICAgICAgICAgICAgICA7 OyBsb2NhdGlvbnMsIHNvIHByb3ZpZGUgYSBtaW5pbWFsIGxkLnNvLmNvbmYuCisgICAgICAgICAg ICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUgIi9ldGMvbGQuc28uY29uZiIKKyAgICAgICAgICAg ICAgICAobGFtYmRhIChwb3J0KQorICAgICAgICAgICAgICAgICAgKGZvci1lYWNoIChsYW1iZGEg KGRpcmVjdG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXNwbGF5IGRpcmVj dG9yeSBwb3J0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5ld2xpbmUgcG9ydCkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgL2xpYi9uc3MgaXMgbmVlZGVkIGFzIEd1 aXgncyBuc3MgcHV0cyBsaWJyYXJpZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA7OyB0 aGVyZSByYXRoZXIgdGhhbiBpbiB0aGUgbGliIGRpcmVjdG9yeS4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnKCIvbGliIiAiL2xpYi9uc3MiKSkpKQorCisgICAgICAgICAgICAgIDs7IERl ZmluZSBhbiBlbnRyeSBzY3JpcHQgdG8gc3RhcnQgdGhlIGNvbnRhaW5lcjogZ2VuZXJhdGUKKyAg ICAgICAgICAgICAgOzsgbGQuc28uY2FjaGUsIHN1cHBsZW1lbnQgJFBBVEggKG9wdGlvbmFsLCBi dXQgdG8gYmV0dGVyIG1hdGNoCisgICAgICAgICAgICAgIDs7IEZIUyBleHBlY3RhdGlvbnMpLCBh bmQgaW5jbHVkZSBDT01NQU5ELgorICAgICAgICAgICAgICAoY2FsbC13aXRoLW91dHB1dC1maWxl ICIvdG1wL2Zocy5zaCIKKyAgICAgICAgICAgICAgICAobGFtYmRhIChwb3J0KQorICAgICAgICAg ICAgICAgICAgKGRpc3BsYXkgImxkY29uZmlnIC1YIiBwb3J0KQorICAgICAgICAgICAgICAgICAg KG5ld2xpbmUgcG9ydCkKKyAgICAgICAgICAgICAgICAgIChkaXNwbGF5ICJleHBvcnQgUEFUSD0v YmluOi91c3IvYmluOi9zYmluOi91c3Ivc2JpbjokUEFUSCIgcG9ydCkKKyAgICAgICAgICAgICAg ICAgIChuZXdsaW5lIHBvcnQpCisgICAgICAgICAgICAgICAgICAoZGlzcGxheSAoY2FyIGNvbW1h bmQpIHBvcnQpCisgICAgICAgICAgICAgICAgICAobmV3bGluZSBwb3J0KSkpKQorCiAgICAgICAg ICAgICA7OyBJZiByZXF1ZXN0ZWQsIGxpbmsgJEdVSVhfRU5WSVJPTk1FTlQgdG8gJEhPTUUvLmd1 aXgtcHJvZmlsZTsKICAgICAgICAgICAgIDs7IHRoaXMgYWxsb3dzIHByb2dyYW1zIGV4cGVjdGlu ZyB0aGF0IHBhdGggdG8gY29udGludWUgd29ya2luZyBhcwogICAgICAgICAgICAgOzsgZXhwZWN0 ZWQgd2l0aGluIGEgY29udGFpbmVyLgpAQCAtNzQ2LDcgKzg0MiwxMCBAQCAoZGVmaW5lKiAobGF1 bmNoLWVudmlyb25tZW50L2NvbnRhaW5lciAjOmtleSBjb21tYW5kIGJhc2ggdXNlciB1c2VyLW1h cHBpbmdzCiAgICAgICAgICAgICAocHJpbWl0aXZlLWV4aXQvc3RhdHVzCiAgICAgICAgICAgICAg OzsgQSBjb250YWluZXIncyBlbnZpcm9ubWVudCBpcyBhbHJlYWR5IHB1cmlmaWVkLCBzbyBubyBu ZWVkIHRvCiAgICAgICAgICAgICAgOzsgcmVxdWVzdCBpdCBiZSBwdXJpZmllZCBhZ2Fpbi4KLSAg ICAgICAgICAgICAobGF1bmNoLWVudmlyb25tZW50IGNvbW1hbmQKKyAgICAgICAgICAgICAobGF1 bmNoLWVudmlyb25tZW50IChpZiBlbXVsYXRlLWZocz8KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7OyBVc2UgdGhlIEZIUyBzdGFydCBzY3JpcHQuCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJygiL2Jpbi9zaCIgIi90bXAvZmhzLnNoIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGlmIGxpbmstcHJvZmlsZT8KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBob21lLWRpciAiLy5ndWl4LXByb2ZpbGUi KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2ZpbGUpCkBAIC04NzQs MTYgKzk3MywxNyBAQCAoZGVmaW5lIChndWl4LWVudmlyb25tZW50KiBvcHRzKQogICAiUnVuIHRo ZSAnZ3VpeCBlbnZpcm9ubWVudCcgY29tbWFuZCBvbiBPUFRTLCBhbiBhbGlzdCByZXN1bHRpbmcg Zm9yCiBjb21tYW5kLWxpbmUgb3B0aW9uIHByb2Nlc3Npbmcgd2l0aCAncGFyc2UtY29tbWFuZC1s aW5lJy4iCiAgICh3aXRoLWVycm9yLWhhbmRsaW5nCi0gICAgKGxldCogKChwdXJlPyAgICAgIChh c3NvYy1yZWYgb3B0cyAncHVyZSkpCi0gICAgICAgICAgIChjb250YWluZXI/IChhc3NvYy1yZWYg b3B0cyAnY29udGFpbmVyPykpCi0gICAgICAgICAgIChsaW5rLXByb2Y/IChhc3NvYy1yZWYgb3B0 cyAnbGluay1wcm9maWxlPykpCi0gICAgICAgICAgIChuZXR3b3JrPyAgIChhc3NvYy1yZWYgb3B0 cyAnbmV0d29yaz8pKQotICAgICAgICAgICAobm8tY3dkPyAgICAoYXNzb2MtcmVmIG9wdHMgJ25v LWN3ZD8pKQotICAgICAgICAgICAodXNlciAgICAgICAoYXNzb2MtcmVmIG9wdHMgJ3VzZXIpKQot ICAgICAgICAgICAoYm9vdHN0cmFwPyAoYXNzb2MtcmVmIG9wdHMgJ2Jvb3RzdHJhcD8pKQotICAg ICAgICAgICAoc3lzdGVtICAgICAoYXNzb2MtcmVmIG9wdHMgJ3N5c3RlbSkpCi0gICAgICAgICAg IChwcm9maWxlICAgIChhc3NvYy1yZWYgb3B0cyAncHJvZmlsZSkpCi0gICAgICAgICAgIChjb21t YW5kICAgIChvciAoYXNzb2MtcmVmIG9wdHMgJ2V4ZWMpCisgICAgKGxldCogKChwdXJlPyAgICAg ICAgKGFzc29jLXJlZiBvcHRzICdwdXJlKSkKKyAgICAgICAgICAgKGNvbnRhaW5lcj8gICAoYXNz b2MtcmVmIG9wdHMgJ2NvbnRhaW5lcj8pKQorICAgICAgICAgICAobGluay1wcm9mPyAgIChhc3Nv Yy1yZWYgb3B0cyAnbGluay1wcm9maWxlPykpCisgICAgICAgICAgIChuZXR3b3JrPyAgICAgKGFz c29jLXJlZiBvcHRzICduZXR3b3JrPykpCisgICAgICAgICAgIChuby1jd2Q/ICAgICAgKGFzc29j LXJlZiBvcHRzICduby1jd2Q/KSkKKyAgICAgICAgICAgKGVtdWxhdGUtZmhzPyAoYXNzb2MtcmVm IG9wdHMgJ2VtdWxhdGUtZmhzPykpCisgICAgICAgICAgICh1c2VyICAgICAgICAgKGFzc29jLXJl ZiBvcHRzICd1c2VyKSkKKyAgICAgICAgICAgKGJvb3RzdHJhcD8gICAoYXNzb2MtcmVmIG9wdHMg J2Jvb3RzdHJhcD8pKQorICAgICAgICAgICAoc3lzdGVtICAgICAgIChhc3NvYy1yZWYgb3B0cyAn c3lzdGVtKSkKKyAgICAgICAgICAgKHByb2ZpbGUgICAgICAoYXNzb2MtcmVmIG9wdHMgJ3Byb2Zp bGUpKQorICAgICAgICAgICAoY29tbWFuZCAgKG9yIChhc3NvYy1yZWYgb3B0cyAnZXhlYykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDs7IFNwYXduIGEgc2hlbGwgaWYgdGhlIHVzZXIgZGlk bid0IHNwZWNpZnkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IGFueXRoaW5nIGluIHBh cnRpY3VsYXIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgY29udGFpbmVyPwpAQCAt OTIyLDEyICsxMDIyLDI0IEBAIChkZWZpbmUgKGd1aXgtZW52aXJvbm1lbnQqIG9wdHMpCiAgICAg ICAgIChsZWF2ZSAoR18gIictLXVzZXInIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgJy0tY29udGFp bmVyJ34lIikpKQogICAgICAgKHdoZW4gKGFuZCAobm90IGNvbnRhaW5lcj8pIG5vLWN3ZD8pCiAg ICAgICAgIChsZWF2ZSAoR18gIi0tbm8tY3dkIGNhbm5vdCBiZSB1c2VkIHdpdGhvdXQgLS1jb250 YWluZXJ+JSIpKSkKKyAgICAgICh3aGVuIChhbmQgKG5vdCBjb250YWluZXI/KSBlbXVsYXRlLWZo cz8pCisgICAgICAgIChsZWF2ZSAoR18gIictLWVtdWxhdGUtZmhzJyBjYW5ub3QgYmUgdXNlZCB3 aXRob3V0ICctLWNvbnRhaW5lcn4nJSIpKSkKIAogCiAgICAgICAod2l0aC1zdG9yZS9tYXliZSBz dG9yZQogICAgICAgICAod2l0aC1zdGF0dXMtdmVyYm9zaXR5IChhc3NvYy1yZWYgb3B0cyAndmVy Ym9zaXR5KQogICAgICAgICAgIChkZWZpbmUgbWFuaWZlc3QtZnJvbS1vcHRzCi0gICAgICAgICAg ICAob3B0aW9ucy9yZXNvbHZlLXBhY2thZ2VzIHN0b3JlIG9wdHMpKQorICAgICAgICAgICAgKG9w dGlvbnMvcmVzb2x2ZS1wYWNrYWdlcyBzdG9yZQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7OyBGb3IgYW4gRkhTLWNvbnRhaW5lciwgYWRkIHRoZQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7OyAoaGlkZGVuKSBwYWNrYWdlIGdsaWJjLWZvci1m aHMgd2hpY2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgdXNlcyB0 aGUgZ2xvYmFsIGNhY2hlIGF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDs7IC9ldGMvbGQuc28uY2FjaGUuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChpZiBlbXVsYXRlLWZocz8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChhbGlzdC1jb25zICdleHByZXNzaW9uCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKGFkLWhvYy1wYWNrYWdlCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIoQEAgKGdudSBw YWNrYWdlcyBiYXNlKSBnbGliYy1mb3ItZmhzKSIpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb3B0cykpKQogCiAgICAgICAgICAgKGRlZmluZSBtYW5pZmVz dAogICAgICAgICAgICAgKGlmIHByb2ZpbGUKQEAgLTEwMDEsNyArMTExMyw4IEBAIChkZWZpbmUg KGd1aXgtZW52aXJvbm1lbnQqIG9wdHMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIzp3aGl0ZS1saXN0IHdoaXRlLWxpc3QKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmxpbmstcHJvZmlsZT8g bGluay1wcm9mPwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICM6bmV0d29yaz8gbmV0d29yaz8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjOm1hcC1jd2Q/IChub3Qgbm8tY3dkPykpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOm1hcC1jd2Q/ IChub3Qgbm8tY3dkPykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjOmVtdWxhdGUtZmhzPyBlbXVsYXRlLWZocz8pKSkKIAogICAgICAgICAgICAg ICAgICAgIChlbHNlCiAgICAgICAgICAgICAgICAgICAgIChyZXR1cm4KLS0gCjIuMzcuMQoK --b1_16tXAdEOpSButhfnFxG5bCp6iqfklSwfnzB6bmZPk--