From owner-freebsd-current Tue Nov 11 19:37:48 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id TAA25239 for current-outgoing; Tue, 11 Nov 1997 19:37:48 -0800 (PST) (envelope-from owner-freebsd-current) Received: from digger1.defence.gov.au (digger1.defence.gov.au [203.5.217.4]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id TAA25234 for ; Tue, 11 Nov 1997 19:37:43 -0800 (PST) (envelope-from Matthew.Thyer@dsto.defence.gov.au) Received: from fang.dsto.defence.gov.au (fang.dsto.defence.gov.au [131.185.2.5]) by digger1.defence.gov.au (8.7.5/8.7.3) with ESMTP id OAA26585; Wed, 12 Nov 1997 14:06:15 +1030 (CST) Received: from eddie.dsto.defence.gov.au (eddie.dsto.defence.gov.au [131.185.2.111]) by fang.dsto.defence.gov.au (8.8.5/) with ESMTP id OAA15810; Wed, 12 Nov 1997 14:06:59 +1030 (CST) Received: from dsto.defence.gov.au (localhost [127.0.0.1]) by eddie.dsto.defence.gov.au (8.8.5/8.8.5) with ESMTP id OAA06114; Wed, 12 Nov 1997 14:06:55 +1030 (CST) Message-ID: <34692456.BFC77BD3@dsto.defence.gov.au> Date: Wed, 12 Nov 1997 14:06:54 +1030 From: Matthew Thyer Organization: Defence Science Technology Organisation X-Mailer: Mozilla 4.03b8 [en] (X11; I; FreeBSD 3.0-970618-SNAP i386) MIME-Version: 1.0 To: Mark Murray CC: Thomas Dean , freebsd-current@FreeBSD.ORG Subject: Re: Is make world broke? References: <199711101821.UAA04350@greenpeace.grondar.za> Content-Type: multipart/mixed; boundary="------------1F69D08806B5A4A471580263" Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk This is a multi-part message in MIME format. --------------1F69D08806B5A4A471580263 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I think the newbies to -CURRENT or the just plain lazy (like me) would benefit from the use of my "etcud" shell script. I'd really like to see it in the /usr/src/tools directory. Maybe someone could commit it for me ? I tried to post this a while back but Communicator was sending HTML mail by default and you all ignored it (as you should!). It stands for "/etc update" and does MD5 checksum comparisons between the files in /usr/src/etc and /etc. (use -r if your source is not in /usr/src). Where the files differ it can show you the versions of each file and the differences. By default it just shows you which files differ and which do not exist. It doesn't actually change any files and it can be run as an ordinary user. Typical recommended usage is to run as "etcud -t -v". That will compare all files except group, hosts, motd, shells, rc.local and master.passwd and where differences are found it will show you the RCS version strings. You could also run it with '-d' to show diffs between the /etc and /usr/src/etc versions. You can just check a single file with "etcud -i ppp/ppp.conf.sample" or any file with 'ppp' in its name with "etcud -n -i ppp" Usage is: Usage: etcud [-a] [-v] [-d] [-n] [-t] [-r ] [-i | -e ] -a Also output information for files where the checksums match -v Display RCS version strings if present -d Display diffs between the files -n Non-exact mode - i.e. dont use '-x' with egrep -t Typical usage. This is the same as etcud -e "group|hosts|motd|shells|rc.local|master.passwd" -r Directory where the source distribution is found -i Inclusion filename pattern (those files to check) -e Exclusion filename pattern (those file to ignore) Typical output of "etcud -t -v" is: MISMATCH for /usr/src/etc/etc.i386/MAKEDEV /etc/etc.i386/MAKEDEV /usr/src/etc/etc.i386/MAKEDEV VER> # $Id: MAKEDEV,v 1.141 1997/08/28 12:14:14 jkh Exp $ /etc/etc.i386/MAKEDEV VER> # $Id: MAKEDEV,v 1.140 1997/05/11 00:34:36 jmg Exp $ MISMATCH for /usr/src/etc/etc.i386/rc.i386 /etc/etc.i386/rc.i386 /usr/src/etc/etc.i386/rc.i386 VER> # $Id: rc.i386,v 1.31 1997/09/14 12:16:36 jkh Exp $ /etc/etc.i386/rc.i386 VER> # $Id: rc.i386,v 1.29 1997/07/06 07:19:12 peter Exp $ MISMATCH for /usr/src/etc/ppp/ppp.conf.sample /etc/ppp/ppp.conf.sample /usr/src/etc/ppp/ppp.conf.sample VER> # $Id: ppp.conf.sample,v 1.20 1997/09/10 00:52:30 brian Exp $ /etc/ppp/ppp.conf.sample VER> # $Id: ppp.conf.sample,v 1.15 1997/06/10 10:04:19 brian Exp $ MISMATCH for /usr/src/etc/ppp/ppp.linkup.sample /etc/ppp/ppp.linkup.sample /usr/src/etc/ppp/ppp.linkup.sample VER> # $Id: ppp.linkup.sample,v 1.9 1997/09/21 02:10:41 brian Exp $ /etc/ppp/ppp.linkup.sample VER> # $Id: ppp.linkup.sample,v 1.7 1997/06/10 10:04:20 brian Exp $ MISMATCH for /usr/src/etc/mtree/BSD.include.dist /etc/mtree/BSD.include.dist /usr/src/etc/mtree/BSD.include.dist VER> # $Id: BSD.include.dist,v 1.14 1997/09/28 09:20:48 markm Exp $ /etc/mtree/BSD.include.dist VER> # $Id: BSD.include.dist,v 1.13 1997/06/04 23:05:31 ache Exp $ Mark Murray wrote: > > Thomas Dean wrote: > > is make world broke? > > > > I had several failures, and, after restarting make three times, > > I find two unknown keywords. > > > > make world in installing usr.sbin/ppp, generates the eror, > > install: unkonwn group network. > > You need to merge src/etc/group with /etc/group. General rule: you need > to merge src/etc/* with /etc/* > > > In /sys/i386/conf/files.i386, npx.c is mandatory. mandatory is unknown. > > Make config(8) first. This is a general rule in itself, and is often > quoted on this list. > > M > -- > Mark Murray > Join the anti-SPAM movement: http://www.cauce.org -- Matthew Thyer Phone: +61 8 8259 7249 Corporate Information Systems Fax: +61 8 8259 5537 Defence Science and Technology Organisation, Salisbury PO Box 1500 Salisbury South Australia 5108 --------------1F69D08806B5A4A471580263 Content-Type: application/octet-stream; name="etcud" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="etcud" IyEvYmluL3NoCiMKIyBldGN1ZCAxLjMgLSBDb21wYXJlIC9ldGMgd2l0aCAvdXNyL3NyYy9l dGMgdG8gY2hlY2sgZm9yIHVwZGF0ZWQgZmlsZXMKIwojIGV0Y3VkIFstYV0gWy12XSBbLWRd IFstbl0gWy10XSBbLXIgPGRpcmVjdG9yeT5dIFstaSA8cGF0dGVybj4gfCAtZSA8cGF0dGVy bj5dCiMKIyBUaGlzIHNjcmlwdCBjb21wYXJlcyB0aGUgTUQ1IGNoZWNrc3VtcyBvZiBhbGwg ZmlsZXMgZm91bmQgaW4gdGhlIGV0YwojIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIGRpc3Ry aWJ1dGlvbiAoL3Vzci9zcmMvZXRjIGJ5IGRlZmF1bHQpIHdpdGgKIyB0aG9zZSBpbiAvZXRj IHRvIGFsZXJ0IHlvdSB3aGVuIC9ldGMgZmlsZXMgbmVlZCB1cGRhdGluZy4KIwojIE9wdGlv bnM6CiMKIyAgLWEgICAgICAgICAgQWxzbyBvdXRwdXQgaW5mb3JtYXRpb24gZm9yIGZpbGVz IHdoZXJlIHRoZSBjaGVja3N1bXMgbWF0Y2guCiMgIC12ICAgICAgICAgIERpc3BsYXkgUkNT IHZlcnNpb24gc3RyaW5ncyBpZiBwcmVzZW50LgojICAtZCAgICAgICAgICBEaXNwbGF5IGRp ZmZzIGJldHdlZW4gdGhlIGZpbGVzLgojICAtbiAgICAgICAgICBOb24tZXhhY3QgbW9kZS4g IGkuZS4gZG9udCB1c2UgJy14JyB3aXRoIGVncmVwIGZvciBpbmNsdXNpb24KIyAgICAgICAg ICAgICAgYW5kIGV4Y2x1c2lvbiBwYXR0ZXJucy4gIEZvciBwb3dlciB1c2VycyBvbmx5IQoj ICAtdCAgICAgICAgICBUeXBpY2FsIHVzYWdlLiAgVGhpcyBpcyB0aGUgc2FtZSBhcyBldGN1 ZCAtZSAkREVGX0VYQ0wKIyAgLXIgPGRpcj4gICAgU2V0IHRoZSByb290IGRpcmVjdG9yeSBv ZiB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbi4KIyAgLWkgPHBhdHQ+ICAgSW5jbHVzaW9uIGZp bGVuYW1lIHBhdHRlcm4gKHRob3NlIGZpbGVzIHRvIGNoZWNrKS4KIyAgLWUgPHBhdHQ+ICAg RXhjbHVzaW9uIGZpbGVuYW1lIHBhdHRlcm4gKHRob3NlIGZpbGUgdG8gaWdub3JlKS4KIwoj IEluY2x1c2lvbiBhbmQgZXhjbHVzaW9uIHBhdHRlcm5zIG11c3QgYmUgYW4gZWdyZXAgcGF0 dGVybiB3aGljaCBpcyBhIGxpc3QKIyAgICBvZiBmaWxlIG5hbWVzIHNlcGFyYXRlZCBieSB0 aGUgcGlwZSBjaGFyYWN0ZXIuICBUaGUgZmlsZW5hbWVzIG11c3QgYmUKIyAgICByZWxhdGl2 ZSB0byB0aGUgZXRjIGRpcmVjdG9yeSBvZiB0aGUgc291cmNlIGRpc3RyaWJ1dGlvbiAoL3Vz ci9zcmMvZXRjCiMgICAgYnkgZGVmYXVsdCkuCiMKIyBCeSBkZWZhdWx0IHRoZSBzY3JpcHQg d2lsbCB1c2UgZWdyZXAgLXggd2hpY2ggbWVhbnMgdGhlIHBhdHRlcm5zIG11c3QKIyAgICBl eGFjdGx5IG1hdGNoIGZvciB0aGUgZmlsZXMgdG8gYmUgaW5jbHVkZWQgb3IgZXhjbHVkZWQu ICBUaGlzIGlzCiMgICAgZ2VuZXJhbGx5IHdoYXQgeW91IHdhbnQgYXMgeW91IHByb2JhYmx5 IHdhbnQgdG8gYmUgYWJsZSB0byB0eXBlCiMgICAgImV0Y3VkIC1lIGhvc3RzIiB0byBleGNs dWRlIHRoZSBmaWxlIC9ldGMvaG9zdHMgYnV0IG5vdCB0aGUgZmlsZQojICAgIC9ldGMvaG9z dHMubHBkLiAgUG93ZXIgdXNlcnMgY2FuIHVzZSAtbiB0byBkaXNhYmxlIHRoZSB1c2Ugb2Yg LXgKIyAgICB3aXRoIGVncmVwLiAgVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4gZGVhbGluZyB3 aXRoIHRoZSBwcHAgZGlyZWN0b3J5CiMgICAgZm9yIGV4YW1wbGUuCiMKIyBOT1RFUwojICAg IC0gIFlvdSBjYW4gdXNlIEVJVEhFUiBhbiBleGNsdXNpb24gT1IgYW4gaW5jbHVzaW9uIGZp bGUgcGF0dGVybiwgbm90CiMgICAgICAgYm90aC4gIFN1YnNlcXVlbnQgdXNlcyB3aWxsIGJl IGlnbm9yZWQgd2l0aCBhIHdhcm5pbmcuCiMKIyAgICAtICBVc2Ugb2YgdGhlIHR5cGljYWwg b3B0aW9uICgtdCkgd2lsbCBydW4gZXRjdWQgd2l0aCB0aGUgZGVmYXVsdAojICAgICAgIGV4 Y2x1c2lvbiBwYXR0ZXJuLCBzZXQgYXQgJERFRl9FWENMIGJlbG93LiAgVGhpcyBtb2RlIG92 ZXJyaWRlcwojICAgICAgIGFueSBwcmV2aW91c2x5IHNwZWNpZmllZCBpbmNsdXNpb24gb3Ig ZXhjbHVzaW9uIHBhdHRlcm5zIHdpdGggYQojICAgICAgIHdhcm5pbmcuICBUaGlzIG1vZGUg YWxzbyBzaWxlbnRseSBpZ25vcmVzIC1uLgojCiMgQVVUSE9SOiAgTWF0dGhldyBUaHllciAg Tm92ZW1iZXIgMTk5NwojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBUaGUgZGVmYXVs dCBkaXJlY3RvcnkgZm9yIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uCkRFRl9TUkNfUk9PVD0v dXNyL3NyYwojIFRoZSB0eXBpY2FsIGV4Y2x1c2lvbiBsaXN0CkRFRl9FWENMPSJncm91cHxo b3N0c3xtb3RkfHNoZWxsc3xyYy5sb2NhbHxtYXN0ZXIucGFzc3dkIgojCm9wdF9hbGw9MApv cHRfdmVyPTAKb3B0X2RpZmZzPTAKb3B0X25vbl9leGFjdD0wCm9wdF90eXBpY2FsPTAKb3B0 X2luYz0wCm9wdF9leGM9MAplcnJvcj0wCmNtZF9uYW1lPWBiYXNlbmFtZSAkMGAKCnVzYWdl ICgpCnsKCWVjaG8gIlVzYWdlOiAkY21kX25hbWUgWy1hXSBbLXZdIFstZF0gWy1uXSBbLXRd IFstciA8ZGlyPl0gWy1pIDxwYXR0PiB8IC1lIDxwYXR0Pl0iCgllY2hvICIgICAgICAgLWEg ICAgICAgICAgQWxzbyBvdXRwdXQgaW5mb3JtYXRpb24gZm9yIGZpbGVzIHdoZXJlIHRoZSBj aGVja3N1bXMgbWF0Y2giCgllY2hvICIgICAgICAgLXYgICAgICAgICAgRGlzcGxheSBSQ1Mg dmVyc2lvbiBzdHJpbmdzIGlmIHByZXNlbnQiCgllY2hvICIgICAgICAgLWQgICAgICAgICAg RGlzcGxheSBkaWZmcyBiZXR3ZWVuIHRoZSBmaWxlcyIKCWVjaG8gIiAgICAgICAtbiAgICAg ICAgICBOb24tZXhhY3QgbW9kZSAtIGkuZS4gZG9udCB1c2UgJy14JyB3aXRoIGVncmVwIgoJ ZWNobyAiICAgICAgIC10ICAgICAgICAgIFR5cGljYWwgdXNhZ2UuICBUaGlzIGlzIHRoZSBz YW1lIGFzIGV0Y3VkIC1lIFwiJERFRl9FWENMXCIiCgllY2hvICIgICAgICAgLXIgPGRpcj4g ICAgRGlyZWN0b3J5IHdoZXJlIHRoZSBzb3VyY2UgZGlzdHJpYnV0aW9uIGlzIGZvdW5kIgoJ ZWNobyAiICAgICAgIC1pIDxwYXR0PiAgIEluY2x1c2lvbiBmaWxlbmFtZSBwYXR0ZXJuICh0 aG9zZSBmaWxlcyB0byBjaGVjaykiCgllY2hvICIgICAgICAgLWUgPHBhdHQ+ICAgRXhjbHVz aW9uIGZpbGVuYW1lIHBhdHRlcm4gKHRob3NlIGZpbGUgdG8gaWdub3JlKSIKfQoKc2hvd192 ZXIgKCkKewoJdGhlX3Zlcj1gZ3JlcCAnJElkOicgJHNyY19maWxlcy8keGAKCWlmIFsgJD8g LWVxIDAgXSA7IHRoZW4KCQllY2hvICIkc3JjX2ZpbGVzLyR4IFZFUj4gJHRoZV92ZXIiCglm aQoJdGhlX3Zlcj1gZ3JlcCAnJElkOicgL2V0Yy8keGAKCWlmIFsgJD8gLWVxIDAgXSA7IHRo ZW4KCQllY2hvICIgICAgICAgIC9ldGMvJHggVkVSPiAkdGhlX3ZlciIKCWZpCn0KCmRvX2No ZWNrICgpCnsKCWlmIFsgLXIgL2V0Yy8keCBdIDsgdGhlbgoJCWlmIFsgYG1kNSAvZXRjLyR4 IHwgY3V0IC1kJyAnIC1mNGAgIT0gYG1kNSAkc3JjX2ZpbGVzLyR4IHwgY3V0IC1kJyAnIC1m NGAgXSA7IHRoZW4KCQkJZWNobyBNSVNNQVRDSCBmb3IgJHNyY19maWxlcy8keCAvZXRjLyR4 CgkJCWlmIFsgJG9wdF92ZXIgLWVxIDEgXSA7IHRoZW4KCQkJCXNob3dfdmVyCgkJCWZpCgkJ CWlmIFsgJG9wdF9kaWZmcyAtZXEgMSBdIDsgdGhlbgoJCQkJZGlmZiAvZXRjLyR4ICRzcmNf ZmlsZXMvJHgKCQkJCWVjaG8KCQkJZmkKCQllbGlmIFsgJG9wdF9hbGwgLWVxIDEgXSA7IHRo ZW4KCQkJZWNobyBPSyBmb3IgJHNyY19maWxlcy8keCAvZXRjLyR4CgkJCWlmIFsgJG9wdF92 ZXIgLWVxIDEgXSA7IHRoZW4KCQkJCXNob3dfdmVyCgkJCWZpCgkJZmkKCWVsc2UgIyB0aGUg ZmlsZSBpcyBub3QgcmVhZGFibGUuLi4uIHdoeSA/IHBlcmhhcHMgaXQgZG9lc24ndCBleGlz dAoJCWlmIFsgISAtZiAvZXRjLyR4IF0gOyB0aGVuCgkJCWVjaG8gTk9ORVhJU1RBTlQgL2V0 Yy8keC4gIE1heWJlIHlvdSBzaG91bGQgY3AgLXAgJHNyY19maWxlcy8keCAvZXRjLyR4CgkJ ZWxzZQoJCQllY2hvIC1uIC9ldGMvJHggaXMgbm90IHJlYWRhYmxlLi4uLgoJCQlpZiBbIGBp ZCAtdWAgLW5lIDAgXSA7IHRoZW4KCQkJCWVjaG8gcGVyaGFwcyB5b3Ugc2hvdWxkIGJlIFJP T1QhCgkJCWVsc2UKCQkJCWVjaG8gZm9yIHNvbWUgc3RyYW5nZSByZWFzb24hISEKCQkJZmkK CQlmaQoJZmkKfQoKIyBUaGUgbWFpbiBwcm9ncmFtIGJlZ2lucy4uLi4uCgojIEZpcnN0IGdl dCB0aGUgb3B0aW9ucwp3aGlsZSBbICQjIC1uZSAwIF0gOyBkbwoJY2FzZSAkMSBpbgoJLWEp CW9wdF9hbGw9MQoJOzsKCS12KQlvcHRfdmVyPTEKCTs7CgktZCkJb3B0X2RpZmZzPTEKCTs7 CgktbikJb3B0X25vbl9leGFjdD0xCgk7OwoJLXQpCW9wdF90eXBpY2FsPTEKCQlpZiBbICRv cHRfaW5jIC1lcSAxIC1vICRvcHRfZXhjIC1lcSAxIF0gOyB0aGVuCgkJCWVjaG8gIldhcm5p bmc6IFR5cGljYWwgdXNhZ2Ugb3ZlcnJpZGluZyBwcmlvciBpbmNsdXNpb24gb3IgZXhjbHVz aW9uIHBhdHRlcm4iCgkJCW9wdF9pbmM9MAoJCWZpCgkJb3B0X2V4Yz0xCgkJcGF0dD0kREVG X0VYQ0wKCTs7CgktcikJc2hpZnQKCQlpZiBbICQjIC1lcSAwIF0gOyB0aGVuCgkJCWVycm9y PTEKCQkJZWNobyAiRXJyb3I6IC1yIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgoJCQl1c2FnZQoJ CQlicmVhawoJCWVsc2UKCQkJaWYgWyAtZCAkMSBdIDsgdGhlbgoJCQkJU1JDX1JPT1Q9JDEK CQkJZWxzZQoJCQkJZXJyb3I9MQoJCQkJZWNobyAiRXJyb3I6IFNvdXJjZSBkaXJlY3Rvcnkg XCIkMVwiIGRvZXMgbm90IGV4aXN0IgoJCQkJdXNhZ2UKCQkJCWJyZWFrCgkJCWZpCgkJZmkK CTs7CgktaSkJc2hpZnQKCQlpZiBbICQjIC1lcSAwIF0gOyB0aGVuCgkJCWVycm9yPTEKCQkJ ZWNobyAiRXJyb3I6IC1pIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgoJCQl1c2FnZQoJCQlicmVh awoJCWVsc2UKCQkJaWYgWyAkb3B0X2luYyAtZXEgMSAtbyAkb3B0X2V4YyAtZXEgMSBdIDsg dGhlbgoJCQkJZWNobyAiV2FybmluZzogc3Vic2VxdWVudCBpbmNsdXNpb24gcGF0dGVybiBp Z25vcmVkIgoJCQllbHNlCgkJCQlwYXR0PSQxCgkJCQlvcHRfaW5jPTEKCQkJZmkKCQlmaQoJ OzsKCS1lKQlzaGlmdAoJCWlmIFsgJCMgLWVxIDAgXSA7IHRoZW4KCQkJZXJyb3I9MQoJCQll Y2hvICJFcnJvcjogLWUgcmVxdWlyZXMgYW4gYXJndW1lbnQiCgkJCXVzYWdlCgkJCWJyZWFr CgkJZWxzZQoJCQlpZiBbICRvcHRfaW5jIC1lcSAxIC1vICRvcHRfZXhjIC1lcSAxIF0gOyB0 aGVuCgkJCQllY2hvICJXYXJuaW5nOiBzdWJzZXF1ZW50IGV4Y2x1c2lvbiBwYXR0ZXJuIGln bm9yZWQiCgkJCWVsc2UKCQkJCXBhdHQ9JDEKCQkJCW9wdF9leGM9MQoJCQlmaQoJCWZpCgk7 OwoJKikJZXJyb3I9MQoJCXVzYWdlCgkJYnJlYWsKCTs7Cgllc2FjCglzaGlmdApkb25lCgpp ZiBbICRlcnJvciAtZXEgMSBdIDsgdGhlbgoJZXhpdApmaQoKc3JjX2ZpbGVzPWBlY2hvICR7 U1JDX1JPT1Q6PSRERUZfU1JDX1JPT1R9L2V0YyB8IHNlZCAncy9cL1wvJC8vJ2AKY2QgJHNy Y19maWxlcwoKIyBDYW4gb25seSBkbyBub25fZXhhY3QgbW9kZSBpZiB3ZSBhcmUgbm90IGRv aW5nIGEgdHlwaWNhbAplZ3JlcF9mbGFncz0iLXgiCmlmIFsgJG9wdF9ub25fZXhhY3QgLWVx IDEgLWEgJG9wdF90eXBpY2FsIC1lcSAwIF0gOyB0aGVuCgllZ3JlcF9mbGFncz0iIgpmaQoK aWYgWyAkb3B0X2V4YyAtZXEgMSBdIDsgdGhlbgoJZWdyZXBfZmxhZ3M9JGVncmVwX2ZsYWdz IiAtdiAiCmZpCgppZiBbICRvcHRfaW5jIC1lcSAxIC1vICRvcHRfZXhjIC1lcSAxIF0gOyB0 aGVuCglmaW5kIC4gLXR5cGUgZiAtZXhlYyBlY2hvIHt9IFw7IHwgc2VkICdzL15cLlwvLy8n IHwgZWdyZXAgJGVncmVwX2ZsYWdzICRwYXR0IHwgd2hpbGUgcmVhZCB4IDsgZG8KCQlkb19j aGVjawoJZG9uZQplbHNlCglmaW5kIC4gLXR5cGUgZiAtZXhlYyBlY2hvIHt9IFw7IHwgc2Vk ICdzL15cLlwvLy8nIHwgd2hpbGUgcmVhZCB4IDsgZG8KCQlkb19jaGVjawoJZG9uZQpmaQo= --------------1F69D08806B5A4A471580263--