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/rpms/gcc Date: Mon, 29 Jun 2026 12:28:14 GMT Message-ID: <178273609406.1.8072655558215463135.rpms-gcc-215844b31b92@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 215844b31b92ffd8fbd16dcfdc900985216177b9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogMjE1ODQ0YjMxYjkyZmZkOGZiZDE2ZGNmZGM5MDA5ODUy MTYxNzdiOQpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE5LTAxLTIzVDE5OjIyOjUyKzAxOjAwClN0YXRzICA6ICs3Ni8tNDg0IGluIDExIGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy8yMTU4 NDRiMzFiOTJmZmQ4ZmJkMTZkY2ZkYzkwMDk4NTIxNjE3N2I5P2JyYW5jaD1yaGVsLWY0MS1iYXNl CgpMb2c6Ck1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly9wa2dzLmZlZG9yYXByb2plY3Qu b3JnL3JwbXMvZ2NjCgotLS0KZGlmZiAtLWdpdCBhL2djYy5zcGVjIGIvZ2NjLnNwZWMKaW5kZXgg ZmNhN2M5OC4uNTc2ODAxYyAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMKKysrIGIvZ2NjLnNwZWMKQEAg LTIwNzEsMjUgKzIwNzEsMTUgQEAgaWYgcG9zaXguYWNjZXNzICgiL3NiaW4vbGRjb25maWciLCAi eCIpIHRoZW4KICAgZW5kCiBlbmQKIAotJXBvc3QgLW4gbGlic3RkYysrIC1wIC9zYmluL2xkY29u ZmlnCislbGRjb25maWdfc2NyaXB0bGV0cyAtbiBsaWJzdGRjKysKIAotJXBvc3R1biAtbiBsaWJz dGRjKysgLXAgL3NiaW4vbGRjb25maWcKKyVsZGNvbmZpZ19zY3JpcHRsZXRzIC1uIGxpYm9iamMK IAotJXBvc3QgLW4gbGlib2JqYyAtcCAvc2Jpbi9sZGNvbmZpZworJWxkY29uZmlnX3NjcmlwdGxl dHMgLW4gbGliZ2ZvcnRyYW4KIAotJXBvc3R1biAtbiBsaWJvYmpjIC1wIC9zYmluL2xkY29uZmln CislbGRjb25maWdfc2NyaXB0bGV0cyAtbiBsaWJncGhvYm9zCiAKLSVwb3N0IC1uIGxpYmdmb3J0 cmFuIC1wIC9zYmluL2xkY29uZmlnCi0KLSVwb3N0dW4gLW4gbGliZ2ZvcnRyYW4gLXAgL3NiaW4v bGRjb25maWcKLQotJXBvc3QgLW4gbGliZ3Bob2JvcyAtcCAvc2Jpbi9sZGNvbmZpZwotCi0lcG9z dHVuIC1uIGxpYmdwaG9ib3MgLXAgL3NiaW4vbGRjb25maWcKLQotJXBvc3QgLW4gbGliZ25hdCAt cCAvc2Jpbi9sZGNvbmZpZwotCi0lcG9zdHVuIC1uIGxpYmduYXQgLXAgL3NiaW4vbGRjb25maWcK KyVsZGNvbmZpZ19zY3JpcHRsZXRzIC1uIGxpYmduYXQKIAogJXBvc3QgLW4gbGliZ29tcAogL3Ni aW4vbGRjb25maWcKQEAgLTIxMDYsMTMgKzIwOTYsOSBAQCBmaQogCiAlcG9zdHVuIC1uIGxpYmdv bXAgLXAgL3NiaW4vbGRjb25maWcKIAotJXBvc3QgZ2RiLXBsdWdpbiAtcCAvc2Jpbi9sZGNvbmZp ZwotCi0lcG9zdHVuIGdkYi1wbHVnaW4gLXAgL3NiaW4vbGRjb25maWcKLQotJXBvc3QgLW4gbGli Z2Njaml0IC1wIC9zYmluL2xkY29uZmlnCislbGRjb25maWdfc2NyaXB0bGV0cyBnZGItcGx1Z2lu CiAKLSVwb3N0dW4gLW4gbGliZ2Njaml0IC1wIC9zYmluL2xkY29uZmlnCislbGRjb25maWdfc2Ny aXB0bGV0cyAtbiBsaWJnY2NqaXQKIAogJXBvc3QgLW4gbGliZ2Njaml0LWRldmVsCiBpZiBbIC1m ICV7X2luZm9kaXJ9L2xpYmdjY2ppdC5pbmZvLmd6IF07IHRoZW4KQEAgLTIxNTYsMjkgKzIxNDIs MTcgQEAgZmkKIAogJXBvc3R1biAtbiBsaWJpdG0gLXAgL3NiaW4vbGRjb25maWcKIAotJXBvc3Qg LW4gbGliYXRvbWljIC1wIC9zYmluL2xkY29uZmlnCi0KLSVwb3N0dW4gLW4gbGliYXRvbWljIC1w IC9zYmluL2xkY29uZmlnCi0KLSVwb3N0IC1uIGxpYmFzYW4gLXAgL3NiaW4vbGRjb25maWcKLQot JXBvc3R1biAtbiBsaWJhc2FuIC1wIC9zYmluL2xkY29uZmlnCi0KLSVwb3N0IC1uIGxpYnVic2Fu IC1wIC9zYmluL2xkY29uZmlnCi0KLSVwb3N0dW4gLW4gbGlidWJzYW4gLXAgL3NiaW4vbGRjb25m aWcKLQotJXBvc3QgLW4gbGlidHNhbiAtcCAvc2Jpbi9sZGNvbmZpZworJWxkY29uZmlnX3Njcmlw dGxldHMgLW4gbGliYXRvbWljCiAKLSVwb3N0dW4gLW4gbGlidHNhbiAtcCAvc2Jpbi9sZGNvbmZp ZworJWxkY29uZmlnX3NjcmlwdGxldHMgLW4gbGliYXNhbgogCi0lcG9zdCAtbiBsaWJsc2FuIC1w IC9zYmluL2xkY29uZmlnCislbGRjb25maWdfc2NyaXB0bGV0cyAtbiBsaWJ1YnNhbgogCi0lcG9z dHVuIC1uIGxpYmxzYW4gLXAgL3NiaW4vbGRjb25maWcKKyVsZGNvbmZpZ19zY3JpcHRsZXRzIC1u IGxpYnRzYW4KIAotJXBvc3QgLW4gbGliZ28gLXAgL3NiaW4vbGRjb25maWcKKyVsZGNvbmZpZ19z Y3JpcHRsZXRzIC1uIGxpYmxzYW4KIAotJXBvc3R1biAtbiBsaWJnbyAtcCAvc2Jpbi9sZGNvbmZp ZworJWxkY29uZmlnX3NjcmlwdGxldHMgLW4gbGliZ28KIAogJWZpbGVzIC1mICV7bmFtZX0ubGFu ZwogJXtfcHJlZml4fS9iaW4vY2MKCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9y ZQppbmRleCBmYmM3ZDMzLi44NzZkN2Q2IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5n aXRpZ25vcmUKQEAgLTU5LDMgKzU5LDQgQEAKIC9nY2MtOC4yLjEtMjAxOTAxMDkudGFyLnh6CiAv Z2NjLTkuMC4wLTIwMTkwMTE5LnRhci54egogL2djYy05LjAuMC0yMDE5MDEyMS50YXIueHoKKy9n Y2MtOS4wLjEtMjAxOTAxMjMudGFyLnh6CgpkaWZmIC0tZ2l0IGEvZ2NjLnNwZWMgYi9nY2Muc3Bl YwppbmRleCAzZjRhNjNjLi41NzY4MDFjIDEwMDY0NAotLS0gYS9nY2Muc3BlYworKysgYi9nY2Mu c3BlYwpAQCAtMSwxMCArMSwxMCBAQAotJWdsb2JhbCBEQVRFIDIwMTkwMTIxCi0lZ2xvYmFsIFNW TlJFViAyNjgxMjgKLSVnbG9iYWwgZ2NjX3ZlcnNpb24gOS4wLjAKKyVnbG9iYWwgREFURSAyMDE5 MDEyMworJWdsb2JhbCBTVk5SRVYgMjY4MTkzCislZ2xvYmFsIGdjY192ZXJzaW9uIDkuMC4xCiAl Z2xvYmFsIGdjY19tYWpvciA5CiAjIE5vdGUsIGdjY19yZWxlYXNlIG11c3QgYmUgaW50ZWdlciwg aWYgeW91IHdhbnQgdG8gYWRkIHN1ZmZpeGVzIHRvCiAjICUle3JlbGVhc2V9LCBhcHBlbmQgdGhl bSBhZnRlciAlJXtnY2NfcmVsZWFzZX0gb24gUmVsZWFzZTogbGluZS4KLSVnbG9iYWwgZ2NjX3Jl bGVhc2UgMC40CislZ2xvYmFsIGdjY19yZWxlYXNlIDAuMQogJWdsb2JhbCBudnB0eF90b29sc19n aXRyZXYgYzI4MDUwZjYwMTkzYjNiOTVhMTg4NjZhOTZmMDMzMzRlODc0ZTc4ZgogJWdsb2JhbCBu dnB0eF9uZXdsaWJfZ2l0cmV2IGFhZGM4ZWIwZWM0M2I3Y2QwZGQyZGZiNDg0YmFlNjNjOGIwNWVm MjQKICVnbG9iYWwgX3VucGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1aWxkIDAKQEAgLTI1OCwx MiArMjU4LDcgQEAgUGF0Y2g5OiBnY2M5LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKIFBhdGNo MTA6IGdjYzktcmgxNTc0OTM2LnBhdGNoCiBQYXRjaDExOiBnY2M5LWQtc2hhcmVkLWxpYnBob2Jv cy5wYXRjaAogUGF0Y2gxMjogZ2NjOS1wcjg4NzE0LnBhdGNoCi1QYXRjaDEzOiBnY2M5LXByODgw NDQucGF0Y2gKLVBhdGNoMTQ6IGdjYzktcHI4ODkyNy5wYXRjaAotUGF0Y2gxNTogZ2NjOS1wcjg3 MDY0LnBhdGNoCi1QYXRjaDE2OiBnY2M5LXByODg5MDQucGF0Y2gKLVBhdGNoMTc6IGdjYzktcHI4 ODkwNS5wYXRjaAotUGF0Y2gxODogZ2NjOS1wcjg4OTA2LnBhdGNoCitQYXRjaDEzOiBnY2M5LXBy ODkwMTQucGF0Y2gKIAogUGF0Y2gxMDAwOiBudnB0eC10b29scy1uby1wdHhhcy5wYXRjaAogUGF0 Y2gxMDAxOiBudnB0eC10b29scy1idWlsZC5wYXRjaApAQCAtODQzLDEyICs4MzgsNyBAQCB0byBO VmlkaWEgUFRYIGNhcGFibGUgZGV2aWNlcyBpZiBhdmFpbGFibGUuCiAlZW5kaWYKICVwYXRjaDEx IC1wMCAtYiAuZC1zaGFyZWQtbGlicGhvYm9zfgogJXBhdGNoMTIgLXAwIC1iIC5wcjg4NzE0fgot JXBhdGNoMTMgLXAwIC1iIC5wcjg4MDQ0fgotJXBhdGNoMTQgLXAwIC1iIC5wcjg4OTI3fgotJXBh dGNoMTUgLXAwIC1iIC5wcjg3MDY0fgotJXBhdGNoMTYgLXAwIC1iIC5wcjg4OTA0fgotJXBhdGNo MTcgLXAwIC1iIC5wcjg4OTA1fgotJXBhdGNoMTggLXAwIC1iIC5wcjg4OTA2fgorJXBhdGNoMTMg LXAwIC1iIC5wcjg5MDE0fgogCiBjZCBudnB0eC10b29scy0le252cHR4X3Rvb2xzX2dpdHJldn0K ICVwYXRjaDEwMDAgLXAxIC1iIC5udnB0eC10b29scy1uby1wdHhhc34KQEAgLTMxNTYsNiArMzE0 NiwxNyBAQCBmaQogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyogV2VkIEphbiAyMyAyMDE5IEpha3Vi IEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDkuMC4xLTAuMQorLSB1cGRhdGUgZnJvbSB0cnVu aworICAtIFBScyBjKysvODc4OTMsIGMrKy84ODI5MywgYysrLzg4NzU3LCBjKysvODg5ODQsIGMv NDQ3MTUsIGRyaXZlci84OTAxNCwKKwlmb3J0cmFuLzg4NTc5LCBsaWJzdGRjKysvODg3NDAsIGx0 by84ODQyMiwgbWlkZGxlLWVuZC84ODk2OCwKKwlydGwtb3B0aW1pemF0aW9uLzg3NzYzLCBzYW5p dGl6ZXIvODYyMjksIHNhbml0aXplci84OTAxMCwKKwl0YXJnZXQvODc4MzUsIHRhcmdldC84ODQ2 OSwgdGFyZ2V0Lzg4OTA5LCB0YXJnZXQvODg5MzksIHRhcmdldC84ODk0MSwKKwl0YXJnZXQvODg5 NTQsIHRhcmdldC84ODk2NSwgdGFyZ2V0L1BSODg5NDYsIHRyZWUtb3B0aW1pemF0aW9uLzg4ODYy LAorCXRyZWUtb3B0aW1pemF0aW9uLzg4OTY0LCB0cmVlLW9wdGltaXphdGlvbi84OTAwOAorICAt IGhvcGVmdWxseSBmaXggYXJtIEMrKyBpc3N1ZXMgKCMxNjY4MzIzKQorLSBmaXggYWFyY2g2NCAt bWFyY2g9bmF0aXZlICgjMTY2ODYzMSkKKwogKiBUdWUgSmFuIDIyIDIwMTkgRGF2aWQgQWJkdXJh Y2htYW5vdiA8ZGF2aWQuYWJkdXJhY2htYW5vdkBnbWFpbC5jb20+CiAtIGZpeCBsaWJncGhvYm9z LXN0YXRpYyByZXF1aXJlcyAoIzE2NjgyMDQpCiAKCmRpZmYgLS1naXQgYS9nY2M5LWxpYnN0ZGMr Ky1kb2NzLnBhdGNoIGIvZ2NjOS1saWJzdGRjKystZG9jcy5wYXRjaAppbmRleCAyODIyMDZhLi5i ZTk4NTU4IDEwMDY0NAotLS0gYS9nY2M5LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCisrKyBiL2djYzkt bGlic3RkYysrLWRvY3MucGF0Y2gKQEAgLTQsNyArNCw3IEBACiAgICAgICAgPGEgY2xhc3M9Imxp bmsiIGhyZWY9Imh0dHBzOi8vd3d3LmZzZi5vcmciIHRhcmdldD0iX3RvcCI+RlNGCiAgICAgICAg PC9hPgogICAgICA8L3A+PHA+Ci0rICAgICAgUmVsZWFzZSA5LjAuMAorKyAgICAgIFJlbGVhc2Ug OS4wLjEKICsgICAgPC9wPjxwPgogICAgICAgIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5 LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcwogICAgICAgIGRvY3VtZW50IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEZyZWUgRG9jdW1lbnRhdGlvbgpAQCAtMTcsNyArMTcsNyBAQAog IDwvcD48cD4KIC0gIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBj YW4gYmUgdmlld2VkIG9ubGluZQogKyAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5kZXJlZCBp bnRvIEhUTUwsIGNhbiBiZSB2aWV3ZWQgbG9jYWxseQotKyAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9 ImFwaS9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPmZvciB0aGUgOS4wLjAgcmVsZWFzZTwvYT4s CisrICA8YSBjbGFzcz0ibGluayIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+ Zm9yIHRoZSA5LjAuMSByZWxlYXNlPC9hPiwKICsgIG9ubGluZQogICAgPGEgY2xhc3M9Imxpbmsi IGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzLyIgdGFyZ2V0PSJfdG9wIj5mb3Ig ZWFjaCBHQ0MgcmVsZWFzZTwvYT4KICAgIGFuZAoKZGlmZiAtLWdpdCBhL2djYzktcHI4NzA2NC5w YXRjaCBiL2djYzktcHI4NzA2NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg YmExODg5YS4uMDAwMDAwMAotLS0gYS9nY2M5LXByODcwNjQucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwxNyArMCwwIEBACi0yMDE5LTAxLTIxICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0 LmNvbT4KLQotCVBSIHRhcmdldC84NzA2NAotCSogY29uZmlnL3JzNjAwMC92c3gubWQgKCp2c3hf cmVkdWNfPFZFQ19yZWR1Y19uYW1lPl92MmRmX3NjYWxhcik6Ci0JRGlzYWJsZSBmb3IgbGl0dGxl IGVuZGlhbi4KLQotLS0tIGdjYy9jb25maWcvcnM2MDAwL3ZzeC5tZC5qagkyMDE5LTAxLTE5IDA5 OjM5OjEzLjIyNDkyNDA2MyArMDEwMAotKysrIGdjYy9jb25maWcvcnM2MDAwL3ZzeC5tZAkyMDE5 LTAxLTIxIDIzOjM5OjI3LjUyNzc3NDI0NyArMDEwMAotQEAgLTQzNTEsNyArNDM1MSw3IEBAIChk ZWZpbmVfaW5zbl9hbmRfc3BsaXQgIip2c3hfcmVkdWNfPFZFQ18KLSAJICAobWF0Y2hfZHVwIDEp KQotIAkgKHBhcmFsbGVsIFsoY29uc3RfaW50IDEpXSkpKQotICAgIChjbG9iYmVyIChtYXRjaF9z Y3JhdGNoOkRGIDIgIj0wLDAsJndkLCZ3YSIpKV0KLS0gICJWRUNUT1JfVU5JVF9WU1hfUCAoVjJE Rm1vZGUpIgotKyAgIkJZVEVTX0JJR19FTkRJQU4gJiYgVkVDVE9SX1VOSVRfVlNYX1AgKFYyREZt b2RlKSIKLSAgICIjIgotICAgIiIKLSAgIFsoY29uc3RfaW50IDApXQoKZGlmZiAtLWdpdCBhL2dj YzktcHI4ODA0NC5wYXRjaCBiL2djYzktcHI4ODA0NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNjdiZThmMC4uMDAwMDAwMAotLS0gYS9nY2M5LXByODgwNDQucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0yMDE5LTAxLTE4ICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KLQotCVBSIHRyZWUtb3B0aW1pemF0aW9uLzg4MDQ0Ci0JKiB0cmVl LXNzYS1sb29wLW5pdGVyLmMgKG51bWJlcl9vZl9pdGVyYXRpb25zX2NvbmQpOiBJZiBjb25kaXRp b24KLQlpcyBmYWxzZSBpbiB0aGUgZmlyc3QgaXRlcmF0aW9uLCBidXQgIWV2ZXJ5X2l0ZXJhdGlv biwgcmV0dXJuIGZhbHNlCi0JaW5zdGVhZCBvZiB0cnVlIHdpdGggbml0ZXItPm5pdGVyIHplcm8u Ci0KLS0tLSBnY2MvdHJlZS1zc2EtbG9vcC1uaXRlci5jLmpqCTIwMTktMDEtMTAgMTE6NDM6MDIu MjU0NTc3MDA4ICswMTAwCi0rKysgZ2NjL3RyZWUtc3NhLWxvb3Atbml0ZXIuYwkyMDE5LTAxLTE4 IDE5OjUxOjAwLjI0NTUwNDcyOCArMDEwMAotQEAgLTE4MjQsNiArMTgyNCw4IEBAIG51bWJlcl9v Zl9pdGVyYXRpb25zX2NvbmQgKHN0cnVjdCBsb29wICoKLSAgIHRyZWUgdGVtID0gZm9sZF9iaW5h cnkgKGNvZGUsIGJvb2xlYW5fdHlwZV9ub2RlLCBpdjAtPmJhc2UsIGl2MS0+YmFzZSk7Ci0gICBp ZiAodGVtICYmIGludGVnZXJfemVyb3AgKHRlbSkpCi0gICAgIHsKLSsgICAgICBpZiAoIWV2ZXJ5 X2l0ZXJhdGlvbikKLSsJcmV0dXJuIGZhbHNlOwotICAgICAgIG5pdGVyLT5uaXRlciA9IGJ1aWxk X2ludF9jc3QgKHVuc2lnbmVkX3R5cGVfZm9yICh0eXBlKSwgMCk7Ci0gICAgICAgbml0ZXItPm1h eCA9IDA7Ci0gICAgICAgcmV0dXJuIHRydWU7CgpkaWZmIC0tZ2l0IGEvZ2NjOS1wcjg4OTA0LnBh dGNoIGIvZ2NjOS1wcjg4OTA0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBh MTVjZWQyLi4wMDAwMDAwCi0tLSBhL2djYzktcHI4ODkwNC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDc3ICswLDAgQEAKLTIwMTktMDEtMjEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQu Y29tPgotCi0JUFIgcnRsLW9wdGltaXphdGlvbi84ODkwNAotCSogY2ZnY2xlYW51cC5jICh0aHJl YWRfanVtcCk6IFZlcmlmeSBjb25kMiBkb2Vzbid0IG1lbnRpb24KLQlhbnkgbm9uZXF1YWwgcmVn aXN0ZXJzIGJlZm9yZSBwcm9jZXNzaW5nIEJCX0VORCAoYikuCi0KLQkqIGdjYy5jLXRvcnR1cmUv ZXhlY3V0ZS9wcjg4OTA0LmM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL2NmZ2NsZWFudXAuYy5qagky MDE5LTAxLTAxIDEyOjM3OjE5LjE0Nzk0MjMwMCArMDEwMAotKysrIGdjYy9jZmdjbGVhbnVwLmMJ MjAxOS0wMS0yMSAxNjo0NTo1Mi41NzY2MzYzMDUgKzAxMDAKLUBAIC0zMzgsNiArMzM4LDEzIEBA IHRocmVhZF9qdW1wIChlZGdlIGUsIGJhc2ljX2Jsb2NrIGIpCi0gICAgICAgIGluc24gIT0gTkVY VF9JTlNOIChCQl9FTkQgKGIpKSAmJiAhZmFpbGVkOwotICAgICAgICBpbnNuID0gTkVYVF9JTlNO IChpbnNuKSkKLSAgICAgewotKyAgICAgIC8qIGNvbmQyIG11c3Qgbm90IG1lbnRpb24gYW55IHJl Z2lzdGVyIHRoYXQgaXMgbm90IGVxdWFsIHRvIHRoZQotKwkgZm9ybWVyIGJsb2NrLiAgQ2hlY2sg dGhpcyBiZWZvcmUgcHJvY2Vzc2luZyB0aGF0IGluc3RydWN0aW9uLAotKwkgYXMgQkJfRU5EIChi KSBjb3VsZCBjb250YWluIGFsc28gY2xvYmJlcnMuICAqLwotKyAgICAgIGlmIChpbnNuID09IEJC X0VORCAoYikKLSsJICAmJiBtZW50aW9uc19ub25lcXVhbF9yZWdzIChjb25kMiwgbm9uZXF1YWwp KQotKwlnb3RvIGZhaWxlZF9leGl0OwotKwotICAgICAgIGlmIChJTlNOX1AgKGluc24pKQotIAl7 Ci0gCSAgcnR4IHBhdCA9IFBBVFRFUk4gKGluc24pOwotQEAgLTM2MiwxMSArMzY5LDYgQEAgdGhy ZWFkX2p1bXAgKGVkZ2UgZSwgYmFzaWNfYmxvY2sgYikKLSAgICAgICBnb3RvIGZhaWxlZF9leGl0 OwotICAgICB9Ci0gCi0tICAvKiBjb25kMiBtdXN0IG5vdCBtZW50aW9uIGFueSByZWdpc3RlciB0 aGF0IGlzIG5vdCBlcXVhbCB0byB0aGUKLS0gICAgIGZvcm1lciBibG9jay4gICovCi0tICBpZiAo bWVudGlvbnNfbm9uZXF1YWxfcmVncyAoY29uZDIsIG5vbmVxdWFsKSkKLS0gICAgZ290byBmYWls ZWRfZXhpdDsKLS0KLSAgIEVYRUNVVEVfSUZfU0VUX0lOX1JFR19TRVQgKG5vbmVxdWFsLCAwLCBp LCByc2kpCi0gICAgIGdvdG8gZmFpbGVkX2V4aXQ7Ci0gCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2Mu Yy10b3J0dXJlL2V4ZWN1dGUvcHI4ODkwNC5jLmpqCTIwMTktMDEtMjEgMTY6NDc6MTYuMTk0MjY1 NzcwICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2V4ZWN1dGUvcHI4ODkw NC5jCTIwMTktMDEtMjEgMTY6NDY6NTkuMjc4NTQzMDI3ICswMTAwCi1AQCAtMCwwICsxLDM4IEBA Ci0rLyogUFIgcnRsLW9wdGltaXphdGlvbi84ODkwNCAqLwotKwotK3ZvbGF0aWxlIGludCB2Owot KwotK19fYXR0cmlidXRlX18oKG5vaXBhKSkgdm9pZAotK2JhciAoY29uc3QgY2hhciAqeCwgY29u c3QgY2hhciAqeSwgaW50IHopCi0rewotKyAgaWYgKCF2KQotKyAgICBfX2J1aWx0aW5fYWJvcnQg KCk7Ci0rICBhc20gdm9sYXRpbGUgKCIiIDogIitnIiAoeCkpOwotKyAgYXNtIHZvbGF0aWxlICgi IiA6ICIrZyIgKHkpKTsKLSsgIGFzbSB2b2xhdGlsZSAoIiIgOiAiK2ciICh6KSk7Ci0rfQotKwot KyNkZWZpbmUgbXlfYXNzZXJ0KGUpICgoZSkgPyAodm9pZCkgMCA6IGJhciAoI2UsIF9fRklMRV9f LCBfX0xJTkVfXykpCi0rCi0rdHlwZWRlZiBzdHJ1Y3QgewotKyAgdW5zaWduZWQgTTE7Ci0rICB1 bnNpZ25lZCBNMiA6IDE7Ci0rICBpbnQgOiAwOwotKyAgdW5zaWduZWQgTTMgOiAxOwotK30gUzsK LSsKLStTCi0rZm9vICgpCi0rewotKyAgUyByZXN1bHQgPSB7MCwgMCwgMX07Ci0rICByZXR1cm4g cmVzdWx0OwotK30KLSsKLStpbnQKLSttYWluICgpCi0rewotKyAgUyByZXQgPSBmb28gKCk7Ci0r ICBteV9hc3NlcnQgKHJldC5NMiA9PSAwKTsKLSsgIG15X2Fzc2VydCAocmV0Lk0zID09IDEpOwot KyAgcmV0dXJuIDA7Ci0rfQoKZGlmZiAtLWdpdCBhL2djYzktcHI4ODkwNS5wYXRjaCBiL2djYzkt cHI4ODkwNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQzYzFjNi4uMDAw MDAwMAotLS0gYS9nY2M5LXByODg5MDUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDIgKzAs MCBAQAotMjAxOS0wMS0yMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQ UiB0YXJnZXQvODg5MDUKLQkqIG9wdGFicy5jIChhZGRfZXF1YWxfbm90ZSk6IEFkZCBvcDBfbW9k ZSBhcmd1bWVudCwgdXNlIGl0IGluc3RlYWQgb2YKLQlHRVRfTU9ERSAob3AwKS4KLQkoZXhwYW5k X2Jpbm9wX2RpcmVjdGx5LCBleHBhbmRfZG91Ymxld29yZF9jbHosCi0JZXhwYW5kX2RvdWJsZXdv cmRfcG9wY291bnQsIGV4cGFuZF9jdHosIGV4cGFuZF9mZnMsCi0JZXhwYW5kX3Vub3BfZGlyZWN0 LCBtYXliZV9lbWl0X3Vub3BfaW5zbik6IEFkanVzdCBjYWxsZXJzLgotCi0JKiBnY2MuZGcvcHI4 ODkwNS5jOiBOZXcgdGVzdC4KLQotLS0tIGdjYy9vcHRhYnMuYy5qagkyMDE5LTAxLTAxIDEyOjM3 OjE3LjcxMTk2NTg2MSArMDEwMAotKysrIGdjYy9vcHRhYnMuYwkyMDE5LTAxLTIxIDEzOjU2OjE4 LjI2MzQ0NjA0OSArMDEwMAotQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBkZWJ1Z19vcHRhYl9saWJm dW5jcyAodm9pZCk7Ci0gDAotIC8qIEFkZCBhIFJFR19FUVVBTCBub3RlIHRvIHRoZSBsYXN0IGlu c24gaW4gSU5TTlMuICBUQVJHRVQgaXMgYmVpbmcgc2V0IHRvCi0gICAgdGhlIHJlc3VsdCBvZiBv cGVyYXRpb24gQ09ERSBhcHBsaWVkIHRvIE9QMCAoYW5kIE9QMSBpZiBpdCBpcyBhIGJpbmFyeQot LSAgIG9wZXJhdGlvbikuCi0rICAgb3BlcmF0aW9uKS4gIE9QMF9NT0RFIGlzIE9QMCdzIG1vZGUu Ci0gCi0gICAgSWYgdGhlIGxhc3QgaW5zbiBkb2VzIG5vdCBzZXQgVEFSR0VULCBkb24ndCBkbyBh bnl0aGluZywgYnV0IHJldHVybiAxLgotIAotQEAgLTY0LDcgKzY0LDggQEAgdm9pZCBkZWJ1Z19v cHRhYl9saWJmdW5jcyAodm9pZCk7Ci0gICAgdHJ5IGFnYWluLCBlbnN1cmluZyB0aGF0IFRBUkdF VCBpcyBub3Qgb25lIG9mIHRoZSBvcGVyYW5kcy4gICovCi0gCi0gc3RhdGljIGludAotLWFkZF9l cXVhbF9ub3RlIChydHhfaW5zbiAqaW5zbnMsIHJ0eCB0YXJnZXQsIGVudW0gcnR4X2NvZGUgY29k ZSwgcnR4IG9wMCwgcnR4IG9wMSkKLSthZGRfZXF1YWxfbm90ZSAocnR4X2luc24gKmluc25zLCBy dHggdGFyZ2V0LCBlbnVtIHJ0eF9jb2RlIGNvZGUsIHJ0eCBvcDAsCi0rCQlydHggb3AxLCBtYWNo aW5lX21vZGUgb3AwX21vZGUpCi0gewotICAgcnR4X2luc24gKmxhc3RfaW5zbjsKLSAgIHJ0eCBz ZXQ7Ci1AQCAtMTM2LDE2ICsxMzcsMTYgQEAgYWRkX2VxdWFsX25vdGUgKHJ0eF9pbnNuICppbnNu cywgcnR4IHRhcgotICAgICAgIGNhc2UgUE9QQ09VTlQ6Ci0gICAgICAgY2FzZSBQQVJJVFk6Ci0g ICAgICAgY2FzZSBCU1dBUDoKLS0JaWYgKEdFVF9NT0RFIChvcDApICE9IFZPSURtb2RlICYmIEdF VF9NT0RFICh0YXJnZXQpICE9IEdFVF9NT0RFIChvcDApKQotKwlpZiAob3AwX21vZGUgIT0gVk9J RG1vZGUgJiYgR0VUX01PREUgKHRhcmdldCkgIT0gb3AwX21vZGUpCi0gCSAgewotLQkgICAgbm90 ZSA9IGdlbl9ydHhfZm10X2UgKGNvZGUsIEdFVF9NT0RFIChvcDApLCBjb3B5X3J0eCAob3AwKSk7 Ci0tCSAgICBpZiAoR0VUX01PREVfVU5JVF9TSVpFIChHRVRfTU9ERSAob3AwKSkKLSsJICAgIG5v dGUgPSBnZW5fcnR4X2ZtdF9lIChjb2RlLCBvcDBfbW9kZSwgY29weV9ydHggKG9wMCkpOwotKwkg ICAgaWYgKEdFVF9NT0RFX1VOSVRfU0laRSAob3AwX21vZGUpCi0gCQk+IEdFVF9NT0RFX1VOSVRf U0laRSAoR0VUX01PREUgKHRhcmdldCkpKQotIAkgICAgICBub3RlID0gc2ltcGxpZnlfZ2VuX3Vu YXJ5IChUUlVOQ0FURSwgR0VUX01PREUgKHRhcmdldCksCi0tCQkJCQkgbm90ZSwgR0VUX01PREUg KG9wMCkpOwotKwkJCQkJIG5vdGUsIG9wMF9tb2RlKTsKLSAJICAgIGVsc2UKLSAJICAgICAgbm90 ZSA9IHNpbXBsaWZ5X2dlbl91bmFyeSAoWkVST19FWFRFTkQsIEdFVF9NT0RFICh0YXJnZXQpLAot LQkJCQkJIG5vdGUsIEdFVF9NT0RFIChvcDApKTsKLSsJCQkJCSBub3RlLCBvcDBfbW9kZSk7Ci0g CSAgICBicmVhazsKLSAJICB9Ci0gCS8qIEZBTExUSFJVICovCi1AQCAtMTEyNyw3ICsxMTI4LDcg QEAgZXhwYW5kX2Jpbm9wX2RpcmVjdGx5IChlbnVtIGluc25fY29kZSBpYwotICAgICAgIGlmIChJ TlNOX1AgKHBhdCkgJiYgTkVYVF9JTlNOIChwYXQpICE9IE5VTExfUlRYCi0gCSAgJiYgISBhZGRf ZXF1YWxfbm90ZSAocGF0LCBvcHNbMF0udmFsdWUsCi0gCQkJICAgICAgIG9wdGFiX3RvX2NvZGUg KGJpbm9wdGFiKSwKLS0JCQkgICAgICAgb3BzWzFdLnZhbHVlLCBvcHNbMl0udmFsdWUpKQotKwkJ CSAgICAgICBvcHNbMV0udmFsdWUsIG9wc1syXS52YWx1ZSwgbW9kZTApKQotIAl7Ci0gCSAgZGVs ZXRlX2luc25zX3NpbmNlIChsYXN0KTsKLSAJICByZXR1cm4gZXhwYW5kX2Jpbm9wIChtb2RlLCBi aW5vcHRhYiwgb3AwLCBvcDEsIE5VTExfUlRYLAotQEAgLTIyOTgsNyArMjI5OSw3IEBAIGV4cGFu ZF9kb3VibGV3b3JkX2NseiAoc2NhbGFyX2ludF9tb2RlIG0KLSAgIHNlcSA9IGdldF9pbnNucyAo KTsKLSAgIGVuZF9zZXF1ZW5jZSAoKTsKLSAKLS0gIGFkZF9lcXVhbF9ub3RlIChzZXEsIHRhcmdl dCwgQ0xaLCB4b3AwLCAwKTsKLSsgIGFkZF9lcXVhbF9ub3RlIChzZXEsIHRhcmdldCwgQ0xaLCB4 b3AwLCBOVUxMX1JUWCwgbW9kZSk7Ci0gICBlbWl0X2luc24gKHNlcSk7Ci0gICByZXR1cm4gdGFy Z2V0OwotIAotQEAgLTIzNDAsNyArMjM0MSw3IEBAIGV4cGFuZF9kb3VibGV3b3JkX3BvcGNvdW50 IChzY2FsYXJfaW50X20KLSAgIHNlcSA9IGdldF9pbnNucyAoKTsKLSAgIGVuZF9zZXF1ZW5jZSAo KTsKLSAKLS0gIGFkZF9lcXVhbF9ub3RlIChzZXEsIHQsIFBPUENPVU5ULCBvcDAsIDApOwotKyAg YWRkX2VxdWFsX25vdGUgKHNlcSwgdCwgUE9QQ09VTlQsIG9wMCwgTlVMTF9SVFgsIG1vZGUpOwot ICAgZW1pdF9pbnNuIChzZXEpOwotICAgcmV0dXJuIHQ7Ci0gfQotQEAgLTI1MTEsNyArMjUxMiw3 IEBAIGV4cGFuZF9jdHogKHNjYWxhcl9pbnRfbW9kZSBtb2RlLCBydHggb3AKLSAgIHNlcSA9IGdl dF9pbnNucyAoKTsKLSAgIGVuZF9zZXF1ZW5jZSAoKTsKLSAKLS0gIGFkZF9lcXVhbF9ub3RlIChz ZXEsIHRlbXAsIENUWiwgb3AwLCAwKTsKLSsgIGFkZF9lcXVhbF9ub3RlIChzZXEsIHRlbXAsIENU Wiwgb3AwLCBOVUxMX1JUWCwgbW9kZSk7Ci0gICBlbWl0X2luc24gKHNlcSk7Ci0gICByZXR1cm4g dGVtcDsKLSB9Ci1AQCAtMjU4OSw3ICsyNTkwLDcgQEAgZXhwYW5kX2ZmcyAoc2NhbGFyX2ludF9t b2RlIG1vZGUsIHJ0eCBvcAotICAgc2VxID0gZ2V0X2luc25zICgpOwotICAgZW5kX3NlcXVlbmNl ICgpOwotIAotLSAgYWRkX2VxdWFsX25vdGUgKHNlcSwgdGVtcCwgRkZTLCBvcDAsIDApOwotKyAg YWRkX2VxdWFsX25vdGUgKHNlcSwgdGVtcCwgRkZTLCBvcDAsIE5VTExfUlRYLCBtb2RlKTsKLSAg IGVtaXRfaW5zbiAoc2VxKTsKLSAgIHJldHVybiB0ZW1wOwotIAotQEAgLTI3MzYsNyArMjczNyw3 IEBAIGV4cGFuZF91bm9wX2RpcmVjdCAobWFjaGluZV9tb2RlIG1vZGUsIG8KLSAJICBpZiAoSU5T Tl9QIChwYXQpICYmIE5FWFRfSU5TTiAocGF0KSAhPSBOVUxMX1JUWAotIAkgICAgICAmJiAhIGFk ZF9lcXVhbF9ub3RlIChwYXQsIG9wc1swXS52YWx1ZSwKLSAJCQkJICAgb3B0YWJfdG9fY29kZSAo dW5vcHRhYiksCi0tCQkJCSAgIG9wc1sxXS52YWx1ZSwgTlVMTF9SVFgpKQotKwkJCQkgICBvcHNb MV0udmFsdWUsIE5VTExfUlRYLCBtb2RlKSkKLSAJICAgIHsKLSAJICAgICAgZGVsZXRlX2luc25z X3NpbmNlIChsYXN0KTsKLSAJICAgICAgcmV0dXJuIGV4cGFuZF91bm9wIChtb2RlLCB1bm9wdGFi LCBvcDAsIE5VTExfUlRYLCB1bnNpZ25lZHApOwotQEAgLTM1ODgsNyArMzU4OSw4IEBAIG1heWJl X2VtaXRfdW5vcF9pbnNuIChlbnVtIGluc25fY29kZSBpY28KLSAKLSAgIGlmIChJTlNOX1AgKHBh dCkgJiYgTkVYVF9JTlNOIChwYXQpICE9IE5VTExfUlRYCi0gICAgICAgJiYgY29kZSAhPSBVTktO T1dOKQotLSAgICBhZGRfZXF1YWxfbm90ZSAocGF0LCBvcHNbMF0udmFsdWUsIGNvZGUsIG9wc1sx XS52YWx1ZSwgTlVMTF9SVFgpOwotKyAgICBhZGRfZXF1YWxfbm90ZSAocGF0LCBvcHNbMF0udmFs dWUsIGNvZGUsIG9wc1sxXS52YWx1ZSwgTlVMTF9SVFgsCi0rCQkgICAgR0VUX01PREUgKG9wMCkp OwotIAotICAgZW1pdF9pbnNuIChwYXQpOwotIAotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3By ODg5MDUuYy5qagkyMDE5LTAxLTIxIDE0OjE5OjE3LjI3OTc0NjUzMSArMDEwMAotKysrIGdjYy90 ZXN0c3VpdGUvZ2NjLmRnL3ByODg5MDUuYwkyMDE5LTAxLTIxIDE0OjE4OjU2LjI2NDA5MTUzNyAr MDEwMAotQEAgLTAsMCArMSwyMSBAQAotKy8qIFBSIHRhcmdldC84ODkwNSAqLwotKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovCi0rLyogeyBkZy1vcHRpb25zICItT2cgLWZuby10cmVlLWNjcCIgfSAq LwotKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItbWFibSIgeyB0YXJnZXQgeyBpPzg2LSot KiB4ODZfNjQtKi0qIH0gfSB9ICovCi0rCi0raW50IGEsIGIsIGM7Ci0rZXh0ZXJuIHZvaWQgYmF6 IChpbnQpOwotKwotK3N0YXRpYyBpbmxpbmUgaW50Ci0rYmFyICh1bnNpZ25lZCB1KQotK3sKLSsg IGludCBpID0gX19idWlsdGluX3BvcGNvdW50bGwgKC0odW5zaWduZWQgbG9uZyBsb25nKSB1KTsK LSsgIGJheiAoaSAmIGMpOwotKyAgcmV0dXJuIGEgKyBiICsgYzsKLSt9Ci0rCi0rdm9pZAotK2Zv byAodm9pZCkKLSt7Ci0rICBiYXIgKDIzNzY0OTgyOTJVTEwpOwotK30KCmRpZmYgLS1naXQgYS9n Y2M5LXByODg5MDYucGF0Y2ggYi9nY2M5LXByODg5MDYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDQ3NThmNDYuLjAwMDAwMDAKLS0tIGEvZ2NjOS1wcjg4OTA2LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsOTQgKzAsMCBAQAotMjAxOS0wMS0yMSAgSmFrdWIgSmVsaW5layAg PGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiBydGwtb3B0aW1pemF0aW9uLzQ5NDI5Ci0JUFIgdGFy Z2V0LzQ5NDU0Ci0JUFIgcnRsLW9wdGltaXphdGlvbi84NjMzNAotCVBSIHRhcmdldC84ODkwNgot CSogZXhwci5jIChlbWl0X2Jsb2NrX21vdmVfaGludHMpOiBNb3ZlIG1hcmtpbmcgb2YgTUVNX0VY UFJzCi0JYWRkcmVzc2FibGUgZnJvbSBoZXJlLi4uCi0JKGVtaXRfYmxvY2tfb3BfdmlhX2xpYmNh bGwpOiAuLi4gdG8gaGVyZS4KLQotCSogZ2NjLnRhcmdldC9pMzg2L3ByODYzMzQuYzogTmV3IHRl c3QuCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI4ODkwNi5jOiBOZXcgdGVzdC4KLQotLS0tIGdjYy9l eHByLmMuamoJMjAxOS0wMS0xMCAxMTo0MzowOC45NTg0NjY4ODAgKzAxMDAKLSsrKyBnY2MvZXhw ci5jCTIwMTktMDEtMjEgMTI6MDY6NDEuNzgyNDA2MTY5ICswMTAwCi1AQCAtMTYzMSwxNCArMTYz MSw2IEBAIGVtaXRfYmxvY2tfbW92ZV9oaW50cyAocnR4IHgsIHJ0eCB5LCBydHgKLSAgICAgICBp ZiAobWF5X3VzZV9jYWxsIDwgMCkKLSAJcmV0dXJuIHBjX3J0eDsKLSAKLS0gICAgICAvKiBTaW5j ZSB4IGFuZCB5IGFyZSBwYXNzZWQgdG8gYSBsaWJjYWxsLCBtYXJrIHRoZSBjb3JyZXNwb25kaW5n Ci0tCSB0cmVlIEVYUFIgYXMgYWRkcmVzc2FibGUuICAqLwotLSAgICAgIHRyZWUgeV9leHByID0g TUVNX0VYUFIgKHkpOwotLSAgICAgIHRyZWUgeF9leHByID0gTUVNX0VYUFIgKHgpOwotLSAgICAg IGlmICh5X2V4cHIpCi0tCW1hcmtfYWRkcmVzc2FibGUgKHlfZXhwcik7Ci0tICAgICAgaWYgKHhf ZXhwcikKLS0JbWFya19hZGRyZXNzYWJsZSAoeF9leHByKTsKLSAgICAgICByZXR2YWwgPSBlbWl0 X2Jsb2NrX2NvcHlfdmlhX2xpYmNhbGwgKHgsIHksIHNpemUsCi0gCQkJCQkgICAgbWV0aG9kID09 IEJMT0NLX09QX1RBSUxDQUxMKTsKLSAgICAgfQotQEAgLTE4ODQsNiArMTg3NiwxNSBAQCBlbWl0 X2Jsb2NrX29wX3ZpYV9saWJjYWxsIChlbnVtIGJ1aWx0X2luCi0gICB0cmVlIGNhbGxfZXhwciwg ZHN0X3RyZWUsIHNyY190cmVlLCBzaXplX3RyZWU7Ci0gICBtYWNoaW5lX21vZGUgc2l6ZV9tb2Rl OwotIAotKyAgLyogU2luY2UgZHN0IGFuZCBzcmMgYXJlIHBhc3NlZCB0byBhIGxpYmNhbGwsIG1h cmsgdGhlIGNvcnJlc3BvbmRpbmcKLSsgICAgIHRyZWUgRVhQUiBhcyBhZGRyZXNzYWJsZS4gICov Ci0rICB0cmVlIGRzdF9leHByID0gTUVNX0VYUFIgKGRzdCk7Ci0rICB0cmVlIHNyY19leHByID0g TUVNX0VYUFIgKHNyYyk7Ci0rICBpZiAoZHN0X2V4cHIpCi0rICAgIG1hcmtfYWRkcmVzc2FibGUg KGRzdF9leHByKTsKLSsgIGlmIChzcmNfZXhwcikKLSsgICAgbWFya19hZGRyZXNzYWJsZSAoc3Jj X2V4cHIpOwotKwotICAgZHN0X2FkZHIgPSBjb3B5X2FkZHJfdG9fcmVnIChYRVhQIChkc3QsIDAp KTsKLSAgIGRzdF9hZGRyID0gY29udmVydF9tZW1vcnlfYWRkcmVzcyAocHRyX21vZGUsIGRzdF9h ZGRyKTsKLSAgIGRzdF90cmVlID0gbWFrZV90cmVlIChwdHJfdHlwZV9ub2RlLCBkc3RfYWRkcik7 Ci0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvcHI4NjMzNC5jLmpqCTIwMTktMDEt MjEgMTc6NTI6MDQuNDA4MzcwOTU2ICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L2kzODYvcHI4NjMzNC5jCTIwMTktMDEtMjEgMTc6NTI6NTguNTA0NDgyOTA4ICswMTAwCi1AQCAt MCwwICsxLDIxIEBACi0rLyogUFIgcnRsLW9wdGltaXphdGlvbi84NjMzNCAqLwotKy8qIHsgZGct ZG8gcnVuIHsgdGFyZ2V0IGlhMzIgfSB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTyAtbWFyY2g9 aTM4NiAtbXR1bmU9YXRobG9uIC1taW5saW5lLWFsbC1zdHJpbmdvcHMgLW1pbmxpbmUtc3RyaW5n b3BzLWR5bmFtaWNhbGx5IC1tbWVtY3B5LXN0cmF0ZWd5PWxpYmNhbGw6LTE6YWxpZ24gLVduby1w c2FiaSIgfSAqLwotKwotK3R5cGVkZWYgaW50IFYgX19hdHRyaWJ1dGVfXyAoKHZlY3Rvcl9zaXpl ICg2NCkpKTsKLSsKLStzdGF0aWMgaW5saW5lIFYKLStmb28gKFYgZykKLSt7Ci0rICBnWzBdID0g NDsKLSsgIHJldHVybiBnOwotK30KLSsKLStpbnQKLSttYWluICgpCi0rewotKyAgViB4ID0gZm9v ICgoVikgeyB9KTsKLSsgIGlmICh4WzBdICE9IDQgfHwgeFsxXSB8fCB4WzJdIHx8IHhbM10gfHwg eFs0XSB8fCB4WzVdIHx8IHhbNl0gfHwgeFs3XSkKLSsgICAgX19idWlsdGluX2Fib3J0ICgpOwot KyAgcmV0dXJuIDA7Ci0rfQotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByODg5 MDYuYy5qagkyMDE5LTAxLTIxIDEyOjA4OjUzLjExMDI1MjAzMCArMDEwMAotKysrIGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByODg5MDYuYwkyMDE5LTAxLTIxIDE3OjUzOjA4LjA4MjMy NTY1NyArMDEwMAotQEAgLTAsMCArMSwyMSBAQAotKy8qIFBSIHRhcmdldC84ODkwNiAqLwotKy8q IHsgZGctZG8gcnVuIHsgdGFyZ2V0IGlhMzIgfSB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTyAt bWFyY2g9aTM4NiAtbXR1bmU9azYgLW1pbmxpbmUtYWxsLXN0cmluZ29wcyAtbWlubGluZS1zdHJp bmdvcHMtZHluYW1pY2FsbHkgLW1tZW1jcHktc3RyYXRlZ3k9bGliY2FsbDotMTphbGlnbiAtV25v LXBzYWJpIiB9ICovCi0rCi0rdHlwZWRlZiB1bnNpZ25lZCBWIF9fYXR0cmlidXRlX18gKCh2ZWN0 b3Jfc2l6ZSAoMTYpKSk7Ci0rCi0rc3RhdGljIGlubGluZSBWCi0rZm9vIChWIHYpCi0rewotKyAg X19idWlsdGluX3N1Yl9vdmVyZmxvdyAoMCwgMCwgJnZbMF0pOwotKyAgcmV0dXJuIHY7Ci0rfQot KwotK2ludAotK21haW4gKCkKLSt7Ci0rICBWIHYgPSBmb28gKChWKSB7IH4wIH0pOwotKyAgaWYg KHZbMF0gfHwgdlsxXSB8fCB2WzJdIHx8IHZbM10pCi0rICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsK LSsgIHJldHVybiAwOwotK30KCmRpZmYgLS1naXQgYS9nY2M5LXByODg5MjcucGF0Y2ggYi9nY2M5 LXByODg5MjcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4ODQ1MzcuLjAw MDAwMDAKLS0tIGEvZ2NjOS1wcjg4OTI3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAs MCBAQAotUFIgZ28vODg5MjcKLQotRnJvbSBhYTM0NjkxMTlmNjI1Njc5OWJhZGM5NzIyODYxOTc2 YTQxNmFiYmNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSWFuIExhbmNlIFRheWxv ciA8aWFudEBnb2xhbmcub3JnPgotRGF0ZTogU2F0LCAxOSBKYW4gMjAxOSAyMjo0MDoyNyAtMDgw MAotU3ViamVjdDogW1BBVENIXSBydW50aW1lLCBpbnRlcm5hbC9jcHU6IGZpeCBidWlsZCBmb3Ig QVJNIEdOVS9MaW51eAotCi1XYXMgZmFpbGluZyB3aXRoCi0KLS4uLy4uLy4uL2xpYmdvL2dvL2lu dGVybmFsL2NwdS9jcHUuZ286MTM4OjI6IGVycm9yOiByZWZlcmVuY2UgdG8gdW5kZWZpbmVkIG5h bWUgJ2RvaW5pdCcKLSAgMTM4IHwgIGRvaW5pdCgpCi0gICAgICB8ICBeCi0KLUZpeCBpdCBieSBh ZGRpbmcgaW4gR28gMS4xMiBpbnRlcm5hbC9jcHUvY3B1X2FybS5nbywgYW5kIHRoZSBjb2RlIGlu Ci1ydW50aW1lIHRoYXQgaW5pdGlhbGl6ZXMgdGhlIHZhbHVlcy4KLQotRml4ZXMgaHR0cHM6Ly9n Y2MuZ251Lm9yZy9QUjg4OTI3LgotCi1DaGFuZ2UtSWQ6IEliMzc2ZmNiZDQ0M2FjZjQyOGZhOTNk NGFhNzdlYzc0ZWRiYWE3MWVlCi0tLS0KLQotLS0tIGxpYmdvL2dvL2ludGVybmFsL2NwdS9jcHVf YXJtLmdvCi0rKysgbGliZ28vZ28vaW50ZXJuYWwvY3B1L2NwdV9hcm0uZ28KLUBAIC0wLDAgKzEs MzMgQEAKLSsvLyBDb3B5cmlnaHQgMjAxNyBUaGUgR28gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNl cnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1z dHlsZQotKy8vIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K LSsKLStwYWNrYWdlIGNwdQotKwotKy8vIGFybSBkb2Vzbid0IGhhdmUgYSAnY3B1aWQnIGVxdWl2 YWxlbnQsIHNvIHdlIHJlbHkgb24gSFdDQVAvSFdDQVAyLgotKy8vIFRoZXNlIGFyZSBsaW5rbmFt ZWQgaW4gcnVudGltZS9vc18obGludXh8ZnJlZWJzZClfYXJtLmdvIGFuZCBhcmUKLSsvLyBpbml0 aWFsaXplZCBieSBhcmNoYXV4digpLgotKy8vIFRoZXNlIHNob3VsZCBub3QgYmUgY2hhbmdlZCBh ZnRlciB0aGV5IGFyZSBpbml0aWFsaXplZC4KLSt2YXIgSFdDYXAgdWludAotK3ZhciBIV0NhcDIg dWludAotKwotKy8vIEhXQ0FQL0hXQ0FQMiBiaXRzLiBUaGVzZSBhcmUgZXhwb3NlZCBieSBMaW51 eCBhbmQgRnJlZUJTRC4KLStjb25zdCAoCi0rCWh3Y2FwX1ZGUHY0ID0gMSA8PCAxNgotKwlod2Nh cF9JRElWQSA9IDEgPDwgMTcKLSspCi0rCi0rZnVuYyBkb2luaXQoKSB7Ci0rCW9wdGlvbnMgPSBb XW9wdGlvbnsKLSsJCXtOYW1lOiAidmZwdjQiLCBGZWF0dXJlOiAmQVJNLkhhc1ZGUHY0fSwKLSsJ CXtOYW1lOiAiaWRpdmEiLCBGZWF0dXJlOiAmQVJNLkhhc0lESVZBfSwKLSsJfQotKwotKwkvLyBI V0NBUCBmZWF0dXJlIGJpdHMKLSsJQVJNLkhhc1ZGUHY0ID0gaXNTZXQoSFdDYXAsIGh3Y2FwX1ZG UHY0KQotKwlBUk0uSGFzSURJVkEgPSBpc1NldChIV0NhcCwgaHdjYXBfSURJVkEpCi0rfQotKwot K2Z1bmMgaXNTZXQoaHdjIHVpbnQsIHZhbHVlIHVpbnQpIGJvb2wgewotKwlyZXR1cm4gaHdjJnZh bHVlICE9IDAKLSt9Ci0tLS0gbGliZ28vZ28vcnVudGltZS9vc19saW51eF9hcm0uZ28KLSsrKyBs aWJnby9nby9ydW50aW1lL29zX2xpbnV4X2FybS5nbwotQEAgLTQsNiArNCw4IEBACi0gCi0gcGFj a2FnZSBydW50aW1lCi0gCi0raW1wb3J0ICJpbnRlcm5hbC9jcHUiCi0rCi0gdmFyIHJhbmRvbU51 bWJlciB1aW50MzIKLSAKLSBmdW5jIGFyY2hhdXh2KHRhZywgdmFsIHVpbnRwdHIpIHsKLUBAIC0x NCw1ICsxNiw5IEBACi0gCQkvLyBpdCBhcyBhIGJ5dGUgYXJyYXkuCi0gCQlyYW5kb21OdW1iZXIg PSB1aW50MzIoc3RhcnR1cFJhbmRvbURhdGFbNF0pIHwgdWludDMyKHN0YXJ0dXBSYW5kb21EYXRh WzVdKTw8OCB8Ci0gCQkJdWludDMyKHN0YXJ0dXBSYW5kb21EYXRhWzZdKTw8MTYgfCB1aW50MzIo c3RhcnR1cFJhbmRvbURhdGFbN10pPDwyNAotKwljYXNlIF9BVF9IV0NBUDoKLSsJCWNwdS5IV0Nh cCA9IHVpbnQodmFsKQotKwljYXNlIF9BVF9IV0NBUDI6Ci0rCQljcHUuSFdDYXAyID0gdWludCh2 YWwpCi0gCX0KLSB9CgpkaWZmIC0tZ2l0IGEvZ2NjOS1wcjg5MDE0LnBhdGNoIGIvZ2NjOS1wcjg5 MDE0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MjBlYzkKLS0t IC9kZXYvbnVsbAorKysgYi9nY2M5LXByODkwMTQucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorLS0t IGdjYy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LW9wdGlvbi1leHRlbnNpb25zLmRlZgorKysrIGdj Yy9jb25maWcvYWFyY2g2NC9hYXJjaDY0LW9wdGlvbi1leHRlbnNpb25zLmRlZgorQEAgLTQzLDcg KzQzLDggQEAKKyAgICB0aGUgZXh0ZW5zaW9uIChmb3IgZXhhbXBsZSwgdGhlICdjcnlwdG8nIGV4 dGVuc2lvbiBkZXBlbmRzIG9uIGZvdXIKKyAgICBlbnRyaWVzOiBhZXMsIHBtdWxsLCBzaGExLCBz aGEyIGJlaW5nIHByZXNlbnQpLiAgSW4gdGhhdCBjYXNlIHRoaXMgZmllbGQKKyAgICBzaG91bGQg Y29udGFpbiBhIHNwYWNlICgiICIpIHNlcGFyYXRlZCBsaXN0IG9mIHRoZSBzdHJpbmdzIGluICdG ZWF0dXJlcycKKy0gICB0aGF0IGFyZSByZXF1aXJlZC4gIFRoZWlyIG9yZGVyIGlzIG5vdCBpbXBv cnRhbnQuICAqLworKyAgIHRoYXQgYXJlIHJlcXVpcmVkLiAgVGhlaXIgb3JkZXIgaXMgbm90IGlt cG9ydGFudC4gIEFuIGVtcHR5IHN0cmluZyBtZWFucworKyAgIGRvIG5vdCBkZXRlY3QgdGhpcyBm ZWF0dXJlIGR1cmluZyBhdXRvIGRldGVjdGlvbi4gICovCisgCisgLyogRW5hYmxpbmcgImZwIiBq dXN0IGVuYWJsZXMgImZwIi4KKyAgICBEaXNhYmxpbmcgImZwIiBhbHNvIGRpc2FibGVzICJzaW1k IiwgImNyeXB0byIsICJmcDE2IiwgImFlcyIsICJzaGEyIiwKKy0tLSBnY2MvY29uZmlnL2FhcmNo NjQvZHJpdmVyLWFhcmNoNjQuYworKysrIGdjYy9jb25maWcvYWFyY2g2NC9kcml2ZXItYWFyY2g2 NC5jCitAQCAtMjUzLDYgKzI1MywxMiBAQCBob3N0X2RldGVjdF9sb2NhbF9jcHUgKGludCBhcmdj LCBjb25zdCBjaGFyICoqYXJndikKKyAJICAgICAgY2hhciAqcCA9IE5VTEw7CisgCSAgICAgIGNo YXIgKmZlYXRfc3RyaW5nCisgCQk9IGNvbmNhdCAoYWFyY2g2NF9leHRlbnNpb25zW2ldLmZlYXRf c3RyaW5nLCBOVUxMKTsKKysKKysJICAgICAgLyogSWYgdGhlIGZlYXR1cmUgY29udGFpbnMgbm8g SFdDQVBTIHN0cmluZyB0aGVuIGlnbm9yZSBpdCBmb3IgdGhlCisrCQkgYXV0byBkZXRlY3Rpb24u ICAqLworKwkgICAgICBpZiAoc3RybGVuIChmZWF0X3N0cmluZykgPT0gMCkKKysJCWNvbnRpbnVl OworKworIAkgICAgICBib29sIGVuYWJsZWQgPSB0cnVlOworIAorIAkgICAgICAvKiBUaGlzIG1h eSBiZSBhIG11bHRpLXRva2VuIGZlYXR1cmUgc3RyaW5nLiAgV2UgbmVlZAorLS0tIGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9hYXJjaDY0L29wdGlvbnNfc2V0XzEwLmMKKysrKyBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvYWFyY2g2NC9vcHRpb25zX3NldF8xMC5jCitAQCAtMCwwICsxLDExIEBA CisrLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0ICJhYXJjaDY0Ki0qLWxpbnV4KiIgfSB9ICov CisrLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1tY3B1PW5hdGl2ZSIgfSAqLworKworK2lu dCBtYWluICgpCisreworKyAgcmV0dXJuIDA7CisrfQorKworKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci1ub3Qge1wuYXJjaCAuK1wrcHJvZmlsZS4qfSB9IH0gKi8KKysKKysgLyogQ2hl Y2sgdGhhdCBhbiBlbXB0eSBmZWF0dXJlIHN0cmluZyBpcyBub3QgZGV0ZWN0ZWQgZHVyaW5nIG1j cHU9bmF0aXZlLiAgKi8KKwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGFh OTZkYTguLjhlYmNmYTIgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwz ICsxLDMgQEAKLVNIQTUxMiAoZ2NjLTkuMC4wLTIwMTkwMTIxLnRhci54eikgPSAxOGRkYThmMjc4 ZTk5ZTFjZjkzZmIzMGY2MGZhYTJiNDgyOGMxM2YyODlkZTc0MTJlNjJkNTkwNzYzNTdiMDY3NGY1 YWU4OTFhYzg3OWQ3ZDQ3YTE4Y2YwYzI5MWZkYjM0Nzk1MTYyMTgwZmM5YzliMjY1MWFkNDJjYTA4 ZjQ3OAorU0hBNTEyIChnY2MtOS4wLjEtMjAxOTAxMjMudGFyLnh6KSA9IDY0MGUyNzE2NGVjNjYy NDM2NmFmM2ZkY2I5ZjFiZDM5OWM0N2JkMWE4YWRjNTdhMGY1ZjAyMTQ0OTMzNTRhMjE4ZDFjZGM3 YzhlNjBiYjkzMjNiYWYwMWMzZTJlZjA5MjMzZDU3ODk2YjNlMzA0NzE0OTA2NGIxYzM1M2I2Yjhj CiBTSEE1MTIgKG52cHR4LW5ld2xpYi1hYWRjOGViMGVjNDNiN2NkMGRkMmRmYjQ4NGJhZTYzYzhi MDVlZjI0LnRhci54eikgPSA5NGY3MDg5MzY1Mjk2ZjdkZmE0ODUxMDdiNDE0M2JlYmM4NTBhODE1 ODZmMzQ2MGZkODk2YmJiYjZiYTA5OWEwMDIxN2Q0MDQyMTMzNDI0ZmQyMTgzYjM1MjEzMmY0ZmQz NjdlNmE2MDU5OWJkYWUyYTI2ZGZkNDhhNzdkMGUwNAogU0hBNTEyIChudnB0eC10b29scy1jMjgw NTBmNjAxOTNiM2I5NWExODg2NmE5NmYwMzMzNGU4NzRlNzhmLnRhci54eikgPSBhNjg4Y2IxMmNm ODA1OTUwYTVhYmJiMTNiNTJmNDVjODFkYmVlOThlMzEwYjdlZDU3YWUyMGU3NmRiZmE1OTY0YTE2 MjcwMTQ4Mzc0YTY0MjZkMTc3ZGI3MTkwOWQyODM2MDQ5MGYwOTFjODZhNWQxOWQ0ZmFhNTEyN2Jl ZWVlMQo=