From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: Merge branch 'master' of ssh://pkgs.fedoraproject.org/gcc Date: Mon, 29 Jun 2026 12:27:02 GMT Message-ID: <178273602246.1.3472069566194127343.rpms-gcc-395869404d33@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 395869404d3397fe697212edb6a5ff34d4d3e742 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogMzk1ODY5NDA0ZDMzOTdmZTY5NzIxMmVkYjZhNWZmMzRk NGQzZTc0MgpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE2LTAyLTA1VDIwOjM0OjAzKzAxOjAwClN0YXRzICA6ICs0NTQvLTIzOCBpbiAxMCBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2NjL2MvMzk1 ODY5NDA0ZDMzOTdmZTY5NzIxMmVkYjZhNWZmMzRkNGQzZTc0Mj9icmFuY2g9cmhlbC1mNDEtYmFz ZQoKTG9nOgpNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vcGtncy5mZWRvcmFwcm9qZWN0 Lm9yZy9nY2MKCi0tLQpkaWZmIC0tZ2l0IGEvZ2NjLnNwZWMgYi9nY2Muc3BlYwppbmRleCA5MzE1 OWRjLi4yNWUwZGUyIDEwMDY0NAotLS0gYS9nY2Muc3BlYworKysgYi9nY2Muc3BlYwpAQCAtODYs NyArODYsNyBAQAogU3VtbWFyeTogVmFyaW91cyBjb21waWxlcnMgKEMsIEMrKywgT2JqZWN0aXZl LUMsIEphdmEsIC4uLikKIE5hbWU6IGdjYwogVmVyc2lvbjogJXtnY2NfdmVyc2lvbn0KLVJlbGVh c2U6ICV7Z2NjX3JlbGVhc2V9JXs/ZGlzdH0KK1JlbGVhc2U6ICV7Z2NjX3JlbGVhc2V9JXs/ZGlz dH0uMQogIyBsaWJnY2MsIGxpYmdmb3J0cmFuLCBsaWJnb21wLCBsaWJzdGRjKysgYW5kIGNydHN0 dWZmIGhhdmUKICMgR0NDIFJ1bnRpbWUgRXhjZXB0aW9uLgogTGljZW5zZTogR1BMdjMrIGFuZCBH UEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBMR1BM djIrIGFuZCBCU0QKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBi MTFmYTU3Li5lZWU4YWNhIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUK QEAgLTIsMyArMiw0IEBACiAvZ2NjLTYuMC4wLTIwMTYwMTI4LnRhci5iejIKIC9nY2MtNi4wLjAt MjAxNjAxMjkudGFyLmJ6MgogL2djYy02LjAuMC0yMDE2MDIwMS50YXIuYnoyCisvZ2NjLTYuMC4w LTIwMTYwMjA1LnRhci5iejIKCmRpZmYgLS1naXQgYS9nY2Muc3BlYyBiL2djYy5zcGVjCmluZGV4 IDcyY2YzNzAuLjI1ZTBkZTIgMTAwNjQ0Ci0tLSBhL2djYy5zcGVjCisrKyBiL2djYy5zcGVjCkBA IC0xLDkgKzEsOSBAQAotJWdsb2JhbCBEQVRFIDIwMTYwMjAxCi0lZ2xvYmFsIFNWTlJFViAyMzMw NTIKKyVnbG9iYWwgREFURSAyMDE2MDIwNQorJWdsb2JhbCBTVk5SRVYgMjMzMTg1CiAlZ2xvYmFs IGdjY192ZXJzaW9uIDYuMC4wCiAjIE5vdGUsIGdjY19yZWxlYXNlIG11c3QgYmUgaW50ZWdlciwg aWYgeW91IHdhbnQgdG8gYWRkIHN1ZmZpeGVzIHRvCiAjICV7cmVsZWFzZX0sIGFwcGVuZCB0aGVt IGFmdGVyICV7Z2NjX3JlbGVhc2V9IG9uIFJlbGVhc2U6IGxpbmUuCi0lZ2xvYmFsIGdjY19yZWxl YXNlIDAuOQorJWdsb2JhbCBnY2NfcmVsZWFzZSAwLjEwCiAlZ2xvYmFsIF91bnBhY2thZ2VkX2Zp bGVzX3Rlcm1pbmF0ZV9idWlsZCAwCiAlZ2xvYmFsIF9wZXJmb3JtYW5jZV9idWlsZCAxCiAjIEhh cmRlbmluZyBzbG93cyB0aGUgY29tcGlsZXIgd2F5IHRvbyBtdWNoLgpAQCAtMjA2LDggKzIwNiwx MSBAQCBQYXRjaDEwOiBnY2M2LW5vLWFkZC1uZWVkZWQucGF0Y2gKIFBhdGNoMTE6IGdjYzYtbGli Z28tcDIyNC5wYXRjaAogUGF0Y2gxMjogZ2NjNi1hYXJjaDY0LWFzeW5jLXVudy10YWJsZXMucGF0 Y2gKIFBhdGNoMTM6IGdjYzYtbGlic2FuaXRpemUtYWFyY2g2NC12YTQyLnBhdGNoCi1QYXRjaDE0 OiBnY2M2LXByNjk1NTgucGF0Y2gKLVBhdGNoMTU6IGdjYzYtcHI2OTU5Mi5wYXRjaAorUGF0Y2gx NDogZ2NjNi1wcjY1OTMyLWNzZS1yZXZlcnQucGF0Y2gKK1BhdGNoMTU6IGdjYzYtcHI2OTI0MS5w YXRjaAorUGF0Y2gxNjogZ2NjNi1wcjY5NjI4LnBhdGNoCitQYXRjaDE3OiBnY2M2LXByNjk2NTgu cGF0Y2gKK1BhdGNoMTg6IGdjYzYtcHI2OTY5MS5wYXRjaAogCiAjIE9uIEFSTSBFQUJJIHN5c3Rl bXMsIHdlIGRvIHdhbnQgLWdudWVhYmkgdG8gYmUgcGFydCBvZiB0aGUKICMgdGFyZ2V0IHRyaXBs ZS4KQEAgLTc3NCw4ICs3NzcsMTEgQEAgcGFja2FnZSBvciB3aGVuIGRlYnVnZ2luZyB0aGlzIHBh Y2thZ2UuCiBybSAtZiBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvcDIyNHssX3Rlc3R9LmdvCiAl cGF0Y2gxMiAtcDAgLWIgLmFhcmNoNjQtYXN5bmMtdW53LXRhYmxlc34KICVwYXRjaDEzIC1wMCAt YiAubGlic2FuaXRpemUtYWFyY2g2NC12YTQyfgotJXBhdGNoMTQgLXAwIC1iIC5wcjY5NTU4fgot JXBhdGNoMTUgLXAwIC1iIC5wcjY5NTkyfgorJXBhdGNoMTQgLXAwIC1iIC5wcjY1OTMyLWNzZS1y ZXZlcnR+CislcGF0Y2gxNSAtcDAgLWIgLnByNjkyNDF+CislcGF0Y2gxNiAtcDAgLWIgLnByNjk2 Mjh+CislcGF0Y2gxNyAtcDAgLWIgLnByNjk2NTh+CislcGF0Y2gxOCAtcDAgLWIgLnByNjk2OTF+ CiAKICVpZiAwJXs/X2VuYWJsZV9kZWJ1Z19wYWNrYWdlc30KIG1rZGlyIGR3ei13cmFwcGVyCkBA IC04MzUsNyArODQxLDcgQEAgaWYgWyAtZiAiJHtCVUlMRERJUn0iL2RlYnVnZmlsZXMubGlzdCBc CiAgIGRvbmUKICAgY3AgLWEgIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLWJhc2UubGlzdCAiJHtC VUlMRERJUn0iL2RlYnVnZmlsZXMtcmVtb3ZlLmxpc3QKICVpZiAle2J1aWxkX2dvfQotICBsaWJn b3NvPWBiYXNlbmFtZSAuJXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjguKmAKKyAgbGliZ29z bz1gYmFzZW5hbWUgLiV7X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby45LipgCiAgIGZvciBmIGlu ICV7X3ByZWZpeH0vYmluL2dvLmdjYyBcCiAJICAgJXtfcHJlZml4fS9iaW4vZ29mbXQuZ2NjIFwK IAkgICAle19wcmVmaXh9L2xpYmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2Nf dmVyc2lvbn0vY2dvIFwKQEAgLTg0Niw4ICs4NTIsOCBAQCBpZiBbIC1mICIke0JVSUxERElSfSIv ZGVidWdmaWxlcy5saXN0IFwKICAgICBybSAtZiB1c3IvbGliL2RlYnVnJGYuZGVidWcKICAgICBl Y2hvICIvdXNyL2xpYi9kZWJ1ZyRmLmRlYnVnIiA+PiAiJHtCVUlMRERJUn0iL2RlYnVnZmlsZXMt cmVtb3ZlLmxpc3QKICAgZG9uZQotICBybSAtZiB1c3IvbGliL2RlYnVnJXtfcHJlZml4fS8le19s aWJ9L2xpYmdvLnNvLjguZGVidWcKLSAgZWNobyAiL3Vzci9saWIvZGVidWcle19wcmVmaXh9LyV7 X2xpYn0vbGliZ28uc28uOC5kZWJ1ZyIgPj4gIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLXJlbW92 ZS5saXN0CisgIHJtIC1mIHVzci9saWIvZGVidWcle19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28u OS5kZWJ1ZworICBlY2hvICIvdXNyL2xpYi9kZWJ1ZyV7X3ByZWZpeH0vJXtfbGlifS9saWJnby5z by45LmRlYnVnIiA+PiAiJHtCVUlMRERJUn0iL2RlYnVnZmlsZXMtcmVtb3ZlLmxpc3QKICAgZm9y IGYgaW4gYGZpbmQgdXNyL2xpYi9kZWJ1Zy8uYnVpbGQtaWQgLXR5cGUgbGA7IGRvCiAgICAgaWYg bHMgLWwgIiRmIiB8IGVncmVwIC1xIC0tICctPi4qKC9iaW4vZ28uZ2NjfC9iaW4vZ29mbXQuZ2Nj fC9jZ298bGliWzAtOV0qL2xpYmdvXC5zbyknOyB0aGVuCiAgICAgICBlY2hvICIvJGYiID4+ICIk e0JVSUxERElSfSIvZGVidWdmaWxlcy1yZW1vdmUubGlzdApAQCAtMTMzOSw3ICsxMzQ1LDcgQEAg bG4gLXNmIC4uLy4uLy4uL2xpYnN0ZGMrKy5zby42LipbMC05XSBsaWJzdGRjKysuc28KIGxuIC1z ZiAuLi8uLi8uLi9saWJnZm9ydHJhbi5zby4zLiogbGliZ2ZvcnRyYW4uc28KIGxuIC1zZiAuLi8u Li8uLi9saWJnb21wLnNvLjEuKiBsaWJnb21wLnNvCiAlaWYgJXtidWlsZF9nb30KLWxuIC1zZiAu Li8uLi8uLi9saWJnby5zby44LiogbGliZ28uc28KK2xuIC1zZiAuLi8uLi8uLi9saWJnby5zby45 LiogbGliZ28uc28KICVlbmRpZgogJWlmICV7YnVpbGRfbGlicXVhZG1hdGh9CiBsbiAtc2YgLi4v Li4vLi4vbGlicXVhZG1hdGguc28uMC4qIGxpYnF1YWRtYXRoLnNvCkBAIC0xMzcwLDcgKzEzNzYs NyBAQCBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJzdGRjKysuc28uNi4qWzAtOV0gbGli c3RkYysrLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnZm9ydHJhbi5zby4zLiog bGliZ2ZvcnRyYW4uc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdvbXAuc28uMS4q IGxpYmdvbXAuc28KICVpZiAle2J1aWxkX2dvfQotbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0v bGliZ28uc28uOC4qIGxpYmdvLnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnby5z by45LiogbGliZ28uc28KICVlbmRpZgogJWlmICV7YnVpbGRfbGlicXVhZG1hdGh9CiBsbiAtc2Yg Li4vLi4vLi4vLi4vJXtfbGlifS9saWJxdWFkbWF0aC5zby4wLiogbGlicXVhZG1hdGguc28KQEAg LTE0OTEsOCArMTQ5Nyw4IEBAIGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ2Zv cnRyYW4uc28uMy4qIHwgc2VkIHN+L2xpYi9+L2xpYjY0L35gIDY0L2xpCiBsbiAtc2YgLi4vYGVj aG8gLi4vLi4vLi4vLi4vbGliL2xpYmdvbXAuc28uMS4qIHwgc2VkIHN+L2xpYi9+L2xpYjY0L35g IDY0L2xpYmdvbXAuc28KICVpZiAle2J1aWxkX2dvfQogcm0gLWYgbGliZ28uc28KLWVjaG8gJ0lO UFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnby5zby44Liog fCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IGxpYmdvLnNvCi1lY2hvICdJTlBVVCAoICV7 X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnby5zby44LiogfCBzZWQg J3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDY0L2xpYmdvLnNvCitlY2hvICdJTlBVVCAoICV7X3By ZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ28uc28uOS4qIHwgc2VkICdzLF4u KmxpYmcsbGliZywnYCcgKScgPiBsaWJnby5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xp YjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ28uc28uOS4qIHwgc2VkICdzLF4uKmxpYmcs bGliZywnYCcgKScgPiA2NC9saWJnby5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0 aH0KIHJtIC1mIGxpYnF1YWRtYXRoLnNvCkBAIC0xNTk4LDggKzE2MDQsOCBAQCBsbiAtc2YgLi4v YGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2ZvcnRyYW4uc28uMy4qIHwgc2VkIHN+Ly4uL2xp YjY0L34vfmAgMzIvbAogbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvbXAu c28uMS4qIHwgc2VkIHN+Ly4uL2xpYjY0L34vfmAgMzIvbGliZ29tcC5zbwogJWlmICV7YnVpbGRf Z299CiBybSAtZiBsaWJnby5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNo byAuLi8uLi8uLi8uLi9saWI2NC9saWJnby5zby44LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdg JyApJyA+IGxpYmdvLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8u Li8uLi8uLi9saWI2NC9saWJnby5zby44LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+ IDMyL2xpYmdvLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4u Ly4uLy4uL2xpYjY0L2xpYmdvLnNvLjkuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4g bGliZ28uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4u L2xpYjY0L2xpYmdvLnNvLjkuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gMzIvbGli Z28uc28KICVlbmRpZgogJWlmICV7YnVpbGRfbGlicXVhZG1hdGh9CiBybSAtZiBsaWJxdWFkbWF0 aC5zbwpAQCAtMTc4MCw3ICsxNzg2LDcgQEAgY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZp eH0vJXtfbGlifS9saWJ0c2FuLnNvLjAuKgogY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZp eH0vJXtfbGlifS9saWJsc2FuLnNvLjAuKgogJWVuZGlmCiAlaWYgJXtidWlsZF9nb30KLWNobW9k IDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28uOC4qCitjaG1vZCA3 NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjkuKgogJWVuZGlmCiBj aG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYm9iamMuc28uNC4qCiAK QEAgLTI5ODIsNyArMjk4OCw3IEBAIGZpCiAlZG9jIHJwbS5kb2MvZ28vKgogCiAlZmlsZXMgLW4g bGliZ28KLSV7X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby44KgorJXtfcHJlZml4fS8le19saWJ9 L2xpYmdvLnNvLjkqCiAlZG9jIHJwbS5kb2MvbGliZ28vKgogCiAlZmlsZXMgLW4gbGliZ28tZGV2 ZWwKQEAgLTMwNjgsOCArMzA3NCwyMyBAQCBmaQogJWRvYyBycG0uZG9jL2NoYW5nZWxvZ3MvbGli Y2MxL0NoYW5nZUxvZyoKIAogJWNoYW5nZWxvZwotKiBXZWQgRmViIDAzIDIwMTYgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSA2LjAuMC0wLjku MQotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI0 X01hc3NfUmVidWlsZAorKiBGcmkgRmViICA1IDIwMTYgSmFrdWIgSmVsaW5layA8amFrdWJAcmVk aGF0LmNvbT4gNi4wLjAtMC4xMAorLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsKKyAgLSBQUnMgYm9v dHN0cmFwLzY5NjExLCBib290c3RyYXAvNjk2NzcsIGMrKy82ODk0OCwgYysrLzY5MDU2LCBjKysv NjkyNTEsCisJYysrLzY5MjUzLCBjKysvNjkyNzcsIGMrKy82OTI5MCwgYysrLzY5MzQ5LCBjLzY5 NjI3LCBjLzY5NjY5LAorCWZvcnRyYW4vNjc0NTEsIGZvcnRyYW4vNjkzNjgsIGZvcnRyYW4vNjk0 MTgsIGxpYnN0ZGMrKy82OTYyNiwKKwltaWRkbGUtZW5kLzY4NTQyLCBydGwtb3B0LzY3NjA5LCBy dGwtb3B0aW1pemF0aW9uLzY0NjgyLAorCXJ0bC1vcHRpbWl6YXRpb24vNjk1NjcsIHJ0bC1vcHRp bWl6YXRpb24vNjk1NzcsIHNhbml0aXplci82OTI3NiwKKwl0YXJnZXQvNjU5MzIsIHRhcmdldC82 NzAzMiwgdGFyZ2V0LzY3NzE0LCB0YXJnZXQvNjgxMjQsIHRhcmdldC82ODY2MiwKKwl0YXJnZXQv NjkxMTgsIHRhcmdldC82OTM2OSwgdGFyZ2V0LzY5NDU0LCB0YXJnZXQvNjk0NjEsIHRhcmdldC82 OTU0OCwKKwl0YXJnZXQvNjk2MTksIHRhcmdldC82OTYyNSwgdGFyZ2V0LzY5NjQ0LCB0YXJnZXQv Njk2NjcsIHRhcmdldC82OTY3NywKKwl0ZXN0c3VpdGUvNjU5NDAsIHRyZWUtb3B0aW1pemF0aW9u LzY5NTgwLCB0cmVlLW9wdGltaXphdGlvbi82OTU5NSwKKwl0cmVlLW9wdGltaXphdGlvbi82OTYw NgorICAtIEdvIDEuNnJjMQorLSBmaXggdmFyaW91cyBDKysgSUNFcyBpbiBhc3NpZ25fdGVtcCAo UFIgaXBhLzY5MjQxLCBQUiBjKysvNjk2NDkpCistIGZpeCBjaGFyYWN0ZXIgY29uc3RhbnQgZXJy b3IgcmVjb3ZlcnkgKFBSIGMrKy82OTYyOCkKKy0gZml4IGludmFsaWQgZGlhZ25vc3RpY3Mgb24g QysrIGFycmF5IGluaXRpYWxpemVycyAoUFIgYysrLzY5NjU4KQorLSBmaXggUkEgc3VicmVnIGhh bmRsaW5nIChQUiBydGwtb3B0aW1pemF0aW9uLzY5NjkxKQogCiAqIE1vbiBGZWIgIDEgMjAxNiBK YWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA2LjAuMC0wLjkKIC0gdXBkYXRlIGZyb20g dGhlIHRydW5rCgpkaWZmIC0tZ2l0IGEvZ2NjNi1wcjY1OTMyLWNzZS1yZXZlcnQucGF0Y2ggYi9n Y2M2LXByNjU5MzItY3NlLXJldmVydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi4xMmJlNDg4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNi1wcjY1OTMyLWNzZS1yZXZl cnQucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorUmV2ZXJ0OgorMjAxNi0wMi0wNCAgS3lyeWxvIFRr YWNob3YgIDxreXJ5bG8udGthY2hvdkBhcm0uY29tPgorCisJUFIgdGFyZ2V0LzY1OTMyCisJUFIg dGFyZ2V0LzY3NzE0CisJKiBjc2UuYyAoY3NlX2luc24pOiBQYXNzIE5VTEwgdG8gZm9sZF9ydHgg d2hlbiBpbml0aWFsbHkKKwlmb2xkaW5nIHRoZSBzb3VyY2Ugb2YgYSBTRVQuCisgCistLS0gZ2Nj L2NzZS5jCShyZXZpc2lvbiAyMzMxMzMpCisrKysgZ2NjL2NzZS5jCShyZXZpc2lvbiAyMzMxMzIp CitAQCAtNDYzNiw3ICs0NjM2LDcgQEAgY3NlX2luc24gKHJ0eF9pbnNuICppbnNuKQorIAorICAg ICAgIC8qIFNpbXBsaWZ5IGFuZCBmb2xkYWJsZSBzdWJleHByZXNzaW9ucyBpbiBTUkMuICBUaGVu IGdldCB0aGUgZnVsbHktCisgCSBzaW1wbGlmaWVkIHJlc3VsdCwgd2hpY2ggbWF5IG5vdCBuZWNl c3NhcmlseSBiZSB2YWxpZC4gICovCistICAgICAgc3JjX2ZvbGRlZCA9IGZvbGRfcnR4IChzcmMs IE5VTEwpOworKyAgICAgIHNyY19mb2xkZWQgPSBmb2xkX3J0eCAoc3JjLCBpbnNuKTsKKyAKKyAj aWYgMAorICAgICAgIC8qID8/PyBUaGlzIGNhdXNlZCBiYWQgY29kZSB0byBiZSBnZW5lcmF0ZWQg Zm9yIHRoZSBtNjhrIHBvcnQgd2l0aCAtTzIuCgpkaWZmIC0tZ2l0IGEvZ2NjNi1wcjY5MjQxLnBh dGNoIGIvZ2NjNi1wcjY5MjQxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjc0YmY2YWQKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M2LXByNjkyNDEucGF0Y2gKQEAgLTAs MCArMSwxNjMgQEAKKzIwMTYtMDItMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29t PgorCSAgICBQYXRyaWNrIFBhbGthICA8cHBhbGthQGdjYy5nbnUub3JnPgorCisJUFIgaXBhLzY5 MjQxCisJUFIgYysrLzY5NjQ5CisJKiBnaW1wbGlmeS5jIChnaW1wbGlmeV9tb2RpZnlfZXhwcik6 IFNldCBsaHMgZXZlbiBmb3Igbm9yZXR1cm4KKwljYWxscyBpZiB0aGUgcmV0dXJuIHR5cGUgaXMg VFJFRV9BRERSRVNTQUJMRS4KKwkqIGNncmFwaHVuaXQuYyAoY2dyYXBoX25vZGU6OmV4cGFuZF90 aHVuayk6IExpa2V3aXNlLgorCSogaXBhLXNwbGl0LmMgKHNwbGl0X2Z1bmN0aW9uKTogRml4IGRv dWJsZWQgIndlIiBpbiBjb21tZW50LgorCVVzZSB2b2lkIHJldHVybiB0eXBlIGZvciB0aGUgc3Bs aXQgcGFydCBldmVuIGlmCisJIXNwbGl0X3BvaW50LT5zcGxpdF9wYXJ0X3NldF9yZXR2YWwuCisK KwkqIGcrKy5kZy9pcGEvcHI2OTI0MS0xLkM6IE5ldyB0ZXN0LgorCSogZysrLmRnL2lwYS9wcjY5 MjQxLTIuQzogTmV3IHRlc3QuCisJKiBnKysuZGcvaXBhL3ByNjkyNDEtMy5DOiBOZXcgdGVzdC4K KwkqIGcrKy5kZy9pcGEvcHI2OTY0OS5DOiBOZXcgdGVzdC4KKworLS0tIGdjYy9naW1wbGlmeS5j LmpqCTIwMTYtMDItMDIgMjA6NDI6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2dpbXBsaWZ5 LmMJMjAxNi0wMi0wMyAxMTowNDowNi40MDA3NTc2NjggKzAxMDAKK0BAIC00ODI4LDcgKzQ4Mjgs OCBAQCBnaW1wbGlmeV9tb2RpZnlfZXhwciAodHJlZSAqZXhwcl9wLCBnaW1wCisgCSAgICB9Cisg CX0KKyAgICAgICBub3RpY2Vfc3BlY2lhbF9jYWxscyAoY2FsbF9zdG10KTsKKy0gICAgICBpZiAo IWdpbXBsZV9jYWxsX25vcmV0dXJuX3AgKGNhbGxfc3RtdCkpCisrICAgICAgaWYgKCFnaW1wbGVf Y2FsbF9ub3JldHVybl9wIChjYWxsX3N0bXQpCisrCSAgfHwgVFJFRV9BRERSRVNTQUJMRSAoVFJF RV9UWVBFICgqdG9fcCkpKQorIAlnaW1wbGVfY2FsbF9zZXRfbGhzIChjYWxsX3N0bXQsICp0b19w KTsKKyAgICAgICBhc3NpZ24gPSBjYWxsX3N0bXQ7CisgICAgIH0KKy0tLSBnY2MvY2dyYXBodW5p dC5jLmpqCTIwMTYtMDEtMjAgMTA6NTU6MTUuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2NncmFw aHVuaXQuYwkyMDE2LTAyLTAzIDExOjA0OjQxLjAzNDI3OTM3MCArMDEwMAorQEAgLTE3MDMsNyAr MTcwMyw4IEBAIGNncmFwaF9ub2RlOjpleHBhbmRfdGh1bmsgKGJvb2wgb3V0cHV0X2EKKyAgICAg ICBic2kgPSBnc2lfc3RhcnRfYmIgKGJiKTsKKyAKKyAgICAgICAvKiBCdWlsZCBjYWxsIHRvIHRo ZSBmdW5jdGlvbiBiZWluZyB0aHVua2VkLiAgKi8KKy0gICAgICBpZiAoIVZPSURfVFlQRV9QIChy ZXN0eXBlKSAmJiAhYWxpYXNfaXNfbm9yZXR1cm4pCisrICAgICAgaWYgKCFWT0lEX1RZUEVfUCAo cmVzdHlwZSkKKysJICAmJiAoIWFsaWFzX2lzX25vcmV0dXJuIHx8IFRSRUVfQUREUkVTU0FCTEUg KHJlc3R5cGUpKSkKKyAJeworIAkgIGlmIChERUNMX0JZX1JFRkVSRU5DRSAocmVzZGVjbCkpCisg CSAgICB7CitAQCAtMTc3MCw3ICsxNzcxLDcgQEAgY2dyYXBoX25vZGU6OmV4cGFuZF90aHVuayAo Ym9vbCBvdXRwdXRfYQorIAkgICAgICB8fCBERUNMX0JZX1JFRkVSRU5DRSAocmVzZGVjbCkpKQor ICAgICAgICAgZ2ltcGxlX2NhbGxfc2V0X3JldHVybl9zbG90X29wdCAoY2FsbCwgdHJ1ZSk7Cisg CistICAgICAgaWYgKHJlc3RtcCAmJiAhYWxpYXNfaXNfbm9yZXR1cm4pCisrICAgICAgaWYgKHJl c3RtcCkKKyAJeworICAgICAgICAgICBnaW1wbGVfY2FsbF9zZXRfbGhzIChjYWxsLCByZXN0bXAp OworIAkgIGdjY19hc3NlcnQgKHVzZWxlc3NfdHlwZV9jb252ZXJzaW9uX3AgKFRSRUVfVFlQRSAo cmVzdG1wKSwKKy0tLSBnY2MvaXBhLXNwbGl0LmMuamoJMjAxNi0wMS0wNCAxNDo1NTo1Mi4wMDAw MDAwMDAgKzAxMDAKKysrKyBnY2MvaXBhLXNwbGl0LmMJMjAxNi0wMi0wMyAxMzowMTo0NS45MDUx MzYwNTEgKzAxMDAKK0BAIC0xMjU0LDcgKzEyNTQsNyBAQCBzcGxpdF9mdW5jdGlvbiAoYmFzaWNf YmxvY2sgcmV0dXJuX2JiLCBzCisgICAgICAgZWxzZQorIAltYWluX3BhcnRfcmV0dXJuX3AgPSB0 cnVlOworICAgICB9CistICAvKiBUaGUgbWFpbiBwYXJ0IGFsc28gcmV0dXJucyBpZiB3ZSB3ZSBz cGxpdCBvbiBhIGZhbGx0aHJ1IGVkZ2UKKysgIC8qIFRoZSBtYWluIHBhcnQgYWxzbyByZXR1cm5z IGlmIHdlIHNwbGl0IG9uIGEgZmFsbHRocnUgZWRnZQorICAgICAgYW5kIHRoZSBzcGxpdCBwYXJ0 IHJldHVybnMuICAqLworICAgaWYgKHNwbGl0X3BhcnRfcmV0dXJuX3ApCisgICAgIEZPUl9FQUNI X0VER0UgKGUsIGVpLCBzcGxpdF9wb2ludC0+ZW50cnlfYmItPnByZWRzKQorQEAgLTEzNjQsOCAr MTM2NCw5IEBAIHNwbGl0X2Z1bmN0aW9uIChiYXNpY19ibG9jayByZXR1cm5fYmIsIHMKKyAgIC8q IE5vdyBjcmVhdGUgdGhlIGFjdHVhbCBjbG9uZS4gICovCisgICBjZ3JhcGhfZWRnZTo6cmVidWls ZF9lZGdlcyAoKTsKKyAgIG5vZGUgPSBjdXJfbm9kZS0+Y3JlYXRlX3ZlcnNpb25fY2xvbmVfd2l0 aF9ib2R5CistICAgICh2TlVMTCwgTlVMTCwgYXJnc190b19za2lwLCAhc3BsaXRfcGFydF9yZXR1 cm5fcCwgc3BsaXRfcG9pbnQtPnNwbGl0X2JicywKKy0gICAgIHNwbGl0X3BvaW50LT5lbnRyeV9i YiwgInBhcnQiKTsKKysgICAgKHZOVUxMLCBOVUxMLCBhcmdzX3RvX3NraXAsCisrICAgICAhc3Bs aXRfcGFydF9yZXR1cm5fcCB8fCAhc3BsaXRfcG9pbnQtPnNwbGl0X3BhcnRfc2V0X3JldHZhbCwK KysgICAgIHNwbGl0X3BvaW50LT5zcGxpdF9iYnMsIHNwbGl0X3BvaW50LT5lbnRyeV9iYiwgInBh cnQiKTsKKyAKKyAgIG5vZGUtPnNwbGl0X3BhcnQgPSB0cnVlOworIAorLS0tIGdjYy90ZXN0c3Vp dGUvZysrLmRnL2lwYS9wcjY5MjQxLTEuQy5qagkyMDE2LTAyLTAzIDEwOjU2OjEwLjYyNDMyODI2 MyArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2lwYS9wcjY5MjQxLTEuQwkyMDE2LTAy LTAzIDExOjAxOjE4LjYwMDA3NTAzOSArMDEwMAorQEAgLTAsMCArMSwxMiBAQAorKy8vIFBSIGlw YS82OTI0MQorKy8vIHsgZGctZG8gY29tcGlsZSB9CisrLy8geyBkZy1vcHRpb25zICItTzIiIH0K KysKKytzdHJ1Y3QgUiB7IFIgKGNvbnN0IFIgJikge30gfTsKKytfX2F0dHJpYnV0ZV9fICgobm9y ZXR1cm4pKSBSIGJhciAoKTsKKysKKytSCisrZm9vICgpCisreworKyAgYmFyICgpOworK30KKy0t LSBnY2MvdGVzdHN1aXRlL2crKy5kZy9pcGEvcHI2OTI0MS0yLkMuamoJMjAxNi0wMi0wMyAxMDo1 NjowNy45OTYzNjQ1NTYgKzAxMDAKKysrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9pcGEvcHI2OTI0 MS0yLkMJMjAxNi0wMi0wMyAxMTowMTo0Mi45NTg3Mzg2MzkgKzAxMDAKK0BAIC0wLDAgKzEsMTgg QEAKKysvLyBQUiBpcGEvNjkyNDEKKysvLyB7IGRnLWRvIGNvbXBpbGUgfQorKy8vIHsgZGctb3B0 aW9ucyAiLU8yIiB9CisrCisrX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKSB2b2lkIGZvbyAoaW50 KTsKKytzdHJ1Y3QgUiB7IFIgKGNvbnN0IFIgJikge30gfTsKKysKKytSCisrYmFyICgpCisrewor KyAgZm9vICgwKTsKKyt9CisrCisrUgorK2JheiAoKQorK3sKKysgIGZvbyAoMCk7CisrfQorLS0t IGdjYy90ZXN0c3VpdGUvZysrLmRnL2lwYS9wcjY5MjQxLTMuQy5qagkyMDE2LTAyLTAzIDExOjAw OjM5Ljg0MDYxMDMxNyArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2lwYS9wcjY5MjQx LTMuQwkyMDE2LTAyLTAzIDExOjAxOjAyLjA0NDMwMzY3OCArMDEwMAorQEAgLTAsMCArMSwxMiBA QAorKy8vIFBSIGlwYS82OTI0MQorKy8vIHsgZGctZG8gY29tcGlsZSB9CisrLy8geyBkZy1vcHRp b25zICItTzIiIH0KKysKKytzdHJ1Y3QgUiB7IGludCB4WzEwMF07IH07CisrX19hdHRyaWJ1dGVf XyAoKG5vcmV0dXJuKSkgUiBiYXIgKCk7CisrCisrdm9pZAorK2ZvbyAoKQorK3sKKysgIGJhciAo KTsKKyt9CistLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvaXBhL3ByNjk2NDkuQy5qagkyMDE2LTAy LTAzIDEzOjE5OjAwLjg1MDg0NTg4NyArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2lw YS9wcjY5NjQ5LkMJMjAxNi0wMi0wMyAxMzoxODo0My4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAg KzEsMzYgQEAKKysvLyBQUiBjKysvNjk2NDkKKysvLyB7IGRnLWRvIGNvbXBpbGUgfQorKy8vIHsg ZGctb3B0aW9ucyAiLU8yIiB9CisrCisrc3RydWN0IEEgeyB2aXJ0dWFsIHZvaWQgbTEgKCk7IH07 Cisrc3RydWN0IEMgOiBBIHsgdm9pZCBtMSAoKSB7IG0xICgpOyB9IH07CisrdGVtcGxhdGUgPGNs YXNzIFQ+IHN0cnVjdCBCCisreworKyAgVCAqdDsKKysgIEIgKFQgKngpIDogdCAoeCkgeyBpZiAo dCkgdC0+bTEgKCk7IH0KKysgIEIgKGNvbnN0IEIgJik7CisrfTsKKytzdHJ1Y3QgRCA6IHB1Ymxp YyBDIHt9OworK3N0cnVjdCBGIDogcHVibGljIEQKKyt7CisrICB2aXJ0dWFsIEI8RD4gbTIgKCk7 CisrICB2aXJ0dWFsIEI8RD4gbTMgKCk7CisrICBpbnQgbTQgKCk7CisrfTsKKytzdHJ1Y3QgRyA6 IEYKKyt7CisrICBCPEQ+IG0yICgpOworKyAgQjxEPiBtMyAoKTsKKyt9OworK0I8RD4gRzo6bTIg KCkKKyt7CisrICBpZiAobTQgKCkgPT0gMCkKKysgICAgcmV0dXJuIHRoaXM7CisrICByZXR1cm4g MDsKKyt9CisrQjxEPiBHOjptMyAoKQorK3sKKysgIGlmIChtNCAoKSA9PSAwKQorKyAgICByZXR1 cm4gdGhpczsKKysgIHJldHVybiAwOworK30KCmRpZmYgLS1naXQgYS9nY2M2LXByNjk1NTgucGF0 Y2ggYi9nY2M2LXByNjk1NTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlk MTM3MzEuLjAwMDAwMDAKLS0tIGEvZ2NjNi1wcjY5NTU4LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNjIgKzAsMCBAQAotMjAxNi0wMS0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5j b20+Ci0KLQlQUiBwcmVwcm9jZXNzb3IvNjk1NDMKLQlQUiBjLzY5NTU4Ci0JKiBjLXByYWdtYS5j IChoYW5kbGVfcHJhZ21hX2RpYWdub3N0aWMpOiBQYXNzIGlucHV0X2xvY2F0aW9uCi0JaW5zdGVh ZCBvZiBsb2MgdG8gY29udHJvbF93YXJuaW5nX29wdGlvbi4KLQotCSogZ2NjLmRnL3ByNjk1NDMu YzogTmV3IHRlc3QuCi0JKiBnY2MuZGcvcHI2OTU1OC5jOiBOZXcgdGVzdC4KLQotLS0tIGdjYy9j LWZhbWlseS9jLXByYWdtYS5jLmpqCTIwMTYtMDEtMTUgMjE6NTc6MDAuMDAwMDAwMDAwICswMTAw Ci0rKysgZ2NjL2MtZmFtaWx5L2MtcHJhZ21hLmMJMjAxNi0wMS0yOSAxODozNDo1MS43NDM5NDMy ODMgKzAxMDAKLUBAIC04MTksNyArODE5LDcgQEAgaGFuZGxlX3ByYWdtYV9kaWFnbm9zdGljKGNw cF9yZWFkZXIgKkFSRwotICAgICBhcmcgPSBvcHRpb25fc3RyaW5nICsgMSArIGNsX29wdGlvbnNb b3B0aW9uX2luZGV4XS5vcHRfbGVuOwotICAgY29udHJvbF93YXJuaW5nX29wdGlvbiAob3B0aW9u X2luZGV4LCAoaW50KSBraW5kLAotIAkJCSAgYXJnLCBraW5kICE9IERLX0lHTk9SRUQsCi0tCQkJ ICBsb2MsIGxhbmdfbWFzaywgJmhhbmRsZXJzLAotKwkJCSAgaW5wdXRfbG9jYXRpb24sIGxhbmdf bWFzaywgJmhhbmRsZXJzLAotIAkJCSAgJmdsb2JhbF9vcHRpb25zLCAmZ2xvYmFsX29wdGlvbnNf c2V0LAotIAkJCSAgZ2xvYmFsX2RjKTsKLSB9Ci0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2 OTU1OC5jLmpqCTIwMTYtMDEtMjkgMTg6NDM6MzIuMTkxNjY1MDU4ICswMTAwCi0rKysgZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvcHI2OTU1OC5jCTIwMTYtMDEtMjkgMTg6NDA6MDUuMDAwMDAwMDAwICsw MTAwCi1AQCAtMCwwICsxLDE3IEBACi0rLyogUFIgYy82OTU1OCAqLwotKy8qIHsgZGctZG8gY29t cGlsZSB9ICovCi0rLyogeyBkZy1vcHRpb25zICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiB9 ICovCi0rCi0rI2RlZmluZSBBIFwKLSsgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBwdXNoIikg XAotKyAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2RlcHJlY2F0ZWQtZGVj bGFyYXRpb25zXCIiKQotKyNkZWZpbmUgQiBcCi0rICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMg cG9wIikKLSsjZGVmaW5lIEMoeCkgXAotKyAgQSBcCi0rICBzdGF0aWMgaW5saW5lIHZvaWQgYmFy ICh2b2lkKSB7IHggKCk7IH0gXAotKyAgQgotKwotK19fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQp KSB2b2lkIGZvbyAodm9pZCk7IC8qIHsgZGctYm9ndXMgImRlY2xhcmVkIGhlcmUiIH0gKi8KLSsK LStDIChmb28pIC8qIHsgZGctYm9ndXMgImlzIGRlcHJlY2F0ZWQiIH0gKi8KLS0tLSBnY2MvdGVz dHN1aXRlL2djYy5kZy9wcjY5NTQzLmMuamoJMjAxNi0wMS0yOSAxODo0NTowOS41MjAzMjMzOTUg KzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NTQzLmMJMjAxNi0wMS0yOSAxODo0 NDo1Ni4wMDAwMDAwMDAgKzAxMDAKLUBAIC0wLDAgKzEsMTggQEAKLSsvKiBQUiBwcmVwcm9jZXNz b3IvNjk1NDMgKi8KLSsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAi LU8yIC1XdW5pbml0aWFsaXplZCIgfSAqLwotKwotKyMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9V TklOSVRJQUxJWkVEX0JFR0lOIFwKLSsgICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIHB1c2gi KSBcCi0rICAgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmluaXRpYWxp emVkXCIiKVwKLSsgICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV21heWJl LXVuaW5pdGlhbGl6ZWRcIiIpCi0rIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTEla RURfRU5EIFwKLSsgICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIHBvcCIpCi0rCi0rdm9pZCB0 ZXN0IChjaGFyIHl5bHZhbCkKLSt7Ci0rICBjaGFyICp5eXZzcDsKLSsgIFlZX0lHTk9SRV9NQVlC RV9VTklOSVRJQUxJWkVEX0JFR0lOCi0rICAqKyt5eXZzcCA9IHl5bHZhbDsKLSsgIFlZX0lHTk9S RV9NQVlCRV9VTklOSVRJQUxJWkVEX0VORAotK30KCmRpZmYgLS1naXQgYS9nY2M2LXByNjk1OTIu cGF0Y2ggYi9nY2M2LXByNjk1OTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDJmYWI1MmEuLjAwMDAwMDAKLS0tIGEvZ2NjNi1wcjY5NTkyLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTU0ICswLDAgQEAKLTIwMTYtMDItMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRo YXQuY29tPgotCi0JUFIgcnRsLW9wdGltaXphdGlvbi82OTU5MgotCSogcnRsYW5hbC5jIChub256 ZXJvX2JpdHNfYmluYXJ5X2FyaXRoX3ApOiBOZXcgaW5saW5lIGZ1bmN0aW9uLgotCShjYWNoZWRf bm9uemVyb19iaXRzKTogVXNlIGl0IGluc3RlYWQgb2YgQVJJVEhNRVRJQ19QLgotCShudW1fc2ln bl9iaXRfY29waWVzX2JpbmFyeV9hcml0aF9wKTogTmV3IGlubGluZSBmdW5jdGlvbi4KLQkoY2Fj aGVkX251bV9zaWduX2JpdF9jb3BpZXMpOiBVc2UgaXQgaW5zdGVhZCBvZiBBUklUSE1FVElDX1Au Ci0KLQkqIGdjYy5kZy9wcjY5NTkyLmM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL3J0bGFuYWwuYy5q agkyMDE2LTAxLTIxIDIxOjI3OjU3LjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9ydGxhbmFsLmMJ MjAxNi0wMi0wMSAxODo1MzowNi4xMzA5MzQzMzMgKzAxMDAKLUBAIC00MTYzLDYgKzQxNjMsMzYg QEAgbnVtX3NpZ25fYml0X2NvcGllcyAoY29uc3RfcnR4IHgsIG1hY2hpbgotICAgcmV0dXJuIGNh Y2hlZF9udW1fc2lnbl9iaXRfY29waWVzICh4LCBtb2RlLCBOVUxMX1JUWCwgVk9JRG1vZGUsIDAp OwotIH0KLSAKLSsvKiBSZXR1cm4gdHJ1ZSBpZiBub256ZXJvX2JpdHMxIG1pZ2h0IHJlY3Vyc2Ug aW50byBib3RoIG9wZXJhbmRzCi0rICAgb2YgWC4gICovCi0rCi0rc3RhdGljIGlubGluZSBib29s Ci0rbm9uemVyb19iaXRzX2JpbmFyeV9hcml0aF9wIChjb25zdF9ydHggeCkKLSt7Ci0rICBpZiAo IUFSSVRITUVUSUNfUCAoeCkpCi0rICAgIHJldHVybiBmYWxzZTsKLSsgIHN3aXRjaCAoR0VUX0NP REUgKHgpKQotKyAgICB7Ci0rICAgIGNhc2UgQU5EOgotKyAgICBjYXNlIFhPUjoKLSsgICAgY2Fz ZSBJT1I6Ci0rICAgIGNhc2UgVU1JTjoKLSsgICAgY2FzZSBVTUFYOgotKyAgICBjYXNlIFNNSU46 Ci0rICAgIGNhc2UgU01BWDoKLSsgICAgY2FzZSBQTFVTOgotKyAgICBjYXNlIE1JTlVTOgotKyAg ICBjYXNlIE1VTFQ6Ci0rICAgIGNhc2UgRElWOgotKyAgICBjYXNlIFVESVY6Ci0rICAgIGNhc2Ug TU9EOgotKyAgICBjYXNlIFVNT0Q6Ci0rICAgICAgcmV0dXJuIHRydWU7Ci0rICAgIGRlZmF1bHQ6 Ci0rICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICB9Ci0rfQotKwotIC8qIFRoZSBmdW5jdGlvbiBj YWNoZWRfbm9uemVyb19iaXRzIGlzIGEgd3JhcHBlciBhcm91bmQgbm9uemVyb19iaXRzMS4KLSAg ICBJdCBhdm9pZHMgZXhwb25lbnRpYWwgYmVoYXZpb3IgaW4gbm9uemVyb19iaXRzMSB3aGVuIFgg aGFzCi0gICAgaWRlbnRpY2FsIHN1YmV4cHJlc3Npb25zIG9uIHRoZSBmaXJzdCBvciB0aGUgc2Vj b25kIGxldmVsLiAgKi8KLUBAIC00MTc5LDcgKzQyMDksNyBAQCBjYWNoZWRfbm9uemVyb19iaXRz IChjb25zdF9ydHggeCwgbWFjaGluCi0gICAgICBub256ZXJvX2JpdHMxIG9uIFggd2l0aCB0aGUg c3ViZXhwcmVzc2lvbnMgYXMgS05PV05fWCBhbmQgdGhlCi0gICAgICBwcmVjb21wdXRlZCB2YWx1 ZSBmb3IgdGhlIHN1YmV4cHJlc3Npb24gYXMgS05PV05fUkVULiAgKi8KLSAKLS0gIGlmIChBUklU SE1FVElDX1AgKHgpKQotKyAgaWYgKG5vbnplcm9fYml0c19iaW5hcnlfYXJpdGhfcCAoeCkpCi0g ICAgIHsKLSAgICAgICBydHggeDAgPSBYRVhQICh4LCAwKTsKLSAgICAgICBydHggeDEgPSBYRVhQ ICh4LCAxKTsKLUBAIC00MTkxLDEzICs0MjIxLDEzIEBAIGNhY2hlZF9ub256ZXJvX2JpdHMgKGNv bnN0X3J0eCB4LCBtYWNoaW4KLSAJCQkJCQkgICBrbm93bl9tb2RlLCBrbm93bl9yZXQpKTsKLSAK LSAgICAgICAvKiBDaGVjayB0aGUgc2Vjb25kIGxldmVsLiAgKi8KLS0gICAgICBpZiAoQVJJVEhN RVRJQ19QICh4MCkKLSsgICAgICBpZiAobm9uemVyb19iaXRzX2JpbmFyeV9hcml0aF9wICh4MCkK LSAJICAmJiAoeDEgPT0gWEVYUCAoeDAsIDApIHx8IHgxID09IFhFWFAgKHgwLCAxKSkpCi0gCXJl dHVybiBub256ZXJvX2JpdHMxICh4LCBtb2RlLCB4MSwgbW9kZSwKLSAJCQkgICAgICBjYWNoZWRf bm9uemVyb19iaXRzICh4MSwgbW9kZSwga25vd25feCwKLSAJCQkJCQkgICBrbm93bl9tb2RlLCBr bm93bl9yZXQpKTsKLSAKLS0gICAgICBpZiAoQVJJVEhNRVRJQ19QICh4MSkKLSsgICAgICBpZiAo bm9uemVyb19iaXRzX2JpbmFyeV9hcml0aF9wICh4MSkKLSAJICAmJiAoeDAgPT0gWEVYUCAoeDEs IDApIHx8IHgwID09IFhFWFAgKHgxLCAxKSkpCi0gCXJldHVybiBub256ZXJvX2JpdHMxICh4LCBt b2RlLCB4MCwgbW9kZSwKLSAJCQkgICAgICBjYWNoZWRfbm9uemVyb19iaXRzICh4MCwgbW9kZSwg a25vd25feCwKLUBAIC00NjcyLDYgKzQ3MDIsMzMgQEAgbm9uemVyb19iaXRzMSAoY29uc3RfcnR4 IHgsIG1hY2hpbmVfbW9kZQotICN1bmRlZiBjYWNoZWRfbnVtX3NpZ25fYml0X2NvcGllcwotIAot IAwKLSsvKiBSZXR1cm4gdHJ1ZSBpZiBudW1fc2lnbl9iaXRfY29waWVzMSBtaWdodCByZWN1cnNl IGludG8gYm90aCBvcGVyYW5kcwotKyAgIG9mIFguICAqLwotKwotK3N0YXRpYyBpbmxpbmUgYm9v bAotK251bV9zaWduX2JpdF9jb3BpZXNfYmluYXJ5X2FyaXRoX3AgKGNvbnN0X3J0eCB4KQotK3sK LSsgIGlmICghQVJJVEhNRVRJQ19QICh4KSkKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgc3dpdGNo IChHRVRfQ09ERSAoeCkpCi0rICAgIHsKLSsgICAgY2FzZSBJT1I6Ci0rICAgIGNhc2UgQU5EOgot KyAgICBjYXNlIFhPUjoKLSsgICAgY2FzZSBTTUlOOgotKyAgICBjYXNlIFNNQVg6Ci0rICAgIGNh c2UgVU1JTjoKLSsgICAgY2FzZSBVTUFYOgotKyAgICBjYXNlIFBMVVM6Ci0rICAgIGNhc2UgTUlO VVM6Ci0rICAgIGNhc2UgTVVMVDoKLSsgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAgZGVmYXVsdDoK LSsgICAgICByZXR1cm4gZmFsc2U7Ci0rICAgIH0KLSt9Ci0rCi0rCi0gLyogVGhlIGZ1bmN0aW9u IGNhY2hlZF9udW1fc2lnbl9iaXRfY29waWVzIGlzIGEgd3JhcHBlciBhcm91bmQKLSAgICBudW1f c2lnbl9iaXRfY29waWVzMS4gIEl0IGF2b2lkcyBleHBvbmVudGlhbCBiZWhhdmlvciBpbgotICAg IG51bV9zaWduX2JpdF9jb3BpZXMxIHdoZW4gWCBoYXMgaWRlbnRpY2FsIHN1YmV4cHJlc3Npb25z IG9uIHRoZQotQEAgLTQ2ODksNyArNDc0Niw3IEBAIGNhY2hlZF9udW1fc2lnbl9iaXRfY29waWVz IChjb25zdF9ydHggeCwKLSAgICAgIG51bV9zaWduX2JpdF9jb3BpZXMxIG9uIFggd2l0aCB0aGUg c3ViZXhwcmVzc2lvbnMgYXMgS05PV05fWCBhbmQKLSAgICAgIHRoZSBwcmVjb21wdXRlZCB2YWx1 ZSBmb3IgdGhlIHN1YmV4cHJlc3Npb24gYXMgS05PV05fUkVULiAgKi8KLSAKLS0gIGlmIChBUklU SE1FVElDX1AgKHgpKQotKyAgaWYgKG51bV9zaWduX2JpdF9jb3BpZXNfYmluYXJ5X2FyaXRoX3Ag KHgpKQotICAgICB7Ci0gICAgICAgcnR4IHgwID0gWEVYUCAoeCwgMCk7Ci0gICAgICAgcnR4IHgx ID0gWEVYUCAoeCwgMSk7Ci1AQCAtNDcwMyw3ICs0NzYwLDcgQEAgY2FjaGVkX251bV9zaWduX2Jp dF9jb3BpZXMgKGNvbnN0X3J0eCB4LAotIAkJCQkJCQkgICAga25vd25fcmV0KSk7Ci0gCi0gICAg ICAgLyogQ2hlY2sgdGhlIHNlY29uZCBsZXZlbC4gICovCi0tICAgICAgaWYgKEFSSVRITUVUSUNf UCAoeDApCi0rICAgICAgaWYgKG51bV9zaWduX2JpdF9jb3BpZXNfYmluYXJ5X2FyaXRoX3AgKHgw KQotIAkgICYmICh4MSA9PSBYRVhQICh4MCwgMCkgfHwgeDEgPT0gWEVYUCAoeDAsIDEpKSkKLSAJ cmV0dXJuCi0gCSAgbnVtX3NpZ25fYml0X2NvcGllczEgKHgsIG1vZGUsIHgxLCBtb2RlLAotQEAg LTQ3MTEsNyArNDc2OCw3IEBAIGNhY2hlZF9udW1fc2lnbl9iaXRfY29waWVzIChjb25zdF9ydHgg eCwKLSAJCQkJCQkJICAgIGtub3duX21vZGUsCi0gCQkJCQkJCSAgICBrbm93bl9yZXQpKTsKLSAK LS0gICAgICBpZiAoQVJJVEhNRVRJQ19QICh4MSkKLSsgICAgICBpZiAobnVtX3NpZ25fYml0X2Nv cGllc19iaW5hcnlfYXJpdGhfcCAoeDEpCi0gCSAgJiYgKHgwID09IFhFWFAgKHgxLCAwKSB8fCB4 MCA9PSBYRVhQICh4MSwgMSkpKQotIAlyZXR1cm4KLSAJICBudW1fc2lnbl9iaXRfY29waWVzMSAo eCwgbW9kZSwgeDAsIG1vZGUsCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTU5Mi5jLmpq CTIwMTYtMDItMDEgMTk6MDI6MjMuMTIyMjUxNzYxICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvcHI2OTU5Mi5jCTIwMTYtMDItMDEgMTk6MDA6MzAuMDAwMDAwMDAwICswMTAwCi1AQCAt MCwwICsxLDE2IEBACi0rLyogUFIgcnRsLW9wdGltaXphdGlvbi82OTU5MiAqLwotKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLSsKLSt1bnNpZ25l ZCBpbnQKLStmb28gKHVuc2lnbmVkIGludCBhLCB1bnNpZ25lZCBpbnQgKmIsIHVuc2lnbmVkIGlu dCBjKQotK3sKLSsgIHVuc2lnbmVkIGludCBkOwotKyNkZWZpbmUgQShuKSBkID0gYSArIGJbbl07 IGlmIChkIDwgYSkgYysrOyBhID0gZDsKLSsjZGVmaW5lIEIobikgQShuIyMwKSBBKG4jIzEpIEEo biMjMikgQShuIyMzKSBBKG4jIzQpIEEobiMjNSkgQShuIyM2KSBBKG4jIzcpIEEobiMjOCkgQShu IyM5KQotKyNkZWZpbmUgQyhuKSBCKG4jIzApIEIobiMjMSkgQihuIyMyKSBCKG4jIzMpIEIobiMj NCkgQihuIyM1KSBCKG4jIzYpIEIobiMjNykgQihuIyM4KSBCKG4jIzkpCi0rI2RlZmluZSBEKG4p IEMobiMjMCkgQyhuIyMxKSBDKG4jIzIpIEMobiMjMykgQyhuIyM0KSBDKG4jIzUpIEMobiMjNikg QyhuIyM3KSBDKG4jIzgpIEMobiMjOSkKLSsjZGVmaW5lIEUobikgRChuIyMwKSBEKG4jIzEpIEQo biMjMikgRChuIyMzKSBEKG4jIzQpIEQobiMjNSkgRChuIyM2KSBEKG4jIzcpIEQobiMjOCkgRChu IyM5KQotKyAgQygxKSBDKDIpIEMoMykgQyg0KSBDKDUpIEMoNikKLSsgIHJldHVybiBkICsgYzsK LSt9CgpkaWZmIC0tZ2l0IGEvZ2NjNi1wcjY5NjI4LnBhdGNoIGIvZ2NjNi1wcjY5NjI4LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMDZkNTUKLS0tIC9kZXYvbnVs bAorKysgYi9nY2M2LXByNjk2MjgucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorMjAxNi0wMi0wMyAg SmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiBjKysvNjk2MjgKKwkqIGNo YXJzZXQuYyAoY3BwX2ludGVycHJldF9jaGFyY29uc3QpOiBDbGVhciAqUENIQVJTX1NFRU4KKwlh bmQgKlVOU0lHTkVEUCBpZiBiYWlsaW5nIG91dCBlYXJseSBkdWUgdG8gZXJyb3JzLgorCisJKiBn KysuZGcvcGFyc2UvcHI2OTYyOC5DOiBOZXcgdGVzdC4KKworLS0tIGxpYmNwcC9jaGFyc2V0LmMu amoJMjAxNi0wMS0wNCAxNToxNDowOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJjcHAvY2hhcnNl dC5jCTIwMTYtMDItMDMgMTM6NDQ6MDUuMTAwMTIwODk4ICswMTAwCitAQCAtMTYyMCwxMCArMTYy MCwxNyBAQCBjcHBfaW50ZXJwcmV0X2NoYXJjb25zdCAoY3BwX3JlYWRlciAqcGZpCisgICBpZiAo dG9rZW4tPnZhbC5zdHIubGVuID09IChzaXplX3QpICgyICsgd2lkZSArIHU4KSkKKyAgICAgewor ICAgICAgIGNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwgImVtcHR5IGNoYXJhY3RlciBj b25zdGFudCIpOworKyAgICAgICpwY2hhcnNfc2VlbiA9IDA7CisrICAgICAgKnVuc2lnbmVkcCA9 IDA7CisrICAgICAgcmV0dXJuIDA7CisrICAgIH0KKysgIGVsc2UgaWYgKCFjcHBfaW50ZXJwcmV0 X3N0cmluZyAocGZpbGUsICZ0b2tlbi0+dmFsLnN0ciwgMSwgJnN0ciwKKysJCQkJICB0b2tlbi0+ dHlwZSkpCisrICAgIHsKKysgICAgICAqcGNoYXJzX3NlZW4gPSAwOworKyAgICAgICp1bnNpZ25l ZHAgPSAwOworICAgICAgIHJldHVybiAwOworICAgICB9CistICBlbHNlIGlmICghY3BwX2ludGVy cHJldF9zdHJpbmcgKHBmaWxlLCAmdG9rZW4tPnZhbC5zdHIsIDEsICZzdHIsIHRva2VuLT50eXBl KSkKKy0gICAgcmV0dXJuIDA7CisgCisgICBpZiAod2lkZSkKKyAgICAgcmVzdWx0ID0gd2lkZV9z dHJfdG9fY2hhcmNvbnN0IChwZmlsZSwgc3RyLCBwY2hhcnNfc2VlbiwgdW5zaWduZWRwLAorLS0t IGdjYy90ZXN0c3VpdGUvZysrLmRnL3BhcnNlL3ByNjk2MjguQy5qagkyMDE2LTAyLTAzIDEzOjQ3 OjU1LjMwMDA2MTExMCArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3BhcnNlL3ByNjk2 MjguQwkyMDE2LTAyLTAzIDEzOjQ3OjMyLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSw1IEBA CisrLy8gUFIgYysrLzY5NjI4CisrLy8geyBkZy1kbyBjb21waWxlIH0KKysKKyswJyc7IC8vIHsg ZGctZXJyb3IgImVtcHR5IGNoYXJhY3RlciBjb25zdGFudCIgfQorKy8vIHsgZGctZXJyb3IgImV4 cGVjdGVkIHVucXVhbGlmaWVkLWlkIGJlZm9yZSBudW1lcmljIGNvbnN0YW50IiAiIiB7IHRhcmdl dCAqLSotKiB9IDQgfQoKZGlmZiAtLWdpdCBhL2djYzYtcHI2OTY1OC5wYXRjaCBiL2djYzYtcHI2 OTY1OC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODFlODczCi0t LSAvZGV2L251bGwKKysrIGIvZ2NjNi1wcjY5NjU4LnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKKzIw MTYtMDItMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJUFIgYysrLzY5 NjU4CisJKiBpbml0LmMgKGV4cGFuZF9kZWZhdWx0X2luaXQpOiBPbmx5IGNhbGwgcmVzaGFwZV9p bml0CisJaW4gdGhlIGRpcmVjdC1pbml0aWFsaXphdGlvbiBmcm9tIGFuIGluaXRpYWxpemVyIGxp c3QgY2FzZS4KKworCSogZysrLmRnL2luaXQvcHI2OTY1OC5DOiBOZXcgdGVzdC4KKworLS0tIGdj Yy9jcC9pbml0LmMuamoJMjAxNi0wMS0yOSAxMjoxMjo0Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBn Y2MvY3AvaW5pdC5jCTIwMTYtMDItMDQgMTg6NTM6MjYuODY1MzE4MzM3ICswMTAwCitAQCAtMTYz NiwxNiArMTYzNiwxNyBAQCBleHBhbmRfZGVmYXVsdF9pbml0ICh0cmVlIGJpbmZvLCB0cmVlIHRy CisgICAgICAgZ2NjX2NoZWNraW5nX2Fzc2VydCAoKGZsYWdzICYgTE9PS1VQX09OTFlDT05WRVJU SU5HKSA9PSAwCisgCQkJICAgJiYgVFJFRV9DSEFJTiAoaW5pdCkgPT0gTlVMTF9UUkVFKTsKKyAg ICAgICBpbml0ID0gVFJFRV9WQUxVRSAoaW5pdCk7CisrICAgICAgLyogT25seSBjYWxsIHJlc2hh cGVfaW5pdCBpZiBpdCBoYXMgbm90IGJlZW4gY2FsbGVkIGVhcmxpZXIKKysJIGJ5IHRoZSBjYWxs ZXJzLiAgKi8KKysgICAgICBpZiAoQlJBQ0VfRU5DTE9TRURfSU5JVElBTElaRVJfUCAoaW5pdCkg JiYgQ1BfQUdHUkVHQVRFX1RZUEVfUCAodHlwZSkpCisrCWluaXQgPSByZXNoYXBlX2luaXQgKHR5 cGUsIGluaXQsIGNvbXBsYWluKTsKKyAgICAgfQorIAorICAgaWYgKGluaXQgJiYgQlJBQ0VfRU5D TE9TRURfSU5JVElBTElaRVJfUCAoaW5pdCkKKyAgICAgICAmJiBDUF9BR0dSRUdBVEVfVFlQRV9Q ICh0eXBlKSkKKyAgICAgLyogQSBicmFjZS1lbmNsb3NlZCBpbml0aWFsaXplciBmb3IgYW4gYWdn cmVnYXRlLiAgSW4gQysrMHggdGhpcyBjYW4KKyAgICAgICAgaGFwcGVuIGZvciBkaXJlY3QtaW5p dGlhbGl6YXRpb24sIHRvby4gICovCistICAgIHsKKy0gICAgICBpbml0ID0gcmVzaGFwZV9pbml0 ICh0eXBlLCBpbml0LCBjb21wbGFpbik7CistICAgICAgaW5pdCA9IGRpZ2VzdF9pbml0ICh0eXBl LCBpbml0LCBjb21wbGFpbik7CistICAgIH0KKysgICAgaW5pdCA9IGRpZ2VzdF9pbml0ICh0eXBl LCBpbml0LCBjb21wbGFpbik7CisgCisgICAvKiBBIENPTlNUUlVDVE9SIG9mIHRoZSB0YXJnZXQn cyB0eXBlIGlzIGEgcHJldmlvdXNseSBkaWdlc3RlZAorICAgICAgaW5pdGlhbGl6ZXIsIHdoZXRo ZXIgdGhhdCBoYXBwZW5lZCBqdXN0IGFib3ZlIG9yIGluCistLS0gZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvaW5pdC9wcjY5NjU4LkMuamoJMjAxNi0wMi0wNCAxODo1NTo0Ni44NjIzOTA5NjEgKzAxMDAK KysrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9pbml0L3ByNjk2NTguQwkyMDE2LTAyLTA0IDE4OjU0 OjU4LjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSw2IEBACisrLy8gUFIgYysrLzY5NjU4Cisr Ly8geyBkZy1kbyBjb21waWxlIH0KKysKKytzdHJ1Y3QgUyB7IFMgKGludCk7IH07Cisrc3RydWN0 IFQgeyBjaGFyIG5bNl07IFMgczsgfTsKKytUIHRbMV0gPSB7IHsgImZvbyIsIDEgfSB9OwkvLyB7 IGRnLWJvZ3VzICJDOTkgZGVzaWduYXRvciIgfQoKZGlmZiAtLWdpdCBhL2djYzYtcHI2OTY5MS5w YXRjaCBiL2djYzYtcHI2OTY5MS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41Mjg5MzFiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNi1wcjY5NjkxLnBhdGNoCkBAIC0w LDAgKzEsMTQ5IEBACisyMDE2LTAyLTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNv bT4KKworCVBSIHJ0bC1vcHRpbWl6YXRpb24vNjk2OTEKKwkqIGxyYS1lbGltaW5hdGlvbnMuYyAo bW92ZV9wbHVzX3VwKTogRG9uJ3QgYWRkIHRoZSBhZGRlbmQgdHdpY2UuCisKKwkqIGdjYy5jLXRv cnR1cmUvZXhlY3V0ZS9wcjY5NjkxLmM6IE5ldyB0ZXN0LgorCistLS0gZ2NjL2xyYS1lbGltaW5h dGlvbnMuYy5qagkyMDE2LTAxLTE0IDIwOjU3OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9s cmEtZWxpbWluYXRpb25zLmMJMjAxNi0wMi0wNSAxNjo1NDo0Mi4xNDIwMDQyMjQgKzAxMDAKK0BA IC0zMDMsNyArMzAzLDggQEAgbW92ZV9wbHVzX3VwIChydHggeCkKKyAJCQkJIHN1YnJlZ19sb3dw YXJ0X29mZnNldCAoeF9tb2RlLAorIAkJCQkJCQlzdWJyZWdfcmVnX21vZGUpKTsKKyAgICAgICBp ZiAoY3N0ICYmIENPTlNUQU5UX1AgKGNzdCkpCistCXJldHVybiBnZW5fcnR4X1BMVVMgKHhfbW9k ZSwgbG93cGFydF9zdWJyZWcgKHhfbW9kZSwgc3VicmVnX3JlZywKKysJcmV0dXJuIGdlbl9ydHhf UExVUyAoeF9tb2RlLCBsb3dwYXJ0X3N1YnJlZyAoeF9tb2RlLAorKwkJCQkJCSAgICAgWEVYUCAo c3VicmVnX3JlZywgMCksCisgCQkJCQkJICAgICBzdWJyZWdfcmVnX21vZGUpLCBjc3QpOworICAg ICB9CisgICByZXR1cm4geDsKKy0tLSBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0 ZS9wcjY5NjkxLmMuamoJMjAxNi0wMi0wNSAxNzowODozMS41ODI1NTcwMzEgKzAxMDAKKysrKyBn Y2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjY5NjkxLmMJMjAxNi0wMi0wNSAx NzowODoyNC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMTI3IEBACisrLyogUFIgcnRsLW9w dGltaXphdGlvbi82OTY5MSAqLworKworK2NoYXIgdVtdID0geyA0NiwgOTcsIDk5LCAxMDQsIDUy LCAwIH07CisrY2hhciAqdltdID0geyB1LCAwIH07Cisrc3RydWN0IFMgeyBjaGFyIGFbMTBdOyBz dHJ1Y3QgUyAqYlszMV07IH07Cisrc3RydWN0IFMgcls3XSwgKnIyID0gcjsKKytzdGF0aWMgc3Ry dWN0IFMgKncgPSAwOworKworK19fYXR0cmlidXRlX18oKG5vaW5saW5lLCBub2Nsb25lKSkgaW50 CisrZm4gKGludCB4KQorK3sKKysgIGlmIChfX2J1aWx0aW5fc3RyY2hyICh1LCB4KSB8fCB4ID09 IDk2KQorKyAgICByZXR1cm4geDsKKysgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKyt9CisrCisrX19h dHRyaWJ1dGVfXygobm9pbmxpbmUsIG5vY2xvbmUpKSBpbnQKKytmb28gKGNoYXIgeCkKKyt7Cisr ICBpZiAoeCA9PSAwKQorKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7CisrICBpZiAoZm4gKHgpID49 IDk2ICYmIGZuICh4KSA8PSAxMjIpCisrICAgIHJldHVybiAoZm4gKHgpIC0gOTYpOworKyAgZWxz ZSBpZiAoeCA9PSA0NikKKysgICAgcmV0dXJuIDA7CisrICBlbHNlCisrICAgIHsKKysgICAgICBf X2J1aWx0aW5fcHJpbnRmICgiZm9vICVkXG4iLCB4KTsKKysgICAgICByZXR1cm4gLTE7CisrICAg IH0KKyt9CisrCisrX19hdHRyaWJ1dGVfXygobm9pbmxpbmUsIG5vY2xvbmUpKSB2b2lkCisrYmFy IChjaGFyICoqeCkKKyt7CisrICBjaGFyICoqYiwgYywgKmQsIGVbNTAwXSwgKmYsIGdbMTBdOwor KyAgaW50IHosIGwsIGgsIGk7CisrICBzdHJ1Y3QgUyAqczsKKysKKysgIHcgPSByMisrOworKyAg Zm9yIChiID0geDsgKmI7IGIrKykKKysgICAgeworKyAgICAgIF9fYnVpbHRpbl9zdHJjcHkgKGUs ICpiKTsKKysgICAgICBmID0gZTsKKysgICAgICBkbworKwl7CisrCSAgZCA9IF9fYnVpbHRpbl9z dHJjaHIgKGYsIDMyKTsKKysJICBpZiAoZCkKKysJICAgICpkID0gMDsKKysJICBsID0gX19idWls dGluX3N0cmxlbiAoZik7CisrCSAgaCA9IDA7CisrCSAgcyA9IHc7CisrCSAgX19idWlsdGluX21l bXNldCAoZywgMCwgc2l6ZW9mIChnKSk7CisrCSAgZm9yICh6ID0gMDsgeiA8IGw7IHorKykKKysJ ICAgIHsKKysJICAgICAgYyA9IGZbel07CisrCSAgICAgIGlmIChjID49IDQ4ICYmIGMgPD0gNTcp CisrCQlnW2hdID0gYyAtIDQ4OworKwkgICAgICBlbHNlCisrCQl7CisrCQkgIGkgPSBmb28gKGMp OworKwkJICBpZiAoIXMtPmJbaV0pCisrCQkgICAgeworKwkJICAgICAgcy0+YltpXSA9IHIyKys7 CisrCQkgICAgICBpZiAocjIgPT0gJnJbN10pCisrCQkJX19idWlsdGluX2Fib3J0ICgpOworKwkJ ICAgIH0KKysJCSAgcyA9IHMtPmJbaV07CisrCQkgIGgrKzsKKysJCX0KKysJICAgIH0KKysJICBf X2J1aWx0aW5fbWVtY3B5IChzLT5hLCBnLCAxMCk7CisrCSAgaWYgKGQpCisrCSAgICBmID0gZCAr IDE7CisrCX0KKysgICAgICB3aGlsZSAoZCk7CisrICAgIH0KKyt9CisrCisrX19hdHRyaWJ1dGVf Xygobm9pbmxpbmUsIG5vY2xvbmUpKSB2b2lkCisrYmF6IChjaGFyICp4KQorK3sKKysgIGNoYXIg YVszMDBdLCBiWzMwMF07CisrICBpbnQgeiwgeSwgdCwgbDsKKysgIHN0cnVjdCBTICpzOworKwor KyAgbCA9IF9fYnVpbHRpbl9zdHJsZW4gKHgpOworKyAgKmEgPSA5NjsKKysgIGZvciAoeiA9IDA7 IHogPCBsOyB6KyspCisrICAgIHsKKysgICAgICBhW3ogKyAxXSA9IGZuICgodW5zaWduZWQgaW50 KSB4W3pdKTsKKysgICAgICBpZiAoZm9vIChhW3ogKyAxXSkgPD0gMCkKKysJcmV0dXJuOworKyAg ICB9CisrICBhW2wgKyAxXSA9IDk2OworKyAgbCArPSAyOworKyAgX19idWlsdGluX21lbXNldCAo YiwgMCwgbCArIDIpOworKworKyAgaWYgKCF3KQorKyAgICByZXR1cm47CisrCisrICBmb3IgKHog PSAwOyB6IDwgbDsgeisrKQorKyAgICB7CisrICAgICAgcyA9IHc7CisrICAgICAgZm9yICh5ID0g ejsgeSA8IGw7IHkrKykKKysJeworKwkgIHMgPSBzLT5iW2ZvbyAoYVt5XSldOworKwkgIGlmICgh cykKKysJICAgIGJyZWFrOworKwkgIGZvciAodCA9IDA7IHQgPD0geSAtIHogKyAyOyB0KyspCisr CSAgICBpZiAocy0+YVt0XSA+IGJbeiArIHRdKQorKwkgICAgICBiW3ogKyB0XSA9IHMtPmFbdF07 CisrCX0KKysgICAgfQorKyAgZm9yICh6ID0gMzsgeiA8IGwgLSAyOyB6KyspCisrICAgIGlmICgo Ylt6XSAmIDEpID09IDEpCisrICAgICBhc20gKCIiKTsKKyt9CisrCisraW50CisrbWFpbiAoKQor K3sKKysgIGJhciAodik7CisrICBjaGFyIGNbXSA9IHsgOTcsIDk3LCA5NywgOTcsIDk3LCAwIH07 CisrICBiYXogKGMpOworKyAgcmV0dXJuIDA7CisrfQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9z b3VyY2VzCmluZGV4IDEyZmVmNjIuLjliNGNjYWUgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIv c291cmNlcwpAQCAtMSArMSBAQAotYTVlYTNiNTNlM2M1MmU2ODQwOTdkMDg4ZjdkOWE1NjUgIGdj Yy02LjAuMC0yMDE2MDIwMS50YXIuYnoyCis4ZjNmOTUwZTc1ZGRkZTZiODdjNzEwOTZjNjQ1ZWZi OCAgZ2NjLTYuMC4wLTIwMTYwMjA1LnRhci5iejIK