this patch + fixes for features/fcntl.c rolled in for the next alpha On Fri, 19 Jul 2013 20:49:54 +0200 Irek Szczesniak wrote: > --001a11c28aa2dd24c204e1e1caeb > Content-Type: text/plain; charset=ISO-8859-1
> On Fri, Jul 19, 2013 at 1:54 PM, Philippe Bergheaud > <[email protected]> wrote: > > On the following platform: > > Linux version 2.6.32-5-686 (Debian 2.6.32-46) > > gcc version 4.3.5 (Debian 4.3.5-4) > > > > ksh93 compiles, but fails to initialize: > > $ strace ~/ast-base.2013-06-28/arch/linux.i386/bin/ksh > > [...] > > openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECT) = -1 EINVAL (Invalid > > argument) > > write(2, "ksh: Can't obtain directory fd. "..., 51ksh: Can't obtain > > directory fd. [Invalid argument]) = 51 > > --- SIGSEGV (Segmentation fault) @ 0 (0) --- > > +++ killed by SIGSEGV +++ > > Memory fault > > > > the cause for EINVAL is the flag displayed by strace as O_DIRECT > > it happens that O_DIRECT and O_SEARCH collide: both of them are 040000 > > nullifying O_SEARCH with #define O_SEARCH 0 is a possible workaround > > (but probably not a fix) > Roland Mainz send a large patch cluster to > [email protected] to address these problems. I've > attached the patches for you. > Irek > --001a11c28aa2dd24c204e1e1caeb > Content-Type: text/plain; charset=US-ASCII; > name="astksh20130628_solaris_fixes005.diff.txt" > Content-Disposition: attachment; > filename="astksh20130628_solaris_fixes005.diff.txt" > Content-Transfer-Encoding: base64 > X-Attachment-Id: f_hjbqrri40 > ZGlmZiAtciAtdSBidWlsZF9pMzg2XzY0Yml0X2RlYnVnL3NyYy9jbWQva3NoOTMvYmx0aW5zL2Nk > X3B3ZC5jIGJ1aWxkX2kzODZfNjRiaXRfZGVidWdfcGF0Y2hlZC9zcmMvY21kL2tzaDkzL2JsdGlu > cy9jZF9wd2QuYwotLS0gc3JjL2NtZC9rc2g5My9ibHRpbnMvY2RfcHdkLmMJMjAxMy0wNi0yNiAy > MjoxMjoyOC4wMDAwMDAwMDAgKzAyMDAKKysrIHNyYy9jbWQva3NoOTMvYmx0aW5zL2NkX3B3ZC5j > CTIwMTMtMDctMDggMTQ6MzM6MjYuMDM2ODA3NTc5ICswMjAwCkBAIC01NSw5ICs1NSwxNyBAQAog > ICovCiBpbnQgc2hfZGlyb3BlbmF0KFNoZWxsX3QgKnNocCwgaW50IGRpciwgY29uc3QgY2hhciAq > cGF0aCwgYm9vbCB4YXR0cikKIHsKKyNpZmRlZiBPX0RJUkVDVE9SWQorI2RlZmluZSBPX2RpcmVj > dG9yeSAoT19ESVJFQ1RPUlkpCisjZWxzZQorI2RlZmluZSBPX2RpcmVjdG9yeSAoMCkKKyNlbmRp > ZgorCiAJaW50IGZkLHNoZmQ7Ci0JaW50IHNhdmVkZXJybm89ZXJybm87CisJaW50IHNhdmVkZXJy > bm87CisjaWZuZGVmIE9fRElSRUNUT1JZCiAJc3RydWN0IHN0YXQgZnM7CisjZW5kaWYKICNpZm5k > ZWYgT19YQVRUUgogCU5PVF9VU0VEKHhhdHRyKTsKICNlbmRpZgpAQCAtNzAsMjQgKzc4LDU5IEBA > CiAJCWlmKChhcGZkID0gb3BlbmF0KGRpciwgcGF0aCwgT19SRE9OTFl8T19OT05CTE9DS3xPX2Ns > b2V4ZWMpKT49MCkKIAkJewogCQkJZmQgPSBvcGVuYXQoYXBmZCwgZV9kb3QsIE9fWEFUVFJ8T19j > bG9leGVjKTsKKwkJCXNhdmVkZXJybm89ZXJybm87CiAJCQljbG9zZShhcGZkKTsKKwkJCWVycm5v > PXNhdmVkZXJybm87CisJCX0KKwkJZWxzZQorCQl7CisJCQlyZXR1cm4gLTE7CiAJCX0KIAl9CiAJ > ZWxzZQogI2VuZGlmCi0JCWZkID0gb3BlbmF0KGRpciwgcGF0aCwgT19TRUFSQ0h8T19OT05CTE9D > S3xPX2Nsb2V4ZWMpOworCXsKKwkJLyoKKwkJICogT3BlbiBkaXJlY3RvcnkuIEZpcnN0IHdlIHRy > eSB3aXRob3V0IHxPX1NFQVJDSHwgYW5kCisJCSAqIGlmIHRoaXMgZmFpbHMgd2l0aCBFQUNDRVNT > IHdlIHRyeSB3aXRoIHxPX1NFQVJDSHwKKwkJICogYWdhaW4uCisJCSAqIFRoaXMgaXMgcmVxdWly > ZWQgLi4uCisJCSAqIC0gLi4uIGJlY2F1c2Ugc29tZSBwbGF0Zm9ybXMgbWF5IHJlcXVpcmUgdGhh > dCBpdCBjYW4KKwkJICogb25seSBiZSB1c2VkIGZvciBkaXJlY3RvcmllcyB3aGlsZSBzb21lIGZp > bGVzeXN0ZW1zCisJCSAqIChlLmcuIFJlaXNlcjQgb3IgSFNNIHN5c3RlbXMpIGFsbG93IGEgfGZj > aGRpcigpfCBpbnRvCisJCSAqIGZpbGVzLCB0b28pCisJCSAqIC0gLi4uIHRvIHByZXNlcnZlIHRo > ZSBzZW1hbnRpY3Mgb2YgImNkIiwgZS5nLgorCQkgKiBvdGhlcndpc2UgImNkIiB3b3VsZCByZXR1 > cm4gW05vIGFjY2Vzc10gaW5zdGVhZCBvZgorCQkgKiBbTm90IGEgZGlyZWN0b3J5XSBmb3IgZmls > ZXMgb24gZmlsZXN5c3RlbXMgd2hpY2ggZG8KKwkJICogbm90IGFsbG93IGEgImNkIiBpbnRvIGZp > bGVzLgorCQkgKiAtIC4uLiB0byBhbGxvdyB0aGF0IGEKKwkJICogJCByZWRpcmVjdCB7bn08L2V0 > YyA7IGNkIC9kZXYvZmQvJG4gIyB3b3JrcyBvbiBtb3N0CisJCSAqIHBsYXRmb3Jtcy4KKwkJICov > CisKKwkJZmQgPSBvcGVuYXQoZGlyLCBwYXRoLCBPX2RpcmVjdG9yeXxPX05PTkJMT0NLfE9fY2xv > ZXhlYyk7CisJCWlmICgoZmQgPCAwKSAmJiAoZXJybm8gPT0gRUFDQ0VTKSkKKwkJeworCQkJZmQg > PSBvcGVuYXQoZGlyLCBwYXRoLCBPX1NFQVJDSHxPX2RpcmVjdG9yeXxPX05PTkJMT0NLfE9fY2xv > ZXhlYyk7CisJCX0KKwl9CiAKIAlpZihmZCA8IDApCisJewogCQlyZXR1cm4gZmQ7CisJfQorCisj > aWZuZGVmIE9fRElSRUNUT1JZCiAJaWYgKCFmc3RhdChmZCwgJmZzKSAmJiAhU19JU0RJUihmcy5z > dF9tb2RlKSkKIAl7CiAJCWNsb3NlKGZkKTsKIAkJZXJybm8gPSBFTk9URElSOwogCQlyZXR1cm4g > LTE7CiAJfQorI2VuZGlmCiAKIAkvKiBNb3ZlIGZkIHRvIGEgbnVtYmVyID4gMTAgYW5kIHJlZ2lz > dGVyIHRoZSBmZCBudW1iZXIgd2l0aCB0aGUgc2hlbGwgKi8KLQlzaGZkID0gZmNudGwoZmQsIEZf > ZHVwZmRfY2xvZXhlYywgMTApOworCXNoZmQgPSBzaF9mY250bChmZCwgRl9kdXBmZF9jbG9leGVj > LCAxMCk7CiAJc2F2ZWRlcnJubz1lcnJubzsKIAljbG9zZShmZCk7CiAJZXJybm89c2F2ZWRlcnJu > bzsKQEAgLTE0OSw3ICsxOTIsNyBAQAogCXJlZ2lzdGVyIFNoZWxsX3QgKnNocCA9IGNvbnRleHQt > PnNocDsKIAlpbnQgc2F2ZXJybm89MDsKIAlpbnQgcnZhbDsKLQlib29sIGZsYWc9ZmFsc2UseGF0 > dHI9ZmFsc2UsIHVzZV9kZXZmZD1mYWxzZTsKKwlib29sIHBmbGFnPWZhbHNlLHhhdHRyPWZhbHNl > LCB1c2VfZGV2ZmQ9ZmFsc2U7CiAJY2hhciAqb2xkcHdkLCpjcDsKIAlzdHJ1Y3Qgc3RhdCBzdGF0 > YjsKIAlpbnQgZGlyZmQgPSBzaHAtPnB3ZGZkOwpAQCAtMTY0LDEwICsyMDcsMTAgQEAKIAkJCWRp > cmZkID0gb3B0X2luZm8ubnVtOwogCQkJYnJlYWs7CiAJCWNhc2UgJ0wnOgotCQkJZmxhZyA9IGZh > bHNlOworCQkJcGZsYWcgPSBmYWxzZTsKIAkJCWJyZWFrOwogCQljYXNlICdQJzoKLQkJCWZsYWcg > PSB0cnVlOworCQkJcGZsYWcgPSB0cnVlOwogCQkJYnJlYWs7CiAjaWZkZWYgT19YQVRUUgogCQlj > YXNlICdAJzoKQEAgLTI4Myw3ICszMjYsNyBAQAogCQkJc3Rha3B1dHMobGFzdCtQQVRIX09GRlNF > VCk7CiAJCQlzdGFrcHV0YygwKTsKIAkJfQotCQlpZighZmxhZykKKwkJaWYoIXBmbGFnKQogCQl7 > CiAJCQlyZWdpc3RlciBjaGFyICpjcDsKIAkJCXN0YWtzZWVrKFBBVEhfTUFYK1BBVEhfT0ZGU0VU > KTsKQEAgLTMyOSwxMSArMzcyLDcgQEAKIAkJCQlpZihzaHAtPnB3ZGZkID49IDApCiAJCQkJewog > CQkJCQlzaF9jbG9zZShzaHAtPnB3ZGZkKTsKLSNpZmRlZiBBVF9GRENXRAogCQkJCQlzaHAtPnB3 > ZGZkID0gQVRfRkRDV0Q7Ci0jZWxzZQotCQkJCQlzaHAtPnB3ZGZkID0gLTE7Ci0jZW5kaWYKIAkJ > CQl9CiAJCQl9CiAJCX0KQEAgLTM5OSw3ICs0MzgsNyBAQAogIyAgIGVuZGlmCiAjZW5kaWYKIAl9 > Ci0JZWxzZSBpZihmbGFnKQorCWVsc2UgaWYocGZsYWcpCiAJewogCQlkaXIgPSBzdGFrcHRyKFBB > VEhfT0ZGU0VUKTsKIAkJaWYgKCEoZGlyPXBhdGhjYW5vbihkaXIsUEFUSF9NQVgsUEFUSF9QSFlT > SUNBTCkpKQpAQCAtNDE1LDEwICs0NTQsMTAgQEAKIAlpZigqZGlyICE9ICcvJykKIAkJcmV0dXJu > KDApOwogCW52X3B1dHZhbChvcHdkbm9kLG9sZHB3ZCxOVl9SRE9OTFkpOwotCWZsYWcgPSAoc3Ry > bGVuKGRpcik+MCk/dHJ1ZTpmYWxzZTsKKwlwZmxhZyA9IChzdHJsZW4oZGlyKT4wKT90cnVlOmZh > bHNlOwogCS8qIGRlbGV0ZSB0cmFpbGluZyAnLycgKi8KLQl3aGlsZSgtLWZsYWc+MCAmJiBkaXJb > ZmxhZ109PScvJykKLQkJZGlyW2ZsYWddID0gMDsKKwl3aGlsZSgtLXBmbGFnPjAgJiYgZGlyWyhp > bnQpcGZsYWddPT0nLycpCisJCWRpclsoaW50KXBmbGFnXSA9IDA7CiAJbnZfcHV0dmFsKHB3ZG5v > ZCxkaXIsTlZfUkRPTkxZKTsKIAludl9vbmF0dHIocHdkbm9kLE5WX05PRlJFRXxOVl9FWFBPUlQp > OwogCXNocC0+cHdkID0gcHdkbm9kLT5udmFsdWUuY3A7CmRpZmYgLXIgLXUgYnVpbGRfaTM4Nl82 > NGJpdF9kZWJ1Zy9zcmMvY21kL2tzaDkzL2JsdGlucy9oaXN0LmMgYnVpbGRfaTM4Nl82NGJpdF9k > ZWJ1Z19wYXRjaGVkL3NyYy9jbWQva3NoOTMvYmx0aW5zL2hpc3QuYwotLS0gc3JjL2NtZC9rc2g5 > My9ibHRpbnMvaGlzdC5jCTIwMTItMDgtMjggMTU6NTk6MzcuMDAwMDAwMDAwICswMjAwCisrKyBz > cmMvY21kL2tzaDkzL2JsdGlucy9oaXN0LmMJMjAxMy0wNy0wNyAwNToxOToxNy4wNTk2OTQwNDgg > KzAyMDAKQEAgLTE5MCw3ICsxOTAsNyBAQAogCXsKIAkJaWYoIShmbmFtZT1wYXRodG1wKE5JTChj > aGFyKiksMCwwLE5JTChpbnQqKSkpKQogCQkJZXJyb3Jtc2coU0hfRElDVCxFUlJPUl9leGl0KDEp > LGVfY3JlYXRlLCIiKTsKLQkJaWYoKGZkbz1vcGVuKGZuYW1lLE9fQ1JFQVR8T19SRFdSLFNfSVJV > U1J8U19JV1VTUnxPX2Nsb2V4ZWMpKSA8IDApCisJCWlmKChmZG89b3BlbmF0KHNocC0+cHdkZmQs > Zm5hbWUsT19DUkVBVHxPX1JEV1IsU19JUlVTUnxTX0lXVVNSfE9fY2xvZXhlYykpIDwgMCkKIAkJ > CWVycm9ybXNnKFNIX0RJQ1QsRVJST1Jfc3lzdGVtKDEpLGVfY3JlYXRlLGZuYW1lKTsKIAkJb3V0 > ZmlsZT0gc2ZuZXcoTklMKFNmaW9fdCopLHNocC0+b3V0YnVmZixJT0JTSVpFLGZkbyxTRl9XUklU > RSk7CiAJCWFyZyA9ICJcbiI7CmRpZmYgLXIgLXUgYnVpbGRfaTM4Nl82NGJpdF9kZWJ1Zy9zcmMv > Y21kL2tzaDkzL2JsdGlucy90ZXN0LmMgYnVpbGRfaTM4Nl82NGJpdF9kZWJ1Z19wYXRjaGVkL3Ny > Yy9jbWQva3NoOTMvYmx0aW5zL3Rlc3QuYwotLS0gc3JjL2NtZC9rc2g5My9ibHRpbnMvdGVzdC5j > CTIwMTMtMDYtMjUgMjI6NDY6MTMuMDAwMDAwMDAwICswMjAwCisrKyBzcmMvY21kL2tzaDkzL2Js > dGlucy90ZXN0LmMJMjAxMy0wNy0wNyAwNTo1MTo0Ny42NzM3NTMyNjUgKzAyMDAKQEAgLTMyNyw3 > ICszMjcsNyBAQAogI2lmIFNIT1BUX0ZTXzNECiAJICAgIHsKIAkJcmVnaXN0ZXIgaW50IG9mZnNl > dCA9IHN0a3RlbGwoc2hwLT5zdGspOwotCQlpZihzdGF0KGFyZywmc3RhdGIpPDAgfHwgIVNfSVNS > RUcoc3RhdGIuc3RfbW9kZSkpCisJCWlmKGZzdGF0YXQoc2hwLT5wd2RmZCxhcmcsJnN0YXRiLDAp > PDAgfHwgIVNfSVNSRUcoc3RhdGIuc3RfbW9kZSkpCiAJCQlyZXR1cm4oMCk7CiAJCS8qIGFkZCB0 > cmFpbGluZyAvICovCiAJCXNmcHV0cihzaHAtPnN0ayxhcmcsJy8nKTsKQEAgLTM2Miw3ICszNjIs > NyBAQAogI2VuZGlmCiAJICAgIGNhc2UgJ0wnOgogCSAgICBjYXNlICdoJzogLyogdW5kb2N1bWVu > dGVkLCBhbmQgaG9wZWZ1bGx5IHdpbGwgZGlzYXBwZWFyICovCi0JCWlmKCphcmc9PTAgfHwgYXJn > W3N0cmxlbihhcmcpLTFdPT0nLycgfHwgbHN0YXQoYXJnLCZzdGF0Yik8MCkKKwkJaWYoKmFyZz09 > MCB8fCBhcmdbc3RybGVuKGFyZyktMV09PScvJyB8fCBmc3RhdGF0KHNocC0+cHdkZmQsYXJnLCZz > dGF0YixBVF9TWU1MSU5LX05PRk9MTE9XKTwwKQogCQkJcmV0dXJuKDApOwogCQlyZXR1cm4oU19J > U0xOSyhzdGF0Yi5zdF9tb2RlKSk7CiAKQEAgLTY2NSw1ICs2NjUsNSBAQAogCWlmKHNoX2lzZGV2 > ZmQobmFtZSkpCiAJCXJldHVybihmc3RhdCgoaW50KXN0cnRvbChuYW1lKzgsIChjaGFyKiopMCwg > MTApLGJ1ZmYpKTsKIAllbHNlCi0JCXJldHVybihzdGF0KG5hbWUsYnVmZikpOworCQlyZXR1cm4o > ZnN0YXRhdChzaC5wd2RmZCxuYW1lLGJ1ZmYsMCkpOwogfQpkaWZmIC1yIC11IGJ1aWxkX2kzODZf > NjRiaXRfZGVidWcvc3JjL2NtZC9rc2g5My9lZGl0L2hpc3RvcnkuYyBidWlsZF9pMzg2XzY0Yml0 > X2RlYnVnX3BhdGNoZWQvc3JjL2NtZC9rc2g5My9lZGl0L2hpc3RvcnkuYwotLS0gc3JjL2NtZC9r > c2g5My9lZGl0L2hpc3RvcnkuYwkyMDEyLTA5LTE4IDE3OjIwOjAyLjAwMDAwMDAwMCArMDIwMAor > Kysgc3JjL2NtZC9rc2g5My9lZGl0L2hpc3RvcnkuYwkyMDEzLTA3LTA3IDA1OjE5OjE3LjA2MDY5 > NDAzOCArMDIwMApAQCAtMTc5LDcgKzE3OSw4IEBACiB7CiAJY2hhcgkqY3AsICpsYXN0OwogCWlu > dAlpZDEsIGlkMiwgcj0wLCBuLCBmZDsKLQlpZigoZmQ9b3BlbihuYW1lLCBPX1JET05MWSxPX2Ns > b2V4ZWMpKSA8IDApCisJU2hlbGxfdCAqc2hwID0gaHAtPmhpc3RzaGVsbDsKKwlpZigoZmQ9b3Bl > bmF0KHNocC0+cHdkZmQsIG5hbWUsIE9fUkRPTkxZLE9fY2xvZXhlYykpIDwgMCkKIAkJcmV0dXJu > KDApOwogCWlmKChuID0gcmVhZChmZCwgbG9nYnVmLGxlbi0xKSkgPCAwKQogCQlnb3RvIGRvbmU7 > CkBAIC0yNjIsNyArMjYzLDcgQEAKIAljcCA9IHBhdGhfcmVsYXRpdmUoc2hwLGhpc3RuYW1lKTsK > IAlpZighaGlzdGluaXQpCiAJCWhpc3Rtb2RlID0gU19JUlVTUnxTX0lXVVNSOwotCWlmKChmZD1v > cGVuKGNwLE9fQklOQVJZfE9fQVBQRU5EfE9fUkRXUnxPX0NSRUFUfE9fY2xvZXhlYyxoaXN0bW9k > ZSkpPj0wKQorCWlmKChmZD1vcGVuYXQoc2hwLT5wd2RmZCxjcCxPX0JJTkFSWXxPX0FQUEVORHxP > X1JEV1J8T19DUkVBVHxPX2Nsb2V4ZWMsaGlzdG1vZGUpKT49MCkKIAl7CiAJCWhzaXplPWxzZWVr > KGZkLChvZmZfdCkwLFNFRUtfRU5EKTsKIAl9CkBAIC0yOTMsNyArMjk0LDcgQEAKIAkJewogCQkJ > aWYoIShmbmFtZSA9IHBhdGh0bXAoTklMKGNoYXIqKSwwLDAsTklMKGludCopKSkpCiAJCQkJcmV0 > dXJuKDApOwotCQkJZmQgPSBvcGVuKGZuYW1lLE9fQklOQVJZfE9fQVBQRU5EfE9fQ1JFQVR8T19S > RFdSLFNfSVJVU1J8U19JV1VTUnxPX2Nsb2V4ZWMpOworCQkJZmQgPSBvcGVuYXQoc2hwLT5wd2Rm > ZCxmbmFtZSxPX0JJTkFSWXxPX0FQUEVORHxPX0NSRUFUfE9fUkRXUixTX0lSVVNSfFNfSVdVU1J8 > T19jbG9leGVjKTsKIAkJfQogCX0KIAlpZihmZDwwKQpAQCAtNDU3LDYgKzQ1OCw3IEBACiAKIHN0 > YXRpYyBIaXN0b3J5X3QqIGhpc3RfdHJpbShIaXN0b3J5X3QgKmhwLCBpbnQgbikKIHsKKwlTaGVs > bF90ICpzaHAgPSBocC0+aGlzdHNoZWxsOwogCXJlZ2lzdGVyIGNoYXIgKmNwOwogCXJlZ2lzdGVy > IGludCBpbmNtZD0xLCBjPTA7CiAJcmVnaXN0ZXIgSGlzdG9yeV90ICpoaXN0X25ldywgKmhpc3Rf > b2xkID0gaHA7CkBAIC00ODQsNyArNDg2LDcgQEAKIAkJCWZyZWUodG1wbmFtZSk7CiAJCQl0bXBu > YW1lID0gbmFtZTsKIAkJfQotCQlmZCA9IG9wZW4odG1wbmFtZSxPX1JET05MWXxPX2Nsb2V4ZWMp > OworCQlmZCA9IG9wZW5hdChzaHAtPnB3ZGZkLHRtcG5hbWUsT19SRE9OTFl8T19jbG9leGVjKTsK > IAkJc2ZzZXRmZChoaXN0X29sZC0+aGlzdGZwLGZkKTsKIAkJaWYodG1wbmFtZT09bmFtZSkKIAkJ > CXRtcG5hbWUgPSAwOwpAQCAtNjIzLDYgKzYyNSw3IEBACiAKIHZvaWQgaGlzdF9lb2YocmVnaXN0 > ZXIgSGlzdG9yeV90ICpocCkKIHsKKwlTaGVsbF90ICpzaHAgPSBocC0+aGlzdHNoZWxsOwogCXJl > Z2lzdGVyIGNoYXIgKmNwLCpmaXJzdCwqZW5kYnVmZjsKIAlyZWdpc3RlciBpbnQgaW5jbWQgPSAw > OwogCXJlZ2lzdGVyIG9mZl90IGNvdW50ID0gaHAtPmhpc3RjbnQ7CkBAIC03MjksNyArNzMyLDcg > QEAKIAkJaWYobGFzdDwwKQogCQl7CiAJCQljaGFyCWJ1ZmZbSElTVF9NQVJLU1pdOwotCQkJaW50 > CWZkID0gb3BlbihocC0+aGlzdG5hbWUsT19SRFdSfE9fY2xvZXhlYyk7CisJCQlpbnQJZmQgPSBv > cGVuYXQoc2hwLT5wd2RmZCxocC0+aGlzdG5hbWUsT19SRFdSfE9fY2xvZXhlYyk7CiAJCQlpZihm > ZD49MCkKIAkJCXsKIAkJCQloaXN0X21hcmtlcihidWZmLGhwLT5oaXN0aW5kKTsKQEAgLTExODYs > MTMgKzExODksMTQgQEAKIHsKIAlyZWdpc3RlciBpbnQgbmV3ZmQsb2xkZmQ7CiAJSGlzdG9yeV90 > ICpocCA9IChIaXN0b3J5X3QqKWhhbmRsZTsKKwlTaGVsbF90ICpzaHAgPSBocC0+aGlzdHNoZWxs > OwogCWlmKHR5cGU9PVNGX1dSSVRFKQogCXsKIAkJaWYoZXJybm89PUVOT1NQQyB8fCBocC0+aGlz > dHdmYWlsKysgPj0gMTApCiAJCQlyZXR1cm4oMCk7CiAJCS8qIHdyaXRlIGZhaWx1cmUgY291bGQg > YmUgTkZTIHByb2JsZW0sIHRyeSB0byByZS1vcGVuICovCiAJCXNoX2Nsb3NlKG9sZGZkPXNmZmls > ZW5vKGZwKSk7Ci0JCWlmKChuZXdmZD1vcGVuKGhwLT5oaXN0bmFtZSxPX0JJTkFSWXxPX0FQUEVO > RHxPX0NSRUFUfE9fUkRXUnxPX2Nsb2V4ZWMsU19JUlVTUnxTX0lXVVNSKSkgPj0gMCkKKwkJaWYo > KG5ld2ZkPW9wZW5hdChzaHAtPnB3ZGZkLGhwLT5oaXN0bmFtZSxPX0JJTkFSWXxPX0FQUEVORHxP > X0NSRUFUfE9fUkRXUnxPX2Nsb2V4ZWMsU19JUlVTUnxTX0lXVVNSKSkgPj0gMCkKIAkJewogCQkJ > aWYoc2hfZmNudGwobmV3ZmQsIEZfZHVwZmRfY2xvZXhlYywgb2xkZmQpICE9b2xkZmQpCiAJCQkJ > cmV0dXJuKC0xKTsKZGlmZiAtciAtdSBidWlsZF9pMzg2XzY0Yml0X2RlYnVnL3NyYy9jbWQva3No > OTMvaW5jbHVkZS9zaGVsbC5oIGJ1aWxkX2kzODZfNjRiaXRfZGVidWdfcGF0Y2hlZC9zcmMvY21k > L2tzaDkzL2luY2x1ZGUvc2hlbGwuaAotLS0gc3JjL2NtZC9rc2g5My9pbmNsdWRlL3NoZWxsLmgJ > MjAxMy0wNi0yNyAyMzo0MzowNi4wMDAwMDAwMDAgKzAyMDAKKysrIHNyYy9jbWQva3NoOTMvaW5j > bHVkZS9zaGVsbC5oCTIwMTMtMDctMDggMTQ6Mjg6MDkuNzMwNTEyMjAwICswMjAwCkBAIC0xNTUs > NyArMTU1LDcgQEAKIAljaGFyCQlzaGNvbXA7CQkvKiBzZXQgd2hlbiBydW5pbmcgc2hjb21wICov > CiAJc2hvcnQJCXN1YnNoZWxsOwkvKiBzZXQgZm9yIHZpcnR1YWwgc3Vic2hlbGwgKi8KIAlTdGtf > dAkJKnN0azsJCS8qIHN0YWNrIHBvaXRlciAqLwotCWludAkJcHdkZmQ7CQkvKiBmaWxlIGRlc2Ny > aXB0b3IgZm9yIHB3ZCAqLworCWludAkJcHdkZmQ7CQkvKiBmaWxlIGRlc2NyaXB0b3IgZm9yIHB3 > ZCAobXVzdCBiZSBmcm9tIHNoX2Rpcm9wZW5hdCgpL3NoX2ZjbnRsKCkhKSAqLwogI2lmZGVmIF9T > SF9QUklWQVRFCiAJX1NIX1BSSVZBVEUKICNlbmRpZiAvKiBfU0hfUFJJVkFURSAqLwpkaWZmIC1y > IC11IGJ1aWxkX2kzODZfNjRiaXRfZGVidWcvc3JjL2NtZC9rc2g5My9zaC9mYXVsdC5jIGJ1aWxk > X2kzODZfNjRiaXRfZGVidWdfcGF0Y2hlZC9zcmMvY21kL2tzaDkzL3NoL2ZhdWx0LmMKLS0tIHNy > Yy9jbWQva3NoOTMvc2gvZmF1bHQuYwkyMDEzLTA2LTE0IDIxOjQ3OjMzLjAwMDAwMDAwMCArMDIw > MAorKysgc3JjL2NtZC9rc2g5My9zaC9mYXVsdC5jCTIwMTMtMDctMDggMTU6MDE6MTcuNDg3NTk0 > MzI4ICswMjAwCkBAIC03MDEsNiArNzAxLDggQEAKIAlpZihzaF9pc29wdGlvbihzaHAsU0hfTk9F > WEVDKSkKIAkJa2lhY2xvc2UoKExleF90KilzaHAtPmxleF9jb250ZXh0KTsKICNlbmRpZiAvKiBT > SE9QVF9LSUEgKi8KKwlpZiAoc2hwLT5wd2RmZCA+PSAwKQorCQlzaF9jbG9zZShzaHAtPnB3ZGZk > KTsKIAlleGl0KHNhdnhpdCZTSF9FWElUTUFTSyk7CiB9CiAKZGlmZiAtciAtdSBidWlsZF9pMzg2 > XzY0Yml0X2RlYnVnL3NyYy9jbWQva3NoOTMvc2gvaW5pdC5jIGJ1aWxkX2kzODZfNjRiaXRfZGVi > dWdfcGF0Y2hlZC9zcmMvY21kL2tzaDkzL3NoL2luaXQuYwotLS0gc3JjL2NtZC9rc2g5My9zaC9p > bml0LmMJMjAxMy0wNi0yNyAxNjo1NjoxNC4wMDAwMDAwMDAgKzAyMDAKKysrIHNyYy9jbWQva3No > OTMvc2gvaW5pdC5jCTIwMTMtMDctMDcgMDY6MDU6MDguMjUzMjI4NzkxICswMjAwCkBAIC0xNTUw > LDE2ICsxNTUwLDExIEBACiAJCX0KIAl9CiAJc2hfaW9pbml0KHNocCk7Ci0jaWZkZWYgQVRfRkRD > V0QKLSAgICAgICBzaHAtPnB3ZGZkID0gc2hfZGlyb3BlbmF0KHNocCwgQVRfRkRDV0QsIGVfZG90 > LCBmYWxzZSk7Ci0jZWxzZQotICAgICAgIC8qIFN5c3RlbXMgd2l0aG91dCBBVF9GRENXRC9vcGVu > YXQoKSBkbyBub3QgdXNlIHRoZSB8ZGlyfCBhcmd1bWVudCAqLwotICAgICAgIHNocC0+cHdkZmQg > PSBzaF9kaXJvcGVuYXQoc2hwLCAtMSwgZV9kb3QsIGZhbHNlKTsKLSNlbmRpZgorCXNocC0+cHdk > ZmQgPSBzaF9kaXJvcGVuYXQoc2hwLCBBVF9GRENXRCwgZV9kb3QsIGZhbHNlKTsKICNpZmRlZiBP > X1NFQVJDSAotICAgICAgIC8qIFRoaXMgc2hvdWxkIF9uZXZlcl8gaGFwcGVuLCBndXJhbnRlZWQg > YnkgZGVzaWduIGFuZCBnb2F0IHNhY3JpZmljZSAqLwotICAgICAgIGlmKHNocC0+cHdkZmQgPCAw > KQotICAgICAgICAgICAgICAgZXJyb3Jtc2coU0hfRElDVCxFUlJPUl9zeXN0ZW0oMSksICJDYW4n > dCBvYnRhaW4gZGlyZWN0b3J5IGZkLiIpOworCS8qIFRoaXMgc2hvdWxkIF9uZXZlcl8gaGFwcGVu > LCBndXJhbnRlZWQgYnkgZGVzaWduIGFuZCBnb2F0IHNhY3JpZmljZSAqLworCWlmKHNocC0+cHdk > ZmQgPCAwKQorCQllcnJvcm1zZyhTSF9ESUNULEVSUk9SX3N5c3RlbSgxKSwgIkNhbid0IG9idGFp > biBkaXJlY3RvcnkgZmQuIik7CiAjZW5kaWYKIAogCS8qIGluaXRpYWxpemUgc2lnbmFsIGhhbmRs > aW5nICovCkBAIC0xNTkxLDE3ICsxNTg2LDkgQEAKIAkJY2hhciAqY3A9bnZfZ2V0dmFsKExfQVJH > Tk9EKTsKIAkJY2hhciBidWZmW1BBVEhfTUFYKzFdOwogCQlzaHAtPmdkLT5zaHBhdGggPSAwOwot > I2lmIF9BU1RfVkVSU0lPTiA+PSAyMDA5MDIwMkwKKwogCQlpZigobiA9IHBhdGhwcm9nKE5pTCwg > YnVmZiwgc2l6ZW9mKGJ1ZmYpKSkgPiAwICYmIG4gPD0gc2l6ZW9mKGJ1ZmYpKQogCQkJc2hwLT5n > ZC0+c2hwYXRoID0gc3RyZHVwKGJ1ZmYpOwotI2Vsc2UKLQkJc2ZwcmludGYoc2hwLT5zdHJidWYs > Ii9wcm9jLyVkL2V4ZSIsZ2V0cGlkKCkpOwotCQlpZigobj1yZWFkbGluayhzZnN0cnVzZShzaHAt > PnN0cmJ1ZiksYnVmZixzaXplb2YoYnVmZiktMSkpPjApCi0JCXsKLQkJCWJ1ZmZbbl0gPSAwOwot > CQkJc2hwLT5nZC0+c2hwYXRoID0gc3RyZHVwKGJ1ZmYpOwotCQl9Ci0jZW5kaWYKIAkJZWxzZSBp > ZigoY3AgJiYgKHNoX3R5cGUoY3ApJlNIX1RZUEVfU0gpKSB8fCAoYXJnYz4wICYmIHN0cmNocihj > cD0gKmFyZ3YsJy8nKSkpCiAJCXsKIAkJCWlmKCpjcD09Jy8nKQpkaWZmIC1yIC11IGJ1aWxkX2kz > ODZfNjRiaXRfZGVidWcvc3JjL2NtZC9rc2g5My9zaC9pby5jIGJ1aWxkX2kzODZfNjRiaXRfZGVi > dWdfcGF0Y2hlZC9zcmMvY21kL2tzaDkzL3NoL2lvLmMKLS0tIHNyYy9jbWQva3NoOTMvc2gvaW8u > YwkyMDEzLTA2LTI3IDE2OjI0OjA5LjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2NtZC9rc2g5My9z > aC9pby5jCTIwMTMtMDctMDcgMDY6MTk6MjguMDkwNzQ3MTM3ICswMjAwCkBAIC04MzEsMTUgKzgz > MSwxNSBAQAogCQlpZiAoZmxhZ3MgJiBPX0NSRUFUKQogCQl7CiAJCQlzdHJ1Y3Qgc3RhdCBzdDsK > LQkJCWlmIChzdGF0KHBhdGgsJnN0KSA+PTApCisJCQlpZiAoZnN0YXRhdChzaHAtPnB3ZGZkLHBh > dGgsJnN0LCAwKSA+PTApCiAJCQl7Ci0JCQkJd2hpbGUoKG5mZCA9IG9wZW4ocGF0aCxmbGFncyxz > dC5zdF9tb2RlKSk8MCAmJiBlcnJubz09RUlOVFIpCisJCQkJd2hpbGUoKG5mZCA9IG9wZW5hdChz > aHAtPnB3ZGZkLHBhdGgsZmxhZ3Msc3Quc3RfbW9kZSkpPDAgJiYgZXJybm89PUVJTlRSKQogCQkJ > CQllcnJubyA9IGVycjsKIAkJCX0KIAkJfQogCQllbHNlCiAJCXsKLQkJCXdoaWxlKChuZmQgPSBv > cGVuKHBhdGgsZmxhZ3MpKTwwICYmIGVycm5vPT1FSU5UUikKKwkJCXdoaWxlKChuZmQgPSBvcGVu > YXQoc2hwLT5wd2RmZCxwYXRoLGZsYWdzKSk8MCAmJiBlcnJubz09RUlOVFIpCiAJCQkJZXJybm8g > PSBlcnI7CiAJCX0KIAkJaWYobmZkPj0wKQpAQCAtODY3LDcgKzg2Nyw3IEBACiAJCQlwYXRoID0g > YnVmOwogCQl9CiAjZW5kaWYKLQkJd2hpbGUoKGZkID0gb3BlbihwYXRoLCBmbGFncywgbW9kZSkp > IDwgMCkKKwkJd2hpbGUoKGZkID0gb3BlbmF0KHNocC0+cHdkZmQsIHBhdGgsIGZsYWdzLCBtb2Rl > KSkgPCAwKQogCQkJaWYoZXJybm8hPUVJTlRSIHx8IHNocC0+dHJhcG5vdGUpCiAJCQkJcmV0dXJu > KC0xKTsKICAJfQpAQCAtMTE2Niw3ICsxMTY2LDcgQEAKIAkJZWxzZSBpZihmZCA8IDAgICYmIGVy > cm5vIT1FTk9FTlQpCiAJCQlyZXR1cm4oMCk7CiAJfQotCXdoaWxlKChmZD1yZWFkbGluayhuYW1l > LCBwYXRoLCBQQVRIX01BWCkpID4wKQorCXdoaWxlKChmZD1yZWFkbGlua2F0KHNocC0+cHdkZmQs > IG5hbWUsIHBhdGgsIFBBVEhfTUFYKSkgPjApCiAJewogCQluYW1lPXBhdGg7CiAJCW5hbWVbZmRd > ID0gMDsKQEAgLTE2MTYsNyArMTYxNiw3IEBACiAJCQkJCWVsc2UgaWYoc2hfaXNvcHRpb24oc2hw > LFNIX05PQ0xPQkJFUikpCiAJCQkJCXsKIAkJCQkJCXN0cnVjdCBzdGF0IHNiOwotCQkJCQkJaWYo > c3RhdChmbmFtZSwmc2IpPj0wKQorCQkJCQkJaWYoZnN0YXRhdChzaHAtPnB3ZGZkLGZuYW1lLCZz > YiwwKT49MCkKIAkJCQkJCXsKICNpZiBTSE9QVF9GU18zRAogCQkJCQkJCWlmKFNfSVNSRUcoc2Iu > c3RfbW9kZSkmJgpAQCAtMjA2Myw3ICsyMDYzLDcgQEAKIAkJaWYoc2F2ZWZkIDwwICYmIChzcD1z > aHAtPnNmdGFibGVbb3JpZ2ZkXSkgJiYgKHNmc2V0KHNwLDAsMCkmU0ZfU1RSSU5HKSkgCiAJCXsK > IAkJCXNhdmVzdHIgPSAxOwotCQkJaWYoKGZkID0gb3BlbigiL2Rldi9udWxsIixPX1JET05MWXxP > X2Nsb2V4ZWMpKSA8IDEwKQorCQkJaWYoKGZkID0gb3BlbmF0KHNocC0+cHdkZmQsICIvZGV2L251 > bGwiLE9fUkRPTkxZfE9fY2xvZXhlYykpIDwgMTApCiAJCQl7CiAJCQkJc2F2ZWZkID0gc2hfZmNu > dGwoZmQsIEZfZHVwZmRfY2xvZXhlYywgMTApOwogCQkJCWNsb3NlKGZkKTsKQEAgLTMxNjIsNyAr > MzE2Miw3IEBACiBpbnQgc2hfc3RhdChjb25zdCBjaGFyKiBwYXRoLHN0cnVjdCBzdGF0ICpzdGF0 > YikKIHsKIAlpbnQgcixlcnI9ZXJybm87Ci0Jd2hpbGUoKHI9c3RhdChwYXRoLHN0YXRiKSk8MCAm > JiBlcnJubz09RUlOVFIpCisJd2hpbGUoKHI9ZnN0YXRhdChzaC5wd2RmZCxwYXRoLHN0YXRiLDAp > KTwwICYmIGVycm5vPT1FSU5UUikKIAkJZXJybm8gPSBlcnI7CiAJcmV0dXJuKHIpOwogfQpkaWZm > IC1yIC11IGJ1aWxkX2kzODZfNjRiaXRfZGVidWcvc3JjL2NtZC9rc2g5My9zaC9wYXRoLmMgYnVp > bGRfaTM4Nl82NGJpdF9kZWJ1Z19wYXRjaGVkL3NyYy9jbWQva3NoOTMvc2gvcGF0aC5jCi0tLSBz > cmMvY21kL2tzaDkzL3NoL3BhdGguYwkyMDEzLTA2LTI3IDA5OjIwOjU3LjAwMDAwMDAwMCArMDIw > MAorKysgc3JjL2NtZC9rc2g5My9zaC9wYXRoLmMJMjAxMy0wNy0wNyAwNTo1Njo1OC44OTU5MzY3 > OTIgKzAyMDAKQEAgLTM5Myw3ICszOTMsNyBAQAogCXN0cnVjdCBzdGF0IAkJc3RhdGI7CiAJaW50 > CQkJZmQgPSAtMTsKICNpZiBTSE9QVF9BVEZVTgotCWlmKChmZD1vcGVuKG5hbWUsT19zZWFyY2h8 > T19jbG9leGVjKSk8MCB8fCBmc3RhdChmZCwmc3RhdGIpPDAgfHwgICFTX0lTRElSKHN0YXRiLnN0 > X21vZGUpKQorCWlmKChmZD1vcGVuYXQoc2hwLT5wd2RmZCwgbmFtZSxPX3NlYXJjaHxPX2Nsb2V4 > ZWMpKTwwIHx8IGZzdGF0KGZkLCZzdGF0Yik8MCB8fCAgIVNfSVNESVIoc3RhdGIuc3RfbW9kZSkp > CiAJCiAjZWxzZQogCWlmKHN0YXQobmFtZSwmc3RhdGIpPDAgfHwgIVNfSVNESVIoc3RhdGIuc3Rf > bW9kZSkpCkBAIC05NTEsNyArOTUxLDcgQEAKIAlwYXRoID0gcGF0aF9yZWxhdGl2ZShzaHAscGF0 > aCk7CiAJaWYoaXNmdW4pCiAJewotCQlpZigoZmQ9b3BlbihwYXRoLE9fUkRPTkxZfE9fY2xvZXhl > YywwKSk8MCB8fCBmc3RhdChmZCwmc3RhdGIpPDApCisJCWlmKChmZD1vcGVuYXQoc2hwLT5wd2Rm > ZCxwYXRoLE9fUkRPTkxZfE9fY2xvZXhlYywwKSk8MCB8fCBmc3RhdChmZCwmc3RhdGIpPDApCiAJ > CQlnb3RvIGVycjsKIAl9CiAJZWxzZSBpZihzdGF0KHBhdGgsJnN0YXRiKSA8IDApCkBAIC0xMTM3 > LDcgKzExMzcsNyBAQAogCQlzdGtzZWVrKHNocC0+c3RrLFBBVEhfT0ZGU0VUKTsKIAkJc2ZwdXRy > KHNocC0+c3RrLG9wYXRoLC0xKTsKIAkJcGF0aCA9IHN0a3B0cihzaHAtPnN0ayxQQVRIX09GRlNF > VCk7Ci0JCXdoaWxlKChuPXJlYWRsaW5rKHBhdGgsYnVmZixQQVRIX01BWCkpPjApCisJCXdoaWxl > KChuPXJlYWRsaW5rYXQoc2hwLT5wd2RmZCxwYXRoLGJ1ZmYsUEFUSF9NQVgpKT4wKQogCQl7CiAJ > CQlidWZmW25dID0gMDsKIAkJCW4gPSBQQVRIX09GRlNFVDsKQEAgLTEzNTEsNyArMTM1MSw3IEBA > CiAJCWNoYXIgKnNhdmV0PTA7CiAJCXN0cnVjdCBzdGF0IHN0YXRiOwogCQlpbnQgZXJyPTA7Ci0J > CWlmKChuPW9wZW4ocGF0aCxPX1JET05MWXxPX2Nsb2V4ZWMsMCkpID49IDApCisJCWlmKChuPW9w > ZW5hdChzaHAtPnB3ZGZkLHBhdGgsT19SRE9OTFl8T19jbG9leGVjLDApKSA+PSAwKQogCQl7CiAJ > CQkvKiBtb3ZlIDxuPiBpZiBuPTAsMSwyICovCiAJCQluID0gc2hfaW9tb3ZlZmQoc2hwLG4pOwpA > QCAtMTM2NSw3ICsxMzY1LDcgQEAKIAkJewogCQkJc3RybmNweShuYW1lKzksZm10YmFzZSgobG9u > ZylnZXRwaWQoKSwxMCwwKSxzaXplb2YobmFtZSktMTApOwogCQkJLyogY3JlYXRlIGEgc3VpZCBv > cGVuIGZpbGUgd2l0aCBvd25lciBlcXVhbCBlZmZlY3RpdmUgdWlkICovCi0JCQlpZigobj1vcGVu > KG5hbWUsT19DUkVBVHxPX1RSVU5DfE9fV1JPTkxZfE9fY2xvZXhlYyxTX0lTVUlEfFNfSVhVU1Ip > KSA8IDApCisJCQlpZigobj1vcGVuYXQoc2hwLT5wd2RmZCxuYW1lLE9fQ1JFQVR8T19UUlVOQ3xP > X1dST05MWXxPX2Nsb2V4ZWMsU19JU1VJRHxTX0lYVVNSKSkgPCAwKQogCQkJCWdvdG8gZmFpbDsK > IAkJCXVubGluayhuYW1lKTsKIAkJCS8qIG1ha2Ugc3VyZSB0aGF0IGZpbGUgaGFzIHJpZ2h0IG93 > bmVyICovCkBAIC0xMzkxLDcgKzEzOTEsNyBAQAogCQkvKgogCQkgKiAgVGhlIGZvbGxvd2luZyBj > b2RlIGlzIGp1c3QgZm9yIGNvbXBhdGliaWxpdHkKIAkJICovCi0JCWlmKChuPW9wZW4ocGF0aCxP > X1JET05MWXxPX2Nsb2V4ZWMsMCkpIDwgMCkKKwkJaWYoKG49b3BlbmF0KHNocC0+cHdkZmQscGF0 > aCxPX1JET05MWXxPX2Nsb2V4ZWMsMCkpIDwgMCkKIAkJCWVycm9ybXNnKFNIX0RJQ1QsRVJST1Jf > c3lzdGVtKEVSUk9SX05PRVhFQyksZV9leGVjLHBhdGgpOwogCQlpZihzYXZldCkKIAkJCSphcmd2 > KysgPSBzYXZldDsKQEAgLTE0ODAsNyArMTQ4MCw3IEBACiAJCXNhYnVmLmFjX3V0aW1lID0gY29t > cHJlc3MoYnVmZmVyLnRtc191dGltZSArIGJ1ZmZlci50bXNfY3V0aW1lKTsKIAkJc2FidWYuYWNf > c3RpbWUgPSBjb21wcmVzcyhidWZmZXIudG1zX3N0aW1lICsgYnVmZmVyLnRtc19jc3RpbWUpOwog > CQlzYWJ1Zi5hY19ldGltZSA9IGNvbXByZXNzKCAodGltZV90KShhZnRlci1iZWZvcmUpKTsKLQkJ > ZmQgPSBvcGVuKCBTSEFDQ1QgLCBPX1dST05MWSB8IE9fQVBQRU5EIHwgT19DUkVBVHxPX2Nsb2V4 > ZWMsUldfQUxMKTsKKwkJZmQgPSBvcGVuYXQoc2gucHdkZmQsIFNIQUNDVCAsIE9fV1JPTkxZIHwg > T19BUFBFTkQgfCBPX0NSRUFUfE9fY2xvZXhlYyxSV19BTEwpOwogCQl3cml0ZShmZCwgKGNvbnN0 > IGNoYXIqKSZzYWJ1Ziwgc2l6ZW9mKCBzYWJ1ZiApKTsKIAkJc2hfY2xvc2UoIGZkKTsKIAl9CkBA > IC0xNTk4LDcgKzE1OTgsNyBAQAogCWlmKHBwLT5sZW49PTEgJiYgKnN0a3B0cihzaHAtPnN0ayxv > ZmZzZXQpPT0nLycpCiAJCXN0a3NlZWsoc2hwLT5zdGssb2Zmc2V0KTsKIAlzZnB1dHIoc2hwLT5z > dGssIi8ucGF0aHMiLC0xKTsKLQlpZigoZmQ9b3BlbihzdGtwdHIoc2hwLT5zdGssb2Zmc2V0KSxP > X1JET05MWXxPX2Nsb2V4ZWMpKT49MCkKKwlpZigoZmQ9b3BlbmF0KHNocC0+cHdkZmQsc3RrcHRy > KHNocC0+c3RrLG9mZnNldCksT19SRE9OTFl8T19jbG9leGVjKSk+PTApCiAJewogCQlmc3RhdChm > ZCwmc3RhdGIpOwogCQluID0gc3RhdGIuc3Rfc2l6ZTsKZGlmZiAtciAtdSBidWlsZF9pMzg2XzY0 > Yml0X2RlYnVnL3NyYy9jbWQva3NoOTMvc2gveGVjLmMgYnVpbGRfaTM4Nl82NGJpdF9kZWJ1Z19w > YXRjaGVkL3NyYy9jbWQva3NoOTMvc2gveGVjLmMKLS0tIHNyYy9jbWQva3NoOTMvc2gveGVjLmMJ > MjAxMy0wNi0xNCAxODoxNjowOC4wMDAwMDAwMDAgKzAyMDAKKysrIHNyYy9jbWQva3NoOTMvc2gv > eGVjLmMJMjAxMy0wNy0wNyAwNToxOToxNy4wNjI2OTQwMTIgKzAyMDAKQEAgLTg2Miw3ICs4NjIs > NyBAQAogCXNwID0gc2ZuZXcoTlVMTCxOVUxMLFNGX1VOQk9VTkQsZmQsU0ZfUkVBRCk7CiAJd2hp > bGUoY2xvc2UoMCk8MCAmJiBlcnJubz09RUlOVFIpCiAJCWVycm5vID0gZXJyOwotCW9wZW4oZV9k > ZXZudWxsLE9fUkRPTkxZfE9fY2xvZXhlYyk7CisJb3BlbmF0KHNocC0+cHdkZmQsIGVfZGV2bnVs > bCxPX1JET05MWXxPX2Nsb2V4ZWMpOwogCXNocC0+b2Zmc2V0c1swXSA9IC0xOwogCXNocC0+b2Zm > c2V0c1sxXSA9IDA7CiAJKnNhdmUgPSBzYXZlaW47CmRpZmYgLXIgLXUgYnVpbGRfaTM4Nl82NGJp > dF9kZWJ1Zy9zcmMvbGliL2xpYmFzdC9jb21wL2F0LmMgYnVpbGRfaTM4Nl82NGJpdF9kZWJ1Z19w > YXRjaGVkL3NyYy9saWIvbGliYXN0L2NvbXAvYXQuYwotLS0gc3JjL2xpYi9saWJhc3QvY29tcC9h > dC5jCTIwMTMtMDYtMjcgMDQ6MzU6NDEuMDAwMDAwMDAwICswMjAwCisrKyBzcmMvbGliL2xpYmFz > dC9jb21wL2F0LmMJMjAxMy0wNy0wNyAwNToxOToxNy4wNjM2OTQwMDQgKzAyMDAKQEAgLTQ1LDEz > ICs0NSwxMyBAQAogI2RlZmluZSBBVEJFRyhjd2QscGF0aCkgXAogCXsgXAogCQljaGFyCV9hdF8j > I3BhdGhbUEFUSF9NQVhdOyBcCi0JCWlmIChjd2QgPj0gMCkgXAorCQlpZiAoY3dkICE9IEFUX0ZE > Q1dEICYmIHBhdGhbMF0hPScvJykgXAogCQkJc2ZzcHJpbnRmKF9hdF8jI3BhdGgsIHNpemVvZihf > YXRfIyNwYXRoKSwgX2ZkX3NlbGZfZGlyX2ZtdCwgY3dkLCAiLyIsIHBhdGgpOwogCiAjZGVmaW5l > IEFUQkVHTChsd2QsbGluaykgXAogCXsgXAogCQljaGFyCV9hdF8jI2xpbmtbUEFUSF9NQVhdOyBc > Ci0JCWlmIChsd2QgPj0gMCkgXAorCQlpZiAobHdkICE9IEFUX0ZEQ1dEICYmIGxpbmtbMF0hPScv > JykgXAogCQkJc2ZzcHJpbnRmKF9hdF8jI2xpbmssIHNpemVvZihfYXRfIyNsaW5rKSwgX2ZkX3Nl > bGZfZGlyX2ZtdCwgbHdkLCAiLyIsIGxpbmspOwogCiAjZWxzZQpAQCAtNTksMTkgKzU5LDE5IEBA > CiAjZGVmaW5lIEFUQkVHKGN3ZCxwYXRoKSBcCiAJeyBcCiAJCWNoYXIJX2F0XyMjcGF0aFtQQVRI > X01BWF07IFwKLQkJaWYgKGN3ZCA+PSAwKSBcCisJCWlmIChjd2QgIT0gQVRfRkRDV0QgJiYgcGF0 > aFswXSE9Jy8nKSBcCiAJCQlzZnNwcmludGYoX2F0XyMjcGF0aCwgc2l6ZW9mKF9hdF8jI3BhdGgp > LCBfZmRfcGlkX2Rpcl9mbXQsIGdldHBpZCgpLCBjd2QsICIvIiwgcGF0aCk7CiAKICNkZWZpbmUg > QVRCRUdMKGx3ZCxwYXRoKSBcCiAJeyBcCiAJCWNoYXIJX2F0XyMjbGlua1tQQVRIX01BWF07IFwK > LQkJaWYgKGx3ZCA+PSAwKSBcCisJCWlmIChsd2QgIT0gQVRfRkRDV0QgJiYgbGlua1swXSE9Jy8n > KSBcCiAJCQlzZnNwcmludGYoX2F0XyMjbGluaywgc2l6ZW9mKF9hdF8jI2xpbmspLCBfZmRfcGlk > X2Rpcl9mbXQsIGdldHBpZCgpLCBsd2QsICIvIiwgbGluayk7CiAKICNlbmRpZgogCiAjZGVmaW5l > IEFUUEFUSChjd2QscGF0aCkgXAotCQkoKGN3ZD49MCk/KGNvbnN0IGNoYXIqKV9hdF8jI3BhdGg6 > cGF0aCkKKwkJKChjd2QgIT0gQVRfRkRDV0QgJiYgcGF0aFswXSE9Jy8nKT8oY29uc3QgY2hhciop > X2F0XyMjcGF0aDpwYXRoKQogCiAjZGVmaW5lIEFURU5EKCkgXAogCX0KQEAgLTg4LDcgKzg4LDcg > QEAKIAkJaW50CQlfYXRfZG90ID0gLTE7IFwKIAkJaW50CQlfYXRfcmV0OyBcCiAJCXVuc2lnbmVk > IGludAlfYXRfdGlkOyBcCi0JCWlmIChjd2QgPj0gMCkgXAorCQlpZiAoY3dkICE9IEFUX0ZEQ1dE > ICYmIHBhdGhbMF0hPScvJykgXAogCQl7IFwKIAkJCXNpZ2NyaXQoU0lHX1JFR19BTEwpOyBcCiAJ > CQlfYXRfdGlkID0gYXNvdGhyZWFkaWQoKTsgXApAQCAtMjA0LDcgKzIwNCw3IEBACiAJaW50CXI7 > CiAKIAlBVEJFRyhjd2QsIHBhdGgpOwotCXIgPSAoZmxhZ3MgJiBBVF9TWU1MSU5LX05PRk9MTE9X > KSA/IGxzdGF0KEFUUEFUSChjd2QsIHBhdGgpLCBzdCwgZmxhZ3MpIDogc3RhdChBVFBBVEgoY3dk > LCBwYXRoKSwgc3QsIGZsYWdzKTsKKwlyID0gKGZsYWdzICYgQVRfU1lNTElOS19OT0ZPTExPVykg > PyBsc3RhdChBVFBBVEgoY3dkLCBwYXRoKSwgc3QpIDogc3RhdChBVFBBVEgoY3dkLCBwYXRoKSwg > c3QpOwogCUFURU5EKCk7CiAJcmV0dXJuIHI7CiB9CkBAIC0yMjAsOSArMjIwLDkgQEAKIHsKIAlp > bnQJcjsKIAotCWlmIChwd2QgPCAwIHx8ICpwYXRoID09ICcvJykKKwlpZiAocHdkID09IEFUX0ZE > Q1dEIHx8ICpwYXRoID09ICcvJykKIAl7Ci0JCWlmIChsd2QgPCAwIHx8ICpsaW5rcGF0aCA9PSAn > LycpCisJCWlmIChsd2QgPT0gQVRfRkRDV0QgfHwgKmxpbmtwYXRoID09ICcvJykKIAkJCXIgPSBs > aW5rKHBhdGgsIGxpbmtwYXRoKTsKIAkJZWxzZQogCQl7CkBAIC0yMzEsNyArMjMxLDcgQEAKIAkJ > CUFURU5EKCk7CiAJCX0KIAl9Ci0JZWxzZSBpZiAobHdkIDwgMCB8fCAqbGlua3BhdGggPT0gJy8n > KQorCWVsc2UgaWYgKGx3ZCA9PSBBVF9GRENXRCB8fCAqbGlua3BhdGggPT0gJy8nKQogCXsKIAkJ > QVRCRUcocHdkLCBwYXRoKTsKIAkJciA9IGxpbmsoQVRQQVRIKHB3ZCwgcGF0aCksIGxpbmtwYXRo > KTsKQEAgLTMzMyw3ICszMzMsNyBAQAogI3VuZGVmCVNUVUIKIAogc3NpemVfdAotcmVhZGxpbmth > dChpbnQgY3dkLCBjb25zdCBjaGFyKiBwYXRoLCB2b2lkKiBidWYsIHNpemVfdCBzaXplKQorcmVh > ZGxpbmthdChpbnQgY3dkLCBjb25zdCBjaGFyKiBwYXRoLCBjaGFyKiBidWYsIHNpemVfdCBzaXpl > KQogewogCXNzaXplX3QJcjsKIApAQCAtMzcyLDEyICszNzIsNDEgQEAKIAlpbnQJcjsKIAogCUFU > QkVHKGN3ZCwgcGF0aCk7Ci0JciA9IHVubGluayhBVFBBVEgoY3dkLCBwYXRoKSwgZmxhZ3MpOwor > CWlmIChmbGFncyAmIEFUX1JFTU9WRURJUikKKwkJciA9IHJtZGlyKEFUUEFUSChjd2QsIHBhdGgp > KTsKKwllbHNlCisJCXIgPSB1bmxpbmsoQVRQQVRIKGN3ZCwgcGF0aCkpOwogCUFURU5EKCk7CiAJ > cmV0dXJuIHI7CiB9CiAKICNlbmRpZgorCisjaWYgIV9saWJfcmVuYW1lYXQKKworI3VuZGVmCVNU > VUIKKworaW50CityZW5hbWVhdChpbnQgZnJvbWZkLCBjb25zdCBjaGFyICpvbGQsIGludCB0b2Zk > LCBjb25zdCBjaGFyICpuZXcpCit7CisJY2hhciBvbGRwYXRoYnVmW1BBVEhfTUFYXTsKKwljaGFy > IG5ld3BhdGhidWZbUEFUSF9NQVhdOworCisJaWYgKGZyb21mZCAhPSBBVF9GRENXRCAmJiBvbGRb > MF0gIT0gJy8nKQorCXsKKwkJc25wcmludGYob2xkcGF0aGJ1Ziwgc2l6ZW9mKG9sZHBhdGhidWYp > LCBfZmRfcGlkX2Rpcl9mbXQsIGdldHBpZCgpLCBmcm9tZmQsICIvIiwgb2xkKTsKKwkJb2xkID0g > b2xkcGF0aGJ1ZjsKKwl9CisJaWYgKHRvZmQgIT0gQVRfRkRDV0QgJiYgbmV3WzBdICE9ICcvJykK > Kwl7CisJCXNucHJpbnRmKG5ld3BhdGhidWYsIHNpemVvZihuZXdwYXRoYnVmKSwgX2ZkX3BpZF9k > aXJfZm10LCBnZXRwaWQoKSwgdG9mZCwgIi8iLCBuZXcpOworCQluZXcgPSBuZXdwYXRoYnVmOwor > CX0KKworCXJldHVybiByZW5hbWUob2xkLCBuZXcpOworfQorCisjZW5kaWYKIAogI2lmIFNUVUIK > IApkaWZmIC1yIC11IGJ1aWxkX2kzODZfNjRiaXRfZGVidWcvc3JjL2xpYi9saWJhc3QvZmVhdHVy > ZXMvZWFjY2VzcyBidWlsZF9pMzg2XzY0Yml0X2RlYnVnX3BhdGNoZWQvc3JjL2xpYi9saWJhc3Qv > ZmVhdHVyZXMvZWFjY2VzcwotLS0gc3JjL2xpYi9saWJhc3QvZmVhdHVyZXMvZWFjY2VzcwkyMDA0 > LTA3LTIzIDA4OjAyOjI1LjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2xpYi9saWJhc3QvZmVhdHVy > ZXMvZWFjY2VzcwkyMDEzLTA3LTA3IDA1OjE5OjE3LjA2MzY5NDAwNCArMDIwMApAQCAtMSw0ICsx > LDQgQEAKLWxpYgllYWNjZXNzLGV1aWRhY2Nlc3MKK2xpYgllYWNjZXNzLGV1aWRhY2Nlc3MgLWxn > ZW4KIG1hY3JvewogCSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KIAkjaW5jbHVkZSA8dW5pc3RkLmg+ > CmRpZmYgLXIgLXUgYnVpbGRfaTM4Nl82NGJpdF9kZWJ1Zy9zcmMvbGliL2xpYmFzdC9mZWF0dXJl > cy9mY250bC5jIGJ1aWxkX2kzODZfNjRiaXRfZGVidWdfcGF0Y2hlZC9zcmMvbGliL2xpYmFzdC9m > ZWF0dXJlcy9mY250bC5jCi0tLSBzcmMvbGliL2xpYmFzdC9mZWF0dXJlcy9mY250bC5jCTIwMTMt > MDYtMjcgMDg6Mzk6MTEuMDAwMDAwMDAwICswMjAwCisrKyBzcmMvbGliL2xpYmFzdC9mZWF0dXJl > cy9mY250bC5jCTIwMTMtMDctMDcgMDU6MTk6MTcuMDY0NjkzOTkzICswMjAwCkBAIC0yNywxMCAr > MjcsMzAgQEAKICAqIGdlbmVyYXRlIFBPU0lYIGZjbnRsLmgKICAqLwogCisvKgorICogV2UgdXNl > IHRoaXMgdG8gZm9yY2UgTGludXggYW5kIHNvbWUgKkJTRCB2ZXJzaW9ucyB0byB0ZWxsIHVzIGFs > bAorICogdGhlaXIgZmxhZ3MKKyAqLworI2RlZmluZSBfR05VX1NPVVJDRSAxCisjZGVmaW5lIF9f > VVNFX0dOVSAxIC8qIHdoeSBpcyB0aGlzIG5lY2Nlc2FyeSBvbiBMaW51eCA/ICovCisKICNpbmNs > dWRlIDxzeXMvdHlwZXMuaD4KIAogI2luY2x1ZGUgIkZFQVRVUkUvbGliIgogCisvKgorICogTWFr > ZSBzdXJlIF9HTlVfU09VUkNFIGlzIGFjdGl2ZSBvbiBMaW51eC4gU29tZSB2ZXJzaW9ucworICog > Z2l2ZSB1cyBzZXJpb3VzIHRyb3VibGUgaW4gdGhpcyBjYXNlIHNvIHdlIGhhdmUgdGhpcworICog > YXNzZXJ0IHRvICphYm9ydCogZWFybHkgaW5zdGVhZCBvZiBsZXQgdXMgaHVudCBmb3IgImdob3N0 > CisgKiBidWdzIgorICovCisjaWZkZWYgX19saW51eF9fCisjaWZuZGVmIF9fVVNFX0dOVQorI2Vy > cm9yICJBU1NFUlQ6IF9fVVNFX0dOVSBzaG91bGQgYmUgZGVmaW5lZCBieSBub3ciCisjZW5kaWYK > KyNlbmRpZgorCisKICNkZWZpbmUgZ2V0ZHRhYmxlc2l6ZQlfX19fX19nZXRkdGFibGVzaXplCiAj > ZGVmaW5lIGdldHBhZ2VzaXplCV9fX19fX2dldHBhZ2VzaXplCiAjZGVmaW5lIGlvY3RsCQlfX19f > X19pb2N0bApAQCAtMTg2LDYgKzIwNiwxNSBAQAogI2lmZGVmCUZfU0hMQ0sKIAlpZiAoRl9TSExD > SyA+IGZfbG9jYWwpIGZfbG9jYWwgPSBGX1NITENLOwogI2VuZGlmCisjaWZkZWYJRl9TSEFSRQor > CWlmIChGX1NIQVJFID4gZl9sb2NhbCkgZl9sb2NhbCA9IEZfU0hBUkU7CisjZW5kaWYKKyNpZmRl > ZglGX1VOU0hBUkUKKwlpZiAoRl9VTlNIQVJFID4gZl9sb2NhbCkgZl9sb2NhbCA9IEZfVU5TSEFS > RTsKKyNlbmRpZgorI2lmZGVmCUZfQkFERkQgLyogQ3JlYXRlIFBvaXNvbiBGRCAqLworCWlmIChG > X0JBREZEID4gZl9sb2NhbCkgZl9sb2NhbCA9IEZfQkFERkQ7CisjZW5kaWYKIAogI2lmCU5FRURf > RgogI2lmCV9saWJfZmNudGwKQEAgLTI0MCwxMiArMjY5LDEyIEBACiAjZGVmaW5lIE5FRURfTwkx > CiAjZW5kaWYKIAotI2lmZGVmIE9fRFNZTkMKLQlpZiAoT19EU1lOQyA+IG9fbG9jYWwpIG9fbG9j > YWwgPSBPX0RTWU5DOwotI2VuZGlmCiAjaWZkZWYgT19MQVJHRUZJTEUKIAlpZiAoT19MQVJHRUZJ > TEUgPiBvX2xvY2FsKSBvX2xvY2FsID0gT19MQVJHRUZJTEU7CiAjZW5kaWYKKyNpZmRlZiBPX0xB > UkdFRklMRTEyOAorCWlmIChPX0xBUkdFRklMRTEyOCA+IG9fbG9jYWwpIG9fbG9jYWwgPSBPX0xB > UkdFRklMRTEyODsKKyNlbmRpZgogI2lmZGVmIE9fTk9GT0xMT1cKIAlpZiAoT19OT0ZPTExPVyA+ > IG9fbG9jYWwpIG9fbG9jYWwgPSBPX05PRk9MTE9XOwogI2VuZGlmCkBAIC0yNTgsMTIgKzI4Nywz > NiBAQAogI2lmZGVmIE9fUlNZTkMKIAlpZiAoT19SU1lOQyA+IG9fbG9jYWwpIG9fbG9jYWwgPSBP > X1JTWU5DOwogI2VuZGlmCisjaWZkZWYgT19EU1lOQworCWlmIChPX0RTWU5DID4gb19sb2NhbCkg > b19sb2NhbCA9IE9fRFNZTkM7CisjZW5kaWYKICNpZmRlZiBPX1NZTkMKIAlpZiAoT19TWU5DID4g > b19sb2NhbCkgb19sb2NhbCA9IE9fU1lOQzsKICNlbmRpZgogI2lmZGVmIE9fWEFUVFIKIAlpZiAo > T19YQVRUUiA+IG9fbG9jYWwpIG9fbG9jYWwgPSBPX1hBVFRSOwogI2VuZGlmCisjaWZkZWYgT19E > SVJFQ1QKKwlpZiAoT19ESVJFQ1QgPiBvX2xvY2FsKSBvX2xvY2FsID0gT19ESVJFQ1Q7CisjZW5k > aWYKKyNpZmRlZiBPX0RJUkVDVE9SWQorCWlmIChPX0RJUkVDVE9SWSA+IG9fbG9jYWwpIG9fbG9j > YWwgPSBPX0RJUkVDVE9SWTsKKyNlbmRpZgorI2lmZGVmIE9fU0VBUkNICisJaWYgKE9fU0VBUkNI > ID4gb19sb2NhbCkgb19sb2NhbCA9IE9fU0VBUkNIOworI2VuZGlmCisjaWZkZWYgT19QQVRICisJ > aWYgKE9fUEFUSCA+IG9fbG9jYWwpIG9fbG9jYWwgPSBPX1BBVEg7CisjZW5kaWYKKyNpZmRlZiBP > X0VYRUMKKwlpZiAoT19FWEVDID4gb19sb2NhbCkgb19sb2NhbCA9IE9fRVhFQzsKKyNlbmRpZgor > I2lmZGVmIE9fQ0xPRVhFQworCWlmIChPX0NMT0VYRUMgPiBvX2xvY2FsKSBvX2xvY2FsID0gT19D > TE9FWEVDOworI2VuZGlmCisjaWZkZWYgT19UVFlfSU5JVAorCWlmIChPX1RUWV9JTklUID4gb19s > b2NhbCkgb19sb2NhbCA9IE9fVFRZX0lOSVQ7CisjZW5kaWYKIAogCXByaW50ZigiI2RlZmluZSBf > YXN0X09fTE9DQUwJCTAlb1xuIiwgb19sb2NhbDw8MSk7CiAjaWYJTkVFRF9PCkBAIC0zMTYsMTEg > KzM2OSwzMyBAQAogI2VuZGlmCiAjaWZuZGVmCU9fU0VBUkNICiAjaWZkZWYgT19QQVRICi0JcHJp > bnRmKCIjZGVmaW5lIE9fU0VBUkNICQlPX1BBVEhcbiIpOworCS8qCisJICogT19QQVRIIGlzIGEg > TGludXgncyB2YXJpYXRpb24gb2YgT19TRUFSQ0guIFNpbmNlIHRoaXMgaXMgdHJlYXRlZAorCSAq > IGFzIGV4dGVuc2lvbiBpdCBtYXkgbm90IGJlIGF2YWlsYWJsZSB3aXRob3V0IF9HTlVfU09VUkNF > LgorCSAqIEV2ZW4gZXZlbiB3aXRoIF9HTlVfU09VUkNFIHNvbWUgTGludXggcGxhdGZvcm1zIGhh > dmUgYnVncyBpbiB0aGVpcgorCSAqIGhlYWRlcnMgd2hpY2ggcHJldmVudHMgdGhlIGRlZmluaXRp > b24gb2YgT19QQVRIIGluIHNvbWUgaGlkZW91cworCSAqIGNhc2VzLiBUbyBwcmV2ZW50IGFsbCB0 > aGlzIG1lc3Mgd2UganVzdCBncmFiIHRoZSBvY3RhbCB2YWx1ZSBhbmQKKwkgKiBkZWZpbmUgaXQg > YXMgT19TRUFSQ0guCisJICogRG8gbm90IGNoYW5nZSB0aGlzLiBZb3UnbGwgZW5kLXVwIGluIGhl > bGwsIHRvZ2V0aGVyIHdpdGggdGhlIExpbnV4CisJICogaGVhZGVycy4gUXVpY2tseS4KKwkgKi8K > KwlwcmludGYoIiNkZWZpbmUgT19TRUFSQ0gJCTAlb1xuIiwgKGludClPX1BBVEgpOwogI2Vsc2UK > IAlwcmludGYoIiNkZWZpbmUgT19TRUFSQ0gJCTAlb1xuIiwgb19sb2NhbCA8PD0gMSk7CiAjZW5k > aWYKICNlbmRpZgorI2lmZGVmIE9fRElSRUNUT1JZCisJLyoKKwkgKiBPX0RJUkVDVE9SWSBpcyBv > bmx5IGF2YWlsYWJsZSBhcyBleHRlbnNpb24gKGhpZGRlbiBieQorCSAqIG9ic2N1cmUgQ1BQIGZs > YWdzKSBvbiBvbGRlciBMaW51eCB2ZXJzaW9ucy4gV2UgbWFrZSBpdAorCSAqIGF2YWlsYWJsZSBo > ZXJlIChzYW1lIGFzIHdpdGggT19QQVRIIGFib3ZlKSBpbiBnZW5lcmFsCisJICogd2l0aG91dCBy > ZXF1aXJpbmcgdGhlIHdob2xlIGJ1aWxkIHRvIHVzZSB0aGUgb2JzdXJlCisJICogQ1BQIGZsYWdz > IHRvIHByZXZlbnQgYW55IHNpZGUtZWZmZWN0cy4KKwkgKi8KKwlwcmludGYoIiNpZm5kZWYgT19E > SVJFQ1RPUllcbiIpOworCXByaW50ZigiI2RlZmluZSBPX0RJUkVDVE9SWQkJMCVvXG4iLCAoaW50 > KU9fRElSRUNUT1JZKTsKKwlwcmludGYoIiNlbmRpZlxuIik7CisjZW5kaWYKICNpZm5kZWYJT19J > TlRFUkNFUFQKIAlwcmludGYoIiNkZWZpbmUgT19JTlRFUkNFUFQJCTAlb1xuIiwgb19sb2NhbCA8 > PD0gMSk7CiAjZW5kaWYKQEAgLTM0Niw3ICs0MjEsOCBAQAogI2lmICFkZWZpbmVkKEFUX0ZEQ1dE > KSB8fCAhZGVmaW5lZChBVF9TWU1MSU5LX05PRk9MTE9XKSB8fCAhZGVmaW5lZChBVF9SRU1PVkVE > SVIpIHx8ICFkZWZpbmVkKEFUX1NZTUxJTktfRk9MTE9XKSB8fCAhZGVmaW5lZChBVF9FQUNDRVNT > KQogCXByaW50ZigiXG4iKTsKICNpZm5kZWYgQVRfRkRDV0QKLQlwcmludGYoIiNkZWZpbmUgQVRf > RkRDV0QJCS0xMDBcbiIpOworCS8qIEFUX0ZEQ1dEIG11c3QgYmUgYmVsb3cgLTI1NiBmb3IgcG9y > dGFiaWxpdHkgcmVhc29ucyAqLworCXByaW50ZigiI2RlZmluZSBBVF9GRENXRAkJLTY2NlxuIik7 > CiAjZW5kaWYKICNpZm5kZWYgQVRfU1lNTElOS19OT0ZPTExPVwogCXByaW50ZigiI2RlZmluZSBB > VF9TWU1MSU5LX05PRk9MTE9XCTB4MTAwXG4iKTsKQEAgLTQyMCwxMCArNDk2LDEwIEBACiAJcHJp > bnRmKCJleHRlcm4gaW50CW1rbm9kYXQoaW50LCBjb25zdCBjaGFyKiwgbW9kZV90LCBkZXZfdCk7 > XG4iKTsKIAlwcmludGYoIiNlbmRpZlxuIik7CiAJcHJpbnRmKCIjaWYgIV9saWJfb3BlbmF0XG4i > KTsKLQlwcmludGYoImV4dGVybiBpbnQJb3BlbmF0KGludCwgY29uc3QgY2hhciosIG1vZGVfdCwg > aW50KTtcbiIpOworCXByaW50ZigiZXh0ZXJuIGludAlvcGVuYXQoaW50LCBjb25zdCBjaGFyKiwg > aW50IGZsYWdzLCAuLi4pO1xuIik7CiAJcHJpbnRmKCIjZW5kaWZcbiIpOwogCXByaW50ZigiI2lm > ICFfbGliX3JlYWRsaW5rYXRcbiIpOwotCXByaW50ZigiZXh0ZXJuIGludAlyZWFkbGlua2F0KGlu > dCwgY29uc3QgY2hhciosIHZvaWQqLCBzaXplX3QpO1xuIik7CisJcHJpbnRmKCJleHRlcm4gc3Np > emVfdAlyZWFkbGlua2F0KGludCwgY29uc3QgY2hhciosIGNoYXIqLCBzaXplX3QpO1xuIik7CiAJ > cHJpbnRmKCIjZW5kaWZcbiIpOwogCXByaW50ZigiI2lmICFfbGliX3N5bWxpbmthdFxuIik7CiAJ > cHJpbnRmKCJleHRlcm4gaW50CXN5bWxpbmthdChjb25zdCBjaGFyKiwgaW50LCBjb25zdCBjaGFy > Kik7XG4iKTsKQEAgLTQzMSw2ICs1MDcsOSBAQAogCXByaW50ZigiI2lmICFfbGliX3VubGlua2F0 > XG4iKTsKIAlwcmludGYoImV4dGVybiBpbnQJdW5saW5rYXQoaW50LCBjb25zdCBjaGFyKiwgaW50 > KTtcbiIpOwogCXByaW50ZigiI2VuZGlmXG4iKTsKKwlwcmludGYoIiNpZiAhX2xpYl9yZW5hbWVh > dFxuIik7CisJcHJpbnRmKCJleHRlcm4gaW50CXJlbmFtZWF0KGludCBmcm9tZmQsIGNvbnN0IGNo > YXIgKm9sZCwgaW50IHRvZmQsIGNvbnN0IGNoYXIgKm5ldyk7XG4iKTsKKwlwcmludGYoIiNlbmRp > ZlxuIik7CiAJcHJpbnRmKCJcbiIpOwogCXByaW50ZigiI3VuZGVmCWV4dGVyblxuIik7CiAKZGlm > ZiAtciAtdSBidWlsZF9pMzg2XzY0Yml0X2RlYnVnL3NyYy9saWIvbGliYXN0L2ZlYXR1cmVzL2xp > YiBidWlsZF9pMzg2XzY0Yml0X2RlYnVnX3BhdGNoZWQvc3JjL2xpYi9saWJhc3QvZmVhdHVyZXMv > bGliCi0tLSBzcmMvbGliL2xpYmFzdC9mZWF0dXJlcy9saWIJMjAxMy0wNi0yNyAwNDozNDoxOS4w > MDAwMDAwMDAgKzAyMDAKKysrIHNyYy9saWIvbGliYXN0L2ZlYXR1cmVzL2xpYgkyMDEzLTA3LTA3 > IDA1OjE5OjE3LjA2NDY5Mzk5MyArMDIwMApAQCAtNDgsNyArNDgsNyBAQAogbGliCW9wZW5hdCAt > RF9BVEZJTEVfU09VUkNFIGZjbnRsLmggdW5pc3RkLmggeWVzewogCSNkZWZpbmUgX0FURklMRV9T > T1VSQ0UJMQogfWVuZAotbGliCWZhY2Nlc3NhdCxmY2htb2RhdCxmY2hvd25hdCxmc3RhdGF0LGxp > bmthdCxta2RpcmF0LG1rZmlmb2F0LG1rbm9kYXQsb3BlbmF0LHJlYWRsaW5rYXQsc3ltbGlua2F0 > LHVubGlua2F0IC1EX0FURklMRV9TT1VSQ0UgZmNudGwuaCB1bmlzdGQuaAorbGliCWZhY2Nlc3Nh > dCxmY2htb2RhdCxmY2hvd25hdCxmc3RhdGF0LGxpbmthdCxta2RpcmF0LG1rZmlmb2F0LG1rbm9k > YXQsb3BlbmF0LHJlYWRsaW5rYXQsc3ltbGlua2F0LHVubGlua2F0LHJlbmFtZWF0IC1EX0FURklM > RV9TT1VSQ0UgZmNudGwuaCB1bmlzdGQuaAogbGliCWZzdGF0YXQ2NCxvcGVuYXQ2NCAtRF9BVEZJ > TEVfU09VUkNFIC1EX0xBUkdFRklMRTY0X1NPVVJDRSBmY250bC5oIHVuaXN0ZC5oIHN5cy9zdGF0 > LmgKIAogbGliCWxjaG1vZCBub3RleyBsY2htb2QgaW1wbGVtZW50ZWQgfWVuZCBleGVjdXRlewpk > aWZmIC1yIC11IGJ1aWxkX2kzODZfNjRiaXRfZGVidWcvc3JjL2xpYi9saWJhc3QvcGF0aC9wYXRo > b3Blbi5jIGJ1aWxkX2kzODZfNjRiaXRfZGVidWdfcGF0Y2hlZC9zcmMvbGliL2xpYmFzdC9wYXRo > L3BhdGhvcGVuLmMKLS0tIHNyYy9saWIvbGliYXN0L3BhdGgvcGF0aG9wZW4uYwkyMDEzLTA2LTI1 > IDIzOjQwOjMyLjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2xpYi9saWJhc3QvcGF0aC9wYXRob3Bl > bi5jCTIwMTMtMDctMDcgMDU6MTk6MTcuMDY1NjkzOTgzICswMjAwCkBAIC0xNjYsNyArMTY2LDcg > QEAKIAkJCXJldHVybglkZXYucGlkID4gMCAmJiBkZXYucGlkICE9IGdldHBpZCgpID8KIAkJCQlv > cGVuYXQoQVRfRkRDV0QsIGIsIG9mbGFncywgbW9kZSkgOgogCQkJCWJbZGV2LnBhdGgub2Zmc2V0 > XSA/Ci0JCQkJb3BlbmF0KGRldi5mZCwgYiArIGRldi5wYXRoLm9mZnNldCArIDEsIG9mbGFncywg > bW9kZSkgOgorCQkJCW9wZW5hdChkZXYuZmQsIGIgKyBkZXYucGF0aC5vZmZzZXQsIG9mbGFncywg > bW9kZSkgOgogCQkJCWZjbnRsKGRldi5mZCwgKG9mbGFncyAmIE9fQ0xPRVhFQykgPyBGX0RVUEZE > X0NMT0VYRUMgOiBGX0RVUEZELCAwKTsKIAkJZWxzZSBpZiAoZGV2LnByb3Qub2Zmc2V0KQogCQl7 > CmRpZmYgLXIgLXUgYnVpbGRfaTM4Nl82NGJpdF9kZWJ1Zy9zcmMvbGliL2xpYmFzdC9wb3J0L2lu > dGVyY2VwdC5jIGJ1aWxkX2kzODZfNjRiaXRfZGVidWdfcGF0Y2hlZC9zcmMvbGliL2xpYmFzdC9w > b3J0L2ludGVyY2VwdC5jCi0tLSBzcmMvbGliL2xpYmFzdC9wb3J0L2ludGVyY2VwdC5jCTIwMTMt > MDYtMjggMDg6NTk6NDAuMDAwMDAwMDAwICswMjAwCisrKyBzcmMvbGliL2xpYmFzdC9wb3J0L2lu > dGVyY2VwdC5jCTIwMTMtMDctMDcgMDU6MTk6MTcuMDY1NjkzOTgzICswMjAwCkBAIC0xNzYsNyAr > MTc2LDcgQEAKIGFzdF9vcGVuYXQoaW50IGN3ZCwgY29uc3QgY2hhciogcGF0aCwgaW50IGZsYWdz > LCAuLi4pCiB7CiAJaW50CXI7Ci0jaWYgX2FzdF9PX0xPQ0FMICYmIE9fQ0xPRVhFQyA+PSBfYXN0 > X09fTE9DQUwKKyNpZiBkZWZpbmVkKF9hc3RfT19MT0NBTCkgJiYgKE9fQ0xPRVhFQyA+PSBfYXN0 > X09fTE9DQUwpCiAJaW50CWM7CiAjZW5kaWYKIAltb2RlX3QJbW9kZTsKQEAgLTE4NSw3ICsxODUs > NyBAQAogCXZhX3N0YXJ0KGFwLCBmbGFncyk7CiAJbW9kZSA9IChmbGFncyAmIE9fQ1JFQVQpID8g > dmFfYXJnKGFwLCBtb2RlX3QpIDogKG1vZGVfdCkwOwogCXZhX2VuZChhcCk7Ci0jaWYgX2FzdF9P > X0xPQ0FMICYmIE9fQ0xPRVhFQyA+PSBfYXN0X09fTE9DQUwKKyNpZiBkZWZpbmVkKF9hc3RfT19M > T0NBTCkgJiYgKE9fQ0xPRVhFQyA+PSBfYXN0X09fTE9DQUwpCiAJaWYgKGZsYWdzICYgT19DTE9F > WEVDKQogCXsKIAkJZmxhZ3MgJj0gfk9fQ0xPRVhFQzsKQEAgLTE5OCw3ICsxOTgsNyBAQAogCQlS > RVNUQVJUKHIsIG9wZW5hdChjd2QsIHBhdGgsIGZsYWdzJn5PX0lOVEVSQ0VQVCwgbW9kZSkpOwog > CWVsc2UKIAkJUkVTVEFSVChyLCBwYXRob3Blbihjd2QsIHBhdGgsIE5pTCwgMCwgMCwgZmxhZ3N8 > T19JTlRFUkNFUFQsIG1vZGUpKTsKLSNpZiBfYXN0X09fTE9DQUwgJiYgT19DTE9FWEVDID49IF9h > c3RfT19MT0NBTAorI2lmIGRlZmluZWQoX2FzdF9PX0xPQ0FMKSAmJiAoT19DTE9FWEVDID49IF9h > c3RfT19MT0NBTCkKIAlpZiAoYyAmJiByID49IDApCiAJCVJFU1RBUlQoYywgZmNudGwociwgRl9T > RVRGRCwgRkRfQ0xPRVhFQykpOwogI2VuZGlmCkBAIC03MjMsOCArNzIzLDE4IEBACiBhc3Rfc29j > a2V0KGludCBkb21haW4sIGludCB0eXBlLCBpbnQgcHJvdG9jb2wpCiB7CiAJaW50CXI7CisJaW50 > CWZ0eXBlPXR5cGU7CiAKLQlSRVNUQVJUKHIsIHNvY2tldChkb21haW4sIHR5cGUsIHByb3RvY29s > KSk7CisvKiBGaWx0ZXIgZmxhZ3Mgd2UgZW11bGF0ZSAqLworI2lmIF9hc3RfU09DS19DTE9FWEVD > CisJaWYgKGZ0eXBlICYgU09DS19DTE9FWEVDKQorCQlmdHlwZSAmPSB+U09DS19DTE9FWEVDOwor > I2VuZGlmCisjaWYgX2FzdF9TT0NLX05PTkJMT0NLCisJaWYgKGZ0eXBlICYgU09DS19OT05CTE9D > SykKKwkJZnR5cGUgJj0gflNPQ0tfTk9OQkxPQ0s7CisjZW5kaWYKKwlSRVNUQVJUKHIsIHNvY2tl > dChkb21haW4sIGZ0eXBlLCBwcm90b2NvbCkpOwogCVNPQ0tUWVBFKHIsIHR5cGUsIHIsIC0xKTsK > IAlyZXR1cm4gcjsKIH0KQEAgLTczMyw4ICs3NDMsMTkgQEAKIGFzdF9zb2NrZXRwYWlyKGludCBk > b21haW4sIGludCB0eXBlLCBpbnQgcHJvdG9jb2wsIGludCBmZHNbMl0pCiB7CiAJaW50CXI7CisJ > aW50CWZ0eXBlPXR5cGU7CisKKy8qIEZpbHRlciBmbGFncyB3ZSBlbXVsYXRlICovCisjaWYgX2Fz > dF9TT0NLX0NMT0VYRUMKKwlpZiAoZnR5cGUgJiBTT0NLX0NMT0VYRUMpCisJCWZ0eXBlICY9IH5T > T0NLX0NMT0VYRUM7CisjZW5kaWYKKyNpZiBfYXN0X1NPQ0tfTk9OQkxPQ0sKKwlpZiAoZnR5cGUg > JiBTT0NLX05PTkJMT0NLKQorCQlmdHlwZSAmPSB+U09DS19OT05CTE9DSzsKKyNlbmRpZgogCi0J > UkVTVEFSVChyLCBzb2NrZXRwYWlyKGRvbWFpbiwgdHlwZSwgcHJvdG9jb2wsIGZkcykpOworCVJF > U1RBUlQociwgc29ja2V0cGFpcihkb21haW4sIGZ0eXBlLCBwcm90b2NvbCwgZmRzKSk7CiAJU09D > S1RZUEUociwgdHlwZSwgZmRzWzBdLCBmZHNbMV0pOwogCXJldHVybiByOwogfQo= > --001a11c28aa2dd24c204e1e1caeb > Content-Type: text/plain; charset="us-ascii" > MIME-Version: 1.0 > Content-Transfer-Encoding: 7bit > Content-Disposition: inline > _______________________________________________ > ast-users mailing list > [email protected] > http://lists.research.att.com/mailman/listinfo/ast-users > --001a11c28aa2dd24c204e1e1caeb-- _______________________________________________ ast-users mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-users
