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?RnLDqWTDqXJpYyBCw6lyYXQgPGZiZXJhdEByZWRoYXQuY29tPg==?= To: git-commits@fedoraproject.org Subject: [rpms/glibc] f44: Auto-sync with upstream branch release/2.43/master Date: Tue, 07 Jul 2026 11:40:20 GMT Message-ID: <178342442026.1.16821322761245550430.rpms-glibc-cead358d7bd8@fedoraproject.org> List-ID: X-Git-Repo: rpms/glibc X-Git-Branch: f44 X-Git-Rev: cead358d7bd8ac3df6c29d5ddce86d5bec4771fc ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2xpYmMKICAgICAgICAgICAgQnJhbmNoIDogZjQ0CiAgICAgICAgICAgIENv bW1pdCA6IGNlYWQzNThkN2JkOGFjM2RmNmMyOWQ1ZGRjZTg2ZDViZWM0NzcxZmMKICAgICAgICAg ICAgQXV0aG9yIDogRnLDqWTDqXJpYyBCw6lyYXQgPGZiZXJhdEByZWRoYXQuY29tPgogICAgICAg ICAgICBEYXRlICAgOiAyMDI2LTA3LTA3VDA5OjUwOjU1KzAyOjAwCiAgICAgICAgICAgIFN0YXRz ICA6ICsyOC8tNTU4IGluIDYgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dsaWJjL2MvY2VhZDM1OGQ3YmQ4YWMzZGY2YzI5ZDVk ZGNlODZkNWJlYzQ3NzFmYz9icmFuY2g9ZjQ0CgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAg IEF1dG8tc3luYyB3aXRoIHVwc3RyZWFtIGJyYW5jaCByZWxlYXNlLzIuNDMvbWFzdGVyCgpVcHN0 cmVhbSBjb21taXQ6IGRhZTQyNWI1NTQyMDdmN2M0NTk5YzdmYWM3MDdhZDRjMDg1NDU2NzQKCi0g cG9zaXg6IEZpeCBzdGFjayBvdmVyZmxvdyBpbiB3b3JkZXhwIHRpbGRlIGV4cGFuc2lvbiAoQlog MzQwOTEsIENWRS0yMDI2LTY3OTEpIChBZGhlbWVydmFsIFphbmVsbGEpCi0gcmVzb2x2OiBBZGQg dGVzdCBjYXNlIHRzdC1uc19zcHJpbnRyciAoYnVnIDM0MDMzLCBidWcgMzQwNjkpIChGbG9yaWFu IFdlaW1lcikKLSByZXNvbHY6IEZpeCBidWZmZXIgb3ZlcnJlYWRzIGluIG5zX3NwcmludHJyZiAo Q1ZFLTIwMjYtNjIzOCkgKEZsb3JpYW4gV2VpbWVyKQotIHJlc29sdjogTW9yZSB0eXBlcyBhcyB1 bmtub3duIGluIG5zX3NwcmludHJyZiAoQ1ZFLTIwMjYtNTQzNSkgKEZsb3JpYW4gV2VpbWVyKQot IHJlc29sdjogQ2hlY2sgZm9yIGluZXRfbnRvcCBmYWlsdXJlIGluIG5zX3NwcmludHJyZiAoRmxv cmlhbiBXZWltZXIpCi0gcmVzb2x2OiBJbXByb3ZlIGZvcm1hdHRpbmcgb2YgdW5rbm93biByZWNv cmRzIGluIG5zX3NwcmludHJyZiAoRmxvcmlhbiBXZWltZXIpCi0gcmVzb2x2OiBGaXggbnNfc3By aW50cnJmIGZvcm1hdHRpbmcgb2YgY2xhc3MsIHR5cGUgdmFsdWVzIChidWcgMzQyODkpIChGbG9y aWFuIFdlaW1lcikKLSByZXNvbHY6IERlY2xhcmUgX19wX2NsYXNzX3N5bXMsIF9fcF90eXBlX3N5 bXMgZm9yIGludGVybmFsIHVzZSAoRmxvcmlhbiBXZWltZXIpCi0gaHBwYTogRml4IG1pc3Npbmcg Y2FsbCB0byBfX2ZlcmFpc2VleGNlcHQgKEJaIDM0MzA2KSAoSm9obiBEYXZpZCBBbmdsaW4pCi0g YXJtOiBTYXZlL3Jlc3RvcmUgVkZQIHJlZ2lzdGVycyBpbiBQTFQgdHJhbXBvbGluZXMgKEJaIDM0 MTQ0LCBCWiAxNTc5MikgKEFkaGVtZXJ2YWwgWmFuZWxsYSkKLSBpY29udjogU3VwcHJlc3MgaW50 ZXJtZWRpYXRlIGVycm9ycyB3aXRoIC8vVFJBTlNMSVQgKGJ1ZyAzNDIzNikgKEZsb3JpYW4gV2Vp bWVyKQotIEh1cmQ6IHJlc3RvcmUgc29tZSBTSU9DIGlvY3RscyAoU2FtdWVsIFRoaWJhdWx0KQot IEh1cmQ6IGNvbW1lbnQgaW9jdGxzIHdoaWNoIGNhbm5vdCBjdXJyZW50bHkgY29tcGlsZSAoU2Ft dWVsIFRoaWJhdWx0KQotIEh1cmQ6IGNvbW1lbnQgUEZfUk9VVEUvQUZfUk9VVEUgZGVmaW5lcyAo U2FtdWVsIFRoaWJhdWx0KQotIEh1cmQ6IGNvbW1lbnQgUEZfTElOSy9BRl9MSU5LIGRlZmluZXMg KFBpbm8gVG9zY2FubykKLSBlbGY6IGRvbid0IGNsb2JiZXIgbGQuc28uY29uZiBpbiB0c3QtZ2xp YmMtaHdjYXBzLXByZXBlbmQtY2FjaGUgW0JaICMzNDIxMF0gKFNhbSBKYW1lcykKClJlbW92ZSBw YXRjaGVzIGFscmVhZHkgYXBwbGllZCB1cHN0cmVhbToKLSBnbGliYy1SSEVMLTE3MjQyNS0xLnBh dGNoCi0gZ2xpYmMtUkhFTC0xNzI0MjUtMi5wYXRjaAotIGdsaWJjLVJIRUwtMTcyNDI1LTMucGF0 Y2gKLSBnbGliYy1SSEVMLTE3MjQyNS00LnBhdGNoCgotLS0KZGlmZiAtLWdpdCBhL2dsaWJjLVJI RUwtMTcyNDI1LTEucGF0Y2ggYi9nbGliYy1SSEVMLTE3MjQyNS0xLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwY2IyNjk1Li4wMDAwMDAwCi0tLSBhL2dsaWJjLVJIRUwtMTcy NDI1LTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1UYWtlbiBmcm9tOiA8 aHR0cHM6Ly9pbmJveC5zb3VyY2V3YXJlLm9yZy9saWJjLWFscGhhL2NvdmVyLjE3Nzc1NDYxOTQu Z2l0LmZ3ZWltZXJAcmVkaGF0LmNvbS8+Ci0KLUF1dGhvcjogRmxvcmlhbiBXZWltZXIgPGZ3ZWlt ZXJAcmVkaGF0LmNvbT4KLURhdGU6ICAgVGh1IEFwciAzMCAxMjo1MjowMiAyMDI2ICswMjAwCi0K LSAgICByZXNvbHY6IENoZWNrIGZvciBpbmV0X250b3AgZmFpbHVyZSBpbiBuc19zcHJpbnRycmYK LSAgICAKLSAgICBUaGlzIG1ha2VzIHRoZSBvdXRwdXQgbW9yZSBjb25zaXN0ZW50IChlaXRoZXIg ZmFpbHVyZSBvciBjb21wbGV0ZQotICAgIG91dHB1dCkgYW5kIGhlbHBzIHdpdGggc3lzdGVtYXRp YyB0ZXN0aW5nIHdpdGggdmFyeWluZyBidWZmZXIKLSAgICBzaXplcy4KLQotZGlmZiAtLWdpdCBh L3Jlc29sdi9uc19wcmludC5jIGIvcmVzb2x2L25zX3ByaW50LmMKLWluZGV4IGNlZjIyMTJmZDI0 Yjc3MmIuLjU3MDFlM2QwYzU5Zjc5ZjEgMTAwNjQ0Ci0tLS0gYS9yZXNvbHYvbnNfcHJpbnQuYwot KysrIGIvcmVzb2x2L25zX3ByaW50LmMKLUBAIC0xNDEsNyArMTQxLDggQEAgbnNfc3ByaW50cnJm KGNvbnN0IHVfY2hhciAqbXNnLCBzaXplX3QgbXNnbGVuLAotIAljYXNlIG5zX3RfYToKLSAJICBp ZiAocmRsZW4gIT0gKHNpemVfdClOU19JTkFERFJTWikKLSAJCQlnb3RvIGZvcm1lcnI7Ci0tCQko dm9pZCkgaW5ldF9udG9wKEFGX0lORVQsIHJkYXRhLCBidWYsIGJ1Zmxlbik7Ci0rCQlpZiAoaW5l dF9udG9wIChBRl9JTkVULCByZGF0YSwgYnVmLCBidWZsZW4pID09IE5VTEwpCi0rCQkgIHJldHVy biAtMTsKLSAJCWFkZGxlbihzdHJsZW4oYnVmKSwgJmJ1ZiwgJmJ1Zmxlbik7Ci0gCQlicmVhazsK LSAKLUBAIC0zMDgsMTAgKzMwOSwxMSBAQCBuc19zcHJpbnRycmYoY29uc3QgdV9jaGFyICptc2cs IHNpemVfdCBtc2dsZW4sCi0gCi0gCWNhc2UgbnNfdF9hYWFhOgotIAkgIGlmIChyZGxlbiAhPSAo c2l6ZV90KU5TX0lONkFERFJTWikKLS0JCQlnb3RvIGZvcm1lcnI7Ci0tCQkodm9pZCkgaW5ldF9u dG9wKEFGX0lORVQ2LCByZGF0YSwgYnVmLCBidWZsZW4pOwotLQkJYWRkbGVuKHN0cmxlbihidWYp LCAmYnVmLCAmYnVmbGVuKTsKLS0JCWJyZWFrOwotKwkgICAgZ290byBmb3JtZXJyOwotKwkgIGlm IChpbmV0X250b3AgKEFGX0lORVQ2LCByZGF0YSwgYnVmLCBidWZsZW4pID09IE5VTEwpCi0rCSAg ICByZXR1cm4gLTE7Ci0rCSAgYWRkbGVuKHN0cmxlbihidWYpLCAmYnVmLCAmYnVmbGVuKTsKLSsJ ICBicmVhazsKLSAKLSAJY2FzZSBuc190X2xvYzogewotIAkJY2hhciB0WzI1NV07Ci1AQCAtNDAw LDcgKzQwMiw4IEBAIG5zX3NwcmludHJyZihjb25zdCB1X2NoYXIgKm1zZywgc2l6ZV90IG1zZ2xl biwKLSAJCQlnb3RvIGZvcm1lcnI7Ci0gCi0gCQkvKiBBZGRyZXNzLiAqLwotLQkJKHZvaWQpIGlu ZXRfbnRvcChBRl9JTkVULCByZGF0YSwgYnVmLCBidWZsZW4pOwotKwkJaWYgKGluZXRfbnRvcCAo QUZfSU5FVCwgcmRhdGEsIGJ1ZiwgYnVmbGVuKSA9PSBOVUxMKQotKwkJICByZXR1cm4gLTE7Ci0g CQlhZGRsZW4oc3RybGVuKGJ1ZiksICZidWYsICZidWZsZW4pOwotIAkJcmRhdGEgKz0gTlNfSU5B RERSU1o7Ci0gCi1AQCAtNTQyLDcgKzU0NSw4IEBAIG5zX3NwcmludHJyZihjb25zdCB1X2NoYXIg Km1zZywgc2l6ZV90IG1zZ2xlbiwKLSAJCQlpZiAocmRhdGEgKyBwYnl0ZSA+PSBlZGF0YSkgZ290 byBmb3JtZXJyOwotIAkJCW1lbXNldCgmYSwgMCwgc2l6ZW9mKGEpKTsKLSAJCQltZW1jcHkoJmEu czZfYWRkcltwYnl0ZV0sIHJkYXRhLCBzaXplb2YoYSkgLSBwYnl0ZSk7Ci0tCQkJKHZvaWQpIGlu ZXRfbnRvcChBRl9JTkVUNiwgJmEsIGJ1ZiwgYnVmbGVuKTsKLSsJCQlpZiAoaW5ldF9udG9wIChB Rl9JTkVUNiwgJmEsIGJ1ZiwgYnVmbGVuKSA9PSBOVUxMKQotKwkJCSAgcmV0dXJuIC0xOwotIAkJ CWFkZGxlbihzdHJsZW4oYnVmKSwgJmJ1ZiwgJmJ1Zmxlbik7Ci0gCQkJcmRhdGEgKz0gc2l6ZW9m KGEpIC0gcGJ5dGU7Ci0gCQl9CgpkaWZmIC0tZ2l0IGEvZ2xpYmMtUkhFTC0xNzI0MjUtMi5wYXRj aCBiL2dsaWJjLVJIRUwtMTcyNDI1LTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAzNDRmNDQuLjAwMDAwMDAKLS0tIGEvZ2xpYmMtUkhFTC0xNzI0MjUtMi5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLVRha2VuIGZyb206IDxodHRwczovL2luYm94LnNv dXJjZXdhcmUub3JnL2xpYmMtYWxwaGEvY292ZXIuMTc3NzU0NjE5NC5naXQuZndlaW1lckByZWRo YXQuY29tLz4KLQotY29tbWl0IDdlMDkwYmVlMGM3YTE5Mjc0YWM5YjViYTFjMjdlZjAxNjVlZDVi ZDcKLUF1dGhvcjogRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KLURhdGU6ICAg VGh1IEFwciAzMCAxMjo1MjowNyAyMDI2ICswMjAwCi0KLSAgICByZXNvbHY6IFJlbW92ZSBpbmNv cnJlY3QgcGFydHMgb2YgVFNJRyBoYW5kbGluZyBmcm9tIG5zX3NwcmludHJyZiAoQ1ZFLTIwMjYt NTQzNSkKLSAgICAKLSAgICBUU0lHIGhhbmRsaW5nIHdhcyBpbmNvbXBsZXRlIGJlZm9yZS4gIEdp dmVuIHRoYXQgdGhpcyBpcyBhbiBvYnNvbGV0ZQotICAgIGludGVyZmFjZSwgaXQgZG9lcyBub3Qg c2VlbSB3b3J0aHdoaWxlIHRvIGNvbXBsZXRlIHRoZSBpbXBsZW1lbnRhdGlvbi4KLSAgICAKLSAg ICBUaGlzIGZpeGVzIGJ1ZyAzNDAzMy4KLQotZGlmZiAtLWdpdCBhL3Jlc29sdi9uc19wcmludC5j IGIvcmVzb2x2L25zX3ByaW50LmMKLWluZGV4IDU3MDFlM2QwYzU5Zjc5ZjEuLjljOWU4MTA3ODFh YWE0ZjQgMTAwNjQ0Ci0tLS0gYS9yZXNvbHYvbnNfcHJpbnQuYwotKysrIGIvcmVzb2x2L25zX3By aW50LmMKLUBAIC01MTMsMTcgKzUxMyw3IEBAIG5zX3NwcmludHJyZihjb25zdCB1X2NoYXIgKm1z Zywgc2l6ZV90IG1zZ2xlbiwKLSAKLSAJY2FzZSBuc190X3RzaWc6IHsKLSAJCS8qIEJFVyAtIG5l ZWQgdG8gY29tcGxldGUgdGhpcyAqLwotLQkJaW50IG47Ci0tCi0gCQlUKGxlbiA9IGFkZG5hbWUo bXNnLCBtc2dsZW4sICZyZGF0YSwgb3JpZ2luLCAmYnVmLCAmYnVmbGVuKSk7Ci0tCQlUKGFkZHN0 cigiICIsIDEsICZidWYsICZidWZsZW4pKTsKLS0JCXJkYXRhICs9IDg7IC8qJTwgdGltZSAqLwot LQkJbiA9IG5zX2dldDE2KHJkYXRhKTsgcmRhdGEgKz0gSU5UMTZTWjsKLS0JCXJkYXRhICs9IG47 IC8qJTwgc2lnICovCi0tCQluID0gbnNfZ2V0MTYocmRhdGEpOyByZGF0YSArPSBJTlQxNlNaOyAv KiU8IG9yaWdpbmFsIGlkICovCi0tCQlzcHJpbnRmKGJ1ZiwgIiVkIiwgbnNfZ2V0MTYocmRhdGEp KTsKLS0JCXJkYXRhICs9IElOVDE2U1o7Ci0tCQlhZGRsZW4oc3RybGVuKGJ1ZiksICZidWYsICZi dWZsZW4pOwotIAkJYnJlYWs7Ci0gCSAgICB9Ci0gCgpkaWZmIC0tZ2l0IGEvZ2xpYmMtUkhFTC0x NzI0MjUtMy5wYXRjaCBiL2dsaWJjLVJIRUwtMTcyNDI1LTMucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IGFjNWU1NjEuLjAwMDAwMDAKLS0tIGEvZ2xpYmMtUkhFTC0xNzI0MjUt My5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkyICswLDAgQEAKLVRha2VuIGZyb206IDxodHRw czovL2luYm94LnNvdXJjZXdhcmUub3JnL2xpYmMtYWxwaGEvY292ZXIuMTc3NzU0NjE5NC5naXQu ZndlaW1lckByZWRoYXQuY29tLz4KLQotQXV0aG9yOiBGbG9yaWFuIFdlaW1lciA8ZndlaW1lckBy ZWRoYXQuY29tPgotRGF0ZTogICBUaHUgQXByIDMwIDEyOjUyOjEzIDIwMjYgKzAyMDAKLQotICAg IHJlc29sdjogRml4IGJ1ZmZlciBvdmVycmVhZHMgaW4gbnNfc3ByaW50cnJmIChDVkUtMjAyNi02 MjM4KQotICAgIAotICAgIENoZWNrIHRoYXQgdGhlIFJEQVRBIHBheWxvYWQgZG9lcyBub3QgcmVx dWlyZSBtb3JlIHRoYW4gUkRBVEFMRU4KLSAgICBieXRlcyB3aGlsZSBwcm9jZXNzaW5nIGl0LiAg VGhlIGZpeGVzIGNvdmVyIEE2LCBDRVJULCBMT0MsIFRLRVksCi0gICAgVFNJRyByZWNvcmRzLgot ICAgIAotICAgIFRoZSB2dWxuZXJhYmxlIExPQyByZWNvcmQgaGFuZGxpbmcgd2FzIGZpcnN0IGlu dHJvZHVjZWQgYmVmb3JlCi0gICAgZ2xpYmMgMi4wLCBpbiBjb21taXQgZWUxODhkNTU1YjhjMzJh ZDk3MDRhNzQ0MGNhYjQwMGFmOTY3MjkyZi4KLSAgICAKLSAgICBDRVJULCBUU0lHLCBUS0VZIGhh bmRsaW5nIGNhbWUgd2l0aCBjb21taXQKLSAgICBiNDNiMTNhYzI1NDRiMTFmMzViZTMwMWQxNTg5 YjUxYTg0NzNlMzJiLCByZWxlYXNlZCB3aXRoIGdsaWJjIDIuMi4KLSAgICAKLSAgICBBNiByZWNv cmQgaGFuZGxpbmcgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0Ci0gICAgOTE2MzM4MTY0MzBlN2Vj NWExOWZlM2ZmNTEwYTdjNDgyMmE5NTU3ZSAoIiogcmVzb2x2L25zX3ByaW50LmMKLSAgICAobnNf c3ByaW50cnJmKTogSGFuZGxlIG5zX3RfYTYgYW5kIG5zX3Rfb3B0LiIpLCB3aGljaCB3ZW50IGlu dG8gZ2xpYmMKLSAgICAyLjcuCi0gICAgCi0gICAgVGhpcyBmaXhlcyBidWcgMzQwNjkuCi0KLWRp ZmYgLS1naXQgYS9yZXNvbHYvbnNfcHJpbnQuYyBiL3Jlc29sdi9uc19wcmludC5jCi1pbmRleCA5 YzllODEwNzgxYWFhNGY0Li40OTUzZjQ3MTYwMDFkODJiIDEwMDY0NAotLS0tIGEvcmVzb2x2L25z X3ByaW50LmMKLSsrKyBiL3Jlc29sdi9uc19wcmludC5jCi1AQCAtMzE4LDcgKzMxOCw4IEBAIG5z X3NwcmludHJyZihjb25zdCB1X2NoYXIgKm1zZywgc2l6ZV90IG1zZ2xlbiwKLSAJY2FzZSBuc190 X2xvYzogewotIAkJY2hhciB0WzI1NV07Ci0gCi0tCQkvKiBYWFggcHJvdG9jb2wgZm9ybWF0IGNo ZWNraW5nPyAqLwotKwkJaWYgKHJkbGVuICE9IDE2KQotKwkJICBnb3RvIGZvcm1lcnI7Ci0gCQko dm9pZCkgbG9jX250b2EocmRhdGEsIHQpOwotIAkJVChhZGRzdHIodCwgc3RybGVuKHQpLCAmYnVm LCAmYnVmbGVuKSk7Ci0gCQlicmVhazsKLUBAIC00NDQsNiArNDQ1LDggQEAgbnNfc3ByaW50cnJm KGNvbnN0IHVfY2hhciAqbXNnLCBzaXplX3QgbXNnbGVuLAotIAkJY2hhciBiYXNlNjRfY2VydFs4 MTkyXSwgdG1wWzQwXTsKLSAJCWNvbnN0IGNoYXIgKmxlYWRlcjsKLSAKLSsJCWlmIChyZGxlbiA8 IDIgKiBOU19JTlQxNlNaICsgMSkKLSsJCQlnb3RvIGZvcm1lcnI7Ci0gCQljX3R5cGUgID0gbnNf Z2V0MTYocmRhdGEpOyByZGF0YSArPSBOU19JTlQxNlNaOwotIAkJa2V5X3RhZyA9IG5zX2dldDE2 KHJkYXRhKTsgcmRhdGEgKz0gTlNfSU5UMTZTWjsKLSAJCWFsZyA9ICh1X2ludCkgKnJkYXRhKys7 Ci1AQCAtNDkwLDIzICs0OTMsMzEgQEAgbnNfc3ByaW50cnJmKGNvbnN0IHVfY2hhciAqbXNnLCBz aXplX3QgbXNnbGVuLAotIAkJVChhZGRzdHIoIiAiLCAxLCAmYnVmLCAmYnVmbGVuKSk7Ci0gCi0g CQkvKiBJbmNlcHRpb24uICovCi0rCQlpZiAoZWRhdGEgLSByZGF0YSA8IE5TX0lOVDMyU1opCi0r CQkJZ290byBmb3JtZXJyOwotIAkJdCA9IG5zX2dldDMyKHJkYXRhKTsgIHJkYXRhICs9IE5TX0lO VDMyU1o7Ci0gCQlsZW4gPSBTUFJJTlRGKCh0bXAsICIlbHUgIiwgdCkpOwotIAkJVChhZGRzdHIo dG1wLCBsZW4sICZidWYsICZidWZsZW4pKTsKLSAKLSAJCS8qIEV4cGlyYXRpb24uICovCi0rCQlp ZiAoZWRhdGEgLSByZGF0YSA8IE5TX0lOVDMyU1opCi0rCQkJZ290byBmb3JtZXJyOwotIAkJdCA9 IG5zX2dldDMyKHJkYXRhKTsgIHJkYXRhICs9IE5TX0lOVDMyU1o7Ci0gCQlsZW4gPSBTUFJJTlRG KCh0bXAsICIlbHUgIiwgdCkpOwotIAkJVChhZGRzdHIodG1wLCBsZW4sICZidWYsICZidWZsZW4p KTsKLSAKLSAJCS8qIE1vZGUgLCBFcnJvciwgS2V5IFNpemUuICovCi0gCQkvKiBQcmlvcml0eSwg V2VpZ2h0LCBQb3J0LiAqLwotKwkJaWYgKGVkYXRhIC0gcmRhdGEgPCAzICogTlNfSU5UMTZTWikK LSsJCQlnb3RvIGZvcm1lcnI7Ci0gCQltb2RlID0gbnNfZ2V0MTYocmRhdGEpOyAgcmRhdGEgKz0g TlNfSU5UMTZTWjsKLSAJCWVyciAgPSBuc19nZXQxNihyZGF0YSk7ICByZGF0YSArPSBOU19JTlQx NlNaOwotIAkJa2V5c2l6ZSAgPSBuc19nZXQxNihyZGF0YSk7ICByZGF0YSArPSBOU19JTlQxNlNa OwotIAkJbGVuID0gU1BSSU5URigodG1wLCAiJXUgJXUgJXUgIiwgbW9kZSwgZXJyLCBrZXlzaXpl KSk7Ci0gCQlUKGFkZHN0cih0bXAsIGxlbiwgJmJ1ZiwgJmJ1ZmxlbikpOwotIAotKwkJaWYgKGVk YXRhIC0gcmRhdGEgPCBrZXlzaXplKQotKwkJCWdvdG8gZm9ybWVycjsKLSAJCS8qIFhYWCBuZWVk IHRvIGR1bXAga2V5LCBwcmludCBvdGhlcmRhdGEgbGVuZ3RoICYgb3RoZXIgZGF0YSAqLwotIAkJ YnJlYWs7Ci0gCSAgICB9Ci1AQCAtNTMyLDkgKzU0MywxMCBAQCBuc19zcHJpbnRycmYoY29uc3Qg dV9jaGFyICptc2csIHNpemVfdCBtc2dsZW4sCi0gCi0gCQkvKiBhZGRyZXNzIHN1ZmZpeDogcHJv dmlkZWQgb25seSB3aGVuIHByZWZpeCBsZW4gIT0gMTI4ICovCi0gCQlpZiAocGJpdCA8IDEyOCkg ewotLQkJCWlmIChyZGF0YSArIHBieXRlID49IGVkYXRhKSBnb3RvIGZvcm1lcnI7Ci0rCQkJdW5z aWduZWQgaW50IGJ5dGVsZW4gPSBzaXplb2YoYSkgLSBwYnl0ZTsKLSsJCQlpZiAoZWRhdGEgLSBy ZGF0YSA8IGJ5dGVsZW4pIGdvdG8gZm9ybWVycjsKLSAJCQltZW1zZXQoJmEsIDAsIHNpemVvZihh KSk7Ci0tCQkJbWVtY3B5KCZhLnM2X2FkZHJbcGJ5dGVdLCByZGF0YSwgc2l6ZW9mKGEpIC0gcGJ5 dGUpOwotKwkJCW1lbWNweSgmYS5zNl9hZGRyW3BieXRlXSwgcmRhdGEsIGJ5dGVsZW4pOwotIAkJ CWlmIChpbmV0X250b3AgKEFGX0lORVQ2LCAmYSwgYnVmLCBidWZsZW4pID09IE5VTEwpCi0gCQkJ ICByZXR1cm4gLTE7Ci0gCQkJYWRkbGVuKHN0cmxlbihidWYpLCAmYnVmLCAmYnVmbGVuKTsKCmRp ZmYgLS1naXQgYS9nbGliYy1SSEVMLTE3MjQyNS00LnBhdGNoIGIvZ2xpYmMtUkhFTC0xNzI0MjUt NC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjM5MzU4Ni4uMDAwMDAwMAot LS0gYS9nbGliYy1SSEVMLTE3MjQyNS00LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzYzICsw LDAgQEAKLVRha2VuIGZyb206IDxodHRwczovL2luYm94LnNvdXJjZXdhcmUub3JnL2xpYmMtYWxw aGEvY292ZXIuMTc3NzU0NjE5NC5naXQuZndlaW1lckByZWRoYXQuY29tLz4KLQotQXV0aG9yOiBG bG9yaWFuIFdlaW1lciA8ZndlaW1lckByZWRoYXQuY29tPgotRGF0ZTogICBUaHUgQXByIDMwIDEy OjUyOjE4IDIwMjYgKzAyMDAKLQotICAgIHJlc29sdjogQWRkIHRlc3QgY2FzZSB0c3QtbnNfc3By aW50cnIgKGJ1ZyAzNDAzMywgYnVnIDM0MDY5KQotICAgIAotICAgIFRoaXMgdGVzdCBjYXNlIGNv dmVycyBib3RoIGlucHV0IGJ1ZmZlciBvdmVycmVhZHMgYW5kIG91dHB1dCBidWZmZXIKLSAgICBv dmVyZmxvd3MuICBJdCBzaG91bGQgc3lzdGVtYXRpY2FsbHkgY292ZXIgdGhlc2UgaXNzdWVzLgot ICAgIAotICAgIEkgdXNlZCBjb2RlIGF1dG8tZ2VuZXJhdGlvbiBmb3IgdXBkYXRpbmcgdGhlIHRl c3QgZXhwZWN0YXRpb25zIGZvcgotICAgIHRydW5jYXRlZCBSREFUQSBpbiBUWFQsIElTRE4sIENF UlQgcmVjb3JkcywgYWZ0ZXIgd3JpdGluZyB0aGUgcmVzdAotICAgIG9mIHRoZSB0ZXN0IGJ5IGhh bmQuCi0gICAgCi0gICAgQXNzaXN0ZWQtYnk6IExMTQotCi1kaWZmIC0tZ2l0IGEvcmVzb2x2L01h a2VmaWxlIGIvcmVzb2x2L01ha2VmaWxlCi1pbmRleCA3OWExYjk2NDdmOTljODY0Li4xMzBkOGI1 MWUwZWJhNDI0IDEwMDY0NAotLS0tIGEvcmVzb2x2L01ha2VmaWxlCi0rKysgYi9yZXNvbHYvTWFr ZWZpbGUKLUBAIC0xMDEsNiArMTAxLDcgQEAgdGVzdHMgKz0gXAotICAgdHN0LW5zX25hbWUgXAot ICAgdHN0LW5zX25hbWVfY29tcHJlc3MgXAotICAgdHN0LW5zX25hbWVfcHRvbiBcCi0rICB0c3Qt bnNfc3ByaW50cnIgXAotICAgdHN0LXJlc19oY29uZl9yZW9yZGVyIFwKLSAgIHRzdC1yZXNfaG5v ayBcCi0gICB0c3QtcmVzb2x2LWFsaWFzZXMgXAotQEAgLTMzOSw1ICszNDAsNiBAQCAkKG9ianBm eCl0c3QtbnNfbmFtZTogJChvYmpwZngpbGlicmVzb2x2LnNvCi0gJChvYmpwZngpdHN0LW5zX25h bWUub3V0OiB0c3QtbnNfbmFtZS5kYXRhCi0gJChvYmpwZngpdHN0LW5zX25hbWVfY29tcHJlc3M6 ICQob2JqcGZ4KWxpYnJlc29sdi5zbwotICQob2JqcGZ4KXRzdC1uc19uYW1lX3B0b246ICQob2Jq cGZ4KWxpYnJlc29sdi5zbwotKyQob2JqcGZ4KXRzdC1uc19zcHJpbnRycjogJChvYmpwZngpbGli cmVzb2x2LnNvCi0gJChvYmpwZngpdHN0LXJlc19obm9rOiAkKG9ianBmeClsaWJyZXNvbHYuc28K LSAkKG9ianBmeCl0c3QtcF9zZWNzdG9kYXRlOiAkKG9ianBmeClsaWJyZXNvbHYuc28KLWRpZmYg LS1naXQgYS9yZXNvbHYvdHN0LW5zX3NwcmludHJyLmMgYi9yZXNvbHYvdHN0LW5zX3NwcmludHJy LmMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMDAwMDAwLi41MjJkODM1 ZmU2ZjYzZGYyCi0tLS0gL2Rldi9udWxsCi0rKysgYi9yZXNvbHYvdHN0LW5zX3NwcmludHJyLmMK LUBAIC0wLDAgKzEsMzIyIEBACi0rLyogVGVzdHMgZm9yIHRoZSBuc19zcHJpbnRyciBmdW5jdGlv bi4KLSsgICBDb3B5cmlnaHQgKEMpIDIwMjYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Ci0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0rCi0rICAgVGhl IEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCi0rICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAgIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRoZSBHTlUgQyBM aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotKyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAgIExpY2Vuc2UgYWxvbmcg d2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKLSsgICA8aHR0cHM6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaW5jbHVkZSA8YXJwYS9uYW1lc2VyLmg+Ci0rCi0r I2luY2x1ZGUgPGFsbG9jX2J1ZmZlci5oPgotKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KLSsjaW5j bHVkZSA8bGliYy1kaWFnLmg+Ci0rI2luY2x1ZGUgPHN0ZGJvb2wuaD4KLSsjaW5jbHVkZSA8c3Ry aW5nLmg+Ci0rI2luY2x1ZGUgPHN1cHBvcnQvY2hlY2suaD4KLSsjaW5jbHVkZSA8c3VwcG9ydC9u ZXh0X3RvX2ZhdWx0Lmg+Ci0rCi0rLyogUmVnaW9ucyB0aGF0IHRlc3Rfb25lX3JlY29yZCB1c2Vz IGZvciBpbnB1dCBhbmQgb3V0cHV0LiAgKi8KLStzdGF0aWMgc3RydWN0IHN1cHBvcnRfbmV4dF90 b19mYXVsdCBudGZfaW47Ci0rc3RhdGljIHN0cnVjdCBzdXBwb3J0X25leHRfdG9fZmF1bHQgbnRm X291dDsKLSsKLSsvKiBUaGlzIGlzIHVzZWQgYnkgdGVzdF9vbmVfcmVjb3JkIHRvIGNvbnN0cnVj dCB0aGUgcGFja2V0LiAgICovCi0rc3RhdGljIGNvbnN0IGNoYXIgcGFja2V0X3ByZWZpeFtdID0K LSsgIC8qIEROUyByZXNwb25zZSB3aXRoIG9uZSBxdWVzdGlvbiwgb25lIGFuc3dlciByZWNvcmQu ICAqLwotKyAgIkFBXHg4MVx4ODBcMFwxXDBcMVwwXDBcMFwwIgotKyAgLyogUXVlc3Rpb246IHd3 dy5leGFtcGxlLm9yZy9JTi9BTlkuICAqLwotKyAgIlwzd3d3XDdleGFtcGxlXDNvcmdcMFwwXHhm ZlwwXDEiCi0rICAvKiBSZXNwb25zZTogY29tcHJlc3Npb24gcmVmZXJlbmNlLiAgKi8KLSsgICJc eGMwXHgwYyI7Ci0rCi0rLyogVXNlIG5zX3NwcmludHJyIHRvIGZvcm1hdCBhIEROUyByZWNvcmQg KHN0YXJ0aW5nIHdpdGgKLSsgICBwYWNrZXRfcHJlZml4KSBvZiB0eXBlIFJUWVBFLCB3aXRoIGEg cmVjb3JkIHBheWxvYWQgb2YgUkRBVEFMRU4KLSsgICBieXRlcyBzdGFydGluZyBhdCBSREFUQS4g IENoZWNrIHN1Y2Nlc3NmdWwgZm9ybWF0dGluZyBhZ2FpbnN0Ci0rICAgRVhQRUNURUQuICBUcnkg dmFyaW91cyB0cnVuY2F0ZWQgaW5wdXQgYW5kIG91dHB1dCBidWZmZXJzIHRvIGNhdGNoCi0rICAg b3ZlcnJlYWRzIGFuZCBidWZmZXIgb3ZlcmZsb3dzLCB1c2luZyBudGZfaW4gYW5kIG50Zl9vdXQg YWJvdmUuICAqLwotK3N0YXRpYyB2b2lkCi0rdGVzdF9vbmVfcmVjb3JkICh1aW50MTZfdCBydHlw ZSwgY29uc3QgY2hhciAqcmRhdGEsIHNpemVfdCByZGF0YWxlbiwKLSsgICAgICAgICAgICAgICAg IGNvbnN0IGNoYXIgKmV4cGVjdGVkKQotK3sKLSsgIHN0cnVjdCBycl9oZWFkZXIKLSsgIHsKLSsg ICAgdWludDE2X3QgdHlwOwotKyAgICB1aW50MTZfdCBjbHM7Ci0rICAgIHVpbnQzMl90IHR0bDsK LSsgICAgdWludDE2X3QgcmRhdGFsZW47Ci0rICAgIHVpbnQxNl90IHBhZDsKLSsgIH0gaGRyID0K LSsgICAgewotKyAgICAgIC50eXAgPSBodG9ucyAocnR5cGUpLAotKyAgICAgIC5jbHMgPSBodG9u cyAobnNfY19pbiksCi0rICAgICAgLnR0bCA9IGh0b25sICg4NjQwMCksICAgICAvKiBPbmUgZGF5 LiAgKi8KLSsgICAgICAucmRhdGFsZW4gPSBodG9ucyAocmRhdGFsZW4pLAotKyAgICB9OwotKyAg c2l6ZV90IGhkcmxlbiA9IG9mZnNldG9mIChzdHJ1Y3QgcnJfaGVhZGVyLCBwYWQpOwotKyAgVEVT VF9DT01QQVJFIChoZHJsZW4sIDEwKTsKLSsKLSsgIC8qIENvbnN0cnVjdCB0aGUgcGFja2V0IGZy b20gcGFja2V0X3ByZWZpeCwgaGRyLCBhbmQgcmRhdGEuICAqLwotKyAgY2hhciBwYWNrZXRbNTEy XTsKLSsgIHNpemVfdCBwYWNrZXRsZW47Ci0rICB7Ci0rICAgIHN0cnVjdCBhbGxvY19idWZmZXIg YnVmID0gYWxsb2NfYnVmZmVyX2NyZWF0ZSAocGFja2V0LCBzaXplb2YgKHBhY2tldCkpOwotKyAg ICBhbGxvY19idWZmZXJfY29weV9ieXRlcyAoJmJ1ZiwgcGFja2V0X3ByZWZpeCwgc2l6ZW9mIChw YWNrZXRfcHJlZml4KSAtIDEpOwotKyAgICBhbGxvY19idWZmZXJfY29weV9ieXRlcyAoJmJ1Ziwg JmhkciwgaGRybGVuKTsKLSsgICAgYWxsb2NfYnVmZmVyX2NvcHlfYnl0ZXMgKCZidWYsIHJkYXRh LCByZGF0YWxlbik7Ci0rICAgIHBhY2tldGxlbiA9IHNpemVvZiAocGFja2V0KSAtIGFsbG9jX2J1 ZmZlcl9zaXplICgmYnVmKTsKLSsgIH0KLSsKLSsgIC8qIFBhcnNlIHRoZSByZWNvcmQuICAgKi8K LSsgIG5zX21zZyBtc2c7Ci0rICBURVNUX0NPTVBBUkUgKG5zX2luaXRwYXJzZSAoKHVuc2lnbmVk IGNoYXIgKikgcGFja2V0LCBwYWNrZXRsZW4sICZtc2cpLCAwKTsKLSsgIG5zX3JyIHJyOwotKyAg VEVTVF9DT01QQVJFIChuc19wYXJzZXJyICgmbXNnLCBuc19zX2FuLCAwLCAmcnIpLCAwKTsKLSsK LSsgIC8qIFRyeSBzaXplcyB1cCB0byB0aGlzIGxpbWl0LiAgR28gYSBiaXQgYmV5b25kIHRoZSBl eHBlY3RlZCBzaXplIHRvCi0rICAgICBjaGVjayBmb3IgZXJyb3JzLiAgKi8KLSsgIHNpemVfdCBt YXhfcmVzdWx0X3NpemUgPSBzdHJsZW4gKGV4cGVjdGVkKSArIDE2OwotKwotKyAgYm9vbCBzdWNj ZXNzID0gZmFsc2U7Ci0rICBmb3IgKHNpemVfdCByZXN1bHRfc2l6ZSA9IDE7IHJlc3VsdF9zaXpl IDw9IG1heF9yZXN1bHRfc2l6ZTsgKytyZXN1bHRfc2l6ZSkKLSsgICAgewotKyAgICAgIGNoYXIg KnJlc3VsdF9zdGFydCA9IG50Zl9vdXQuYnVmZmVyICsgbnRmX291dC5sZW5ndGggLSByZXN1bHRf c2l6ZTsKLSsgICAgICBtZW1zZXQgKHJlc3VsdF9zdGFydCwgJ1gnLCByZXN1bHRfc2l6ZSk7Ci0r Ci0rICAgICAgLyogbnNfc3ByaW50cnIgd2FzIGRlcHJlY2F0ZWQgaW4gMi4zNC4gICovCi0rICAg ICAgRElBR19QVVNIX05FRURTX0NPTU1FTlQ7Ci0rICAgICAgRElBR19JR05PUkVfTkVFRFNfQ09N TUVOVCAoNC45LCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIpOwotKyAgICAgIGludCByZXQg PSBuc19zcHJpbnRyciAoJm1zZywgJnJyLCBOVUxMLCBOVUxMLCByZXN1bHRfc3RhcnQsIHJlc3Vs dF9zaXplKTsKLSsgICAgICBESUFHX1BPUF9ORUVEU19DT01NRU5UOwotKwotKyAgICAgIGlmIChy ZXQgPiAwKQotKyAgICAgICAgewotKyAgICAgICAgICBURVNUX0NPTVBBUkVfU1RSSU5HIChyZXN1 bHRfc3RhcnQsIGV4cGVjdGVkKTsKLSsgICAgICAgICAgVEVTVF9DT01QQVJFIChyZXQsIHN0cmxl biAoZXhwZWN0ZWQpKTsKLSsgICAgICAgICAgc3VjY2VzcyA9IHRydWU7Ci0rICAgICAgICB9Ci0r ICAgICAgZWxzZQotKyAgICAgICAgewotKyAgICAgICAgICBURVNUX1ZFUklGWSAoIXN1Y2Nlc3Mp OwotKyAgICAgICAgICBURVNUX0NPTVBBUkUgKHJldCwgLTEpOwotKyAgICAgICAgfQotKyAgICB9 Ci0rICBURVNUX1ZFUklGWSAoc3VjY2Vzcyk7Ci0rCi0rICAvKiBUZXN0IHdpdGggdHJ1bmNhdGVk IFJEQVRBLiAgICovCi0rICBmb3IgKHNpemVfdCByZGF0YV9zaXplID0gMDsgcmRhdGFfc2l6ZSA8 PSByZGF0YWxlbjsgKytyZGF0YV9zaXplKQotKyAgICB7Ci0rICAgICAgc2l6ZV90IHRydW5jYXRl ZF9wYWNrZXRfc2l6ZSA9IHBhY2tldGxlbiAtIHJkYXRhbGVuICsgcmRhdGFfc2l6ZTsKLSsgICAg ICBjaGFyICpwYWNrZXRfc3RhcnQKLSsgICAgICAgID0gbnRmX2luLmJ1ZmZlciArIG50Zl9pbi5s ZW5ndGggLSB0cnVuY2F0ZWRfcGFja2V0X3NpemU7Ci0rICAgICAgbWVtY3B5IChwYWNrZXRfc3Rh cnQsIHBhY2tldCwgdHJ1bmNhdGVkX3BhY2tldF9zaXplKTsKLSsgICAgICAvKiBQYXRjaCBpbiB0 aGUgdXBkYXRlZCBSREFUQSBsZW5ndGggZmllbGQuICAqLwotKyAgICAgIHVpbnQxNl90IG5ld19y ZGF0YWxlbiA9IGh0b25zIChyZGF0YV9zaXplKTsKLSsgICAgICBtZW1jcHkgKHBhY2tldF9zdGFy dCArIHRydW5jYXRlZF9wYWNrZXRfc2l6ZSAtIHJkYXRhX3NpemUgLSAyLAotKyAgICAgICAgICAg ICAgJm5ld19yZGF0YWxlbiwgMik7Ci0rCi0rICAgICAgbnNfbXNnIG1zZzsKLSsgICAgICBURVNU X0NPTVBBUkUgKG5zX2luaXRwYXJzZSAoKHVuc2lnbmVkIGNoYXIgKikgcGFja2V0X3N0YXJ0LAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVuY2F0ZWRfcGFja2V0X3NpemUs ICZtc2cpLCAwKTsKLSsgICAgICBuc19yciBycjsKLSsgICAgICBURVNUX0NPTVBBUkUgKG5zX3Bh cnNlcnIgKCZtc2csIG5zX3NfYW4sIDAsICZyciksIDApOwotKwotKyAgICAgIHNpemVfdCByZXN1 bHRfc2l6ZSA9IHN0cmxlbiAoZXhwZWN0ZWQpICsgMTsKLSsgICAgICBjaGFyICpyZXN1bHRfc3Rh cnQgPSBudGZfb3V0LmJ1ZmZlciArIG50Zl9vdXQubGVuZ3RoIC0gcmVzdWx0X3NpemU7Ci0rICAg ICAgbWVtc2V0IChyZXN1bHRfc3RhcnQsICdYJywgcmVzdWx0X3NpemUpOwotKwotKyAgICAgIC8q IG5zX3NwcmludHJyIHdhcyBkZXByZWNhdGVkIGluIDIuMzQuICAqLwotKyAgICAgIERJQUdfUFVT SF9ORUVEU19DT01NRU5UOwotKyAgICAgIERJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDQuOSwg Ii1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiKTsKLSsgICAgICBpbnQgcmV0ID0gbnNfc3ByaW50 cnIgKCZtc2csICZyciwgTlVMTCwgTlVMTCwgcmVzdWx0X3N0YXJ0LCByZXN1bHRfc2l6ZSk7Ci0r ICAgICAgRElBR19QT1BfTkVFRFNfQ09NTUVOVDsKLSsKLSsgICAgICAvKiBUaGlzIGZsYWcgaW5k aWNhdGVzIHdoZXRoZXIgdGhlIG91dHB1dCBpcyBzeW50YWN0aWNhbGx5Ci0rICAgICAgICAgY29y cmVjdC4gIEluIHNvbWUgY2FzZXMsIHRydW5jYXRpb24gbWF5IHN0aWxsIHlpZWxkIGEgdmFsaWQK LSsgICAgICAgICBwYXlsb2FkLiAgKi8KLSsgICAgICBib29sIGJyb2tlbiA9IHJkYXRhX3NpemUg PCByZGF0YWxlbjsKLSsgICAgICBzd2l0Y2ggKHJ0eXBlKQotKyAgICAgICAgewotKyAgICAgICAg Y2FzZSBuc190X3drczoKLSsgICAgICAgICAgLyogV0tTIHJlY29yZHMgdXNlIGFsbCB0cmFpbGlu ZyBieXRlcyBmb3IgdGhlIHBvcnQgYml0bWFwLiAgKi8KLSsgICAgICAgICAgYnJva2VuID0gcmRh dGFfc2l6ZSA8IDU7Ci0rICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgY2FzZSBuc190X25zYXA6 Ci0rICAgICAgICAgIC8qIFVzZXMgYWxsIGJ5dGVzIHRoYXQgYXJlIGF2YWlsYWJsZS4gICovCi0r ICAgICAgICAgIGJyb2tlbiA9IGZhbHNlOwotKyAgICAgICAgICBicmVhazsKLSsgICAgICAgIGNh c2UgbnNfdF90eHQ6Ci0rICAgICAgICAgIC8qIFRydW5jYXRpb24gcHJvZHVjZXMgYSB2YWxpZCBw YXlsb2FkIGlmIGl0IG9jY3VycyByaWdodAotKyAgICAgICAgICAgICBhZnRlciBhIGNvbXBsZXRl IHN0cmluZyBpbiB0aGUgVFhUIHBheWxvYWQuICAqLwotKyAgICAgICAgICBicm9rZW4gPSBmYWxz ZTsKLSsgICAgICAgICAgZm9yIChzaXplX3QgcG9zID0gMDsgcG9zIDwgcmRhdGFfc2l6ZTsgKQot KyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzbGVuID0gcmRhdGFb cG9zXSAmIDB4ZmY7Ci0rICAgICAgICAgICAgICBpZiAocG9zICsgMSArIHNsZW4gPiByZGF0YV9z aXplKQotKyAgICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgICAgYnJva2VuID0gdHJ1 ZTsKLSsgICAgICAgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgICAgICAgfQotKyAgICAg ICAgICAgICAgcG9zICs9IDEgKyBzbGVuOwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgYnJl YWs7Ci0rICAgICAgICBjYXNlIG5zX3RfaXNkbjoKLSsgICAgICAgICAgLyogVGhlIHNlY29uZCBm aWVsZCBpcyBvcHRpb25hbC4gIElmIGl0IGlzIHByZXNlbnQsIGl0IG11c3QKLSsgICAgICAgICAg ICAgbm90IGJlIHRydW5jYXRlZC4gICovCi0rICAgICAgICAgIGJyb2tlbiA9IHJkYXRhX3NpemUg PCA2IHx8IChyZGF0YV9zaXplID4gNiAmJiByZGF0YV9zaXplIDwgcmRhdGFsZW4pOwotKyAgICAg ICAgICBicmVhazsKLSsgICAgICAgIGNhc2UgbnNfdF9jZXJ0OgotKyAgICAgICAgICAvKiBUaGUg NS1ieXRlIGhlYWRlciBpcyBzdWZmaWNpZW50LiBBbnkgYXZhaWxhYmxlIHRyYWlsaW5nCi0rICAg ICAgICAgICAgIGRhdGEgaXMgYmFzZTY0LWVuY29kZWQuICAqLwotKyAgICAgICAgICBicm9rZW4g PSByZGF0YV9zaXplIDwgNTsKLSsgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICBjYXNlIG5zX3Rf YTY6Ci0rICAgICAgICAgIC8qIFRoZSBmaXJzdCBBNiBzdWJ0ZXN0IGNvbnRhaW5zIGEgdHJhaWxp bmcgZG9tYWluIG5hbWUsCi0rICAgICAgICAgICAgIHdoaWNoIGlzIGlnbm9yZWQgYW5kIG5vdCBm b3JtYXR0ZWQuICAqLwotKyAgICAgICAgICBpZiAocmRhdGFfc2l6ZSA+IDAgJiYgcmRhdGFbMF0g PT0gMCkKLSsgICAgICAgICAgICBicm9rZW4gPSByZGF0YV9zaXplIDwgMTc7Ci0rICAgICAgICAg IGJyZWFrOwotKyAgICAgICAgfQotKwotKyAgICAgIGlmIChicm9rZW4pCi0rICAgICAgICB7Ci0r ICAgICAgICAgIGlmIChzdHJzdHIgKHJlc3VsdF9zdGFydCwgIlJSIGZvcm1hdCBlcnJvciIpICE9 IE5VTEwpCi0rICAgICAgICAgICAgLyogTm8gZnVydGhlciBjaGVja3MgaWYgYW4gZXJyb3IgaW5k aWNhdG9yIGhhcyBiZWVuIGFkZGVkCi0rICAgICAgICAgICAgICAgdG8gdGhlIG91dHB1dC4gICov Ci0rICAgICAgICAgICAgOwotKyAgICAgICAgICAvKiBUS0VZIGFuZCBUU0lHIGltcGxlbWVudGF0 aW9ucyBhcmUgaW5jb21wbGV0ZS4gICovCi0rICAgICAgICAgIGVsc2UgaWYgKHJ0eXBlICE9IG5z X3RfdGtleSAmJiBydHlwZSAhPSBuc190X3RzaWcpCi0rICAgICAgICAgICAgVEVTVF9DT01QQVJF IChyZXQsIC0xKTsKLSsgICAgICAgIH0KLSsgICAgICBlbHNlCi0rICAgICAgICBURVNUX1ZFUklG WSAocmV0ID4gMCk7Ci0rICAgIH0KLSt9Ci0rCi0rc3RhdGljIGludAotK2RvX3Rlc3QgKHZvaWQp Ci0rewotKyAgbnRmX2luID0gc3VwcG9ydF9uZXh0X3RvX2ZhdWx0X2FsbG9jYXRlICg1MTIpOwot KyAgbnRmX291dCA9IHN1cHBvcnRfbmV4dF90b19mYXVsdF9hbGxvY2F0ZSAoMjU2KTsKLSsKLSsj ZGVmaW5lIFQocnR5cGUsIHJkYXRhLCBleHBlY3RlZCkgXAotKyAgdGVzdF9vbmVfcmVjb3JkIChy dHlwZSwgcmRhdGEsIHNpemVvZiAocmRhdGEpIC0gMSwgZXhwZWN0ZWQpCi0rICBUIChuc190X2Es ICJceGMwXDBcMlwxIiwgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIEFcdFx0MTkyLjAuMi4xIik7 Ci0rICBUIChuc190X2NuYW1lLCAiXDR3d3cxXDRwcm9kXHhjMFx4MTAiLAotKyAgICAgInd3dy5l eGFtcGxlLm9yZy5cdDFEIElOIENOQU1FXHR3d3cxLnByb2QuZXhhbXBsZS5vcmcuIik7Ci0rICBU IChuc190X2hpbmZvLCAiXDVmaXJzdFw2c2Vjb25kIiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcu XHQxRCBJTiBISU5GT1x0XCJmaXJzdFwiIFwic2Vjb25kXCIiKTsKLSsgIFQgKG5zX3RfaXNkbiwg Ilw1Zmlyc3RcNnNlY29uZCIsCi0rICAgICAid3d3LmV4YW1wbGUub3JnLlx0MUQgSU4gSVNETlx0 XCJmaXJzdFwiIFwic2Vjb25kXCIiKTsKLSsgIC8qIEJ1ZzogRXh0cmEgc3BhY2UgYXQgdGhlIGVu ZCBpbiB0aGUgdGV4dCByZXByZXNlbnRhdGlvbiBvZiBJU0ROIFJScy4gICovCi0rICBUIChuc190 X2lzZG4sICJcNWZpcnN0IiwgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIElTRE5cdFwiZmlyc3Rc IiAiKTsKLSsgIFQgKG5zX3Rfc29hLAotKyAgICAgIlwybnNceGMwXHgxMFwxMmhvc3RtYXN0ZXJc eGMwXHgxMCIKLSsgICAgICJcMFwwXDBcMVwwXDBcMFwyXDBcMFwwXDNcMFwwXDBcNFwwXDBcMFw1 IiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQxRCBJTiBTT0FcdG5zLmV4YW1wbGUub3JnLiBo b3N0bWFzdGVyLmV4YW1wbGUub3JnLiAoXG4iCi0rICAgICAiXHRcdFx0XHRcdDFcdFx0OyBzZXJp YWxcbiIKLSsgICAgICJcdFx0XHRcdFx0MlNcdFx0OyByZWZyZXNoXG4iCi0rICAgICAiXHRcdFx0 XHRcdDNTXHRcdDsgcmV0cnlcbiIKLSsgICAgICJcdFx0XHRcdFx0NFNcdFx0OyBleHBpcnlcbiIK LSsgICAgICJcdFx0XHRcdFx0NVMgKVx0XHQ7IG1pbmltdW1cbiIpOwotKyAgVCAobnNfdF9teCwg IlwwXHhhXDJteFx4YzBceDEwIiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQxRCBJTiBNWFx0 MTAgbXguZXhhbXBsZS5vcmcuIik7Ci0rICBUIChuc190X3B4LCAiXDBceGFcM3B4MVx4YzBceDEw XDNweDJceGMwXHgxMCIsCi0rICAgICAid3d3LmV4YW1wbGUub3JnLlx0MUQgSU4gUFhcdDEwIHB4 MS5leGFtcGxlLm9yZy4gcHgyLmV4YW1wbGUub3JnLiIpOwotKyAgVCAobnNfdF94MjUsICJcNFgu MjUiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIFgyNVx0XCJYLjI1XCIiKTsKLSsg IFQgKG5zX3RfdHh0LCAiXDFBXDJCQ1wzREVGIiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQx RCBJTiBUWFRcdFwiQVwiIFwiQkNcIiBcIkRFRlwiIik7Ci0rICBUIChuc190X25zYXAsICIiLAot KyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIE5TQVBcdCIpOwotKyAgVCAobnNfdF9uc2Fw LCAiXDEiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIE5TQVBcdDAxIik7Ci0rICBU IChuc190X25zYXAsICJcMVwyIiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQxRCBJTiBOU0FQ XHQwMS4wMiIpOwotKyAgVCAobnNfdF9uc2FwLCAiXDFcMlwzIiwKLSsgICAgICJ3d3cuZXhhbXBs ZS5vcmcuXHQxRCBJTiBOU0FQXHQwMS4wMjAzIik7Ci0rICBUIChuc190X25zYXAsICJcMVwyXDNc NCIsCi0rICAgICAid3d3LmV4YW1wbGUub3JnLlx0MUQgSU4gTlNBUFx0MDEuMDIwMy4wNCIpOwot KyAgVCAobnNfdF9uc2FwLAotKyAgICAgIlwxXDJcM1w0XDVcNlw3XDEwXDExXDEyXDEzXDE0XDE1 XDE2XDE3XDIwXDIxXDIyXDIzXDI0XDI1XDI2XDI3XDMwXDMxXDMyIgotKyAgICAgIlwzM1wzNFwz NVwzNlwzN1w0MFw0MVw0Mlw0M1w0NFw0NVw0Nlw0N1w1MFw1MVw1Mlw1M1w1NFw1NVw1Nlw1N1w2 MFw2MSIKLSsgICAgICJcNjJcNjNcNjRcNjVcNjZcNjdcNzBcNzFcNzJcNzNcNzRcNzVcNzZcNzdc MTAwXDEwMVwxMDJcMTAzXDEwNFwxMDVcMTA2IgotKyAgICAgIlwxMDdcMTEwXDExMVwxMTJcMTEz XDExNFwxMTVcMTE2XDExN1wxMjBcMTIxXDEyMlwxMjNcMTI0XDEyNVwxMjZcMTI3IgotKyAgICAg IlwxMzBcMTMxXDEzMlwxMzNcMTM0XDEzNVwxMzZcMTM3XDE0MFwxNDFcMTQyXDE0M1wxNDRcMTQ1 XDE0NlwxNDdcMTUwIgotKyAgICAgIlwxNTFcMTUyXDE1M1wxNTRcMTU1XDE1NlwxNTdcMTYwXDE2 MVwxNjJcMTYzXDE2NFwxNjVcMTY2XDE2N1wxNzBcMTcxIgotKyAgICAgIlwxNzJcMTczXDE3NFwx NzVcMTc2XDE3N1wyMDBcMjAxXDIwMlwyMDNcMjA0XDIwNVwyMDZcMjA3XDIxMFwyMTFcMjEyIgot KyAgICAgIlwyMTNcMjE0XDIxNVwyMTZcMjE3XDIyMFwyMjFcMjIyXDIyM1wyMjRcMjI1XDIyNlwy MjdcMjMwXDIzMVwyMzJcMjMzIgotKyAgICAgIlwyMzRcMjM1XDIzNlwyMzdcMjQwXDI0MVwyNDJc MjQzXDI0NFwyNDVcMjQ2XDI0N1wyNTBcMjUxXDI1MlwyNTNcMjU0IgotKyAgICAgIlwyNTVcMjU2 XDI1N1wyNjBcMjYxXDI2MlwyNjNcMjY0XDI2NVwyNjZcMjY3XDI3MFwyNzFcMjcyXDI3M1wyNzRc Mjc1IgotKyAgICAgIlwyNzZcMjc3XDMwMFwzMDFcMzAyXDMwM1wzMDRcMzA1XDMwNlwzMDdcMzEw XDMxMVwzMTJcMzEzXDMxNFwzMTVcMzE2IgotKyAgICAgIlwzMTdcMzIwXDMyMVwzMjJcMzIzXDMy NFwzMjVcMzI2XDMyN1wzMzBcMzMxXDMzMlwzMzNcMzM0XDMzNVwzMzZcMzM3IgotKyAgICAgIlwz NDBcMzQxXDM0MlwzNDNcMzQ0XDM0NVwzNDZcMzQ3XDM1MFwzNTFcMzUyXDM1M1wzNTRcMzU1XDM1 NlwzNTdcMzYwIgotKyAgICAgIlwzNjFcMzYyXDM2M1wzNjRcMzY1XDM2NlwzNjdcMzcwXDM3MVwz NzJcMzczXDM3NFwzNzVcMzc2XDM3NyIsCi0rICAgICAid3d3LmV4YW1wbGUub3JnLlx0MUQgSU4g TlNBUFx0IgotKyAgICAgIjAxLjAyMDMuMDQwNS4wNjA3LjA4MDkuMEEwQi4wQzBELjBFMEYuMTAx MS4xMjEzLjE0MTUuMTYxNy4xODE5LjFBMUIiCi0rICAgICAiLjFDMUQuMUUxRi4yMDIxLjIyMjMu MjQyNS4yNjI3LjI4MjkuMkEyQi4yQzJELjJFMkYuMzAzMS4zMjMzLjM0MzUuMzYzNyIKLSsgICAg ICIuMzgzOS4zQTNCLjNDM0QuM0UzRi40MDQxLjQyNDMuNDQ0NS40NjQ3LjQ4NDkuNEE0Qi40QzRE LjRFNEYuNTA1MS41MjUzIgotKyAgICAgIi41NDU1LjU2NTcuNTg1OS41QTVCLjVDNUQuNUU1Ri42 MDYxLjYyNjMuNjQ2NS42NjY3LjY4NjkuNkE2Qi42QzZELjZFNkYiCi0rICAgICAiLjcwNzEuNzI3 My43NDc1Ljc2NzcuNzg3OS43QTdCLjdDN0QuN0U3Ri44MDgxLjgyODMuODQ4NS44Njg3Ljg4ODku OEE4QiIKLSsgICAgICIuOEM4RC44RThGLjkwOTEuOTI5My45NDk1Ljk2OTcuOTg5OS45QTlCLjlD OUQuOUU5Ri5BMEExLkEyQTMuQTRBNS5BNkE3IgotKyAgICAgIi5BOEE5LkFBQUIuQUNBRC5BRUFG LkIwQjEuQjJCMy5CNEI1LkI2QjcuQjhCOS5CQUJCLkJDQkQuQkVCRi5DMEMxLkMyQzMiCi0rICAg ICAiLkM0QzUuQzZDNy5DOEM5LkNBQ0IuQ0NDRC5DRUNGLkQwRDEuRDJEMy5ENEQ1LkQ2RDcuRDhE OS5EQURCLkRDREQuREVERiIKLSsgICAgICIuRTBFMS5FMkUzLkU0RTUuRTZFNy5FOEU5LkVBRUIu RUNFRC5FRUVGLkYwRjEuRjJGMy5GNEY1LkY2RjcuRjhGOS5GQUZCIgotKyAgICAgIi5GQ0ZELkZF RkYiKTsKLSsgIFQgKG5zX3RfYWFhYSwgIlx4MjBceDAxXHgwZFx4YjhcMFwwXDBcMFwwXDBcMFww XDBcMFx4MTJceDM0IiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQxRCBJTiBBQUFBXHQyMDAx OmRiODo6MTIzNCIpOwotKyAgLyogRXhhbXBsZSBmcm9tIFJGQyAxODc2LiAgVGhlIGxvY19udG9h IGZvcm1hdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUKLSsgICAgIG9mZmljaWFsIHRleHQgcmVwcmVz ZW50YXRpb24uICAqLwotKyAgVCAobnNfdF9sb2MsCi0rICAgICAiXDAwMFwwNjNcMDI2XDAyM1wy MTFcMDI3XDA1NVwzMjBcMTYwXDI3NlwwMjVcMzYwXDAwMFwyMzBcMjE1XDA0MCIsCi0rICAgICAi d3d3LmV4YW1wbGUub3JnLlx0MUQgSU4gTE9DIgotKyAgICAgIlx0NDIgMjEgNTQuMDAwIE4gNzEg MDYgMTguMDAwIFcgLTI0LjAwbSAzMC4wMG0gMTAwMDAuMDBtIDEwLjAwbSIpOwotKyAgVCAobnNf dF9uYXB0ciwKLSsgICAgICJcMFwxXDBcMlw1ZmxhZ3NcN3NlcnZpY2VcMi4qXDVuYXB0clx4YzBc eDEwIiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQxRCBJTiBOQVBUUlx0MSAyIFwiZmxhZ3Nc IiBcInNlcnZpY2VcIiBcIi4qXCIiCi0rICAgICAiIG5hcHRyLmV4YW1wbGUub3JnLiIpOwotKyAg VCAobnNfdF9zcnYsCi0rICAgICAiXDBcMVwwXDJcMFx4NTBcNHd3dzFceGMwXHgxMCIsCi0rICAg ICAid3d3LmV4YW1wbGUub3JnLlx0MUQgSU4gU1JWXHQxIDIgODAgd3d3MS5leGFtcGxlLm9yZy4i KTsKLSsgIFQgKG5zX3RfcnAsICJcM3JwMVx4YzBceDEwXDNycDJceGMwXHgxMCIsCi0rICAgICAi d3d3LmV4YW1wbGUub3JnLlx0MUQgSU4gUlBcdHJwMS5leGFtcGxlLm9yZy4gcnAyLmV4YW1wbGUu b3JnLiIpOwotKyAgVCAobnNfdF93a3MsICJceGMwXDBcMlwxXDZcMFwwXDBcMFwwXDBcMFwwXDBc MFwyMDAiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIFdLU1x0MTkyLjAuMi4xIDYg KCBcblx0XHRcdFx0ODAgKSIpOwotKyAgVCAobnNfdF9jZXJ0LCAiXDBcMVx4MDRceGQyXDBibG9i IiwKLSsgICAgICJ3d3cuZXhhbXBsZS5vcmcuXHQxRCBJTiBDRVJUXHQxIDEyMzQgMCAgWW14dlln PT0iKTsKLSsgIC8qIEJ1ZzogVEtFWSBvdXRwdXQgaXMgaW5jb21wbGV0ZS4gICovCi0rICBUIChu c190X3RrZXksICJcNGFsZ29cMFwwXDBcMFwxXDBcMFwwXDJcMFwzXDBcNCIKLSsgICAgICJcMFw1 XHhhMVx4YTJceGEzXHhhNFx4YTVcMFwzXHhiMVx4YjJceGIzIiwKLSsgICAgICJ3d3cuZXhhbXBs ZS5vcmcuXHQxRCBJTiAyNDlcdGFsZ28uIDEgMiAzIDQgNSAiKTsKLSsgIC8qIEJ1ZzogTm90IGlt cGxlbWVudGVkIHByb3Blcmx5LiAgKi8KLSsgIFQgKG5zX3RfdHNpZywgIlw0YWxnb1wwIgotKyAg ICAgIlwwXDIwXHhkZFx4Y2RceDY0XHgxMFx4ZTlceDIxXHgzNFx4MWFceDhlXHhlMFx4YTFceDlh XHgzMFx4ZmNceDNiXHhkMSIKLSsgICAgICJcMFwyXDBcM1wwXDVvdGhlciIsCi0rICAgICAid3d3 LmV4YW1wbGUub3JnLlx0MUQgSU4gVFNJR1x0YWxnby4iKTsKLSsgIFQgKG5zX3RfYTYsCi0rICAg ICAiXDBceDIwXHgwMVx4MGRceGI4XDBcMFwwXDBcMFwwXDBcMFwwXDBceDEyXHgzNFw2cHJlZml4 XHhjMFx4MTAiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIDM4XHQwIDIwMDE6ZGI4 OjoxMjM0Iik7Ci0rICBUIChuc190X2E2LAotKyAgICAgIlwwXHgyMFx4MDFceDBkXHhiOFwwXDBc MFwwXDBcMFwwXDBcMFwwXHgxMlx4MzQiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElO IDM4XHQwIDIwMDE6ZGI4OjoxMjM0Iik7Ci0rICBUIChuc190X2E2LCAiXDIwMFw2cHJlZml4XHhj MFx4MTAiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElOIDM4XHQxMjggIHByZWZpeC5l eGFtcGxlLm9yZy4iKTsKLSsgIFQgKG5zX3RfYTYsICJceDIwXDBcMFwwXDBcMFwwXDBcMFwwXDBc eDEyXHgzNFw2cHJlZml4XHhjMFx4MTAiLAotKyAgICAgInd3dy5leGFtcGxlLm9yZy5cdDFEIElO IDM4XHQzMiA6OjEyMzQgcHJlZml4LmV4YW1wbGUub3JnLiIpOwotKyN1bmRlZiBUCi0rCi0rICBz dXBwb3J0X25leHRfdG9fZmF1bHRfZnJlZSAoJm50Zl9pbik7Ci0rICBzdXBwb3J0X25leHRfdG9f ZmF1bHRfZnJlZSAoJm50Zl9vdXQpOwotKyAgcmV0dXJuIDA7Ci0rfQotKwotKyNpbmNsdWRlIDxz dXBwb3J0L3Rlc3QtZHJpdmVyLmM+CgpkaWZmIC0tZ2l0IGEvZ2xpYmMuc3BlYyBiL2dsaWJjLnNw ZWMKaW5kZXggNDlmMmRlYi4uNDIwMmVjNiAxMDA2NDQKLS0tIGEvZ2xpYmMuc3BlYworKysgYi9n bGliYy5zcGVjCkBAIC0xLDQgKzEsNCBAQAotJWdsb2JhbCBnbGliY3NyY2RpciBnbGliYy0yLjQz LTI5LWcxOGI5N2IwM2I3CislZ2xvYmFsIGdsaWJjc3JjZGlyIGdsaWJjLTIuNDMtNDUtZ2RhZTQy NWI1NTQKICVnbG9iYWwgZ2xpYmN2ZXJzaW9uIDIuNDMKICMgUHJlLXJlbGVhc2UgdGFyYmFsbHMg YXJlIHB1bGxlZCBpbiBmcm9tIGdpdCB1c2luZyBhIGNvbW1hbmQgdGhhdCBpcwogIyBlZmZlY3Rp dmVseToKQEAgLTE1Miw3ICsxNTIsNyBAQCBWZXJzaW9uOiAle2dsaWJjdmVyc2lvbn0KICMgLSBJ dCBhbGxvd3MgdXNpbmcgdGhlIFJlbGVhc2UgbnVtYmVyIHdpdGhvdXQgdGhlICUlZGlzdCB0YWcg aW4gdGhlIGRlcGVuZGVuY3kKICMgICBnZW5lcmF0b3IgdG8gbWFrZSB0aGUgZ2VuZXJhdGVkIHJl cXVpcmVzIGludGVyY2hhbmdlYWJsZSBiZXR3ZWVuIFJhd2hpZGUKICMgICBhbmQgRUxOICguZWxu WVkgPCAuZmNYWCkuCi0lZ2xvYmFsIGJhc2VyZWxlYXNlIDYKKyVnbG9iYWwgYmFzZXJlbGVhc2Ug NwogUmVsZWFzZTogJXtiYXNlcmVsZWFzZX0lez9kaXN0fQogCiAjIExpY2Vuc2VzOgpAQCAtMzQ4 LDEwICszNDgsNiBAQCBQYXRjaDEzOiBnbGliYy1mZWRvcmEtbG9jYWxlZGF0YS1yaDYxOTA4LnBh dGNoCiBQYXRjaDE3OiBnbGliYy1jcy1wYXRoLnBhdGNoCiBQYXRjaDIzOiBnbGliYy1weXRob24z LnBhdGNoCiBQYXRjaDI0OiBnbGliYy1yaDI0MjY4MjUucGF0Y2gKLVBhdGNoMjY6IGdsaWJjLVJI RUwtMTcyNDI1LTEucGF0Y2gKLVBhdGNoMjc6IGdsaWJjLVJIRUwtMTcyNDI1LTIucGF0Y2gKLVBh dGNoMjg6IGdsaWJjLVJIRUwtMTcyNDI1LTMucGF0Y2gKLVBhdGNoMjk6IGdsaWJjLVJIRUwtMTcy NDI1LTQucGF0Y2gKICMgaHR0cHM6Ly9idWdzLndpbmVocS5vcmcvc2hvd19idWcuY2dpP2lkPTU4 NTIzCiAjIHJldmVydCAzZDM1NzJmNTkwNTllMmIxOWI4NTQxZWE2NDhhNjE3MjEzNmVjNDJlIHRv IGZpeCB3aW5lIGJ1aWxkCiAjIGFwcGxpZWQgd2l0aCBQUCBwb3dlcnMgYXMgd2UgcmVhbGx5IG5l ZWQgdG8gYnVpbGQgd2luZSB0byBmaXggc2NyaXB0bGV0IHByb2JsZW1zCkBAIC0yNDAzLDYgKzIz OTksMzEgQEAgdXBkYXRlX2djb252X21vZHVsZXNfY2FjaGUgKCkKICVlbmRpZgogCiAlY2hhbmdl bG9nCisqIFR1ZSBKdWwgMDcgMjAyNiBGcsOpZMOpcmljIELDqXJhdCA8ZmJlcmF0QHJlZGhhdC5j b20+IC0gMi40My03CistIEF1dG8tc3luYyB3aXRoIHVwc3RyZWFtIGJyYW5jaCByZWxlYXNlLzIu NDMvbWFzdGVyLAorICBjb21taXQgZGFlNDI1YjU1NDIwN2Y3YzQ1OTljN2ZhYzcwN2FkNGMwODU0 NTY3NDoKKy0gcG9zaXg6IEZpeCBzdGFjayBvdmVyZmxvdyBpbiB3b3JkZXhwIHRpbGRlIGV4cGFu c2lvbiAoQlogMzQwOTEsIENWRS0yMDI2LTY3OTEpIChBZGhlbWVydmFsIFphbmVsbGEpCistIHJl c29sdjogQWRkIHRlc3QgY2FzZSB0c3QtbnNfc3ByaW50cnIgKGJ1ZyAzNDAzMywgYnVnIDM0MDY5 KSAoRmxvcmlhbiBXZWltZXIpCistIHJlc29sdjogRml4IGJ1ZmZlciBvdmVycmVhZHMgaW4gbnNf c3ByaW50cnJmIChDVkUtMjAyNi02MjM4KSAoRmxvcmlhbiBXZWltZXIpCistIHJlc29sdjogTW9y ZSB0eXBlcyBhcyB1bmtub3duIGluIG5zX3NwcmludHJyZiAoQ1ZFLTIwMjYtNTQzNSkgKEZsb3Jp YW4gV2VpbWVyKQorLSByZXNvbHY6IENoZWNrIGZvciBpbmV0X250b3AgZmFpbHVyZSBpbiBuc19z cHJpbnRycmYgKEZsb3JpYW4gV2VpbWVyKQorLSByZXNvbHY6IEltcHJvdmUgZm9ybWF0dGluZyBv ZiB1bmtub3duIHJlY29yZHMgaW4gbnNfc3ByaW50cnJmIChGbG9yaWFuIFdlaW1lcikKKy0gcmVz b2x2OiBGaXggbnNfc3ByaW50cnJmIGZvcm1hdHRpbmcgb2YgY2xhc3MsIHR5cGUgdmFsdWVzIChi dWcgMzQyODkpIChGbG9yaWFuIFdlaW1lcikKKy0gcmVzb2x2OiBEZWNsYXJlIF9fcF9jbGFzc19z eW1zLCBfX3BfdHlwZV9zeW1zIGZvciBpbnRlcm5hbCB1c2UgKEZsb3JpYW4gV2VpbWVyKQorLSBo cHBhOiBGaXggbWlzc2luZyBjYWxsIHRvIF9fZmVyYWlzZWV4Y2VwdCAoQlogMzQzMDYpIChKb2hu IERhdmlkIEFuZ2xpbikKKy0gYXJtOiBTYXZlL3Jlc3RvcmUgVkZQIHJlZ2lzdGVycyBpbiBQTFQg dHJhbXBvbGluZXMgKEJaIDM0MTQ0LCBCWiAxNTc5MikgKEFkaGVtZXJ2YWwgWmFuZWxsYSkKKy0g aWNvbnY6IFN1cHByZXNzIGludGVybWVkaWF0ZSBlcnJvcnMgd2l0aCAvL1RSQU5TTElUIChidWcg MzQyMzYpIChGbG9yaWFuIFdlaW1lcikKKy0gSHVyZDogcmVzdG9yZSBzb21lIFNJT0MgaW9jdGxz IChTYW11ZWwgVGhpYmF1bHQpCistIEh1cmQ6IGNvbW1lbnQgaW9jdGxzIHdoaWNoIGNhbm5vdCBj dXJyZW50bHkgY29tcGlsZSAoU2FtdWVsIFRoaWJhdWx0KQorLSBIdXJkOiBjb21tZW50IFBGX1JP VVRFL0FGX1JPVVRFIGRlZmluZXMgKFNhbXVlbCBUaGliYXVsdCkKKy0gSHVyZDogY29tbWVudCBQ Rl9MSU5LL0FGX0xJTksgZGVmaW5lcyAoUGlubyBUb3NjYW5vKQorLSBlbGY6IGRvbid0IGNsb2Ji ZXIgbGQuc28uY29uZiBpbiB0c3QtZ2xpYmMtaHdjYXBzLXByZXBlbmQtY2FjaGUgW0JaICMzNDIx MF0gKFNhbSBKYW1lcykKKy0gUmVtb3ZlIGFwcGxpZWQgb3IgcmVkdW5kYW50IHBhdGNoZXM6Cisg IC0gZ2xpYmMtUkhFTC0xNzI0MjUtMS5wYXRjaAorICAtIGdsaWJjLVJIRUwtMTcyNDI1LTIucGF0 Y2gKKyAgLSBnbGliYy1SSEVMLTE3MjQyNS0zLnBhdGNoCisgIC0gZ2xpYmMtUkhFTC0xNzI0MjUt NC5wYXRjaAorCiAqIFdlZCBKdW4gMDMgMjAyNiBGcsOpZMOpcmljIELDqXJhdCA8ZmJlcmF0QHJl ZGhhdC5jb20+IC0gMi40My02CiAtIEF1dG8tc3luYyB3aXRoIHVwc3RyZWFtIGJyYW5jaCByZWxl YXNlLzIuNDMvbWFzdGVyLAogICBjb21taXQgMThiOTdiMDNiNzQ0MmQ4YmEwODYwZTQzMTQ1Zjg3 MjRjOWU3N2IxNzoKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBmYjcwOWU3 Li4xYmUwNWI1IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAK LVNIQTUxMiAoZ2xpYmMtMi40My0yOS1nMThiOTdiMDNiNy50YXIueHopID0gMWY4NTk0NThmZTkz MjEzNDg4Yzk4NmZhMDQ0YWY3OWIyZmZhODNjYzI3ODZmNTJhYjY4OGJkYmMyOTQ2MjA2ZDE4MmY4 ODE1ODkwNDllMWNjZDYzNzNhYWY2OWI0YmI5YjRkZDE4YTBiM2RlMjk0MmMwYmY0YjVlNmY5ZDRj NjgKK1NIQTUxMiAoZ2xpYmMtMi40My00NS1nZGFlNDI1YjU1NC50YXIueHopID0gOGRjNGE5Njc1 YzQzN2VkYzEzMmVhOGVkMGM2MzI4YzRhMjgwODk1Mzg2YjQ4Njk5NDk4ZmE5NTI1ZDBhNThiNzJm ZjUzYzI4MTEzMDUyYTNkMmFmNTdkODA3OGViMjI5MzdjYmIwN2M4NmQ5ZWU2YmJhMzg1Yzk4MzRi ZWNlZGIK