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: 6.0.0-0.10 Date: Mon, 29 Jun 2026 12:27:02 GMT Message-ID: <178273602201.1.15094387518825383677.rpms-gcc-97475d9eac9d@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 97475d9eac9d18ba55240820ce483e3ab898b638 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogOTc0NzVkOWVhYzlkMThiYTU1MjQwODIwY2U0ODNlM2Fi ODk4YjYzOApBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE2LTAyLTA1VDIwOjMyOjU5KzAxOjAwClN0YXRzICA6ICs0NTQvLTIzNSBpbiAxMCBmaWxl KHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2NjL2MvOTc0 NzVkOWVhYzlkMThiYTU1MjQwODIwY2U0ODNlM2FiODk4YjYzOD9icmFuY2g9cmhlbC1mNDEtYmFz ZQoKTG9nOgo2LjAuMC0wLjEwCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdu b3JlCmluZGV4IGIxMWZhNTcuLmVlZThhY2EgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIv LmdpdGlnbm9yZQpAQCAtMiwzICsyLDQgQEAKIC9nY2MtNi4wLjAtMjAxNjAxMjgudGFyLmJ6Mgog L2djYy02LjAuMC0yMDE2MDEyOS50YXIuYnoyCiAvZ2NjLTYuMC4wLTIwMTYwMjAxLnRhci5iejIK Ky9nY2MtNi4wLjAtMjAxNjAyMDUudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2djYy5zcGVjIGIvZ2Nj LnNwZWMKaW5kZXggNjk1OTk4NS4uOTMxNTlkYyAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMKKysrIGIv Z2NjLnNwZWMKQEAgLTEsOSArMSw5IEBACi0lZ2xvYmFsIERBVEUgMjAxNjAyMDEKLSVnbG9iYWwg U1ZOUkVWIDIzMzA1MgorJWdsb2JhbCBEQVRFIDIwMTYwMjA1CislZ2xvYmFsIFNWTlJFViAyMzMx ODUKICVnbG9iYWwgZ2NjX3ZlcnNpb24gNi4wLjAKICMgTm90ZSwgZ2NjX3JlbGVhc2UgbXVzdCBi ZSBpbnRlZ2VyLCBpZiB5b3Ugd2FudCB0byBhZGQgc3VmZml4ZXMgdG8KICMgJXtyZWxlYXNlfSwg YXBwZW5kIHRoZW0gYWZ0ZXIgJXtnY2NfcmVsZWFzZX0gb24gUmVsZWFzZTogbGluZS4KLSVnbG9i YWwgZ2NjX3JlbGVhc2UgMC45CislZ2xvYmFsIGdjY19yZWxlYXNlIDAuMTAKICVnbG9iYWwgX3Vu cGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1aWxkIDAKICVnbG9iYWwgX3BlcmZvcm1hbmNlX2J1 aWxkIDEKICMgSGFyZGVuaW5nIHNsb3dzIHRoZSBjb21waWxlciB3YXkgdG9vIG11Y2guCkBAIC0y MDYsOCArMjA2LDExIEBAIFBhdGNoMTA6IGdjYzYtbm8tYWRkLW5lZWRlZC5wYXRjaAogUGF0Y2gx MTogZ2NjNi1saWJnby1wMjI0LnBhdGNoCiBQYXRjaDEyOiBnY2M2LWFhcmNoNjQtYXN5bmMtdW53 LXRhYmxlcy5wYXRjaAogUGF0Y2gxMzogZ2NjNi1saWJzYW5pdGl6ZS1hYXJjaDY0LXZhNDIucGF0 Y2gKLVBhdGNoMTQ6IGdjYzYtcHI2OTU1OC5wYXRjaAotUGF0Y2gxNTogZ2NjNi1wcjY5NTkyLnBh dGNoCitQYXRjaDE0OiBnY2M2LXByNjU5MzItY3NlLXJldmVydC5wYXRjaAorUGF0Y2gxNTogZ2Nj Ni1wcjY5MjQxLnBhdGNoCitQYXRjaDE2OiBnY2M2LXByNjk2MjgucGF0Y2gKK1BhdGNoMTc6IGdj YzYtcHI2OTY1OC5wYXRjaAorUGF0Y2gxODogZ2NjNi1wcjY5NjkxLnBhdGNoCiAKICMgT24gQVJN IEVBQkkgc3lzdGVtcywgd2UgZG8gd2FudCAtZ251ZWFiaSB0byBiZSBwYXJ0IG9mIHRoZQogIyB0 YXJnZXQgdHJpcGxlLgpAQCAtNzc0LDggKzc3NywxMSBAQCBwYWNrYWdlIG9yIHdoZW4gZGVidWdn aW5nIHRoaXMgcGFja2FnZS4KIHJtIC1mIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjI0eyxf dGVzdH0uZ28KICVwYXRjaDEyIC1wMCAtYiAuYWFyY2g2NC1hc3luYy11bnctdGFibGVzfgogJXBh dGNoMTMgLXAwIC1iIC5saWJzYW5pdGl6ZS1hYXJjaDY0LXZhNDJ+Ci0lcGF0Y2gxNCAtcDAgLWIg LnByNjk1NTh+Ci0lcGF0Y2gxNSAtcDAgLWIgLnByNjk1OTJ+CislcGF0Y2gxNCAtcDAgLWIgLnBy NjU5MzItY3NlLXJldmVydH4KKyVwYXRjaDE1IC1wMCAtYiAucHI2OTI0MX4KKyVwYXRjaDE2IC1w MCAtYiAucHI2OTYyOH4KKyVwYXRjaDE3IC1wMCAtYiAucHI2OTY1OH4KKyVwYXRjaDE4IC1wMCAt YiAucHI2OTY5MX4KIAogJWlmIDAlez9fZW5hYmxlX2RlYnVnX3BhY2thZ2VzfQogbWtkaXIgZHd6 LXdyYXBwZXIKQEAgLTgzNSw3ICs4NDEsNyBAQCBpZiBbIC1mICIke0JVSUxERElSfSIvZGVidWdm aWxlcy5saXN0IFwKICAgZG9uZQogICBjcCAtYSAiJHtCVUlMRERJUn0iL2RlYnVnZmlsZXMtYmFz ZS5saXN0ICIke0JVSUxERElSfSIvZGVidWdmaWxlcy1yZW1vdmUubGlzdAogJWlmICV7YnVpbGRf Z299Ci0gIGxpYmdvc289YGJhc2VuYW1lIC4le19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28uOC4q YAorICBsaWJnb3NvPWBiYXNlbmFtZSAuJXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjkuKmAK ICAgZm9yIGYgaW4gJXtfcHJlZml4fS9iaW4vZ28uZ2NjIFwKIAkgICAle19wcmVmaXh9L2Jpbi9n b2ZtdC5nY2MgXAogCSAgICV7X3ByZWZpeH0vbGliZXhlYy9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRm b3JtfS8le2djY192ZXJzaW9ufS9jZ28gXApAQCAtODQ2LDggKzg1Miw4IEBAIGlmIFsgLWYgIiR7 QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLmxpc3QgXAogICAgIHJtIC1mIHVzci9saWIvZGVidWckZi5k ZWJ1ZwogICAgIGVjaG8gIi91c3IvbGliL2RlYnVnJGYuZGVidWciID4+ICIke0JVSUxERElSfSIv ZGVidWdmaWxlcy1yZW1vdmUubGlzdAogICBkb25lCi0gIHJtIC1mIHVzci9saWIvZGVidWcle19w cmVmaXh9LyV7X2xpYn0vbGliZ28uc28uOC5kZWJ1ZwotICBlY2hvICIvdXNyL2xpYi9kZWJ1ZyV7 X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby44LmRlYnVnIiA+PiAiJHtCVUlMRERJUn0iL2RlYnVn ZmlsZXMtcmVtb3ZlLmxpc3QKKyAgcm0gLWYgdXNyL2xpYi9kZWJ1ZyV7X3ByZWZpeH0vJXtfbGli fS9saWJnby5zby45LmRlYnVnCisgIGVjaG8gIi91c3IvbGliL2RlYnVnJXtfcHJlZml4fS8le19s aWJ9L2xpYmdvLnNvLjkuZGVidWciID4+ICIke0JVSUxERElSfSIvZGVidWdmaWxlcy1yZW1vdmUu bGlzdAogICBmb3IgZiBpbiBgZmluZCB1c3IvbGliL2RlYnVnLy5idWlsZC1pZCAtdHlwZSBsYDsg ZG8KICAgICBpZiBscyAtbCAiJGYiIHwgZWdyZXAgLXEgLS0gJy0+LiooL2Jpbi9nby5nY2N8L2Jp bi9nb2ZtdC5nY2N8L2Nnb3xsaWJbMC05XSovbGliZ29cLnNvKSc7IHRoZW4KICAgICAgIGVjaG8g Ii8kZiIgPj4gIiR7QlVJTERESVJ9Ii9kZWJ1Z2ZpbGVzLXJlbW92ZS5saXN0CkBAIC0xMzM5LDcg KzEzNDUsNyBAQCBsbiAtc2YgLi4vLi4vLi4vbGlic3RkYysrLnNvLjYuKlswLTldIGxpYnN0ZGMr Ky5zbwogbG4gLXNmIC4uLy4uLy4uL2xpYmdmb3J0cmFuLnNvLjMuKiBsaWJnZm9ydHJhbi5zbwog bG4gLXNmIC4uLy4uLy4uL2xpYmdvbXAuc28uMS4qIGxpYmdvbXAuc28KICVpZiAle2J1aWxkX2dv fQotbG4gLXNmIC4uLy4uLy4uL2xpYmdvLnNvLjguKiBsaWJnby5zbworbG4gLXNmIC4uLy4uLy4u L2xpYmdvLnNvLjkuKiBsaWJnby5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0K IGxuIC1zZiAuLi8uLi8uLi9saWJxdWFkbWF0aC5zby4wLiogbGlicXVhZG1hdGguc28KQEAgLTEz NzAsNyArMTM3Niw3IEBAIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYnN0ZGMrKy5zby42 LipbMC05XSBsaWJzdGRjKysuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdmb3J0 cmFuLnNvLjMuKiBsaWJnZm9ydHJhbi5zbwogbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGli Z29tcC5zby4xLiogbGliZ29tcC5zbwogJWlmICV7YnVpbGRfZ299Ci1sbiAtc2YgLi4vLi4vLi4v Li4vJXtfbGlifS9saWJnby5zby44LiogbGliZ28uc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8le19s aWJ9L2xpYmdvLnNvLjkuKiBsaWJnby5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0 aH0KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYnF1YWRtYXRoLnNvLjAuKiBsaWJxdWFk bWF0aC5zbwpAQCAtMTQ5MSw4ICsxNDk3LDggQEAgbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4u L2xpYi9saWJnZm9ydHJhbi5zby4zLiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGkKIGxu IC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ29tcC5zby4xLiogfCBzZWQgc34vbGli L34vbGliNjQvfmAgNjQvbGliZ29tcC5zbwogJWlmICV7YnVpbGRfZ299CiBybSAtZiBsaWJnby5z bwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xp YmdvLnNvLjguKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gbGliZ28uc28KLWVjaG8g J0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdvLnNv LjguKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gNjQvbGliZ28uc28KK2VjaG8gJ0lO UFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnby5zby45Liog fCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IGxpYmdvLnNvCitlY2hvICdJTlBVVCAoICV7 X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnby5zby45LiogfCBzZWQg J3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDY0L2xpYmdvLnNvCiAlZW5kaWYKICVpZiAle2J1aWxk X2xpYnF1YWRtYXRofQogcm0gLWYgbGlicXVhZG1hdGguc28KQEAgLTE1OTgsOCArMTYwNCw4IEBA IGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJnZm9ydHJhbi5zby4zLiogfCBz ZWQgc34vLi4vbGliNjQvfi9+YCAzMi9sCiBsbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGli NjQvbGliZ29tcC5zby4xLiogfCBzZWQgc34vLi4vbGliNjQvfi9+YCAzMi9saWJnb21wLnNvCiAl aWYgJXtidWlsZF9nb30KIHJtIC1mIGxpYmdvLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0v bGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvLnNvLjguKiB8IHNlZCAncyxeLips aWJnLGxpYmcsJ2AnICknID4gbGliZ28uc28KLWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIv J2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvLnNvLjguKiB8IHNlZCAncyxeLipsaWJnLGxp YmcsJ2AnICknID4gMzIvbGliZ28uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8n YGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uOS4qIHwgc2VkICdzLF4uKmxpYmcsbGli ZywnYCcgKScgPiBsaWJnby5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8g Li4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uOS4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcg KScgPiAzMi9saWJnby5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0KIHJtIC1m IGxpYnF1YWRtYXRoLnNvCkBAIC0xNzgwLDcgKzE3ODYsNyBAQCBjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYnRzYW4uc28uMC4qCiBjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmxzYW4uc28uMC4qCiAlZW5kaWYKICVpZiAle2J1aWxk X2dvfQotY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby44 LioKK2NobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28uOS4q CiAlZW5kaWYKIGNobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlib2Jq Yy5zby40LioKIApAQCAtMjk4Miw3ICsyOTg4LDcgQEAgZmkKICVkb2MgcnBtLmRvYy9nby8qCiAK ICVmaWxlcyAtbiBsaWJnbwotJXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjgqCisle19wcmVm aXh9LyV7X2xpYn0vbGliZ28uc28uOSoKICVkb2MgcnBtLmRvYy9saWJnby8qCiAKICVmaWxlcyAt biBsaWJnby1kZXZlbApAQCAtMzA2OCw2ICszMDc0LDI0IEBAIGZpCiAlZG9jIHJwbS5kb2MvY2hh bmdlbG9ncy9saWJjYzEvQ2hhbmdlTG9nKgogCiAlY2hhbmdlbG9nCisqIEZyaSBGZWIgIDUgMjAx NiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA2LjAuMC0wLjEwCistIHVwZGF0ZSBm cm9tIHRoZSB0cnVuaworICAtIFBScyBib290c3RyYXAvNjk2MTEsIGJvb3RzdHJhcC82OTY3Nywg YysrLzY4OTQ4LCBjKysvNjkwNTYsIGMrKy82OTI1MSwKKwljKysvNjkyNTMsIGMrKy82OTI3Nywg YysrLzY5MjkwLCBjKysvNjkzNDksIGMvNjk2MjcsIGMvNjk2NjksCisJZm9ydHJhbi82NzQ1MSwg Zm9ydHJhbi82OTM2OCwgZm9ydHJhbi82OTQxOCwgbGlic3RkYysrLzY5NjI2LAorCW1pZGRsZS1l bmQvNjg1NDIsIHJ0bC1vcHQvNjc2MDksIHJ0bC1vcHRpbWl6YXRpb24vNjQ2ODIsCisJcnRsLW9w dGltaXphdGlvbi82OTU2NywgcnRsLW9wdGltaXphdGlvbi82OTU3Nywgc2FuaXRpemVyLzY5Mjc2 LAorCXRhcmdldC82NTkzMiwgdGFyZ2V0LzY3MDMyLCB0YXJnZXQvNjc3MTQsIHRhcmdldC82ODEy NCwgdGFyZ2V0LzY4NjYyLAorCXRhcmdldC82OTExOCwgdGFyZ2V0LzY5MzY5LCB0YXJnZXQvNjk0 NTQsIHRhcmdldC82OTQ2MSwgdGFyZ2V0LzY5NTQ4LAorCXRhcmdldC82OTYxOSwgdGFyZ2V0LzY5 NjI1LCB0YXJnZXQvNjk2NDQsIHRhcmdldC82OTY2NywgdGFyZ2V0LzY5Njc3LAorCXRlc3RzdWl0 ZS82NTk0MCwgdHJlZS1vcHRpbWl6YXRpb24vNjk1ODAsIHRyZWUtb3B0aW1pemF0aW9uLzY5NTk1 LAorCXRyZWUtb3B0aW1pemF0aW9uLzY5NjA2CisgIC0gR28gMS42cmMxCistIGZpeCB2YXJpb3Vz IEMrKyBJQ0VzIGluIGFzc2lnbl90ZW1wIChQUiBpcGEvNjkyNDEsIFBSIGMrKy82OTY0OSkKKy0g Zml4IGNoYXJhY3RlciBjb25zdGFudCBlcnJvciByZWNvdmVyeSAoUFIgYysrLzY5NjI4KQorLSBm aXggaW52YWxpZCBkaWFnbm9zdGljcyBvbiBDKysgYXJyYXkgaW5pdGlhbGl6ZXJzIChQUiBjKysv Njk2NTgpCistIGZpeCBSQSBzdWJyZWcgaGFuZGxpbmcgKFBSIHJ0bC1vcHRpbWl6YXRpb24vNjk2 OTEpCisKICogTW9uIEZlYiAgMSAyMDE2IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+ IDYuMC4wLTAuOQogLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsKICAgLSBQUnMgbWlkZGxlLWVuZC82 OTU1NiwgdHJlZS1vcHRpbWl6YXRpb24vNjc5MjEsIHRyZWUtb3B0aW1pemF0aW9uLzY5NTc0Cgpk aWZmIC0tZ2l0IGEvZ2NjNi1wcjY1OTMyLWNzZS1yZXZlcnQucGF0Y2ggYi9nY2M2LXByNjU5MzIt Y3NlLXJldmVydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmJl NDg4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNi1wcjY1OTMyLWNzZS1yZXZlcnQucGF0Y2gKQEAg LTAsMCArMSwxOSBAQAorUmV2ZXJ0OgorMjAxNi0wMi0wNCAgS3lyeWxvIFRrYWNob3YgIDxreXJ5 bG8udGthY2hvdkBhcm0uY29tPgorCisJUFIgdGFyZ2V0LzY1OTMyCisJUFIgdGFyZ2V0LzY3NzE0 CisJKiBjc2UuYyAoY3NlX2luc24pOiBQYXNzIE5VTEwgdG8gZm9sZF9ydHggd2hlbiBpbml0aWFs bHkKKwlmb2xkaW5nIHRoZSBzb3VyY2Ugb2YgYSBTRVQuCisgCistLS0gZ2NjL2NzZS5jCShyZXZp c2lvbiAyMzMxMzMpCisrKysgZ2NjL2NzZS5jCShyZXZpc2lvbiAyMzMxMzIpCitAQCAtNDYzNiw3 ICs0NjM2LDcgQEAgY3NlX2luc24gKHJ0eF9pbnNuICppbnNuKQorIAorICAgICAgIC8qIFNpbXBs aWZ5IGFuZCBmb2xkYWJsZSBzdWJleHByZXNzaW9ucyBpbiBTUkMuICBUaGVuIGdldCB0aGUgZnVs bHktCisgCSBzaW1wbGlmaWVkIHJlc3VsdCwgd2hpY2ggbWF5IG5vdCBuZWNlc3NhcmlseSBiZSB2 YWxpZC4gICovCistICAgICAgc3JjX2ZvbGRlZCA9IGZvbGRfcnR4IChzcmMsIE5VTEwpOworKyAg ICAgIHNyY19mb2xkZWQgPSBmb2xkX3J0eCAoc3JjLCBpbnNuKTsKKyAKKyAjaWYgMAorICAgICAg IC8qID8/PyBUaGlzIGNhdXNlZCBiYWQgY29kZSB0byBiZSBnZW5lcmF0ZWQgZm9yIHRoZSBtNjhr IHBvcnQgd2l0aCAtTzIuCgpkaWZmIC0tZ2l0IGEvZ2NjNi1wcjY5MjQxLnBhdGNoIGIvZ2NjNi1w cjY5MjQxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0YmY2YWQK LS0tIC9kZXYvbnVsbAorKysgYi9nY2M2LXByNjkyNDEucGF0Y2gKQEAgLTAsMCArMSwxNjMgQEAK KzIwMTYtMDItMDMgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCSAgICBQYXRy aWNrIFBhbGthICA8cHBhbGthQGdjYy5nbnUub3JnPgorCisJUFIgaXBhLzY5MjQxCisJUFIgYysr LzY5NjQ5CisJKiBnaW1wbGlmeS5jIChnaW1wbGlmeV9tb2RpZnlfZXhwcik6IFNldCBsaHMgZXZl biBmb3Igbm9yZXR1cm4KKwljYWxscyBpZiB0aGUgcmV0dXJuIHR5cGUgaXMgVFJFRV9BRERSRVNT QUJMRS4KKwkqIGNncmFwaHVuaXQuYyAoY2dyYXBoX25vZGU6OmV4cGFuZF90aHVuayk6IExpa2V3 aXNlLgorCSogaXBhLXNwbGl0LmMgKHNwbGl0X2Z1bmN0aW9uKTogRml4IGRvdWJsZWQgIndlIiBp biBjb21tZW50LgorCVVzZSB2b2lkIHJldHVybiB0eXBlIGZvciB0aGUgc3BsaXQgcGFydCBldmVu IGlmCisJIXNwbGl0X3BvaW50LT5zcGxpdF9wYXJ0X3NldF9yZXR2YWwuCisKKwkqIGcrKy5kZy9p cGEvcHI2OTI0MS0xLkM6IE5ldyB0ZXN0LgorCSogZysrLmRnL2lwYS9wcjY5MjQxLTIuQzogTmV3 IHRlc3QuCisJKiBnKysuZGcvaXBhL3ByNjkyNDEtMy5DOiBOZXcgdGVzdC4KKwkqIGcrKy5kZy9p cGEvcHI2OTY0OS5DOiBOZXcgdGVzdC4KKworLS0tIGdjYy9naW1wbGlmeS5jLmpqCTIwMTYtMDIt MDIgMjA6NDI6MDAuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2dpbXBsaWZ5LmMJMjAxNi0wMi0w MyAxMTowNDowNi40MDA3NTc2NjggKzAxMDAKK0BAIC00ODI4LDcgKzQ4MjgsOCBAQCBnaW1wbGlm eV9tb2RpZnlfZXhwciAodHJlZSAqZXhwcl9wLCBnaW1wCisgCSAgICB9CisgCX0KKyAgICAgICBu b3RpY2Vfc3BlY2lhbF9jYWxscyAoY2FsbF9zdG10KTsKKy0gICAgICBpZiAoIWdpbXBsZV9jYWxs X25vcmV0dXJuX3AgKGNhbGxfc3RtdCkpCisrICAgICAgaWYgKCFnaW1wbGVfY2FsbF9ub3JldHVy bl9wIChjYWxsX3N0bXQpCisrCSAgfHwgVFJFRV9BRERSRVNTQUJMRSAoVFJFRV9UWVBFICgqdG9f cCkpKQorIAlnaW1wbGVfY2FsbF9zZXRfbGhzIChjYWxsX3N0bXQsICp0b19wKTsKKyAgICAgICBh c3NpZ24gPSBjYWxsX3N0bXQ7CisgICAgIH0KKy0tLSBnY2MvY2dyYXBodW5pdC5jLmpqCTIwMTYt MDEtMjAgMTA6NTU6MTUuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2NncmFwaHVuaXQuYwkyMDE2 LTAyLTAzIDExOjA0OjQxLjAzNDI3OTM3MCArMDEwMAorQEAgLTE3MDMsNyArMTcwMyw4IEBAIGNn cmFwaF9ub2RlOjpleHBhbmRfdGh1bmsgKGJvb2wgb3V0cHV0X2EKKyAgICAgICBic2kgPSBnc2lf c3RhcnRfYmIgKGJiKTsKKyAKKyAgICAgICAvKiBCdWlsZCBjYWxsIHRvIHRoZSBmdW5jdGlvbiBi ZWluZyB0aHVua2VkLiAgKi8KKy0gICAgICBpZiAoIVZPSURfVFlQRV9QIChyZXN0eXBlKSAmJiAh YWxpYXNfaXNfbm9yZXR1cm4pCisrICAgICAgaWYgKCFWT0lEX1RZUEVfUCAocmVzdHlwZSkKKysJ ICAmJiAoIWFsaWFzX2lzX25vcmV0dXJuIHx8IFRSRUVfQUREUkVTU0FCTEUgKHJlc3R5cGUpKSkK KyAJeworIAkgIGlmIChERUNMX0JZX1JFRkVSRU5DRSAocmVzZGVjbCkpCisgCSAgICB7CitAQCAt MTc3MCw3ICsxNzcxLDcgQEAgY2dyYXBoX25vZGU6OmV4cGFuZF90aHVuayAoYm9vbCBvdXRwdXRf YQorIAkgICAgICB8fCBERUNMX0JZX1JFRkVSRU5DRSAocmVzZGVjbCkpKQorICAgICAgICAgZ2lt cGxlX2NhbGxfc2V0X3JldHVybl9zbG90X29wdCAoY2FsbCwgdHJ1ZSk7CisgCistICAgICAgaWYg KHJlc3RtcCAmJiAhYWxpYXNfaXNfbm9yZXR1cm4pCisrICAgICAgaWYgKHJlc3RtcCkKKyAJewor ICAgICAgICAgICBnaW1wbGVfY2FsbF9zZXRfbGhzIChjYWxsLCByZXN0bXApOworIAkgIGdjY19h c3NlcnQgKHVzZWxlc3NfdHlwZV9jb252ZXJzaW9uX3AgKFRSRUVfVFlQRSAocmVzdG1wKSwKKy0t LSBnY2MvaXBhLXNwbGl0LmMuamoJMjAxNi0wMS0wNCAxNDo1NTo1Mi4wMDAwMDAwMDAgKzAxMDAK KysrKyBnY2MvaXBhLXNwbGl0LmMJMjAxNi0wMi0wMyAxMzowMTo0NS45MDUxMzYwNTEgKzAxMDAK K0BAIC0xMjU0LDcgKzEyNTQsNyBAQCBzcGxpdF9mdW5jdGlvbiAoYmFzaWNfYmxvY2sgcmV0dXJu X2JiLCBzCisgICAgICAgZWxzZQorIAltYWluX3BhcnRfcmV0dXJuX3AgPSB0cnVlOworICAgICB9 CistICAvKiBUaGUgbWFpbiBwYXJ0IGFsc28gcmV0dXJucyBpZiB3ZSB3ZSBzcGxpdCBvbiBhIGZh bGx0aHJ1IGVkZ2UKKysgIC8qIFRoZSBtYWluIHBhcnQgYWxzbyByZXR1cm5zIGlmIHdlIHNwbGl0 IG9uIGEgZmFsbHRocnUgZWRnZQorICAgICAgYW5kIHRoZSBzcGxpdCBwYXJ0IHJldHVybnMuICAq LworICAgaWYgKHNwbGl0X3BhcnRfcmV0dXJuX3ApCisgICAgIEZPUl9FQUNIX0VER0UgKGUsIGVp LCBzcGxpdF9wb2ludC0+ZW50cnlfYmItPnByZWRzKQorQEAgLTEzNjQsOCArMTM2NCw5IEBAIHNw bGl0X2Z1bmN0aW9uIChiYXNpY19ibG9jayByZXR1cm5fYmIsIHMKKyAgIC8qIE5vdyBjcmVhdGUg dGhlIGFjdHVhbCBjbG9uZS4gICovCisgICBjZ3JhcGhfZWRnZTo6cmVidWlsZF9lZGdlcyAoKTsK KyAgIG5vZGUgPSBjdXJfbm9kZS0+Y3JlYXRlX3ZlcnNpb25fY2xvbmVfd2l0aF9ib2R5CistICAg ICh2TlVMTCwgTlVMTCwgYXJnc190b19za2lwLCAhc3BsaXRfcGFydF9yZXR1cm5fcCwgc3BsaXRf cG9pbnQtPnNwbGl0X2JicywKKy0gICAgIHNwbGl0X3BvaW50LT5lbnRyeV9iYiwgInBhcnQiKTsK KysgICAgKHZOVUxMLCBOVUxMLCBhcmdzX3RvX3NraXAsCisrICAgICAhc3BsaXRfcGFydF9yZXR1 cm5fcCB8fCAhc3BsaXRfcG9pbnQtPnNwbGl0X3BhcnRfc2V0X3JldHZhbCwKKysgICAgIHNwbGl0 X3BvaW50LT5zcGxpdF9iYnMsIHNwbGl0X3BvaW50LT5lbnRyeV9iYiwgInBhcnQiKTsKKyAKKyAg IG5vZGUtPnNwbGl0X3BhcnQgPSB0cnVlOworIAorLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2lw YS9wcjY5MjQxLTEuQy5qagkyMDE2LTAyLTAzIDEwOjU2OjEwLjYyNDMyODI2MyArMDEwMAorKysr IGdjYy90ZXN0c3VpdGUvZysrLmRnL2lwYS9wcjY5MjQxLTEuQwkyMDE2LTAyLTAzIDExOjAxOjE4 LjYwMDA3NTAzOSArMDEwMAorQEAgLTAsMCArMSwxMiBAQAorKy8vIFBSIGlwYS82OTI0MQorKy8v IHsgZGctZG8gY29tcGlsZSB9CisrLy8geyBkZy1vcHRpb25zICItTzIiIH0KKysKKytzdHJ1Y3Qg UiB7IFIgKGNvbnN0IFIgJikge30gfTsKKytfX2F0dHJpYnV0ZV9fICgobm9yZXR1cm4pKSBSIGJh ciAoKTsKKysKKytSCisrZm9vICgpCisreworKyAgYmFyICgpOworK30KKy0tLSBnY2MvdGVzdHN1 aXRlL2crKy5kZy9pcGEvcHI2OTI0MS0yLkMuamoJMjAxNi0wMi0wMyAxMDo1NjowNy45OTYzNjQ1 NTYgKzAxMDAKKysrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9pcGEvcHI2OTI0MS0yLkMJMjAxNi0w Mi0wMyAxMTowMTo0Mi45NTg3Mzg2MzkgKzAxMDAKK0BAIC0wLDAgKzEsMTggQEAKKysvLyBQUiBp cGEvNjkyNDEKKysvLyB7IGRnLWRvIGNvbXBpbGUgfQorKy8vIHsgZGctb3B0aW9ucyAiLU8yIiB9 CisrCisrX19hdHRyaWJ1dGVfXygobm9yZXR1cm4pKSB2b2lkIGZvbyAoaW50KTsKKytzdHJ1Y3Qg UiB7IFIgKGNvbnN0IFIgJikge30gfTsKKysKKytSCisrYmFyICgpCisreworKyAgZm9vICgwKTsK Kyt9CisrCisrUgorK2JheiAoKQorK3sKKysgIGZvbyAoMCk7CisrfQorLS0tIGdjYy90ZXN0c3Vp dGUvZysrLmRnL2lwYS9wcjY5MjQxLTMuQy5qagkyMDE2LTAyLTAzIDExOjAwOjM5Ljg0MDYxMDMx NyArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2lwYS9wcjY5MjQxLTMuQwkyMDE2LTAy LTAzIDExOjAxOjAyLjA0NDMwMzY3OCArMDEwMAorQEAgLTAsMCArMSwxMiBAQAorKy8vIFBSIGlw YS82OTI0MQorKy8vIHsgZGctZG8gY29tcGlsZSB9CisrLy8geyBkZy1vcHRpb25zICItTzIiIH0K KysKKytzdHJ1Y3QgUiB7IGludCB4WzEwMF07IH07CisrX19hdHRyaWJ1dGVfXyAoKG5vcmV0dXJu KSkgUiBiYXIgKCk7CisrCisrdm9pZAorK2ZvbyAoKQorK3sKKysgIGJhciAoKTsKKyt9CistLS0g Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvaXBhL3ByNjk2NDkuQy5qagkyMDE2LTAyLTAzIDEzOjE5OjAw Ljg1MDg0NTg4NyArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2lwYS9wcjY5NjQ5LkMJ MjAxNi0wMi0wMyAxMzoxODo0My4wMDAwMDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMzYgQEAKKysv LyBQUiBjKysvNjk2NDkKKysvLyB7IGRnLWRvIGNvbXBpbGUgfQorKy8vIHsgZGctb3B0aW9ucyAi LU8yIiB9CisrCisrc3RydWN0IEEgeyB2aXJ0dWFsIHZvaWQgbTEgKCk7IH07Cisrc3RydWN0IEMg OiBBIHsgdm9pZCBtMSAoKSB7IG0xICgpOyB9IH07CisrdGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVj dCBCCisreworKyAgVCAqdDsKKysgIEIgKFQgKngpIDogdCAoeCkgeyBpZiAodCkgdC0+bTEgKCk7 IH0KKysgIEIgKGNvbnN0IEIgJik7CisrfTsKKytzdHJ1Y3QgRCA6IHB1YmxpYyBDIHt9OworK3N0 cnVjdCBGIDogcHVibGljIEQKKyt7CisrICB2aXJ0dWFsIEI8RD4gbTIgKCk7CisrICB2aXJ0dWFs IEI8RD4gbTMgKCk7CisrICBpbnQgbTQgKCk7CisrfTsKKytzdHJ1Y3QgRyA6IEYKKyt7CisrICBC PEQ+IG0yICgpOworKyAgQjxEPiBtMyAoKTsKKyt9OworK0I8RD4gRzo6bTIgKCkKKyt7CisrICBp ZiAobTQgKCkgPT0gMCkKKysgICAgcmV0dXJuIHRoaXM7CisrICByZXR1cm4gMDsKKyt9CisrQjxE PiBHOjptMyAoKQorK3sKKysgIGlmIChtNCAoKSA9PSAwKQorKyAgICByZXR1cm4gdGhpczsKKysg IHJldHVybiAwOworK30KCmRpZmYgLS1naXQgYS9nY2M2LXByNjk1NTgucGF0Y2ggYi9nY2M2LXBy Njk1NTgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlkMTM3MzEuLjAwMDAw MDAKLS0tIGEvZ2NjNi1wcjY5NTU4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBA QAotMjAxNi0wMS0yOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiBw cmVwcm9jZXNzb3IvNjk1NDMKLQlQUiBjLzY5NTU4Ci0JKiBjLXByYWdtYS5jIChoYW5kbGVfcHJh Z21hX2RpYWdub3N0aWMpOiBQYXNzIGlucHV0X2xvY2F0aW9uCi0JaW5zdGVhZCBvZiBsb2MgdG8g Y29udHJvbF93YXJuaW5nX29wdGlvbi4KLQotCSogZ2NjLmRnL3ByNjk1NDMuYzogTmV3IHRlc3Qu Ci0JKiBnY2MuZGcvcHI2OTU1OC5jOiBOZXcgdGVzdC4KLQotLS0tIGdjYy9jLWZhbWlseS9jLXBy YWdtYS5jLmpqCTIwMTYtMDEtMTUgMjE6NTc6MDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL2Mt ZmFtaWx5L2MtcHJhZ21hLmMJMjAxNi0wMS0yOSAxODozNDo1MS43NDM5NDMyODMgKzAxMDAKLUBA IC04MTksNyArODE5LDcgQEAgaGFuZGxlX3ByYWdtYV9kaWFnbm9zdGljKGNwcF9yZWFkZXIgKkFS RwotICAgICBhcmcgPSBvcHRpb25fc3RyaW5nICsgMSArIGNsX29wdGlvbnNbb3B0aW9uX2luZGV4 XS5vcHRfbGVuOwotICAgY29udHJvbF93YXJuaW5nX29wdGlvbiAob3B0aW9uX2luZGV4LCAoaW50 KSBraW5kLAotIAkJCSAgYXJnLCBraW5kICE9IERLX0lHTk9SRUQsCi0tCQkJICBsb2MsIGxhbmdf bWFzaywgJmhhbmRsZXJzLAotKwkJCSAgaW5wdXRfbG9jYXRpb24sIGxhbmdfbWFzaywgJmhhbmRs ZXJzLAotIAkJCSAgJmdsb2JhbF9vcHRpb25zLCAmZ2xvYmFsX29wdGlvbnNfc2V0LAotIAkJCSAg Z2xvYmFsX2RjKTsKLSB9Ci0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTU1OC5jLmpqCTIw MTYtMDEtMjkgMTg6NDM6MzIuMTkxNjY1MDU4ICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcHI2OTU1OC5jCTIwMTYtMDEtMjkgMTg6NDA6MDUuMDAwMDAwMDAwICswMTAwCi1AQCAtMCww ICsxLDE3IEBACi0rLyogUFIgYy82OTU1OCAqLwotKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0r LyogeyBkZy1vcHRpb25zICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIiB9ICovCi0rCi0rI2Rl ZmluZSBBIFwKLSsgIF9QcmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBwdXNoIikgXAotKyAgX1ByYWdt YSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXCIi KQotKyNkZWZpbmUgQiBcCi0rICBfUHJhZ21hICgiR0NDIGRpYWdub3N0aWMgcG9wIikKLSsjZGVm aW5lIEMoeCkgXAotKyAgQSBcCi0rICBzdGF0aWMgaW5saW5lIHZvaWQgYmFyICh2b2lkKSB7IHgg KCk7IH0gXAotKyAgQgotKwotK19fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKSB2b2lkIGZvbyAo dm9pZCk7IC8qIHsgZGctYm9ndXMgImRlY2xhcmVkIGhlcmUiIH0gKi8KLSsKLStDIChmb28pIC8q IHsgZGctYm9ndXMgImlzIGRlcHJlY2F0ZWQiIH0gKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2djYy5k Zy9wcjY5NTQzLmMuamoJMjAxNi0wMS0yOSAxODo0NTowOS41MjAzMjMzOTUgKzAxMDAKLSsrKyBn Y2MvdGVzdHN1aXRlL2djYy5kZy9wcjY5NTQzLmMJMjAxNi0wMS0yOSAxODo0NDo1Ni4wMDAwMDAw MDAgKzAxMDAKLUBAIC0wLDAgKzEsMTggQEAKLSsvKiBQUiBwcmVwcm9jZXNzb3IvNjk1NDMgKi8K LSsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1XdW5pbml0 aWFsaXplZCIgfSAqLwotKwotKyMgZGVmaW5lIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJWkVE X0JFR0lOIFwKLSsgICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIHB1c2giKSBcCi0rICAgIF9Q cmFnbWEgKCJHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVd1bmluaXRpYWxpemVkXCIiKVwKLSsg ICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIGlnbm9yZWQgXCItV21heWJlLXVuaW5pdGlhbGl6 ZWRcIiIpCi0rIyBkZWZpbmUgWVlfSUdOT1JFX01BWUJFX1VOSU5JVElBTElaRURfRU5EIFwKLSsg ICAgX1ByYWdtYSAoIkdDQyBkaWFnbm9zdGljIHBvcCIpCi0rCi0rdm9pZCB0ZXN0IChjaGFyIHl5 bHZhbCkKLSt7Ci0rICBjaGFyICp5eXZzcDsKLSsgIFlZX0lHTk9SRV9NQVlCRV9VTklOSVRJQUxJ WkVEX0JFR0lOCi0rICAqKyt5eXZzcCA9IHl5bHZhbDsKLSsgIFlZX0lHTk9SRV9NQVlCRV9VTklO SVRJQUxJWkVEX0VORAotK30KCmRpZmYgLS1naXQgYS9nY2M2LXByNjk1OTIucGF0Y2ggYi9nY2M2 LXByNjk1OTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmYWI1MmEuLjAw MDAwMDAKLS0tIGEvZ2NjNi1wcjY5NTkyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTU0ICsw LDAgQEAKLTIwMTYtMDItMDEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0J UFIgcnRsLW9wdGltaXphdGlvbi82OTU5MgotCSogcnRsYW5hbC5jIChub256ZXJvX2JpdHNfYmlu YXJ5X2FyaXRoX3ApOiBOZXcgaW5saW5lIGZ1bmN0aW9uLgotCShjYWNoZWRfbm9uemVyb19iaXRz KTogVXNlIGl0IGluc3RlYWQgb2YgQVJJVEhNRVRJQ19QLgotCShudW1fc2lnbl9iaXRfY29waWVz X2JpbmFyeV9hcml0aF9wKTogTmV3IGlubGluZSBmdW5jdGlvbi4KLQkoY2FjaGVkX251bV9zaWdu X2JpdF9jb3BpZXMpOiBVc2UgaXQgaW5zdGVhZCBvZiBBUklUSE1FVElDX1AuCi0KLQkqIGdjYy5k Zy9wcjY5NTkyLmM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL3J0bGFuYWwuYy5qagkyMDE2LTAxLTIx IDIxOjI3OjU3LjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9ydGxhbmFsLmMJMjAxNi0wMi0wMSAx ODo1MzowNi4xMzA5MzQzMzMgKzAxMDAKLUBAIC00MTYzLDYgKzQxNjMsMzYgQEAgbnVtX3NpZ25f Yml0X2NvcGllcyAoY29uc3RfcnR4IHgsIG1hY2hpbgotICAgcmV0dXJuIGNhY2hlZF9udW1fc2ln bl9iaXRfY29waWVzICh4LCBtb2RlLCBOVUxMX1JUWCwgVk9JRG1vZGUsIDApOwotIH0KLSAKLSsv KiBSZXR1cm4gdHJ1ZSBpZiBub256ZXJvX2JpdHMxIG1pZ2h0IHJlY3Vyc2UgaW50byBib3RoIG9w ZXJhbmRzCi0rICAgb2YgWC4gICovCi0rCi0rc3RhdGljIGlubGluZSBib29sCi0rbm9uemVyb19i aXRzX2JpbmFyeV9hcml0aF9wIChjb25zdF9ydHggeCkKLSt7Ci0rICBpZiAoIUFSSVRITUVUSUNf UCAoeCkpCi0rICAgIHJldHVybiBmYWxzZTsKLSsgIHN3aXRjaCAoR0VUX0NPREUgKHgpKQotKyAg ICB7Ci0rICAgIGNhc2UgQU5EOgotKyAgICBjYXNlIFhPUjoKLSsgICAgY2FzZSBJT1I6Ci0rICAg IGNhc2UgVU1JTjoKLSsgICAgY2FzZSBVTUFYOgotKyAgICBjYXNlIFNNSU46Ci0rICAgIGNhc2Ug U01BWDoKLSsgICAgY2FzZSBQTFVTOgotKyAgICBjYXNlIE1JTlVTOgotKyAgICBjYXNlIE1VTFQ6 Ci0rICAgIGNhc2UgRElWOgotKyAgICBjYXNlIFVESVY6Ci0rICAgIGNhc2UgTU9EOgotKyAgICBj YXNlIFVNT0Q6Ci0rICAgICAgcmV0dXJuIHRydWU7Ci0rICAgIGRlZmF1bHQ6Ci0rICAgICAgcmV0 dXJuIGZhbHNlOwotKyAgICB9Ci0rfQotKwotIC8qIFRoZSBmdW5jdGlvbiBjYWNoZWRfbm9uemVy b19iaXRzIGlzIGEgd3JhcHBlciBhcm91bmQgbm9uemVyb19iaXRzMS4KLSAgICBJdCBhdm9pZHMg ZXhwb25lbnRpYWwgYmVoYXZpb3IgaW4gbm9uemVyb19iaXRzMSB3aGVuIFggaGFzCi0gICAgaWRl bnRpY2FsIHN1YmV4cHJlc3Npb25zIG9uIHRoZSBmaXJzdCBvciB0aGUgc2Vjb25kIGxldmVsLiAg Ki8KLUBAIC00MTc5LDcgKzQyMDksNyBAQCBjYWNoZWRfbm9uemVyb19iaXRzIChjb25zdF9ydHgg eCwgbWFjaGluCi0gICAgICBub256ZXJvX2JpdHMxIG9uIFggd2l0aCB0aGUgc3ViZXhwcmVzc2lv bnMgYXMgS05PV05fWCBhbmQgdGhlCi0gICAgICBwcmVjb21wdXRlZCB2YWx1ZSBmb3IgdGhlIHN1 YmV4cHJlc3Npb24gYXMgS05PV05fUkVULiAgKi8KLSAKLS0gIGlmIChBUklUSE1FVElDX1AgKHgp KQotKyAgaWYgKG5vbnplcm9fYml0c19iaW5hcnlfYXJpdGhfcCAoeCkpCi0gICAgIHsKLSAgICAg ICBydHggeDAgPSBYRVhQICh4LCAwKTsKLSAgICAgICBydHggeDEgPSBYRVhQICh4LCAxKTsKLUBA IC00MTkxLDEzICs0MjIxLDEzIEBAIGNhY2hlZF9ub256ZXJvX2JpdHMgKGNvbnN0X3J0eCB4LCBt YWNoaW4KLSAJCQkJCQkgICBrbm93bl9tb2RlLCBrbm93bl9yZXQpKTsKLSAKLSAgICAgICAvKiBD aGVjayB0aGUgc2Vjb25kIGxldmVsLiAgKi8KLS0gICAgICBpZiAoQVJJVEhNRVRJQ19QICh4MCkK LSsgICAgICBpZiAobm9uemVyb19iaXRzX2JpbmFyeV9hcml0aF9wICh4MCkKLSAJICAmJiAoeDEg PT0gWEVYUCAoeDAsIDApIHx8IHgxID09IFhFWFAgKHgwLCAxKSkpCi0gCXJldHVybiBub256ZXJv X2JpdHMxICh4LCBtb2RlLCB4MSwgbW9kZSwKLSAJCQkgICAgICBjYWNoZWRfbm9uemVyb19iaXRz ICh4MSwgbW9kZSwga25vd25feCwKLSAJCQkJCQkgICBrbm93bl9tb2RlLCBrbm93bl9yZXQpKTsK LSAKLS0gICAgICBpZiAoQVJJVEhNRVRJQ19QICh4MSkKLSsgICAgICBpZiAobm9uemVyb19iaXRz X2JpbmFyeV9hcml0aF9wICh4MSkKLSAJICAmJiAoeDAgPT0gWEVYUCAoeDEsIDApIHx8IHgwID09 IFhFWFAgKHgxLCAxKSkpCi0gCXJldHVybiBub256ZXJvX2JpdHMxICh4LCBtb2RlLCB4MCwgbW9k ZSwKLSAJCQkgICAgICBjYWNoZWRfbm9uemVyb19iaXRzICh4MCwgbW9kZSwga25vd25feCwKLUBA IC00NjcyLDYgKzQ3MDIsMzMgQEAgbm9uemVyb19iaXRzMSAoY29uc3RfcnR4IHgsIG1hY2hpbmVf bW9kZQotICN1bmRlZiBjYWNoZWRfbnVtX3NpZ25fYml0X2NvcGllcwotIAotIAwKLSsvKiBSZXR1 cm4gdHJ1ZSBpZiBudW1fc2lnbl9iaXRfY29waWVzMSBtaWdodCByZWN1cnNlIGludG8gYm90aCBv cGVyYW5kcwotKyAgIG9mIFguICAqLwotKwotK3N0YXRpYyBpbmxpbmUgYm9vbAotK251bV9zaWdu X2JpdF9jb3BpZXNfYmluYXJ5X2FyaXRoX3AgKGNvbnN0X3J0eCB4KQotK3sKLSsgIGlmICghQVJJ VEhNRVRJQ19QICh4KSkKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgc3dpdGNoIChHRVRfQ09ERSAo eCkpCi0rICAgIHsKLSsgICAgY2FzZSBJT1I6Ci0rICAgIGNhc2UgQU5EOgotKyAgICBjYXNlIFhP UjoKLSsgICAgY2FzZSBTTUlOOgotKyAgICBjYXNlIFNNQVg6Ci0rICAgIGNhc2UgVU1JTjoKLSsg ICAgY2FzZSBVTUFYOgotKyAgICBjYXNlIFBMVVM6Ci0rICAgIGNhc2UgTUlOVVM6Ci0rICAgIGNh c2UgTVVMVDoKLSsgICAgICByZXR1cm4gdHJ1ZTsKLSsgICAgZGVmYXVsdDoKLSsgICAgICByZXR1 cm4gZmFsc2U7Ci0rICAgIH0KLSt9Ci0rCi0rCi0gLyogVGhlIGZ1bmN0aW9uIGNhY2hlZF9udW1f c2lnbl9iaXRfY29waWVzIGlzIGEgd3JhcHBlciBhcm91bmQKLSAgICBudW1fc2lnbl9iaXRfY29w aWVzMS4gIEl0IGF2b2lkcyBleHBvbmVudGlhbCBiZWhhdmlvciBpbgotICAgIG51bV9zaWduX2Jp dF9jb3BpZXMxIHdoZW4gWCBoYXMgaWRlbnRpY2FsIHN1YmV4cHJlc3Npb25zIG9uIHRoZQotQEAg LTQ2ODksNyArNDc0Niw3IEBAIGNhY2hlZF9udW1fc2lnbl9iaXRfY29waWVzIChjb25zdF9ydHgg eCwKLSAgICAgIG51bV9zaWduX2JpdF9jb3BpZXMxIG9uIFggd2l0aCB0aGUgc3ViZXhwcmVzc2lv bnMgYXMgS05PV05fWCBhbmQKLSAgICAgIHRoZSBwcmVjb21wdXRlZCB2YWx1ZSBmb3IgdGhlIHN1 YmV4cHJlc3Npb24gYXMgS05PV05fUkVULiAgKi8KLSAKLS0gIGlmIChBUklUSE1FVElDX1AgKHgp KQotKyAgaWYgKG51bV9zaWduX2JpdF9jb3BpZXNfYmluYXJ5X2FyaXRoX3AgKHgpKQotICAgICB7 Ci0gICAgICAgcnR4IHgwID0gWEVYUCAoeCwgMCk7Ci0gICAgICAgcnR4IHgxID0gWEVYUCAoeCwg MSk7Ci1AQCAtNDcwMyw3ICs0NzYwLDcgQEAgY2FjaGVkX251bV9zaWduX2JpdF9jb3BpZXMgKGNv bnN0X3J0eCB4LAotIAkJCQkJCQkgICAga25vd25fcmV0KSk7Ci0gCi0gICAgICAgLyogQ2hlY2sg dGhlIHNlY29uZCBsZXZlbC4gICovCi0tICAgICAgaWYgKEFSSVRITUVUSUNfUCAoeDApCi0rICAg ICAgaWYgKG51bV9zaWduX2JpdF9jb3BpZXNfYmluYXJ5X2FyaXRoX3AgKHgwKQotIAkgICYmICh4 MSA9PSBYRVhQICh4MCwgMCkgfHwgeDEgPT0gWEVYUCAoeDAsIDEpKSkKLSAJcmV0dXJuCi0gCSAg bnVtX3NpZ25fYml0X2NvcGllczEgKHgsIG1vZGUsIHgxLCBtb2RlLAotQEAgLTQ3MTEsNyArNDc2 OCw3IEBAIGNhY2hlZF9udW1fc2lnbl9iaXRfY29waWVzIChjb25zdF9ydHggeCwKLSAJCQkJCQkJ ICAgIGtub3duX21vZGUsCi0gCQkJCQkJCSAgICBrbm93bl9yZXQpKTsKLSAKLS0gICAgICBpZiAo QVJJVEhNRVRJQ19QICh4MSkKLSsgICAgICBpZiAobnVtX3NpZ25fYml0X2NvcGllc19iaW5hcnlf YXJpdGhfcCAoeDEpCi0gCSAgJiYgKHgwID09IFhFWFAgKHgxLCAwKSB8fCB4MCA9PSBYRVhQICh4 MSwgMSkpKQotIAlyZXR1cm4KLSAJICBudW1fc2lnbl9iaXRfY29waWVzMSAoeCwgbW9kZSwgeDAs IG1vZGUsCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTU5Mi5jLmpqCTIwMTYtMDItMDEg MTk6MDI6MjMuMTIyMjUxNzYxICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcHI2OTU5 Mi5jCTIwMTYtMDItMDEgMTk6MDA6MzAuMDAwMDAwMDAwICswMTAwCi1AQCAtMCwwICsxLDE2IEBA Ci0rLyogUFIgcnRsLW9wdGltaXphdGlvbi82OTU5MiAqLwotKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLSsKLSt1bnNpZ25lZCBpbnQKLStmb28g KHVuc2lnbmVkIGludCBhLCB1bnNpZ25lZCBpbnQgKmIsIHVuc2lnbmVkIGludCBjKQotK3sKLSsg IHVuc2lnbmVkIGludCBkOwotKyNkZWZpbmUgQShuKSBkID0gYSArIGJbbl07IGlmIChkIDwgYSkg YysrOyBhID0gZDsKLSsjZGVmaW5lIEIobikgQShuIyMwKSBBKG4jIzEpIEEobiMjMikgQShuIyMz KSBBKG4jIzQpIEEobiMjNSkgQShuIyM2KSBBKG4jIzcpIEEobiMjOCkgQShuIyM5KQotKyNkZWZp bmUgQyhuKSBCKG4jIzApIEIobiMjMSkgQihuIyMyKSBCKG4jIzMpIEIobiMjNCkgQihuIyM1KSBC KG4jIzYpIEIobiMjNykgQihuIyM4KSBCKG4jIzkpCi0rI2RlZmluZSBEKG4pIEMobiMjMCkgQyhu IyMxKSBDKG4jIzIpIEMobiMjMykgQyhuIyM0KSBDKG4jIzUpIEMobiMjNikgQyhuIyM3KSBDKG4j IzgpIEMobiMjOSkKLSsjZGVmaW5lIEUobikgRChuIyMwKSBEKG4jIzEpIEQobiMjMikgRChuIyMz KSBEKG4jIzQpIEQobiMjNSkgRChuIyM2KSBEKG4jIzcpIEQobiMjOCkgRChuIyM5KQotKyAgQygx KSBDKDIpIEMoMykgQyg0KSBDKDUpIEMoNikKLSsgIHJldHVybiBkICsgYzsKLSt9CgpkaWZmIC0t Z2l0IGEvZ2NjNi1wcjY5NjI4LnBhdGNoIGIvZ2NjNi1wcjY5NjI4LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMDZkNTUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M2 LXByNjk2MjgucGF0Y2gKQEAgLTAsMCArMSwzOCBAQAorMjAxNi0wMi0wMyAgSmFrdWIgSmVsaW5l ayAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiBjKysvNjk2MjgKKwkqIGNoYXJzZXQuYyAoY3Bw X2ludGVycHJldF9jaGFyY29uc3QpOiBDbGVhciAqUENIQVJTX1NFRU4KKwlhbmQgKlVOU0lHTkVE UCBpZiBiYWlsaW5nIG91dCBlYXJseSBkdWUgdG8gZXJyb3JzLgorCisJKiBnKysuZGcvcGFyc2Uv cHI2OTYyOC5DOiBOZXcgdGVzdC4KKworLS0tIGxpYmNwcC9jaGFyc2V0LmMuamoJMjAxNi0wMS0w NCAxNToxNDowOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJjcHAvY2hhcnNldC5jCTIwMTYtMDIt MDMgMTM6NDQ6MDUuMTAwMTIwODk4ICswMTAwCitAQCAtMTYyMCwxMCArMTYyMCwxNyBAQCBjcHBf aW50ZXJwcmV0X2NoYXJjb25zdCAoY3BwX3JlYWRlciAqcGZpCisgICBpZiAodG9rZW4tPnZhbC5z dHIubGVuID09IChzaXplX3QpICgyICsgd2lkZSArIHU4KSkKKyAgICAgeworICAgICAgIGNwcF9l cnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwgImVtcHR5IGNoYXJhY3RlciBjb25zdGFudCIpOwor KyAgICAgICpwY2hhcnNfc2VlbiA9IDA7CisrICAgICAgKnVuc2lnbmVkcCA9IDA7CisrICAgICAg cmV0dXJuIDA7CisrICAgIH0KKysgIGVsc2UgaWYgKCFjcHBfaW50ZXJwcmV0X3N0cmluZyAocGZp bGUsICZ0b2tlbi0+dmFsLnN0ciwgMSwgJnN0ciwKKysJCQkJICB0b2tlbi0+dHlwZSkpCisrICAg IHsKKysgICAgICAqcGNoYXJzX3NlZW4gPSAwOworKyAgICAgICp1bnNpZ25lZHAgPSAwOworICAg ICAgIHJldHVybiAwOworICAgICB9CistICBlbHNlIGlmICghY3BwX2ludGVycHJldF9zdHJpbmcg KHBmaWxlLCAmdG9rZW4tPnZhbC5zdHIsIDEsICZzdHIsIHRva2VuLT50eXBlKSkKKy0gICAgcmV0 dXJuIDA7CisgCisgICBpZiAod2lkZSkKKyAgICAgcmVzdWx0ID0gd2lkZV9zdHJfdG9fY2hhcmNv bnN0IChwZmlsZSwgc3RyLCBwY2hhcnNfc2VlbiwgdW5zaWduZWRwLAorLS0tIGdjYy90ZXN0c3Vp dGUvZysrLmRnL3BhcnNlL3ByNjk2MjguQy5qagkyMDE2LTAyLTAzIDEzOjQ3OjU1LjMwMDA2MTEx MCArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3BhcnNlL3ByNjk2MjguQwkyMDE2LTAy LTAzIDEzOjQ3OjMyLjAwMDAwMDAwMCArMDEwMAorQEAgLTAsMCArMSw1IEBACisrLy8gUFIgYysr LzY5NjI4CisrLy8geyBkZy1kbyBjb21waWxlIH0KKysKKyswJyc7IC8vIHsgZGctZXJyb3IgImVt cHR5IGNoYXJhY3RlciBjb25zdGFudCIgfQorKy8vIHsgZGctZXJyb3IgImV4cGVjdGVkIHVucXVh bGlmaWVkLWlkIGJlZm9yZSBudW1lcmljIGNvbnN0YW50IiAiIiB7IHRhcmdldCAqLSotKiB9IDQg fQoKZGlmZiAtLWdpdCBhL2djYzYtcHI2OTY1OC5wYXRjaCBiL2djYzYtcHI2OTY1OC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODFlODczCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjNi1wcjY5NjU4LnBhdGNoCkBAIC0wLDAgKzEsNDEgQEAKKzIwMTYtMDItMDQgIEph a3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJUFIgYysrLzY5NjU4CisJKiBpbml0 LmMgKGV4cGFuZF9kZWZhdWx0X2luaXQpOiBPbmx5IGNhbGwgcmVzaGFwZV9pbml0CisJaW4gdGhl IGRpcmVjdC1pbml0aWFsaXphdGlvbiBmcm9tIGFuIGluaXRpYWxpemVyIGxpc3QgY2FzZS4KKwor CSogZysrLmRnL2luaXQvcHI2OTY1OC5DOiBOZXcgdGVzdC4KKworLS0tIGdjYy9jcC9pbml0LmMu amoJMjAxNi0wMS0yOSAxMjoxMjo0Ni4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvY3AvaW5pdC5j CTIwMTYtMDItMDQgMTg6NTM6MjYuODY1MzE4MzM3ICswMTAwCitAQCAtMTYzNiwxNiArMTYzNiwx NyBAQCBleHBhbmRfZGVmYXVsdF9pbml0ICh0cmVlIGJpbmZvLCB0cmVlIHRyCisgICAgICAgZ2Nj X2NoZWNraW5nX2Fzc2VydCAoKGZsYWdzICYgTE9PS1VQX09OTFlDT05WRVJUSU5HKSA9PSAwCisg CQkJICAgJiYgVFJFRV9DSEFJTiAoaW5pdCkgPT0gTlVMTF9UUkVFKTsKKyAgICAgICBpbml0ID0g VFJFRV9WQUxVRSAoaW5pdCk7CisrICAgICAgLyogT25seSBjYWxsIHJlc2hhcGVfaW5pdCBpZiBp dCBoYXMgbm90IGJlZW4gY2FsbGVkIGVhcmxpZXIKKysJIGJ5IHRoZSBjYWxsZXJzLiAgKi8KKysg ICAgICBpZiAoQlJBQ0VfRU5DTE9TRURfSU5JVElBTElaRVJfUCAoaW5pdCkgJiYgQ1BfQUdHUkVH QVRFX1RZUEVfUCAodHlwZSkpCisrCWluaXQgPSByZXNoYXBlX2luaXQgKHR5cGUsIGluaXQsIGNv bXBsYWluKTsKKyAgICAgfQorIAorICAgaWYgKGluaXQgJiYgQlJBQ0VfRU5DTE9TRURfSU5JVElB TElaRVJfUCAoaW5pdCkKKyAgICAgICAmJiBDUF9BR0dSRUdBVEVfVFlQRV9QICh0eXBlKSkKKyAg ICAgLyogQSBicmFjZS1lbmNsb3NlZCBpbml0aWFsaXplciBmb3IgYW4gYWdncmVnYXRlLiAgSW4g QysrMHggdGhpcyBjYW4KKyAgICAgICAgaGFwcGVuIGZvciBkaXJlY3QtaW5pdGlhbGl6YXRpb24s IHRvby4gICovCistICAgIHsKKy0gICAgICBpbml0ID0gcmVzaGFwZV9pbml0ICh0eXBlLCBpbml0 LCBjb21wbGFpbik7CistICAgICAgaW5pdCA9IGRpZ2VzdF9pbml0ICh0eXBlLCBpbml0LCBjb21w bGFpbik7CistICAgIH0KKysgICAgaW5pdCA9IGRpZ2VzdF9pbml0ICh0eXBlLCBpbml0LCBjb21w bGFpbik7CisgCisgICAvKiBBIENPTlNUUlVDVE9SIG9mIHRoZSB0YXJnZXQncyB0eXBlIGlzIGEg cHJldmlvdXNseSBkaWdlc3RlZAorICAgICAgaW5pdGlhbGl6ZXIsIHdoZXRoZXIgdGhhdCBoYXBw ZW5lZCBqdXN0IGFib3ZlIG9yIGluCistLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvaW5pdC9wcjY5 NjU4LkMuamoJMjAxNi0wMi0wNCAxODo1NTo0Ni44NjIzOTA5NjEgKzAxMDAKKysrKyBnY2MvdGVz dHN1aXRlL2crKy5kZy9pbml0L3ByNjk2NTguQwkyMDE2LTAyLTA0IDE4OjU0OjU4LjAwMDAwMDAw MCArMDEwMAorQEAgLTAsMCArMSw2IEBACisrLy8gUFIgYysrLzY5NjU4CisrLy8geyBkZy1kbyBj b21waWxlIH0KKysKKytzdHJ1Y3QgUyB7IFMgKGludCk7IH07Cisrc3RydWN0IFQgeyBjaGFyIG5b Nl07IFMgczsgfTsKKytUIHRbMV0gPSB7IHsgImZvbyIsIDEgfSB9OwkvLyB7IGRnLWJvZ3VzICJD OTkgZGVzaWduYXRvciIgfQoKZGlmZiAtLWdpdCBhL2djYzYtcHI2OTY5MS5wYXRjaCBiL2djYzYt cHI2OTY5MS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mjg5MzFi Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNi1wcjY5NjkxLnBhdGNoCkBAIC0wLDAgKzEsMTQ5IEBA CisyMDE2LTAyLTA1ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIHJ0 bC1vcHRpbWl6YXRpb24vNjk2OTEKKwkqIGxyYS1lbGltaW5hdGlvbnMuYyAobW92ZV9wbHVzX3Vw KTogRG9uJ3QgYWRkIHRoZSBhZGRlbmQgdHdpY2UuCisKKwkqIGdjYy5jLXRvcnR1cmUvZXhlY3V0 ZS9wcjY5NjkxLmM6IE5ldyB0ZXN0LgorCistLS0gZ2NjL2xyYS1lbGltaW5hdGlvbnMuYy5qagky MDE2LTAxLTE0IDIwOjU3OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9scmEtZWxpbWluYXRp b25zLmMJMjAxNi0wMi0wNSAxNjo1NDo0Mi4xNDIwMDQyMjQgKzAxMDAKK0BAIC0zMDMsNyArMzAz LDggQEAgbW92ZV9wbHVzX3VwIChydHggeCkKKyAJCQkJIHN1YnJlZ19sb3dwYXJ0X29mZnNldCAo eF9tb2RlLAorIAkJCQkJCQlzdWJyZWdfcmVnX21vZGUpKTsKKyAgICAgICBpZiAoY3N0ICYmIENP TlNUQU5UX1AgKGNzdCkpCistCXJldHVybiBnZW5fcnR4X1BMVVMgKHhfbW9kZSwgbG93cGFydF9z dWJyZWcgKHhfbW9kZSwgc3VicmVnX3JlZywKKysJcmV0dXJuIGdlbl9ydHhfUExVUyAoeF9tb2Rl LCBsb3dwYXJ0X3N1YnJlZyAoeF9tb2RlLAorKwkJCQkJCSAgICAgWEVYUCAoc3VicmVnX3JlZywg MCksCisgCQkJCQkJICAgICBzdWJyZWdfcmVnX21vZGUpLCBjc3QpOworICAgICB9CisgICByZXR1 cm4geDsKKy0tLSBnY2MvdGVzdHN1aXRlL2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjY5NjkxLmMu amoJMjAxNi0wMi0wNSAxNzowODozMS41ODI1NTcwMzEgKzAxMDAKKysrKyBnY2MvdGVzdHN1aXRl L2djYy5jLXRvcnR1cmUvZXhlY3V0ZS9wcjY5NjkxLmMJMjAxNi0wMi0wNSAxNzowODoyNC4wMDAw MDAwMDAgKzAxMDAKK0BAIC0wLDAgKzEsMTI3IEBACisrLyogUFIgcnRsLW9wdGltaXphdGlvbi82 OTY5MSAqLworKworK2NoYXIgdVtdID0geyA0NiwgOTcsIDk5LCAxMDQsIDUyLCAwIH07CisrY2hh ciAqdltdID0geyB1LCAwIH07Cisrc3RydWN0IFMgeyBjaGFyIGFbMTBdOyBzdHJ1Y3QgUyAqYlsz MV07IH07Cisrc3RydWN0IFMgcls3XSwgKnIyID0gcjsKKytzdGF0aWMgc3RydWN0IFMgKncgPSAw OworKworK19fYXR0cmlidXRlX18oKG5vaW5saW5lLCBub2Nsb25lKSkgaW50CisrZm4gKGludCB4 KQorK3sKKysgIGlmIChfX2J1aWx0aW5fc3RyY2hyICh1LCB4KSB8fCB4ID09IDk2KQorKyAgICBy ZXR1cm4geDsKKysgIF9fYnVpbHRpbl9hYm9ydCAoKTsKKyt9CisrCisrX19hdHRyaWJ1dGVfXygo bm9pbmxpbmUsIG5vY2xvbmUpKSBpbnQKKytmb28gKGNoYXIgeCkKKyt7CisrICBpZiAoeCA9PSAw KQorKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7CisrICBpZiAoZm4gKHgpID49IDk2ICYmIGZuICh4 KSA8PSAxMjIpCisrICAgIHJldHVybiAoZm4gKHgpIC0gOTYpOworKyAgZWxzZSBpZiAoeCA9PSA0 NikKKysgICAgcmV0dXJuIDA7CisrICBlbHNlCisrICAgIHsKKysgICAgICBfX2J1aWx0aW5fcHJp bnRmICgiZm9vICVkXG4iLCB4KTsKKysgICAgICByZXR1cm4gLTE7CisrICAgIH0KKyt9CisrCisr X19hdHRyaWJ1dGVfXygobm9pbmxpbmUsIG5vY2xvbmUpKSB2b2lkCisrYmFyIChjaGFyICoqeCkK Kyt7CisrICBjaGFyICoqYiwgYywgKmQsIGVbNTAwXSwgKmYsIGdbMTBdOworKyAgaW50IHosIGws IGgsIGk7CisrICBzdHJ1Y3QgUyAqczsKKysKKysgIHcgPSByMisrOworKyAgZm9yIChiID0geDsg KmI7IGIrKykKKysgICAgeworKyAgICAgIF9fYnVpbHRpbl9zdHJjcHkgKGUsICpiKTsKKysgICAg ICBmID0gZTsKKysgICAgICBkbworKwl7CisrCSAgZCA9IF9fYnVpbHRpbl9zdHJjaHIgKGYsIDMy KTsKKysJICBpZiAoZCkKKysJICAgICpkID0gMDsKKysJICBsID0gX19idWlsdGluX3N0cmxlbiAo Zik7CisrCSAgaCA9IDA7CisrCSAgcyA9IHc7CisrCSAgX19idWlsdGluX21lbXNldCAoZywgMCwg c2l6ZW9mIChnKSk7CisrCSAgZm9yICh6ID0gMDsgeiA8IGw7IHorKykKKysJICAgIHsKKysJICAg ICAgYyA9IGZbel07CisrCSAgICAgIGlmIChjID49IDQ4ICYmIGMgPD0gNTcpCisrCQlnW2hdID0g YyAtIDQ4OworKwkgICAgICBlbHNlCisrCQl7CisrCQkgIGkgPSBmb28gKGMpOworKwkJICBpZiAo IXMtPmJbaV0pCisrCQkgICAgeworKwkJICAgICAgcy0+YltpXSA9IHIyKys7CisrCQkgICAgICBp ZiAocjIgPT0gJnJbN10pCisrCQkJX19idWlsdGluX2Fib3J0ICgpOworKwkJICAgIH0KKysJCSAg cyA9IHMtPmJbaV07CisrCQkgIGgrKzsKKysJCX0KKysJICAgIH0KKysJICBfX2J1aWx0aW5fbWVt Y3B5IChzLT5hLCBnLCAxMCk7CisrCSAgaWYgKGQpCisrCSAgICBmID0gZCArIDE7CisrCX0KKysg ICAgICB3aGlsZSAoZCk7CisrICAgIH0KKyt9CisrCisrX19hdHRyaWJ1dGVfXygobm9pbmxpbmUs IG5vY2xvbmUpKSB2b2lkCisrYmF6IChjaGFyICp4KQorK3sKKysgIGNoYXIgYVszMDBdLCBiWzMw MF07CisrICBpbnQgeiwgeSwgdCwgbDsKKysgIHN0cnVjdCBTICpzOworKworKyAgbCA9IF9fYnVp bHRpbl9zdHJsZW4gKHgpOworKyAgKmEgPSA5NjsKKysgIGZvciAoeiA9IDA7IHogPCBsOyB6Kysp CisrICAgIHsKKysgICAgICBhW3ogKyAxXSA9IGZuICgodW5zaWduZWQgaW50KSB4W3pdKTsKKysg ICAgICBpZiAoZm9vIChhW3ogKyAxXSkgPD0gMCkKKysJcmV0dXJuOworKyAgICB9CisrICBhW2wg KyAxXSA9IDk2OworKyAgbCArPSAyOworKyAgX19idWlsdGluX21lbXNldCAoYiwgMCwgbCArIDIp OworKworKyAgaWYgKCF3KQorKyAgICByZXR1cm47CisrCisrICBmb3IgKHogPSAwOyB6IDwgbDsg eisrKQorKyAgICB7CisrICAgICAgcyA9IHc7CisrICAgICAgZm9yICh5ID0gejsgeSA8IGw7IHkr KykKKysJeworKwkgIHMgPSBzLT5iW2ZvbyAoYVt5XSldOworKwkgIGlmICghcykKKysJICAgIGJy ZWFrOworKwkgIGZvciAodCA9IDA7IHQgPD0geSAtIHogKyAyOyB0KyspCisrCSAgICBpZiAocy0+ YVt0XSA+IGJbeiArIHRdKQorKwkgICAgICBiW3ogKyB0XSA9IHMtPmFbdF07CisrCX0KKysgICAg fQorKyAgZm9yICh6ID0gMzsgeiA8IGwgLSAyOyB6KyspCisrICAgIGlmICgoYlt6XSAmIDEpID09 IDEpCisrICAgICBhc20gKCIiKTsKKyt9CisrCisraW50CisrbWFpbiAoKQorK3sKKysgIGJhciAo dik7CisrICBjaGFyIGNbXSA9IHsgOTcsIDk3LCA5NywgOTcsIDk3LCAwIH07CisrICBiYXogKGMp OworKyAgcmV0dXJuIDA7CisrfQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4 IDEyZmVmNjIuLjliNGNjYWUgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAt MSArMSBAQAotYTVlYTNiNTNlM2M1MmU2ODQwOTdkMDg4ZjdkOWE1NjUgIGdjYy02LjAuMC0yMDE2 MDIwMS50YXIuYnoyCis4ZjNmOTUwZTc1ZGRkZTZiODdjNzEwOTZjNjQ1ZWZiOCAgZ2NjLTYuMC4w LTIwMTYwMjA1LnRhci5iejIK