pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/32326 (pkg_chk hardcodes PKG_DBDIR)



The following reply was made to PR pkg/32326; it has been noted by GNATS.

From: "Christoph Egger" <Christoph_Egger%gmx.de@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: abs%netbsd.org@localhost, pkgsrc-bugs%netbsd.org@localhost
Subject: Re: pkg/32326 (pkg_chk hardcodes PKG_DBDIR)
Date: Mon, 19 Dec 2005 20:20:55 +0100 (MET)

 This is a MIME encapsulated multipart message -
 please use a MIME-compliant e-mail program to open it.
 
 Dies ist eine mehrteilige Nachricht im MIME-Format -
 bitte verwenden Sie zum Lesen ein MIME-konformes Mailprogramm.
 
 --========GMXBoundary124171135020055
 Content-Type: text/plain; charset="us-ascii"
 Content-Transfer-Encoding: 7bit
 
 
 > Synopsis: pkg_chk hardcodes PKG_DBDIR
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: abs%netbsd.org@localhost
 > State-Changed-When: Mon, 19 Dec 2005 18:52:53 +0000
 > State-Changed-Why:
 > Could you send me a copy of the pkg_chk installed on your system?
 
 attached
 
 > Plus the output from 'make show-var VARNAME=PKG_DBDIR' in
 > pkgsrc/pkgtools/pkg_chk.
 > pkg_chk tries to extract PKG_DBDIR and falls back to /var/db/pkg
 
 sh> make show-var VARNAME=PKG_DBDIR  :
 Makefile:23: *** missing separator. Stop.
 sh> bmake show-var VARNAME=PKG_DBDIR  :
 /sw/var/db/pkg
 sh> uname -a
 Darwin r106104.rh2.swh.mhn.de 8.3.0 Darwin Kernel Version 8.3.0: Mon Oct  3
 20:04:04 PDT 2005; root:xnu-792.6.22.obj~2/RELEASE_PPC Power Macintosh
 powerpc
 
 
 -- 
 Greetings,
 
 Christoph
 
 Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
 Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner
 --========GMXBoundary124171135020055
 Content-Type: application/octet-stream; name="pkg_chk"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="pkg_chk"
 
 IyEvYmluL3NoIC1lCiMKIyAkSWQ6IHBrZ19jaGsuc2gsdiAxLjIzIDIwMDUvMTIvMTMgMTU6MjY6
 MDUgZGlsbG8gRXhwICQKIwojIFRPRE86IE1ha2UgLWcgY2hlY2sgZGVwZW5kZW5jaWVzIGFuZCB0
 c29ydAojIFRPRE86IFZhcmlhdGlvbiBvZiAtZyB3aGljaCBvbmx5IGxpc3RzIHRvcCBsZXZlbCBw
 YWNrYWdlcwojIFRPRE86IExpc3QgdG9wIGxldmVsIHBhY2thZ2VzIGluc3RhbGxlZCBidXQgbm90
 IGluIGNvbmZpZwoKUEFUSD0vdXNyL3NiaW46L3Vzci9iaW46JHtQQVRIfQoKU1VNTUFSWV9GSUxF
 PXBrZ19jaGstc3VtbWFyeQoKaXNfYmluYXJ5X2F2YWlsYWJsZSgpCiAgICB7CiAgICBpZiBbIC1u
 ICIkUEtHREIiIF07IHRoZW4KCWZvciBpYmFfcGtnIGluICRQS0dEQjsgZG8KCSAgICBjYXNlICRp
 YmFfcGtnIGluCgkJKjoiJDEiKQoJCSAgICByZXR1cm4gMDsKCQk7OwoJICAgIGVzYWMKICAgICAg
 ICBkb25lCglyZXR1cm4gMTsKICAgIGVsc2UKCWlmIFsgLWYgIiRQQUNLQUdFUy8kMS50Z3oiIF07
 IHRoZW4KCSAgICByZXR1cm4gMDsKCWVsc2UKCSAgICByZXR1cm4gMTsKCWZpCiAgICBmaQogICAg
 fQoKY2hlY2tfcGFja2FnZXNfaW5zdGFsbGVkKCkKICAgIHsKICAgIE1JU1NJTkdfVE9ETz0KICAg
 IE1JU01BVENIX1RPRE89CgogICAgZm9yIHBrZ2RpciBpbiAkKiA7IGRvCgoJaWYgWyAtbiAiJG9w
 dF9CIiBdO3RoZW4KCSAgICBleHRyYWN0X3BrZ192YXJzICRwa2dkaXIgUEtHTkFNRSBGSUxFU0RJ
 UiBQS0dESVIgRElTVElORk9fRklMRSBQQVRDSERJUgoJZWxzZQoJICAgIGV4dHJhY3RfcGtnX3Zh
 cnMgJHBrZ2RpciBQS0dOQU1FCglmaQoJaWYgWyAteiAiJFBLR05BTUUiIF07IHRoZW4KCSAgICBN
 SVNTX0RPTkU9JE1JU1NfRE9ORSIgIiRwa2dkaXIKCSAgICBjb250aW51ZQoJZmkKCWlmIFsgISAt
 ZCAkUEtHX0RCRElSLyRQS0dOQU1FIF07dGhlbgoJICAgIG1zZ19uICIkUEtHTkFNRTogIgoJICAg
 IHBrZz0kKGVjaG8gJFBLR05BTUUgfCAke1NFRH0gJ3MvLVswLTldLiovLycpCgkgICAgcGtnaW5z
 dGFsbGVkPSQoc2ggLWMgIiR7UEtHX0lORk99IC1lICRwa2ciIHx8IHRydWUpCgkgICAgSU5TVEFM
 TD0KCSAgICBpZiBbIC1uICIkcGtnaW5zdGFsbGVkIiBdO3RoZW4KCQltc2dfbiAidmVyc2lvbiBt
 aXNtYXRjaCAtICRwa2dpbnN0YWxsZWQiCgkJTUlTTUFUQ0hfVE9ETz0iJE1JU01BVENIX1RPRE8g
 JHBrZ2luc3RhbGxlZCIKCSAgICBlbHNlCgkJbXNnX24gIm1pc3NpbmciCgkJTUlTU0lOR19UT0RP
 PSIkTUlTU0lOR19UT0RPICRQS0dOQU1FICRwa2dkaXIiCgkgICAgZmkKCSAgICBpZiBpc19iaW5h
 cnlfYXZhaWxhYmxlICRQS0dOQU1FIDt0aGVuCgkJbXNnX24gIiAoYmluYXJ5IHBhY2thZ2UgYXZh
 aWxhYmxlKSIKCSAgICBmaQoJICAgIG1zZwoJZWxzZQoJICAgIGlmIFsgLW4gIiRvcHRfQiIgXTt0
 aGVuCgkJY3VycmVudF9idWlsZF92ZXI9JChnZXRfYnVpbGRfdmVyKQoJCWluc3RhbGxlZF9idWls
 ZF92ZXI9JCgke1NFRH0gInN8XlteOl0qL1teOl0qOnx8IiAkUEtHX0RCRElSLyRQS0dOQU1FLytC
 VUlMRF9WRVJTSU9OKQoJCWlmIFsgeCIkY3VycmVudF9idWlsZF92ZXIiICE9IHgiJGluc3RhbGxl
 ZF9idWlsZF92ZXIiIF07dGhlbgoJCSAgICBtc2cgIiRQS0dOQU1FOiBidWlsZC12ZXJzaW9uIG1p
 c21hdGNoIgoJCSAgICB2ZXJib3NlICItLWN1cnJlbnQtLSIKCQkgICAgdmVyYm9zZSAiJGN1cnJl
 bnRfYnVpbGRfdmVyIgoJCSAgICB2ZXJib3NlICItLWluc3RhbGxlZC0tIgoJCSAgICB2ZXJib3Nl
 ICIkaW5zdGFsbGVkX2J1aWxkX3ZlciIKCQkgICAgdmVyYm9zZSAiLS0tLSIKCQkgICAgTUlTTUFU
 Q0hfVE9ETz0iJE1JU01BVENIX1RPRE8gJFBLR05BTUUiCgkJZWxzZQoJCSAgICB2ZXJib3NlICIk
 UEtHTkFNRTogT0siCgkJZmkKCSAgICBlbHNlCgkJdmVyYm9zZSAiJFBLR05BTUU6IE9LIgoJICAg
 IGZpCglmaQogICAgZG9uZQogICAgfQoKZGVsZXRlX3BrZ3MoKQogICAgewogICAgZm9yIHBrZyBp
 biAkKiA7IGRvCglpZiBbIC1kICRQS0dfREJESVIvJHBrZyBdIDsgdGhlbgoJICAgIHJ1bl9jbWQg
 IiR7UEtHX0RFTEVURX0gLXIgJHBrZyIgMQoJZmkKICAgIGRvbmUKICAgIH0KCmV4dHJhY3RfbWFr
 ZV92YXJzKCkKICAgIHsKICAgIE1BS0VGSUxFPSQxCiAgICBzaGlmdAogICAgdmVyYm9zZSAiRXh0
 cmFjdCAkQCBmcm9tICRNQUtFRklMRSIKICAgIE1BS0VEQVRBPSIuUEhPTlk6IHhcbng6XG4iOwog
 ICAgZm9yIHZhciBpbiAkKiA7IGRvCglNQUtFREFUQT0kTUFLRURBVEEiXHRAZWNobyAkdmFyPVwk
 eyR2YXJ9XG4iCiAgICBkb25lCiAgICBldmFsICQocHJpbnRmICIkTUFLRURBVEEiIHwgJHtNQUtF
 fSAtZiAtIC1mICRNQUtFRklMRSB4IHwgXAoJCQkJCSR7U0VEfSAtZSAncy9bXj1dKj0vJiIvJyAt
 ZSAncy8kLyIvJykKICAgIH0KCiMgJDEgPSBuYW1lIG9mIHZhcmlhYmxlCiMgJDIgPSBkZWZhdWx0
 IHZhbHVlCmV4dHJhY3RfbWtfdmFyKCkKICAgIHsKICAgIGlmIFsgLXogImBldmFsIGVjaG8gXFwk
 JDFgIiBdIDsgdGhlbgoJZXZhbCAkKHByaW50ZiAiQlNEX1BLR19NSz0xXG4uUEhPTlk6IHhcbng6
 XG5cdEBlY2hvICQxPSInJCcieyQxfVxuIiB8ICR7TUFLRX0gLWYgLSAtZiAkTUFLRUNPTkYgeCkK
 CWlmIFsgLXogImBldmFsIGVjaG8gXFwkJDFgIiBdOyB0aGVuCgkgICAgZXZhbCAiJDE9JDIiCglm
 aQogICAgZmkKICAgIH0KCmV4dHJhY3RfcGtnX3ZhcnMoKQogICAgewogICAgUEtHRElSPSQxCiAg
 ICBQS0dOQU1FPQogICAgc2hpZnQ7CiAgICBpZiBbIC1uICIkb3B0X2IiIC1hIC16ICIkb3B0X3Mi
 IF0gOyB0aGVuCglmb3IgcGtnIGluICRQS0dEQiA7IGRvCgkgICAgY2FzZSAkcGtnIGluCgkJIiRQ
 S0dESVI6IiopCgkJICAgIFBLR05BTUU9YGVjaG8gJHBrZ3wgJHtTRUR9ICdzL1teOl0qOi8vJ2AK
 CQkgICAgcmV0dXJuOwoJCTs7CgkgICAgZXNhYwoJZG9uZQoJbXNnICJXQVJOSU5HOiBObyBiaW5h
 cnkgcGFja2FnZSBmb3IgJFBLR0RJUiIKICAgIGVsc2UKCWlmIFsgISAtZiAkUEtHU1JDRElSLyRw
 a2dkaXIvTWFrZWZpbGUgXTt0aGVuCgkgICAgbXNnICJXQVJOSU5HOiBObyAkcGtnZGlyL01ha2Vm
 aWxlIC0gcGFja2FnZSBtb3ZlZCBvciBvYnNvbGV0ZT8iCgkgICAgcmV0dXJuCglmaQoJY2QgJFBL
 R1NSQ0RJUi8kUEtHRElSCglleHRyYWN0X21ha2VfdmFycyBNYWtlZmlsZSAiJEAiCglpZiBbIC16
 ICIkUEtHTkFNRSIgXTsgdGhlbgoJICAgIGZhdGFsICJVbmFibGUgdG8gZXh0cmFjdCBQS0dOQU1F
 IGZvciAkcGtnZGlyIgoJZmkKICAgIGZpCiAgICB9CgpleHRyYWN0X3ZhcmlhYmxlcygpCiAgICB7
 CiAgICBleHRyYWN0X21rX3ZhciBQS0dTUkNESVIgL3Vzci9wa2dzcmMKICAgIGlmIFsgISAtZCAk
 UEtHU1JDRElSIC1hICEgJG9wdF9iIF0gOyB0aGVuCglmYXRhbCAiVW5hYmxlIHRvIGxvY2F0ZSBQ
 S0dTUkNESVIgKCRQS0dTUkNESVIpIgogICAgZmkKICAgIGV4dHJhY3RfbWtfdmFyIFBLR19EQkRJ
 UiAvdmFyL2RiL3BrZwogICAgaWYgWyAhIC1kICRQS0dfREJESVIgXSA7IHRoZW4KCWZhdGFsICJV
 bmFibGUgdG8gbG9jYXRlIFBLR19EQkRJUiAoJFBLR19EQkRJUikiCiAgICBmaQoKICAgICMgTm93
 IHdlIGhhdmUgUEtHU1JDRElSLCB1c2UgaXQgdG8gZGV0ZXJtaW5lIFBBQ0tBR0VTLCBhbmQgUEtH
 Q0hLX0NPTkYKICAgICMgYXMgd2VsbCBhcyBBV0ssIEdSRVAsIFNFRCwgUEtHQ0hLX1RBR1MgYW5k
 IFBLR0NIS19OT1RBR1MKICAgICMKCiAgICBpZiBbIC16ICIkb3B0X2IiIC1vIC1uICIkb3B0X3Mi
 IC1vIC1kICRQS0dTUkNESVIvcGtndG9vbHMvcGtnX2NoayBdIDsgdGhlbgoJY2QgJFBLR1NSQ0RJ
 Ui9wa2d0b29scy9wa2dfY2hrCglleHRyYWN0X21ha2VfdmFycyBNYWtlZmlsZSBBV0sgR1JFUCBT
 RUQgVFNPUlQgU09SVCBQQUNLQUdFUyBQS0dfSU5GTyBcCgkJCVBLR19BREQgUEtHX0RFTEVURSBQ
 S0dDSEtfQ09ORiBQS0dDSEtfVVBEQVRFX0NPTkYgXAoJCQlQS0dDSEtfVEFHUyBQS0dDSEtfTk9U
 QUdTCglpZiBbIC16ICIkUEFDS0FHRVMiIF07dGhlbgoJICAgIFBBQ0tBR0VTPSRQS0dTUkNESVIv
 cGFja2FnZXMKCWZpCiAgICBlbGlmIFsgJE1BS0VDT05GICE9IC9kZXYvbnVsbCBdIDsgdGhlbgoJ
 ZXh0cmFjdF9tYWtlX3ZhcnMgJE1BS0VDT05GIFBBQ0tBR0VTIFBLR0NIS19DT05GIFBLR0NIS19V
 UERBVEVfQ09ORiBcCgkJCVBLR0NIS19UQUdTIFBLR0NIS19OT1RBR1MKCWlmIFsgLXogIiRQQUNL
 QUdFUyIgXSA7IHRoZW4KCSAgICBQQUNLQUdFUz1gcHdkYAoJZmkKICAgIGZpCgogICAgaWYgWyAt
 eiAiJFBLR0NIS19DT05GIiBdO3RoZW4KCVBLR0NIS19DT05GPSRQS0dTUkNESVIvcGtnY2hrLmNv
 bmYKICAgIGZpCiAgICBpZiBbIC16ICIkUEtHQ0hLX1VQREFURV9DT05GIiBdO3RoZW4KCVBLR0NI
 S19VUERBVEVfQ09ORj0kUEtHU1JDRElSL3BrZ2Noa191cGRhdGUtJChob3N0bmFtZSkuY29uZgog
 ICAgZmkKICAgIH0KCmZhdGFsKCkKICAgIHsKICAgIG1zZyAiKioqICRAIgogICAgZXhpdCAxCiAg
 ICB9CgpmYXRhbF9tYXliZSgpCiAgICB7CiAgICBtc2cgIiRAIgogICAgaWYgWyAteiAiJG9wdF9r
 IiBdO3RoZW4KCWV4aXQgMQogICAgZmkKICAgIH0KCmdlbmVyYXRlX2NvbmZfZnJvbV9pbnN0YWxs
 ZWQoKQogICAgewogICAgRklMRT0kMQogICAgaWYgWyAtciAkRklMRSBdOyB0aGVuCgltdiAkRklM
 RSAke0ZJTEV9Lm9sZAogICAgZmkKICAgIGVjaG8gIiMgR2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkg
 YXQgJChkYXRlKSIgPiAkRklMRQogICAgZWNobyAkKHBrZ2RpcnNfZnJvbV9pbnN0YWxsZWQpIHwg
 Zm10IC0xIAk+PiAkRklMRQogICAgfQoKZ2V0X2J1aWxkX3ZlcigpCiAgICB7CiAgICBpZiBbIC1u
 ICIkb3B0X2IiIC1hIC16ICIkb3B0X3MiIF0gOyB0aGVuCgkke1BLR19JTkZPfSAtLiAtcSAtYiAk
 UEFDS0FHRVMvJFBLR05BTUUudGd6IHwgJHtTRUR9ICJzfF5bXjpdKi9bXjpdKjp8fCIgfCAke0dS
 RVB9IC4KCXJldHVybgogICAgZmkKICAgIGZpbGVzPSIiCiAgICBmb3IgZiBpbiBNYWtlZmlsZSAk
 e0ZJTEVTRElSfS8qICR7UEtHRElSfS8qOyBkbwoJaWYgWyAtZiAkZiBdO3RoZW4KCSAgICBmaWxl
 cz0iJGZpbGVzICRmIgoJZmkKICAgIGRvbmUKICAgIGlmIFsgLWYgJHtESVNUSU5GT19GSUxFfSBd
 OyB0aGVuCglmb3IgZiBpbiAkKCR7QVdLfSAnTkYgPT0gNCAmJiAkMyA9PSAiPSIgeyBnc3ViKCJb
 KCldIiwgIiIsICQyKTsgcHJpbnQgJDIgfScgPCAke0RJU1RJTkZPX0ZJTEV9KTsgZG8gCgkgICAg
 aWYgWyAtZiAke1BBVENIRElSfS8kZiBdOyB0aGVuCgkJZmlsZXM9IiRmaWxlcyAke1BBVENIRElS
 fS8kZiI7CgkgICAgZmk7Cglkb25lCiAgICBmaQogICAgaWYgWyAtZCAke1BBVENIRElSfSBdOyB0
 aGVuCglmb3IgZiBpbiAke1BBVENIRElSfS9wYXRjaC0qOyBkbwoJICAgIGNhc2UgJGYgaW4KCSAg
 ICAqLm9yaWd8Ki5yZWp8Kn4pIDs7CgkgICAgJHtQQVRDSERJUn0vcGF0Y2gtbG9jYWwtKikKCQlm
 aWxlcz0iJGZpbGVzICRmIiA7OwoJICAgIGVzYWMKCWRvbmUKICAgIGZpCiAgICBjYXQgJGZpbGVz
 IHwgJHtHUkVQfSAnXCROZXRCU0QnCiAgICB9CgpsaXN0X3BhY2thZ2VzKCkKICAgIHsKICAgIENI
 RUNLTElTVD0nICcKICAgIGZvciBwa2dkaXIgaW4gJCogOyBkbwoJZXh0cmFjdF9wa2dfdmFycyAk
 cGtnZGlyIFBLR05BTUUKCWlmIFsgLXogIiRQS0dOQU1FIiBdOyB0aGVuCgkgICAgY29udGludWUK
 CWZpCglpZiBpc19iaW5hcnlfYXZhaWxhYmxlICRQS0dOQU1FOyB0aGVuCgkgICAgOgoJZWxzZQoJ
 ICAgIGZhdGFsX21heWJlICIgKiogJFBLR05BTUUgLSBiaW5hcnkgcGFja2FnZSBtaXNzaW5nIgoJ
 ICAgIGNvbnRpbnVlCglmaQoJdmVyYm9zZSAiJFBLR05BTUUudGd6OiBmb3VuZCIKCUNIRUNLTElT
 VD0iJENIRUNLTElTVCRQS0dOQU1FICI7CiAgICBkb25lCgogICAgUEFJUkxJU1Q9CiAgICBQS0dM
 SVNUPScgJwogICAgd2hpbGUgWyAiJENIRUNLTElTVCIgIT0gJyAnIF07IGRvCglORVhUQ0hFQ0s9
 JyAnCglmb3IgcGtnIGluICRDSEVDS0xJU1QgOyBkbwoJICAgIGlmIGlzX2JpbmFyeV9hdmFpbGFi
 bGUgJHBrZzsgdGhlbgoJCToKCSAgICBlbHNlCgkJZmF0YWxfbWF5YmUgIiAqKiAkcGtnLnRneiAt
 IGJpbmFyeSBwYWNrYWdlIGRlcGVuZGVuY3kgbWlzc2luZyIKCQljb250aW51ZQoJICAgIGZpCgkg
 ICAgREVQTElTVD0iJCgke1BLR19JTkZPfSAtLiAtcSAtTiAkUEFDS0FHRVMvJHBrZy50Z3ogfCAk
 e0dSRVB9IC4uIHx8IHRydWUpIgoJICAgIGlmIFsgLXogIiRERVBMSVNUIiBdIDsgdGhlbgoJCVBB
 SVJMSVNUPSIke1BBSVJMSVNUfSRwa2cudGd6ICRwa2cudGd6XG4iCgkgICAgZmkKCSAgICBmb3Ig
 ZGVwIGluICRERVBMSVNUIDsgZG8KCQlpZiBpc19iaW5hcnlfYXZhaWxhYmxlICRwa2c7IHRoZW4K
 CQkgICAgOgoJCWVsc2UKCQkgICAgZmF0YWxfbWF5YmUgIiAqKiAkZGVwLnRneiAtIGRlcGVuZGVu
 Y3kgbWlzc2luZyBmb3IgJHBrZyIKCQkgICAgYnJlYWsgMgoJCWZpCgkJUEFJUkxJU1Q9IiR7UEFJ
 UkxJU1R9JGRlcC50Z3ogJHBrZy50Z3pcbiIKCQljYXNlICIkUEtHTElTVCRDSEVDS0xJU1QkTkVY
 VENIRUNLIiBpbgoJCSAgICAqIiAkZGVwICIqKQoJCQl2ZXJib3NlICIkcGtnOiBEdXBsaWNhdGUg
 ZGVwZW5kICRkZXAiCgkJCTs7CgkJICAgICopCgkJCU5FWFRDSEVDSz0iICRkZXAkTkVYVENIRUNL
 IgoJCQl2ZXJib3NlICIkcGtnOiBBZGQgZGVwZW5kICRkZXAiCgkJCTs7CgkJZXNhYwoJICAgIGRv
 bmUKCSAgICBQS0dMSVNUPSIkcGtnICRQS0dMSVNUIgoJZG9uZQoJQ0hFQ0tMSVNUPSIkTkVYVENI
 RUNLIgogICAgZG9uZQogICAgcHJpbnRmICIkUEFJUkxJU1QiIHwgJHtUU09SVH0KICAgIH0KCnBr
 Z2RpcnNfZnJvbV9jb25mKCkKICAgIHsKICAgIENPTkY9JDE7IHNoaWZ0CiAgICBMSVNUPSIkKiIK
 ICAgIGlmIFsgISAtciAkQ09ORiBdO3RoZW4KCWZhdGFsICJVbmFibGUgdG8gcmVhZCBQS0dDSEtf
 Q09ORiAnJENPTkYnIgogICAgZmkKCiAgICAjIERldGVybWluZSBsaXN0IG9mIHRhZ3MKICAgICMK
 ICAgIGlmIFsgJFBLR1NSQ0RJUiA9IE5PTkUgXTsgdGhlbgoJT1BTWVM9JCh1bmFtZSAtcykKCU9T
 X1ZFUlNJT049JCh1bmFtZSAtcikKCU1BQ0hJTkVfQVJDSD0kKHVuYW1lIC1wKQogICAgZWxzZQoJ
 ZXh0cmFjdF9tYWtlX3ZhcnMgTWFrZWZpbGUgT1BTWVMgT1NfVkVSU0lPTiBNQUNISU5FX0FSQ0gK
 ICAgIGZpCgogICAgVEFHUz0iJChob3N0bmFtZSB8ICR7U0VEfSAtZSAncyxcLi4qLCwnKSwkKGhv
 c3RuYW1lKSwkT1BTWVMtJE9TX1ZFUlNJT04tJE1BQ0hJTkVfQVJDSCwkT1BTWVMtJE9TX1ZFUlNJ
 T04sJE9QU1lTLSRNQUNISU5FX0FSQ0gsJE9QU1lTLCRPU19WRVJTSU9OLCRNQUNISU5FX0FSQ0gi
 CiAgICBpZiBbIC1mIC91c3IvWDExUjYvbGliL2xpYlgxMS5zbyAtbyAtZiAvdXNyL1gxMVI2L2xp
 Yi9saWJYMTEuYSBdO3RoZW4KCVRBR1M9IiRUQUdTLHgxMSIKICAgIGZpCiAgICBpZiBbIC1uICIk
 UEtHQ0hLX1RBR1MiIF07dGhlbgoJVEFHUz0iJFRBR1MsJFBLR0NIS19UQUdTIgogICAgZmkKICAg
 IGlmIFsgLW4gIiRQS0dDSEtfTk9UQUdTIiBdO3RoZW4KCWlmIFsgLW4gIiRvcHRfVSIgXTt0aGVu
 CgkJb3B0X1U9IiRvcHRfVSwkUEtHQ0hLX05PVEFHUyIKCWVsc2UKCQlvcHRfVT0iJFBLR0NIS19O
 T1RBR1MiCglmaQogICAgZmkKICAgIGlmIFsgLW4gIiRvcHRfRCIgXTt0aGVuCglUQUdTPSIkVEFH
 Uywkb3B0X0QiCiAgICBmaQogICAgdmVyYm9zZSAic2V0ICAgVEFHUz0kVEFHUyIKICAgIHZlcmJv
 c2UgInVuc2V0IFRBR1M9JG9wdF9VIgoKICAgICMgRXh0cmFjdCBsaXN0IG9mIHZhbGlkIHBrZ2Rp
 cnMgKHNraXAgYW55ICdhbHJlYWR5c2V0JyBpbiAkTElTVCkKICAgICMKICAgIExJU1Q9IiRMSVNU
 ICIkKCR7QVdLfSAtdiBhbHJlYWR5c2V0PSIkTElTVCIgLXYgc2V0bGlzdD0kVEFHUyAtdiB1bnNl
 dGxpc3Q9JG9wdF9VICcKICAgIEJFR0lOIHsKCXNwbGl0KGFscmVhZHlzZXQsIHRtcCwgIiAiKTsK
 CWZvciAodGFnIGluIHRtcCkgeyBza2lwW3RtcFt0YWddXSA9IDE7IH0KCglzcGxpdChzZXRsaXN0
 LCB0bXAsICIsIik7Cglmb3IgKHRhZyBpbiB0bXApIHsgdGFnbGlzdFt0bXBbdGFnXV0gPSAxOyB9
 CgoJc3BsaXQodW5zZXRsaXN0LCB0bXAsICIsIik7Cglmb3IgKHRhZyBpbiB0bXApIHsgc2tpcFt0
 bXBbdGFnXV0gPSAxOyBkZWxldGUgdGFnbGlzdFt0bXBbdGFnXV0gfQoKCXRhZ2xpc3RbIioiXSA9
 ICIqIgogICAgfQogICAgZnVuY3Rpb24gYW5kX2V4cHJfd2l0aF9kaWN0KGV4cHIsIGRpY3QsIGFy
 eSwgaSwgciwgZCkgewoJc3BsaXQoZXhwcixhcnksL1wrLyk7CglyID0gMTsKCWZvciAoaSBpbiBh
 cnkpIHsKCQlpZiAoYXJ5W2ldIH4gL15cLy8pIHsKCQkJaWYgKGdldGxpbmUgZCA8IGFyeVtpXSA9
 PSAtMSkKCQkJICAgIHsgciA9IDA7IGJyZWFrIDt9CgkJfQoJCWVsc2UgaWYgKCEgKGFyeVtpXSBp
 biBkaWN0KSkKCQkJeyByID0gMDsgYnJlYWsgO30KCX0KCXJldHVybiByOwogICAgfQogICAgewog
 ICAgc3ViKCIjLioiLCAiIik7CiAgICBpZiAoc2tpcFskMV0pCgluZXh0OwogICAgbmVlZCA9IDA7
 CiAgICBpZiAoJDAgfiAvXD0vKSB7CglzcGxpdCgkMCwgdG1wLCAiWyBcdF0qPSIpOwoJdGFnZ3Jv
 dXAgPSB0bXBbMV07CglzdWIoIlsgXHRdKj0iLCAiPSIpOwoJfQogICAgZWxzZQoJewoJdGFnZ3Jv
 dXAgPSAiIgoJaWYgKE5GID09IDEpCQkJIyBJZiBvbmx5IG9uZSBhcmcsIHdlIHdhbnQgcGtnCgkg
 ICAgbmVlZCA9IDE7Cgl9CiAgICBmb3IgKGYgPSAyIDsgZjw9TkYgOyArK2YpIHsJCSMgRm9yIGVh
 Y2ggd29yZCBvbiB0aGUgbGluZQoJaWYgKHN1YigiXi0iLCAiIiwgJGYpKSB7IAkjIElmIGl0IGJl
 Z2lucyB3aXRoIGEgJy0nCgkJaWYgKGYgPT0gMikJCSMgSWYgZmlyc3QgZW50cnkgJy0nLCBhc3N1
 bWUgJyonCgkJICAgIHsgbmVlZCA9IDE7IH0KCQlpZiAoYW5kX2V4cHJfd2l0aF9kaWN0KCRmLCB0
 YWdsaXN0KSkKCQkJbmV4dDsJCSMgSWYgaXQgaXMgdHJ1ZSwgZGlzY2FyZAoJfSBlbHNlIHsKCQlp
 ZiAoYW5kX2V4cHJfd2l0aF9kaWN0KCRmLCB0YWdsaXN0KSkKCQkJbmVlZCA9IDE7CSMgSWYgaXQg
 aXMgdHJ1ZSwgbm90ZSBuZWVkZWQKCX0KICAgIH0KICAgIGlmIChuZWVkKQoJaWYgKHRhZ2dyb3Vw
 KQoJICAgIHRhZ2xpc3RbdGFnZ3JvdXBdID0gMQoJZWxzZQoJICAgIHByaW50ICQxOwogICAgfQog
 ICAgJyA8ICRDT05GCiAgICApCiAgICBlY2hvICRMSVNUCiAgICB9Cgpwa2dkaXJzX2Zyb21faW5z
 dGFsbGVkKCkKICAgIHsKICAgICR7UEtHX0lORk99IC1CcWEgfCAke0FXS30gLUY9ICcvUEtHUEFU
 SD0ve3ByaW50ICQyfScgfCAke1NPUlR9CiAgICB9Cgptc2coKQogICAgewogICAgaWYgWyAtbiAi
 JG9wdF9MIiBdIDsgdGhlbgoJZWNobyAiJEAiID4+ICIkb3B0X0wiCiAgICBmaQogICAgaWYgWyAt
 biAiJG9wdF9sIiBdIDsgdGhlbgoJZWNobyAiJEAiID4mMgogICAgZWxzZQoJZWNobyAiJEAiCiAg
 ICBmaQogICAgfQoKbXNnX3Byb2dyZXNzKCkKICAgIHsKICAgIG1zZyAiWyAkQCBdIgogICAgfQoK
 bXNnX24oKQogICAgewogICAgbXNnICRhY19uICIkKiIkYWNfYwogICAgfQoKcGtnX2ZldGNoKCkK
 ICAgIHsKICAgIFBLR05BTUU9JDEKICAgIFBLR0RJUj0kMgoKICAgIHJ1bl9jbWQgImNkICRQS0dT
 UkNESVIvJFBLR0RJUiAmJiAke01BS0V9IGZldGNoLWxpc3QgfCBzaCIKICAgIGlmIFsgLW4gIiRG
 QUlMIiBdOyB0aGVuCglGQUlMX0RPTkU9JEZBSUxfRE9ORSIgIiRQS0dOQU1FCiAgICBlbHNlCglG
 RVRDSF9ET05FPSRGRVRDSF9ET05FIiAiJFBLR05BTUUKICAgIGZpCiAgICB9Cgpwa2dfZmV0Y2hs
 aXN0KCkKICAgIHsKICAgIFBLR0xJU1Q9JEAKICAgIG1zZ19wcm9ncmVzcyBGZXRjaAogICAgd2hp
 bGUgWyAkIyAhPSAwIF07IGRvIAoJcGtnX2ZldGNoICQxICQyCglzaGlmdCA7IHNoaWZ0OwogICAg
 ZG9uZQogICAgfQoKcGtnX2luc3RhbGwoKQogICAgewogICAgUEtHTkFNRT0kMQogICAgUEtHRElS
 PSQyCiAgICBJTlNUQUxMPSQzCgogICAgaWYgWyAtZCAkUEtHX0RCRElSLyRQS0dOQU1FIF07dGhl
 bgoJbXNnICIkUEtHTkFNRSBpbnN0YWxsZWQgaW4gcHJldmlvdXMgc3RhZ2UiCiAgICBlbGlmIFsg
 LW4gIiRvcHRfYiIgXSAmJiBpc19iaW5hcnlfYXZhaWxhYmxlICRQS0dOQU1FOyB0aGVuCglpZiBb
 IC1uICIkc2F2ZWRfUEtHX1BBVEgiIF0gOyB0aGVuCgkgICAgZXhwb3J0IFBLR19QQVRIPSRzYXZl
 ZF9QS0dfUEFUSAoJZmkKCXJ1bl9jbWQgIiR7UEtHX0FERH0gJFBBQ0tBR0VTLyRQS0dOQU1FLnRn
 eiIKCWlmIFsgLW4gIiRzYXZlZF9QS0dfUEFUSCIgXSA7IHRoZW4KCSAgICB1bnNldCBQS0dfUEFU
 SAoJZmkKICAgIGVsaWYgWyAtbiAiJG9wdF9zIiBdOyB0aGVuCglydW5fY21kICJjZCAkUEtHU1JD
 RElSLyRQS0dESVIgJiYgJHtNQUtFfSB1cGRhdGUgQ0xFQU5ERVBFTkRTPXllcyIKICAgIGZpCgog
 ICAgaWYgWyAteiAiJG9wdF9uIiAtYSAhIC1kICRQS0dfREJESVIvJFBLR05BTUUgXTt0aGVuCglG
 QUlMPTEKICAgIGZpCgogICAgaWYgWyAtbiAiJEZBSUwiIF07IHRoZW4KCUZBSUxfRE9ORT0kRkFJ
 TF9ET05FIiAiJFBLR05BTUUKICAgIGVsc2UKCUlOU1RBTExfRE9ORT0kSU5TVEFMTF9ET05FIiAi
 JFBLR05BTUUKICAgIGZpCiAgICB9Cgpwa2dfaW5zdGFsbGxpc3QoKQogICAgewogICAgSU5TVEFM
 TD0kMSA7IHNoaWZ0CiAgICBtc2dfcHJvZ3Jlc3MgJElOU1RBTEwKICAgIHdoaWxlIFsgJCMgIT0g
 MCBdOyBkbwoJcGtnX2luc3RhbGwgJDEgJDIgJElOU1RBTEwKCXNoaWZ0IDsgc2hpZnQ7CiAgICBk
 b25lCiAgICB9CgpydW5fY21kKCkKICAgIHsKICAgIEZBSUw9CiAgICBpZiBbIC1uICIkMiIgXTsg
 dGhlbgoJRkFJTE9LPSQyCiAgICBlbHNlCglGQUlMT0s9JG9wdF9rCiAgICBmaQogICAgbXNnICQo
 ZGF0ZSArJVIpICQxCiAgICBpZiBbIC16ICIkb3B0X24iIF07dGhlbgoJaWYgWyAtbiAiJG9wdF9M
 IiBdIDsgdGhlbgoJICAgIHNoIC1jICIkMSIgPj4gIiRvcHRfTCIgMj4mMSB8fCBGQUlMPTEKCWVs
 c2UKCSAgICBzaCAtYyAiJDEiIHx8IEZBSUw9MQoJZmkKCWlmIFsgLW4gIiRGQUlMIiBdIDsgdGhl
 bgogICAgICAgICAgICBtc2cgIioqICckMScgZmFpbGVkIgoJICAgIGlmIFsgLW4gIiRvcHRfTCIg
 XSA7IHRoZW4KCQl0YWlsIC0xMDAgIiRvcHRfTCIgfCBlZ3JlcCAtdiAnXihcKlwqXCogRXJyb3Ig
 Y29kZSAxfFN0b3BcLiknIHxcCgkJCXRhaWwgLTQwCgkgICAgZmkKICAgICAgICAgICAgaWYgWyAi
 JEZBSUxPSyIgIT0gMSBdOyB0aGVuCiAgICAgICAgICAgICAgICBleGl0IDEKICAgICAgICAgICAg
 ZmkKICAgICAgICBmaQogICAgZmkKICAgIH0KCnNldF9wYXRoKCkKICAgIHsKICAgIGFyZz0kMQog
 ICAgY2FzZSAkYXJnIGluCglodHRwOi8vKnxmdHA6Ly8qfC8qKQoJCWVjaG8gJGFyZyA7OwoJKikJ
 ZWNobyAkYmFzZWRpci8kYXJnIDs7CiAgICBlc2FjCiAgICB9Cgp1c2FnZSgpCiAgICB7CiAgICBp
 ZiBbIC1uICIkMSIgXSA7IHRoZW4KCWVjaG8gIiRAIgoJZWNobwogICAgZmkKICAgIGVjaG8gJ1Vz
 YWdlOiBwa2dfY2hrIFtvcHRzXQoJLWEgICAgICBBZGQgYWxsIG1pc3NpbmcgcGFja2FnZXMgKGlt
 cGxpZXMgLWMpCgktQiAgICAgIENoZWNrIHRoZSAiQnVpbGQgdmVyc2lvbiIgb2YgcGFja2FnZXMK
 CS1iICAgICAgSW5zdGFsbCBiaW5hcnkgcGFja2FnZXMKCS1DIGNvbmYgVXNlIHBrZ2Noay5jb25m
 IGZpbGUgJ2NvbmYnCgktYyAgICAgIENoZWNrIGluc3RhbGxlZCBwYWNrYWdlcyBhZ2FpbnN0IHBr
 Z2Noay5jb25mCgktRCB0YWdzIENvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFkZGl0aW9uYWwgcGtn
 Y2hrLmNvbmYgdGFncyB0byBzZXQKCS1mICAgICAgUGVyZm9ybSBhICdtYWtlIGZldGNoJyBmb3Ig
 YWxsIHJlcXVpcmVkIHBhY2thZ2VzCgktZyAgICAgIEdlbmVyYXRlIGFuIGluaXRpYWwgcGtnY2hr
 LmNvbmYgZmlsZQoJLWggICAgICBUaGlzIGhlbHAKCS1pCUNoZWNrIHZlcnNpb25zIG9mIGluc3Rh
 bGxlZCBwYWNrYWdlcyAobm90IHVzaW5nIHBrZ2Noay5jb25mKQoJLWsJQ29udGludWUgd2l0aCBm
 dXJ0aGVyIHBhY2thZ2VzIGlmIGVycm9ycyBhcmUgZW5jb3VudGVyZWQKCS1MIGZpbGUgUmVkaXJl
 Y3Qgb3V0cHV0IGZyb20gY29tbWFuZHMgcnVuIGludG8gZmlsZSAoc2hvdWxkIGJlIGZ1bGxwYXRo
 KQoJLWwJTGlzdCBiaW5hcnkgcGFja2FnZXMgaW5jbHVkaW5nIGRlcGVuZGVuY2llcyAoaW1wbGll
 cyAtYykKCS1OCUxpc3QgaW5zdGFsbGVkIHBhY2thZ2VzIGZvciB3aGljaCBhIG5ld2VyIHZlcnNp
 b24gaXMgaW4gVE9ETwoJLW4JRGlzcGxheSBhY3Rpb25zIHRoYXQgd291bGQgYmUgdGFrZW4sIGJ1
 dCBkbyBub3QgcGVyZm9ybSB0aGVtCgktUCBkaXIgIFNldCBQQUNLQUdFUyBkaXIgKG92ZXJyaWRl
 cyBhbnkgb3RoZXIgc2V0dGluZykKCS1yCVJlY3Vyc2l2ZWx5IHJlbW92ZSBtaXNtYXRjaGVzICh1
 c2Ugd2l0aCBjYXJlKSAoaW1wbGllcyAtaSkKCS1TCUNyZWF0ZSBzdW1tYXJ5IG9mIGJpbmFyeSBw
 YWNrYWdlcwoJLXMgICAgICBJbnN0YWxsIHBhY2thZ2VzIGJ5IGJ1aWxkaW5nIGZyb20gc291cmNl
 CgktVSB0YWdzIENvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBrZ2Noay5jb25mIHRhZ3MgdG8gdW5z
 ZXQKCS11ICAgICAgVXBkYXRlIGFsbCBtaXNtYXRjaGVkIHBhY2thZ2VzIChpbXBsaWVzIC1pKQoJ
 LXYgICAgICBWZXJib3NlCgpwa2dfY2hrIHZlcmlmaWVzIGluc3RhbGxlZCBwYWNrYWdlcyBhZ2Fp
 bnN0IHBrZ3NyYy4KVGhlIG1vc3QgY29tbW9uIHVzYWdlIGlzICdwa2dfY2hrIC1pJyB0byBjaGVj
 ayBhbGwgaW5zdGFsbGVkIHBhY2thZ2VzIG9yCidwa2dfY2hrIC11JyB0byB1cGRhdGUgYWxsIG91
 dCBvZiBkYXRlIHBhY2thZ2VzLgpGb3IgbW9yZSBhZHZhbmNlZCB1c2FnZSwgaW5jbHVkaW5nIGRl
 ZmluaW5nIGEgc2V0IG9mIGRlc2lyZWQgcGFja2FnZXMgYmFzZWQKb24gaG9zdG5hbWUgYW5kIHR5
 cGUsIHNlZSBwa2dfY2hrKDgpLgoKSWYgbmVpdGhlciAtYiBub3IgLXMgaXMgZ2l2ZW4sIGJvdGgg
 YXJlIGFzc3VtZWQgd2l0aCAtYiBwcmVmZXJyZWQuCicKICAgIGV4aXQgMQogICAgfQoKdmVyYm9z
 ZSgpCiAgICB7CiAgICBpZiBbIC1uICIkb3B0X3YiIF0gOyB0aGVuCgltc2cgIiRAIiA+JjIKICAg
 IGZpCiAgICB9CgphcmdzPSQoZ2V0b3B0IEJDOkQ6TDpQOlU6YWJjZmdoaWtsTm5yc1N1diAkKikK
 aWYgWyAkPyAhPSAwIF07IHRoZW4KICAgIG9wdF9oPTEKZmkKc2V0IC0tICRhcmdzCndoaWxlIFsg
 JCMgIT0gMCBdOyBkbwogICAgY2FzZSAiJDEiIGluCgktYSApCW9wdF9hPTEgOyBvcHRfYz0xIDs7
 CgktQiApICAgIG9wdF9CPTEgOzsKCS1iICkJb3B0X2I9MSA7OwoJLUMgKQlvcHRfQz0iJDIiIDsg
 c2hpZnQ7OwoJLWMgKQlvcHRfYz0xIDs7CgktRCApCW9wdF9EPSIkMiIgOyBzaGlmdDs7CgktZiAp
 CW9wdF9mPTEgOzsKCS1nICkJb3B0X2c9MSA7OwoJLWggKQlvcHRfaD0xIDs7CgktaSApCW9wdF9p
 PTEgOzsKCS1rICkJb3B0X2s9MSA7OwoJLUwgKQlvcHRfTD0iJDIiIDsgc2hpZnQ7OwoJLWwgKQlv
 cHRfbD0xIDs7CgktTiApCW9wdF9OPTEgOzsKCS1uICkJb3B0X249MSA7OwoJLVAgKQlvcHRfUD0i
 JDIiIDsgc2hpZnQ7OwoJLXIgKQlvcHRfcj0xIDsgb3B0X2k9MSA7OwoJLVMgKQlvcHRfUz0xIDs7
 CgktcyApCW9wdF9zPTEgOzsKCS1VICkJb3B0X1U9IiQyIiA7IHNoaWZ0OzsKCS11ICkJb3B0X3U9
 MSA7IG9wdF9pPTEgOzsKCS12ICkJb3B0X3Y9MSA7OwoJLS0gKQlzaGlmdDsgYnJlYWsgOzsKICAg
 IGVzYWMKICAgIHNoaWZ0CmRvbmUKCmlmIFsgLXogIiRvcHRfYiIgLWEgLXogIiRvcHRfcyIgXTt0
 aGVuCiAgICBvcHRfYj0xOyBvcHRfcz0xOwpmaQoKaWYgWyAteiAiJG9wdF9hIiAtYSAteiAiJG9w
 dF9jIiAtYSAteiAiJG9wdF9nIiAtYSAteiAiJG9wdF9pIiAtYSAteiAiJG9wdF9OIiAtYSAteiAi
 JG9wdF9sIiAtYSAteiAiJG9wdF9TIiBdOwp0aGVuCiAgICB1c2FnZSAiTXVzdCBzcGVjaWZ5IGF0
 IGxlYXN0IG9uZSBvZiAtYSwgLWMsIC1nLCAtaSwgLWwsIC1OLCAtUywgb3IgLXUiOwpmaQoKaWYg
 WyAtbiAiJG9wdF9oIiAtbyAkIyAhPSAwIF07dGhlbgogICAgdXNhZ2UKZmkKCiMgSGlkZSBQS0df
 UEFUSCB0byBhdm9pZCBicmVha2FnZSBpbiAnbWFrZScgY2FsbHMKc2F2ZWRfUEtHX1BBVEg9JFBL
 R19QQVRICnVuc2V0IFBLR19QQVRIIHx8IHRydWUKCnRlc3QgLW4gIiRBV0siICAgICAgICB8fCBB
 V0s9Ii91c3IvYmluL2F3ayIKdGVzdCAtbiAiJEdSRVAiICAgICAgIHx8IEdSRVA9Ii91c3IvYmlu
 L2dyZXAiCnRlc3QgLW4gIiRNQUtFIiAgICAgICB8fCBNQUtFPSIvc3cvYmluL2JtYWtlIgp0ZXN0
 IC1uICIkTUFLRUNPTkYiICAgfHwgTUFLRUNPTkY9Ii9ldGMvbWsuY29uZiIKdGVzdCAtbiAiJFBL
 R19BREQiICAgIHx8IFBLR19BREQ9Ii91c3IvYmluL2VudiAgL3N3L3NiaW4vcGtnX2FkZCAtSyAv
 c3cvdmFyL2RiL3BrZyIKdGVzdCAtbiAiJFBLR19ERUxFVEUiIHx8IFBLR19ERUxFVEU9Ii91c3Iv
 YmluL2VudiAgL3N3L3NiaW4vcGtnX2RlbGV0ZSAtSyAvc3cvdmFyL2RiL3BrZyIKdGVzdCAtbiAi
 JFBLR19JTkZPIiAgIHx8IFBLR19JTkZPPSIvdXNyL2Jpbi9lbnYgIC9zdy9zYmluL3BrZ19pbmZv
 IC1LIC9zdy92YXIvZGIvcGtnIgp0ZXN0IC1uICIkU0VEIiAgICAgICAgfHwgU0VEPSIvdXNyL2Jp
 bi9zZWQiCnRlc3QgLW4gIiRTT1JUIgkgICAgICB8fCBTT1JUPSIvdXNyL2Jpbi9zb3J0Igp0ZXN0
 IC1uICIkVFNPUlQiICAgICAgfHwgVFNPUlQ9InRzb3J0IC1xIgoKaWYgWyAhIC1mICRNQUtFQ09O
 RiBdIDsgdGhlbgogICAgaWYgWyAtZiAvZXRjL21rLmNvbmYgXSA7IHRoZW4KCU1BS0VDT05GPS9l
 dGMvbWsuY29uZgogICAgZWxzZQoJTUFLRUNPTkY9L2Rldi9udWxsCiAgICBmaQpmaQoKIyBncmFi
 YmVkIGZyb20gR05VIGNvbmZpZ3VyZQppZiAoZWNobyAidGVzdGluZ1xjIjsgZWNobyAxLDIsMykg
 fCBncmVwIGMgPi9kZXYvbnVsbDsgdGhlbgogICMgU3RhcmRlbnQgVmlzdHJhIFNWUjQgZ3JlcCBs
 YWNrcyAtZSwgc2F5cyBnaGF6aUBjYWlwLnJ1dGdlcnMuZWR1LgogIGlmIChlY2hvIC1uIHRlc3Rp
 bmc7IGVjaG8gMSwyLDMpIHwgJHtTRUR9IHMvLW4veG4vIHwgZ3JlcCB4biA+L2Rldi9udWxsOyB0
 aGVuCiAgICBhY19uPSBhY19jPScKJyBhY190PScJJwogIGVsc2UKICAgIGFjX249LW4gYWNfYz0g
 YWNfdD0KICBmaQplbHNlCiAgYWNfbj0gYWNfYz0nXGMnIGFjX3Q9CmZpCgppZiBbIC1uICIkb3B0
 X0wiIF0gOyB0aGVuCiAgICBybSAtZiAkb3B0X0wKZmkKCmJhc2VkaXI9JChwd2QpCmV4dHJhY3Rf
 dmFyaWFibGVzCmlmIFsgLW4gIiRvcHRfQyIgXSA7IHRoZW4KICAgIFBLR0NIS19DT05GPSIkKHNl
 dF9wYXRoICRvcHRfQykiCmZpCmlmIFsgLW4gIiRvcHRfUCIgXSA7IHRoZW4KICAgIFBBQ0tBR0VT
 PSIkKHNldF9wYXRoICRvcHRfUCkiCmZpCmlmIFsgLWQgJFBBQ0tBR0VTL0FsbCBdIDsgdGhlbgog
 ICAgUEFDS0FHRVM9IiRQQUNLQUdFUy9BbGwiCmZpCgppZiBbIC1uICIkb3B0X04iIF07IHRoZW4K
 CSR7UEtHX0lORk99IHwgXAoJCSR7U0VEfSAtZSAicy9bIAldLiovLyIgLWUgInMvLVteLV0qJC8v
 IiBcCgkJICAgICAgIC1lICJzL3B5WzAtOV1bMC05XXB0aC0vcHktLyIgXAoJCSAgICAgICAtZSAi
 cy9weVswLTldWzAtOV0tL3B5LS8iIHwgXAoJCXdoaWxlIHJlYWQgYQoJCWRvCgkJCWI9JChncmVw
 ICJvICRhLVswLTldIiAkUEtHU1JDRElSL2RvYy9UT0RPIHwgXAoJCQkJc2VkIC1lICJzL1sgCV0q
 byAvLyIpCgkJaWYgWyAiJGIiIF0KCQl0aGVuCgkJCWVjaG8gJGE6ICRiCgkJZmkKCWRvbmUKZmkK
 CmlmIFsgXCggLW4gIiRvcHRfYiIgLW8gLW4gIiRvcHRfUyIgXCkgLWEgLXogIiRvcHRfcyIgXSA7
 IHRoZW4KICAgIGNhc2UgJFBBQ0tBR0VTIGluCglodHRwOi8vKnxmdHA6Ly8qKQoJICAgIFBLR0RC
 PWBmdHAgLW8gLSAkUEFDS0FHRVMvJFNVTU1BUllfRklMRWA7OwoJKikKCSAgICBpZiBbIC1kICIk
 UEFDS0FHRVMiIF0gOyB0aGVuCgkJbXNnX3Byb2dyZXNzIFNjYW4gJFBBQ0tBR0VTCgkJY2QgJFBB
 Q0tBR0VTCgkJZm9yIGYgaW4gYGxzIC10ICoudGd6YCA7IGRvICMgU29ydCBieSB0aW1lIHRvIHBp
 Y2sgdXAgbmV3ZXN0IGZpcnN0CgkJICAgIFBLR0RJUj1gJHtQS0dfSU5GT30gLS4gLUIgJFBBQ0tB
 R0VTLyRmfCR7QVdLfSAtRj0gJyQxPT0iUEtHUEFUSCJ7cHJpbnQgJDJ9J2AKCQkgICAgUEtHTkFN
 RT1gZWNobyAkZiB8ICR7U0VEfSAncy9cLnRneiQvLydgCgkJICAgIFBLR0RCPSIke1BLR0RCfSAk
 UEtHRElSOiRQS0dOQU1FIgoJCWRvbmUKCQlQS0dTUkNESVI9Tk9ORQoJICAgIGZpOzsKICAgIGVz
 YWMKZmkKCmlmIFsgLW4gIiRvcHRfUyIgXTsgdGhlbgogICAgbXNnX3Byb2dyZXNzICJXcml0ZSAk
 UEFDS0dFUy8kU1VNTUFSWV9GSUxFIgogICAgZWNobyAiJFBLR0RCIiB8IHRyICcgJyAnXDAxMicg
 PiAkUEFDS0FHRVMvJFNVTU1BUllfRklMRQpmaQoKaWYgWyAtbiAiJG9wdF9nIiBdOyB0aGVuCiAg
 ICB2ZXJib3NlICJXcml0ZSAkUEtHQ0hLX0NPTkYgYmFzZWQgb24gaW5zdGFsbGVkIHBhY2thZ2Vz
 IgogICAgZ2VuZXJhdGVfY29uZl9mcm9tX2luc3RhbGxlZCAkUEtHQ0hLX0NPTkYKZmkKCmlmIFsg
 LW4gIiRvcHRfaSIgXTt0aGVuCiAgICB2ZXJib3NlICJFbnVtZXJhdGUgUEtHRElSTElTVCBmcm9t
 IGluc3RhbGxlZCBwYWNrYWdlcyIKICAgIFBLR0RJUkxJU1Q9JChwa2dkaXJzX2Zyb21faW5zdGFs
 bGVkKQpmaQoKaWYgWyAtbiAiJG9wdF9jIiAtbyAtbiAiJG9wdF9sIiBdO3RoZW4JIyBBcHBlbmQg
 dG8gUEtHRElSTElTVCBiYXNlZCBvbiBjb25mCiAgICB2ZXJib3NlICJBcHBlbmQgdG8gUEtHRElS
 TElTVCBiYXNlZCBvbiBjb25maWcgJFBLR0NIS19DT05GIgogICAgUEtHRElSTElTVD0iJChwa2dk
 aXJzX2Zyb21fY29uZiAkUEtHQ0hLX0NPTkYgJFBLR0RJUkxJU1QpIgpmaQoKaWYgWyAtbiAiJG9w
 dF9sIiBdIDsgdGhlbgogICAgbGlzdF9wYWNrYWdlcyAkUEtHRElSTElTVAplbHNlCiAgICBjaGVj
 a19wYWNrYWdlc19pbnN0YWxsZWQgJFBLR0RJUkxJU1QKZmkKCmlmIFsgLW4gIiRNSVNNQVRDSF9U
 T0RPIiBdOyB0aGVuCiAgICBkZWxldGVfYW5kX3JlY2hlY2s9MQplbGlmIFsgLW4gIiRvcHRfdSIg
 LWEgLWYgJFBLR0NIS19VUERBVEVfQ09ORiBdIDsgdGhlbgogICAgZGVsZXRlX2FuZF9yZWNoZWNr
 PTEKZmkKCmlmIFsgLW4gIiRkZWxldGVfYW5kX3JlY2hlY2siIF07IHRoZW4KICAgIGlmIFsgLW4g
 IiRvcHRfdSIgXSA7IHRoZW4JCSAjIFNhdmUgY3VycmVudCBpbnN0YWxsZWQgbGlzdAoJaWYgWyAt
 ZiAkUEtHQ0hLX1VQREFURV9DT05GIF0gOyB0aGVuCgkgICAgbXNnICJNZXJnaW5nIGluIHByZXZp
 b3VzICRQS0dDSEtfVVBEQVRFX0NPTkYiCgkgICAgdG1wPSQoY2F0ICRQS0dDSEtfVVBEQVRFX0NP
 TkY7ZWNobyAkKHBrZ2RpcnNfZnJvbV9pbnN0YWxsZWQpfGZtdCAtMSkKCSAgICBlY2hvICR0bXAg
 fCBmbXQgLTEgfCAke1NPUlR9IC11ID4gJFBLR0NIS19VUERBVEVfQ09ORgoJICAgIHRtcD0KCWVs
 c2UKCSAgICBlY2hvICQocGtnZGlyc19mcm9tX2luc3RhbGxlZCkgfCBmbXQgLTEgPiAkUEtHQ0hL
 X1VQREFURV9DT05GCglmaQogICAgZmkKICAgIGlmIFsgLW4gIiRvcHRfciIgLW8gLW4gIiRvcHRf
 dSIgXSA7IHRoZW4KCWlmIFsgLW4gIiRNSVNNQVRDSF9UT0RPIiBdOyB0aGVuCgkgICAgZGVsZXRl
 X3BrZ3MgJE1JU01BVENIX1RPRE8KCSAgICBtc2dfcHJvZ3Jlc3MgUmVjaGVja2luZyBwYWNrYWdl
 cyBhZnRlciBkZWxldGlvbnMKCWZpCglpZiBbIC1uICIkb3B0X3UiIF07IHRoZW4KCSAgICBQS0dE
 SVJMSVNUPSIkKHBrZ2RpcnNfZnJvbV9jb25mICRQS0dDSEtfVVBEQVRFX0NPTkYgJFBLR0RJUkxJ
 U1QpIgoJZmkKCWlmIFsgLW4gIiRvcHRfdSIgLW8gLW4gIiRvcHRfYSIgXTsgdGhlbgoJICAgIGNo
 ZWNrX3BhY2thZ2VzX2luc3RhbGxlZCAkUEtHRElSTElTVCAjIE1heSBuZWVkIHRvIGFkZCBtb3Jl
 CglmaQogICAgZmkKZmkKCmlmIFsgLW4gIiRvcHRfZiIgXSA7IHRoZW4KICAgIHBrZ19mZXRjaGxp
 c3QgJE1JU1NJTkdfVE9ETwpmaQoKaWYgWyAtbiAiJE1JU1NJTkdfVE9ETyIgXSA7IHRoZW4KICAg
 IGlmIFsgLW4gIiRvcHRfYSIgLW8gLW4gIiRvcHRfdSIgXSA7IHRoZW4KCXBrZ19pbnN0YWxsbGlz
 dCBJbnN0YWxsICRNSVNTSU5HX1RPRE8KICAgIGZpCmZpCgppZiBbIC1uICIkb3B0X3UiIC1hIC16
 ICIkRkFJTF9ET05FIiAtYSAtZiAkUEtHQ0hLX1VQREFURV9DT05GIF0gOyB0aGVuCiAgICBydW5f
 Y21kICJybSAtZiAkUEtHQ0hLX1VQREFURV9DT05GIgpmaQoKWyAtbiAiJE1JU1NfRE9ORSIgXSAm
 JgkJbXNnICJNaXNzaW5nOiRNSVNTX0RPTkUiClsgLW4gIiRJTlNUQUxMX0RPTkUiIF0gJiYJbXNn
 ICJJbnN0YWxsZWQ6JElOU1RBTExfRE9ORSIKWyAtbiAiJEZBSUxfRE9ORSIgXSAmJgkJbXNnICJG
 YWlsZWQ6JEZBSUxfRE9ORSIKClsgLXogIiRGQUlMX0RPTkUiIF0K
 
 --========GMXBoundary124171135020055--
 



Home | Main Index | Thread Index | Old Index