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: David King To: git-commits@fedoraproject.org Subject: [rpms/glib2] cve-2026-58016-f44: Update to 2.71.0 Date: Tue, 11 Aug 2026 10:37:38 GMT Message-ID: <178644465801.1.14245937870177775002.rpms-glib2-55d1b00f417e@fedoraproject.org> List-ID: X-Git-Repo: rpms/glib2 X-Git-Branch: cve-2026-58016-f44 X-Git-Rev: 55d1b00f417e545772ea1c855f37e7cd4f28dfe3 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2xpYjIKQnJhbmNo IDogY3ZlLTIwMjYtNTgwMTYtZjQ0CkNvbW1pdCA6IDU1ZDFiMDBmNDE3ZTU0NTc3MmVhMWM4NTVm MzdlN2NkNGYyOGRmZTMKQXV0aG9yIDogRGF2aWQgS2luZyA8YW1pZ2FkYXZlQGFtaWdhZGF2ZS5j b20+CkRhdGUgICA6IDIwMjItMDEtMTBUMTQ6NTA6MzIrMDA6MDAKU3RhdHMgIDogKzMyLy0xMDg1 IGluIDQgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1z L2dsaWIyL2MvNTVkMWIwMGY0MTdlNTQ1NzcyZWExYzg1NWYzN2U3Y2Q0ZjI4ZGZlMz9icmFuY2g9 Y3ZlLTIwMjYtNTgwMTYtZjQ0CgpMb2c6ClVwZGF0ZSB0byAyLjcxLjAKCi0tLQpkaWZmIC0tZ2l0 IGEvZ2xpYjIuc3BlYyBiL2dsaWIyLnNwZWMKaW5kZXggZTM5M2NlZC4uMzdjNDFlNSAxMDA2NDQK LS0tIGEvZ2xpYjIuc3BlYworKysgYi9nbGliMi5zcGVjCkBAIC0xLDUgKzEsNSBAQAogTmFtZTog Z2xpYjIKLVZlcnNpb246IDIuNzAuMgorVmVyc2lvbjogMi43MS4wCiBSZWxlYXNlOiAlYXV0b3Jl bGVhc2UKIFN1bW1hcnk6IEEgbGlicmFyeSBvZiBoYW5keSB1dGlsaXR5IGZ1bmN0aW9ucwogCkBA IC0xNywxMCArMTcsNiBAQCBQYXRjaDA6IGdudXRscy1obWFjLnBhdGNoCiAjIFByb3Bvc2VkIHVw c3RyZWFtIGF0IGh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS9nbGliLy0vbWVyZ2VfcmVx dWVzdHMvMTU5NgogUGF0Y2gxOiBnZGVza3RvcGFwcGluZm8ucGF0Y2gKIAotIyBodHRwczovL2J1 Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE5MTAwOTIKLSMgaHR0cHM6Ly9naXRs YWIuZ25vbWUub3JnL0dOT01FL2dsaWIvLS9tZXJnZV9yZXF1ZXN0cy8xOTY4Ci1QYXRjaDI6IGdz cGF3bi5wYXRjaAotCiBCdWlsZFJlcXVpcmVzOiBjaHJwYXRoCiBCdWlsZFJlcXVpcmVzOiBnY2MK IEJ1aWxkUmVxdWlyZXM6IGdjYy1jKysKCmRpZmYgLS1naXQgYS9nbnV0bHMtaG1hYy5wYXRjaCBi L2dudXRscy1obWFjLnBhdGNoCmluZGV4IGU5YjMyMTcuLjg0NDI4NDYgMTAwNjQ0Ci0tLSBhL2du dXRscy1obWFjLnBhdGNoCisrKyBiL2dudXRscy1obWFjLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAot RnJvbSA1NjFiNTk0ZmU1OGMzZWExYzYzODdjNjRjNTlmNDgxNmMxZmQxYzM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbSBlZjdhMDYzZWU2ZjViZDg2NDJmZDA0YjcxN2U3ZDA3NWI5ZjMz ZWMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQ29saW4gV2FsdGVycyA8d2FsdGVy c0B2ZXJidW0ub3JnPgogRGF0ZTogRnJpLCA3IEp1biAyMDE5IDE4OjQ0OjQzICswMDAwCiBTdWJq ZWN0OiBbUEFUQ0ggMS80XSBnaG1hYzogU3BsaXQgb2ZmIHdyYXBwZXIgZnVuY3Rpb25zIGludG8g Z2htYWMtdXRpbHMuYwpAQCAtMTY0LDEwICsxNjQsMTAgQEAgaW5kZXggMDAwMDAwMDAwLi5hMTcz NTlmZjEKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGd1Y2hhciAq KSBzdHIsIGxlbmd0aCk7CiArfQogZGlmZiAtLWdpdCBhL2dsaWIvZ2htYWMuYyBiL2dsaWIvZ2ht YWMuYwotaW5kZXggNDlmZDI3MmYwLi40ZjE4MWYyMWYgMTAwNjQ0CitpbmRleCA1NGRhOWY5MzYu LjgzNTg4OTdiMCAxMDA2NDQKIC0tLSBhL2dsaWIvZ2htYWMuYwogKysrIGIvZ2xpYi9naG1hYy5j Ci1AQCAtMzI5LDExNSArMzI5LDMgQEAgZ19obWFjX2dldF9kaWdlc3QgKEdIbWFjICAqaG1hYywK K0BAIC0zMjcsMTE1ICszMjcsMyBAQCBnX2htYWNfZ2V0X2RpZ2VzdCAoR0htYWMgICpobWFjLAog ICAgZ19jaGVja3N1bV91cGRhdGUgKGhtYWMtPmRpZ2VzdG8sIGJ1ZmZlciwgbGVuKTsKICAgIGdf Y2hlY2tzdW1fZ2V0X2RpZ2VzdCAoaG1hYy0+ZGlnZXN0bywgYnVmZmVyLCBkaWdlc3RfbGVuKTsK ICB9CkBAIC0yODQsMTAgKzI4NCwxMCBAQCBpbmRleCA0OWZkMjcyZjAuLjRmMTgxZjIxZiAxMDA2 NDQKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IGd1Y2hhciAqKSBz dHIsIGxlbmd0aCk7CiAtfQogZGlmZiAtLWdpdCBhL2dsaWIvbWVzb24uYnVpbGQgYi9nbGliL21l c29uLmJ1aWxkCi1pbmRleCA5MzYwMGIyOWUuLmNjZTMzODk2OSAxMDA2NDQKK2luZGV4IDAyNWU0 NDhhZC4uYTY3Mjg1N2I0IDEwMDY0NAogLS0tIGEvZ2xpYi9tZXNvbi5idWlsZAogKysrIGIvZ2xp Yi9tZXNvbi5idWlsZAotQEAgLTI1MSw2ICsyNTEsNyBAQCBnbGliX3NvdXJjZXMgPSBmaWxlcygK K0BAIC0yNDQsNiArMjQ0LDcgQEAgZ2xpYl9zb3VyY2VzID0gZmlsZXMoCiAgICAnZ2dldHRleHQu YycsCiAgICAnZ2hhc2guYycsCiAgICAnZ2htYWMuYycsCkBAIC0yOTYsOSArMjk2LDEwIEBAIGlu ZGV4IDkzNjAwYjI5ZS4uY2NlMzM4OTY5IDEwMDY0NAogICAgJ2dob3N0dXRpbHMuYycsCiAgICAn Z2lvY2hhbm5lbC5jJywKIC0tIAotMi4zMS4xCisyLjM0LjEKIAotRnJvbSBiODdiMjhlMDZjNjMw MDQ3OWUyOTI3ODIxMDBlOWI5NGViYjZhMTQwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorCitG cm9tIGJmMGU3YWRiMmU2MGYwMmZjMmZiOWMyNWY3NzMzNzljMWMzYTNlYzcgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCiBGcm9tOiBDb2xpbiBXYWx0ZXJzIDx3YWx0ZXJzQHZlcmJ1bS5vcmc+CiBE YXRlOiBGcmksIDcgSnVuIDIwMTkgMTk6MzY6NTQgKzAwMDAKIFN1YmplY3Q6IFtQQVRDSCAyLzRd IEFkZCBhIGdudXRscyBiYWNrZW5kIGZvciBHSG1hYwpAQCAtNjI2LDcgKzYyNyw3IEBAIGluZGV4 IDAwMDAwMDAwMC4uOWZiNzc1Zjg5CiArICAqZGlnZXN0X2xlbiA9IGdfY2hlY2tzdW1fdHlwZV9n ZXRfbGVuZ3RoIChobWFjLT5kaWdlc3RfdHlwZSk7CiArfQogZGlmZiAtLWdpdCBhL2dsaWIvZ2ht YWMuYyBiL2dsaWIvZ2htYWMuYwotaW5kZXggNGYxODFmMjFmLi4wZTM5ZWE0MGEgMTAwNjQ0Citp bmRleCA4MzU4ODk3YjAuLmJhMGQyZDU1YyAxMDA2NDQKIC0tLSBhL2dsaWIvZ2htYWMuYwogKysr IGIvZ2xpYi9naG1hYy5jCiBAQCAtMzMsNiArMzMsOSBAQApAQCAtNjU5LDEwICs2NjAsMTAgQEAg aW5kZXggNGYxODFmMjFmLi4wZTM5ZWE0MGEgMTAwNjQ0CiAgICogICBVc2UgZ19obWFjX3VucmVm KCkgdG8gZnJlZSB0aGUgbWVtb3J5IGFsbG9jYXRlZCBieSBpdC4KICAgKgogZGlmZiAtLWdpdCBh L2dsaWIvbWVzb24uYnVpbGQgYi9nbGliL21lc29uLmJ1aWxkCi1pbmRleCBjY2UzMzg5NjkuLjFm NmJiMzVkMSAxMDA2NDQKK2luZGV4IGE2NzI4NTdiNC4uMmM0M2FjMGQ0IDEwMDY0NAogLS0tIGEv Z2xpYi9tZXNvbi5idWlsZAogKysrIGIvZ2xpYi9tZXNvbi5idWlsZAotQEAgLTI1MCw3ICsyNTAs NiBAQCBnbGliX3NvdXJjZXMgPSBmaWxlcygKK0BAIC0yNDMsNyArMjQzLDYgQEAgZ2xpYl9zb3Vy Y2VzID0gZmlsZXMoCiAgICAnZ2ZpbGV1dGlscy5jJywKICAgICdnZ2V0dGV4dC5jJywKICAgICdn aGFzaC5jJywKQEAgLTY3MCw3ICs2NzEsNyBAQCBpbmRleCBjY2UzMzg5NjkuLjFmNmJiMzVkMSAx MDA2NDQKICAgICdnaG1hYy11dGlscy5jJywKICAgICdnaG9vay5jJywKICAgICdnaG9zdHV0aWxz LmMnLAotQEAgLTMwNiw2ICszMDUsNyBAQCBnbGliX3NvdXJjZXMgPSBmaWxlcygKK0BAIC0yOTks NiArMjk4LDcgQEAgZ2xpYl9zb3VyY2VzID0gZmlsZXMoCiAgICAnZ3VyaXByaXZhdGUuaCcsCiAg ICAnZ3V0aWxzLmMnLAogICAgJ2d1dGlsc3ByaXZhdGUuaCcsCkBAIC02NzgsNyArNjc5LDcgQEAg aW5kZXggY2NlMzM4OTY5Li4xZjZiYjM1ZDEgMTAwNjQ0CiAgICAnZ3V1aWQuYycsCiAgICAnZ3Zh cmlhbnQuYycsCiAgICAnZ3ZhcmlhbnQtY29yZS5jJywKLUBAIC0zNTAsNiArMzUwLDEyIEBAIGVs c2UKK0BAIC0zNTIsNiArMzUyLDEyIEBAIGVsc2UKICAgIGdsaWJfZHRyYWNlX2hkciA9IFtdCiAg ZW5kaWYKICAKQEAgLTY5MSwyMCArNjkyLDIwIEBAIGluZGV4IGNjZTMzODk2OS4uMWY2YmIzNWQx IDEwMDY0NAogIHBjcmVfc3RhdGljX2FyZ3MgPSBbXQogIAogIGlmIHVzZV9wY3JlX3N0YXRpY19m bGFnCi1AQCAtMzY4LDcgKzM3NCw3IEBAIGxpYmdsaWIgPSBsaWJyYXJ5KCdnbGliLTIuMCcsCi0g ICAjIGludGwubGliIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggU0FGRVNFSAorQEAgLTM3MCw3ICsz NzYsNyBAQCBsaWJnbGliID0gbGlicmFyeSgnZ2xpYi0yLjAnLAogICAgbGlua19hcmdzIDogW25v c2VoX2xpbmtfYXJncywgZ2xpYl9saW5rX2ZsYWdzLCB3aW4zMl9sZGZsYWdzXSwKICAgIGluY2x1 ZGVfZGlyZWN0b3JpZXMgOiBjb25maWdpbmMsCisgICBsaW5rX3dpdGg6IFtjaGFyc2V0X2xpYiwg Z251bGliX2xpYl0sCiAtICBkZXBlbmRlbmNpZXMgOiBbcGNyZSwgdGhyZWFkX2RlcCwgbGlicnRd ICsgbGliaW50bF9kZXBzICsgbGliaWNvbnYgKyBwbGF0Zm9ybV9kZXBzICsgW2dudWxpYl9saWJt X2RlcGVuZGVuY3ksIGxpYm1dICsgW2xpYnN5c3Byb2ZfY2FwdHVyZV9kZXBdLAogKyAgZGVwZW5k ZW5jaWVzIDogW3BjcmUsIHRocmVhZF9kZXAsIGxpYnJ0XSArIGxpYmdudXRsc19kZXAgKyBsaWJp bnRsX2RlcHMgKyBsaWJpY29udiArIHBsYXRmb3JtX2RlcHMgKyBbZ251bGliX2xpYm1fZGVwZW5k ZW5jeSwgbGlibV0gKyBbbGlic3lzcHJvZl9jYXB0dXJlX2RlcF0sCiAgICBjX2FyZ3MgOiBnbGli X2NfYXJncywKICAgIG9iamNfYXJncyA6IGdsaWJfY19hcmdzLAogICkKIGRpZmYgLS1naXQgYS9t ZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCAxYjU0ZmRjYWUuLjk4Zjg5MjVhMiAxMDA2 NDQKK2luZGV4IDZlNTY2ZDQ4My4uMjY4ZjAyYjZmIDEwMDY0NAogLS0tIGEvbWVzb24uYnVpbGQK ICsrKyBiL21lc29uLmJ1aWxkCi1AQCAtMjA5NSw2ICsyMDk1LDEzIEBAIGlmIGhvc3Rfc3lzdGVt ID09ICdsaW51eCcKK0BAIC0yMTAzLDYgKzIxMDMsMTMgQEAgaWYgaG9zdF9zeXN0ZW0gPT0gJ2xp bnV4JwogICAgZ2xpYl9jb25mLnNldCgnSEFWRV9MSUJNT1VOVCcsIGxpYm1vdW50X2RlcC5mb3Vu ZCgpKQogIGVuZGlmCiAgCkBAIC03NDIsOSArNzQzLDEwIEBAIGluZGV4IDZjZDdiYzkwYS4uNjVh ZjFkMjc2IDEwMDY0NAogXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiArICAgICAgIGRlc2Ny aXB0aW9uIDogJ0VuYWJsZSBzdXBwb3J0IGZvciBsaXN0aW5nIGFuZCBleHRyYWN0aW5nIGZyb20g RUxGIHJlc291cmNlIGZpbGVzIHdpdGggZ3Jlc291cmNlIHRvb2wnKQogLS0gCi0yLjMxLjEKKzIu MzQuMQorCiAKLUZyb20gMzc5ZTU1OWY1YWEzOTAyNzIzNjhmODNjYTNlNmFmMDkyMDY2YWU3NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gMmZkNThiMzI0NzVkOWY3MDhhNjAwY2FjMTZk ZTdhMTU5Y2ZkMTFkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IE1pY2hhZWwgQ2F0 YW56YXJvIDxtY2F0YW56YXJvQHJlZGhhdC5jb20+CiBEYXRlOiBXZWQsIDE2IEp1biAyMDIxIDIw OjM1OjAwIC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0ggMy80XSBkbG9wZW4gR251VExTIGluc3RlYWQg b2YgbGlua2luZyBkaXJlY3RseQpAQCAtOTEzLDcgKzkxNSw3IEBAIGluZGV4IDlmYjc3NWY4OS4u MTgwMGZjMmUwIDEwMDY0NAogICAgaG1hYy0+ZGlnZXN0X3R5cGUgPSBkaWdlc3RfdHlwZTsKICAK IGRpZmYgLS1naXQgYS9nbGliL2dobWFjLmMgYi9nbGliL2dobWFjLmMKLWluZGV4IDBlMzllYTQw YS4uMmQ5YmU5MWI4IDEwMDY0NAoraW5kZXggYmEwZDJkNTVjLi45MTNiZjM4NjQgMTAwNjQ0CiAt LS0gYS9nbGliL2dobWFjLmMKICsrKyBiL2dsaWIvZ2htYWMuYwogQEAgLTMzLDcgKzMzLDcgQEAK QEAgLTkyNiwyMyArOTI4LDIzIEBAIGluZGV4IDBlMzllYTQwYS4uMmQ5YmU5MWI4IDEwMDY0NAog ICNlbmRpZgogIAogZGlmZiAtLWdpdCBhL2dsaWIvbWVzb24uYnVpbGQgYi9nbGliL21lc29uLmJ1 aWxkCi1pbmRleCAxZjZiYjM1ZDEuLmY0MDQxZTUwYyAxMDA2NDQKK2luZGV4IDJjNDNhYzBkNC4u NmI2ZjY5MmQ5IDEwMDY0NAogLS0tIGEvZ2xpYi9tZXNvbi5idWlsZAogKysrIGIvZ2xpYi9tZXNv bi5idWlsZAotQEAgLTM3NCw3ICszNzQsNyBAQCBsaWJnbGliID0gbGlicmFyeSgnZ2xpYi0yLjAn LAotICAgIyBpbnRsLmxpYiBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFNBRkVTRUgKK0BAIC0zNzYs NyArMzc2LDcgQEAgbGliZ2xpYiA9IGxpYnJhcnkoJ2dsaWItMi4wJywKICAgIGxpbmtfYXJncyA6 IFtub3NlaF9saW5rX2FyZ3MsIGdsaWJfbGlua19mbGFncywgd2luMzJfbGRmbGFnc10sCiAgICBp bmNsdWRlX2RpcmVjdG9yaWVzIDogY29uZmlnaW5jLAorICAgbGlua193aXRoOiBbY2hhcnNldF9s aWIsIGdudWxpYl9saWJdLAogLSAgZGVwZW5kZW5jaWVzIDogW3BjcmUsIHRocmVhZF9kZXAsIGxp YnJ0XSArIGxpYmdudXRsc19kZXAgKyBsaWJpbnRsX2RlcHMgKyBsaWJpY29udiArIHBsYXRmb3Jt X2RlcHMgKyBbZ251bGliX2xpYm1fZGVwZW5kZW5jeSwgbGlibV0gKyBbbGlic3lzcHJvZl9jYXB0 dXJlX2RlcF0sCiArICBkZXBlbmRlbmNpZXMgOiBbcGNyZSwgdGhyZWFkX2RlcCwgbGlicnRdICsg bGliaW50bF9kZXBzICsgbGliaWNvbnYgKyBwbGF0Zm9ybV9kZXBzICsgW2dudWxpYl9saWJtX2Rl cGVuZGVuY3ksIGxpYm1dICsgW2xpYnN5c3Byb2ZfY2FwdHVyZV9kZXBdICsgW2xpYmRsX2RlcF0s CiAgICBjX2FyZ3MgOiBnbGliX2NfYXJncywKICAgIG9iamNfYXJncyA6IGdsaWJfY19hcmdzLAog ICkKIGRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCi1pbmRleCA5OGY4OTI1 YTIuLmJiZTI2ZTRlNCAxMDA2NDQKK2luZGV4IDI2OGYwMmI2Zi4uZTI0ZDY4Zjc0IDEwMDY0NAog LS0tIGEvbWVzb24uYnVpbGQKICsrKyBiL21lc29uLmJ1aWxkCi1AQCAtMjA5NSwxMSArMjA5NSw5 IEBAIGlmIGhvc3Rfc3lzdGVtID09ICdsaW51eCcKK0BAIC0yMTAzLDExICsyMTAzLDkgQEAgaWYg aG9zdF9zeXN0ZW0gPT0gJ2xpbnV4JwogICAgZ2xpYl9jb25mLnNldCgnSEFWRV9MSUJNT1VOVCcs IGxpYm1vdW50X2RlcC5mb3VuZCgpKQogIGVuZGlmCiAgCkBAIC05NTcsOSArOTU5LDEwIEBAIGlu ZGV4IDk4Zjg5MjVhMi4uYmJlMjZlNGU0IDEwMDY0NAogIAogIGlmIGhvc3Rfc3lzdGVtID09ICd3 aW5kb3dzJwogLS0gCi0yLjMxLjEKKzIuMzQuMQorCiAKLUZyb20gNTRlN2QwOTgyYzczNjkyZTky ZGRkOGVhYTMyOGYyZmJlZGYwNTY4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gYzc5 ZjdiODU2MGY4ZTc0NDllZmYzOTU2YmFlMmFiOTNjZDExYjAxOCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IE1pY2hhZWwgQ2F0YW56YXJvIDxtY2F0YW56YXJvQHJlZGhhdC5jb20+CiBE YXRlOiBXZWQsIDE2IEp1biAyMDIxIDIwOjQ2OjI0IC0wNTAwCiBTdWJqZWN0OiBbUEFUQ0ggNC80 XSBBZGQgdGVzdCBmb3IgR0htYWMgaW4gRklQUyBtb2RlCkBAIC0xMDkwLDUgKzEwOTMsNSBAQCBp bmRleCAzYWMzMjA2ZGYuLjJmYTQ0Nzk4NCAxMDA2NDQKICAgIHJldHVybiBnX3Rlc3RfcnVuICgp OwogIH0KIC0tIAotMi4zMS4xCisyLjM0LjEKIAoKZGlmZiAtLWdpdCBhL2dzcGF3bi5wYXRjaCBi L2dzcGF3bi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGQwZGY1Ny4uMDAw MDAwMAotLS0gYS9nc3Bhd24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDUyICswLDAgQEAK LUZyb20gNjJlZjdjZmZiNGM3MWNlYTNiNTJkZWZhOWU1MTIwNmY1NGI3MThmZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgQ2F0YW56YXJvIDxtY2F0YW56YXJvQHJlZGhh dC5jb20+Ci1EYXRlOiBUdWUsIDEyIE9jdCAyMDIxIDE1OjUyOjE4IC0wNTAwCi1TdWJqZWN0OiBb UEFUQ0ggMDEvMTBdIGdzcGF3bjogdXNlIGNsb3NlX2FuZF9pbnZhbGlkYXRlIG1vcmUKLQotLS0t Ci0gZ2xpYi9nc3Bhd24uYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2dsaWIvZ3NwYXduLmMgYi9nbGliL2dzcGF3 bi5jCi1pbmRleCA1MWI0Yzc5YWMuLjJiMTkxNjM0YyAxMDA2NDQKLS0tLSBhL2dsaWIvZ3NwYXdu LmMKLSsrKyBiL2dsaWIvZ3NwYXduLmMKLUBAIC0xNzk4LDcgKzE3OTgsNyBAQCBkb19leGVjIChn aW50ICAgICAgICAgICAgICAgICAgY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAgICAgICAgICAgICAg ICAgY2hpbGRfZXJyX3JlcG9ydF9mZCA9IHNhZmVfZHVwIChjaGlsZF9lcnJfcmVwb3J0X2ZkKTsK LSAKLSAgICAgICAgICAgICAgIHNhZmVfZHVwMiAoc291cmNlX2Zkc1tpXSwgdGFyZ2V0X2Zkc1tp XSk7Ci0tICAgICAgICAgICAgICAodm9pZCkgY2xvc2UgKHNvdXJjZV9mZHNbaV0pOwotKyAgICAg ICAgICAgICAgY2xvc2VfYW5kX2ludmFsaWRhdGUgKCZzb3VyY2VfZmRzW2ldKTsKLSAgICAgICAg ICAgICB9Ci0gICAgICAgICB9Ci0gICAgIH0KLS0tIAotMi4zMy4xCi0KLUZyb20gYWRkZGQxMjcw N2JjMmJmZDE0YWQzNWFlODA3NWVlYWM2OGNkZDk1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IE1pY2hhZWwgQ2F0YW56YXJvIDxtY2F0YW56YXJvQHJlZGhhdC5jb20+Ci1EYXRlOiBU aHUsIDE0IE9jdCAyMDIxIDEwOjQzOjUyIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDIvMTBdIGdz cGF3bjogSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gZHVwIGZhaWxzCi0KLVRoaXMgZXJyb3Ig bWVzc2FnZSBpcyBubyBsb25nZXIgYWNjdXJhdGUgbm93IHRoYXQgd2UgYWxsb3cgYXJiaXRyYXJ5 IGZkCi1yZW1hcHBpbmcuCi0tLS0KLSBnbGliL2dzcGF3bi5jIHwgMiArLQotIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZ2xpYi9n c3Bhd24uYyBiL2dsaWIvZ3NwYXduLmMKLWluZGV4IDJiMTkxNjM0Yy4uOWM2NWQ5ZDkyIDEwMDY0 NAotLS0tIGEvZ2xpYi9nc3Bhd24uYwotKysrIGIvZ2xpYi9nc3Bhd24uYwotQEAgLTI0NTEsNyAr MjQ1MSw3IEBAIGZvcmtfZXhlYyAoZ2Jvb2xlYW4gICAgICAgICAgICAgIGludGVybWVkaWF0ZV9j aGlsZCwKLSAgICAgICAgICAgICAgIGdfc2V0X2Vycm9yIChlcnJvciwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHX1NQQVdOX0VSUk9SLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdfU1BBV05fRVJST1JfRkFJTEVELAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkZh aWxlZCB0byByZWRpcmVjdCBvdXRwdXQgb3IgaW5wdXQgb2YgY2hpbGQgcHJvY2VzcyAoJXMpIiks Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiRmFpbGVkIHRvIGR1cGxpY2F0ZSBmaWxl IGRlc2NyaXB0b3IgZm9yIGNoaWxkIHByb2Nlc3MgKCVzKSIpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGdfc3RyZXJyb3IgKGJ1ZlsxXSkpOwotIAotICAgICAgICAgICAgICAgYnJlYWs7 Ci0tLSAKLTIuMzMuMQotCi1Gcm9tIDk3NjU1OGVjOGI0MTI1MzIzZTRjN2FkYjYwMGM4MjQ5ZjUz MTlkNWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNaWNoYWVsIENhdGFuemFybyA8 bWNhdGFuemFyb0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAxMiBPY3QgMjAyMSAxNTozMzo1OSAt MDUwMAotU3ViamVjdDogW1BBVENIIDAzLzEwXSBnc3Bhd246IGZpeCBoYW5ncyB3aGVuIGR1cGlu ZyBjaGlsZF9lcnJfcmVwb3J0X2ZkCi0KLUluIGNhc2UgY2hpbGRfZXJyX3JlcG9ydF9mZCBjb25m bGljdHMgd2l0aCBvbmUgb2YgdGhlIHRhcmdldF9mZHMsIHRoZQotY29kZSBoZXJlIGlzIGNhcmVm dWwgdG8gZHVwIGNoaWxkX2Vycl9yZXBvcnRfZmQgaW4gb3JkZXIgdG8gYXZvaWQKLWNvbmZsYXRp bmcgdGhlIHR3by4gSXQgd2FzIGEgZ29vZCBpZGVhLCBidXQgZXZpZGVudGx5IHdhcyBub3QgdGVz dGVkLAotYmVjYXVzZSB0aGUgbmV3bHktY3JlYXRlZCBmZCBpcyBub3QgY3JlYXRlZCB3aXRoIENM T0VYRUMgc2V0LiBUaGlzIG1lYW5zCi1pdCBzdGF5cyBvcGVuIGluIHRoZSBjaGlsZCBwcm9jZXNz LCBjYXVzaW5nIHRoZSBwYXJlbnQgdG8gaGFuZyBmb3JldmVyCi13YWl0aW5nIHRvIHJlYWQgZnJv bSB0aGUgb3RoZXIgZW5kIG9mIHRoZSBwaXBlLiBPb3BzIQotCi1UaGUgZml4IGlzIHNpbXBsZTog anVzdCBzZXQgQ0xPRVhFQy4gVGhpcyByZW1vdmVzIG91ciBvbmx5IHVzYWdlIG9mIHRoZQotc2Fm ZV9kdXAoKSBmdW5jdGlvbiwgc28gaXQgY2FuIGJlIGRyb3BwZWQuCi0KLUZpeGVzICMyNTA2Ci0t LS0KLSBnbGliL2dzcGF3bi5jIHwgMTYgKy0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMTUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9nbGliL2dz cGF3bi5jIGIvZ2xpYi9nc3Bhd24uYwotaW5kZXggOWM2NWQ5ZDkyLi4wZGVlZGE4Y2MgMTAwNjQ0 Ci0tLS0gYS9nbGliL2dzcGF3bi5jCi0rKysgYi9nbGliL2dzcGF3bi5jCi1AQCAtMTU4OCwyMCAr MTU4OCw2IEBAIHNhZmVfY2xvc2Vmcm9tIChpbnQgbG93ZmQpCi0gI2VuZGlmCi0gfQotIAotLS8q IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJldHdlZW4gZm9yaygpIGFuZCBleGVjKCkgYW5kIGhl bmNlIG11c3QgYmUKLS0gKiBhc3luYy1zaWduYWwtc2FmZSAoc2VlIHNpZ25hbC1zYWZldHkoNykp LiAqLwotLXN0YXRpYyBnaW50Ci0tc2FmZV9kdXAgKGdpbnQgZmQpCi0tewotLSAgZ2ludCByZXQ7 Ci0tCi0tICBkbwotLSAgICByZXQgPSBkdXAgKGZkKTsKLS0gIHdoaWxlIChyZXQgPCAwICYmIChl cnJubyA9PSBFSU5UUiB8fCBlcnJubyA9PSBFQlVTWSkpOwotLQotLSAgcmV0dXJuIHJldDsKLS19 Ci0tCi0gLyogVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYmV0d2VlbiBmb3JrKCkgYW5kIGV4ZWMo KSBhbmQgaGVuY2UgbXVzdCBiZQotICAqIGFzeW5jLXNpZ25hbC1zYWZlIChzZWUgc2lnbmFsLXNh ZmV0eSg3KSkuICovCi0gc3RhdGljIGdpbnQKLUBAIC0xNzk1LDcgKzE3ODEsNyBAQCBkb19leGVj IChnaW50ICAgICAgICAgICAgICAgICAgY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAgICAgICAgICAg ZWxzZQotICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgIGlmICh0YXJnZXRfZmRzW2ldID09 IGNoaWxkX2Vycl9yZXBvcnRfZmQpCi0tICAgICAgICAgICAgICAgIGNoaWxkX2Vycl9yZXBvcnRf ZmQgPSBzYWZlX2R1cCAoY2hpbGRfZXJyX3JlcG9ydF9mZCk7Ci0rICAgICAgICAgICAgICAgIGNo aWxkX2Vycl9yZXBvcnRfZmQgPSBkdXBmZF9jbG9leGVjIChjaGlsZF9lcnJfcmVwb3J0X2ZkKTsK LSAKLSAgICAgICAgICAgICAgIHNhZmVfZHVwMiAoc291cmNlX2Zkc1tpXSwgdGFyZ2V0X2Zkc1tp XSk7Ci0gICAgICAgICAgICAgICBjbG9zZV9hbmRfaW52YWxpZGF0ZSAoJnNvdXJjZV9mZHNbaV0p OwotLS0gCi0yLjMzLjEKLQotRnJvbSA3MDJiN2M1NmRkMzE0MzkyZjEwNDk5ZjlkNjJlZDNmZDRi ZjJmNDk4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBDYXRhbnphcm8g PG1jYXRhbnphcm9AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTQgT2N0IDIwMjEgMTA6NDQ6NTcg LTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8xMF0gZ3NwYXduOiBmaXggZmQgcmVtYXBwaW5nIGNv bmZsYXRpb24gaXNzdWUKLQotV2UgY3VycmVudGx5IGR1cCBhbGwgc291cmNlIGZkcyB0byBhdm9p ZCBwb3NzaWJsZSBjb25mbGF0aW9uIHdpdGggdGhlCi10YXJnZXQgZmRzLCBidXQgZmFpbCB0byBj b25zaWRlciB0aGF0IHRoZSByZXN1bHQgb2YgYSBkdXAgbWlnaHQgaXRzZWxmCi1jb25mbGljdCB3 aXRoIG9uZSBvZiB0aGUgdGFyZ2V0IGZkcy4gU29sdmUgdGhpcyB0aGUgZWFzeSB3YXkgYnkgZHVw aW5nCi1hbGwgc291cmNlX2ZkcyB0byB2YWx1ZXMgdGhhdCBhcmUgZ3JlYXRlciB0aGFuIHRoZSBs YXJnZXN0IGZkIGluCi10YXJnZXRfZmRzLgotCi1GaXhlcyAjMjUwMwotLS0tCi0gZ2xpYi9nc3Bh d24uYyB8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KLSAx IGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9nbGliL2dzcGF3bi5jIGIvZ2xpYi9nc3Bhd24uYwotaW5kZXggMGRlZWRhOGNjLi4x NDlmNWE1YTEgMTAwNjQ0Ci0tLS0gYS9nbGliL2dzcGF3bi5jCi0rKysgYi9nbGliL2dzcGF3bi5j Ci1AQCAtMTI5OCwxMyArMTI5OCwxMyBAQCB1bnNldF9jbG9leGVjIChpbnQgZmQpCi0gLyogVGhp cyBmdW5jdGlvbiBpcyBjYWxsZWQgYmV0d2VlbiBmb3JrKCkgYW5kIGV4ZWMoKSBhbmQgaGVuY2Ug bXVzdCBiZQotICAqIGFzeW5jLXNpZ25hbC1zYWZlIChzZWUgc2lnbmFsLXNhZmV0eSg3KSkuICov Ci0gc3RhdGljIGludAotLWR1cGZkX2Nsb2V4ZWMgKGludCBwYXJlbnRfZmQpCi0rZHVwZmRfY2xv ZXhlYyAoaW50IG9sZF9mZCwgaW50IG5ld19mZF9taW4pCi0gewotICAgaW50IGZkLCBlcnJzdjsK LSAjaWZkZWYgRl9EVVBGRF9DTE9FWEVDCi0gICBkbwotICAgICB7Ci0tICAgICAgZmQgPSBmY250 bCAocGFyZW50X2ZkLCBGX0RVUEZEX0NMT0VYRUMsIDMpOwotKyAgICAgIGZkID0gZmNudGwgKG9s ZF9mZCwgRl9EVVBGRF9DTE9FWEVDLCBuZXdfZmRfbWluKTsKLSAgICAgICBlcnJzdiA9IGVycm5v OwotICAgICB9Ci0gICB3aGlsZSAoZmQgPT0gLTEgJiYgZXJyc3YgPT0gRUlOVFIpOwotQEAgLTEz MTUsNyArMTMxNSw3IEBAIGR1cGZkX2Nsb2V4ZWMgKGludCBwYXJlbnRfZmQpCi0gICBpbnQgcmVz dWx0LCBmbGFnczsKLSAgIGRvCi0gICAgIHsKLS0gICAgICBmZCA9IGZjbnRsIChwYXJlbnRfZmQs IEZfRFVQRkQsIDMpOwotKyAgICAgIGZkID0gZmNudGwgKG9sZF9mZCwgRl9EVVBGRCwgbmV3X2Zk X21pbik7Ci0gICAgICAgZXJyc3YgPSBlcnJubzsKLSAgICAgfQotICAgd2hpbGUgKGZkID09IC0x ICYmIGVycnN2ID09IEVJTlRSKTsKLUBAIC0xNjUxLDYgKzE2NTEsNyBAQCBkb19leGVjIChnaW50 ICAgICAgICAgICAgICAgICAgY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAgICAgICAgICBncG9pbnRl ciAgICAgICAgICAgICAgdXNlcl9kYXRhKQotIHsKLSAgIGdzaXplIGk7Ci0rICBnaW50IG1heF90 YXJnZXRfZmQgPSAwOwotIAotICAgaWYgKHdvcmtpbmdfZGlyZWN0b3J5ICYmIGNoZGlyICh3b3Jr aW5nX2RpcmVjdG9yeSkgPCAwKQotICAgICB3cml0ZV9lcnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9y ZXBvcnRfZmQsCi1AQCAtMTc0OSwzOSArMTc1MCw0NSBAQCBkb19leGVjIChnaW50ICAgICAgICAg ICAgICAgICAgY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAgIC8qCi0gICAgKiBXb3JrIHRocm91Z2gg dGhlIEBzb3VyY2VfZmRzIGFuZCBAdGFyZ2V0X2ZkcyBtYXBwaW5nLgotICAgICoKLS0gICAqIEJh c2VkIG9uIGNvZGUgZGVyaXZlZCBmcm9tCi0rICAgKiBCYXNlZCBvbiBjb2RlIG9yaWdpbmFsbHkg ZGVyaXZlZCBmcm9tCi0gICAgKiBnbm9tZS10ZXJtaW5hbDpzcmMvdGVybWluYWwtc2NyZWVuLmM6 dGVybWluYWxfc2NyZWVuX2NoaWxkX3NldHVwKCksCi0tICAgKiB1c2VkIHVuZGVyIHRoZSBMR1BM djIrIHdpdGggcGVybWlzc2lvbiBmcm9tIGF1dGhvci4KLSsgICAqIHVzZWQgdW5kZXIgdGhlIExH UEx2Misgd2l0aCBwZXJtaXNzaW9uIGZyb20gYXV0aG9yLiAoVGhlIGNvZGUgaGFzCi0rICAgKiBz aW5jZSBtaWdyYXRlZCB0byB2dGU6c3JjL3NwYXduLmNjOlNwYXduQ29udGV4dDo6ZXhlYyBhbmQg aXMgbm8gbG9uZ2VyCi0rICAgKiB0ZXJyaWJseSBzaW1pbGFyIHRvIHdoYXQgd2UgaGF2ZSBoZXJl LikKLSAgICAqLwotIAotLSAgLyogQmFzaWMgZmQgYXNzaWdubWVudHMgKHdoZXJlIHNvdXJjZSA9 PSB0YXJnZXQpIHdlIGNhbiBqdXN0IHVuc2V0IEZEX0NMT0VYRUMKLS0gICAqCi0tICAgKiBJZiB3 ZSdyZSBkb2luZyByZW1hcHBpbmcgZmQgYXNzaWdubWVudHMsIHdlIG5lZWQgdG8gaGFuZGxlCi0t ICAgKiB0aGUgY2FzZSB3aGVyZSB0aGUgdXNlciBoYXMgc3BlY2lmaWVkIGUuZy46Ci0tICAgKiA1 IC0+IDQsIDQgLT4gNgotLSAgICoKLS0gICAqIFdlIGRvIHRoaXMgYnkgZHVwaW5nIHRoZSBzb3Vy Y2UgZmRzIHRlbXBvcmFyaWx5IGluIGEgZmlyc3QgcGFzcy4KLS0gICAqCi0tICAgKiBJZiBhbnkg b2YgdGhlIEB0YXJnZXRfZmRzIGNvbmZsaWN0IHdpdGggQGNoaWxkX2Vycl9yZXBvcnRfZmQsIGR1 cCB0aGUKLS0gICAqIGxhdHRlciBzbyBpdCBkb2VzbuKAmXQgZ2V0IGNvbmZsYXRlZC4KLS0gICAq LwotICAgaWYgKG5fZmRzID4gMCkKLSAgICAgewotKyAgICAgIGZvciAoaSA9IDA7IGkgPCBuX2Zk czsgaSsrKQotKyAgICAgICAgbWF4X3RhcmdldF9mZCA9IE1BWCAobWF4X3RhcmdldF9mZCwgdGFy Z2V0X2Zkc1tpXSk7Ci0rCi0rICAgICAgLyogSWYgd2UncmUgZG9pbmcgcmVtYXBwaW5nIGZkIGFz c2lnbm1lbnRzLCB3ZSBuZWVkIHRvIGhhbmRsZQotKyAgICAgICAqIHRoZSBjYXNlIHdoZXJlIHRo ZSB1c2VyIGhhcyBzcGVjaWZpZWQgZS5nLiA1IC0+IDQsIDQgLT4gNi4KLSsgICAgICAgKiBXZSBk byB0aGlzIGJ5IGR1cGluZyBhbGwgc291cmNlIGZkcywgdGFraW5nIGNhcmUgdG8gZW5zdXJlIHRo ZSBuZXcKLSsgICAgICAgKiBmZHMgYXJlIGxhcmdlciB0aGFuIGFueSB0YXJnZXQgZmQgdG8gYXZv aWQgaW50cm9kdWNpbmcgbmV3IGNvbmZsaWN0cy4KLSsgICAgICAgKi8KLSAgICAgICBmb3IgKGkg PSAwOyBpIDwgbl9mZHM7IGkrKykKLSAgICAgICAgIHsKLSAgICAgICAgICAgaWYgKHNvdXJjZV9m ZHNbaV0gIT0gdGFyZ2V0X2Zkc1tpXSkKLS0gICAgICAgICAgICBzb3VyY2VfZmRzW2ldID0gZHVw ZmRfY2xvZXhlYyAoc291cmNlX2Zkc1tpXSk7Ci0rICAgICAgICAgICAgc291cmNlX2Zkc1tpXSA9 IGR1cGZkX2Nsb2V4ZWMgKHNvdXJjZV9mZHNbaV0sIG1heF90YXJnZXRfZmQgKyAxKTsKLSAgICAg ICAgIH0KLSsKLSAgICAgICBmb3IgKGkgPSAwOyBpIDwgbl9mZHM7IGkrKykKLSAgICAgICAgIHsK LSsgICAgICAgICAgLyogRm9yIGJhc2ljIGZkIGFzc2lnbm1lbnRzICh3aGVyZSBzb3VyY2UgPT0g dGFyZ2V0KSwgd2UgY2FuIGp1c3QKLSsgICAgICAgICAgICogdW5zZXQgRkRfQ0xPRVhFQy4KLSsg ICAgICAgICAgICovCi0gICAgICAgICAgIGlmIChzb3VyY2VfZmRzW2ldID09IHRhcmdldF9mZHNb aV0pCi0gICAgICAgICAgICAgewotICAgICAgICAgICAgICAgdW5zZXRfY2xvZXhlYyAoc291cmNl X2Zkc1tpXSk7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg ewotKyAgICAgICAgICAgICAgLyogSWYgYW55IG9mIHRoZSBAdGFyZ2V0X2ZkcyBjb25mbGljdCB3 aXRoIEBjaGlsZF9lcnJfcmVwb3J0X2ZkLAotKyAgICAgICAgICAgICAgICogZHVwIGl0IHNvIGl0 IGRvZXNu4oCZdCBnZXQgY29uZmxhdGVkLgotKyAgICAgICAgICAgICAgICovCi0gICAgICAgICAg ICAgICBpZiAodGFyZ2V0X2Zkc1tpXSA9PSBjaGlsZF9lcnJfcmVwb3J0X2ZkKQotLSAgICAgICAg ICAgICAgICBjaGlsZF9lcnJfcmVwb3J0X2ZkID0gZHVwZmRfY2xvZXhlYyAoY2hpbGRfZXJyX3Jl cG9ydF9mZCk7Ci0rICAgICAgICAgICAgICAgIGNoaWxkX2Vycl9yZXBvcnRfZmQgPSBkdXBmZF9j bG9leGVjIChjaGlsZF9lcnJfcmVwb3J0X2ZkLCBtYXhfdGFyZ2V0X2ZkICsgMSk7Ci0gCi0gICAg ICAgICAgICAgICBzYWZlX2R1cDIgKHNvdXJjZV9mZHNbaV0sIHRhcmdldF9mZHNbaV0pOwotICAg ICAgICAgICAgICAgY2xvc2VfYW5kX2ludmFsaWRhdGUgKCZzb3VyY2VfZmRzW2ldKTsKLS0tIAot Mi4zMy4xCi0KLUZyb20gNjMyNGVjMWNkMzNiOTIzZjU0MzA5OWJkOTc3NjM2NzcyYmE4YWUzZSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgQ2F0YW56YXJvIDxtY2F0YW56 YXJvQGdub21lLm9yZz4KLURhdGU6IFRodSwgMjUgRmViIDIwMjEgMTI6MjA6MzkgLTA2MDAKLVN1 YmplY3Q6IFtQQVRDSCAwNS8xMF0gZ3NwYXduOiBJbXBsZW1lbnQgZmQgcmVtYXBwaW5nIGZvciBw b3NpeF9zcGF3biBjb2RlcGF0aAotCi1UaGlzIG1lYW5zIHRoYXQgR1N1YnByb2Nlc3Mgd2lsbCAo c29tZXRpbWVzKSBiZSBhYmxlIHRvIHVzZSB0aGUKLW9wdGltaXplZCBwb3NpeF9zcGF3biBjb2Rl cGF0aCBpbnN0ZWFkIG9mIGhhdmluZyB0byBmYWxsIGJhY2sgdG8KLWZvcmsvZXhlYy4KLS0tLQot IGdsaWIvZ3NwYXduLmMgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNyBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2dsaWIvZ3NwYXduLmMgYi9nbGliL2dzcGF3bi5jCi1p bmRleCAxNDlmNWE1YTEuLjMwMTY5NTk4MCAxMDA2NDQKLS0tLSBhL2dsaWIvZ3NwYXduLmMKLSsr KyBiL2dsaWIvZ3NwYXduLmMKLUBAIC0xODc0LDkgKzE4NzQsMTQgQEAgZG9fcG9zaXhfc3Bhd24g KGNvbnN0IGdjaGFyICogY29uc3QgKmFyZ3YsCi0gICAgICAgICAgICAgICAgIGdpbnQgICAgICAg KmNoaWxkX2Nsb3NlX2ZkcywKLSAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgc3RkaW5fZmQs Ci0gICAgICAgICAgICAgICAgIGdpbnQgICAgICAgIHN0ZG91dF9mZCwKLS0gICAgICAgICAgICAg ICAgZ2ludCAgICAgICAgc3RkZXJyX2ZkKQotKyAgICAgICAgICAgICAgICBnaW50ICAgICAgICBz dGRlcnJfZmQsCi0rICAgICAgICAgICAgICAgIGNvbnN0IGdpbnQgKnNvdXJjZV9mZHMsCi0rICAg ICAgICAgICAgICAgIGNvbnN0IGdpbnQgKnRhcmdldF9mZHMsCi0rICAgICAgICAgICAgICAgIGdz aXplICAgICAgIG5fZmRzKQotIHsKLSAgIHBpZF90IHBpZDsKLSsgIGdpbnQgKmR1cGVkX3NvdXJj ZV9mZHMgPSBOVUxMOwotKyAgZ2ludCBtYXhfdGFyZ2V0X2ZkID0gMDsKLSAgIGNvbnN0IGdjaGFy ICogY29uc3QgKmFyZ3ZfcGFzczsKLSAgIHBvc2l4X3NwYXduYXR0cl90IGF0dHI7Ci0gICBwb3Np eF9zcGF3bl9maWxlX2FjdGlvbnNfdCBmaWxlX2FjdGlvbnM7Ci1AQCAtMTg4NSw3ICsxODkwLDgg QEAgZG9fcG9zaXhfc3Bhd24gKGNvbnN0IGdjaGFyICogY29uc3QgKmFyZ3YsCi0gICBHU0xpc3Qg KmNoaWxkX2Nsb3NlID0gTlVMTDsKLSAgIEdTTGlzdCAqZWxlbTsKLSAgIHNpZ3NldF90IG1hc2s7 Ci0tICBpbnQgaSwgcjsKLSsgIHNpemVfdCBpOwotKyAgaW50IHI7Ci0gCi0gICBpZiAoKmFyZ3Zb MF0gPT0gJ1wwJykKLSAgICAgewotQEAgLTE5OTksNiArMjAwNSw0MyBAQCBkb19wb3NpeF9zcGF3 biAoY29uc3QgZ2NoYXIgKiBjb25zdCAqYXJndiwKLSAgICAgICAgIGdvdG8gb3V0X2Nsb3NlX2Zk czsKLSAgICAgfQotIAotKyAgLyogSWYgc291cmNlX2Zkc1tpXSAhPSB0YXJnZXRfZmRzW2ldLCB3 ZSBuZWVkIHRvIGhhbmRsZSB0aGUgY2FzZQotKyAgICogd2hlcmUgdGhlIHVzZXIgaGFzIHNwZWNp ZmllZCwgZS5nLiwgNSAtPiA0LCA0IC0+IDYuIFdlIGRvIHRoaXMKLSsgICAqIGJ5IGR1cGluZyB0 aGUgc291cmNlIGZkcywgdGFraW5nIGNhcmUgdG8gZW5zdXJlIHRoZSBuZXcgZmRzIGFyZQotKyAg ICogbGFyZ2VyIHRoYW4gYW55IHRhcmdldCBmZCB0byBhdm9pZCBpbnRyb2R1Y2luZyBuZXcgY29u ZmxpY3RzLgotKyAgICoKLSsgICAqIElmIHNvdXJjZV9mZHNbaV0gPT0gdGFyZ2V0X2Zkc1tpXSwg dGhlbiB3ZSBqdXN0IG5lZWQgdG8gbGVhawotKyAgICogdGhlIGZkIGludG8gdGhlIGNoaWxkIHBy b2Nlc3MsIHdoaWNoIHdlICpjb3VsZCogZG8gYnkgdGVtcG9yYXJpbHkKLSsgICAqIHVuc2V0dGlu ZyBDTE9FWEVDIGFuZCB0aGVuIHNldHRpbmcgaXQgYWdhaW4gYWZ0ZXIgd2Ugc3Bhd24gaWYKLSsg ICAqIGl0IHdhcyBvcmlnaW5hbGx5IHNldC4gUE9TSVggcmVxdWlyZXMgdGhhdCB0aGUgYWRkdXAy IGFjdGlvbiB1bnNldAotKyAgICogQ0xPRVhFQyBpZiBzb3VyY2UgYW5kIHRhcmdldCBhcmUgaWRl bnRpY2FsLCBzbyB5b3UnZCB0aGluayBkb2luZyBpdAotKyAgICogbWFudWFsbHkgd291bGRuJ3Qg YmUgbmVlZGVkLCBidXQgdW5mb3J0dW5hdGVseSBhcyBvZiAyMDIxIG1hbnkKLSsgICAqIGxpYmNz IHN0aWxsIGRvbid0IGRvIHNvLiBFeGFtcGxlIG5vbmNvbmZvcm1pbmcgbGliY3M6Ci0rICAgKiAg QmlvbmljOiBodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9wbGF0Zm9ybS9iaW9uaWMv Ky9mNmU1YjU4MjYwNDcxNTcyOWIwOWRiM2UzNmE3YWViOGMyNGIzNmE0L2xpYmMvYmlvbmljL3Nw YXduLmNwcCM3MQotKyAgICogIHVjbGliYy1uZzogaHR0cHM6Ly9jZ2l0LnVjbGliYy1uZy5vcmcv Y2dpL2NnaXQvdWNsaWJjLW5nLmdpdC90cmVlL2xpYnJ0L3NwYXduLmM/aWQ9N2MzNmJjYWUwOWQ2 NmJiYWEzNWNiYjAyMjUzYWUwNTU2ZjQyNjc3ZSNuODgKLSsgICAqCi0rICAgKiBBbnl3YXksIHVu c2V0dGluZyBDTE9FWEVDIG91cnNlbHZlcyB3b3VsZCBvcGVuIGEgc21hbGwgcmFjZSB3aW5kb3cK LSsgICAqIHdoZXJlIHRoZSBmZCBjb3VsZCBiZSBpbmhlcml0ZWQgaW50byBhIGNoaWxkIHByb2Nl c3MgaWYgYW5vdGhlcgotKyAgICogdGhyZWFkIHNwYXducyBzb21ldGhpbmcgYXQgdGhlIHNhbWUg dGltZSwgYmVjYXVzZSB3ZSBoYXZlIG5vdAotKyAgICogY2FsbGVkIGZvcmsoKSBhbmQgYXJlIG11 bHRpdGhyZWFkZWQgaGVyZS4gVGhpcyByYWNlIGlzIGF2b2lkYWJsZSBieQotKyAgICogdXNpbmcg ZHVwZmRfY2xvZXhlYywgd2hpY2ggd2UgYWxyZWFkeSBoYXZlIHRvIGRvIHRvIGhhbmRsZSB0aGUK LSsgICAqIHNvdXJjZV9mZHNbaV0gIT0gdGFyZ2V0X2Zkc1tpXSBjYXNlLiBTbyBsZXQncyBhbHdh eXMgZG8gaXQhCi0rICAgKi8KLSsKLSsgIGZvciAoaSA9IDA7IGkgPCBuX2ZkczsgaSsrKQotKyAg ICBtYXhfdGFyZ2V0X2ZkID0gTUFYIChtYXhfdGFyZ2V0X2ZkLCB0YXJnZXRfZmRzW2ldKTsKLSsK LSsgIGR1cGVkX3NvdXJjZV9mZHMgPSBnX25ldyAoZ2ludCwgbl9mZHMpOwotKyAgZm9yIChpID0g MDsgaSA8IG5fZmRzOyBpKyspCi0rICAgIGR1cGVkX3NvdXJjZV9mZHNbaV0gPSBkdXBmZF9jbG9l eGVjIChzb3VyY2VfZmRzW2ldLCBtYXhfdGFyZ2V0X2ZkICsgMSk7Ci0rCi0rICBmb3IgKGkgPSAw OyBpIDwgbl9mZHM7IGkrKykKLSsgICAgewotKyAgICAgIHIgPSBwb3NpeF9zcGF3bl9maWxlX2Fj dGlvbnNfYWRkZHVwMiAoJmZpbGVfYWN0aW9ucywgZHVwZWRfc291cmNlX2Zkc1tpXSwgdGFyZ2V0 X2Zkc1tpXSk7Ci0rICAgICAgaWYgKHIgIT0gMCkKLSsgICAgICAgIGdvdG8gb3V0X2Nsb3NlX2Zk czsKLSsgICAgfQotKwotICAgLyogSW50ZW50aW9uYWxseSBjbG9zZSB0aGUgZmRzIGluIHRoZSBj aGlsZCBhcyB0aGUgbGFzdCBmaWxlIGFjdGlvbiwKLSAgICAqIGhhdmluZyBiZWVuIGNhcmVmdWwg bm90IHRvIGFkZCB0aGUgc2FtZSBmZCB0byB0aGlzIGxpc3QgdHdpY2UuCi0gICAgKgotQEAgLTIw MjgsOSArMjA3MSwxNiBAQCBkb19wb3NpeF9zcGF3biAoY29uc3QgZ2NoYXIgKiBjb25zdCAqYXJn diwKLSAgICAgKmNoaWxkX3BpZCA9IHBpZDsKLSAKLSBvdXRfY2xvc2VfZmRzOgotLSAgZm9yIChp ID0gMDsgaSA8IG51bV9wYXJlbnRfY2xvc2VfZmRzOyBpKyspCi0rICBmb3IgKGkgPSAwOyBpIDwg KHNpemVfdCkgbnVtX3BhcmVudF9jbG9zZV9mZHM7IGkrKykKLSAgICAgY2xvc2VfYW5kX2ludmFs aWRhdGUgKCZwYXJlbnRfY2xvc2VfZmRzIFtpXSk7Ci0gCi0rICBpZiAoZHVwZWRfc291cmNlX2Zk cyAhPSBOVUxMKQotKyAgICB7Ci0rICAgICAgZm9yIChpID0gMDsgaSA8IG5fZmRzOyBpKyspCi0r ICAgICAgICBjbG9zZV9hbmRfaW52YWxpZGF0ZSAoJmR1cGVkX3NvdXJjZV9mZHNbaV0pOwotKyAg ICAgIGdfZnJlZSAoZHVwZWRfc291cmNlX2Zkcyk7Ci0rICAgIH0KLSsKLSAgIHBvc2l4X3NwYXdu X2ZpbGVfYWN0aW9uc19kZXN0cm95ICgmZmlsZV9hY3Rpb25zKTsKLSBvdXRfZnJlZV9zcGF3bmF0 dHI6Ci0gICBwb3NpeF9zcGF3bmF0dHJfZGVzdHJveSAoJmF0dHIpOwotQEAgLTIxMTgsMTAgKzIx NjgsOCBAQCBmb3JrX2V4ZWMgKGdib29sZWFuICAgICAgICAgICAgICBpbnRlcm1lZGlhdGVfY2hp bGQsCi0gICBjaGlsZF9jbG9zZV9mZHNbbl9jaGlsZF9jbG9zZV9mZHMrK10gPSAtMTsKLSAKLSAj aWZkZWYgUE9TSVhfU1BBV05fQVZBSUxBQkxFCi0tICAvKiBGSVhNRTogSGFuZGxlIEBzb3VyY2Vf ZmRzIGFuZCBAdGFyZ2V0X2ZkcyBpbiBkb19wb3NpeF9zcGF3bigpIHVzaW5nIHRoZQotLSAgICog ZmlsZSBhY3Rpb25zIEFQSS4gKi8KLSAgIGlmICghaW50ZXJtZWRpYXRlX2NoaWxkICYmIHdvcmtp bmdfZGlyZWN0b3J5ID09IE5VTEwgJiYgIWNsb3NlX2Rlc2NyaXB0b3JzICYmCi0tICAgICAgIXNl YXJjaF9wYXRoX2Zyb21fZW52cCAmJiBjaGlsZF9zZXR1cCA9PSBOVUxMICYmIG5fZmRzID09IDAp Ci0rICAgICAgIXNlYXJjaF9wYXRoX2Zyb21fZW52cCAmJiBjaGlsZF9zZXR1cCA9PSBOVUxMKQot ICAgICB7Ci0gICAgICAgZ190cmFjZV9tYXJrIChHX1RSQUNFX0NVUlJFTlRfVElNRSwgMCwKLSAg ICAgICAgICAgICAgICAgICAgICJHTGliIiwgInBvc2l4X3NwYXduIiwKLUBAIC0yMTM4LDcgKzIx ODYsMTAgQEAgZm9ya19leGVjIChnYm9vbGVhbiAgICAgICAgICAgICAgaW50ZXJtZWRpYXRlX2No aWxkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZF9jbG9zZV9mZHMsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGluX2ZkLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdGRvdXRfZmQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0ZGVycl9mZCk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycl9m ZCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlX2ZkcywKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2ZkcywKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbl9mZHMpOwotICAgICAgIGlmIChzdGF0dXMgPT0gMCkKLSAgICAgICAgIGdv dG8gc3VjY2VzczsKLSAKLS0tIAotMi4zMy4xCi0KLUZyb20gYzNlMTQ3ODU3Yzk4MzgzNWEyMmRi Y2FkMzQ5MjhiNDBiZmVlMzkwNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hh ZWwgQ2F0YW56YXJvIDxtY2F0YW56YXJvQGdub21lLm9yZz4KLURhdGU6IFRodSwgMjUgRmViIDIw MjEgMTI6MjE6MzggLTA2MDAKLVN1YmplY3Q6IFtQQVRDSCAwNi8xMF0gZ3N1YnByb2Nlc3M6IGVu c3VyZSB3ZSB0ZXN0IGZkIHJlbWFwcGluZyBvbiB0aGUKLSBwb3NpeF9zcGF3bigpIGNvZGVwYXRo Ci0KLVdlIHNob3VsZCBydW4gdGVzdF9wYXNzX2ZkIHR3aWNlLCBvbmNlIHVzaW5nIGdzcGF3bidz IGZvcmsvZXhlYyBjb2RlcGF0aAotYW5kIG9uY2UgYXR0ZW1wdGluZyB0byB1c2UgaXRzIHBvc2l4 X3NwYXduKCkgY29kZXBhdGguIFRoZXJlJ3Mgbm8KLWd1YXJhbnRlZSB3ZSdsbCBhY3R1YWxseSBn ZXQgdGhlIHBvc2l4X3NwYXduKCkgY29kZXBhdGgsIGJ1dCBpdCB3b3JrcwotZm9yIG5vdyBvbiBM aW51eC4KLQotRm9yIGdvb2QgbWVhc3VyZSwgcnVuIGl0IGEgdGhpcmQgdGltZSB3aXRoIG5vIGZs YWdzIGF0IGFsbC4KLQotVGhpcyBjYXVzZXMgdGhlIHRlc3QgdG8gZmFpbCBpZiBJIHNlcGFyYXRl bHkgYnJlYWsgdGhlIGZkIHJlbWFwcGluZwotaW1wbGVtZW50YXRpb24uIFdpdGhvdXQgdGhpcywg d2UgZmFpbCB0byB0ZXN0IGZkIHJlbWFwcGluZyBvbiB0aGUKLXBvc2l4X3NwYXduKCkgY29kZXBh dGguCi0tLS0KLSBnaW8vdGVzdHMvZ3N1YnByb2Nlc3MuYyB8IDQ0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9naW8vdGVzdHMvZ3N1YnByb2Nlc3Mu YyBiL2dpby90ZXN0cy9nc3VicHJvY2Vzcy5jCi1pbmRleCAwODRiNzdkZjMuLmIxMGFkZTc3OCAx MDA2NDQKLS0tLSBhL2dpby90ZXN0cy9nc3VicHJvY2Vzcy5jCi0rKysgYi9naW8vdGVzdHMvZ3N1 YnByb2Nlc3MuYwotQEAgLTE2OTcsNyArMTY5Nyw4IEBAIHRlc3RfY2hpbGRfc2V0dXAgKHZvaWQp Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0tdGVzdF9wYXNzX2ZkICh2b2lkKQotK2RvX3Rlc3RfcGFz c19mZCAoR1N1YnByb2Nlc3NGbGFncyAgICAgZmxhZ3MsCi0rICAgICAgICAgICAgICAgICBHU3Bh d25DaGlsZFNldHVwRnVuYyBjaGlsZF9zZXR1cCkKLSB7Ci0gICBHRXJyb3IgKmxvY2FsX2Vycm9y ID0gTlVMTDsKLSAgIEdFcnJvciAqKmVycm9yID0gJmxvY2FsX2Vycm9yOwotQEAgLTE3MjIsOSAr MTcyMywxMSBAQCB0ZXN0X3Bhc3NfZmQgKHZvaWQpCi0gICBuZWVkZHVwX2ZkX3N0ciA9IGdfc3Ry ZHVwX3ByaW50ZiAoIiVkIiwgbmVlZGR1cF9waXBlZmRzWzFdICsgMSk7Ci0gCi0gICBhcmdzID0g Z2V0X3Rlc3Rfc3VicHJvY2Vzc19hcmdzICgid3JpdGUtdG8tZmRzIiwgYmFzaWNfZmRfc3RyLCBu ZWVkZHVwX2ZkX3N0ciwgTlVMTCk7Ci0tICBsYXVuY2hlciA9IGdfc3VicHJvY2Vzc19sYXVuY2hl cl9uZXcgKEdfU1VCUFJPQ0VTU19GTEFHU19OT05FKTsKLSsgIGxhdW5jaGVyID0gZ19zdWJwcm9j ZXNzX2xhdW5jaGVyX25ldyAoZmxhZ3MpOwotICAgZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3Rha2Vf ZmQgKGxhdW5jaGVyLCBiYXNpY19waXBlZmRzWzFdLCBiYXNpY19waXBlZmRzWzFdKTsKLSAgIGdf c3VicHJvY2Vzc19sYXVuY2hlcl90YWtlX2ZkIChsYXVuY2hlciwgbmVlZGR1cF9waXBlZmRzWzFd LCBuZWVkZHVwX3BpcGVmZHNbMV0gKyAxKTsKLSsgIGlmIChjaGlsZF9zZXR1cCAhPSBOVUxMKQot KyAgICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc2V0X2NoaWxkX3NldHVwIChsYXVuY2hlciwgY2hp bGRfc2V0dXAsIE5VTEwsIE5VTEwpOwotICAgcHJvYyA9IGdfc3VicHJvY2Vzc19sYXVuY2hlcl9z cGF3bnYgKGxhdW5jaGVyLCAoY29uc3QgZ2NoYXIgKiBjb25zdCAqKSBhcmdzLT5wZGF0YSwgZXJy b3IpOwotICAgZ19wdHJfYXJyYXlfZnJlZSAoYXJncywgVFJVRSk7Ci0gICBnX2Fzc2VydF9ub19l cnJvciAobG9jYWxfZXJyb3IpOwotQEAgLTE3NTQsNiArMTc1NywzOSBAQCB0ZXN0X3Bhc3NfZmQg KHZvaWQpCi0gICBnX29iamVjdF91bnJlZiAocHJvYyk7Ci0gfQotIAotK3N0YXRpYyB2b2lkCi0r dGVzdF9wYXNzX2ZkICh2b2lkKQotK3sKLSsgIGRvX3Rlc3RfcGFzc19mZCAoR19TVUJQUk9DRVNT X0ZMQUdTX05PTkUsIE5VTEwpOwotK30KLSsKLStzdGF0aWMgdm9pZAotK2VtcHR5X2NoaWxkX3Nl dHVwIChncG9pbnRlciB1c2VyX2RhdGEpCi0rewotK30KLSsKLStzdGF0aWMgdm9pZAotK3Rlc3Rf cGFzc19mZF9lbXB0eV9jaGlsZF9zZXR1cCAodm9pZCkKLSt7Ci0rICAvKiBVc2luZyBhIGNoaWxk IHNldHVwIGZ1bmN0aW9uIGZvcmNlcyBnc3Bhd24gdG8gdXNlIGZvcmsvZXhlYwotKyAgICogcmF0 aGVyIHRoYW4gcG9zaXhfc3Bhd24uCi0rICAgKi8KLSsgIGRvX3Rlc3RfcGFzc19mZCAoR19TVUJQ Uk9DRVNTX0ZMQUdTX05PTkUsIGVtcHR5X2NoaWxkX3NldHVwKTsKLSt9Ci0rCi0rc3RhdGljIHZv aWQKLSt0ZXN0X3Bhc3NfZmRfaW5oZXJpdF9mZHMgKHZvaWQpCi0rewotKyAgLyogVHJ5IHRvIHRl c3QgdGhlIG9wdGltaXplZCBwb3NpeF9zcGF3biBjb2RlcGF0aCBpbnN0ZWFkIG9mCi0rICAgKiBm b3JrL2V4ZWMuIEN1cnJlbnRseSB0aGlzIHJlcXVpcmVzIHVzaW5nIElOSEVSSVRfRkRTIHNpbmNl IGdzcGF3bidzCi0rICAgKiBwb3NpeF9zcGF3biBjb2RlcGF0aCBkb2VzIG5vdCBjdXJyZW50bHkg aGFuZGxlIGNsb3NpbmcKLSsgICAqIG5vbi1pbmhlcml0ZWQgZmRzLiBOb3RlIHRoYXQgdXNpbmcg SU5IRVJJVF9GRFMgbWVhbnMgb3VyIHRlc3Rpbmcgb2YKLSsgICAqIGdfc3VicHJvY2Vzc19sYXVu Y2hlcl90YWtlX2ZkKCkgaXMgbGVzcy1jb21wcmVoZW5zaXZlIHRoYW4gd2hlbgotKyAgICogdXNp bmcgR19TVUJQUk9DRVNTX0ZMQUdTX05PTkUuCi0rICAgKi8KLSsgIGRvX3Rlc3RfcGFzc19mZCAo R19TVUJQUk9DRVNTX0ZMQUdTX0lOSEVSSVRfRkRTLCBOVUxMKTsKLSt9Ci0rCi0gI2VuZGlmCi0g Ci0gc3RhdGljIHZvaWQKLUBAIC0xODkwLDcgKzE5MjYsOSBAQCBtYWluIChpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCi0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvZ3N1YnByb2Nlc3Mvc3Rkb3V0LWZpbGUi LCB0ZXN0X3N0ZG91dF9maWxlKTsKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9z dGRvdXQtZmQiLCB0ZXN0X3N0ZG91dF9mZCk7Ci0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvZ3N1YnBy b2Nlc3MvY2hpbGQtc2V0dXAiLCB0ZXN0X2NoaWxkX3NldHVwKTsKLS0gIGdfdGVzdF9hZGRfZnVu YyAoIi9nc3VicHJvY2Vzcy9wYXNzLWZkIiwgdGVzdF9wYXNzX2ZkKTsKLSsgIGdfdGVzdF9hZGRf ZnVuYyAoIi9nc3VicHJvY2Vzcy9wYXNzLWZkL2Jhc2ljIiwgdGVzdF9wYXNzX2ZkKTsKLSsgIGdf dGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9wYXNzLWZkL2VtcHR5LWNoaWxkLXNldHVwIiwg dGVzdF9wYXNzX2ZkX2VtcHR5X2NoaWxkX3NldHVwKTsKLSsgIGdfdGVzdF9hZGRfZnVuYyAoIi9n c3VicHJvY2Vzcy9wYXNzLWZkL2luaGVyaXQtZmRzIiwgdGVzdF9wYXNzX2ZkX2luaGVyaXRfZmRz KTsKLSAjZW5kaWYKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9sYXVuY2hlci1l bnZpcm9ubWVudCIsIHRlc3RfbGF1bmNoZXJfZW52aXJvbm1lbnQpOwotIAotLS0gCi0yLjMzLjEK LQotRnJvbSBjZTE3NGU0MDA1M2QyM2YwMWJiMTNmZDk0NTNmMGZmYjhjMmU3ZTJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9AcmVk aGF0LmNvbT4KLURhdGU6IFRodSwgMTQgT2N0IDIwMjEgMTE6MDE6MzMgLTA1MDAKLVN1YmplY3Q6 IFtQQVRDSCAwNy8xMF0gZ3NwYXduOiBDaGVjayBmcm9tIGVycm9ycyBmcm9tIHNhZmVfZHVwMigp IGFuZAotIGR1cGZkX2Nsb2V4ZWMoKQotCi1BbHRob3VnaCB1bmxpa2VseSwgdGhlc2UgZnVuY3Rp b25zIGNhbiBmYWlsLCBlLmcuIGlmIHdlIHJ1biBvdXQgb2YgZmlsZQotZGVzY3JpcHRvcnMuIENo ZWNrIGZvciBlcnJvcnMgdG8gaW1wcm92ZSByb2J1c3RuZXNzLiBUaGlzIGlzIGVzcGVjaWFsbHkK LWltcG9ydGFudCBub3cgdGhhdCBJIGNoYW5nZWQgb3VyIHVzZSBvZiBkdXBmZF9jbG9leGVjKCkg dG8gYXZvaWQKLXJldHVybmluZyBmZHMgc21hbGxlciB0aGFuIHRoZSBsYXJnZXN0IGZkIGluIHRh cmdldF9mZHMuIEFuIGFwcGxpY2F0aW9uCi10aGF0IGF0dGVtcHRzIHRvIHJlbWFwIHRvIHRoZSBo aWdoZXN0LWFsbG93ZWQgZmQgdmFsdWUgZGVzZXJ2ZXMgYXQgbGVhc3QKLXNvbWUgc29ydCBvZiBh dHRlbXB0IGF0IGVycm9yIHJlcG9ydGluZywgbm90IHNpbGVudCBmYWlsdXJlLgotLS0tCi0gZ2xp Yi9nc3Bhd24uYyB8IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9nbGliL2dzcGF3bi5jIGIvZ2xpYi9nc3Bhd24uYwotaW5kZXggMzAxNjk1OTgw Li44NDhmZDlmNmUgMTAwNjQ0Ci0tLS0gYS9nbGliL2dzcGF3bi5jCi0rKysgYi9nbGliL2dzcGF3 bi5jCi1AQCAtMTY2MCw3ICsxNjYwLDYgQEAgZG9fZXhlYyAoZ2ludCAgICAgICAgICAgICAgICAg IGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0gICAvKiBSZWRpcmVjdCBwaXBlcyBhcyByZXF1aXJlZCAq LwotICAgaWYgKHN0ZGluX2ZkID49IDApCi0gICAgIHsKLS0gICAgICAvKiBkdXAyIGNhbid0IGFj dHVhbGx5IGZhaWwgaGVyZSBJIGRvbid0IHRoaW5rICovCi0gICAgICAgaWYgKHNhZmVfZHVwMiAo c3RkaW5fZmQsIDApIDwgMCkKLSAgICAgICAgIHdyaXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJy X3JlcG9ydF9mZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hJTERfRFVQMl9GQUlM RUQpOwotQEAgLTE2NzYsMTMgKzE2NzUsMTQgQEAgZG9fZXhlYyAoZ2ludCAgICAgICAgICAgICAg ICAgIGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0gICAgICAgaWYgKHJlYWRfbnVsbCA8IDApCi0gICAg ICAgICB3cml0ZV9lcnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENISUxEX0RVUDJfRkFJTEVEKTsKLS0gICAgICBzYWZlX2R1cDIg KHJlYWRfbnVsbCwgMCk7Ci0rICAgICAgaWYgKHNhZmVfZHVwMiAocmVhZF9udWxsLCAwKSA8IDAp Ci0rICAgICAgICB3cml0ZV9lcnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENISUxEX0RVUDJfRkFJTEVEKTsKLSAgICAgICBjbG9z ZV9hbmRfaW52YWxpZGF0ZSAoJnJlYWRfbnVsbCk7Ci0gICAgIH0KLSAKLSAgIGlmIChzdGRvdXRf ZmQgPj0gMCkKLSAgICAgewotLSAgICAgIC8qIGR1cDIgY2FuJ3QgYWN0dWFsbHkgZmFpbCBoZXJl IEkgZG9uJ3QgdGhpbmsgKi8KLSAgICAgICBpZiAoc2FmZV9kdXAyIChzdGRvdXRfZmQsIDEpIDwg MCkKLSAgICAgICAgIHdyaXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0hJTERfRFVQMl9GQUlMRUQpOwotQEAgLTE2OTcs MTMgKzE2OTcsMTQgQEAgZG9fZXhlYyAoZ2ludCAgICAgICAgICAgICAgICAgIGNoaWxkX2Vycl9y ZXBvcnRfZmQsCi0gICAgICAgaWYgKHdyaXRlX251bGwgPCAwKQotICAgICAgICAgd3JpdGVfZXJy X2FuZF9leGl0IChjaGlsZF9lcnJfcmVwb3J0X2ZkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDSElMRF9EVVAyX0ZBSUxFRCk7Ci0tICAgICAgc2FmZV9kdXAyICh3cml0ZV9udWxsLCAx KTsKLSsgICAgICBpZiAoc2FmZV9kdXAyICh3cml0ZV9udWxsLCAxKSA8IDApCi0rICAgICAgICB3 cml0ZV9lcnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENISUxEX0RVUDJfRkFJTEVEKTsKLSAgICAgICBjbG9zZV9hbmRfaW52YWxp ZGF0ZSAoJndyaXRlX251bGwpOwotICAgICB9Ci0gCi0gICBpZiAoc3RkZXJyX2ZkID49IDApCi0g ICAgIHsKLS0gICAgICAvKiBkdXAyIGNhbid0IGFjdHVhbGx5IGZhaWwgaGVyZSBJIGRvbid0IHRo aW5rICovCi0gICAgICAgaWYgKHNhZmVfZHVwMiAoc3RkZXJyX2ZkLCAyKSA8IDApCi0gICAgICAg ICB3cml0ZV9lcnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENISUxEX0RVUDJfRkFJTEVEKTsKLUBAIC0xNzE4LDcgKzE3MTksOSBA QCBkb19leGVjIChnaW50ICAgICAgICAgICAgICAgICAgY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAg ICAgICBpZiAod3JpdGVfbnVsbCA8IDApCi0gICAgICAgICB3cml0ZV9lcnJfYW5kX2V4aXQgKGNo aWxkX2Vycl9yZXBvcnRfZmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIENISUxEX0RV UDJfRkFJTEVEKTsKLS0gICAgICBzYWZlX2R1cDIgKHdyaXRlX251bGwsIDIpOwotKyAgICAgIGlm IChzYWZlX2R1cDIgKHdyaXRlX251bGwsIDIpIDwgMCkKLSsgICAgICAgIHdyaXRlX2Vycl9hbmRf ZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q0hJTERfRFVQMl9GQUlMRUQpOwotICAgICAgIGNsb3NlX2FuZF9pbnZhbGlkYXRlICgmd3JpdGVf bnVsbCk7Ci0gICAgIH0KLSAKLUBAIC0xNzMxLDcgKzE3MzQsOCBAQCBkb19leGVjIChnaW50ICAg ICAgICAgICAgICAgICAgY2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAgICAgewotICAgICAgIGlmIChj aGlsZF9zZXR1cCA9PSBOVUxMICYmIG5fZmRzID09IDApCi0gICAgICAgICB7Ci0tICAgICAgICAg IHNhZmVfZHVwMiAoY2hpbGRfZXJyX3JlcG9ydF9mZCwgMyk7Ci0rICAgICAgICAgIGlmIChzYWZl X2R1cDIgKGNoaWxkX2Vycl9yZXBvcnRfZmQsIDMpIDwgMCkKLSsgICAgICAgICAgICB3cml0ZV9l cnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9yZXBvcnRfZmQsIENISUxEX0RVUDJfRkFJTEVEKTsKLSAg ICAgICAgICAgc2V0X2Nsb2V4ZWMgKEdJTlRfVE9fUE9JTlRFUiAoMCksIDMpOwotICAgICAgICAg ICBzYWZlX2Nsb3NlZnJvbSAoNCk7Ci0gICAgICAgICAgIGNoaWxkX2Vycl9yZXBvcnRfZmQgPSAz OwotQEAgLTE3NzAsNyArMTc3NCwxMSBAQCBkb19leGVjIChnaW50ICAgICAgICAgICAgICAgICAg Y2hpbGRfZXJyX3JlcG9ydF9mZCwKLSAgICAgICBmb3IgKGkgPSAwOyBpIDwgbl9mZHM7IGkrKykK LSAgICAgICAgIHsKLSAgICAgICAgICAgaWYgKHNvdXJjZV9mZHNbaV0gIT0gdGFyZ2V0X2Zkc1tp XSkKLS0gICAgICAgICAgICBzb3VyY2VfZmRzW2ldID0gZHVwZmRfY2xvZXhlYyAoc291cmNlX2Zk c1tpXSwgbWF4X3RhcmdldF9mZCArIDEpOwotKyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAg IHNvdXJjZV9mZHNbaV0gPSBkdXBmZF9jbG9leGVjIChzb3VyY2VfZmRzW2ldLCBtYXhfdGFyZ2V0 X2ZkICsgMSk7Ci0rICAgICAgICAgICAgICBpZiAoc291cmNlX2Zkc1tpXSA8IDApCi0rICAgICAg ICAgICAgICAgIHdyaXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwgQ0hJTERf RFVQMl9GQUlMRUQpOwotKyAgICAgICAgICAgIH0KLSAgICAgICAgIH0KLSAKLSAgICAgICBmb3Ig KGkgPSAwOyBpIDwgbl9mZHM7IGkrKykKLUBAIC0xNzg4LDkgKzE3OTYsMTUgQEAgZG9fZXhlYyAo Z2ludCAgICAgICAgICAgICAgICAgIGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0gICAgICAgICAgICAg ICAgKiBkdXAgaXQgc28gaXQgZG9lc27igJl0IGdldCBjb25mbGF0ZWQuCi0gICAgICAgICAgICAg ICAgKi8KLSAgICAgICAgICAgICAgIGlmICh0YXJnZXRfZmRzW2ldID09IGNoaWxkX2Vycl9yZXBv cnRfZmQpCi0tICAgICAgICAgICAgICAgIGNoaWxkX2Vycl9yZXBvcnRfZmQgPSBkdXBmZF9jbG9l eGVjIChjaGlsZF9lcnJfcmVwb3J0X2ZkLCBtYXhfdGFyZ2V0X2ZkICsgMSk7Ci0rICAgICAgICAg ICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICBjaGlsZF9lcnJfcmVwb3J0X2ZkID0gZHVwZmRf Y2xvZXhlYyAoY2hpbGRfZXJyX3JlcG9ydF9mZCwgbWF4X3RhcmdldF9mZCArIDEpOwotKyAgICAg ICAgICAgICAgICAgIGlmIChjaGlsZF9lcnJfcmVwb3J0X2ZkIDwgMCkKLSsgICAgICAgICAgICAg ICAgICAgIHdyaXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwgQ0hJTERfRFVQ Ml9GQUlMRUQpOwotKyAgICAgICAgICAgICAgICB9Ci0rCi0rICAgICAgICAgICAgICBpZiAoc2Fm ZV9kdXAyIChzb3VyY2VfZmRzW2ldLCB0YXJnZXRfZmRzW2ldKSA8IDApCi0rICAgICAgICAgICAg ICAgIHdyaXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwgQ0hJTERfRFVQMl9G QUlMRUQpOwotIAotLSAgICAgICAgICAgICAgc2FmZV9kdXAyIChzb3VyY2VfZmRzW2ldLCB0YXJn ZXRfZmRzW2ldKTsKLSAgICAgICAgICAgICAgIGNsb3NlX2FuZF9pbnZhbGlkYXRlICgmc291cmNl X2Zkc1tpXSk7Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotQEAgLTIwMzMsNyArMjA0Nywx MSBAQCBkb19wb3NpeF9zcGF3biAoY29uc3QgZ2NoYXIgKiBjb25zdCAqYXJndiwKLSAKLSAgIGR1 cGVkX3NvdXJjZV9mZHMgPSBnX25ldyAoZ2ludCwgbl9mZHMpOwotICAgZm9yIChpID0gMDsgaSA8 IG5fZmRzOyBpKyspCi0tICAgIGR1cGVkX3NvdXJjZV9mZHNbaV0gPSBkdXBmZF9jbG9leGVjIChz b3VyY2VfZmRzW2ldLCBtYXhfdGFyZ2V0X2ZkICsgMSk7Ci0rICAgIHsKLSsgICAgICBkdXBlZF9z b3VyY2VfZmRzW2ldID0gZHVwZmRfY2xvZXhlYyAoc291cmNlX2Zkc1tpXSwgbWF4X3RhcmdldF9m ZCArIDEpOwotKyAgICAgIGlmIChkdXBlZF9zb3VyY2VfZmRzW2ldIDwgMCkKLSsgICAgICAgIGdv dG8gb3V0X2Nsb3NlX2ZkczsKLSsgICAgfQotIAotICAgZm9yIChpID0gMDsgaSA8IG5fZmRzOyBp KyspCi0gICAgIHsKLS0tIAotMi4zMy4xCi0KLUZyb20gODEwYjc4ZmQ3OWNhYThjNDQxODczNWY1 MTM5MjFhNWFmMWMyMjViMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwg Q2F0YW56YXJvIDxtY2F0YW56YXJvQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIwIE9jdCAyMDIx IDE2OjUxOjQ0IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTBdIGdzcGF3bjogYWRkIG5ldyBl cnJvciBtZXNzYWdlIGZvciBvcGVuKCkgZmFpbHVyZXMKLQotUmVwb3J0aW5nIHRoZXNlIGFzIGR1 cDIoKSBmYWlsdXJlcyBpcyBib2d1cy4KLS0tLQotIGdsaWIvZ3NwYXduLmMgfCAxNyArKysrKysr KysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQotCi1kaWZmIC0tZ2l0IGEvZ2xpYi9nc3Bhd24uYyBiL2dsaWIvZ3NwYXduLmMKLWluZGV4 IDg0OGZkOWY2ZS4uZGZkMWIyMjY4IDEwMDY0NAotLS0tIGEvZ2xpYi9nc3Bhd24uYwotKysrIGIv Z2xpYi9nc3Bhd24uYwotQEAgLTE2MjAsNiArMTYyMCw3IEBAIGVudW0KLSB7Ci0gICBDSElMRF9D SERJUl9GQUlMRUQsCi0gICBDSElMRF9FWEVDX0ZBSUxFRCwKLSsgIENISUxEX09QRU5fRkFJTEVE LAotICAgQ0hJTERfRFVQMl9GQUlMRUQsCi0gICBDSElMRF9GT1JLX0ZBSUxFRAotIH07Ci1AQCAt MTY3NCw3ICsxNjc1LDcgQEAgZG9fZXhlYyAoZ2ludCAgICAgICAgICAgICAgICAgIGNoaWxkX2Vy cl9yZXBvcnRfZmQsCi0gICAgICAgZ2ludCByZWFkX251bGwgPSBzYWZlX29wZW4gKCIvZGV2L251 bGwiLCBPX1JET05MWSk7Ci0gICAgICAgaWYgKHJlYWRfbnVsbCA8IDApCi0gICAgICAgICB3cml0 ZV9lcnJfYW5kX2V4aXQgKGNoaWxkX2Vycl9yZXBvcnRfZmQsCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgIENISUxEX0RVUDJfRkFJTEVEKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQ0hJTERfT1BFTl9GQUlMRUQpOwotICAgICAgIGlmIChzYWZlX2R1cDIgKHJlYWRfbnVsbCwg MCkgPCAwKQotICAgICAgICAgd3JpdGVfZXJyX2FuZF9leGl0IChjaGlsZF9lcnJfcmVwb3J0X2Zk LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSElMRF9EVVAyX0ZBSUxFRCk7Ci1AQCAt MTY5Niw3ICsxNjk3LDcgQEAgZG9fZXhlYyAoZ2ludCAgICAgICAgICAgICAgICAgIGNoaWxkX2Vy cl9yZXBvcnRfZmQsCi0gICAgICAgZ2ludCB3cml0ZV9udWxsID0gc2FmZV9vcGVuICgiL2Rldi9u dWxsIiwgT19XUk9OTFkpOwotICAgICAgIGlmICh3cml0ZV9udWxsIDwgMCkKLSAgICAgICAgIHdy aXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgQ0hJTERfRFVQMl9GQUlMRUQpOwotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDSElMRF9PUEVOX0ZBSUxFRCk7Ci0gICAgICAgaWYgKHNhZmVfZHVwMiAod3JpdGVfbnVs bCwgMSkgPCAwKQotICAgICAgICAgd3JpdGVfZXJyX2FuZF9leGl0IChjaGlsZF9lcnJfcmVwb3J0 X2ZkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSElMRF9EVVAyX0ZBSUxFRCk7Ci1A QCAtMTcxOCw3ICsxNzE5LDcgQEAgZG9fZXhlYyAoZ2ludCAgICAgICAgICAgICAgICAgIGNoaWxk X2Vycl9yZXBvcnRfZmQsCi0gICAgICAgZ2ludCB3cml0ZV9udWxsID0gc2FmZV9vcGVuICgiL2Rl di9udWxsIiwgT19XUk9OTFkpOwotICAgICAgIGlmICh3cml0ZV9udWxsIDwgMCkKLSAgICAgICAg IHdyaXRlX2Vycl9hbmRfZXhpdCAoY2hpbGRfZXJyX3JlcG9ydF9mZCwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ0hJTERfRFVQMl9GQUlMRUQpOwotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDSElMRF9PUEVOX0ZBSUxFRCk7Ci0gICAgICAgaWYgKHNhZmVfZHVwMiAod3JpdGVf bnVsbCwgMikgPCAwKQotICAgICAgICAgd3JpdGVfZXJyX2FuZF9leGl0IChjaGlsZF9lcnJfcmVw b3J0X2ZkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDSElMRF9EVVAyX0ZBSUxFRCk7 Ci1AQCAtMjUwOCw3ICsyNTA5LDE1IEBAIGZvcmtfZXhlYyAoZ2Jvb2xlYW4gICAgICAgICAgICAg IGludGVybWVkaWF0ZV9jaGlsZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3N0cmVy cm9yIChidWZbMV0pKTsKLSAKLSAgICAgICAgICAgICAgIGJyZWFrOwotLSAgICAgICAgICAgICAg Ci0rCi0rICAgICAgICAgICAgY2FzZSBDSElMRF9PUEVOX0ZBSUxFRDoKLSsgICAgICAgICAgICAg IGdfc2V0X2Vycm9yIChlcnJvciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBHX1NQQVdO X0VSUk9SLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfU1BBV05fRVJST1JfRkFJTEVE LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIkZhaWxlZCB0byBvcGVuIGZpbGUgdG8g cmVtYXAgZmlsZSBkZXNjcmlwdG9yICglcykiKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICBnX3N0cmVycm9yIChidWZbMV0pKTsKLSsgICAgICAgICAgICAgIGJyZWFrOwotKwotICAgICAg ICAgICAgIGNhc2UgQ0hJTERfRFVQMl9GQUlMRUQ6Ci0gICAgICAgICAgICAgICBnX3NldF9lcnJv ciAoZXJyb3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgR19TUEFXTl9FUlJPUiwKLS0t IAotMi4zMy4xCi0KLUZyb20gODE1YjZmMWRlODljYzY2NTQ5MmFmMzE4OTMyNjhmZTU4YzY4NmQ2 ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pY2hhZWwgQ2F0YW56YXJvIDxtY2F0 YW56YXJvQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDI2IE9jdCAyMDIxIDIxOjI3OjE1IC0wNTAw Ci1TdWJqZWN0OiBbUEFUQ0ggMDkvMTBdIEFkZCB0ZXN0cyBmb3IgR1N1YnByb2Nlc3MgZmQgY29u ZmxhdGlvbiBpc3N1ZXMKLQotVGhpcyB0ZXN0cyBmb3IgIzI1MDMuIEl0J3MgZnJhZ2lsZSwgYnV0 IHRoZXJlIGlzIG5vIG5vbi1mcmFnaWxlIHdheSB0bwotdGVzdCB0aGlzLiBJZiB0aGUgdGVzdCBi cmVha3MgaW4gdGhlIGZ1dHVyZSwgaXQgd2lsbCBwYXNzIHdpdGhvdXQKLXN1Y2Nlc3NmdWxseSB0 ZXN0aW5nIHRoZSBidWcsIG5vdCBmYWlsIHNwdXJpb3VzbHksIHNvIEkgdGhpbmsgdGhpcyBpcwot T0suCi0tLS0KLSBnaW8vdGVzdHMvZ3N1YnByb2Nlc3MtdGVzdHByb2cuYyB8ICA1MyArKysrKysr KysrKy0KLSBnaW8vdGVzdHMvZ3N1YnByb2Nlc3MuYyAgICAgICAgICB8IDE0NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAxOTUgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2dpby90ZXN0cy9nc3VicHJvY2Vzcy10 ZXN0cHJvZy5jIGIvZ2lvL3Rlc3RzL2dzdWJwcm9jZXNzLXRlc3Rwcm9nLmMKLWluZGV4IGRhM2Nm OGQwMC4uOTBiZTkzOGI4IDEwMDY0NAotLS0tIGEvZ2lvL3Rlc3RzL2dzdWJwcm9jZXNzLXRlc3Rw cm9nLmMKLSsrKyBiL2dpby90ZXN0cy9nc3VicHJvY2Vzcy10ZXN0cHJvZy5jCi1AQCAtNSw4ICs1 LDYgQEAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaWZkZWYgR19PU19VTklYCi0gI2luY2x1ZGUg PHVuaXN0ZC5oPgotLSNpbmNsdWRlIDxnaW8vZ3VuaXhpbnB1dHN0cmVhbS5oPgotLSNpbmNsdWRl IDxnaW8vZ3VuaXhvdXRwdXRzdHJlYW0uaD4KLSAjZWxzZQotICNpbmNsdWRlIDxpby5oPgotICNl bmRpZgotQEAgLTE1MCw2ICsxNDgsNTUgQEAgd3JpdGVfdG9fZmRzIChpbnQgYXJnYywgY2hhciAq KmFyZ3YpCi0gICByZXR1cm4gMDsKLSB9Ci0gCi0rc3RhdGljIGludAotK3JlYWRfZnJvbV9mZCAo aW50IGFyZ2MsIGNoYXIgKiphcmd2KQotK3sKLSsgIGludCBmZDsKLSsgIGNvbnN0IGNoYXIgZXhw ZWN0ZWRSZXN1bHRbXSA9ICJZYXkgc3VjY2VzcyEiOwotKyAgZ3VpbnQ4IGJ1ZltzaXplb2YgKGV4 cGVjdGVkUmVzdWx0KSArIDFdOwotKyAgZ3NpemUgYnl0ZXNfcmVhZDsKLSsgIEZJTEUgKmY7Ci0r Ci0rICBpZiAoYXJnYyAhPSAzKQotKyAgICB7Ci0rICAgICAgZ19wcmludCAoIlVzYWdlOiAlcyBy ZWFkLWZyb20tZmQgRkRcbiIsIGFyZ3ZbMF0pOwotKyAgICAgIHJldHVybiAxOwotKyAgICB9Ci0r Ci0rICBmZCA9IGF0b2kgKGFyZ3ZbMl0pOwotKyAgaWYgKGZkID09IDApCi0rICAgIHsKLSsgICAg ICBnX3dhcm5pbmcgKCJBcmd1bWVudCBcIiVzXCIgZG9lcyBub3QgbG9vayBsaWtlIGEgdmFsaWQg bm9uemVybyBmaWxlIGRlc2NyaXB0b3IiLCBhcmd2WzJdKTsKLSsgICAgICByZXR1cm4gMTsKLSsg ICAgfQotKwotKyAgZiA9IGZkb3BlbiAoZmQsICJyIik7Ci0rICBpZiAoZiA9PSBOVUxMKQotKyAg ICB7Ci0rICAgICAgZ193YXJuaW5nICgiRmFpbGVkIHRvIG9wZW4gZmQgJWQ6ICVzIiwgZmQsIGdf c3RyZXJyb3IgKGVycm5vKSk7Ci0rICAgICAgcmV0dXJuIDE7Ci0rICAgIH0KLSsKLSsgIGJ5dGVz X3JlYWQgPSBmcmVhZCAoYnVmLCAxLCBzaXplb2YgKGJ1ZiksIGYpOwotKyAgaWYgKGJ5dGVzX3Jl YWQgIT0gc2l6ZW9mIChleHBlY3RlZFJlc3VsdCkpCi0rICAgIHsKLSsgICAgICBnX3dhcm5pbmcg KCJSZWFkICV6dSBieXRlcywgYnV0IGV4cGVjdGVkICV6dSIsIGJ5dGVzX3JlYWQsIHNpemVvZiAo ZXhwZWN0ZWRSZXN1bHQpKTsKLSsgICAgICByZXR1cm4gMTsKLSsgICAgfQotKwotKyAgaWYgKG1l bWNtcCAoZXhwZWN0ZWRSZXN1bHQsIGJ1Ziwgc2l6ZW9mIChleHBlY3RlZFJlc3VsdCkpICE9IDAp Ci0rICAgIHsKLSsgICAgICBidWZbc2l6ZW9mIChleHBlY3RlZFJlc3VsdCldID0gJ1wwJzsKLSsg ICAgICBnX3dhcm5pbmcgKCJFeHBlY3RlZCBcIiVzXCIgYnV0IHJlYWQgIFwiJXNcIiIsIGV4cGVj dGVkUmVzdWx0LCAoY2hhciAqKWJ1Zik7Ci0rICAgICAgcmV0dXJuIDE7Ci0rICAgIH0KLSsKLSsg IGlmIChmY2xvc2UgKGYpID09IC0xKQotKyAgICBnX2Fzc2VydF9ub3RfcmVhY2hlZCAoKTsKLSsK LSsgIHJldHVybiAwOwotK30KLSsKLSBzdGF0aWMgaW50Ci0gZW52X21vZGUgKGludCBhcmdjLCBj aGFyICoqYXJndikKLSB7Ci1AQCAtMjQyLDYgKzI4OSw4IEBAIG1haW4gKGludCBhcmdjLCBjaGFy ICoqYXJndikKLSAgICAgcmV0dXJuIHNsZWVwX2ZvcmV2ZXJfbW9kZSAoYXJnYywgYXJndik7Ci0g ICBlbHNlIGlmIChzdHJjbXAgKG1vZGUsICJ3cml0ZS10by1mZHMiKSA9PSAwKQotICAgICByZXR1 cm4gd3JpdGVfdG9fZmRzIChhcmdjLCBhcmd2KTsKLSsgIGVsc2UgaWYgKHN0cmNtcCAobW9kZSwg InJlYWQtZnJvbS1mZCIpID09IDApCi0rICAgIHJldHVybiByZWFkX2Zyb21fZmQgKGFyZ2MsIGFy Z3YpOwotICAgZWxzZSBpZiAoc3RyY21wIChtb2RlLCAiZW52IikgPT0gMCkKLSAgICAgcmV0dXJu IGVudl9tb2RlIChhcmdjLCBhcmd2KTsKLSAgIGVsc2UgaWYgKHN0cmNtcCAobW9kZSwgImN3ZCIp ID09IDApCi1kaWZmIC0tZ2l0IGEvZ2lvL3Rlc3RzL2dzdWJwcm9jZXNzLmMgYi9naW8vdGVzdHMv Z3N1YnByb2Nlc3MuYwotaW5kZXggYjEwYWRlNzc4Li5kZjEzMDcwZjcgMTAwNjQ0Ci0tLS0gYS9n aW8vdGVzdHMvZ3N1YnByb2Nlc3MuYwotKysrIGIvZ2lvL3Rlc3RzL2dzdWJwcm9jZXNzLmMKLUBA IC01LDYgKzUsNyBAQAotICNpbmNsdWRlIDxzeXMvd2FpdC5oPgotICNpbmNsdWRlIDxnbGliLXVu aXguaD4KLSAjaW5jbHVkZSA8Z2lvL2d1bml4aW5wdXRzdHJlYW0uaD4KLSsjaW5jbHVkZSA8Z2lv L2d1bml4b3V0cHV0c3RyZWFtLmg+Ci0gI2luY2x1ZGUgPGdpby9nZmlsZWRlc2NyaXB0b3JiYXNl ZC5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAjaW5jbHVkZSA8ZmNudGwuaD4KLUBAIC0xNzkw LDYgKzE3OTEsMTQ2IEBAIHRlc3RfcGFzc19mZF9pbmhlcml0X2ZkcyAodm9pZCkKLSAgIGRvX3Rl c3RfcGFzc19mZCAoR19TVUJQUk9DRVNTX0ZMQUdTX0lOSEVSSVRfRkRTLCBOVUxMKTsKLSB9Ci0g Ci0rc3RhdGljIHZvaWQKLStkb190ZXN0X2ZkX2NvbmZsYXRpb24gKEdTdWJwcm9jZXNzRmxhZ3Mg ICAgIGZsYWdzLAotKyAgICAgICAgICAgICAgICAgICAgICAgR1NwYXduQ2hpbGRTZXR1cEZ1bmMg Y2hpbGRfc2V0dXApCi0rewotKyAgY2hhciBzdWNjZXNzX21lc3NhZ2VbXSA9ICJZYXkgc3VjY2Vz cyEiOwotKyAgR0Vycm9yICplcnJvciA9IE5VTEw7Ci0rICBHT3V0cHV0U3RyZWFtICpvdXRwdXRf c3RyZWFtOwotKyAgR1N1YnByb2Nlc3NMYXVuY2hlciAqbGF1bmNoZXI7Ci0rICBHU3VicHJvY2Vz cyAqcHJvYzsKLSsgIEdQdHJBcnJheSAqYXJnczsKLSsgIGludCB1bnVzZWRfcGlwZWZkc1syXTsK LSsgIGludCBwaXBlZmRzWzJdOwotKyAgZ3NpemUgYnl0ZXNfd3JpdHRlbjsKLSsgIGdib29sZWFu IHN1Y2Nlc3M7Ci0rICBjaGFyICpmZF9zdHI7Ci0rCi0rICAvKiBUaGlzIHRlc3QgbXVzdCBydW4g aW4gYSBuZXcgcHJvY2VzcyBiZWNhdXNlIGl0IGlzIGV4dHJlbWVseSBzZW5zaXRpdmUgdG8KLSsg ICAqIG9yZGVyIG9mIG9wZW5lZCBmZHMuCi0rICAgKi8KLSsgIGlmICghZ190ZXN0X3N1YnByb2Nl c3MgKCkpCi0rICAgIHsKLSsgICAgICBnX3Rlc3RfdHJhcF9zdWJwcm9jZXNzIChOVUxMLCAwLCBH X1RFU1RfU1VCUFJPQ0VTU19JTkhFUklUX1NURE9VVCB8IEdfVEVTVF9TVUJQUk9DRVNTX0lOSEVS SVRfU1RERVJSKTsKLSsgICAgICBnX3Rlc3RfdHJhcF9hc3NlcnRfcGFzc2VkICgpOwotKyAgICAg IHJldHVybjsKLSsgICAgfQotKwotKyAgZ191bml4X29wZW5fcGlwZSAodW51c2VkX3BpcGVmZHMs IEZEX0NMT0VYRUMsICZlcnJvcik7Ci0rICBnX2Fzc2VydF9ub19lcnJvciAoZXJyb3IpOwotKwot KyAgZ191bml4X29wZW5fcGlwZSAocGlwZWZkcywgRkRfQ0xPRVhFQywgJmVycm9yKTsKLSsgIGdf YXNzZXJ0X25vX2Vycm9yIChlcnJvcik7Ci0rCi0rICAvKiBUaGUgZmRzIHNob3VsZCBiZSBzZXF1 ZW50aWFsIHNpbmNlIHdlIGFyZSBpbiBhIG5ldyBwcm9jZXNzLiAqLwotKyAgZ19hc3NlcnRfY21w aW50ICh1bnVzZWRfcGlwZWZkc1swXSAvKiAzICovLCA9PSwgdW51c2VkX3BpcGVmZHNbMV0gLSAx KTsKLSsgIGdfYXNzZXJ0X2NtcGludCAodW51c2VkX3BpcGVmZHNbMV0gLyogNCAqLywgPT0sIHBp cGVmZHNbMF0gLSAxKTsKLSsgIGdfYXNzZXJ0X2NtcGludCAocGlwZWZkc1swXSAvKiA1ICovLCA9 PSwgcGlwZWZkc1sxXSAvKiA2ICovIC0gMSk7Ci0rCi0rICAvKiBCZWNhdXNlIEdTdWJwcm9jZXNz IGFsbG93cyBhcmJpdHJhcnkgcmVtYXBwaW5nIG9mIGZkcywgaXQgaGFzIHRvIGJlIGNhcmVmdWwK LSsgICAqIHRvIGF2b2lkIGZkIGNvbmZsYXRpb24gaXNzdWVzLCBlLmcuIGl0IHNob3VsZCBwcm9w ZXJseSBoYW5kbGUgNSAtPiA0IGFuZAotKyAgICogNCAtPiA1IGF0IHRoZSBzYW1lIHRpbWUuIEdJ TyBwcmV2aW91c2x5IGF0dGVtcHRlZCB0byBoYW5kbGUgdGhpcyBieSBuYWl2ZWx5Ci0rICAgKiBk dXAnaW5nIHRoZSBzb3VyY2UgZmRzLCBidXQgdGhpcyB3YXMgbm90IGdvb2QgZW5vdWdoIGJlY2F1 c2UgaXQgd2FzCi0rICAgKiBwb3NzaWJsZSB0aGF0IHRoZSBkdXAnZWQgcmVzdWx0IGNvdWxkIHN0 aWxsIGNvbmZsaWN0IHdpdGggb25lIG9mIHRoZSB0YXJnZXQKLSsgICAqIGZkcy4gRm9yIGV4YW1w bGU6Ci0rICAgKgotKyAgICogc291cmNlX2ZkIDUgLT4gdGFyZ2V0X2ZkIDksIHNvdXJjZV9mZCAz IC0+IHRhcmdldF9mZCA3Ci0rICAgKgotKyAgICogZHVwKDUpIC0+IGR1cCByZXR1cm5zIDgKLSsg ICAqIGR1cCgzKSAtPiBkdXAgcmV0dXJucyA5Ci0rICAgKgotKyAgICogQWZ0ZXIgZHVwJ2luZywg d2Ugd2luZCB1cCB3aXRoOiA4IC0+IDksIDkgLT4gNy4gVGhhdCBtZWFucyB0aGF0IGFmdGVyIHdl Ci0rICAgKiBkdXAyKDgsIDkpLCB3ZSBoYXZlIGNsb2JiZXJlZCBmZCA5IGJlZm9yZSB3ZSBkdXAy KDksIDcpLiBUaGUgZW5kIHJlc3VsdCBpcwotKyAgICogd2UgaGF2ZSByZW1hcHBlZCA1IC0+IDkg YXMgZXhwZWN0ZWQsIGJ1dCB0aGVuIHJlbWFwcGVkIDUgLT4gNyBpbnN0ZWFkIG9mCi0rICAgKiAz IC0+IDcgYXMgdGhlIGFwcGxpY2F0aW9uIGludGVuZGVkLgotKyAgICoKLSsgICAqIFRoaXMgaXNz dWUgaGFzIGJlZW4gZml4ZWQgaW4gdGhlIHNpbXBsZXN0IHdheSBwb3NzaWJsZSwgYnkgcGFzc2lu ZyBhCi0rICAgKiBtaW5pbXVtIGZkIHZhbHVlIHdoZW4gdXNpbmcgRl9EVVBGRF9DTE9FWEVDIHRo YXQgaXMgaGlnaGVyIHRoYW4gYW55IG9mIHRoZQotKyAgICogdGFyZ2V0IGZkcywgdG8gZ3VhcmFu dGVlIGFsbCBzb3VyY2UgZmRzIGFyZSBkaWZmZXJlbnQgdGhhbiBhbGwgdGFyZ2V0IGZkcywKLSsg ICAqIGVsaW1pbmF0aW5nIGFueSBwb3NzaWJpbGl0eSBvZiBjb25mbGF0aW9uLgotKyAgICoKLSsg ICAqIEFueXdheSwgdGhhdCBpcyB3aHkgd2UgaGF2ZSB0aGUgdW51c2VkX3BpcGVmZHMgaGVyZS4g V2UgbmVlZCB0byBvcGVuIGZkcyBpbgotKyAgICogYSBjZXJ0YWluIG9yZGVyIGluIG9yZGVyIHRv IHRyaWNrIG9sZGVyIEdTdWJwcm9jZXNzIGludG8gY29uZmxhdGluZyB0aGUKLSsgICAqIGZkcy4g VGhlIHByaW1hcnkgZ29hbCBvZiB0aGlzIHRlc3QgaXMgdG8gZW5zdXJlIHRoaXMgcGFydGljdWxh ciBjb25mbGF0aW9uCi0rICAgKiBpc3N1ZSBpcyBub3QgcmVpbnRyb2R1Y2VkLiBTZWUgZ2xpYiMy NTAzLgotKyAgICoKLSsgICAqIEJlIGF3YXJlIHRoaXMgdGVzdCBpcyBuZWNlc3NhcmlseSBleHRy ZW1lbHkgZnJhZ2lsZS4gVG8gcmVwcm9kdWNlIHRoZXNlCi0rICAgKiBidWdzLCBpdCByZWxpZXMg b24gaW50ZXJuYWxzIG9mIGdzcGF3biBhbmQgZ21haW4gdGhhdCB3aWxsIGxpa2VseSBjaGFuZ2UK LSsgICAqIGluIHRoZSBmdXR1cmUsIGV2ZW50dWFsbHkgY2F1c2luZyB0aGlzIHRlc3QgdG8gbm8g bG9uZ2VyIHRlc3QgdGhlIHRoZSBidWdzCi0rICAgKiBpdCB3YXMgb3JpZ2luYWxseSBkZXNpZ25l ZCB0byB0ZXN0LiBUaGF0IGlzIE9LISBJZiB0aGUgdGVzdCBmYWlscywgYXQKLSsgICAqIGxlYXN0 IHlvdSBrbm93ICpzb21ldGhpbmcqIGlzIHdyb25nLgotKyAgICovCi0rICBsYXVuY2hlciA9IGdf c3VicHJvY2Vzc19sYXVuY2hlcl9uZXcgKGZsYWdzKTsKLSsgIGdfc3VicHJvY2Vzc19sYXVuY2hl cl90YWtlX2ZkIChsYXVuY2hlciwgcGlwZWZkc1swXSAvKiA1ICovLCBwaXBlZmRzWzFdICsgMyAv KiA5ICovKTsKLSsgIGdfc3VicHJvY2Vzc19sYXVuY2hlcl90YWtlX2ZkIChsYXVuY2hlciwgdW51 c2VkX3BpcGVmZHNbMF0gLyogMyAqLywgcGlwZWZkc1sxXSArIDEgLyogNyAqLyk7Ci0rICBpZiAo Y2hpbGRfc2V0dXAgIT0gTlVMTCkKLSsgICAgZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3NldF9jaGls ZF9zZXR1cCAobGF1bmNoZXIsIGNoaWxkX3NldHVwLCBOVUxMLCBOVUxMKTsKLSsgIGZkX3N0ciA9 IGdfc3RyZHVwX3ByaW50ZiAoIiVkIiwgcGlwZWZkc1sxXSArIDMpOwotKyAgYXJncyA9IGdldF90 ZXN0X3N1YnByb2Nlc3NfYXJncyAoInJlYWQtZnJvbS1mZCIsIGZkX3N0ciwgTlVMTCk7Ci0rICBw cm9jID0gZ19zdWJwcm9jZXNzX2xhdW5jaGVyX3NwYXdudiAobGF1bmNoZXIsIChjb25zdCBnY2hh ciAqIGNvbnN0ICopIGFyZ3MtPnBkYXRhLCAmZXJyb3IpOwotKyAgZ19hc3NlcnRfbm9fZXJyb3Ig KGVycm9yKTsKLSsgIGdfYXNzZXJ0X25vbm51bGwgKHByb2MpOwotKyAgZ19wdHJfYXJyYXlfZnJl ZSAoYXJncywgVFJVRSk7Ci0rICBnX29iamVjdF91bnJlZiAobGF1bmNoZXIpOwotKyAgZ19mcmVl IChmZF9zdHIpOwotKwotKyAgLyogQ2xvc2UgdGhlIHJlYWQgZW5kcyBvZiB0aGUgcGlwZXMuICov Ci0rICBjbG9zZSAodW51c2VkX3BpcGVmZHNbMF0pOwotKyAgY2xvc2UgKHBpcGVmZHNbMF0pOwot KwotKyAgLyogQWxzbyBjbG9zZSB0aGUgd3JpdGUgZW5kIG9mIHRoZSB1bnVzZWQgcGlwZS4gKi8K LSsgIGNsb3NlICh1bnVzZWRfcGlwZWZkc1sxXSk7Ci0rCi0rICAvKiBTbyBub3cgcGlwZWZkc1sw XSBzaG91bGQgYmUgaW5oZXJpdGVkIGludG8gdGhlIHN1YnByb2Nlc3MgYXMKLSsgICAqIHBpcGVm ZHNbMV0gKyAyLCBhbmQgdW51c2VkX3BpcGVmZHNbMF0gc2hvdWxkIGJlIGluaGVyaXRlZCBhcwot KyAgICogcGlwZWZkc1sxXSArIDEuIFdlIHdpbGwgd3JpdGUgdG8gcGlwZWZkc1sxXSBhbmQgdGhl IHN1YnByb2Nlc3Mgd2lsbCB2ZXJpZnkKLSsgICAqIHRoYXQgaXQgcmVhZHMgdGhlIGV4cGVjdGVk IGRhdGEuIEJ1dCBvbGRlciBicm9rZW4gR0lPIHdpbGwgYWNjaWRlbnRhbGx5Ci0rICAgKiBjbG9i YmVyIHBpcGVmZHNbMV0gKyAyIHdpdGggcGlwZWZkc1sxXSArIDEhIFRoaXMgd2lsbCBjYXVzZSB0 aGUgc3VicHJvY2VzcwotKyAgICogdG8gaGFuZyB0cnlpbmcgdG8gcmVhZCBmcm9tIHRoZSB3cm9u ZyBwaXBlLgotKyAgICovCi0rICBvdXRwdXRfc3RyZWFtID0gZ191bml4X291dHB1dF9zdHJlYW1f bmV3IChwaXBlZmRzWzFdLCBUUlVFKTsKLSsgIHN1Y2Nlc3MgPSBnX291dHB1dF9zdHJlYW1fd3Jp dGVfYWxsIChvdXRwdXRfc3RyZWFtLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN1Y2Nlc3NfbWVzc2FnZSwgc2l6ZW9mIChzdWNjZXNzX21lc3NhZ2UpLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZieXRlc193cml0dGVuLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKTsKLSsgIGdfYXNzZXJ0X25vX2Vycm9yIChl cnJvcik7Ci0rICBnX2Fzc2VydF9jbXBpbnQgKGJ5dGVzX3dyaXR0ZW4sID09LCBzaXplb2YgKHN1 Y2Nlc3NfbWVzc2FnZSkpOwotKyAgZ19hc3NlcnRfdHJ1ZSAoc3VjY2Vzcyk7Ci0rICBnX29iamVj dF91bnJlZiAob3V0cHV0X3N0cmVhbSk7Ci0rCi0rICBzdWNjZXNzID0gZ19zdWJwcm9jZXNzX3dh aXRfY2hlY2sgKHByb2MsIE5VTEwsICZlcnJvcik7Ci0rICBnX2Fzc2VydF9ub19lcnJvciAoZXJy b3IpOwotKyAgZ19vYmplY3RfdW5yZWYgKHByb2MpOwotK30KLSsKLStzdGF0aWMgdm9pZAotK3Rl c3RfZmRfY29uZmxhdGlvbiAodm9pZCkKLSt7Ci0rICBkb190ZXN0X2ZkX2NvbmZsYXRpb24gKEdf U1VCUFJPQ0VTU19GTEFHU19OT05FLCBOVUxMKTsKLSt9Ci0rCi0rc3RhdGljIHZvaWQKLSt0ZXN0 X2ZkX2NvbmZsYXRpb25fZW1wdHlfY2hpbGRfc2V0dXAgKHZvaWQpCi0rewotKyAgLyogVXNpbmcg YSBjaGlsZCBzZXR1cCBmdW5jdGlvbiBmb3JjZXMgZ3NwYXduIHRvIHVzZSBmb3JrL2V4ZWMKLSsg ICAqIHJhdGhlciB0aGFuIHBvc2l4X3NwYXduLgotKyAgICovCi0rICBkb190ZXN0X2ZkX2NvbmZs YXRpb24gKEdfU1VCUFJPQ0VTU19GTEFHU19OT05FLCBlbXB0eV9jaGlsZF9zZXR1cCk7Ci0rfQot KwotK3N0YXRpYyB2b2lkCi0rdGVzdF9mZF9jb25mbGF0aW9uX2luaGVyaXRfZmRzICh2b2lkKQot K3sKLSsgIC8qIFRyeSB0byB0ZXN0IHRoZSBvcHRpbWl6ZWQgcG9zaXhfc3Bhd24gY29kZXBhdGgg aW5zdGVhZCBvZgotKyAgICogZm9yay9leGVjLiBDdXJyZW50bHkgdGhpcyByZXF1aXJlcyB1c2lu ZyBJTkhFUklUX0ZEUyBzaW5jZSBnc3Bhd24ncwotKyAgICogcG9zaXhfc3Bhd24gY29kZXBhdGgg ZG9lcyBub3QgY3VycmVudGx5IGhhbmRsZSBjbG9zaW5nCi0rICAgKiBub24taW5oZXJpdGVkIGZk cy4KLSsgICAqLwotKyAgZG9fdGVzdF9mZF9jb25mbGF0aW9uIChHX1NVQlBST0NFU1NfRkxBR1Nf SU5IRVJJVF9GRFMsIE5VTEwpOwotK30KLSsKLSAjZW5kaWYKLSAKLSBzdGF0aWMgdm9pZAotQEAg LTE5MjksNiArMjA3MCw5IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAgIGdfdGVz dF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9wYXNzLWZkL2Jhc2ljIiwgdGVzdF9wYXNzX2ZkKTsK LSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9wYXNzLWZkL2VtcHR5LWNoaWxkLXNl dHVwIiwgdGVzdF9wYXNzX2ZkX2VtcHR5X2NoaWxkX3NldHVwKTsKLSAgIGdfdGVzdF9hZGRfZnVu YyAoIi9nc3VicHJvY2Vzcy9wYXNzLWZkL2luaGVyaXQtZmRzIiwgdGVzdF9wYXNzX2ZkX2luaGVy aXRfZmRzKTsKLSsgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9mZC1jb25mbGF0aW9u L2Jhc2ljIiwgdGVzdF9mZF9jb25mbGF0aW9uKTsKLSsgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3Vi cHJvY2Vzcy9mZC1jb25mbGF0aW9uL2VtcHR5LWNoaWxkLXNldHVwIiwgdGVzdF9mZF9jb25mbGF0 aW9uX2VtcHR5X2NoaWxkX3NldHVwKTsKLSsgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vz cy9mZC1jb25mbGF0aW9uL2luaGVyaXQtZmRzIiwgdGVzdF9mZF9jb25mbGF0aW9uX2luaGVyaXRf ZmRzKTsKLSAjZW5kaWYKLSAgIGdfdGVzdF9hZGRfZnVuYyAoIi9nc3VicHJvY2Vzcy9sYXVuY2hl ci1lbnZpcm9ubWVudCIsIHRlc3RfbGF1bmNoZXJfZW52aXJvbm1lbnQpOwotIAotLS0gCi0yLjMz LjEKLQotRnJvbSA0NGI0OTQyYTc3ZTlmMTBhODQ3YmYwNjI5OWQ5MTQ5MWY3YWQ2OWVhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWljaGFlbCBDYXRhbnphcm8gPG1jYXRhbnphcm9A cmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMjcgT2N0IDIwMjEgMTg6MzA6NDcgLTA1MDAKLVN1Ympl Y3Q6IFtQQVRDSCAxMC8xMF0gQWRkIHRlc3QgZm9yIGNoaWxkX2Vycl9yZXBvcnRfZmQgY29uZmxh dGlvbiB3aXRoIHRhcmdldAotIGZkcwotCi1UaGlzIHRlc3RzIGZvciBnbGliIzI1MDYuCi0tLS0K LSBnaW8vdGVzdHMvZ3N1YnByb2Nlc3MuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDcgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9naW8vdGVzdHMvZ3N1YnByb2Nlc3MuYyBiL2dpby90 ZXN0cy9nc3VicHJvY2Vzcy5jCi1pbmRleCBkZjEzMDcwZjcuLjZiYzBhYTRlYSAxMDA2NDQKLS0t LSBhL2dpby90ZXN0cy9nc3VicHJvY2Vzcy5jCi0rKysgYi9naW8vdGVzdHMvZ3N1YnByb2Nlc3Mu YwotQEAgLTE3OTMsNyArMTc5Myw4IEBAIHRlc3RfcGFzc19mZF9pbmhlcml0X2ZkcyAodm9pZCkK LSAKLSBzdGF0aWMgdm9pZAotIGRvX3Rlc3RfZmRfY29uZmxhdGlvbiAoR1N1YnByb2Nlc3NGbGFn cyAgICAgZmxhZ3MsCi0tICAgICAgICAgICAgICAgICAgICAgICBHU3Bhd25DaGlsZFNldHVwRnVu YyBjaGlsZF9zZXR1cCkKLSsgICAgICAgICAgICAgICAgICAgICAgIEdTcGF3bkNoaWxkU2V0dXBG dW5jIGNoaWxkX3NldHVwLAotKyAgICAgICAgICAgICAgICAgICAgICAgZ2Jvb2xlYW4gICAgICAg ICAgICAgdGVzdF9jaGlsZF9lcnJfcmVwb3J0X2ZkKQotIHsKLSAgIGNoYXIgc3VjY2Vzc19tZXNz YWdlW10gPSAiWWF5IHN1Y2Nlc3MhIjsKLSAgIEdFcnJvciAqZXJyb3IgPSBOVUxMOwotQEAgLTE4 MDMsNiArMTgwNCw3IEBAIGRvX3Rlc3RfZmRfY29uZmxhdGlvbiAoR1N1YnByb2Nlc3NGbGFncyAg ICAgZmxhZ3MsCi0gICBHUHRyQXJyYXkgKmFyZ3M7Ci0gICBpbnQgdW51c2VkX3BpcGVmZHNbMl07 Ci0gICBpbnQgcGlwZWZkc1syXTsKLSsgIGludCBmZF90b19wYXNzX3RvX2NoaWxkOwotICAgZ3Np emUgYnl0ZXNfd3JpdHRlbjsKLSAgIGdib29sZWFuIHN1Y2Nlc3M7Ci0gICBjaGFyICpmZF9zdHI7 Ci1AQCAtMTg1NSwxOCArMTg1NywyNiBAQCBkb190ZXN0X2ZkX2NvbmZsYXRpb24gKEdTdWJwcm9j ZXNzRmxhZ3MgICAgIGZsYWdzLAotICAgICogZmRzLiBUaGUgcHJpbWFyeSBnb2FsIG9mIHRoaXMg dGVzdCBpcyB0byBlbnN1cmUgdGhpcyBwYXJ0aWN1bGFyIGNvbmZsYXRpb24KLSAgICAqIGlzc3Vl IGlzIG5vdCByZWludHJvZHVjZWQuIFNlZSBnbGliIzI1MDMuCi0gICAgKgotKyAgICogVGhpcyB0 ZXN0IGFsc28gaGFzIGFuIGFsdGVybmF0ZSBtb2RlIG9mIG9wZXJhdGlvbiB3aGVyZSBpdCBpbnN0 ZWFkIHRlc3RzCi0rICAgKiBmb3IgY29uZmxhdGlvbiB3aXRoIGdzcGF3bidzIGNoaWxkX2Vycl9y ZXBvcnRfZmQsIGdsaWIjMjUwNi4KLSsgICAqCi0gICAgKiBCZSBhd2FyZSB0aGlzIHRlc3QgaXMg bmVjZXNzYXJpbHkgZXh0cmVtZWx5IGZyYWdpbGUuIFRvIHJlcHJvZHVjZSB0aGVzZQotICAgICog YnVncywgaXQgcmVsaWVzIG9uIGludGVybmFscyBvZiBnc3Bhd24gYW5kIGdtYWluIHRoYXQgd2ls bCBsaWtlbHkgY2hhbmdlCi0gICAgKiBpbiB0aGUgZnV0dXJlLCBldmVudHVhbGx5IGNhdXNpbmcg dGhpcyB0ZXN0IHRvIG5vIGxvbmdlciB0ZXN0IHRoZSB0aGUgYnVncwotICAgICogaXQgd2FzIG9y aWdpbmFsbHkgZGVzaWduZWQgdG8gdGVzdC4gVGhhdCBpcyBPSyEgSWYgdGhlIHRlc3QgZmFpbHMs IGF0Ci0gICAgKiBsZWFzdCB5b3Uga25vdyAqc29tZXRoaW5nKiBpcyB3cm9uZy4KLSAgICAqLwot KyAgaWYgKHRlc3RfY2hpbGRfZXJyX3JlcG9ydF9mZCkKLSsgICAgZmRfdG9fcGFzc190b19jaGls ZCA9IHBpcGVmZHNbMV0gKyAyIC8qIDggKi87Ci0rICBlbHNlCi0rICAgIGZkX3RvX3Bhc3NfdG9f Y2hpbGQgPSBwaXBlZmRzWzFdICsgMyAvKiA5ICovOwotKwotICAgbGF1bmNoZXIgPSBnX3N1YnBy b2Nlc3NfbGF1bmNoZXJfbmV3IChmbGFncyk7Ci0tICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfdGFr ZV9mZCAobGF1bmNoZXIsIHBpcGVmZHNbMF0gLyogNSAqLywgcGlwZWZkc1sxXSArIDMgLyogOSAq Lyk7Ci0rICBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfdGFrZV9mZCAobGF1bmNoZXIsIHBpcGVmZHNb MF0gLyogNSAqLywgZmRfdG9fcGFzc190b19jaGlsZCk7Ci0gICBnX3N1YnByb2Nlc3NfbGF1bmNo ZXJfdGFrZV9mZCAobGF1bmNoZXIsIHVudXNlZF9waXBlZmRzWzBdIC8qIDMgKi8sIHBpcGVmZHNb MV0gKyAxIC8qIDcgKi8pOwotICAgaWYgKGNoaWxkX3NldHVwICE9IE5VTEwpCi0gICAgIGdfc3Vi cHJvY2Vzc19sYXVuY2hlcl9zZXRfY2hpbGRfc2V0dXAgKGxhdW5jaGVyLCBjaGlsZF9zZXR1cCwg TlVMTCwgTlVMTCk7Ci0tICBmZF9zdHIgPSBnX3N0cmR1cF9wcmludGYgKCIlZCIsIHBpcGVmZHNb MV0gKyAzKTsKLSsgIGZkX3N0ciA9IGdfc3RyZHVwX3ByaW50ZiAoIiVkIiwgZmRfdG9fcGFzc190 b19jaGlsZCk7Ci0gICBhcmdzID0gZ2V0X3Rlc3Rfc3VicHJvY2Vzc19hcmdzICgicmVhZC1mcm9t LWZkIiwgZmRfc3RyLCBOVUxMKTsKLSAgIHByb2MgPSBnX3N1YnByb2Nlc3NfbGF1bmNoZXJfc3Bh d252IChsYXVuY2hlciwgKGNvbnN0IGdjaGFyICogY29uc3QgKikgYXJncy0+cGRhdGEsICZlcnJv cik7Ci0gICBnX2Fzc2VydF9ub19lcnJvciAoZXJyb3IpOwotQEAgLTE4ODIsMTIgKzE4OTIsMjAg QEAgZG9fdGVzdF9mZF9jb25mbGF0aW9uIChHU3VicHJvY2Vzc0ZsYWdzICAgICBmbGFncywKLSAg IC8qIEFsc28gY2xvc2UgdGhlIHdyaXRlIGVuZCBvZiB0aGUgdW51c2VkIHBpcGUuICovCi0gICBj bG9zZSAodW51c2VkX3BpcGVmZHNbMV0pOwotIAotLSAgLyogU28gbm93IHBpcGVmZHNbMF0gc2hv dWxkIGJlIGluaGVyaXRlZCBpbnRvIHRoZSBzdWJwcm9jZXNzIGFzCi0rICAvKiBJZiBkb2luZyBv dXIgbm9ybWFsIHRlc3Q6Ci0rICAgKgotKyAgICogU28gbm93IHBpcGVmZHNbMF0gc2hvdWxkIGJl IGluaGVyaXRlZCBpbnRvIHRoZSBzdWJwcm9jZXNzIGFzCi0gICAgKiBwaXBlZmRzWzFdICsgMiwg YW5kIHVudXNlZF9waXBlZmRzWzBdIHNob3VsZCBiZSBpbmhlcml0ZWQgYXMKLSAgICAqIHBpcGVm ZHNbMV0gKyAxLiBXZSB3aWxsIHdyaXRlIHRvIHBpcGVmZHNbMV0gYW5kIHRoZSBzdWJwcm9jZXNz IHdpbGwgdmVyaWZ5Ci0gICAgKiB0aGF0IGl0IHJlYWRzIHRoZSBleHBlY3RlZCBkYXRhLiBCdXQg b2xkZXIgYnJva2VuIEdJTyB3aWxsIGFjY2lkZW50YWxseQotICAgICogY2xvYmJlciBwaXBlZmRz WzFdICsgMiB3aXRoIHBpcGVmZHNbMV0gKyAxISBUaGlzIHdpbGwgY2F1c2UgdGhlIHN1YnByb2Nl c3MKLSAgICAqIHRvIGhhbmcgdHJ5aW5nIHRvIHJlYWQgZnJvbSB0aGUgd3JvbmcgcGlwZS4KLSsg ICAqCi0rICAgKiBJZiB0ZXN0aW5nIGNvbmZsYXRpb24gd2l0aCBjaGlsZF9lcnJfcmVwb3J0X2Zk OgotKyAgICoKLSsgICAqIFdlIGFyZSBhY3R1YWxseSBhbHJlYWR5IGRvbmUuIFRoZSByZWFsIHRl c3Qgc3VjY2VlZGVkIGlmIHdlIG1hZGUgaXQgdGhpcwotKyAgICogZmFyIHdpdGhvdXQgaGFuZ2lu ZyB3aGlsZSBzcGF3bmluZyB0aGUgY2hpbGQuIEJ1dCBsZXQncyBjb250aW51ZSB3aXRoIG91cgot KyAgICogd3JpdGUgYW5kIHJlYWQgYW55d2F5LCB0byBlbnN1cmUgdGhpbmdzIGFyZSBnb29kLgot ICAgICovCi0gICBvdXRwdXRfc3RyZWFtID0gZ191bml4X291dHB1dF9zdHJlYW1fbmV3IChwaXBl ZmRzWzFdLCBUUlVFKTsKLSAgIHN1Y2Nlc3MgPSBnX291dHB1dF9zdHJlYW1fd3JpdGVfYWxsIChv dXRwdXRfc3RyZWFtLAotQEAgLTE5MDgsNyArMTkyNiw3IEBAIGRvX3Rlc3RfZmRfY29uZmxhdGlv biAoR1N1YnByb2Nlc3NGbGFncyAgICAgZmxhZ3MsCi0gc3RhdGljIHZvaWQKLSB0ZXN0X2ZkX2Nv bmZsYXRpb24gKHZvaWQpCi0gewotLSAgZG9fdGVzdF9mZF9jb25mbGF0aW9uIChHX1NVQlBST0NF U1NfRkxBR1NfTk9ORSwgTlVMTCk7Ci0rICBkb190ZXN0X2ZkX2NvbmZsYXRpb24gKEdfU1VCUFJP Q0VTU19GTEFHU19OT05FLCBOVUxMLCBGQUxTRSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi1AQCAt MTkxNyw3ICsxOTM1LDcgQEAgdGVzdF9mZF9jb25mbGF0aW9uX2VtcHR5X2NoaWxkX3NldHVwICh2 b2lkKQotICAgLyogVXNpbmcgYSBjaGlsZCBzZXR1cCBmdW5jdGlvbiBmb3JjZXMgZ3NwYXduIHRv IHVzZSBmb3JrL2V4ZWMKLSAgICAqIHJhdGhlciB0aGFuIHBvc2l4X3NwYXduLgotICAgICovCi0t ICBkb190ZXN0X2ZkX2NvbmZsYXRpb24gKEdfU1VCUFJPQ0VTU19GTEFHU19OT05FLCBlbXB0eV9j aGlsZF9zZXR1cCk7Ci0rICBkb190ZXN0X2ZkX2NvbmZsYXRpb24gKEdfU1VCUFJPQ0VTU19GTEFH U19OT05FLCBlbXB0eV9jaGlsZF9zZXR1cCwgRkFMU0UpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAot QEAgLTE5MjgsNyArMTk0NiwxNiBAQCB0ZXN0X2ZkX2NvbmZsYXRpb25faW5oZXJpdF9mZHMgKHZv aWQpCi0gICAgKiBwb3NpeF9zcGF3biBjb2RlcGF0aCBkb2VzIG5vdCBjdXJyZW50bHkgaGFuZGxl IGNsb3NpbmcKLSAgICAqIG5vbi1pbmhlcml0ZWQgZmRzLgotICAgICovCi0tICBkb190ZXN0X2Zk X2NvbmZsYXRpb24gKEdfU1VCUFJPQ0VTU19GTEFHU19JTkhFUklUX0ZEUywgTlVMTCk7Ci0rICBk b190ZXN0X2ZkX2NvbmZsYXRpb24gKEdfU1VCUFJPQ0VTU19GTEFHU19JTkhFUklUX0ZEUywgTlVM TCwgRkFMU0UpOwotK30KLSsKLStzdGF0aWMgdm9pZAotK3Rlc3RfZmRfY29uZmxhdGlvbl9jaGls ZF9lcnJfcmVwb3J0X2ZkICh2b2lkKQotK3sKLSsgIC8qIFVzaW5nIGEgY2hpbGQgc2V0dXAgZnVu Y3Rpb24gZm9yY2VzIGdzcGF3biB0byB1c2UgZm9yay9leGVjCi0rICAgKiByYXRoZXIgdGhhbiBw b3NpeF9zcGF3bi4KLSsgICAqLwotKyAgZG9fdGVzdF9mZF9jb25mbGF0aW9uIChHX1NVQlBST0NF U1NfRkxBR1NfTk9ORSwgZW1wdHlfY2hpbGRfc2V0dXAsIFRSVUUpOwotIH0KLSAKLSAjZW5kaWYK LUBAIC0yMDczLDYgKzIxMDAsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gICBn X3Rlc3RfYWRkX2Z1bmMgKCIvZ3N1YnByb2Nlc3MvZmQtY29uZmxhdGlvbi9iYXNpYyIsIHRlc3Rf ZmRfY29uZmxhdGlvbik7Ci0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvZ3N1YnByb2Nlc3MvZmQtY29u ZmxhdGlvbi9lbXB0eS1jaGlsZC1zZXR1cCIsIHRlc3RfZmRfY29uZmxhdGlvbl9lbXB0eV9jaGls ZF9zZXR1cCk7Ci0gICBnX3Rlc3RfYWRkX2Z1bmMgKCIvZ3N1YnByb2Nlc3MvZmQtY29uZmxhdGlv bi9pbmhlcml0LWZkcyIsIHRlc3RfZmRfY29uZmxhdGlvbl9pbmhlcml0X2Zkcyk7Ci0rICBnX3Rl c3RfYWRkX2Z1bmMgKCIvZ3N1YnByb2Nlc3MvZmQtY29uZmxhdGlvbi9jaGlsZC1lcnItcmVwb3J0 LWZkIiwgdGVzdF9mZF9jb25mbGF0aW9uX2NoaWxkX2Vycl9yZXBvcnRfZmQpOwotICNlbmRpZgot ICAgZ190ZXN0X2FkZF9mdW5jICgiL2dzdWJwcm9jZXNzL2xhdW5jaGVyLWVudmlyb25tZW50Iiwg dGVzdF9sYXVuY2hlcl9lbnZpcm9ubWVudCk7Ci0gCi0tLSAKLTIuMzMuMQotCgpkaWZmIC0tZ2l0 IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggZWEyMWFkOS4uOWMzNjdjNyAxMDA2NDQKLS0tIGEv c291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIgKGdsaWItMi43MC4yLnRh ci54eikgPSA4NzJlM2YwNmY4N2YyMWEzMjQ0NmI0MWFhYzc0NTRmZDZiZjRkNjY1Yzc1MzEyMWY2 ZTk3NzJjZGRlYmM1OTJiNzlkODg3MTNmYzZiOGQ1MTA2MzZhZjlmOWM0NTI4YTlkNTA4ZDhjNDIy NWM2ZGZlYjkyODM5MDEyMGZiNDgwOQorU0hBNTEyIChnbGliLTIuNzEuMC50YXIueHopID0gODMz YWM0NTBkMDQ2ZTcyOTNhMmNhYmUzMTU3Y2EzOTNjYTBhZWFjMDA3MTYzMzg0ZTE3MDVmMTg2MDkz M2FlNWYxY2QxZjdmNzMzZmQ0NzMyYzNlYWFhYTQyYTk0MWExYzQ4NjQzMmMzNzY4Y2UxNTIzOGFj YjM3YmMyNjQ5ZDYK