From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <389581F1.FC558D26@ep-ag.com> Date: Mon, 31 Jan 2000 13:37:05 +0100 From: Klaus Strebel MIME-Version: 1.0 Subject: [linux-lvm] Reduced dependecies for /root on lvm Content-Type: multipart/mixed; boundary="------------984CA6EEBDBD372858B13362" Sender: owner-linux-lvm Errors-To: owner-linux-lvm List-Id: To: linux-lvm@msede.com This is a multi-part message in MIME format. --------------984CA6EEBDBD372858B13362 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi all, i found, that the vgscan and vgchange commands, needed for activation of volumes, depend on shared libc and ld-loader in the initrd. Even if these two are linked static, there remains a dependecie, due to a system() call of the 'rm -rf' command. I added a little routine to do this task to liblvm, removed the system(rm...) calls and changed the tools/Makefile to link vgscan.static and vgchange.static. I did'n change lvmcreate_initrd 'cause i still do this by hand (sorry ;-)). It works for me, my initrd is much smaller now (stripped the executables ;-)), there are less pof's (point-of-failure) when trying to install with root on a lv. Comments and bugreports are welcome. Ciao Klaus -- Klaus Strebel stb@ep-ag.com EIGNER + PARTNER AG - The Engineering Warehouse Company - ----------------------------------------------------------------------- --------------984CA6EEBDBD372858B13362 Content-Type: application/octet-stream; name="lvm_tools.0.8.ks.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="lvm_tools.0.8.ks.patch" ZGlmZiAtdXJOIDAuOC1wcmUwMi4xMC4xOTk5L3Rvb2xzL01ha2VmaWxlIDAuOC1wcmUua3Mv dG9vbHMvTWFrZWZpbGUKLS0tIDAuOC1wcmUwMi4xMC4xOTk5L3Rvb2xzL01ha2VmaWxlCVNh dCBPY3QgIDIgMTI6NTk6NDEgMTk5OQorKysgMC44LXByZS5rcy90b29scy9NYWtlZmlsZQlN b24gSmFuIDMxIDEyOjQ3OjU1IDIwMDAKQEAgLTI5LDE0ICsyOSwxNCBAQAogIwogIyB1bmNv bW1lbnQgbmV4dCBsaW5lIGFuZCBjb21tZW50IG91dCBYTElOS0VSCiAjIGlmIHlvdSBsaWtl IGJpbmRpbmcgd2l0aCBzdGF0aWMgTFZNIGxpYnJhcnkKLSMjIExJQlMgPSAkKFRPUCkvdG9v bHMvbGliL2xpYmx2bS5hCitTVEFUTElCUyA9ICQoVE9QKS90b29scy9saWIvbGlibHZtLmEK IFhMSU5LRVIgPSAtWGxpbmtlciAtcnBhdGggJChUT1ApL3Rvb2xzL2xpYiAtWGxpbmtlciAt cnBhdGggL2xpYiAtWGxpbmtlciAtcnBhdGggL3Vzci9saWIgLWxsdm0KIAogaW5jbHVkZSAu Li9tYWtlLnRtcGwKIGluY2x1ZGUgdG9vbHNfYW5kX2xpYi5tYWtlLnRtcGwKIAogTERGTEFH UyA9ICQoTElCUykgLUwkKFRPUCkvdG9vbHMvbGliICQoWExJTktFUikKLUFMTCA9ICQoQUxM X1NPVVJDRVM6LmM9KQorQUxMID0gJChBTExfU09VUkNFUzouYz0pIHZnc2Nhbi5zdGF0aWMg dmdjaGFuZ2Uuc3RhdGljCiBBTExfUk0gPSAkKEFMTCkgJChBTExfT0JKRUNUUykKIEFMTF9T Q1JJUFRTID0gbHZtY3JlYXRlX2luaXRyZAogCkBAIC00NCwzNCArNDQsNDAgQEAKIAogJChB TExfT0JKRUNUUyk6CU1ha2VmaWxlIGxpYi9saWJsdm0uaCBsdm1fdXNlci5oCiAKK3Znc2Nh bi5zdGF0aWM6IHZnc2Nhbi5vICQoU1RBVExJQlMpCisJCSQoQ0MpIC1zdGF0aWMgJChMREZM QUdTKSAtbyAkQCB2Z3NjYW4ubyAkKFNUQVRMSUJTKQorIAordmdjaGFuZ2Uuc3RhdGljOiB2 Z2NoYW5nZS5vICQoU1RBVExJQlMpCisJCSQoQ0MpIC1zdGF0aWMgJChMREZMQUdTKSAtbyAk QCB2Z2NoYW5nZS5vICQoU1RBVExJQlMpCisgCiBhbGxfdGhpczoJJChBTExfT0JKRUNUUykg JChBTEwpICQoQUxMX1NPVVJDRVMpICQoQUxMX0hFQURFUlMpICQoT1RIRVJfREVQKSAkKExJ QlMpCiAJCUBlY2hvICIiCiAJCUBlY2hvICJEb25lIFRvb2xzIHBhcnRzIgogCQlAZWNobyAi IgogCiAKLXN0cmlwOgkJJChBTExfVEFSR0VUUykKK3N0cmlwOgkJJChBTExfVEFSR0VUUykg dmdzY2FuLnN0YXRpYyB2Z2NoYW5nZS5zdGF0aWMgCiAJQGVjaG8KIAlAZWNobyAiU3RyaXBw aW5nIGFsbCBleGVjdXRhYmxlcy4uLiIKIAlAZWNobwotCUBzdHJpcCAkKEFMTF9UQVJHRVRT KSA+L2Rldi9udWxsIDI+JjEKKwlAc3RyaXAgJChBTExfVEFSR0VUUykgdmdzY2FuLnN0YXRp YyB2Z2NoYW5nZS5zdGF0aWMgPi9kZXYvbnVsbCAyPiYxCiAKIGxpc3Q6CQkkKEFMTF9UQVJH RVRTKQogCUBscyAtbCAkKEFMTF9UQVJHRVRTKQogCiBsOglsaXN0CiAKLWluc3RhbGwtYmlu OgkkKEFMTF9UQVJHRVRTKSAkKEFMTF9TQ1JJUFRTKQotCUBlY2hvICIqKiogSW5zdGFsbGlu ZyAkKEFMTF9UQVJHRVRTKSAkKEFMTF9TQ1JJUFRTKSBpbiAkKEJJTkRJUikgKioqIgotCUBm b3IgZiBpbiAkKEFMTF9UQVJHRVRTKSAkKEFMTF9TQ1JJUFRTKTsgXAoraW5zdGFsbC1iaW46 CSQoQUxMX1RBUkdFVFMpICQoQUxMX1NDUklQVFMpIHZnc2Nhbi5zdGF0aWMgdmdjaGFuZ2Uu c3RhdGljIAorCUBlY2hvICIqKiogSW5zdGFsbGluZyAkKEFMTF9UQVJHRVRTKSAkKEFMTF9T Q1JJUFRTKSB2Z3NjYW4uc3RhdGljIHZnY2hhbmdlLnN0YXRpYyBpbiAkKEJJTkRJUikgKioq IgorCUBmb3IgZiBpbiAkKEFMTF9UQVJHRVRTKSAkKEFMTF9TQ1JJUFRTKSB2Z3NjYW4uc3Rh dGljIHZnY2hhbmdlLnN0YXRpYzsgXAogCWRvIFwKICAgCSAgIHJtIC1mICQoQklORElSKS8k JGY7IFwKIAkgICBpbnN0YWxsIC1vIHJvb3QgLWcgcm9vdCAtbSA1NTUgLXMgJCRmICQoQklO RElSKS8kJGY7IFwKIAlkb25lCiAKLXJlbW92ZS1iaW46CSQoQUxMX1RBUkdFVFMpICQoQUxM X1NDUklQVFMpCi0JQGVjaG8gIioqKiBSZW1vdmluZyAkKEFMTF9UQVJHRVRTKSAkKEFMTF9T Q1JJUFRTKSBmcm9tICQoQklORElSKSAqKioiCi0JQGZvciBmIGluICQoQUxMX1RBUkdFVFMp ICQoQUxMX1NDUklQVFMpOyBcCityZW1vdmUtYmluOgkkKEFMTF9UQVJHRVRTKSAkKEFMTF9T Q1JJUFRTKSB2Z3NjYW4uc3RhdGljIHZnY2hhbmdlLnN0YXRpYworCUBlY2hvICIqKiogUmVt b3ZpbmcgJChBTExfVEFSR0VUUykgJChBTExfU0NSSVBUUykgdmdzY2FuLnN0YXRpYyB2Z2No YW5nZS5zdGF0aWMgZnJvbSAkKEJJTkRJUikgKioqIgorCUBmb3IgZiBpbiAkKEFMTF9UQVJH RVRTKSAkKEFMTF9TQ1JJUFRTKSB2Z3NjYW4uc3RhdGljIHZnY2hhbmdlLnN0YXRpYzsgXAog CWRvIFwKIAkgICBybSAtZiAkKEJJTkRJUikvJCRmOyBcCiAJZG9uZQpkaWZmIC11ck4gMC44 LXByZTAyLjEwLjE5OTkvdG9vbHMvbGliL2xpYmx2bS5oIDAuOC1wcmUua3MvdG9vbHMvbGli L2xpYmx2bS5oCi0tLSAwLjgtcHJlMDIuMTAuMTk5OS90b29scy9saWIvbGlibHZtLmgJU2F0 IE9jdCAgMiAxMjo1OTo0MSAxOTk5CisrKyAwLjgtcHJlLmtzL3Rvb2xzL2xpYi9saWJsdm0u aAlNb24gSmFuIDMxIDEzOjA3OjQ2IDIwMDAKQEAgLTQyMSw3ICs0MjEsNyBAQAogaW50ICBs dm1fdGFiX3ZnX2NoZWNrX2V4aXN0ICggY2hhciAqLCB2Z190ICoqKTsKIGludCAgbHZtX3Rh Yl9nZXRfZnJlZV9ibGtfZGV2ICgga2Rldl90ICoqKTsKIGNoYXIgKipsdm1fdGFiX3ZnX2No ZWNrX2V4aXN0X2FsbF92ZyAoIHZvaWQpOwotCitpbnQgIGx2bV9ybV9yZiAoY2hhciAqKTsK IAogLyogcmV0dXJuIGNvZGVzICovCiAjZGVmaW5lIExWTV9WR19DRkdCQUNLVVBfTk9fRElG RiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAKZGlmZiAt dXJOIDAuOC1wcmUwMi4xMC4xOTk5L3Rvb2xzL2xpYi9sdm1fcm1fcmYuYyAwLjgtcHJlLmtz L3Rvb2xzL2xpYi9sdm1fcm1fcmYuYwotLS0gMC44LXByZTAyLjEwLjE5OTkvdG9vbHMvbGli L2x2bV9ybV9yZi5jCVRodSBKYW4gIDEgMDE6MDA6MDAgMTk3MAorKysgMC44LXByZS5rcy90 b29scy9saWIvbHZtX3JtX3JmLmMJTW9uIEphbiAzMSAxMzowNzoyOSAyMDAwCkBAIC0wLDAg KzEsNTkgQEAKKy8qCisgKiB0b29scy9saWIvbHZtX3JtX3JmLmMKKyAqCisgKiBDb3B5cmln aHQgKEMpICAxOTk4ICBIZWlueiBNYXVlbHNoYWdlbiwgR2VybWFueQorICoKKyAqIEF1Z3Vz dCAxOTk4CisgKgorICoKKyAqIFRoaXMgTFZNIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg KiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCisgKgorICogVGhpcyBMVk0gbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRo aXMgTFZNIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUKKyAqIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9u LAorICogTUEgMDIxMTEtMTMwNywgVVNBCisgKgorICovCisKKyNpbmNsdWRlIDxsaWJsdm0u aD4KKworI2luY2x1ZGUgPGRpcmVudC5oPgorCitpbnQgbHZtX3JtX3JmIChjaGFyICpkaXJu YW1lKQoreworCURJUiAqZGlyX3BvaW50ZXI7CisJc3RydWN0IGRpcmVudCAqZHA7CisJaW50 IG15X2VycjsKKworCWlmIChkaXJuYW1lICE9IE5VTEwgJiYgc3RybGVuKGRpcm5hbWUpID4g MCkKKwl7CQorCQlteV9lcnI9dW5saW5rKGRpcm5hbWUpOworCQlpZiAobXlfZXJyID09IDAp IHJldHVybiAwOworCQlpZiAodW5saW5rKGRpcm5hbWUpICE9IEVJU0RJUikgcmV0dXJuIG15 X2VycjsKKworCQlkaXJfcG9pbnRlciA9IG9wZW5kaXIoZGlybmFtZSk7CisJCWZvciAoZHAg PSByZWFkZGlyKGRpcl9wb2ludGVyKTsgZHAgIT0gTlVMTDsgCisJCSAgICAgZHAgPSByZWFk ZGlyKGRpcl9wb2ludGVyKSkgeworICAgICAgIAkJCWlmIChkcC0+ZF90eXBlID0gRFRfRElS KQorCQkJCW15X2Vycj1sdm1fcm1fcmYgKGRwLT5kX25hbWUpOworCQkJZWxzZQorCQkJCW15 X2Vycj11bmxpbmsgKGRwLT5kX25hbWUpOworCisJCQlpZiAobXlfZXJyICE9IE5VTEwpCisJ CQkJY29udGludWU7CisJCX0JCisJCWNsb3NlZGlyKGRpcl9wb2ludGVyKTsKKyAgICAgICAg ICAgICAgICBpZiAobXlfZXJyICE9IE5VTEwpIHJldHVybiBteV9lcnI7CisJCXJldHVybiBy bWRpcihkaXJuYW1lKTsKKwl9CQorICAgICAgICByZXR1cm4gMDsKK30JCisKZGlmZiAtdXJO IDAuOC1wcmUwMi4xMC4xOTk5L3Rvb2xzL2xpYi9sdm1fdGFiX3ZnX2NoZWNrX2V4aXN0X2Fs bF92Zy5jIDAuOC1wcmUua3MvdG9vbHMvbGliL2x2bV90YWJfdmdfY2hlY2tfZXhpc3RfYWxs X3ZnLmMKLS0tIDAuOC1wcmUwMi4xMC4xOTk5L3Rvb2xzL2xpYi9sdm1fdGFiX3ZnX2NoZWNr X2V4aXN0X2FsbF92Zy5jCVNhdCBPY3QgIDIgMTI6NTk6NDIgMTk5OQorKysgMC44LXByZS5r cy90b29scy9saWIvbHZtX3RhYl92Z19jaGVja19leGlzdF9hbGxfdmcuYwlXZWQgSmFuIDEy IDE5OjM5OjM4IDIwMDAKQEAgLTkxLDEwICs5MSwxMyBAQAogI2lmZGVmIERFQlVHCiAgICBk ZWJ1ZyAoICJsdm1fdGFiX3ZnX2NoZWNrX2V4aXN0X2FsbF92ZyAtLSBMRUFWSU5HIHdpdGgg cmV0OiAlZFxuIiwgcmV0KTsKICNlbmRpZgotICAgaWYgKCByZXQgPCAwIHx8IHNpemUgPCAy KSB7Ci0gICAgICBmcmVlICggZGF0YSk7Ci0gICAgICBpZiAoIHZnX25hbWVfcHRyICAgICAh PSBOVUxMKSBmcmVlICggdmdfbmFtZV9wdHIpOwotICAgICAgaWYgKCB2Z19uYW1lX3B0cl9z YXYgIT0gTlVMTCkgZnJlZSAoIHZnX25hbWVfcHRyX3Nhdik7CitpZiAoIHJldCA8IDAgfHwg c2l6ZSA8IDIpIHsKKyAgICAgIGlmICggZGF0YSAhPSBOVUxMKSB7CisgICAgICAgICBmcmVl ICggZGF0YSk7CisgICAgICAgICBkYXRhID0gTlVMTDsKKyAgICAgIH0KKyAgICAgIGlmICgg dmdfbmFtZV9wdHIgICAgICE9IE5VTEwpICAgICAgZnJlZSAoIHZnX25hbWVfcHRyKTsKKyAg ICAgIGVsc2UgaWYgKCB2Z19uYW1lX3B0cl9zYXYgIT0gTlVMTCkgZnJlZSAoIHZnX25hbWVf cHRyX3Nhdik7CiAgICB9CiAKICAgIHJldHVybiB2Z19uYW1lX3B0cjsKZGlmZiAtdXJOIDAu OC1wcmUwMi4xMC4xOTk5L3Rvb2xzL2xpYi9sdm1fdGFiX3ZnX3JlbW92ZS5jIDAuOC1wcmUu a3MvdG9vbHMvbGliL2x2bV90YWJfdmdfcmVtb3ZlLmMKLS0tIDAuOC1wcmUwMi4xMC4xOTk5 L3Rvb2xzL2xpYi9sdm1fdGFiX3ZnX3JlbW92ZS5jCVNhdCBPY3QgIDIgMTI6NTk6NDIgMTk5 OQorKysgMC44LXByZS5rcy90b29scy9saWIvbHZtX3RhYl92Z19yZW1vdmUuYwlNb24gSmFu IDMxIDEzOjE2OjE5IDIwMDAKQEAgLTgzLDggKzgzLDggQEAKICAgICAgICAgIH0KIAogICAg ICAgICAgaWYgKCAoIHJldCA9IGx2bV90YWJfd3JpdGUgKCBkYXRhLCBzaXplKSkgPT0gMCkg ewotICAgICAgICAgICAgc3ByaW50ZiAoIGNvbW1hbmQsICJybSAtZiAlcy8lcyVjIiwgTFZN VEFCX0RJUiwgdmdfbmFtZSwgMCk7Ci0gICAgICAgICAgICByZXQgPSBzeXN0ZW0gKCBjb21t YW5kKTsKKyAgICAgICAgICAgIHNwcmludGYgKCBjb21tYW5kLCAiJXMvJXMlYyIsIExWTVRB Ql9ESVIsIHZnX25hbWUsIDApOworICAgICAgICAgICAgcmV0ID0gbHZtX3JtX3JmICggY29t bWFuZCk7CiAgICAgICAgICB9CiAgICAgICB9CiAgICB9CmRpZmYgLXVyTiAwLjgtcHJlMDIu MTAuMTk5OS90b29scy9saWIvdmdfY3JlYXRlX2Rpcl9hbmRfZ3JvdXAuYyAwLjgtcHJlLmtz L3Rvb2xzL2xpYi92Z19jcmVhdGVfZGlyX2FuZF9ncm91cC5jCi0tLSAwLjgtcHJlMDIuMTAu MTk5OS90b29scy9saWIvdmdfY3JlYXRlX2Rpcl9hbmRfZ3JvdXAuYwlTYXQgT2N0ICAyIDEy OjU5OjQyIDE5OTkKKysrIDAuOC1wcmUua3MvdG9vbHMvbGliL3ZnX2NyZWF0ZV9kaXJfYW5k X2dyb3VwLmMJVGh1IEphbiAyMCAxNzowNzo1OCAyMDAwCkBAIC00OCw4ICs0OCw4IEBACiAK ICAgIGlmICggdmcgPT0gTlVMTCB8fCB2Z19jaGVja19uYW1lICggdmctPnZnX25hbWUpIDwg MCkgcmV0dXJuIC1MVk1fRVBBUkFNOwogCi0gICBzcHJpbnRmICggbmFtZSwgInJtIC1mciAi IExWTV9ESVJfUFJFRklYICIlcyVjIiwgdmctPnZnX25hbWUsIDApOwotICAgc3lzdGVtICgg bmFtZSk7CisgICBzcHJpbnRmICggbmFtZSwgIiVzJXMlYyIsIExWTV9ESVJfUFJFRklYLCB2 Zy0+dmdfbmFtZSwgMCk7CisgICBsdm1fcm1fcmYgKCBuYW1lKTsKICAgIG1rZGlyICggTFZN X0RJUl9QUkVGSVgsIDA1NTUpOwogICAgc3ByaW50ZiAoIG5hbWUsIExWTV9ESVJfUFJFRklY ICIlcyVjIiwgdmctPnZnX25hbWUsIDApOwogICAgaWYgKCBta2RpciAoIG5hbWUsIDA1NTUp ID09IC0xKSByZXQgPSAtTFZNX0VWR19DUkVBVEVfRElSX0FORF9HUk9VUF9NS0RJUjsKZGlm ZiAtdXJOIDAuOC1wcmUwMi4xMC4xOTk5L3Rvb2xzL2xpYi92Z19yZW1vdmVfZGlyX2FuZF9n cm91cF9hbmRfbm9kZXMuYyAwLjgtcHJlLmtzL3Rvb2xzL2xpYi92Z19yZW1vdmVfZGlyX2Fu ZF9ncm91cF9hbmRfbm9kZXMuYwotLS0gMC44LXByZTAyLjEwLjE5OTkvdG9vbHMvbGliL3Zn X3JlbW92ZV9kaXJfYW5kX2dyb3VwX2FuZF9ub2Rlcy5jCVNhdCBPY3QgIDIgMTI6NTk6NDIg MTk5OQorKysgMC44LXByZS5rcy90b29scy9saWIvdmdfcmVtb3ZlX2Rpcl9hbmRfZ3JvdXBf YW5kX25vZGVzLmMJTW9uIEphbiAzMSAxMzoxODoxNSAyMDAwCkBAIC0zNiwxMiArMzYsMTIg QEAKICAgIGlmICggdmdfbmFtZSA9PSBOVUxMIHx8IHZnX2NoZWNrX25hbWUgKCB2Z19uYW1l KSA8IDApIHJldHVybiAtTFZNX0VQQVJBTTsKIAogICAgLyogcmVtb3ZlIHRoZSB2b2x1bWUg Z3JvdXAgZGlyZWN0b3J5ICovCi0gICBzcHJpbnRmICggc3lzdGVtX2J1ZmZlciwgInJtIC1m ciAiIExWTV9ESVJfUFJFRklYICIlcyVjIiwgdmdfbmFtZSwgMCk7CisgICBzcHJpbnRmICgg c3lzdGVtX2J1ZmZlciwgIiVzJXMlYyIsIExWTV9ESVJfUFJFRklYLCB2Z19uYW1lLCAwKTsK IAogI2lmZGVmIERFQlVHCiAgICBkZWJ1ZyAoICJ2Z19yZW1vdmVfZGlyX2FuZF9ncm91cF9h bmRfbm9kZXMgLS0gTEVBVklOR1xuIik7CiAjZW5kaWYKIAotICAgcmV0dXJuIHN5c3RlbSAo IHN5c3RlbV9idWZmZXIpOworICAgcmV0dXJuIChsdm1fcm1fcmYgKHN5c3RlbV9idWZmZXIp KTsKIH0KICAgIApkaWZmIC11ck4gMC44LXByZTAyLjEwLjE5OTkvdG9vbHMvdmdzY2FuLmMg MC44LXByZS5rcy90b29scy92Z3NjYW4uYwotLS0gMC44LXByZTAyLjEwLjE5OTkvdG9vbHMv dmdzY2FuLmMJU2F0IE9jdCAgMiAxMjo1OTo0MiAxOTk5CisrKyAwLjgtcHJlLmtzL3Rvb2xz L3Znc2Nhbi5jCU1vbiBKYW4gMzEgMTM6MDI6MjEgMjAwMApAQCAtMTg1LDggKzE4NSwxMCBA QAogCiAgICBpZiAoIG9wdF92ID4gMCkgcHJpbnRmICggIiVzIC0tIHJlbW92aW5nIFwiJXNc IiBhbmQgXCIlc1wiXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZCwgTFZN VEFCLCBMVk1UQUJfRElSKTsKLSAgIHNwcmludGYgKCBjb21tYW5kLCAicm0gLWZyICVzICVz JWMiLCBMVk1UQUIsIExWTVRBQl9ESVIsIDApOwotICAgc3lzdGVtICggY29tbWFuZCk7Cisg ICBzcHJpbnRmICggY29tbWFuZCwgIiVzJWMiLCBMVk1UQUIsIDApOworICAgbHZtX3JtX3Jm ICggY29tbWFuZCk7CisgICBzcHJpbnRmICggY29tbWFuZCwgIiVzJWMiLCBMVk1UQUJfRElS LCAwKTsKKyAgIGx2bV9ybV9yZiAoIGNvbW1hbmQpOwogCiAgICBwcmludGYgKCAiJXMgLS0g cmVhZGluZyBhbGwgcGh5c2ljYWwgdm9sdW1lcyAodGhpcyBtYXkgdGFrZSBhIHdoaWxlLi4u KVxuIiwKICAgICAgICAgICAgIGNtZCk7Cg== --------------984CA6EEBDBD372858B13362--