From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Nieuwenhuizen Subject: bug#32749: package-with-explicit-inputs leaks-in additional inputs Date: Mon, 17 Sep 2018 12:03:10 +0200 Message-ID: <87tvmo4f1d.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50236) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g1qNz-0007bv-Th for bug-guix@gnu.org; Mon, 17 Sep 2018 06:04:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g1qNu-0001vJ-Tp for bug-guix@gnu.org; Mon, 17 Sep 2018 06:04:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:38343) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g1qNu-0001uP-OC for bug-guix@gnu.org; Mon, 17 Sep 2018 06:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1g1qNu-0005P6-1N for bug-guix@gnu.org; Mon, 17 Sep 2018 06:04:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49990) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g1qNO-0007HV-4F for bug-guix@gnu.org; Mon, 17 Sep 2018 06:03:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g1qNN-0000Nl-CD for bug-guix@gnu.org; Mon, 17 Sep 2018 06:03:30 -0400 List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: 32749@debbugs.gnu.org --=-=-= Content-Type: text/plain Hi! Rewriting the bootstrap on the wip-bootstrap branch I found additional inputs in packages that use `package-with-explicit-inputs', such as diffutils-boot0. I would expect diffutils-boot0 to list just one extra input in addition to gnu-make-boot0; namely the package gnu-make-boot0; however it has many more. To reproduce this I created a test file with two simple packages gnu-make-explicit-inputs, gnu-make-no-implicit-inputs. Put the attached file in gnu/packages and producing a graph for both test packages --8<---------------cut here---------------start------------->8--- 11:56:03 janneke@dundal:~/src/guix-master $ ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (@@ (gnu packages pawei) gnu-make-no-implicit-inputs))' | wc -l 14 11:56:22 janneke@dundal:~/src/guix-master $ ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (@@ (gnu packages pawei) gnu-make-explicit-inputs))' | wc -l 79 --8<---------------cut here---------------end--------------->8--- Should `package-with-explicit-inputs' behave like I think it does, i.e., should both test packages list the same dependencies, or am I missing something? --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=pawei.scm Content-Transfer-Encoding: base64 KGRlZmluZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBwYXdlaSkKICAjOnVzZS1tb2R1bGUgKGdudSBw YWNrYWdlcykKICAjOnVzZS1tb2R1bGUgKGdudSBwYWNrYWdlcyBib290c3RyYXApCiAgIzp1c2Ut bW9kdWxlIChnbnUgcGFja2FnZXMgYmFzZSkKICAjOnVzZS1tb2R1bGUgKGd1aXggcGFja2FnZXMp CiAgIzp1c2UtbW9kdWxlIChndWl4IGJ1aWxkLXN5c3RlbSBnbnUpCiAgIzp1c2UtbW9kdWxlIChn dWl4IHV0aWxzKSkKCihkZWZpbmUgKCVib290c3RyYXAtaW5wdXRzK3Rvb2xjaGFpbikKICAlYm9v dHN0cmFwLWlucHV0cykKCihkZWZpbmUgZ251LW1ha2Utbm8taW1wbGljaXQtaW5wdXRzCiAgKHBh Y2thZ2Utd2l0aC1ib290c3RyYXAtZ3VpbGUKICAgKHBhY2thZ2UgKGluaGVyaXQgZ251LW1ha2Up CiAgICAgICAgICAgIChuYW1lICJtYWtlLW5vLWltcGxpY2l0LWlucHV0cyIpCiAgICAgICAgICAg IChpbnB1dHMgKCVib290c3RyYXAtaW5wdXRzK3Rvb2xjaGFpbikpCiAgICAgICAgICAgIChuYXRp dmUtaW5wdXRzICcoKSkKICAgICAgICAgICAgKGFyZ3VtZW50cyBgKCM6Z3VpbGUgLCVib290c3Ry YXAtZ3VpbGUKICAgICAgICAgICAgICAgICAgICAgICAgICM6aW1wbGljaXQtaW5wdXRzPyAjZgog ICAgICAgICAgICAgICAgICAgICAgICAgLEAocGFja2FnZS1hcmd1bWVudHMgZGlmZnV0aWxzKSkp KSkpCgooZGVmaW5lIGdudS1tYWtlLWV4cGxpY2l0LWlucHV0cwogIChsZXQgKChwIChwYWNrYWdl LXdpdGgtZXhwbGljaXQtaW5wdXRzIGdudS1tYWtlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKCVib290c3RyYXAtaW5wdXRzK3Rvb2xjaGFpbikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmd1aWxlICVib290c3RyYXAtZ3VpbGUpKSkK ICAgIChwYWNrYWdlLXdpdGgtYm9vdHN0cmFwLWd1aWxlCiAgICAgKHBhY2thZ2UgKGluaGVyaXQg cCkKICAgICAgICAgICAgICAobmFtZSAibWFrZS1leHBsaWNpdC1pbnB1dHMiKQogICAgICAgICAg ICAgIChhcmd1bWVudHMgKHBhY2thZ2UtYXJndW1lbnRzIHApKSkpKSkK --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=make-no-implicit-inputs.dot Content-Transfer-Encoding: base64 ZGlncmFwaCAiR3VpeCBiYWciIHsKICAiL2dudS9zdG9yZS8xYXA3Nmhqa21sd2J4cGdoeGh2cHF5 MG5wd3FrbnpqbC1tYWtlLW5vLWltcGxpY2l0LWlucHV0cy00LjIuMS5kcnYiIFtsYWJlbCA9ICJt YWtlLW5vLWltcGxpY2l0LWlucHV0c0A0LjIuMSIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IEhl bHZldGljYV07CiAgIi9nbnUvc3RvcmUvMWFwNzZoamttbHdieHBnaHhodnBxeTBucHdxa256amwt bWFrZS1uby1pbXBsaWNpdC1pbnB1dHMtNC4yLjEuZHJ2IiAtPiAiL2dudS9zdG9yZS9wNHdzOXkw dmsxbDMyemg4am1pdnAwcTFoYnZsMWozZy1nbGliYy1ib290c3RyYXAtMC5kcnYiIFtjb2xvciA9 IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzFhcDc2aGprbWx3YnhwZ2h4aHZwcXkwbnB3 cWtuempsLW1ha2Utbm8taW1wbGljaXQtaW5wdXRzLTQuMi4xLmRydiIgLT4gIi9nbnUvc3RvcmUv NDI4NGJ6ZzIwbmR4MWw0c2l5ZGw2NWwzNmMwbXhtcW4tZ2NjLWJvb3RzdHJhcC0wLmRydiIgW2Nv bG9yID0gZGFya2dvbGRlbnJvZF07CiAgIi9nbnUvc3RvcmUvMWFwNzZoamttbHdieHBnaHhodnBx eTBucHdxa256amwtbWFrZS1uby1pbXBsaWNpdC1pbnB1dHMtNC4yLjEuZHJ2IiAtPiAiL2dudS9z dG9yZS8zbWpmNGhyczc4emxrNTE1MDk4YXJoZDl5aHBocWQ1NS1iaW51dGlscy1ib290c3RyYXAt MC5kcnYiIFtjb2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzFhcDc2aGprbWx3 YnhwZ2h4aHZwcXkwbnB3cWtuempsLW1ha2Utbm8taW1wbGljaXQtaW5wdXRzLTQuMi4xLmRydiIg LT4gIi9nbnUvc3RvcmUva3gyNnF4Z3ozYzBkbXJjMjFybjZyZzhjdmloYW03Y24tYm9vdHN0cmFw LWJpbmFyaWVzLTAuZHJ2IiBbY29sb3IgPSBkYXJrZ29sZGVucm9kXTsKICAiL2dudS9zdG9yZS8x YXA3Nmhqa21sd2J4cGdoeGh2cHF5MG5wd3FrbnpqbC1tYWtlLW5vLWltcGxpY2l0LWlucHV0cy00 LjIuMS5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4Y3ZpaGFtN2Nu LWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0gZGFya2dvbGRlbnJvZF07CiAgIi9n bnUvc3RvcmUvcDR3czl5MHZrMWwzMnpoOGptaXZwMHExaGJ2bDFqM2ctZ2xpYmMtYm9vdHN0cmFw LTAuZHJ2IiBbbGFiZWwgPSAiZ2xpYmMtYm9vdHN0cmFwQDAiLCBzaGFwZSA9IGJveCwgZm9udG5h bWUgPSBIZWx2ZXRpY2FdOwogICIvZ251L3N0b3JlLzQyODRiemcyMG5keDFsNHNpeWRsNjVsMzZj MG14bXFuLWdjYy1ib290c3RyYXAtMC5kcnYiIFtsYWJlbCA9ICJnY2MtYm9vdHN0cmFwQDAiLCBz aGFwZSA9IGJveCwgZm9udG5hbWUgPSBIZWx2ZXRpY2FdOwogICIvZ251L3N0b3JlLzQyODRiemcy MG5keDFsNHNpeWRsNjVsMzZjMG14bXFuLWdjYy1ib290c3RyYXAtMC5kcnYiIC0+ICIvZ251L3N0 b3JlL3A0d3M5eTB2azFsMzJ6aDhqbWl2cDBxMWhidmwxajNnLWdsaWJjLWJvb3RzdHJhcC0wLmRy diIgW2NvbG9yID0gZGFya3Zpb2xldF07CiAgIi9nbnUvc3RvcmUvM21qZjRocnM3OHpsazUxNTA5 OGFyaGQ5eWhwaHFkNTUtYmludXRpbHMtYm9vdHN0cmFwLTAuZHJ2IiBbbGFiZWwgPSAiYmludXRp bHMtYm9vdHN0cmFwQDAiLCBzaGFwZSA9IGJveCwgZm9udG5hbWUgPSBIZWx2ZXRpY2FdOwogICIv Z251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5h cmllcy0wLmRydiIgW2xhYmVsID0gImJvb3RzdHJhcC1iaW5hcmllc0AwIiwgc2hhcGUgPSBib3gs IGZvbnRuYW1lID0gSGVsdmV0aWNhXTsKCn0K --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=make-explicit-inputs.dot Content-Transfer-Encoding: base64 ZGlncmFwaCAiR3VpeCBiYWciIHsKICAiL2dudS9zdG9yZS9wN245c2poamR2eDZhNWx4aWpsaHZq OWMyNGFuNXhpdy1tYWtlLWV4cGxpY2l0LWlucHV0cy00LjIuMS5kcnYiIFtsYWJlbCA9ICJtYWtl LWV4cGxpY2l0LWlucHV0c0A0LjIuMSIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IEhlbHZldGlj YV07CiAgIi9nbnUvc3RvcmUvcDduOXNqaGpkdng2YTVseGlqbGh2ajljMjRhbjV4aXctbWFrZS1l eHBsaWNpdC1pbnB1dHMtNC4yLjEuZHJ2IiAtPiAiL2dudS9zdG9yZS80M3Y5a3JzbGptYjJ5dzB4 eDhhZDFpbmI3N3d2dzc1NC1wa2ctY29uZmlnLTAuMjkuMi5kcnYiIFtjb2xvciA9IGRhcmt2aW9s ZXRdOwogICIvZ251L3N0b3JlL3A3bjlzamhqZHZ4NmE1bHhpamxodmo5YzI0YW41eGl3LW1ha2Ut ZXhwbGljaXQtaW5wdXRzLTQuMi4xLmRydiIgLT4gIi9nbnUvc3RvcmUvcDR3czl5MHZrMWwzMnpo OGptaXZwMHExaGJ2bDFqM2ctZ2xpYmMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSBkYXJrdmlv bGV0XTsKICAiL2dudS9zdG9yZS9wN245c2poamR2eDZhNWx4aWpsaHZqOWMyNGFuNXhpdy1tYWtl LWV4cGxpY2l0LWlucHV0cy00LjIuMS5kcnYiIC0+ICIvZ251L3N0b3JlLzQyODRiemcyMG5keDFs NHNpeWRsNjVsMzZjMG14bXFuLWdjYy1ib290c3RyYXAtMC5kcnYiIFtjb2xvciA9IGRhcmt2aW9s ZXRdOwogICIvZ251L3N0b3JlL3A3bjlzamhqZHZ4NmE1bHhpamxodmo5YzI0YW41eGl3LW1ha2Ut ZXhwbGljaXQtaW5wdXRzLTQuMi4xLmRydiIgLT4gIi9nbnUvc3RvcmUvM21qZjRocnM3OHpsazUx NTA5OGFyaGQ5eWhwaHFkNTUtYmludXRpbHMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSBkYXJr dmlvbGV0XTsKICAiL2dudS9zdG9yZS9wN245c2poamR2eDZhNWx4aWpsaHZqOWMyNGFuNXhpdy1t YWtlLWV4cGxpY2l0LWlucHV0cy00LjIuMS5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2Mw ZG1yYzIxcm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0g ZGFya3Zpb2xldF07CiAgIi9nbnUvc3RvcmUvcDduOXNqaGpkdng2YTVseGlqbGh2ajljMjRhbjV4 aXctbWFrZS1leHBsaWNpdC1pbnB1dHMtNC4yLjEuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhn ejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1ib290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xv ciA9IGRhcmt2aW9sZXRdOwogICIvZ251L3N0b3JlL3A3bjlzamhqZHZ4NmE1bHhpamxodmo5YzI0 YW41eGl3LW1ha2UtZXhwbGljaXQtaW5wdXRzLTQuMi4xLmRydiIgLT4gIi9nbnUvc3RvcmUvMGlr OWNpOTI2cWRjemQwaDhjMDA1eWY5cHZybTFwMXAtZ3VpbGUtMi4wLjE0LmRydiIgW2NvbG9yID0g ZGFya3Zpb2xldF07CiAgIi9nbnUvc3RvcmUvNDN2OWtyc2xqbWIyeXcweHg4YWQxaW5iNzd3dnc3 NTQtcGtnLWNvbmZpZy0wLjI5LjIuZHJ2IiBbbGFiZWwgPSAicGtnLWNvbmZpZ0AwLjI5LjIiLCBz aGFwZSA9IGJveCwgZm9udG5hbWUgPSBIZWx2ZXRpY2FdOwogICIvZ251L3N0b3JlLzQzdjlrcnNs am1iMnl3MHh4OGFkMWluYjc3d3Z3NzU0LXBrZy1jb25maWctMC4yOS4yLmRydiIgLT4gIi9nbnUv c3RvcmUvcDR3czl5MHZrMWwzMnpoOGptaXZwMHExaGJ2bDFqM2ctZ2xpYmMtYm9vdHN0cmFwLTAu ZHJ2IiBbY29sb3IgPSBkYXJrdmlvbGV0XTsKICAiL2dudS9zdG9yZS80M3Y5a3JzbGptYjJ5dzB4 eDhhZDFpbmI3N3d2dzc1NC1wa2ctY29uZmlnLTAuMjkuMi5kcnYiIC0+ICIvZ251L3N0b3JlLzQy ODRiemcyMG5keDFsNHNpeWRsNjVsMzZjMG14bXFuLWdjYy1ib290c3RyYXAtMC5kcnYiIFtjb2xv ciA9IGRhcmt2aW9sZXRdOwogICIvZ251L3N0b3JlLzQzdjlrcnNsam1iMnl3MHh4OGFkMWluYjc3 d3Z3NzU0LXBrZy1jb25maWctMC4yOS4yLmRydiIgLT4gIi9nbnUvc3RvcmUvM21qZjRocnM3OHps azUxNTA5OGFyaGQ5eWhwaHFkNTUtYmludXRpbHMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSBk YXJrdmlvbGV0XTsKICAiL2dudS9zdG9yZS80M3Y5a3JzbGptYjJ5dzB4eDhhZDFpbmI3N3d2dzc1 NC1wa2ctY29uZmlnLTAuMjkuMi5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIx cm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0gZGFya3Zp b2xldF07CiAgIi9nbnUvc3RvcmUvNDN2OWtyc2xqbWIyeXcweHg4YWQxaW5iNzd3dnc3NTQtcGtn LWNvbmZpZy0wLjI5LjIuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJuNnJn OGN2aWhhbTdjbi1ib290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xvciA9IGRhcmt2aW9sZXRd OwogICIvZ251L3N0b3JlL3A0d3M5eTB2azFsMzJ6aDhqbWl2cDBxMWhidmwxajNnLWdsaWJjLWJv b3RzdHJhcC0wLmRydiIgW2xhYmVsID0gImdsaWJjLWJvb3RzdHJhcEAwIiwgc2hhcGUgPSBib3gs IGZvbnRuYW1lID0gSGVsdmV0aWNhXTsKICAiL2dudS9zdG9yZS80Mjg0YnpnMjBuZHgxbDRzaXlk bDY1bDM2YzBteG1xbi1nY2MtYm9vdHN0cmFwLTAuZHJ2IiBbbGFiZWwgPSAiZ2NjLWJvb3RzdHJh cEAwIiwgc2hhcGUgPSBib3gsIGZvbnRuYW1lID0gSGVsdmV0aWNhXTsKICAiL2dudS9zdG9yZS80 Mjg0YnpnMjBuZHgxbDRzaXlkbDY1bDM2YzBteG1xbi1nY2MtYm9vdHN0cmFwLTAuZHJ2IiAtPiAi L2dudS9zdG9yZS9wNHdzOXkwdmsxbDMyemg4am1pdnAwcTFoYnZsMWozZy1nbGliYy1ib290c3Ry YXAtMC5kcnYiIFtjb2xvciA9IGRhcmt2aW9sZXRdOwogICIvZ251L3N0b3JlLzNtamY0aHJzNzh6 bGs1MTUwOThhcmhkOXlocGhxZDU1LWJpbnV0aWxzLWJvb3RzdHJhcC0wLmRydiIgW2xhYmVsID0g ImJpbnV0aWxzLWJvb3RzdHJhcEAwIiwgc2hhcGUgPSBib3gsIGZvbnRuYW1lID0gSGVsdmV0aWNh XTsKICAiL2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1ib290c3Ry YXAtYmluYXJpZXMtMC5kcnYiIFtsYWJlbCA9ICJib290c3RyYXAtYmluYXJpZXNAMCIsIHNoYXBl ID0gYm94LCBmb250bmFtZSA9IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUvMGlrOWNpOTI2cWRj emQwaDhjMDA1eWY5cHZybTFwMXAtZ3VpbGUtMi4wLjE0LmRydiIgW2xhYmVsID0gImd1aWxlQDIu MC4xNCIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUv MGlrOWNpOTI2cWRjemQwaDhjMDA1eWY5cHZybTFwMXAtZ3VpbGUtMi4wLjE0LmRydiIgLT4gIi9n bnUvc3RvcmUvNDN2OWtyc2xqbWIyeXcweHg4YWQxaW5iNzd3dnc3NTQtcGtnLWNvbmZpZy0wLjI5 LjIuZHJ2IiBbY29sb3IgPSBkYXJrZ29sZGVucm9kXTsKICAiL2dudS9zdG9yZS8waWs5Y2k5MjZx ZGN6ZDBoOGMwMDV5ZjlwdnJtMXAxcC1ndWlsZS0yLjAuMTQuZHJ2IiAtPiAiL2dudS9zdG9yZS9w NHdzOXkwdmsxbDMyemg4am1pdnAwcTFoYnZsMWozZy1nbGliYy1ib290c3RyYXAtMC5kcnYiIFtj b2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzBpazljaTkyNnFkY3pkMGg4YzAw NXlmOXB2cm0xcDFwLWd1aWxlLTIuMC4xNC5kcnYiIC0+ICIvZ251L3N0b3JlLzQyODRiemcyMG5k eDFsNHNpeWRsNjVsMzZjMG14bXFuLWdjYy1ib290c3RyYXAtMC5kcnYiIFtjb2xvciA9IGRhcmtn b2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzBpazljaTkyNnFkY3pkMGg4YzAwNXlmOXB2cm0xcDFw LWd1aWxlLTIuMC4xNC5kcnYiIC0+ICIvZ251L3N0b3JlLzNtamY0aHJzNzh6bGs1MTUwOThhcmhk OXlocGhxZDU1LWJpbnV0aWxzLWJvb3RzdHJhcC0wLmRydiIgW2NvbG9yID0gZGFya2dvbGRlbnJv ZF07CiAgIi9nbnUvc3RvcmUvMGlrOWNpOTI2cWRjemQwaDhjMDA1eWY5cHZybTFwMXAtZ3VpbGUt Mi4wLjE0LmRydiIgLT4gIi9nbnUvc3RvcmUva3gyNnF4Z3ozYzBkbXJjMjFybjZyZzhjdmloYW03 Y24tYm9vdHN0cmFwLWJpbmFyaWVzLTAuZHJ2IiBbY29sb3IgPSBkYXJrZ29sZGVucm9kXTsKICAi L2dudS9zdG9yZS8waWs5Y2k5MjZxZGN6ZDBoOGMwMDV5ZjlwdnJtMXAxcC1ndWlsZS0yLjAuMTQu ZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1ib290 c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0 b3JlLzBpazljaTkyNnFkY3pkMGg4YzAwNXlmOXB2cm0xcDFwLWd1aWxlLTIuMC4xNC5kcnYiIC0+ ICIvZ251L3N0b3JlL3NhaDF4MGFpOTV2c2dhd3l5N3EyNzQwa2pnZDBqZDF2LWxpYmZmaS0zLjIu MS5kcnYiIFtjb2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzBpazljaTkyNnFk Y3pkMGg4YzAwNXlmOXB2cm0xcDFwLWd1aWxlLTIuMC4xNC5kcnYiIC0+ICIvZ251L3N0b3JlLzlm OTJpNjBucG1tMjc0bnJneDZ3d2FrN2g5MjRpaTZqLWxpYnVuaXN0cmluZy0wLjkuOS5kcnYiIFtj b2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzBpazljaTkyNnFkY3pkMGg4YzAw NXlmOXB2cm0xcDFwLWd1aWxlLTIuMC4xNC5kcnYiIC0+ICIvZ251L3N0b3JlLzZmMjFkbHc2ZDNx aDd3bHB6aGxraHNoOHZmOTJyMGRpLWxpYmx0ZGwtMi40LjYuZHJ2IiBbY29sb3IgPSBkYXJrZ29s ZGVucm9kXTsKICAiL2dudS9zdG9yZS8waWs5Y2k5MjZxZGN6ZDBoOGMwMDV5ZjlwdnJtMXAxcC1n dWlsZS0yLjAuMTQuZHJ2IiAtPiAiL2dudS9zdG9yZS82NDVpeTA2M2YxNWtnMGExMnprcHh2aHZ6 anhjYjh4Yy1saWJnYy03LjYuNC5kcnYiIFtjb2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251 L3N0b3JlLzBpazljaTkyNnFkY3pkMGg4YzAwNXlmOXB2cm0xcDFwLWd1aWxlLTIuMC4xNC5kcnYi IC0+ICIvZ251L3N0b3JlLzM0djN6MWw1MXpid20wOGw1ZjV6cG41Mm56d3Y1NXhjLWdtcC02LjEu Mi5kcnYiIFtjb2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlL3NhaDF4MGFpOTV2 c2dhd3l5N3EyNzQwa2pnZDBqZDF2LWxpYmZmaS0zLjIuMS5kcnYiIFtsYWJlbCA9ICJsaWJmZmlA My4yLjEiLCBzaGFwZSA9IGJveCwgZm9udG5hbWUgPSBIZWx2ZXRpY2FdOwogICIvZ251L3N0b3Jl L3NhaDF4MGFpOTV2c2dhd3l5N3EyNzQwa2pnZDBqZDF2LWxpYmZmaS0zLjIuMS5kcnYiIC0+ICIv Z251L3N0b3JlL3A0d3M5eTB2azFsMzJ6aDhqbWl2cDBxMWhidmwxajNnLWdsaWJjLWJvb3RzdHJh cC0wLmRydiIgW2NvbG9yID0gZGFya2dvbGRlbnJvZF07CiAgIi9nbnUvc3RvcmUvc2FoMXgwYWk5 NXZzZ2F3eXk3cTI3NDBramdkMGpkMXYtbGliZmZpLTMuMi4xLmRydiIgLT4gIi9nbnUvc3RvcmUv NDI4NGJ6ZzIwbmR4MWw0c2l5ZGw2NWwzNmMwbXhtcW4tZ2NjLWJvb3RzdHJhcC0wLmRydiIgW2Nv bG9yID0gZGFya2dvbGRlbnJvZF07CiAgIi9nbnUvc3RvcmUvc2FoMXgwYWk5NXZzZ2F3eXk3cTI3 NDBramdkMGpkMXYtbGliZmZpLTMuMi4xLmRydiIgLT4gIi9nbnUvc3RvcmUvM21qZjRocnM3OHps azUxNTA5OGFyaGQ5eWhwaHFkNTUtYmludXRpbHMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSBk YXJrZ29sZGVucm9kXTsKICAiL2dudS9zdG9yZS9zYWgxeDBhaTk1dnNnYXd5eTdxMjc0MGtqZ2Qw amQxdi1saWJmZmktMy4yLjEuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJu NnJnOGN2aWhhbTdjbi1ib290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xvciA9IGRhcmtnb2xk ZW5yb2RdOwogICIvZ251L3N0b3JlL3NhaDF4MGFpOTV2c2dhd3l5N3EyNzQwa2pnZDBqZDF2LWxp YmZmaS0zLjIuMS5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4Y3Zp aGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0gZGFya2dvbGRlbnJvZF07 CiAgIi9nbnUvc3RvcmUvOWY5Mmk2MG5wbW0yNzRucmd4Nnd3YWs3aDkyNGlpNmotbGlidW5pc3Ry aW5nLTAuOS45LmRydiIgW2xhYmVsID0gImxpYnVuaXN0cmluZ0AwLjkuOSIsIHNoYXBlID0gYm94 LCBmb250bmFtZSA9IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUvOWY5Mmk2MG5wbW0yNzRucmd4 Nnd3YWs3aDkyNGlpNmotbGlidW5pc3RyaW5nLTAuOS45LmRydiIgLT4gIi9nbnUvc3RvcmUvcDR3 czl5MHZrMWwzMnpoOGptaXZwMHExaGJ2bDFqM2ctZ2xpYmMtYm9vdHN0cmFwLTAuZHJ2IiBbY29s b3IgPSBjeWFuM107CiAgIi9nbnUvc3RvcmUvOWY5Mmk2MG5wbW0yNzRucmd4Nnd3YWs3aDkyNGlp NmotbGlidW5pc3RyaW5nLTAuOS45LmRydiIgLT4gIi9nbnUvc3RvcmUvNDI4NGJ6ZzIwbmR4MWw0 c2l5ZGw2NWwzNmMwbXhtcW4tZ2NjLWJvb3RzdHJhcC0wLmRydiIgW2NvbG9yID0gY3lhbjNdOwog ICIvZ251L3N0b3JlLzlmOTJpNjBucG1tMjc0bnJneDZ3d2FrN2g5MjRpaTZqLWxpYnVuaXN0cmlu Zy0wLjkuOS5kcnYiIC0+ICIvZ251L3N0b3JlLzNtamY0aHJzNzh6bGs1MTUwOThhcmhkOXlocGhx ZDU1LWJpbnV0aWxzLWJvb3RzdHJhcC0wLmRydiIgW2NvbG9yID0gY3lhbjNdOwogICIvZ251L3N0 b3JlLzlmOTJpNjBucG1tMjc0bnJneDZ3d2FrN2g5MjRpaTZqLWxpYnVuaXN0cmluZy0wLjkuOS5k cnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4Y3ZpaGFtN2NuLWJvb3Rz dHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0gY3lhbjNdOwogICIvZ251L3N0b3JlLzlmOTJp NjBucG1tMjc0bnJneDZ3d2FrN2g5MjRpaTZqLWxpYnVuaXN0cmluZy0wLjkuOS5kcnYiIC0+ICIv Z251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5h cmllcy0wLmRydiIgW2NvbG9yID0gY3lhbjNdOwogICIvZ251L3N0b3JlLzZmMjFkbHc2ZDNxaDd3 bHB6aGxraHNoOHZmOTJyMGRpLWxpYmx0ZGwtMi40LjYuZHJ2IiBbbGFiZWwgPSAibGlibHRkbEAy LjQuNiIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUv NmYyMWRsdzZkM3FoN3dscHpobGtoc2g4dmY5MnIwZGktbGlibHRkbC0yLjQuNi5kcnYiIC0+ICIv Z251L3N0b3JlL3A0d3M5eTB2azFsMzJ6aDhqbWl2cDBxMWhidmwxajNnLWdsaWJjLWJvb3RzdHJh cC0wLmRydiIgW2NvbG9yID0gcmVkXTsKICAiL2dudS9zdG9yZS82ZjIxZGx3NmQzcWg3d2xwemhs a2hzaDh2ZjkycjBkaS1saWJsdGRsLTIuNC42LmRydiIgLT4gIi9nbnUvc3RvcmUvNDI4NGJ6ZzIw bmR4MWw0c2l5ZGw2NWwzNmMwbXhtcW4tZ2NjLWJvb3RzdHJhcC0wLmRydiIgW2NvbG9yID0gcmVk XTsKICAiL2dudS9zdG9yZS82ZjIxZGx3NmQzcWg3d2xwemhsa2hzaDh2ZjkycjBkaS1saWJsdGRs LTIuNC42LmRydiIgLT4gIi9nbnUvc3RvcmUvM21qZjRocnM3OHpsazUxNTA5OGFyaGQ5eWhwaHFk NTUtYmludXRpbHMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSByZWRdOwogICIvZ251L3N0b3Jl LzZmMjFkbHc2ZDNxaDd3bHB6aGxraHNoOHZmOTJyMGRpLWxpYmx0ZGwtMi40LjYuZHJ2IiAtPiAi L2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1ib290c3RyYXAtYmlu YXJpZXMtMC5kcnYiIFtjb2xvciA9IHJlZF07CiAgIi9nbnUvc3RvcmUvNmYyMWRsdzZkM3FoN3ds cHpobGtoc2g4dmY5MnIwZGktbGlibHRkbC0yLjQuNi5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZx eGd6M2MwZG1yYzIxcm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2Nv bG9yID0gcmVkXTsKICAiL2dudS9zdG9yZS82NDVpeTA2M2YxNWtnMGExMnprcHh2aHZ6anhjYjh4 Yy1saWJnYy03LjYuNC5kcnYiIFtsYWJlbCA9ICJsaWJnY0A3LjYuNCIsIHNoYXBlID0gYm94LCBm b250bmFtZSA9IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUvNjQ1aXkwNjNmMTVrZzBhMTJ6a3B4 dmh2emp4Y2I4eGMtbGliZ2MtNy42LjQuZHJ2IiAtPiAiL2dudS9zdG9yZS80M3Y5a3JzbGptYjJ5 dzB4eDhhZDFpbmI3N3d2dzc1NC1wa2ctY29uZmlnLTAuMjkuMi5kcnYiIFtjb2xvciA9IGRhcmtn b2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzY0NWl5MDYzZjE1a2cwYTEyemtweHZodnpqeGNiOHhj LWxpYmdjLTcuNi40LmRydiIgLT4gIi9nbnUvc3RvcmUvcDR3czl5MHZrMWwzMnpoOGptaXZwMHEx aGJ2bDFqM2ctZ2xpYmMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSBkYXJrZ29sZGVucm9kXTsK ICAiL2dudS9zdG9yZS82NDVpeTA2M2YxNWtnMGExMnprcHh2aHZ6anhjYjh4Yy1saWJnYy03LjYu NC5kcnYiIC0+ICIvZ251L3N0b3JlLzQyODRiemcyMG5keDFsNHNpeWRsNjVsMzZjMG14bXFuLWdj Yy1ib290c3RyYXAtMC5kcnYiIFtjb2xvciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3Jl LzY0NWl5MDYzZjE1a2cwYTEyemtweHZodnpqeGNiOHhjLWxpYmdjLTcuNi40LmRydiIgLT4gIi9n bnUvc3RvcmUvM21qZjRocnM3OHpsazUxNTA5OGFyaGQ5eWhwaHFkNTUtYmludXRpbHMtYm9vdHN0 cmFwLTAuZHJ2IiBbY29sb3IgPSBkYXJrZ29sZGVucm9kXTsKICAiL2dudS9zdG9yZS82NDVpeTA2 M2YxNWtnMGExMnprcHh2aHZ6anhjYjh4Yy1saWJnYy03LjYuNC5kcnYiIC0+ICIvZ251L3N0b3Jl L2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRy diIgW2NvbG9yID0gZGFya2dvbGRlbnJvZF07CiAgIi9nbnUvc3RvcmUvNjQ1aXkwNjNmMTVrZzBh MTJ6a3B4dmh2emp4Y2I4eGMtbGliZ2MtNy42LjQuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhn ejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1ib290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xv ciA9IGRhcmtnb2xkZW5yb2RdOwogICIvZ251L3N0b3JlLzY0NWl5MDYzZjE1a2cwYTEyemtweHZo dnpqeGNiOHhjLWxpYmdjLTcuNi40LmRydiIgLT4gIi9nbnUvc3RvcmUvdjhhbGRiejlmdzI1cGJi NWwwaWlwZzA3czZsODN5YmItbGliYXRvbWljLW9wcy03LjYuNC5kcnYiIFtjb2xvciA9IGRhcmtn b2xkZW5yb2RdOwogICIvZ251L3N0b3JlL3Y4YWxkYno5ZncyNXBiYjVsMGlpcGcwN3M2bDgzeWJi LWxpYmF0b21pYy1vcHMtNy42LjQuZHJ2IiBbbGFiZWwgPSAibGliYXRvbWljLW9wc0A3LjYuNCIs IHNoYXBlID0gYm94LCBmb250bmFtZSA9IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUvdjhhbGRi ejlmdzI1cGJiNWwwaWlwZzA3czZsODN5YmItbGliYXRvbWljLW9wcy03LjYuNC5kcnYiIC0+ICIv Z251L3N0b3JlL3A0d3M5eTB2azFsMzJ6aDhqbWl2cDBxMWhidmwxajNnLWdsaWJjLWJvb3RzdHJh cC0wLmRydiIgW2NvbG9yID0gYmx1ZV07CiAgIi9nbnUvc3RvcmUvdjhhbGRiejlmdzI1cGJiNWww aWlwZzA3czZsODN5YmItbGliYXRvbWljLW9wcy03LjYuNC5kcnYiIC0+ICIvZ251L3N0b3JlLzQy ODRiemcyMG5keDFsNHNpeWRsNjVsMzZjMG14bXFuLWdjYy1ib290c3RyYXAtMC5kcnYiIFtjb2xv ciA9IGJsdWVdOwogICIvZ251L3N0b3JlL3Y4YWxkYno5ZncyNXBiYjVsMGlpcGcwN3M2bDgzeWJi LWxpYmF0b21pYy1vcHMtNy42LjQuZHJ2IiAtPiAiL2dudS9zdG9yZS8zbWpmNGhyczc4emxrNTE1 MDk4YXJoZDl5aHBocWQ1NS1iaW51dGlscy1ib290c3RyYXAtMC5kcnYiIFtjb2xvciA9IGJsdWVd OwogICIvZ251L3N0b3JlL3Y4YWxkYno5ZncyNXBiYjVsMGlpcGcwN3M2bDgzeWJiLWxpYmF0b21p Yy1vcHMtNy42LjQuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJuNnJnOGN2 aWhhbTdjbi1ib290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xvciA9IGJsdWVdOwogICIvZ251 L3N0b3JlL3Y4YWxkYno5ZncyNXBiYjVsMGlpcGcwN3M2bDgzeWJiLWxpYmF0b21pYy1vcHMtNy42 LjQuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2cXhnejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1i b290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtjb2xvciA9IGJsdWVdOwogICIvZ251L3N0b3JlLzM0 djN6MWw1MXpid20wOGw1ZjV6cG41Mm56d3Y1NXhjLWdtcC02LjEuMi5kcnYiIFtsYWJlbCA9ICJn bXBANi4xLjIiLCBzaGFwZSA9IGJveCwgZm9udG5hbWUgPSBIZWx2ZXRpY2FdOwogICIvZ251L3N0 b3JlLzM0djN6MWw1MXpid20wOGw1ZjV6cG41Mm56d3Y1NXhjLWdtcC02LjEuMi5kcnYiIC0+ICIv Z251L3N0b3JlL3J2MXI5cnBra2p2bm55djBmNTNrYWMzcHI2YXpybGQwLW00LTEuNC4xOC5kcnYi IFtjb2xvciA9IHBlYWNocHVmZjRdOwogICIvZ251L3N0b3JlLzM0djN6MWw1MXpid20wOGw1ZjV6 cG41Mm56d3Y1NXhjLWdtcC02LjEuMi5kcnYiIC0+ICIvZ251L3N0b3JlL3A0d3M5eTB2azFsMzJ6 aDhqbWl2cDBxMWhidmwxajNnLWdsaWJjLWJvb3RzdHJhcC0wLmRydiIgW2NvbG9yID0gcGVhY2hw dWZmNF07CiAgIi9nbnUvc3RvcmUvMzR2M3oxbDUxemJ3bTA4bDVmNXpwbjUybnp3djU1eGMtZ21w LTYuMS4yLmRydiIgLT4gIi9nbnUvc3RvcmUvNDI4NGJ6ZzIwbmR4MWw0c2l5ZGw2NWwzNmMwbXht cW4tZ2NjLWJvb3RzdHJhcC0wLmRydiIgW2NvbG9yID0gcGVhY2hwdWZmNF07CiAgIi9nbnUvc3Rv cmUvMzR2M3oxbDUxemJ3bTA4bDVmNXpwbjUybnp3djU1eGMtZ21wLTYuMS4yLmRydiIgLT4gIi9n bnUvc3RvcmUvM21qZjRocnM3OHpsazUxNTA5OGFyaGQ5eWhwaHFkNTUtYmludXRpbHMtYm9vdHN0 cmFwLTAuZHJ2IiBbY29sb3IgPSBwZWFjaHB1ZmY0XTsKICAiL2dudS9zdG9yZS8zNHYzejFsNTF6 YndtMDhsNWY1enBuNTJuend2NTV4Yy1nbXAtNi4xLjIuZHJ2IiAtPiAiL2dudS9zdG9yZS9reDI2 cXhnejNjMGRtcmMyMXJuNnJnOGN2aWhhbTdjbi1ib290c3RyYXAtYmluYXJpZXMtMC5kcnYiIFtj b2xvciA9IHBlYWNocHVmZjRdOwogICIvZ251L3N0b3JlLzM0djN6MWw1MXpid20wOGw1ZjV6cG41 Mm56d3Y1NXhjLWdtcC02LjEuMi5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIx cm42cmc4Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0gcGVhY2hw dWZmNF07CiAgIi9nbnUvc3RvcmUvcnYxcjlycGtranZubnl2MGY1M2thYzNwcjZhenJsZDAtbTQt MS40LjE4LmRydiIgW2xhYmVsID0gIm00QDEuNC4xOCIsIHNoYXBlID0gYm94LCBmb250bmFtZSA9 IEhlbHZldGljYV07CiAgIi9nbnUvc3RvcmUvcnYxcjlycGtranZubnl2MGY1M2thYzNwcjZhenJs ZDAtbTQtMS40LjE4LmRydiIgLT4gIi9nbnUvc3RvcmUvcDR3czl5MHZrMWwzMnpoOGptaXZwMHEx aGJ2bDFqM2ctZ2xpYmMtYm9vdHN0cmFwLTAuZHJ2IiBbY29sb3IgPSBtYWdlbnRhXTsKICAiL2du dS9zdG9yZS9ydjFyOXJwa2tqdm5ueXYwZjUza2FjM3ByNmF6cmxkMC1tNC0xLjQuMTguZHJ2IiAt PiAiL2dudS9zdG9yZS80Mjg0YnpnMjBuZHgxbDRzaXlkbDY1bDM2YzBteG1xbi1nY2MtYm9vdHN0 cmFwLTAuZHJ2IiBbY29sb3IgPSBtYWdlbnRhXTsKICAiL2dudS9zdG9yZS9ydjFyOXJwa2tqdm5u eXYwZjUza2FjM3ByNmF6cmxkMC1tNC0xLjQuMTguZHJ2IiAtPiAiL2dudS9zdG9yZS8zbWpmNGhy czc4emxrNTE1MDk4YXJoZDl5aHBocWQ1NS1iaW51dGlscy1ib290c3RyYXAtMC5kcnYiIFtjb2xv ciA9IG1hZ2VudGFdOwogICIvZ251L3N0b3JlL3J2MXI5cnBra2p2bm55djBmNTNrYWMzcHI2YXpy bGQwLW00LTEuNC4xOC5kcnYiIC0+ICIvZ251L3N0b3JlL2t4MjZxeGd6M2MwZG1yYzIxcm42cmc4 Y3ZpaGFtN2NuLWJvb3RzdHJhcC1iaW5hcmllcy0wLmRydiIgW2NvbG9yID0gbWFnZW50YV07CiAg Ii9nbnUvc3RvcmUvcnYxcjlycGtranZubnl2MGY1M2thYzNwcjZhenJsZDAtbTQtMS40LjE4LmRy diIgLT4gIi9nbnUvc3RvcmUva3gyNnF4Z3ozYzBkbXJjMjFybjZyZzhjdmloYW03Y24tYm9vdHN0 cmFwLWJpbmFyaWVzLTAuZHJ2IiBbY29sb3IgPSBtYWdlbnRhXTsKCn0K --=-=-=--