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: =?utf-8?b?THVrw6HFoSBaYW9yYWwgPGx6YW9yYWxAcmVkaGF0LmNvbT4=?= To: git-commits@fedoraproject.org Subject: [rpms/tftp] rawhide: rebase to the latest upstream release Date: Thu, 09 Jul 2026 20:16:35 GMT Message-ID: <178362819551.1.1969246364539801776.rpms-tftp-bd72f25d7676@fedoraproject.org> List-ID: X-Git-Repo: rpms/tftp X-Git-Branch: rawhide X-Git-Rev: bd72f25d76768aac22f03954243463b291287b42 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvdGZ0cAogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAgICAg IENvbW1pdCA6IGJkNzJmMjVkNzY3NjhhYWMyMmYwMzk1NDI0MzQ2M2IyOTEyODdiNDIKICAgICAg ICAgICAgQXV0aG9yIDogTHVrw6HFoSBaYW9yYWwgPGx6YW9yYWxAcmVkaGF0LmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAyNi0wNy0wOVQxNzowNzo1MSswMjowMAogICAgICAgICAgICBTdGF0 cyAgOiArMjMyLy00NjAgaW4gMTQgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczov L3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3RmdHAvYy9iZDcyZjI1ZDc2NzY4YWFjMjJmMDM5 NTQyNDM0NjNiMjkxMjg3YjQyP2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIHJlYmFzZSB0byB0aGUgbGF0ZXN0IHVwc3RyZWFtIHJlbGVhc2UKCi0gYWRkIGdwZyB2 ZXJpZmljYXRpb24KClJlc29sdmVzOiByaGJ6IzI0OTcwOTAKCi0tLQpkaWZmIC0tZ2l0IGEvLmdp dGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggM2IwZGQxNy4uY2RhMTZhYyAxMDA2NDQKLS0tIGEv LmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yLDMgKzIsNSBAQCB0ZnRwLWhwYS0wLjQ5 LnRhci5iejIKIC90ZnRwLWhwYS01LjEudGFyLmJ6MgogL3RmdHAtaHBhLTUuMi50YXIuYnoyCiAv dGZ0cC1ocGEtNS4zLnRhci5negorL3RmdHAtaHBhLTUuNC50YXIuZ3oKKy90ZnRwLWhwYS01LjQu dGFyLnNpZ24KCmRpZmYgLS1naXQgYS9ocGEuZ3BnIGIvaHBhLmdwZwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5hZjkyZDliCi0tLSAvZGV2L251bGwKKysrIGIvaHBhLmdwZwpA QCAtMCwwICsxLDc4IEBACistLS0tLUJFR0lOIFBHUCBQVUJMSUMgS0VZIEJMT0NLLS0tLS0KKwor bVFJTkJHVlRoR3dCRUFERnVYVjh0RUZ2MmRHZmx3anZTNUlFVWZUUUtRU01GZDhjVk1sSng2YTg2 SCtHNjQzcQorNW1MNEg2b3F3MUVuVHp5amo2a28yOVJaLzc4L3BkbS9RU2RWdVZ2V3F3WTRCdVdn WWwreFk3bVpUYTRSQWR0TAorRUpiWmN6SHVBaTBOZlFqaHp6QnEvMUhkNGFjVG1Xcm1rUzNFTFRH bXRRRWVpRWlmcVhCcVM3OEhPRUw4Mi9BUQorYkIxaEZ5L1FTMEJMUWJ2WEs0bmR4RFZoRGZsSHBC cDIyaVZyUnpLdGJmRWpGVFZ3MU1vMmd2YWtweXFxYktTbworVFpTd1VCRUpBWFJIWnErQmt2TCsw MGlqTjlkZStzckJWSCsyUStrZjY2U1o5aUxSZWhPZkl4U0p1akRLbWx2SAorK1ZyMlJQUnp3R0Zs UTZVTjhzeW9OZkxYV01zOU4zZVFSaXJYMnlTa0RZWmx4MUJPeERxTlNneXEwSnZsWFA5aQorOXFj S25sQWZLYlNJWlBLS2JBdEs2bzhlZlRNczNpNzJlMVh0RmxZL3pxYUVEa0RSNlVKQ2tXSFFQWGVh Skc5TworMFdVR1ZJT3FpdDRrNDY3N1dmYnlJMEhRcVdVTFNTajA2Sk5URUdNN3BDR3lxOGwzeEpr dUdxbTlKbTJycmtONworWkhQYUJqVHFpTFZPQ3dnRHQ0TVhsRVo4dXN6eXk3RU5uZmo2SHpaME5Y UGVjaDl6UlRoOGxKUUZkMkx1M2IwUAorQmZhdElIbENSdWY4Q1lOdmlwNXFDelpEdlQ5Q0dQdVc3 QWhqN3hVc1JOeDl5TVhYYVF5VnRKclBuaVhqVGFnQgorSTN5a1pVSlRDMk54UnVsWW50S1FCNUhP UzlyQmdKOGU4LzJPM09hb25wcU1lRS91NnZwcVJjMzlDd0FSQVFBQgordEM1SUxpQlFaWFJsY2lC QmJuWnBiaUFvYzJsbmJtRjBkWEpsSUd0bGVTa2dQR2h3WVVCNmVYUnZjaTVqYjIwKworaVFKUkJC TUJDQUE3RmlFRWJRRUh2R251V2lkUDJiWU1MYlBETWh0dDM0WUZBbVZUaEd3Q0d3TUZDd2tJQndJ QworSWdJR0ZRb0pDQXNDQkJZQ0F3RUNIZ2NDRjRBQUNna1FMYlBETWh0dDM0WjVrQS85RUxnQnRF ZXBMNW8yVGdHZQorV3phVXY1aTkweGI3bkhtcEtrdll6Wms3N3E5ZmY5Y1lBVEgydEJzY25ONFZT Q3JwR3dDb3M1TGV4SWtpQVdpTQorbGtIWitVL3dSdGRwangyTHlBc1JUbU1BeWt4U0tSUlZSVXk0 Z1RlakVSYktPNTZ5ZHFHNUlMdVBzcUZLM1hydQorU0FxdExiTDdJQmtnQk5xMUJnYzV3dTA0ME5R ZFl3eUNsNlNGSzlwS1RqUktmdVlZdjBFeTFyOWpsY2l6MFFNYgorU3VoM0JqR2NxOUFHSDgrS3Bq ZGJqQUV6OXhqNE1rRVZjb2NnTGxrNUpiR3d3Ukp1WGxhcFBhcCtwaXJYUVZkWQorZ0JpYjFPd1pN SjBXZTUxOXVBTlFUSHZBaTc0c2hhcXJBRDRJaEJxbXkzM2hXK1crVVhUSFBnWlFiSmtTc2VKMAor MzZCOU9hSEZoQlRITExQSElONzRreXhSSFRqYjRNd3IwMm1NeVk2VmFxa3RGYlZLWTloeGU0OXhp MjVHVFdZNworeTd4WmFOTis4a2EvU2czUmVwOHlIN28zMzhHSUxhaFlOMXpuOTJ1MmdnZUJvdUdl RXh1V1VZMjMvNnhnTEF3bQorc1ZJMkZNT0VhUDd0OGZOZURBbDdOWXRUUGZTQzZUS3JlbnRaQUo3 dlRnbk5OVHlTTjltR1JLaU9rTU5ZdmsxKworbnFLYUprcXE4TmZtNml4eUlNeVF0Z2NSbjZkbVpL VFQycWVGZm03NU1hMkNxdTlLVlJFcnNEeVQyMkZZTWVJVgoreTVKME4ySTdjdTdSMDFZSG1tNHlq cUcrb1Q5WVhuOGJQM0ZpNjlXSWZKbHQyR1pPc0JCOXo2SlA5KzhhYS9OUgorRldSelNuTUt5NmYx UUYzTmQ3bGtzd3JrcGlHSkFsUUVFd0VJQUQ0Q0d3TUZDd2tJQndJQ0lnSUdGUW9KQ0FzQworQkJZ Q0F3RUNIZ2NDRjRBV0lRUnRBUWU4YWU1YUowL1p0Z3d0czhNeUcyM2ZoZ1VDWlZWTTh3SVpBUUFL Q1JBdAorczhNeUcyM2Zodm4xRUFDdGZ3M0c4dVJ5ZnRrKzZVQXEyWGp5ZXRYTlNsTlhvS1dCamZG SWFPcEp6NUE5MTEvQworRnZidDVKRkRWUlRBK09paVlqeDUzVlpteWh3eDFhSWpXYXE2aTgvK2dX UkVuZ3p1ZVM3d3JNK3NsZ0FTSDR2TQorT3pEVkhMSm52RllaV2pLL01aOTY3WCs1eVRMbWdVanI5 TVljQXYvUHFQelJtdFRENVMzZkQ2VXlDRjBnQjBJZworais0SzJDY3hjTGl3eFdjV0U3VVJqSDdQ MU12cWFvaXp5YWNrLzlZVHJTakREZjBpQ20yeTRPVUV0L1NLUzk4TQorVnhORnQ3WENsN1MrcWJ1 enlNS1paRWNnSHZQRUdxdExOaTlxRnloQjFJZGFhczVoY3lJY3F1RVFwb0JqNDF1cQorbGdFRm1Y SXZBa1AwWi9tQUI2OGpDdEh6N25wV1lhVTYzK1lwdVNzQ1NRbzhpK1lXWDZ4Y2V2REFIM3NTdXZp aQorL0xOeUNSVFhQOUhaMzBkNUMzdlZsa2oxdlFuNXdBcGR5TWsrcHo3TGFVV0tlZUpGaElZL3Fq NGxnVW8zNW1JMgorYmZlVzc2S05rejUwVGc2TVlhV2RmK1BqV2ZPMmJDOVZOSmJQNGRXZ0JldWN5 Y2E2U0xHMVQySm5YL2RaRTlyaAorL2VHTVF5ZDRndGJBNGpwdms5a3U2cEtjMHRnSkgxN253R2kv aVNwSm1vL056bTBpOWtub0JuTnJZWHVxR0FjcgorVTRRQjhpWWVsWGprUERBYngwQTZxSTdiWlA0 Rm5KMWw5OGpxRldLUlhDMTNwcnhONmVYaGtpRUhsQmR1a3dKcQorMXloT3V5TWNDYVJqeVBiNjFG WGFWUU1GYUF0ZU5BRFZIZzM3WDFSbXdwSHl5MGhRUjlUVitTdFVNYlF2U0M0ZworVUdWMFpYSWdR VzUyYVc0Z0tITnBaMjVoZEhWeVpTQnJaWGtwSUR4b2NHRkFhMlZ5Ym1Wc0xtOXlaejZKQWxFRQor RXdFSUFEc1dJUVJ0QVFlOGFlNWFKMC9adGd3dHM4TXlHMjNmaGdVQ1pWUHF3UUliQXdVTENRZ0hB Z0lpQWdZVgorQ2drSUN3SUVGZ0lEQVFJZUJ3SVhnQUFLQ1JBdHM4TXlHMjNmaG9IbUVBQ1VRd3U4 c3VmV2cyc3dReHIrbFRVMQorSjdXbnI0WE1tZHNGMmFBbmVJWE1langzckpLRVZoWWdIUFQ4UDBP cmcyV1RLZ2NvY1BYYVpzbnhBUEZaWXdXUworenRGMVhGdTVsaW01VXMzM0lybUZHRVZNVlMzMVd2 OURqM2FUc0wzdmJvenZEaWpYZm1oNjljRjBtcklNcS9RZworbEdXeEtjeTdqRXNVNU1wejU4cjhF aXdjOCtsMGcvVnc3Z2loU0NBNWN0SmoxU0JqQWlON3RwMCs0WjIxYnEzdgorMUkvYWFueGVZQ2JI OFVla3BOVnJsZW81SDcrT1FJaG83Z3haMGdvNXFrWFB0bm5NL0JhdjNGdmFhTHo3WHBQbworeG9E OXBjN0lkc2lQSURJT3h2eDErU3RoYm9LTkhEVWV0TXVPQ3VQTy80S2ZFY1liRC9ONTZCQzJ0QzhB SE1XdQordHM5cHNWSERQbmxaa25NVlpkNzBsZ0c1VTB3T1FtR1ljaHQySmVhTHVubGc4dllDaXNB SG5tZjFLSlFFVnpabQorWWhrSHRkM3JRa2NRMTlGbCtCZzU4VXdSTEpUZGt4TVhCMDI4Vk9VYU1R Z01KdHJiMnQ0ZFdadm1wUm9GcWNqNgoraWhmdmtXOWFUSndybXVYcE9wVmdCUDFEcm8razhuK0lj ZWZBYVA0ZU9GQjBhRHl6RXlNSjg2bG5razhYUzNhcAorMzRoUlZNZHY2Zzl6V21tVk9NanROaWxY ZmtjTnhrbTJWbUJJeWlCcEZ5dmZycDYwdVJ4ZExCdUlKaERmVEUzYgorQzBDNlh2SjRWbS9nVVZw Y1gzNnZlYU9BRkQ0VmNIbktjYkRYRy8wRjFsRVNzWHpRMGdWY3M5NTBoMG1ScDc1dworRG05MzJ2 Q29Xa0kwVkV3WHZuM2E1N2tDRFFSbFU0UnNBUkFBcmxUZ1I3djd1Rnh1STlycGkvYWVJUXNFRFBB TworV08wVWxSVmYvdys0MWdNU2Z2MHh0eFZyZFhQYm1acEVzMjB6V254aGxtU2FmbGxySUFmUlFN eGhDanRmcVpRdworbHB1RFpNRDVEYkFLMS8rbE4rN0FWclJ6T1RGZ3RBNGp4WlBBTG56M1BheStu QXdPck1vZnNiRG5PbGRPa0RJNgoreW10WlpzU3BTemtsbGZ2VkNYSlZVWjFDUGNyK0FwYk5DZUdz SXJuNnFJeFZqcnZrTVZJSFhwRlVGYzF1Y2VEdAorMFBLMWVuVGhsV25pZ0psRjFMcUY4UlZCNUhl d2RObTV4RTlONkhudzFFTUZXdzh6ZW1FelEwNFJLelp4SkozdQorTG1Hb0RwRVNObStRSklOM0ZM UG1Ba3VGSUViUVUzK0ViVUx6TEtCb3JFa3htYVZRT3B4SGMwc0xCLzlXaExwTQorUHpnRWNTQjUv a0tGOTRSRlUzV2p4WjJtaytsWHNuem12Zm5VeVNDcm9ucGt2YmxINW5aZndidTU1bVlrdUR3Nwor ZDE1SmJMaGt6VHZhMW9UajcvWFZCRG9maTJVb1ByMG5GbFlpVStJRzJ5b3ROVk5vTmNOZElIMC9H RUttV1RDLworS1BCWVVtTXBsWXVNQVlSTE5hK0I3c2x2Y05PSVM1VVJnMDhWNlRmWE5ub3VYdm4z M0VLMEtET0E2UjEvZGZNRgorNVZibnBRK0FjT2dncmU4VTh5RElxSTlQaTd3MFo2UHoxQVFGOFdp SVdlQ1Zzdy9QSjVteHdPNXdvMUR5V2RZLworUUxDUWpUYzROWmRISkkvM3FTazkvSnBkQ1k5VUp3 K2tMOHkzaUZhN01iTDNSc2xQNlltV0t1SFhEMmRmemNCNQordkp1eURudDNjcmZ1ekxFQUVRRUFB WWtDTmdRWUFRZ0FJQlloQkcwQkI3eHA3bG9uVDltMkRDMnp3ekliYmQrRworQlFKbFU0UnNBaHNN QUFvSkVDMnp3ekliYmQrR05jd1AvMHBoMGhWRkFTdHRVUU5HQldoVXNYb1hRZDlZQ0ZUcQorRGYw M3FONGVyWTZSY29tR1l4WU93NnZnVGtvN2wyNmtsV0JhdnBuZmx0SU9JTGViMVFhRHhCUHhiS2dp b2tKLword3d1R0pnMy9aMWQwZWY4WlYrSjdKK25KMzBUMGhHc25hNWxkUUtWNWE2ZnZPTGVnV0RZ eEltb1JJbERrdUNjVAorM29DLy95NHRPeXpNSXl3Mi9LRFI2cHJBdW12RXFCdng2cXRSZXZXblFy UFBsK2FPWXpiM1FJTWx6Q1VEMHEzNgorckxLMmdLdTF6NVB2ZytoeVNOMGRGZUwxNlFuVW5laHd1 N2hHWUh2WkJVUnlDaS8wWXM0TDg5K3MrNkZTOGxpegorcFNxOHNjWTdTSVJNaW9PMTNrSFh0UTRD cUNKSTRjSWtzclhuaDZLTUY3U29LcW5Yb1BlUUZYYUYzUW1ta016TgorMWE1UGNHTHp3V3ZqNXZJ SFZqVnFVZXMzYVN1em5nL3pSWGY5eDljNWpla1I2UzIzNTJUMTdBcVg1NG1kaHNNYQordURXTFBD UDJlSmZhZUNvVERsSTRLdjBJYmpZa0JVSUNFbjRmQjdOTkQxRHhvNE9BRFR0MXZmWVJoODZrSVNo eQorQTFjNEVUUmFTdVhGRjIvN3BwVE9hT3dQWjRFbW1qdStUT1RMcHNGNERuc3R2MmVQV3RPazlk OWpvcjd4NVBjcwordEw3UnlmZ0FrODRCUmM4czZIS3VJUG9Rc2pSdXFDQ3NxUDlWV3NDT0xod2pO SCtILzlOY2htdXlWTzJwSy9acgorMmxuL04vK2gwSHdLNEFDdDZGbzlBOGRWRTVUeWFNOTIrVGNK MmhYeTVvWEU2cWFLRWxVSkxocmdBWlRqNjNTdAoreTk5R0c0SUVOeS9pCis9dldSeAorLS0tLS1F TkQgUEdQIFBVQkxJQyBLRVkgQkxPQ0stLS0tLQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3Vy Y2VzCmluZGV4IDU2NmVkMjUuLmE0YWU2MTUgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291 cmNlcwpAQCAtMSArMSwyIEBACi1TSEE1MTIgKHRmdHAtaHBhLTUuMy50YXIuZ3opID0gOTE5ZWVm Y2ExYjcwMmI3MjgyNDk1N2I3N2NjODk1NDdjZDllZDY3YTQ0NzYxY2Y3ZWQwMTBiYWVhYjRiOTcy YmI2YmVmYTEwMDJmZDA5OTQzYWY2MjhjMmE1YjFjMTgxMzM5Mzk2YjZhYTlkMjc2NmQ5YjEwYjk3 NjIzMDY4YTMKK1NIQTUxMiAodGZ0cC1ocGEtNS40LnRhci5neikgPSBhN2Y0MmY3ZTEyOGI1NTNk YTRmNWI2N2NiNDk0Y2IwZjk1ZWM2YjA1MzAwYmQwZWQ2NTBjY2YyY2U2NThjYzlmZWU5YjQ2MmYw YTA4ZDkyODAwMjc1NjA4ZDgzMGQyNDNlMjAxNmQ2YTUwZDliYTY1NmJlZWZiOWJlYjg5MjczOQor U0hBNTEyICh0ZnRwLWhwYS01LjQudGFyLnNpZ24pID0gYThkYjAxY2NiNWU3MWIwYjRlMjAwMTEy OTY0ZmVkZTc0ODAxMzRiOTQxMjIzMmExZWQ1ODkyM2VkNWZjYzM3NThlZDgwZjE0OTY3NjExNDZm NDI3NGI2OGI0NmFmYzM1MzBiYmJkYzU3NjIxZmU1NzBlYTcxYTc4ZmIzMjBkMTcKCmRpZmYgLS1n aXQgYS90ZnRwLTAuNDItdGZ0cGJvb3QucGF0Y2ggYi90ZnRwLTAuNDItdGZ0cGJvb3QucGF0Y2gK aW5kZXggYTBkZTU4ZC4uOThiOTJmOSAxMDA2NDQKLS0tIGEvdGZ0cC0wLjQyLXRmdHBib290LnBh dGNoCisrKyBiL3RmdHAtMC40Mi10ZnRwYm9vdC5wYXRjaApAQCAtMSwxOSArMSw4IEBACi1kaWZm IC11cCB0ZnRwLWhwYS0wLjQ4L3RmdHAteGluZXRkLnRmdHBib290IHRmdHAtaHBhLTAuNDgvdGZ0 cC14aW5ldGQKLS0tLSB0ZnRwLWhwYS0wLjQ4L3RmdHAteGluZXRkLnRmdHBib290CTIwMDctMDEt MzEgMDA6NTE6MDUuMDAwMDAwMDAwICswMTAwCi0rKysgdGZ0cC1ocGEtMC40OC90ZnRwLXhpbmV0 ZAkyMDA4LTA1LTIwIDEyOjA1OjUzLjAwMDAwMDAwMCArMDIwMAotQEAgLTEwLDcgKzEwLDcgQEAg c2VydmljZSB0ZnRwCi0gCXdhaXQJCQk9IHllcwotIAl1c2VyCQkJPSByb290Ci0gCXNlcnZlcgkJ CT0gL3Vzci9zYmluL2luLnRmdHBkCi0tCXNlcnZlcl9hcmdzCQk9IC1zIC90ZnRwYm9vdAotKwlz ZXJ2ZXJfYXJncwkJPSAtcyAvdmFyL2xpYi90ZnRwYm9vdAotIAlkaXNhYmxlCQkJPSB5ZXMKLSAJ cGVyX3NvdXJjZQkJPSAxMQotIAljcHMJCQk9IDEwMCAyCi1kaWZmIC11cCB0ZnRwLWhwYS0wLjQ4 L1JFQURNRS5zZWN1cml0eS50ZnRwYm9vdCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eQot LS0tIHRmdHAtaHBhLTAuNDgvUkVBRE1FLnNlY3VyaXR5LnRmdHBib290CTIwMDgtMDUtMjkgMTc6 MzY6MzIuMDAwMDAwMDAwICswMjAwCi0rKysgdGZ0cC1ocGEtMC40OC9SRUFETUUuc2VjdXJpdHkJ MjAwOC0wNS0yOSAxNzozNzoyMS4wMDAwMDAwMDAgKzAyMDAKLUBAIC0xNywxMCArMTcsMTAgQEAg cHJvYmFibHkgdGhlIGZvbGxvd2luZzoKK2RpZmYgLS1naXQgYS9SRUFETUUuc2VjdXJpdHkgYi9S RUFETUUuc2VjdXJpdHkKK2luZGV4IDY0NGJhYmIuLjI0ZjUxMDMgMTAwNjQ0CistLS0gYS9SRUFE TUUuc2VjdXJpdHkKKysrKyBiL1JFQURNRS5zZWN1cml0eQorQEAgLTEzLDEwICsxMywxMCBAQCBw cm9iYWJseSB0aGUgZm9sbG93aW5nOgogIAogIDEuIENyZWF0ZSBhIHNlcGFyYXRlICJ0ZnRwZCIg dXNlciBhbmQgZ3JvdXAgb25seSB1c2VkIGZvciB0ZnRwZDsKICAyLiBIYXZlIGFsbCB5b3VyIGJv b3QgZmlsZXMgaW4gYSBzaW5nbGUgZGlyZWN0b3J5IHRyZWUgKHVzdWFsbHkgY2FsbGVkIApAQCAt MjcsNyArMTYsNyBAQCBkaWZmIC11cCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eS50ZnRw Ym9vdCB0ZnRwLWhwYS0wLjQ4L1JFQURNRS5zZWN1cml0eQogICAgIHVtYXNrIGlzIGFwcHJvcHJp YXRlIGZvciB5b3VyIHNldHVwLikKICAKICAJICAgICAgID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotQEAgLTQwLDEyICs0MCwxMiBAQCBkaXJlY3RseS4gIFRodXMsIGlm IHlvdXIgL2V0Yy9pbmV0ZC5jb25mCitAQCAtMzYsMTIgKzM2LDEyIEBAIGRpcmVjdGx5LiAgVGh1 cywgaWYgeW91ciAvZXRjL2luZXRkLmNvbmYgbG9va3MgbGlrZSB0aGlzIChhbGwgb24gb25lCiAg bGluZSk6CiAgCiAgdGZ0cAlkZ3JhbQl1ZHAJd2FpdAlyb290CS91c3Ivc2Jpbi90Y3BkCkBAIC00 MiwxMCArMzEsMjQgQEAgZGlmZiAtdXAgdGZ0cC1ocGEtMC40OC9SRUFETUUuc2VjdXJpdHkudGZ0 cGJvb3QgdGZ0cC1ocGEtMC40OC9SRUFETUUuc2VjdXJpdHkKICAKICBZb3Ugc2hvdWxkIG1ha2Ug c3VyZSB0aGF0IHlvdSBhcmUgdXNpbmcgIndhaXQiIG9wdGlvbiBpbiB0ZnRwZDsgeW91CiAgYWxz byBuZWVkIHRvIGhhdmUgdGZ0cGQgc3Bhd25lZCBhcyByb290IGluIG9yZGVyIGZvciBjaHJvb3Qg KC1zKSB0bwotZGlmZiAtdXAgdGZ0cC1ocGEtMC40OC90ZnRwZC9zYW1wbGUucnVsZXMudGZ0cGJv b3QgdGZ0cC1ocGEtMC40OC90ZnRwZC9zYW1wbGUucnVsZXMKLS0tLSB0ZnRwLWhwYS0wLjQ4L3Rm dHBkL3NhbXBsZS5ydWxlcy50ZnRwYm9vdAkyMDA4LTA1LTI5IDE3OjM4OjQ2LjAwMDAwMDAwMCAr MDIwMAotKysrIHRmdHAtaHBhLTAuNDgvdGZ0cGQvc2FtcGxlLnJ1bGVzCTIwMDgtMDUtMjkgMTc6 Mzg6MDUuMDAwMDAwMDAwICswMjAwCi1AQCAtMzAsNSArMzAsNSBAQCByZwlcXAkJLwkJIyBDb252 ZXJ0IGJhY2tzbGFzaGVzIHRvIHNsYXNoCitkaWZmIC0tZ2l0IGEvdGZ0cC14aW5ldGQgYi90ZnRw LXhpbmV0ZAoraW5kZXggOTgyZmUwOS4uZDA0YjQ4YSAxMDA2NDQKKy0tLSBhL3RmdHAteGluZXRk CisrKysgYi90ZnRwLXhpbmV0ZAorQEAgLTEwLDcgKzEwLDcgQEAgc2VydmljZSB0ZnRwCisgCXdh aXQJCQk9IHllcworIAl1c2VyCQkJPSByb290CisgCXNlcnZlcgkJCT0gL3Vzci9zYmluL2luLnRm dHBkCistCXNlcnZlcl9hcmdzCQk9IC1zIC90ZnRwYm9vdAorKwlzZXJ2ZXJfYXJncwkJPSAtcyAv dmFyL2xpYi90ZnRwYm9vdAorIAlkaXNhYmxlCQkJPSB5ZXMKKyAJcGVyX3NvdXJjZQkJPSAxMQor IAljcHMJCQk9IDEwMCAyCitkaWZmIC0tZ2l0IGEvdGZ0cGQvc2FtcGxlLnJ1bGVzIGIvdGZ0cGQv c2FtcGxlLnJ1bGVzCitpbmRleCA1NWI1NmJlLi4xNzQxYTRjIDEwMDY0NAorLS0tIGEvdGZ0cGQv c2FtcGxlLnJ1bGVzCisrKysgYi90ZnRwZC9zYW1wbGUucnVsZXMKK0BAIC0yOSw1ICsyOSw1IEBA IHJnCVxcCQkvCQkjIENvbnZlcnQgYmFja3NsYXNoZXMgdG8gc2xhc2hlcwogIHJnCVwjCQlACQkj IENvbnZlcnQgaGFzaCBtYXJrcyB0byBAIHNpZ25zCiAgcmcJLy4uLwkJLy4ubm8uLi8JIyBDb252 ZXJ0IC8uLi8gdG8gLy4ubm8uLi8KICBlCV5vay8JCQkJIyBUaGVzZSBhcmUgYWx3YXlzIG9rCgpk aWZmIC0tZ2l0IGEvdGZ0cC1kb2MucGF0Y2ggYi90ZnRwLWRvYy5wYXRjaAppbmRleCAwNDFlOTAy Li5jMzczM2Q5IDEwMDY0NAotLS0gYS90ZnRwLWRvYy5wYXRjaAorKysgYi90ZnRwLWRvYy5wYXRj aApAQCAtMSw2ICsxLDYgQEAKLS0tLSB0ZnRwLWhwYS01LjIvdGZ0cC9tYWluLmMJMjAxMy0wNC0x OSAwOTozNDowOS43Mzc0MTAzMTkgKzAyMDAKLSsrKyB0ZnRwLWhwYS01LjIvdGZ0cC9tYWluLmMJ MjAxMy0wNC0xOSAwOTo0Mjo1My41NTk5NDYzNzQgKzAyMDAKLUBAIC0xOTUsOSArMTk1LDExIEBA CistLS0gYS90ZnRwL21haW4uYworKysrIGIvdGZ0cC9tYWluLmMKK0BAIC0xNjUsOSArMTY1LDEx IEBAIHN0YXRpYyB2b2lkIHVzYWdlKGludCBlcnJjb2RlKQogIHsKICAgICAgZnByaW50ZihzdGRl cnIsCiAgI2lmZGVmIEhBVkVfSVBWNgpAQCAtMTIsNSArMTIsNSBAQAogKyAgICAgICAgICAgICJV c2FnZTogJXMgWy12XVstVl1bLWxdWy1tIG1vZGVdIFstUiBwb3J0OnBvcnRdICIKICsJCQkiW2hv c3QgW3BvcnRdXSBbLWMgY29tbWFuZF1cbiIsCiAgI2VuZGlmCi0gICAgICAgICAgICAgcHJvZ3Jh bSk7CisgICAgICAgICAgICAgX3Byb2duYW1lKTsKICAgICAgZXhpdChlcnJjb2RlKTsKCmRpZmYg LS1naXQgYS90ZnRwLWVuaGFuY2VkLWxvZ2dpbmcucGF0Y2ggYi90ZnRwLWVuaGFuY2VkLWxvZ2dp bmcucGF0Y2gKaW5kZXggNGQ1NDhhOS4uY2ZiMzQ1ZiAxMDA2NDQKLS0tIGEvdGZ0cC1lbmhhbmNl ZC1sb2dnaW5nLnBhdGNoCisrKyBiL3RmdHAtZW5oYW5jZWQtbG9nZ2luZy5wYXRjaApAQCAtMSw1 MSArMSwyNSBAQAotZGlmZiAtdXAgdGZ0cC1ocGEtNS4zL3RmdHBkL3RmdHBkLmMubG9nZ2luZyB0 ZnRwLWhwYS01LjMvdGZ0cGQvdGZ0cGQuYwotLS0tIHRmdHAtaHBhLTUuMy90ZnRwZC90ZnRwZC5j LmxvZ2dpbmcJMjAyNS0xMi0yNiAyMjozNTowMS4xMTc1NjUwNjcgKzAxMDAKLSsrKyB0ZnRwLWhw YS01LjMvdGZ0cGQvdGZ0cGQuYwkyMDI1LTEyLTI2IDIyOjM2OjA5LjA0MDMxODc4MCArMDEwMAot QEAgLTEwNTMsMTQgKzEwNTMsMTQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQot IAotIHN0YXRpYyBjaGFyICpyZXdyaXRlX2FjY2VzcyhjaGFyICosIGludCwgaW50LCBjb25zdCBj aGFyICoqKTsKKy0tLSBhL3RmdHBkL3RmdHBkLmMKKysrKyBiL3RmdHBkL3RmdHBkLmMKK0BAIC0x MDg5LDcgKzEwODksNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgc3RhdGlj IGNoYXIgKnJld3JpdGVfYWNjZXNzKGNvbnN0IHN0cnVjdCBmb3JtYXRzICosCisgCQkJICAgIGNo YXIgKiwgaW50LCBpbnQsIGNvbnN0IGNoYXIgKiopOwogIHN0YXRpYyBpbnQgdmFsaWRhdGVfYWNj ZXNzKGNoYXIgKiwgaW50LCBjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBjb25zdCBjaGFyICoqKTsK IC1zdGF0aWMgdm9pZCB0ZnRwX3NlbmRmaWxlKGNvbnN0IHN0cnVjdCBmb3JtYXRzICosIHN0cnVj dCB0ZnRwaGRyICosIGludCk7CiArc3RhdGljIHZvaWQgdGZ0cF9zZW5kZmlsZShjb25zdCBzdHJ1 Y3QgZm9ybWF0cyAqLCBzdHJ1Y3QgdGZ0cGhkciAqLCBpbnQsIGNoYXIgKik7CiAgc3RhdGljIHZv aWQgdGZ0cF9yZWN2ZmlsZShjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBzdHJ1Y3QgdGZ0cGhkciAq LCBpbnQpOwogIAotIHN0cnVjdCBmb3JtYXRzIHsKLSAgICAgY29uc3QgY2hhciAqZl9tb2RlOwot ICAgICBjaGFyICooKmZfcmV3cml0ZSkgKGNoYXIgKiwgaW50LCBpbnQsIGNvbnN0IGNoYXIgKiop OwotICAgICBpbnQgKCpmX3ZhbGlkYXRlKSAoY2hhciAqLCBpbnQsIGNvbnN0IHN0cnVjdCBmb3Jt YXRzICosIGNvbnN0IGNoYXIgKiopOwotLSAgICB2b2lkICgqZl9zZW5kKSAoY29uc3Qgc3RydWN0 IGZvcm1hdHMgKiwgc3RydWN0IHRmdHBoZHIgKiwgaW50KTsKLSsgICAgdm9pZCAoKmZfc2VuZCkg KGNvbnN0IHN0cnVjdCBmb3JtYXRzICosIHN0cnVjdCB0ZnRwaGRyICosIGludCwgY2hhciAqKTsK LSAgICAgdm9pZCAoKmZfcmVjdikgKGNvbnN0IHN0cnVjdCBmb3JtYXRzICosIHN0cnVjdCB0ZnRw aGRyICosIGludCk7Ci0gICAgIGludCBmX2NvbnZlcnQ7Ci0gfTsKLUBAIC0xMTI1LDYgKzExMjUs OSBAQCBpbnQgdGZ0cChzdHJ1Y3QgdGZ0cGhkciAqdHAsIGludCBzaXplKQotICAgICAgICAgICAg ICAgICBuYWsoRUFDQ0VTUywgZXJybXNncHRyKTsgICAgICAgIC8qIEZpbGUgZGVuaWVkIGJ5IG1h cHBpbmcgcnVsZSAqLwotICAgICAgICAgICAgICAgICBleGl0KDApOwotICAgICAgICAgICAgIH0K LSsJICAgIGVjb2RlID0KLSsgICAgICAgICAgICAgICAgKCpwZi0+Zl92YWxpZGF0ZSkgKGZpbGVu YW1lLCB0cF9vcGNvZGUsIHBmLCAmZXJybXNncHRyKTsKLSsKLSAgICAgICAgICAgICBpZiAodmVy Ym9zaXR5ID49IDEpIHsKLSAgICAgICAgICAgICAgICAgdG1wX3AgPSAoY2hhciAqKWluZXRfbnRv cChmcm9tLnNhLnNhX2ZhbWlseSwgU09DS0FERFJfUCgmZnJvbSksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVmLCBJTkVUNl9BRERSU1RSTEVOKTsKLUBA IC0xMTQzLDkgKzExNDYsMTQgQEAgaW50IHRmdHAoc3RydWN0IHRmdHBoZHIgKnRwLCBpbnQgc2l6 ZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cF9vcGNvZGUgPT0gV1JRID8gIldSUSIg OiAiUlJRIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfcCwgb3JpZ2ZpbGVuYW1l LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVuYW1lKTsKLSsKLSsgICAgICAgICAg ICAgICAgaWYgKGVjb2RlID09IDEpIHsKLSsgICAgICAgICAgICAgICAgICAgIHN5c2xvZyhMT0df Tk9USUNFLCAiQ2xpZW50ICVzIEZpbGUgbm90IGZvdW5kICVzXG4iLAotKyAgICAgICAgICAgICAg ICAgICAgdG1wX3AsZmlsZW5hbWUpOwotKyAgICAgICAgICAgICAgICB9Ci0rCi0gICAgICAgICAg ICAgfQotLSAgICAgICAgICAgIGVjb2RlID0KLS0gICAgICAgICAgICAgICAgKCpwZi0+Zl92YWxp ZGF0ZSkgKGZpbGVuYW1lLCB0cF9vcGNvZGUsIHBmLCAmZXJybXNncHRyKTsKLSsKLSAgICAgICAg ICAgICBpZiAoZWNvZGUpIHsKLSAgICAgICAgICAgICAgICAgbmFrKGVjb2RlLCBlcnJtc2dwdHIp OwotICAgICAgICAgICAgICAgICBleGl0KDApOwotQEAgLTExNjgsMTIgKzExNzYsMTIgQEAgaW50 IHRmdHAoc3RydWN0IHRmdHBoZHIgKnRwLCBpbnQgc2l6ZSkKKyBzdGF0aWMgY29uc3Qgc3RydWN0 IGZvcm1hdHMgZm9ybWF0c1tdID0geworQEAgLTExODAsNiArMTE4MCw5IEBAIGludCB0ZnRwKHN0 cnVjdCB0ZnRwaGRyICp0cCwgaW50IHNpemUpCisgCSAgICBpZiAoIWZpbGUpIHsKKyAJCWVjb2Rl ID0KKyAJCSAgICAoKnBmLT5mX3ZhbGlkYXRlKSAoZmlsZW5hbWUsIHRwX29wY29kZSwgcGYsICZl cnJtc2dwdHIpOworKwkJaWYgKGVjb2RlID09IDEpCisrCQkgICAgdGZ0cGRfbG9nKExPR19OT1RJ Q0UsICJDbGllbnQgJXMgRmlsZSBub3QgZm91bmQgJXNcbiIsCisrCQkJICAgICAgdG1wX3AsIGZp bGVuYW1lKTsKKyAJCWlmIChlY29kZSkgeworIAkJICAgIG5hayhlY29kZSwgZXJybXNncHRyKTsK KyAJCSAgICBleGl0KDApOworQEAgLTEyMDMsMTIgKzEyMDYsMTIgQEAgaW50IHRmdHAoc3RydWN0 IHRmdHBoZHIgKnRwLCBpbnQgc2l6ZSkKICAgICAgICAgIGlmICh0cF9vcGNvZGUgPT0gV1JRKQog ICAgICAgICAgICAgICgqcGYtPmZfcmVjdikgKHBmLCAoc3RydWN0IHRmdHBoZHIgKilhY2tidWYs IGFwIC0gYWNrYnVmKTsKICAgICAgICAgIGVsc2UKQEAgLTYwLDcgKzM0LDcgQEAgZGlmZiAtdXAg dGZ0cC1ocGEtNS4zL3RmdHBkL3RmdHBkLmMubG9nZ2luZyB0ZnRwLWhwYS01LjMvdGZ0cGQvdGZ0 cGQuYwogICAgICB9CiAgICAgIGV4aXQoMCk7ICAgICAgICAgICAgICAgICAgICAvKiBSZXF1ZXN0 IGNvbXBsZXRlZCAqLwogIH0KLUBAIC0xNTU1LDcgKzE1NjMsNyBAQCBzdGF0aWMgaW50IHZhbGlk YXRlX2FjY2VzcyhjaGFyICpmaWxlbmFtCitAQCAtMTY1NSw3ICsxNjU4LDcgQEAgc3RhdGljIGlu dCB2YWxpZGF0ZV9hY2Nlc3MoY2hhciAqZmlsZW5hbWUsIGludCBtb2RlLAogIC8qCiAgICogU2Vu ZCB0aGUgcmVxdWVzdGVkIGZpbGUuCiAgICovCkBAIC02OSwxNyArNDMsMjggQEAgZGlmZiAtdXAg dGZ0cC1ocGEtNS4zL3RmdHBkL3RmdHBkLmMubG9nZ2luZyB0ZnRwLWhwYS01LjMvdGZ0cGQvdGZ0 cGQuYwogIHsKICAgICAgc3RydWN0IHRmdHBoZHIgKmRwOwogICAgICBzdHJ1Y3QgdGZ0cGhkciAq YXA7ICAgICAgICAgLyogYWNrIHBhY2tldCAqLwotQEAgLTE2NDYsNiArMTY1NCwxMyBAQCBzdGF0 aWMgdm9pZCB0ZnRwX3NlbmRmaWxlKGNvbnN0IHN0cnVjdCBmCitAQCAtMTc0Niw2ICsxNzQ5LDEz IEBAIHN0YXRpYyB2b2lkIHRmdHBfc2VuZGZpbGUoY29uc3Qgc3RydWN0IGZvcm1hdHMgKnBmLCBz dHJ1Y3QgdGZ0cGhkciAqb2FwLCBpbnQgb2FjCiAgCWlmICghKytibG9jaykKICAJICBibG9jayA9 IHJvbGxvdmVyX3ZhbDsKICAgICAgfSB3aGlsZSAoc2l6ZSA9PSBzZWdzaXplKTsKICsgICAgdG1w X3AgPSAoY2hhciAqKWluZXRfbnRvcChmcm9tLnNhLnNhX2ZhbWlseSwgU09DS0FERFJfUCgmZnJv bSksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wYnVmLCBJ TkVUNl9BRERSU1RSTEVOKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBidWYs IElORVQ2X0FERFJTVFJMRU4pOwogKyAgICBpZiAoIXRtcF9wKSB7CiArICAgICAgICAgICAgdG1w X3AgPSB0bXBidWY7CiArICAgICAgICAgICAgc3RyY3B5KHRtcGJ1ZiwgIj8/PyIpOwogKyAgICB9 Ci0rICAgIHN5c2xvZyhMT0dfTk9USUNFLCAiQ2xpZW50ICVzIGZpbmlzaGVkICVzIix0bXBfcCxm aWxlbmFtZSk7CisrICAgIHRmdHBkX2xvZyhMT0dfTk9USUNFLCAiQ2xpZW50ICVzIGZpbmlzaGVk ICVzIiwgdG1wX3AsIGZpbGVuYW1lKTsKICAgIGFib3J0OgogICAgICAodm9pZClmY2xvc2UoZmls ZSk7CiAgfQorLS0tIGEvdGZ0cGQvdGZ0cGQuaAorKysrIGIvdGZ0cGQvdGZ0cGQuaAorQEAgLTMz LDcgKzMzLDcgQEAgc3RydWN0IGZvcm1hdHMgeworICAgICBjb25zdCBjaGFyICpmX21vZGU7Cisg ICAgIGNoYXIgKigqZl9yZXdyaXRlKSAoY29uc3Qgc3RydWN0IGZvcm1hdHMgKiwgY2hhciAqLCBp bnQsIGludCwgY29uc3QgY2hhciAqKik7CisgICAgIGludCAoKmZfdmFsaWRhdGUpIChjaGFyICos IGludCwgY29uc3Qgc3RydWN0IGZvcm1hdHMgKiwgY29uc3QgY2hhciAqKik7CistICAgIHZvaWQg KCpmX3NlbmQpIChjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqLCBzdHJ1Y3QgdGZ0cGhkciAqLCBpbnQp OworKyAgICB2b2lkICgqZl9zZW5kKSAoY29uc3Qgc3RydWN0IGZvcm1hdHMgKiwgc3RydWN0IHRm dHBoZHIgKiwgaW50LCBjaGFyICopOworICAgICB2b2lkICgqZl9yZWN2KSAoY29uc3Qgc3RydWN0 IGZvcm1hdHMgKiwgc3RydWN0IHRmdHBoZHIgKiwgaW50KTsKKyAgICAgaW50IGZfY29udmVydDsK KyB9OwoKZGlmZiAtLWdpdCBhL3RmdHAtaHBhLTUuMi1vc2gucGF0Y2ggYi90ZnRwLWhwYS01LjIt b3NoLnBhdGNoCmluZGV4IDRhOTU1YWEuLjc0MzVhM2UgMTAwNjQ0Ci0tLSBhL3RmdHAtaHBhLTUu Mi1vc2gucGF0Y2gKKysrIGIvdGZ0cC1ocGEtNS4yLW9zaC5wYXRjaApAQCAtMSw5ICsxLDkgQEAK ICMgRml4IGxlYWtlZF9oYW5kbGU6IEhhbmRsZSB2YXJpYWJsZSAiZmQiIGdvaW5nIG91dCBvZiBz Y29wZSBsZWFrcyB0aGUgaGFuZGxlLgogZGlmZiAtLWdpdCBhL3RmdHBkL3RmdHBkLmMgYi90ZnRw ZC90ZnRwZC5jCi1pbmRleCAzNjRlN2QyLi5jYmQ2MDkzIDEwMDY0NAoraW5kZXggNmRjZjE0Zi4u YjI2NzM2NCAxMDA2NDQKIC0tLSBhL3RmdHBkL3RmdHBkLmMKICsrKyBiL3RmdHBkL3RmdHBkLmMK LUBAIC0xNTA1LDYgKzE1MDUsNyBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2FjY2VzcyhjaGFyICpm aWxlbmFtZSwgaW50IG1vZGUsCitAQCAtMTYxNiw2ICsxNjIzLDcgQEAgc3RhdGljIGludCB2YWxp ZGF0ZV9hY2Nlc3MoY2hhciAqZmlsZW5hbWUsIGludCBtb2RlLAogIAogICAgICBpZiAobW9kZSA9 PSBSUlEpIHsKICAgICAgICAgIGlmICghdW5peHBlcm1zICYmIChzdGJ1Zi5zdF9tb2RlICYgKFNf SVJFQUQgPj4gNikpID09IDApIHsKQEAgLTExLDcgKzExLDcgQEAgaW5kZXggMzY0ZTdkMi4uY2Jk NjA5MyAxMDA2NDQKICAgICAgICAgICAgICAqZXJybXNnID0gIkZpbGUgbXVzdCBoYXZlIGdsb2Jh bCByZWFkIHBlcm1pc3Npb25zIjsKICAgICAgICAgICAgICByZXR1cm4gKEVBQ0NFU1MpOwogICAg ICAgICAgfQotQEAgLTE1MTQsNiArMTUxNSw3IEBAIHN0YXRpYyBpbnQgdmFsaWRhdGVfYWNjZXNz KGNoYXIgKmZpbGVuYW1lLCBpbnQgbW9kZSwKK0BAIC0xNjI1LDYgKzE2MzMsNyBAQCBzdGF0aWMg aW50IHZhbGlkYXRlX2FjY2VzcyhjaGFyICpmaWxlbmFtZSwgaW50IG1vZGUsCiAgICAgIH0gZWxz ZSB7CiAgICAgICAgICBpZiAoIXVuaXhwZXJtcykgewogICAgICAgICAgICAgIGlmICgoc3RidWYu c3RfbW9kZSAmIChTX0lXUklURSA+PiA2KSkgPT0gMCkgewpAQCAtMTksNyArMTksNyBAQCBpbmRl eCAzNjRlN2QyLi5jYmQ2MDkzIDEwMDY0NAogICAgICAgICAgICAgICAgICAqZXJybXNnID0gIkZp bGUgbXVzdCBoYXZlIGdsb2JhbCB3cml0ZSBwZXJtaXNzaW9ucyI7CiAgICAgICAgICAgICAgICAg IHJldHVybiAoRUFDQ0VTUyk7CiAgICAgICAgICAgICAgfQotQEAgLTE1MjIsNiArMTUyNCw3IEBA IHN0YXRpYyBpbnQgdmFsaWRhdGVfYWNjZXNzKGNoYXIgKmZpbGVuYW1lLCBpbnQgbW9kZSwKK0BA IC0xNjMzLDYgKzE2NDIsNyBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2FjY2VzcyhjaGFyICpmaWxl bmFtZSwgaW50IG1vZGUsCiAgI2lmZGVmIEhBVkVfRlRSVU5DQVRFCiAgCS8qIFdlIGRpZG4ndCBn ZXQgdG8gdHJ1bmNhdGUgdGhlIGZpbGUgYXQgb3BlbigpIHRpbWUgKi8KICAJaWYgKGZ0cnVuY2F0 ZShmZCwgKG9mZl90KSAwKSkgewpAQCAtMjgsNDAgKzI4LDEwIEBAIGluZGV4IDM2NGU3ZDIuLmNi ZDYwOTMgMTAwNjQ0CiAgCSAgcmV0dXJuIChFQUNDRVNTKTsKICAJfQogCi0KLSMgUGF0Y2hlcyBm b3IgbmVnYXRpdmVfcmV0dXJuczogImZkIiBpcyBwYXNzZWQgdG8gYSBwYXJhbWV0ZXIgb2YgcG10 dV9kaXNjb3Zlcnlfb2ZmCi0jIHRoYXQgY2Fubm90IGJlIG5lZ2F0aXZlCi1Gcm9tIDBiNDQxNTli M2EyZjUxZDM1MGYzMDlkM2Y2ZDE0YTE3ZTc0ZTgyMzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiA9P1VURi04P3E/THVrPUMzPUExPUM1PUExPTIwWmFvcmFsPz0gPGx6YW9yYWxAcmVk aGF0LmNvbT4KLURhdGU6IFdlZCwgNiBBcHIgMjAyMiAwOTozMzozMyArMDIwMAotU3ViamVjdDog W1BBVENIIDEvMl0gdGZ0cGQ6IENvcnJlY3RseSBkaXNhYmxlIHBhdGggTVRVIGRpc2NvdmVyeSBp bgotIHN0YW5kYWxvbmUgbW9kZQotCi0tLS0KLSB0ZnRwZC90ZnRwZC5jIHwgMiArLQotIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEv dGZ0cGQvdGZ0cGQuYyBiL3RmdHBkL3RmdHBkLmMKLWluZGV4IDM2NGU3ZDIuLjAwZmExY2YgMTAw NjQ0Ci0tLS0gYS90ZnRwZC90ZnRwZC5jCi0rKysgYi90ZnRwZC90ZnRwZC5jCi1AQCAtNzY5LDcg Kzc2OSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgICAgfQotIAotICAg ICAvKiBEaXNhYmxlIHBhdGggTVRVIGRpc2NvdmVyeSAqLwotLSAgICBwbXR1X2Rpc2NvdmVyeV9v ZmYoZmQpOwotKyAgICBwbXR1X2Rpc2NvdmVyeV9vZmYoZmRtYXgpOwotIAotICAgICAvKiBUaGlz IG1lYW5zIHdlIGRvbid0IHdhbnQgdG8gd2FpdCgpIGZvciBjaGlsZHJlbiAqLwotICNpZmRlZiBT QV9OT0NMRFdBSVQKLS0tIAotMi4zNS4xCi0KLQogRnJvbSA1ZjYwMzU1YzRiZDEwYjg2Njg0N2Ew ZDU4YTk1ODJiZGE3ZGI3MmFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogPT9VVEYt OD9xP0x1az1DMz1BMT1DNT1BMT0yMFphb3JhbD89IDxsemFvcmFsQHJlZGhhdC5jb20+CiBEYXRl OiBXZWQsIDYgQXByIDIwMjIgMDk6MzQ6NDYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyLzJdIHRm dHBkOiBGaXggYSBwb3NzaWJsZSB1c2FnZSBvZiAtMSBmaWxlIGRlc2NyaXB0b3IgaW4KK1N1Ympl Y3Q6IFtQQVRDSF0gdGZ0cGQ6IEZpeCBhIHBvc3NpYmxlIHVzYWdlIG9mIC0xIGZpbGUgZGVzY3Jp cHRvciBpbgogIHN0YW5kYWxvbmUgbW9kZQogCiAtLS0KQEAgLTcyLDcgKzQyLDcgQEAgZGlmZiAt LWdpdCBhL3RmdHBkL3RmdHBkLmMgYi90ZnRwZC90ZnRwZC5jCiBpbmRleCAwMGZhMWNmLi5hZmQ1 OTVkIDEwMDY0NAogLS0tIGEvdGZ0cGQvdGZ0cGQuYwogKysrIGIvdGZ0cGQvdGZ0cGQuYwotQEAg LTYyMiw2ICs2MjIsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTY3 Miw2ICs2NzIsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogICAgICAgICAg ICAgICAgICAgICAgICAgIGV4aXQoRVhfVVNBR0UpOwogICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgYWlfZmFtID0gQUZfSU5FVDY7CkBAIC04OCw0ICs1OCwzIEBA IGluZGV4IDAwZmExY2YuLmFmZDU5NWQgMTAwNjQ0CiAgI2VuZGlmCiAtLSAKIDIuMzUuMQotCgpk aWZmIC0tZ2l0IGEvdGZ0cC1ocGEtNS4zLWNtZF9hcmcucGF0Y2ggYi90ZnRwLWhwYS01LjMtY21k X2FyZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE1ODNmZC4uMDAwMDAw MAotLS0gYS90ZnRwLWhwYS01LjMtY21kX2FyZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0 OCArMCwwIEBACi1kaWZmIC11cCB0ZnRwLWhwYS01LjMvY29uZmlnLmguY21kX2FyZyB0ZnRwLWhw YS01LjMvY29uZmlnLmgKLS0tLSB0ZnRwLWhwYS01LjMvY29uZmlnLmguY21kX2FyZwkyMDI0LTA1 LTMwIDAwOjQwOjEzLjAwMDAwMDAwMCArMDIwMAotKysrIHRmdHAtaHBhLTUuMy9jb25maWcuaAky MDI1LTEyLTI2IDIyOjI3OjMwLjkzMzIwMjc1NCArMDEwMAotQEAgLTI3Nyw2ICsyNzcsNyBAQCB0 eXBlZGVmIGludCBzb2NrbGVuX3Q7Ci0gLyogUHJvdG90eXBlcyBmb3IgbGlieHRyYSBmdW5jdGlv bnMgKi8KLSAKLSB2b2lkICp4bWFsbG9jKHNpemVfdCk7Ci0rdm9pZCAqeHJlYWxsb2Modm9pZCAq LCBzaXplX3QpOwotIGNoYXIgKnhzdHJkdXAoY29uc3QgY2hhciAqKTsKLSAKLSAjaWZuZGVmIEhB VkVfU0lHSEFORExFUl9UCi1kaWZmIC11cCB0ZnRwLWhwYS01LjMvbGliL3hyZWFsbG9jLmMuY21k X2FyZyB0ZnRwLWhwYS01LjMvbGliL3hyZWFsbG9jLmMKLS0tLSB0ZnRwLWhwYS01LjMvbGliL3hy ZWFsbG9jLmMuY21kX2FyZwkyMDI1LTEyLTI2IDIyOjE5OjU5Ljc1MTg3MDAyNiArMDEwMAotKysr IHRmdHAtaHBhLTUuMy9saWIveHJlYWxsb2MuYwkyMDI1LTEyLTI2IDIyOjE5OjU5Ljc1MTg3MDAy NiArMDEwMAotQEAgLTAsMCArMSwyMCBAQAotKy8qCi0rICogeHJlYWxsb2MuYwotKyAqCi0rICog U2ltcGxlIGVycm9yLWNoZWNraW5nIHZlcnNpb24gb2YgcmVhbGxvYygpCi0rICoKLSsgKi8KLSsK LSsjaW5jbHVkZSAiY29uZmlnLmgiCi0rCi0rdm9pZCAqeHJlYWxsb2Modm9pZCAqcHRyLCBzaXpl X3Qgc2l6ZSkKLSt7Ci0rICAgIHZvaWQgKnAgPSByZWFsbG9jKHB0ciwgc2l6ZSk7Ci0rCi0rICAg IGlmICghcCkgewotKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJPdXQgb2YgbWVtb3J5IVxuIik7 Ci0rICAgICAgICBleGl0KDEyOCk7Ci0rICAgIH0KLSsKLSsgICAgcmV0dXJuIHA7Ci0rfQotZGlm ZiAtdXAgdGZ0cC1ocGEtNS4zL3RmdHAvbWFpbi5jLmNtZF9hcmcgdGZ0cC1ocGEtNS4zL3RmdHAv bWFpbi5jCi0tLS0gdGZ0cC1ocGEtNS4zL3RmdHAvbWFpbi5jLmNtZF9hcmcJMjAyNC0wNS0zMCAw MDo0MDoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyB0ZnRwLWhwYS01LjMvdGZ0cC9tYWluLmMJMjAy NS0xMi0yNiAyMjoxOTo1OS43NTI4NzAwMjMgKzAxMDAKLUBAIC04OSwxMSArODksMTQgQEAgaW50 IGNvbm5lY3RlZDsKLSBjb25zdCBzdHJ1Y3QgbW9kZXMgKm1vZGU7Ci0gI2lmZGVmIFdJVEhfUkVB RExJTkUKLSBjaGFyICpsaW5lID0gTlVMTDsKLStjaGFyICpyZW1vdGVfcHRoID0gTlVMTDsKLSAj ZWxzZQotIGNoYXIgbGluZVtMQlVGTEVOXTsKLStjaGFyIHJlbW90ZV9wdGhbTEJVRkxFTl07Ci0g I2VuZGlmCi0gaW50IG1hcmdjOwotLWNoYXIgKm1hcmd2WzIwXTsKLStjaGFyICoqbWFyZ3Y7Ci0r aW50IHNpemVvZl9tYXJndj0wOwotIGNvbnN0IGNoYXIgKnByb21wdCA9ICJ0ZnRwPiAiOwotIHNp Z2ptcF9idWYgdG9wbGV2ZWw7Ci0gdm9pZCBpbnRyKGludCk7Ci1AQCAtMzc5LDYgKzM4MiwxMCBA QCBzdGF0aWMgdm9pZCBnZXRtb3JlYXJncyhjb25zdCBjaGFyICpwYXJ0Ci0gICAgICAgICBmcmVl KGxpbmUpOwotICAgICAgICAgbGluZSA9IE5VTEw7Ci0gICAgIH0KLSsgICAgaWYgKHJlbW90ZV9w dGgpIHsKLSsgICAgICAgIGZyZWUocmVtb3RlX3B0aCk7Ci0rICAgICAgICByZW1vdGVfcHRoID0g TlVMTDsKLSsgICAgfQotICAgICBsaW5lID0geG1hbGxvYyhsZW4gKyBlbGVuICsgMSk7Ci0gICAg IHN0cmNweShsaW5lLCBwYXJ0aWFsKTsKLSAgICAgc3RyY3B5KGxpbmUgKyBsZW4sIGVsaW5lKTsK LUBAIC01MzUsNiArNTQyLDcgQEAgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKLSAg ICAgaW50IGZkOwotICAgICBpbnQgbiwgZXJyOwotICAgICBjaGFyICpjcCwgKnRhcmc7Ci0rICAg IGxvbmcgZGlybGVuLCBuYW1lbGVuLCBsYXN0bGVuPTA7Ci0gCi0gICAgIGlmIChhcmdjIDwgMikg ewotICAgICAgICAgZ2V0bW9yZWFyZ3MoInNlbmQgIiwgIihmaWxlKSAiKTsKLUBAIC01ODgsOSAr NTk2LDIyIEBAIHZvaWQgcHV0KGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gICAgIH0KLSAgICAg LyogdGhpcyBhc3N1bWVzIHRoZSB0YXJnZXQgaXMgYSBkaXJlY3RvcnkgKi8KLSAgICAgLyogb24g YSByZW1vdGUgdW5peCBzeXN0ZW0uICBobW1tbS4gICovCi0tICAgIGNwID0gc3RyY2hyKHRhcmcs ICdcMCcpOwotLSAgICAqY3ArKyA9ICcvJzsKLSsgICAgZGlybGVuID0gc3RybGVuKHRhcmcpKzE7 Ci0rI2lmZGVmIFdJVEhfUkVBRExJTkUKLSsgICAgcmVtb3RlX3B0aCA9IHhtYWxsb2MoZGlybGVu KzEpOwotKyNlbmRpZgotKyAgICBzdHJjcHkocmVtb3RlX3B0aCwgdGFyZyk7Ci0rICAgIHJlbW90 ZV9wdGhbZGlybGVuLTFdID0gJy8nOwotKyAgICBjcCA9IHJlbW90ZV9wdGggKyBkaXJsZW47Ci0g ICAgIGZvciAobiA9IDE7IG4gPCBhcmdjIC0gMTsgbisrKSB7Ci0rI2lmZGVmIFdJVEhfUkVBRExJ TkUKLSsgICAgICAgIG5hbWVsZW4gPSBzdHJsZW4odGFpbChhcmd2W25dKSkgKyAxOwotKyAgICAg ICAgaWYgKG5hbWVsZW4gPiBsYXN0bGVuKSB7Ci0rICAgICAgICAgICAgcmVtb3RlX3B0aCA9IHhy ZWFsbG9jKHJlbW90ZV9wdGgsIGRpcmxlbiArIG5hbWVsZW4gKyAxKTsKLSsgICAgICAgICAgICBj cCA9IHJlbW90ZV9wdGggKyBkaXJsZW47Ci0rICAgICAgICAgICAgbGFzdGxlbiA9IG5hbWVsZW47 Ci0rICAgICAgICB9Ci0rI2VuZGlmCi0gICAgICAgICBzdHJjcHkoY3AsIHRhaWwoYXJndltuXSkp OwotICAgICAgICAgZmQgPSBvcGVuKGFyZ3Zbbl0sIE9fUkRPTkxZIHwgbW9kZS0+bV9vcGVuZmxh Z3MpOwotICAgICAgICAgaWYgKGZkIDwgMCkgewotQEAgLTYwMCw5ICs2MjEsOSBAQCB2b2lkIHB1 dChpbnQgYXJnYywgY2hhciAqYXJndltdKQotICAgICAgICAgfQotICAgICAgICAgaWYgKHZlcmJv c2UpCi0gICAgICAgICAgICAgcHJpbnRmKCJwdXR0aW5nICVzIHRvICVzOiVzIFslc11cbiIsCi0t ICAgICAgICAgICAgICAgICAgIGFyZ3Zbbl0sIGhvc3RuYW1lLCB0YXJnLCBtb2RlLT5tX21vZGUp OwotKyAgICAgICAgICAgICAgICAgICBhcmd2W25dLCBob3N0bmFtZSwgcmVtb3RlX3B0aCwgbW9k ZS0+bV9tb2RlKTsKLSAgICAgICAgIHNhX3NldF9wb3J0KCZwZWVyYWRkciwgcG9ydCk7Ci0tICAg ICAgICB0ZnRwX3NlbmRmaWxlKGZkLCB0YXJnLCBtb2RlLT5tX21vZGUpOwotKyAgICAgICAgdGZ0 cF9zZW5kZmlsZShmZCwgcmVtb3RlX3B0aCwgbW9kZS0+bV9tb2RlKTsKLSAgICAgfQotIH0KLSAK LUBAIC04MDEsNiArODIyLDEwIEBAIHN0YXRpYyB2b2lkIGNvbW1hbmQodm9pZCkKLSAgICAgICAg ICAgICBmcmVlKGxpbmUpOwotICAgICAgICAgICAgIGxpbmUgPSBOVUxMOwotICAgICAgICAgfQot KyAgICAgICAgaWYgKHJlbW90ZV9wdGgpIHsKLSsgICAgICAgICAgICBmcmVlKHJlbW90ZV9wdGgp OwotKyAgICAgICAgICAgIHJlbW90ZV9wdGggPSBOVUxMOwotKyAgICAgICAgfQotICAgICAgICAg bGluZSA9IHJlYWRsaW5lKHByb21wdCk7Ci0gICAgICAgICBpZiAoIWxpbmUpCi0gICAgICAgICAg ICAgZXhpdCgwKTsgICAgICAgICAgICAvKiBFT0YgKi8KLUBAIC04NzIsNyArODk3LDEzIEBAIHN0 cnVjdCBjbWQgKmdldGNtZChjaGFyICpuYW1lKQotIHN0YXRpYyB2b2lkIG1ha2Vhcmd2KHZvaWQp Ci0gewotICAgICBjaGFyICpjcDsKLS0gICAgY2hhciAqKmFyZ3AgPSBtYXJndjsKLSsgICAgY2hh ciAqKmFyZ3A7Ci0rCi0rICAgIGlmICghc2l6ZW9mX21hcmd2KSB7Ci0rICAgICAgICBzaXplb2Zf bWFyZ3YgPSAyMDsKLSsgICAgICAgIG1hcmd2ID0geG1hbGxvYyhzaXplb2ZfbWFyZ3YgKiBzaXpl b2YoY2hhciAqKSk7Ci0rICAgIH0KLSsgICAgYXJncCA9IG1hcmd2OwotIAotICAgICBtYXJnYyA9 IDA7Ci0gICAgIGZvciAoY3AgPSBsaW5lOyAqY3A7KSB7Ci1AQCAtODgyLDYgKzkxMywxMSBAQCBz dGF0aWMgdm9pZCBtYWtlYXJndih2b2lkKQotICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg KmFyZ3ArKyA9IGNwOwotICAgICAgICAgbWFyZ2MgKz0gMTsKLSsgICAgICAgIGlmIChtYXJnYyA9 PSBzaXplb2ZfbWFyZ3YpIHsKLSsgICAgICAgICAgICBzaXplb2ZfbWFyZ3YgKz0gMjA7Ci0rICAg ICAgICAgICAgbWFyZ3YgPSB4cmVhbGxvYyhtYXJndiwgc2l6ZW9mX21hcmd2ICogc2l6ZW9mKGNo YXIgKikpOwotKyAgICAgICAgICAgIGFyZ3AgPSBtYXJndiArIG1hcmdjOwotKyAgICAgICAgfQot ICAgICAgICAgd2hpbGUgKCpjcCAhPSAnXDAnICYmICFpc3NwYWNlKCpjcCkpCi0gICAgICAgICAg ICAgY3ArKzsKLSAgICAgICAgIGlmICgqY3AgPT0gJ1wwJykKCmRpZmYgLS1naXQgYS90ZnRwLWhw YS01LjMtcGt0aW5mby5wYXRjaCBiL3RmdHAtaHBhLTUuMy1wa3RpbmZvLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MTZiMjdjLi4wMDAwMDAwCi0tLSBhL3RmdHAtaHBhLTUu My1wa3RpbmZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotZGlmZiAtdXAg dGZ0cC1ocGEtNS4zL3RmdHBkL3JlY3Zmcm9tLmMucGt0aW5mbyB0ZnRwLWhwYS01LjMvdGZ0cGQv cmVjdmZyb20uYwotLS0tIHRmdHAtaHBhLTUuMy90ZnRwZC9yZWN2ZnJvbS5jLnBrdGluZm8JMjAy NC0wNS0zMCAwMDo0MDoxMy4wMDAwMDAwMDAgKzAyMDAKLSsrKyB0ZnRwLWhwYS01LjMvdGZ0cGQv cmVjdmZyb20uYwkyMDI1LTEyLTI2IDIyOjMwOjM3LjE0MjUyMjM2MiArMDEwMAotQEAgLTE3MCwx NiArMTcwLDE2IEBAIG15cmVjdmZyb20oaW50IHMsIHZvaWQgKmJ1ZiwgaW50IGxlbiwgdW4KLSAK LSAgICAgLyogVHJ5IHRvIGVuYWJsZSBnZXR0aW5nIHRoZSByZXR1cm4gYWRkcmVzcyAqLwotICNp ZmRlZiBJUF9SRUNWRFNUQUREUgotLSAgICBpZiAoZnJvbS0+c2Euc2FfZmFtaWx5ID09IEFGX0lO RVQpCi0rICAgIGlmIChmcm9tLT5zYS5zYV9mYW1pbHkgPT0gQUZfSU5FVCB8fCAhZnJvbS0+c2Eu c2FfZmFtaWx5KQotICAgICAgICAgc2V0c29ja29wdChzLCBJUFBST1RPX0lQLCBJUF9SRUNWRFNU QUREUiwgJm9uLCBzaXplb2Yob24pKTsKLSAjZW5kaWYKLSAjaWZkZWYgSVBfUEtUSU5GTwotLSAg ICBpZiAoZnJvbS0+c2Euc2FfZmFtaWx5ID09IEFGX0lORVQpCi0rICAgIGlmIChmcm9tLT5zYS5z YV9mYW1pbHkgPT0gQUZfSU5FVCB8fCAhZnJvbS0+c2Euc2FfZmFtaWx5KQotICAgICAgICAgc2V0 c29ja29wdChzLCBJUFBST1RPX0lQLCBJUF9QS1RJTkZPLCAmb24sIHNpemVvZihvbikpOwotICNl bmRpZgotICNpZmRlZiBIQVZFX0lQVjYKLSAjaWZkZWYgSVBWNl9SRUNWUEtUSU5GTwotLSAgICBp ZiAoZnJvbS0+c2Euc2FfZmFtaWx5ID09IEFGX0lORVQ2KQotKyAgICBpZiAoZnJvbS0+c2Euc2Ff ZmFtaWx5ID09IEFGX0lORVQ2IHx8ICFmcm9tLT5zYS5zYV9mYW1pbHkpCi0gICAgICAgICBzZXRz b2Nrb3B0KHMsIElQUFJPVE9fSVBWNiwgSVBWNl9SRUNWUEtUSU5GTywgJm9uLCBzaXplb2Yob24p KTsKLSAjZW5kaWYKLSAjZW5kaWYKCmRpZmYgLS1naXQgYS90ZnRwLWhwYS01LjMtc2V0am1wLnBh dGNoIGIvdGZ0cC1ocGEtNS4zLXNldGptcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggZDhiMDUzZS4uMDAwMDAwMAotLS0gYS90ZnRwLWhwYS01LjMtc2V0am1wLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotRnJvbSBiOWYyMzM1ZTg4ZGNiMzkzOTAxNTg0 M2M3MTQzZjE1MzNjNzU1YTQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogIkguIFBl dGVyIEFudmluIiA8aHBhQHp5dG9yLmNvbT4KLURhdGU6IFdlZCwgMjkgTWF5IDIwMjQgMTc6MzU6 MTQgLTA3MDAKLVN1YmplY3Q6IHRmdHBkOiBzaHV0IHVwIG9uZSBtb3JlIHNldGptcCBjb21wbGFp bnQKLQotT25lIG1vcmUgcGxhY2Ugd2hlcmUgdGhlIGNvbXBpbGVyIGNvbXBsYWlucyBhYm91dCBz ZXRqbXAuIFdvcmsgYXJvdW5kCi1pdCBieSBjcmVhdGluZyB5ZXQgYW5vdGhlciBzdGF0aWMgdmFy aWFibGUuIFVnbHksIGJ1dCBpdCB3b3Jrcy4KLQotU2lnbmVkLW9mZi1ieTogSC4gUGV0ZXIgQW52 aW4gPGhwYUB6eXRvci5jb20+Ci0tLS0KLSB0ZnRwZC90ZnRwZC5jIHwgNiArKysrKy0KLSAxIGZp bGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQg YS90ZnRwZC90ZnRwZC5jIGIvdGZ0cGQvdGZ0cGQuYwotaW5kZXggMTQxODJmMy4uZDliM2Y0NiAx MDA2NDQKLS0tLSBhL3RmdHBkL3RmdHBkLmMKLSsrKyBiL3RmdHBkL3RmdHBkLmMKLUBAIC0xNjYw LDE3ICsxNjYwLDIxIEBAIHN0YXRpYyB2b2lkIHRmdHBfc2VuZGZpbGUoY29uc3Qgc3RydWN0IGZv cm1hdHMgKnBmLCBzdHJ1Y3QgdGZ0cGhkciAqb2FwLCBpbnQgb2FjCi0gLyoKLSAgKiBSZWNlaXZl IGEgZmlsZS4KLSAgKi8KLS1zdGF0aWMgdm9pZCB0ZnRwX3JlY3ZmaWxlKGNvbnN0IHN0cnVjdCBm b3JtYXRzICpwZiwgc3RydWN0IHRmdHBoZHIgKm9hcCwgaW50IG9hY2tsZW4pCi0rc3RhdGljIHZv aWQgdGZ0cF9yZWN2ZmlsZShjb25zdCBzdHJ1Y3QgZm9ybWF0cyAqcGYsCi0rCQkJICBzdHJ1Y3Qg dGZ0cGhkciAqb2FjaywgaW50IG9hY2tsZW4pCi0gewotICAgICBzdHJ1Y3QgdGZ0cGhkciAqZHA7 Ci0gICAgIGludCBuLCBzaXplOwotICAgICAvKiBUaGVzZSBhcmUgInN0YXRpYyIgdG8gYXZvaWQg bG9uZ2ptcCBmdW5uaWVzICovCi0rICAgIHN0YXRpYyBzdHJ1Y3QgdGZ0cGhkciAqb2FwOwotICAg ICBzdGF0aWMgc3RydWN0IHRmdHBoZHIgKmFwOyAgLyogYWNrIGJ1ZmZlciAqLwotICAgICBzdGF0 aWMgdV9zaG9ydCBibG9jayA9IDA7Ci0gICAgIHN0YXRpYyBpbnQgYWNrc2l6ZTsKLSAgICAgdV9z aG9ydCBkcF9vcGNvZGUsIGRwX2Jsb2NrOwotICAgICB1bnNpZ25lZCBsb25nIHJfdGltZW91dDsK LSAKLSsgICAgb2FwID0gb2FjazsKLSsKLSAgICAgZHAgPSB3X2luaXQoKTsKLSAgICAgZG8gewot ICAgICAgICAgdGltZW91dCA9IHJleG10dmFsOwotLS0gCi1jZ2l0IDEuMi4zLWtvcmcKLQoKZGlm ZiAtLWdpdCBhL3RmdHAtaHBhLTUuMy1zdGF0cy5wYXRjaCBiL3RmdHAtaHBhLTUuMy1zdGF0cy5w YXRjaAppbmRleCBlNzcwNDY1Li41NzFhYjMwIDEwMDY0NAotLS0gYS90ZnRwLWhwYS01LjMtc3Rh dHMucGF0Y2gKKysrIGIvdGZ0cC1ocGEtNS4zLXN0YXRzLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAot RnJvbSAxYjZjNDkwNWRlZDI5NmRkMWU1OTNkOGE3NWVmNTY1YThlMTZmNGZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbSA3YjEwNTFjYWZjZmI0ZmQ2MWM4NDBlNDg5Y2VjZWE4MzgwMTc3 YWE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogPT9VVEYtOD9xP0x1az1DMz1BMT1D NT1BMT0yMFphb3JhbD89IDxsemFvcmFsQHJlZGhhdC5jb20+CiBEYXRlOiBUdWUsIDE0IEFwciAy MDI2IDE3OjU4OjQxICswMjAwCiBTdWJqZWN0OiBbUEFUQ0hdID0/VVRGLTg/cT90ZnRwOj0yMGNv cnJlY3RseT0yMGNvbnZlcnQ9MjA9Q0U9QkNzPTIwdG89MjBzPz0KQEAgLTIzLDEwICsyMywxMCBA QCBTaWduZWQtb2ZmLWJ5OiBMdWvDocWhIFphb3JhbCA8bHphb3JhbEByZWRoYXQuY29tPgogIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1n aXQgYS90ZnRwL3RmdHAuYyBiL3RmdHAvdGZ0cC5jCi1pbmRleCAzM2E0MTc1Li4yYmEzZGUyIDEw MDY0NAoraW5kZXggMTRjM2E3NS4uZTE2MTUyNyAxMDA2NDQKIC0tLSBhL3RmdHAvdGZ0cC5jCiAr KysgYi90ZnRwL3RmdHAuYwotQEAgLTM5OCw4ICszOTgsOCBAQCBzdGF0aWMgdm9pZCBwcmludHN0 YXRzKGNvbnN0IGNoYXIgKmRpcmVjdGlvbiwgdW5zaWduZWQgbG9uZyBhbW91bnQpCitAQCAtNDA2 LDggKzQwNiw4IEBAIHN0YXRpYyB2b2lkIHByaW50c3RhdHMoY29uc3QgY2hhciAqZGlyZWN0aW9u LCB1bnNpZ25lZCBsb25nIGFtb3VudCkKICB7CiAgICAgIGRvdWJsZSBkZWx0YTsKICAKQEAgLTM4 LDUgKzM4LDUgQEAgaW5kZXggMzNhNDE3NS4uMmJhM2RlMiAxMDA2NDQKICAgICAgICAgIHByaW50 ZigiJXMgJWx1IGJ5dGVzIGluICUuMWYgc2Vjb25kcyIsIGRpcmVjdGlvbiwgYW1vdW50LCBkZWx0 YSk7CiAgICAgICAgICBwcmludGYoIiBbJS4wZiBiaXQvc10iLCAoYW1vdW50ICogOC4pIC8gZGVs dGEpOwogLS0gCi0yLjUzLjAKKzIuNTUuMAogCgpkaWZmIC0tZ2l0IGEvdGZ0cC1ocGEtNS4zLXRm dHAtZXhpdC1jb2RlLWNtZG1vZGUucGF0Y2ggYi90ZnRwLWhwYS01LjMtdGZ0cC1leGl0LWNvZGUt Y21kbW9kZS5wYXRjaAppbmRleCBkMWNiNTcyLi40N2M4MzUxIDEwMDY0NAotLS0gYS90ZnRwLWhw YS01LjMtdGZ0cC1leGl0LWNvZGUtY21kbW9kZS5wYXRjaAorKysgYi90ZnRwLWhwYS01LjMtdGZ0 cC1leGl0LWNvZGUtY21kbW9kZS5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLUZyb20gNjYyMDUzYjc2 OWMxYzE1YWQwZmYyYTllZWU3MmNiNzRjY2VkZTM0YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb20gODE3YTE3ZGZkZGNhM2MxMjEzYThhNWRjODQ4YjA0M2NhZWZlZTEzOSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206ID0/VVRGLTg/cT9MdWs9QzM9QTE9QzU9QTE9MjBaYW9yYWw/ PSA8bHphb3JhbEByZWRoYXQuY29tPgogRGF0ZTogV2VkLCAxNiBKdWwgMjAyNSAxNTowMzo0MyAr MDIwMAogU3ViamVjdDogW1BBVENIXSB0ZnRwOiBwcm9wYWdhdGUgZXJyb3JzIHRvIGV4aXQgY29k ZSBpbiBzaW5nbGUgY29tbWFuZCBtb2RlCkBAIC0xMCwxMCArMTAsMTAgQEAgU3ViamVjdDogW1BB VENIXSB0ZnRwOiBwcm9wYWdhdGUgZXJyb3JzIHRvIGV4aXQgY29kZSBpbiBzaW5nbGUgY29tbWFu ZCBtb2RlCiAgMyBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMo LSkKIAogZGlmZiAtLWdpdCBhL3RmdHAvZXh0ZXJuLmggYi90ZnRwL2V4dGVybi5oCi1pbmRleCA5 YzU3OGU2Li43OTIzZWFjIDEwMDY0NAoraW5kZXggOWZkNDI0Yi4uYzFlMTk4MCAxMDA2NDQKIC0t LSBhL3RmdHAvZXh0ZXJuLmgKICsrKyBiL3RmdHAvZXh0ZXJuLmgKLUBAIC0zNiw4ICszNiw4IEBA CitAQCAtMTAsOCArMTAsOCBAQAogIAogICNpbmNsdWRlICJjb25maWcuaCIKICAKQEAgLTI1LDEw ICsyNSwxMCBAQCBpbmRleCA5YzU3OGU2Li43OTIzZWFjIDEwMDY0NAogIAogICNlbmRpZgogZGlm ZiAtLWdpdCBhL3RmdHAvbWFpbi5jIGIvdGZ0cC9tYWluLmMKLWluZGV4IGFjMDYzMzAuLjc0ZjYz ZjggMTAwNjQ0CitpbmRleCBlZWQwMmJmLi5lN2IzMzhjIDEwMDY0NAogLS0tIGEvdGZ0cC9tYWlu LmMKICsrKyBiL3RmdHAvbWFpbi5jCi1AQCAtMTAyLDIwICsxMDIsMjAgQEAgaW50IHBvcnRyYW5n ZSA9IDA7CitAQCAtNzcsMjAgKzc3LDIwIEBAIGludCBwb3J0cmFuZ2UgPSAwOwogIHVuc2lnbmVk IGludCBwb3J0cmFuZ2VfZnJvbSA9IDA7CiAgdW5zaWduZWQgaW50IHBvcnRyYW5nZV90byA9IDA7 CiAgCkBAIC02Myw3ICs2Myw3IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYzZjggMTAwNjQ0CiAgCiAg c3RhdGljIHZvaWQgY29tbWFuZCh2b2lkKTsKICAKLUBAIC0xMjksNyArMTI5LDcgQEAgc3RhdGlj IHZvaWQgc2V0dGZ0cG1vZGUoY29uc3Qgc3RydWN0IG1vZGVzICopOworQEAgLTEwNCw3ICsxMDQs NyBAQCBzdGF0aWMgdm9pZCBzZXR0ZnRwbW9kZShjb25zdCBzdHJ1Y3QgbW9kZXMgKik7CiAgc3Ry dWN0IGNtZCB7CiAgICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICAgIGNvbnN0IGNoYXIgKmhlbHA7 CkBAIC03MiwxNiArNzIsMTYgQEAgaW5kZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICB9Owog IAogIHN0cnVjdCBjbWQgY21kdGFiW10gPSB7Ci1AQCAtMTg4LDcgKzE4OCw3IEBAIGNoYXIgKnhz dHJkdXAoY29uc3QgY2hhciAqKTsKK0BAIC0xNjEsNyArMTYxLDcgQEAgY2hhciAqdGFpbChjaGFy ICopOwogIAotIGNvbnN0IGNoYXIgKnByb2dyYW07CisgY2hhciAqeHN0cmR1cChjb25zdCBjaGFy ICopOwogIAogLXN0YXRpYyB2b2lkIHVzYWdlKGludCBlcnJjb2RlKQogK3N0YXRpYyBpbnQgdXNh Z2UoaW50IGVycmNvZGUpCiAgewogICAgICBmcHJpbnRmKHN0ZGVyciwKICAjaWZkZWYgSEFWRV9J UFY2Ci1AQCAtMjAzLDcgKzIwMyw3IEBAIHN0YXRpYyB2b2lkIHVzYWdlKGludCBlcnJjb2RlKQor QEAgLTE3Niw3ICsxNzYsNyBAQCBzdGF0aWMgdm9pZCB1c2FnZShpbnQgZXJyY29kZSkKICBpbnQg bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogIHsKICAgICAgdW5pb24gc29ja19hZGRyIHNh OwpAQCAtOTAsNyArOTAsNyBAQCBpbmRleCBhYzA2MzMwLi43NGY2M2Y4IDEwMDY0NAogICAgICBz dGF0aWMgaW50IHBhcmdjLCBwZWVyYXJnYzsKICAgICAgc3RhdGljIGludCBpc2NtZCA9IDA7CiAg ICAgIGNoYXIgKipwYXJndjsKLUBAIC0zNDIsOCArMzQyLDggQEAgaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKK0BAIC0zMTUsOCArMzE1LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKmFyZ3ZbXSkKICAgICAgICAgICAgICAgICAgICAgIHBhcmd2WzFdKTsKICAgICAgICAgICAg ICBleGl0KEVYX1VTQUdFKTsKICAgICAgICAgIH0KQEAgLTEwMSw3ICsxMDEsNyBAQCBpbmRleCBh YzA2MzMwLi43NGY2M2Y4IDEwMDY0NAogICAgICB9CiAgI2lmZGVmIFdJVEhfUkVBRExJTkUKICAj aWZkZWYgSEFWRV9SRUFETElORV9ISVNUT1JZX0gKLUBAIC0zOTgsNyArMzk4LDcgQEAgc3RhdGlj IHZvaWQgZ2V0bW9yZWFyZ3MoY29uc3QgY2hhciAqcGFydGlhbCwgY29uc3QgY2hhciAqbXByb21w dCkKK0BAIC0zNzEsNyArMzcxLDcgQEAgc3RhdGljIHZvaWQgZ2V0bW9yZWFyZ3MoY29uc3QgY2hh ciAqcGFydGlhbCwgY29uc3QgY2hhciAqbXByb21wdCkKICAjZW5kaWYKICB9CiAgCkBAIC0xMTAs NyArMTEwLDcgQEAgaW5kZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICB7CiAgICAgIGludCBl cnI7CiAgCi1AQCAtNDEwLDcgKzQxMCw3IEBAIHZvaWQgc2V0cGVlcihpbnQgYXJnYywgY2hhciAq YXJndltdKQorQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIHNldHBlZXIoaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKICAgICAgfQogICAgICBpZiAoKGFyZ2MgPCAyKSB8fCAoYXJnYyA+IDMpKSB7CiAg ICAgICAgICBwcmludGYoInVzYWdlOiAlcyBob3N0LW5hbWUgW3BvcnRdXG4iLCBhcmd2WzBdKTsK QEAgLTExOSw3ICsxMTksNyBAQCBpbmRleCBhYzA2MzMwLi43NGY2M2Y4IDEwMDY0NAogICAgICB9 CiAgCiAgICAgIHBlZXJhZGRyLnNhLnNhX2ZhbWlseSA9IGFpX2ZhbTsKLUBAIC00MTksNyArNDE5 LDcgQEAgdm9pZCBzZXRwZWVyKGludCBhcmdjLCBjaGFyICphcmd2W10pCitAQCAtMzkyLDcgKzM5 Miw3IEBAIHZvaWQgc2V0cGVlcihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgcHJp bnRmKCJFcnJvcjogJXNcbiIsIGdhaV9zdHJlcnJvcihlcnIpKTsKICAgICAgICAgIHByaW50Zigi JXM6IHVua25vd24gaG9zdFxuIiwgYXJndlsxXSk7CiAgICAgICAgICBjb25uZWN0ZWQgPSAwOwpA QCAtMTI4LDcgKzEyOCw3IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYzZjggMTAwNjQ0CiAgICAgIH0K ICAgICAgYWlfZmFtID0gcGVlcmFkZHIuc2Euc2FfZmFtaWx5OwogICAgICBpZiAoZiA9PSAtMSkg eyAvKiBzb2NrZXQgbm90IG9wZW4gKi8KLUBAIC00NTYsNyArNDU2LDcgQEAgdm9pZCBzZXRwZWVy KGludCBhcmdjLCBjaGFyICphcmd2W10pCitAQCAtNDI5LDcgKzQyOSw3IEBAIHZvaWQgc2V0cGVl cihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgICAgIGlmICgqZXAgfHwgbXlwb3J0 ID4gNjU1MzVVTCkgewogICAgICAgICAgICAgICAgICBwcmludGYoIiVzOiBiYWQgcG9ydCBudW1i ZXJcbiIsIGFyZ3ZbMl0pOwogICAgICAgICAgICAgICAgICBjb25uZWN0ZWQgPSAwOwpAQCAtMTM3 LDcgKzEzNyw3IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYzZjggMTAwNjQ0CiAgICAgICAgICAgICAg fQogICAgICAgICAgICAgIHBvcnQgPSBodG9ucygodV9zaG9ydCkgbXlwb3J0KTsKICAgICAgICAg IH0KLUBAIC00NzIsMTYgKzQ3MiwxNyBAQCB2b2lkIHNldHBlZXIoaW50IGFyZ2MsIGNoYXIgKmFy Z3ZbXSkKK0BAIC00NDUsMTYgKzQ0NSwxNyBAQCB2b2lkIHNldHBlZXIoaW50IGFyZ2MsIGNoYXIg KmFyZ3ZbXSkKICAgICAgICAgICAgICAgICBob3N0bmFtZSwgdHAsICh1bnNpZ25lZCBpbnQpbnRv aHMocG9ydCkpOwogICAgICB9CiAgICAgIGNvbm5lY3RlZCA9IDE7CkBAIC0xNTcsNyArMTU3LDcg QEAgaW5kZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICAgICAgfQogICAgICBpZiAoYXJnYyA9 PSAyKSB7CiAgICAgICAgICBmb3IgKHAgPSBtb2RlczsgcC0+bV9uYW1lOyBwKyspCi1AQCAtNDg5 LDcgKzQ5MCw3IEBAIHZvaWQgbW9kZWNtZChpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTQ2 Miw3ICs0NjMsNyBAQCB2b2lkIG1vZGVjbWQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAg ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBpZiAocC0+bV9uYW1lKSB7CiAgICAgICAgICAg ICAgc2V0dGZ0cG1vZGUocCk7CkBAIC0xNjYsNyArMTY2LDcgQEAgaW5kZXggYWMwNjMzMC4uNzRm NjNmOCAxMDA2NDQKICAgICAgICAgIH0KICAgICAgICAgIHByaW50ZigiJXM6IHVua25vd24gbW9k ZVxuIiwgYXJndlsxXSk7CiAgICAgICAgICAvKiBkcm9wIHRocm91Z2ggYW5kIHByaW50IHVzYWdl IG1lc3NhZ2UgKi8KLUBAIC01MDMsMjEgKzUwNCwyMyBAQCB2b2lkIG1vZGVjbWQoaW50IGFyZ2Ms IGNoYXIgKmFyZ3ZbXSkKK0BAIC00NzYsMjEgKzQ3NywyMyBAQCB2b2lkIG1vZGVjbWQoaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgICAgICBzZXAgPSAiIHwgIjsKICAgICAgfQogICAg ICBwcmludGYoIiBdXG4iKTsKQEAgLTE5Myw3ICsxOTMsNyBAQCBpbmRleCBhYzA2MzMwLi43NGY2 M2Y4IDEwMDY0NAogIH0KICAKICBzdGF0aWMgdm9pZCBzZXR0ZnRwbW9kZShjb25zdCBzdHJ1Y3Qg bW9kZXMgKm5ld21vZGUpCi1AQCAtNTMwLDcgKzUzMyw3IEBAIHN0YXRpYyB2b2lkIHNldHRmdHBt b2RlKGNvbnN0IHN0cnVjdCBtb2RlcyAqbmV3bW9kZSkKK0BAIC01MDMsNyArNTA2LDcgQEAgc3Rh dGljIHZvaWQgc2V0dGZ0cG1vZGUoY29uc3Qgc3RydWN0IG1vZGVzICpuZXdtb2RlKQogIC8qCiAg ICogU2VuZCBmaWxlKHMpLgogICAqLwpAQCAtMjAyLDcgKzIwMiw3IEBAIGluZGV4IGFjMDYzMzAu Ljc0ZjYzZjggMTAwNjQ0CiAgewogICAgICBpbnQgZmQ7CiAgICAgIGludCBuLCBlcnI7Ci1AQCAt NTQ0LDE0ICs1NDcsMTQgQEAgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC01 MTcsMTQgKzUyMCwxNCBAQCB2b2lkIHB1dChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB9 CiAgICAgIGlmIChhcmdjIDwgMikgewogICAgICAgICAgcHV0dXNhZ2UoYXJndlswXSk7CkBAIC0y MTksNyArMjE5LDcgQEAgaW5kZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICAgICAgICAgICAg ICB9CiAgICAgICAgICBjcCA9IGFyZ3ZbYXJnYyAtIDFdOwogICAgICAgICAgdGFyZyA9IHN0cmNo cihjcCwgJzonKTsKLUBAIC01NjIsMTQgKzU2NSwxNCBAQCB2b2lkIHB1dChpbnQgYXJnYywgY2hh ciAqYXJndltdKQorQEAgLTUzNSwxNCArNTM4LDE0IEBAIHZvaWQgcHV0KGludCBhcmdjLCBjaGFy ICphcmd2W10pCiAgICAgICAgICAgICAgcHJpbnRmKCJFcnJvcjogJXNcbiIsIGdhaV9zdHJlcnJv cihlcnIpKTsKICAgICAgICAgICAgICBwcmludGYoIiVzOiB1bmtub3duIGhvc3RcbiIsIGFyZ3Zb MV0pOwogICAgICAgICAgICAgIGNvbm5lY3RlZCA9IDA7CkBAIC0yMzYsNyArMjM2LDcgQEAgaW5k ZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICAgICAgfQogICAgICBpZiAoYXJnYyA8IDQpIHsK ICAgICAgICAgIGNwID0gYXJnYyA9PSAyID8gdGFpbCh0YXJnKSA6IGFyZ3ZbMV07Ci1AQCAtNTg3 LDE0ICs1OTAsMTQgQEAgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC01NTAs MTcgKzU1MywxOCBAQCB2b2lkIHB1dChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAg aWYgKGZkIDwgMCkgewogICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAidGZ0cDogIik7CiAg ICAgICAgICAgICAgcGVycm9yKGNwKTsKQEAgLTI1NCwzNCArMjU0LDMyIEBAIGluZGV4IGFjMDYz MzAuLjc0ZjYzZjggMTAwNjQ0CiAgICAgIH0KICAgICAgLyogdGhpcyBhc3N1bWVzIHRoZSB0YXJn ZXQgaXMgYSBkaXJlY3RvcnkgKi8KICAgICAgLyogb24gYSByZW1vdGUgdW5peCBzeXN0ZW0uICBo bW1tbS4gICovCi1AQCAtNjA1LDYgKzYwOCw3IEBAIHZvaWQgcHV0KGludCBhcmdjLCBjaGFyICph cmd2W10pCi0gICAgIHN0cmNweShyZW1vdGVfcHRoLCB0YXJnKTsKLSAgICAgcmVtb3RlX3B0aFtk aXJsZW4tMV0gPSAnLyc7Ci0gICAgIGNwID0gcmVtb3RlX3B0aCArIGRpcmxlbjsKICsgICAgZXJy ID0gMDsKICAgICAgZm9yIChuID0gMTsgbiA8IGFyZ2MgLSAxOyBuKyspIHsKLSAjaWZkZWYgV0lU SF9SRUFETElORQotICAgICAgICAgbmFtZWxlbiA9IHN0cmxlbih0YWlsKGFyZ3Zbbl0pKSArIDE7 Ci1AQCAtNjE5LDE0ICs2MjMsMTcgQEAgdm9pZCBwdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK KyAgICAgICAgIGNvbnN0IGNoYXIgKmJhc2UgPSB0YWlsKGFyZ3Zbbl0pOworICAgICAgICAgY2hh ciAqcmVtb3RlcGF0aCA9IHhtYWxsb2Moc3RybGVuKHRhcmcpICsgMSArIHN0cmxlbihiYXNlKSAr IDEpOworQEAgLTU3MCw2ICs1NzQsNyBAQCB2b2lkIHB1dChpbnQgYXJnYywgY2hhciAqYXJndltd KQogICAgICAgICAgaWYgKGZkIDwgMCkgewogICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi dGZ0cDogIik7CiAgICAgICAgICAgICAgcGVycm9yKGFyZ3Zbbl0pOwogKyAgICAgICAgICAgIGVy ciA9IEVYX09TRVJSOworICAgICAgICAgICAgIGZyZWUocmVtb3RlcGF0aCk7CiAgICAgICAgICAg ICAgY29udGludWU7CiAgICAgICAgICB9Ci0gICAgICAgICBpZiAodmVyYm9zZSkKK0BAIC01Nzcs OSArNTgyLDExIEBAIHZvaWQgcHV0KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgICAgICAg ICAgcHJpbnRmKCJwdXR0aW5nICVzIHRvICVzOiVzIFslc11cbiIsCi0gICAgICAgICAgICAgICAg ICAgIGFyZ3Zbbl0sIGhvc3RuYW1lLCByZW1vdGVfcHRoLCBtb2RlLT5tX21vZGUpOworICAgICAg ICAgICAgICAgICAgICBhcmd2W25dLCBob3N0bmFtZSwgcmVtb3RlcGF0aCwgbW9kZS0+bV9tb2Rl KTsKICAgICAgICAgIHNhX3NldF9wb3J0KCZwZWVyYWRkciwgcG9ydCk7Ci0tICAgICAgICB0ZnRw X3NlbmRmaWxlKGZkLCByZW1vdGVfcHRoLCBtb2RlLT5tX21vZGUpOwotKyAgICAgICAgZXJyIHw9 IHRmdHBfc2VuZGZpbGUoZmQsIHJlbW90ZV9wdGgsIG1vZGUtPm1fbW9kZSk7CistICAgICAgICB0 ZnRwX3NlbmRmaWxlKGZkLCByZW1vdGVwYXRoLCBtb2RlLT5tX21vZGUpOworKyAgICAgICAgZXJy IHw9IHRmdHBfc2VuZGZpbGUoZmQsIHJlbW90ZXBhdGgsIG1vZGUtPm1fbW9kZSk7CisgICAgICAg ICBmcmVlKHJlbW90ZXBhdGgpOwogICAgICB9CiArCiArICAgIHJldHVybiBlcnI7CiAgfQogIAog IHN0YXRpYyB2b2lkIHB1dHVzYWdlKGNoYXIgKnMpCi1AQCAtNjE1LDEwICs2MjIsMTAgQEAgc3Rh dGljIHZvaWQgcHV0dXNhZ2UoY2hhciAqcykKK0BAIC01OTEsMTAgKzU5OCwxMCBAQCBzdGF0aWMg dm9pZCBwdXR1c2FnZShjaGFyICpzKQogIC8qCiAgICogUmVjZWl2ZSBmaWxlKHMpLgogICAqLwpA QCAtMjk0LDcgKzI5Miw3IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYzZjggMTAwNjQ0CiAgICAgIGNo YXIgKmNwOwogICAgICBjaGFyICpzcmM7CiAgCi1AQCAtNjMwLDI4ICs2MzcsMjggQEAgdm9pZCBn ZXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC02MDYsMjggKzYxMywyOCBAQCB2b2lkIGdl dChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICB9CiAgICAgIGlmIChhcmdjIDwgMikgewog ICAgICAgICAgZ2V0dXNhZ2UoYXJndlswXSk7CkBAIC0zMjcsNyArMzI1LDcgQEAgaW5kZXggYWMw NjMzMC4uNzRmNjNmOCAxMDA2NDQKICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgIGFpX2ZhbSA9IHBlZXJhZGRyLnNhLnNhX2ZhbWlseTsKLUBA IC02NjQsMTMgKzY3MSwxMyBAQCB2b2lkIGdldChpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAg LTY0MCwxMyArNjQ3LDEzIEBAIHZvaWQgZ2V0KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAg ICAgICAgICAgaWYgKGZkIDwgMCkgewogICAgICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwg InRmdHA6ICIpOwogICAgICAgICAgICAgICAgICBwZXJyb3IoY3ApOwpAQCAtMzQzLDcgKzM0MSw3 IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYzZjggMTAwNjQ0CiAgICAgICAgICAgICAgYnJlYWs7CiAg ICAgICAgICB9CiAgICAgICAgICBjcCA9IHRhaWwoc3JjKTsgICAgICAgICAvKiBuZXcgLi4gamRn ICovCi1AQCAtNjc5LDE0ICs2ODYsMTYgQEAgdm9pZCBnZXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb XSkKK0BAIC02NTUsMTQgKzY2MiwxNiBAQCB2b2lkIGdldChpbnQgYXJnYywgY2hhciAqYXJndltd KQogICAgICAgICAgaWYgKGZkIDwgMCkgewogICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAi dGZ0cDogIik7CiAgICAgICAgICAgICAgcGVycm9yKGNwKTsKQEAgLTM2MSw3ICszNTksNyBAQCBp bmRleCBhYzA2MzMwLi43NGY2M2Y4IDEwMDY0NAogIH0KICAKICBzdGF0aWMgdm9pZCBnZXR1c2Fn ZShjaGFyICpzKQotQEAgLTY5Nyw3ICs3MDYsNyBAQCBzdGF0aWMgdm9pZCBnZXR1c2FnZShjaGFy ICpzKQorQEAgLTY3Myw3ICs2ODIsNyBAQCBzdGF0aWMgdm9pZCBnZXR1c2FnZShjaGFyICpzKQog IAogIGludCByZXhtdHZhbCA9IFRJTUVPVVQ7CiAgCkBAIC0zNzAsNyArMzY4LDcgQEAgaW5kZXgg YWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICB7CiAgICAgIGludCB0OwogIAotQEAgLTcwOSwxOCAr NzE4LDE5IEBAIHZvaWQgc2V0cmV4bXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC02ODUs MTggKzY5NCwxOSBAQCB2b2lkIHNldHJleG10KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAg IH0KICAgICAgaWYgKGFyZ2MgIT0gMikgewogICAgICAgICAgcHJpbnRmKCJ1c2FnZTogJXMgdmFs dWVcbiIsIGFyZ3ZbMF0pOwpAQCAtMzkyLDcgKzM5MCw3IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYz ZjggMTAwNjQ0CiAgewogICAgICBpbnQgdDsKICAKLUBAIC03MzIsMjQgKzc0MiwyNiBAQCB2b2lk IHNldHRpbWVvdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC03MDgsMjQgKzcxOCwyNiBA QCB2b2lkIHNldHRpbWVvdXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgfQogICAgICBp ZiAoYXJnYyAhPSAyKSB7CiAgICAgICAgICBwcmludGYoInVzYWdlOiAlcyB2YWx1ZVxuIiwgYXJn dlswXSk7CkBAIC00MjIsNyArNDIwLDcgQEAgaW5kZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQK ICB7CiAgICAgICh2b2lkKWFyZ2M7CiAgICAgICh2b2lkKWFyZ3Y7ICAgICAgICAgICAgICAgICAv KiBRdWlldCB1bnVzZWQgd2FybmluZyAqLwotQEAgLTc2Miw2ICs3NzQsNyBAQCB2b2lkIHN0YXR1 cyhpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTczOCw2ICs3NTAsNyBAQCB2b2lkIHN0YXR1 cyhpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgICAgbGl0ZXJhbCA/ICJvbiIgOiAi b2ZmIik7CiAgICAgIHByaW50ZigiUmV4bXQtaW50ZXJ2YWw6ICVkIHNlY29uZHMsIE1heC10aW1l b3V0OiAlZCBzZWNvbmRzXG4iLAogICAgICAgICAgICAgcmV4bXR2YWwsIG1heHRpbWVvdXQpOwpA QCAtNDMwLDcgKzQyOCw3IEBAIGluZGV4IGFjMDYzMzAuLjc0ZjYzZjggMTAwNjQ0CiAgfQogIAog IHZvaWQgaW50cihpbnQgc2lnKQotQEAgLTg5MSw3ICs5MDQsNyBAQCBzdGF0aWMgdm9pZCBtYWtl YXJndih2b2lkKQorQEAgLTg3Miw3ICs4ODUsNyBAQCBzdGF0aWMgdm9pZCBtYWtlYXJndih2b2lk KQogICAgICAqYXJncCsrID0gMDsKICB9CiAgCkBAIC00MzksNyArNDM3LDcgQEAgaW5kZXggYWMw NjMzMC4uNzRmNjNmOCAxMDA2NDQKICB7CiAgICAgICh2b2lkKWFyZ2M7CiAgICAgICh2b2lkKWFy Z3Y7ICAgICAgICAgICAgICAgICAvKiBRdWlldCB1bnVzZWQgd2FybmluZyAqLwotQEAgLTkwMSw3 ICs5MTQsNyBAQCB2b2lkIHF1aXQoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK0BAIC04ODIsNyAr ODk1LDcgQEAgdm9pZCBxdWl0KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgLyoKICAgKiBIZWxw IGNvbW1hbmQuCiAgICovCkBAIC00NDgsNyArNDQ2LDcgQEAgaW5kZXggYWMwNjMzMC4uNzRmNjNm OCAxMDA2NDQKICB7CiAgICAgIHN0cnVjdCBjbWQgKmM7CiAgCi1AQCAtOTExLDcgKzkyNCw3IEBA IHZvaWQgaGVscChpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTg5Miw3ICs5MDUsNyBAQCB2 b2lkIGhlbHAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgIHByaW50ZigiQ29tbWFu ZHMgbWF5IGJlIGFiYnJldmlhdGVkLiAgQ29tbWFuZHMgYXJlOlxuXG4iKTsKICAgICAgICAgIGZv ciAoYyA9IGNtZHRhYjsgYy0+bmFtZTsgYysrKQogICAgICAgICAgICAgIHByaW50ZigiJS0qc1x0 JXNcbiIsIChpbnQpSEVMUElOREVOVCwgYy0+bmFtZSwgYy0+aGVscCk7CkBAIC00NTcsNyArNDU1 LDcgQEAgaW5kZXggYWMwNjMzMC4uNzRmNjNmOCAxMDA2NDQKICAgICAgfQogICAgICB3aGlsZSAo LS1hcmdjID4gMCkgewogICAgICAgICAgY2hhciAqYXJnOwotQEAgLTkyNCwyMiArOTM3LDI1IEBA IHZvaWQgaGVscChpbnQgYXJnYywgY2hhciAqYXJndltdKQorQEAgLTkwNSwyMiArOTE4LDI1IEBA IHZvaWQgaGVscChpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICAgZWxzZQogICAgICAg ICAgICAgIHByaW50ZigiJXNcbiIsIGMtPmhlbHApOwogICAgICB9CkBAIC00ODYsMTAgKzQ4NCwx MCBAQCBpbmRleCBhYzA2MzMwLi43NGY2M2Y4IDEwMDY0NAogKyAgICByZXR1cm4gMDsKICB9CiBk aWZmIC0tZ2l0IGEvdGZ0cC90ZnRwLmMgYi90ZnRwL3RmdHAuYwotaW5kZXggMzNhNDE3NS4uMTll NjBkYyAxMDA2NDQKK2luZGV4IGUxNjE1MjcuLjhlNWJiNjUgMTAwNjQ0CiAtLS0gYS90ZnRwL3Rm dHAuYwogKysrIGIvdGZ0cC90ZnRwLmMKLUBAIC02MSwxMSArNjEsMTEgQEAgc3RhdGljIHZvaWQg dHBhY2tldChjb25zdCBjaGFyICosIHN0cnVjdCB0ZnRwaGRyICosIGludCk7CitAQCAtNDUsMTEg KzQ1LDExIEBAIHN0YXRpYyB2b2lkIHRwYWNrZXQoY29uc3QgY2hhciAqLCBzdHJ1Y3QgdGZ0cGhk ciAqLCBpbnQpOwogIC8qCiAgICogU2VuZCB0aGUgcmVxdWVzdGVkIGZpbGUuCiAgICovCkBAIC01 MDMsMTUgKzUwMSwxNSBAQCBpbmRleCAzM2E0MTc1Li4xOWU2MGRjIDEwMDY0NAogICAgICB2b2xh dGlsZSBpbnQgaXNfcmVxdWVzdDsKICAgICAgdm9sYXRpbGUgdV9zaG9ydCBibG9jazsKICAgICAg dm9sYXRpbGUgaW50IHNpemUsIGNvbnZlcnQ7Ci1AQCAtODMsNiArODMsNyBAQCB2b2lkIHRmdHBf c2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlKQorQEAg LTY3LDYgKzY3LDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFt ZSwgY29uc3QgY2hhciAqbW9kZSkKICAgICAgYmxvY2sgPSAwOwogICAgICBpc19yZXF1ZXN0ID0g MTsgICAgICAgICAgICAgLyogRmlyc3QgcGFja2V0IGlzIHRoZSBhY3R1YWwgV1JRICovCiAgICAg IGFtb3VudCA9IDA7CiArICAgIGVyciA9IDA7CiAgCi0gICAgIHRmdHBfc2lnbmFsKFNJR0FMUk0s IHRpbWVyKTsKKyAgICAgdGZ0cF9zaWduYWwoU0lHQUxSTSwgdGltZXIsIDApOwogICAgICBkbyB7 Ci1AQCAtOTMsNiArOTQsNyBAQCB2b2lkIHRmdHBfc2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFy ICpuYW1lLCBjb25zdCBjaGFyICptb2RlKQorQEAgLTgxLDYgKzgyLDcgQEAgdm9pZCB0ZnRwX3Nl bmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSkKICAgICAg ICAgICAgICBzaXplID0gcmVhZGl0KGZpbGUsICZkcCwgY29udmVydCk7CiAgICAgICAgICAgICAg aWYgKHNpemUgPCAwKSB7CiAgICAgICAgICAgICAgICAgIG5hayhlcnJubyArIDEwMCwgTlVMTCk7 CkBAIC01MTksNyArNTE3LDcgQEAgaW5kZXggMzNhNDE3NS4uMTllNjBkYyAxMDA2NDQKICAgICAg ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGRwLT50aF9v cGNvZGUgPSBodG9ucygodV9zaG9ydCkgREFUQSk7Ci1AQCAtMTA3LDYgKzEwOSw3IEBAIHZvaWQg dGZ0cF9zZW5kZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUp CitAQCAtOTUsNiArOTcsNyBAQCB2b2lkIHRmdHBfc2VuZGZpbGUoaW50IGZkLCBjb25zdCBjaGFy ICpuYW1lLCBjb25zdCBjaGFyICptb2RlKQogICAgICAgICAgICAgICAgICAgICAmcGVlcmFkZHIu c2EsIFNPQ0tMRU4oJnBlZXJhZGRyKSk7CiAgICAgICAgICBpZiAobiAhPSBzaXplICsgNCkgewog ICAgICAgICAgICAgIHBlcnJvcigidGZ0cDogc2VuZHRvIik7CkBAIC01MjcsNyArNTI1LDcgQEAg aW5kZXggMzNhNDE3NS4uMTllNjBkYyAxMDA2NDQKICAgICAgICAgICAgICBnb3RvIGFib3J0Owog ICAgICAgICAgfQogICAgICAgICAgcmVhZF9haGVhZChmaWxlLCBjb252ZXJ0KTsKLUBAIC0xMjAs NiArMTIzLDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwg Y29uc3QgY2hhciAqbW9kZSkKK0BAIC0xMDgsNiArMTExLDcgQEAgdm9pZCB0ZnRwX3NlbmRmaWxl KGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSkKICAgICAgICAgICAg ICBhbGFybSgwKTsKICAgICAgICAgICAgICBpZiAobiA8IDApIHsKICAgICAgICAgICAgICAgICAg cGVycm9yKCJ0ZnRwOiByZWN2ZnJvbSIpOwpAQCAtNTM1LDcgKzUzMyw3IEBAIGluZGV4IDMzYTQx NzUuLjE5ZTYwZGMgMTAwNjQ0CiAgICAgICAgICAgICAgICAgIGdvdG8gYWJvcnQ7CiAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgIHNhX3NldF9wb3J0KCZwZWVyYWRkciwgU09DS1BPUlQoJmZy b20pKTsgIC8qIGFkZGVkICovCi1AQCAtMTMwLDYgKzEzNCw3IEBAIHZvaWQgdGZ0cF9zZW5kZmls ZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUpCitAQCAtMTE4LDYg KzEyMiw3IEBAIHZvaWQgdGZ0cF9zZW5kZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNv bnN0IGNoYXIgKm1vZGUpCiAgICAgICAgICAgICAgYXBfYmxvY2sgPSBudG9ocygodV9zaG9ydCkg YXAtPnRoX2Jsb2NrKTsKICAgICAgICAgICAgICBpZiAoYXBfb3Bjb2RlID09IEVSUk9SKSB7CiAg ICAgICAgICAgICAgICAgIHByaW50ZigiRXJyb3IgY29kZSAlZDogJXNcbiIsIGFwX2Jsb2NrLCBh cC0+dGhfbXNnKTsKQEAgLTU0Myw3ICs1NDEsNyBAQCBpbmRleCAzM2E0MTc1Li4xOWU2MGRjIDEw MDY0NAogICAgICAgICAgICAgICAgICBnb3RvIGFib3J0OwogICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICBpZiAoYXBfb3Bjb2RlID09IEFDSykgewotQEAgLTE2MiwxNiArMTY3LDE4IEBAIHZv aWQgdGZ0cF9zZW5kZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1v ZGUpCitAQCAtMTUwLDE2ICsxNTUsMTggQEAgdm9pZCB0ZnRwX3NlbmRmaWxlKGludCBmZCwgY29u c3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSkKICAgICAgc3RvcGNsb2NrKCk7CiAgICAg IGlmIChhbW91bnQgPiAwKQogICAgICAgICAgcHJpbnRzdGF0cygiU2VudCIsIGFtb3VudCk7CkBA IC01NjQsMTUgKzU2MiwxNSBAQCBpbmRleCAzM2E0MTc1Li4xOWU2MGRjIDEwMDY0NAogICAgICB2 b2xhdGlsZSB1X3Nob3J0IGJsb2NrOwogICAgICB2b2xhdGlsZSBpbnQgc2l6ZSwgZmlyc3R0cmlw OwogICAgICB2b2xhdGlsZSB1bnNpZ25lZCBsb25nIGFtb3VudDsKLUBAIC0xODksNiArMTk2LDcg QEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hh ciAqbW9kZSkKK0BAIC0xNzcsNiArMTg0LDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwg Y29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSkKICAgICAgYmxvY2sgPSAxOwogICAg ICBmaXJzdHRyaXAgPSAxOwogICAgICBhbW91bnQgPSAwOwogKyAgICBlcnIgPSAwOwogIAotICAg ICB0ZnRwX3NpZ25hbChTSUdBTFJNLCB0aW1lcik7CisgICAgIHRmdHBfc2lnbmFsKFNJR0FMUk0s IHRpbWVyLCAwKTsKICAgICAgZG8gewotQEAgLTIxMCw2ICsyMTgsNyBAQCB2b2lkIHRmdHBfcmVj dmZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICptb2RlKQorQEAgLTIw Miw2ICsyMTAsNyBAQCB2b2lkIHRmdHBfcmVjdmZpbGUoaW50IGZkLCBjb25zdCBjaGFyICpuYW1l LCBjb25zdCBjaGFyICptb2RlKQogICAgICAgICAgICAgICAgICAgICBTT0NLTEVOKCZwZWVyYWRk cikpICE9IHNpemUpIHsKICAgICAgICAgICAgICBhbGFybSgwKTsKICAgICAgICAgICAgICBwZXJy b3IoInRmdHA6IHNlbmR0byIpOwpAQCAtNTgwLDcgKzU3OCw3IEBAIGluZGV4IDMzYTQxNzUuLjE5 ZTYwZGMgMTAwNjQ0CiAgICAgICAgICAgICAgZ290byBhYm9ydDsKICAgICAgICAgIH0KICAgICAg ICAgIHdyaXRlX2JlaGluZChmaWxlLCBjb252ZXJ0KTsKLUBAIC0yMjMsNiArMjMyLDcgQEAgdm9p ZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9k ZSkKK0BAIC0yMTUsNiArMjI0LDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3Qg Y2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSkKICAgICAgICAgICAgICBhbGFybSgwKTsKICAg ICAgICAgICAgICBpZiAobiA8IDApIHsKICAgICAgICAgICAgICAgICAgcGVycm9yKCJ0ZnRwOiBy ZWN2ZnJvbSIpOwpAQCAtNTg4LDcgKzU4Niw3IEBAIGluZGV4IDMzYTQxNzUuLjE5ZTYwZGMgMTAw NjQ0CiAgICAgICAgICAgICAgICAgIGdvdG8gYWJvcnQ7CiAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgIHNhX3NldF9wb3J0KCZwZWVyYWRkciwgU09DS1BPUlQoJmZyb20pKTsgIC8qIGFkZGVk ICovCi1AQCAtMjMzLDYgKzI0Myw3IEBAIHZvaWQgdGZ0cF9yZWN2ZmlsZShpbnQgZmQsIGNvbnN0 IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUpCitAQCAtMjI1LDYgKzIzNSw3IEBAIHZvaWQg dGZ0cF9yZWN2ZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUp CiAgICAgICAgICAgICAgZHBfYmxvY2sgPSBudG9ocygodV9zaG9ydCkgZHAtPnRoX2Jsb2NrKTsK ICAgICAgICAgICAgICBpZiAoZHBfb3Bjb2RlID09IEVSUk9SKSB7CiAgICAgICAgICAgICAgICAg IHByaW50ZigiRXJyb3IgY29kZSAlZDogJXNcbiIsIGRwX2Jsb2NrLCBkcC0+dGhfbXNnKTsKQEAg LTU5Niw3ICs1OTQsNyBAQCBpbmRleCAzM2E0MTc1Li4xOWU2MGRjIDEwMDY0NAogICAgICAgICAg ICAgICAgICBnb3RvIGFib3J0OwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZiAoZHBf b3Bjb2RlID09IERBVEEpIHsKLUBAIC0yNTcsNiArMjY4LDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxl KGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqbW9kZSkKK0BAIC0yNDksNiAr MjYwLDcgQEAgdm9pZCB0ZnRwX3JlY3ZmaWxlKGludCBmZCwgY29uc3QgY2hhciAqbmFtZSwgY29u c3QgY2hhciAqbW9kZSkKICAgICAgICAgIHNpemUgPSB3cml0ZWl0KGZpbGUsICZkcCwgbiAtIDQs IGNvbnZlcnQpOwogICAgICAgICAgaWYgKHNpemUgPCAwKSB7CiAgICAgICAgICAgICAgbmFrKGVy cm5vICsgMTAwLCBOVUxMKTsKQEAgLTYwNCw3ICs2MDIsNyBAQCBpbmRleCAzM2E0MTc1Li4xOWU2 MGRjIDEwMDY0NAogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgfQogICAgICAgICAgYW1v dW50ICs9IHNpemU7Ci1AQCAtMjcxLDYgKzI4Myw4IEBAIHZvaWQgdGZ0cF9yZWN2ZmlsZShpbnQg ZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKm1vZGUpCitAQCAtMjYzLDYgKzI3NSw4 IEBAIHZvaWQgdGZ0cF9yZWN2ZmlsZShpbnQgZmQsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNo YXIgKm1vZGUpCiAgICAgIHN0b3BjbG9jaygpOwogICAgICBpZiAoYW1vdW50ID4gMCkKICAgICAg ICAgIHByaW50c3RhdHMoIlJlY2VpdmVkIiwgYW1vdW50KTsKQEAgLTYxNCw1ICs2MTIsNSBAQCBp bmRleCAzM2E0MTc1Li4xOWU2MGRjIDEwMDY0NAogIAogIHN0YXRpYyBpbnQKIC0tIAotMi41Mi4w CisyLjU1LjAKIAoKZGlmZiAtLWdpdCBhL3RmdHAtb2ZmLWJ5LW9uZS5wYXRjaCBiL3RmdHAtb2Zm LWJ5LW9uZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOThiMDg3NC4uMDAw MDAwMAotLS0gYS90ZnRwLW9mZi1ieS1vbmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NCAr MCwwIEBACi1SZXNvbHZlczogIzE0ODU5NDMKLQotLS0tIGEvdGZ0cGQvdGZ0cGQuYyAgICAgICAy MDE3LTA4LTI4IDA5OjEyOjExLjY4MTI5OTAwMCArMDIwMAotKysrIGIvdGZ0cGQvdGZ0cGQuYyAg ICAgICAyMDE3LTA4LTI4IDEzOjMwOjAzLjEwOTMxMjAwMCArMDIwMAotQEAgLTEzODgsMjQgKzEz ODgsMjUgQEAKLSAgICAgICAgICAgICByZXR1cm4gc3RybGVuKHApOwotIAotICAgICBjYXNlICd4 JzoKLS0gICAgICAgIGlmIChvdXRwdXQpIHsKLS0gICAgICAgICAgICBpZiAoZnJvbS5zYS5zYV9m YW1pbHkgPT0gQUZfSU5FVCkgewotKyAgICAgICAgaWYgKGZyb20uc2Euc2FfZmFtaWx5ID09IEFG X0lORVQpIHsKLSsgICAgICAgICAgICBpZiAob3V0cHV0KSB7Ci0gICAgICAgICAgICAgICAgIHNw cmludGYob3V0cHV0LCAiJTA4bFgiLAotICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxv bmcpbnRvaGwoZnJvbS5zaS5zaW5fYWRkci5zX2FkZHIpKTsKLS0gICAgICAgICAgICAgICAgbCA9 IDg7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGwgPSA4OwotICNpZmRlZiBIQVZFX0lQ VjYKLS0gICAgICAgICAgICB9IGVsc2UgewotLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy ICpjID0gKHVuc2lnbmVkIGNoYXIgKilTT0NLQUREUl9QKCZmcm9tKTsKLS0gICAgICAgICAgICAg ICAgcCA9IHRiOwotLSAgICAgICAgICAgICAgICBmb3IgKGwgPSAwOyBsIDwgMTY7IGwrKykgewot LSAgICAgICAgICAgICAgICAgICAgc3ByaW50ZihwLCAiJTAyWCIsICpjKTsKLS0gICAgICAgICAg ICAgICAgICAgIGMrKzsKLS0gICAgICAgICAgICAgICAgICAgIHAgKz0gMjsKLS0gICAgICAgICAg ICAgICAgfQotKyAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpj ID0gKHVuc2lnbmVkIGNoYXIgKilTT0NLQUREUl9QKCZmcm9tKTsKLSsgICAgICAgICAgICBwID0g dGI7Ci0rICAgICAgICAgICAgZm9yIChsID0gMDsgbCA8IDE2OyBsKyspIHsKLSsgICAgICAgICAg ICAgICAgc3ByaW50ZihwLCAiJTAyWCIsICpjKTsKLSsgICAgICAgICAgICAgICAgYysrOwotKyAg ICAgICAgICAgICAgICBwICs9IDI7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIGlmIChv dXRwdXQpCi0gICAgICAgICAgICAgICAgIHN0cmNweShvdXRwdXQsIHRiKTsKLS0gICAgICAgICAg ICAgICAgbCA9IHN0cmxlbih0Yik7Ci0rICAgICAgICAgICAgbCA9IHN0cmxlbih0Yik7Ci0gI2Vu ZGlmCi0tICAgICAgICAgICAgfQotICAgICAgICAgfQotICAgICAgICAgcmV0dXJuIGw7Ci0gCi0K CmRpZmYgLS1naXQgYS90ZnRwLnNwZWMgYi90ZnRwLnNwZWMKaW5kZXggMjg3YjE3ZC4uNzkzOTgw ZSAxMDA2NDQKLS0tIGEvdGZ0cC5zcGVjCisrKyBiL3RmdHAuc3BlYwpAQCAtMiwyMSArMiwyMCBA QAogCiBTdW1tYXJ5OiBUaGUgY2xpZW50IGZvciB0aGUgVHJpdmlhbCBGaWxlIFRyYW5zZmVyIFBy b3RvY29sIChURlRQKQogTmFtZTogdGZ0cAotVmVyc2lvbjogNS4zCi1SZWxlYXNlOiA0JXs/ZGlz dH0KK1ZlcnNpb246IDUuNAorUmVsZWFzZTogMSV7P2Rpc3R9CiBMaWNlbnNlOiBCU0QtNC1DbGF1 c2UtVUMKIFVSTDogaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2FyZS9uZXR3b3JrL3Rm dHAvCi1Tb3VyY2UwOiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbmV0d29yay90ZnRw L3RmdHAtaHBhLmdpdC9zbmFwc2hvdC90ZnRwLWhwYS0le3ZlcnNpb259LnRhci5negotU291cmNl MTogdGZ0cC5zb2NrZXQKLVNvdXJjZTI6IHRmdHAuc2VydmljZQotU291cmNlMzogdGZ0cC1zZXJ2 ZXItdG1wZmlsZXMuY29uZgotCi0jIFVwc3RyZWFtIHBhdGNoZXMKLSMgaHR0cHM6Ly9naXQua2Vy bmVsLm9yZy9wdWIvc2NtL25ldHdvcmsvdGZ0cC90ZnRwLWhwYS5naXQvcGF0Y2gvP2lkPWI5ZjIz MzVlODhkY2IzOTM5MDE1ODQzYzcxNDNmMTUzM2M3NTVhNDYKLVBhdGNoOiB0ZnRwLWhwYS01LjMt c2V0am1wLnBhdGNoCitTb3VyY2UwOiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9zb2Z0d2Fy ZS9uZXR3b3JrL3RmdHAvdGZ0cC1ocGEvdGZ0cC1ocGEtNS40LnRhci5negorU291cmNlMTogaHR0 cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvc29mdHdhcmUvbmV0d29yay90ZnRwL3RmdHAtaHBhL3Rm dHAtaHBhLTUuNC50YXIuc2lnbgorIyBncGcgLS1rZXlzZXJ2ZXIgcGdwLm1pdC5lZHUgLS1yZWN2 LWtleSA2RDAxMDdCQzY5RUU1QTI3NEZEOUI2MEMyREIzQzMzMjFCNkRERjg2CisjIGdwZyAtLW91 dHB1dCBocGEuZ3BnIC0tYXJtb3IgLS1leHBvcnQgaHBhQHp5dG9yLmNvbQorU291cmNlMjogaHBh LmdwZworU291cmNlMzogdGZ0cC5zb2NrZXQKK1NvdXJjZTQ6IHRmdHAuc2VydmljZQorU291cmNl NTogdGZ0cC1zZXJ2ZXItdG1wZmlsZXMuY29uZgogCiAjIFRvLWJlIHVwc3RyZWFtZWQgcGF0Y2hl cwotUGF0Y2g6IHRmdHAtaHBhLTUuMy1jbWRfYXJnLnBhdGNoCiAjIGh0dHBzOi8vd3d3LnN5c2xp bnV4Lm9yZy9hcmNoaXZlcy8yMDI2LUFwcmlsLzAyNjk1OS5odG1sCiBQYXRjaDogdGZ0cC1ocGEt NS4zLXN0YXRzLnBhdGNoCiBQYXRjaDogdGZ0cC1kb2MucGF0Y2gKQEAgLTI2LDEzICsyNSw5IEBA IFBhdGNoOiB0ZnRwLWhwYS01LjMtdGZ0cC1leGl0LWNvZGUtY21kbW9kZS5wYXRjaAogCiAjIERv d25zdHJlYW0tb25seSBwYXRjaGVzCiBQYXRjaDogdGZ0cC0wLjQyLXRmdHBib290LnBhdGNoCi0j IENvZGUgcmVtb3ZlZCB1cHN0cmVhbSBpbiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20v bmV0d29yay90ZnRwL3RmdHAtaHBhLmdpdC9wYXRjaC8/aWQ9YjZkOTAyOTQyMDMxNWRjNjAyMzdk MWQ0ZmIyOTMwNmFlMTcyYzEyMAotUGF0Y2g6IHRmdHAtaHBhLTUuMy1wa3RpbmZvLnBhdGNoCi0j IENvZGUgcmVtb3ZlZCB1cHN0cmVhbSBpbiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20v bmV0d29yay90ZnRwL3RmdHAtaHBhLmdpdC9wYXRjaC8/aWQ9MDRkN2IwZGIwNjcyZWY1YzdjMzY4 ODZlMDBmMTM2NjcyODgxYTllZgotUGF0Y2g6IHRmdHAtb2ZmLWJ5LW9uZS5wYXRjaAogCi1CdWls ZFJlcXVpcmVzOiBhdXRvY29uZgogQnVpbGRSZXF1aXJlczogZ2NjCitCdWlsZFJlcXVpcmVzOiBn cGd2ZXJpZnkKIEJ1aWxkUmVxdWlyZXM6IG1ha2UKIEJ1aWxkUmVxdWlyZXM6IHJlYWRsaW5lLWRl dmVsCiBCdWlsZFJlcXVpcmVzOiBzeXN0ZW1kLXJwbS1tYWNyb3MKQEAgLTU5LDI2ICs1NCwyMSBA QCBlbmFibGVkIHVubGVzcyBpdCBpcyBleHByZXNzbHkgbmVlZGVkLiAgVGhlIFRGVFAgc2VydmVy IGlzIHJ1biBieSB1c2luZwogc3lzdGVtZCBzb2NrZXQgYWN0aXZhdGlvbiwgYW5kIGlzIGRpc2Fi bGVkIGJ5IGRlZmF1bHQuCiAKICVwcmVwCitnemlwIC1jZCAnJXtTT1VSQ0UwfScgPiAndGZ0cC1o cGEtJXt2ZXJzaW9ufS50YXInCisle2dwZ3ZlcmlmeX0gLS1rZXlyaW5nPScle1NPVVJDRTJ9JyAt LXNpZ25hdHVyZT0nJXtTT1VSQ0UxfScgLS1kYXRhPSd0ZnRwLWhwYS0le3ZlcnNpb259LnRhcicK ICVhdXRvc2V0dXAgLXAxIC1uIHRmdHAtaHBhLSV7dmVyc2lvbn0KIAogJWJ1aWxkCi1hdXRvcmVj b25mCiAlY29uZmlndXJlCiAlbWFrZV9idWlsZAogCiAlaW5zdGFsbAotbWtkaXIgLXAgJHtSUE1f QlVJTERfUk9PVH0le19iaW5kaXJ9Ci1ta2RpciAtcCAke1JQTV9CVUlMRF9ST09UfSV7X21hbmRp cn0vbWFuezEsOH0KLW1rZGlyIC1wICR7UlBNX0JVSUxEX1JPT1R9JXtfc2JpbmRpcn0KLW1rZGly IC1wICR7UlBNX0JVSUxEX1JPT1R9JXtfbG9jYWxzdGF0ZWRpcn0vbGliL3RmdHBib290Ci1ta2Rp ciAtcCAke1JQTV9CVUlMRF9ST09UfSV7X3RtcGZpbGVzZGlyfQotbWtkaXIgLXAgJHtSUE1fQlVJ TERfUk9PVH0le191bml0ZGlyfQotCiAlbWFrZV9pbnN0YWxsIElOU1RBTExST09UPSV7YnVpbGRy b290fSBTQklORElSPSV7X3NiaW5kaXJ9IE1BTkRJUj0le19tYW5kaXJ9CiAKLWluc3RhbGwgLXAg LW0gNjQ0ICVTT1VSQ0UxICR7UlBNX0JVSUxEX1JPT1R9JXtfdW5pdGRpcn0KLWluc3RhbGwgLXAg LW0gNjQ0ICVTT1VSQ0UyICR7UlBNX0JVSUxEX1JPT1R9JXtfdW5pdGRpcn0KLWluc3RhbGwgLXAg LW0gNjQ0ICVTT1VSQ0UzICR7UlBNX0JVSUxEX1JPT1R9JXtfdG1wZmlsZXNkaXJ9LyV7bmFtZX0u Y29uZgorbWtkaXIgLXAgJXtidWlsZHJvb3R9JXtfbG9jYWxzdGF0ZWRpcn0vbGliL3RmdHBib290 CitpbnN0YWxsIC1EIC1wIC1tIDY0NCAlU09VUkNFMyAle2J1aWxkcm9vdH0le191bml0ZGlyfS8l e25hbWV9LnNvY2tldAoraW5zdGFsbCAtRCAtcCAtbSA2NDQgJVNPVVJDRTQgJXtidWlsZHJvb3R9 JXtfdW5pdGRpcn0vJXtuYW1lfS5zZXJ2aWNlCitpbnN0YWxsIC1EIC1wIC1tIDY0NCAlU09VUkNF NSAle2J1aWxkcm9vdH0le190bXBmaWxlc2Rpcn0vJXtuYW1lfS5jb25mCiAKICVwb3N0IHNlcnZl cgogJXN5c3RlbWRfcG9zdCB0ZnRwLnNvY2tldApAQCAtMTA2LDYgKzk2LDEwIEBAIGluc3RhbGwg LXAgLW0gNjQ0ICVTT1VSQ0UzICR7UlBNX0JVSUxEX1JPT1R9JXtfdG1wZmlsZXNkaXJ9LyV7bmFt ZX0uY29uZgogJXtfdW5pdGRpcn0vdGZ0cC5zb2NrZXQKIAogJWNoYW5nZWxvZworKiBUaHUgSnVs IDA5IDIwMjYgTHVrw6HFoSBaYW9yYWwgPGx6YW9yYWxAcmVkaGF0LmNvbT4gLSA1LjQtMQorLSBy ZWJhc2UgdG8gdGhlIGxhdGVzdCB1cHN0cmVhbSByZWxlYXNlIChyaGJ6IzI0OTcwOTApCistIGFk ZCBncGcgdmVyaWZpY2F0aW9uCisKICogV2VkIEFwciAxNSAyMDI2IEx1a8OhxaEgWmFvcmFsIDxs emFvcmFsQHJlZGhhdC5jb20+IC0gNS4zLTQKIC0gY2xlYW4tdXAgcGF0Y2hlcwogCg==