From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 4.8.0-0.14 Date: Mon, 29 Jun 2026 12:25:46 GMT Message-ID: <178273594666.1.2532003746691154016.rpms-gcc-7c033670819a@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 7c033670819a0c6c50a3edd7a8dade0649d847f2 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogN2MwMzM2NzA4MTlhMGM2YzUwYTNlZGQ3YThkYWRlMDY0 OWQ4NDdmMgpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDEzLTAyLTIwVDE3OjEyOjUxKzAxOjAwClN0YXRzICA6ICs1MjUvLTQwNSBpbiA5IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy83YzAz MzY3MDgxOWEwYzZjNTBhM2VkZDdhOGRhZGUwNjQ5ZDg0N2YyP2JyYW5jaD1yaGVsLWY0MS1iYXNl CgpMb2c6CjQuOC4wLTAuMTQKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v cmUKaW5kZXggNTdmMGFhOS4uN2Y1ZDIwNSAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8u Z2l0aWdub3JlCkBAIC02MiwzICs2Miw0IEBACiAvZ2NjLTQuOC4wLTIwMTMwMjExLnRhci5iejIK IC9nY2MtNC44LjAtMjAxMzAyMTMudGFyLmJ6MgogL2djYy00LjguMC0yMDEzMDIxNS50YXIuYnoy CisvZ2NjLTQuOC4wLTIwMTMwMjIwLnRhci5iejIKCmRpZmYgLS1naXQgYS9nY2Muc3BlYyBiL2dj Yy5zcGVjCmluZGV4IGJmYWI0YjguLjg4NjEyOTcgMTAwNjQ0Ci0tLSBhL2djYy5zcGVjCisrKyBi L2djYy5zcGVjCkBAIC0xLDkgKzEsOSBAQAotJWdsb2JhbCBEQVRFIDIwMTMwMjE1Ci0lZ2xvYmFs IFNWTlJFViAxOTYwODQKKyVnbG9iYWwgREFURSAyMDEzMDIyMAorJWdsb2JhbCBTVk5SRVYgMTk2 MTczCiAlZ2xvYmFsIGdjY192ZXJzaW9uIDQuOC4wCiAjIE5vdGUsIGdjY19yZWxlYXNlIG11c3Qg YmUgaW50ZWdlciwgaWYgeW91IHdhbnQgdG8gYWRkIHN1ZmZpeGVzIHRvCiAjICV7cmVsZWFzZX0s IGFwcGVuZCB0aGVtIGFmdGVyICV7Z2NjX3JlbGVhc2V9IG9uIFJlbGVhc2U6IGxpbmUuCi0lZ2xv YmFsIGdjY19yZWxlYXNlIDAuMTMKKyVnbG9iYWwgZ2NjX3JlbGVhc2UgMC4xNAogJWdsb2JhbCBf dW5wYWNrYWdlZF9maWxlc190ZXJtaW5hdGVfYnVpbGQgMAogJWdsb2JhbCBtdWx0aWxpYl82NF9h cmNocyBzcGFyYzY0IHBwYzY0IHMzOTB4IHg4Nl82NAogJWlmYXJjaCAle2l4ODZ9IHg4Nl82NCBp YTY0IHBwYyBwcGM2NCBhbHBoYQpAQCAtMTAyLDcgKzEwMiw3IEBAIEJ1aWxkUmVxdWlyZXM6IGJp bnV0aWxzID49IDIuMjAuNTEuMC4yLTEyCiAjIC1zdGF0aWMgaXMgdXNlZCBzZXZlcmFsIHRpbWVz LgogQnVpbGRSZXF1aXJlczogZ2xpYmMtc3RhdGljCiBCdWlsZFJlcXVpcmVzOiB6bGliLWRldmVs LCBnZXR0ZXh0LCBkZWphZ251LCBiaXNvbiwgZmxleCwgc2hhcnV0aWxzCi1CdWlsZFJlcXVpcmVz OiB0ZXhpbmZvLCB0ZXhpbmZvLXRleAorQnVpbGRSZXF1aXJlczogdGV4aW5mbywgdGV4aW5mby10 ZXgsIC91c3IvYmluL3BvZDJtYW4KIEJ1aWxkUmVxdWlyZXM6IHN5c3RlbXRhcC1zZHQtZGV2ZWwg Pj0gMS4zCiAlaWYgJXtidWlsZF9nb30KIEJ1aWxkUmVxdWlyZXM6IGhvc3RuYW1lCkBAIC0xOTQs OSArMTk0LDExIEBAIFBhdGNoMTA6IGdjYzQ4LXByMzg3NTcucGF0Y2gKIFBhdGNoMTE6IGdjYzQ4 LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCiBQYXRjaDEyOiBnY2M0OC1uby1hZGQtbmVlZGVkLnBhdGNo CiBQYXRjaDEzOiBnY2M0OC1wcjU1NjA4LnBhdGNoCi1QYXRjaDE0OiBnY2M0OC1hc2FuLWZpeC5w YXRjaAotUGF0Y2gxNTogZ2NjNDgtcHI1NDExNy5wYXRjaAotUGF0Y2gxNjogZ2NjNDgtYXNhbi1z cGVlZHVwLnBhdGNoCitQYXRjaDE0OiBnY2M0OC1hc2FuLXNwZWVkdXAucGF0Y2gKK1BhdGNoMTU6 IGdjYzQ4LXByNTYyNTgucGF0Y2gKK1BhdGNoMTY6IGdjYzQ4LXByNTY0MDUucGF0Y2gKK1BhdGNo MTc6IGdjYzQ4LXVudXNlZC1sb2NhbHMucGF0Y2gKK1BhdGNoMTg6IGdjYzQ4LXByNTYyNjUucGF0 Y2gKIAogUGF0Y2gxMDAwOiBmYXN0amFyLTAuOTctc2VnZmF1bHQucGF0Y2gKIFBhdGNoMTAwMTog ZmFzdGphci0wLjk3LWxlbjEucGF0Y2gKQEAgLTc0OSw5ICs3NTEsMTEgQEAgcGFja2FnZSBvciB3 aGVuIGRlYnVnZ2luZyB0aGlzIHBhY2thZ2UuCiAlZW5kaWYKICVwYXRjaDEyIC1wMCAtYiAubm8t YWRkLW5lZWRlZH4KICVwYXRjaDEzIC1wMCAtYiAucHI1NTYwOH4KLSVwYXRjaDE0IC1wMCAtYiAu YXNhbi1maXh+Ci0lcGF0Y2gxNSAtcDAgLWIgLnByNTQxMTd+Ci0lcGF0Y2gxNiAtcDAgLWIgLmFz YW4tc3BlZWR1cH4KKyVwYXRjaDE0IC1wMCAtYiAuYXNhbi1zcGVlZHVwfgorJXBhdGNoMTUgLXAw IC1iIC5wcjU2MjU4fgorJXBhdGNoMTYgLXAwIC1iIC5wcjU2NDA1fgorJXBhdGNoMTcgLXAwIC1i IC51bnVzZWQtbG9jYWxzfgorJXBhdGNoMTggLXAwIC1iIC5wcjU2MjY1fgogCiAlaWYgMCV7P19l bmFibGVfZGVidWdfcGFja2FnZXN9CiBjYXQgPiBzcGxpdC1kZWJ1Z2luZm8uc2ggPDxcRU9GCkBA IC0yOTc1LDYgKzI5NzksMjAgQEAgZmkKICV7X3ByZWZpeH0vbGliZXhlYy9nY2MvJXtnY2NfdGFy Z2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9wbHVnaW4KIAogJWNoYW5nZWxvZworKiBXZWQg RmViIDIwIDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjAtMC4xNAor LSB1cGRhdGVkIGZyb20gdHJ1bmsKKyAgLSBQUnMgYXNhbi81NjMzMCwgYysrLzUxMjQyLCBjKysv NTQyNzYsIGMrKy81NjM3MywgbGlicXVhZG1hdGgvNTYzNzksCisJbWlkZGxlLWVuZC81NTg4OSwg bWlkZGxlLWVuZC81NjM0OSwgcGNoLzU0MTE3LAorCXJ0bC1vcHRpbWl6YXRpb24vNTYzNDgsIHRh cmdldC81MjU1NSwgdGFyZ2V0LzU0Njg1LCB0YXJnZXQvNTYyMTQsCisJdGFyZ2V0LzU2MzQ3LCB0 cmVlLW9wdGltaXphdGlvbi81NTMzNCwgdHJlZS1vcHRpbWl6YXRpb24vNTYzMjEsCisJdHJlZS1v cHRpbWl6YXRpb24vNTYzNTAsIHRyZWUtb3B0aW1pemF0aW9uLzU2MzY2LAorCXRyZWUtb3B0aW1p emF0aW9uLzU2MzgxLCB0cmVlLW9wdGltaXphdGlvbi81NjM4NCwKKwl0cmVlLW9wdGltaXphdGlv bi81NjM5NiwgdHJlZS1vcHRpbWl6YXRpb24vNTYzOTgKKy0gYWRkIEJ1aWxkUmVxdWlyZXM6IC91 c3IvYmluL3BvZDJtYW4gdG8gZml4IG1hbiBwYWdlcyBnZW5lcmF0aW9uCistIGRvbid0IElDRSBv biBib2d1cyBpbmxpbmUgYXNtIGluIGtlcm5lbCAoIzkxMjg1NywgUFIgaW5saW5lLWFzbS81NjQw NSkKKy0gZml4IHVwIGluZm8gcGFnZSBidWlsZGluZyB3aXRoIHRleGluZm8gNS4wIChQUiBib290 c3RyYXAvNTYyNTgpCistIGRldmlydHVhbGl6YXRpb24gSUNFIGZpeCAoUFIgdHJlZS1vcHRpbWl6 YXRpb24vNTYyNjUpCisKICogRnJpIEZlYiAxNSAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJl ZGhhdC5jb20+IDQuOC4wLTAuMTMKIC0gdXBkYXRlZCBmcm9tIHRydW5rCiAgIC0gUFJzIGJvb3Rz dHJhcC81NjMyNywgYysrLzUyMDI2LCBjKysvNTQ5MjIsIGMrKy81NTAwMywgYysrLzU1MjIwLAoK ZGlmZiAtLWdpdCBhL2djYzQ4LWFzYW4tZml4LnBhdGNoIGIvZ2NjNDgtYXNhbi1maXgucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNiYzc4NTIuLjAwMDAwMDAKLS0tIGEvZ2Nj NDgtYXNhbi1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAsMCBAQAotMjAxMy0w Mi0xNSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiBzYW5pdGl6ZXIv NTYzMzAKLQkqIGFzYW4uYyAoZ2V0X21lbV9yZWZzX29mX2J1aWx0aW5fY2FsbCk6IEZpeCB1cCBp bmRlbnRhdGlvbi4KLQkoaW5zdHJ1bWVudF9tZW1fcmVnaW9uX2FjY2Vzcyk6IENyZWF0ZSBjb25k aXRpb25hbCBldmVuIHdoZW4KLQl0aGUgc3RhcnQgaGFzIGJlZW4gYWxyZWFkeSBpbnN0cnVtZW50 ZWQuICBEb24ndCByZWNvcmQKLQljb25kaXRpb25hbCBpbnN0cnVtZW50YXRpb24gaW4gdGhlIGhh c2ggdGFibGUuICBVcGRhdGUgKml0ZXIKLQlhZnRlciBzZWNvbmQgYnVpbGRfY2hlY2tfc3RtdCBj YWxsLgotCShpbnN0cnVtZW50X2J1aWx0aW5fY2FsbCk6IEZvciBjb25zaXN0ZW5jeSB0ZXN0ICE9 IE5VTExfVFJFRQotCWluIGFsbCBzdGFydCBjaGVja3MuCi0KLQkqIGMtYysrLWNvbW1vbi9hc2Fu L25vLXJlZHVuZGFudC1pbnN0cnVtZW50YXRpb24tMS5jOiBQYXNzCi0JMyBpbnN0ZWFkIG9mIHNp emVvZiAodGFiKSAtIDEgYXMgbGFzdCBhcmd1bWVudC4KLQkqIGMtYysrLWNvbW1vbi9hc2FuL3By NTYzMzAuYzogTmV3IHRlc3QuCi0KLS0tLSBnY2MvYXNhbi5jLmpqCTIwMTMtMDItMTQgMTQ6NDU6 MDEuNDI4MDM4NzkyICswMTAwCi0rKysgZ2NjL2FzYW4uYwkyMDEzLTAyLTE1IDA5OjM3OjE4LjYx NDk2MzM4MyArMDEwMAotQEAgLTc0NywyMCArNzQ3LDE3IEBAIGdldF9tZW1fcmVmc19vZl9idWls dGluX2NhbGwgKGNvbnN0IGdpbXAKLSAKLSAgICAgICBnb3RfcmVmZXJlbmNlX3AgPSB0cnVlOwot ICAgICB9Ci0tICAgIGVsc2UKLS0gICAgICB7Ci0tCWlmIChkZXN0KQotLQkgIHsKLS0JICAgIGRz dC0+c3RhcnQgPSBkZXN0OwotLQkgICAgZHN0LT5hY2Nlc3Nfc2l6ZSA9IGFjY2Vzc19zaXplOwot LQkgICAgKmRzdF9sZW4gPSBOVUxMX1RSRUU7Ci0tCSAgICAqZHN0X2lzX3N0b3JlID0gaXNfc3Rv cmU7Ci0tCSAgICAqZGVzdF9pc19kZXJlZiA9IHRydWU7Ci0tCSAgICBnb3RfcmVmZXJlbmNlX3Ag PSB0cnVlOwotLQkgIH0KLS0gICAgICB9Ci0rICBlbHNlIGlmIChkZXN0KQotKyAgICB7Ci0rICAg ICAgZHN0LT5zdGFydCA9IGRlc3Q7Ci0rICAgICAgZHN0LT5hY2Nlc3Nfc2l6ZSA9IGFjY2Vzc19z aXplOwotKyAgICAgICpkc3RfbGVuID0gTlVMTF9UUkVFOwotKyAgICAgICpkc3RfaXNfc3RvcmUg PSBpc19zdG9yZTsKLSsgICAgICAqZGVzdF9pc19kZXJlZiA9IHRydWU7Ci0rICAgICAgZ290X3Jl ZmVyZW5jZV9wID0gdHJ1ZTsKLSsgICAgfQotIAotLSAgICByZXR1cm4gZ290X3JlZmVyZW5jZV9w OwotKyAgcmV0dXJuIGdvdF9yZWZlcmVuY2VfcDsKLSB9Ci0gCi0gLyogUmV0dXJuIHRydWUgaWZm IGEgZ2l2ZW4gZ2ltcGxlIHN0YXRlbWVudCBoYXMgYmVlbiBpbnN0cnVtZW50ZWQuCi1AQCAtMTUz NSw4ICsxNTMyLDE1IEBAIGluc3RydW1lbnRfbWVtX3JlZ2lvbl9hY2Nlc3MgKHRyZWUgYmFzZSwK LSAKLSAgIC8qIElmIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1lbW9yeSByZWdpb24gaGFzIGFscmVh ZHkgYmVlbgotICAgICAgaW5zdHJ1bWVudGVkLCBkbyBub3QgaW5zdHJ1bWVudCBpdC4gICovCi0t ICBpZiAoaGFzX21lbV9yZWZfYmVlbl9pbnN0cnVtZW50ZWQgKGJhc2UsIDEpKQotLSAgICBnb3Rv IGFmdGVyX2ZpcnN0X2luc3RydW1lbnRhdGlvbjsKLSsgIGJvb2wgc3RhcnRfaW5zdHJ1bWVudGVk ID0gaGFzX21lbV9yZWZfYmVlbl9pbnN0cnVtZW50ZWQgKGJhc2UsIDEpOwotKwotKyAgLyogSWYg dGhlIGVuZCBvZiB0aGUgbWVtb3J5IHJlZ2lvbiBoYXMgYWxyZWFkeSBiZWVuIGluc3RydW1lbnRl ZCwgZG8KLSsgICAgIG5vdCBpbnN0cnVtZW50IGl0LiAqLwotKyAgdHJlZSBlbmQgPSBhc2FuX21l bV9yZWZfZ2V0X2VuZCAoYmFzZSwgbGVuKTsKLSsgIGJvb2wgZW5kX2luc3RydW1lbnRlZCA9IGhh c19tZW1fcmVmX2JlZW5faW5zdHJ1bWVudGVkIChlbmQsIDEpOwotKwotKyAgaWYgKHN0YXJ0X2lu c3RydW1lbnRlZCAmJiBlbmRfaW5zdHJ1bWVudGVkKQotKyAgICByZXR1cm47Ci0gCi0gICBpZiAo IWlzX2dpbXBsZV9jb25zdGFudCAobGVuKSkKLSAgICAgewotQEAgLTE1NjUsMzQgKzE1NjksMzYg QEAgaW5zdHJ1bWVudF9tZW1fcmVnaW9uX2FjY2VzcyAodHJlZSBiYXNlLAotICAgICAgIGdzaSA9 IGdzaV9zdGFydF9iYiAodGhlbl9iYik7Ci0gICAgIH0KLSAKLS0gIC8qIEluc3RydW1lbnQgdGhl IGJlZ2lubmluZyBvZiB0aGUgbWVtb3J5IHJlZ2lvbiB0byBiZSBhY2Nlc3NlZCwKLS0gICAgIGFu ZCBhcnJhbmdlIGZvciB0aGUgcmVzdCBvZiB0aGUgaW50cnVtZW50YXRpb24gY29kZSB0byBiZQot LSAgICAgaW5zZXJ0ZWQgaW4gdGhlIHRoZW4gYmxvY2sgKmFmdGVyKiB0aGUgY3VycmVudCBnc2ku ICAqLwotLSAgYnVpbGRfY2hlY2tfc3RtdCAobG9jYXRpb24sIGJhc2UsICZnc2ksIC8qYmVmb3Jl X3A9Ki90cnVlLCBpc19zdG9yZSwgMSk7Ci0tCi0tICBpZiAodGhlbl9iYikKLS0gICAgLyogV2Ug YXJlIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBsZW5ndGggb2YgdGhlIHJlZ2lvbiBpcyBub3QKLS0g ICAgICAgY29uc3RhbnQ7IHNvIGluc3RydW1lbnRhdGlvbiBjb2RlIGlzIGJlaW5nIGdlbmVyYXRl ZCBpbiB0aGUKLS0gICAgICAgJ3RoZW4gYmxvY2snIG9mIHRoZSAnaWYgKGxlbiAhPSAwKSBjb25k aXRpb24uICBMZXQncyBhcnJhbmdlCi0tICAgICAgIGZvciB0aGUgc3Vic2VxdWVudCBpbnN0cnVt ZW50YXRpb24gc3RhdGVtZW50cyB0byBnbyBpbiB0aGUKLS0gICAgICAgJ3RoZW4gYmxvY2snLiAg Ki8KLS0gICAgZ3NpID0gZ3NpX2xhc3RfYmIgKHRoZW5fYmIpOwotLSAgZWxzZQotLSAgICAqaXRl ciA9IGdzaTsKLS0KLS0gIHVwZGF0ZV9tZW1fcmVmX2hhc2hfdGFibGUgKGJhc2UsIDEpOwotKyAg aWYgKCFzdGFydF9pbnN0cnVtZW50ZWQpCi0rICAgIHsKLSsgICAgICAvKiBJbnN0cnVtZW50IHRo ZSBiZWdpbm5pbmcgb2YgdGhlIG1lbW9yeSByZWdpb24gdG8gYmUgYWNjZXNzZWQsCi0rCSBhbmQg YXJyYW5nZSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGludHJ1bWVudGF0aW9uIGNvZGUgdG8gYmUKLSsJ IGluc2VydGVkIGluIHRoZSB0aGVuIGJsb2NrICphZnRlciogdGhlIGN1cnJlbnQgZ3NpLiAgKi8K LSsgICAgICBidWlsZF9jaGVja19zdG10IChsb2NhdGlvbiwgYmFzZSwgJmdzaSwgLypiZWZvcmVf cD0qL3RydWUsIGlzX3N0b3JlLCAxKTsKLSsKLSsgICAgICBpZiAodGhlbl9iYikKLSsJLyogV2Ug YXJlIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBsZW5ndGggb2YgdGhlIHJlZ2lvbiBpcyBub3QKLSsJ ICAgY29uc3RhbnQ7IHNvIGluc3RydW1lbnRhdGlvbiBjb2RlIGlzIGJlaW5nIGdlbmVyYXRlZCBp biB0aGUKLSsJICAgJ3RoZW4gYmxvY2snIG9mIHRoZSAnaWYgKGxlbiAhPSAwKSBjb25kaXRpb24u ICBMZXQncyBhcnJhbmdlCi0rCSAgIGZvciB0aGUgc3Vic2VxdWVudCBpbnN0cnVtZW50YXRpb24g c3RhdGVtZW50cyB0byBnbyBpbiB0aGUKLSsJICAgJ3RoZW4gYmxvY2snLiAgKi8KLSsJZ3NpID0g Z3NpX2xhc3RfYmIgKHRoZW5fYmIpOwotKyAgICAgIGVsc2UKLSsgICAgICAgIHsKLSsgICAgICAg ICAgKml0ZXIgPSBnc2k7Ci0rCSAgLyogRG9uJ3QgcmVtZW1iZXIgdGhpcyBhY2Nlc3MgYXMgaW5z dHJ1bWVudGVkLCBpZiBsZW5ndGgKLSsJICAgICBpcyB1bmtub3duLiAgSXQgbWlnaHQgYmUgemVy byBhbmQgbm90IGJlaW5nIGFjdHVhbGx5Ci0rCSAgICAgaW5zdHJ1bWVudGVkLCBzbyB3ZSBjYW4n dCByZWx5IG9uIGl0IGJlaW5nIGluc3RydW1lbnRlZC4gICovCi0rICAgICAgICAgIHVwZGF0ZV9t ZW1fcmVmX2hhc2hfdGFibGUgKGJhc2UsIDEpOwotKwl9Ci0rICAgIH0KLSAKLS0gYWZ0ZXJfZmly c3RfaW5zdHJ1bWVudGF0aW9uOgotKyAgaWYgKGVuZF9pbnN0cnVtZW50ZWQpCi0rICAgIHJldHVy bjsKLSAKLSAgIC8qIFdlIHdhbnQgdG8gaW5zdHJ1bWVudCB0aGUgYWNjZXNzIGF0IHRoZSBlbmQg b2YgdGhlIG1lbW9yeSByZWdpb24sCi0gICAgICB3aGljaCBpcyBhdCAoYmFzZSArIGxlbiAtIDEp LiAgKi8KLSAKLS0gIC8qIElmIHRoZSBlbmQgb2YgdGhlIG1lbW9yeSByZWdpb24gaGFzIGFscmVh ZHkgYmVlbiBpbnN0cnVtZW50ZWQsIGRvCi0tICAgICBub3QgaW5zdHJ1bWVudCBpdC4gKi8KLS0g IHRyZWUgZW5kID0gYXNhbl9tZW1fcmVmX2dldF9lbmQgKGJhc2UsIGxlbik7Ci0tICBpZiAoaGFz X21lbV9yZWZfYmVlbl9pbnN0cnVtZW50ZWQgKGVuZCwgMSkpCi0tICAgIHJldHVybjsKLS0KLSAg IC8qIG9mZnNldCA9IGxlbiAtIDE7ICAqLwotICAgbGVuID0gdW5zaGFyZV9leHByIChsZW4pOwot ICAgdHJlZSBvZmZzZXQ7Ci1AQCAtMTY0MCw3ICsxNjQ2LDEwIEBAIGluc3RydW1lbnRfbWVtX3Jl Z2lvbl9hY2Nlc3MgKHRyZWUgYmFzZSwKLSAgIGdpbXBsZV9zZXRfbG9jYXRpb24gKHJlZ2lvbl9l bmQsIGxvY2F0aW9uKTsKLSAgIGdpbXBsZV9zZXFfYWRkX3N0bXRfd2l0aG91dF91cGRhdGUgKCZz ZXEsIHJlZ2lvbl9lbmQpOwotICAgZ3NpX2luc2VydF9zZXFfYmVmb3JlICgmZ3NpLCBzZXEsIEdT SV9TQU1FX1NUTVQpOwotLSAgZ3NpX3ByZXYgKCZnc2kpOwotKyAgaWYgKCFzdGFydF9pbnN0cnVt ZW50ZWQgfHwgdGhlbl9iYiA9PSBOVUxMKQotKyAgICBnc2lfcHJldiAoJmdzaSk7Ci0rICBlbHNl Ci0rICAgIGdzaSA9IGdzaV9sYXN0X2JiICh0aGVuX2JiKTsKLSAKLSAgIC8qIF8yID0gXzEgKyBv ZmZzZXQ7ICAqLwotICAgcmVnaW9uX2VuZCA9Ci1AQCAtMTY1NSw3ICsxNjY0LDEwIEBAIGluc3Ry dW1lbnRfbWVtX3JlZ2lvbl9hY2Nlc3MgKHRyZWUgYmFzZSwKLSAgIGJ1aWxkX2NoZWNrX3N0bXQg KGxvY2F0aW9uLCBnaW1wbGVfYXNzaWduX2xocyAocmVnaW9uX2VuZCksCi0gCQkgICAgJmdzaSwg LypiZWZvcmVfcD0qL2ZhbHNlLCBpc19zdG9yZSwgMSk7Ci0gCi0tICB1cGRhdGVfbWVtX3JlZl9o YXNoX3RhYmxlIChlbmQsIDEpOwotKyAgaWYgKHRoZW5fYmIgPT0gTlVMTCkKLSsgICAgdXBkYXRl X21lbV9yZWZfaGFzaF90YWJsZSAoZW5kLCAxKTsKLSsKLSsgICppdGVyID0gZ3NpX2Zvcl9zdG10 IChnc2lfc3RtdCAoKml0ZXIpKTsKLSB9Ci0gCi0gLyogSW5zdHJ1bWVudCB0aGUgY2FsbCAodG8g dGhlIGJ1aWx0aW4gc3RybGVuIGZ1bmN0aW9uKSBwb2ludGVkIHRvIGJ5Ci1AQCAtMTc4Myw3ICsx Nzk1LDcgQEAgaW5zdHJ1bWVudF9idWlsdGluX2NhbGwgKGdpbXBsZV9zdG10X2l0ZQotIAkgICAg fQotIAkgIGVsc2UgaWYgKHNyYzBfbGVuIHx8IHNyYzFfbGVuIHx8IGRlc3RfbGVuKQotIAkgICAg ewotLQkgICAgICBpZiAoc3JjMC5zdGFydCkKLSsJICAgICAgaWYgKHNyYzAuc3RhcnQgIT0gTlVM TF9UUkVFKQotIAkJaW5zdHJ1bWVudF9tZW1fcmVnaW9uX2FjY2VzcyAoc3JjMC5zdGFydCwgc3Jj MF9sZW4sCi0gCQkJCQkgICAgICBpdGVyLCBsb2MsIC8qaXNfc3RvcmU9Ki9mYWxzZSk7Ci0gCSAg ICAgIGlmIChzcmMxLnN0YXJ0ICE9IE5VTExfVFJFRSkKLS0tLSBnY2MvdGVzdHN1aXRlL2MtYysr LWNvbW1vbi9hc2FuL25vLXJlZHVuZGFudC1pbnN0cnVtZW50YXRpb24tMS5jLmpqCTIwMTMtMDIt MTMgMTE6NTM6NDEuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vYXNhbi9uby1yZWR1bmRhbnQtaW5zdHJ1bWVudGF0aW9uLTEuYwkyMDEzLTAyLTE1IDA5OjUx OjQ3LjQ4NTA4MDcwNiArMDEwMAotQEAgLTQ1LDcgKzQ1LDcgQEAgdGVzdDEgKCkKLSAgIC8qIFRo ZXJlIGFyZSAyIGNhbGxzIHRvIF9fYnVpbHRpbl9fX2FzYW5fcmVwb3J0X3N0b3JlMSBhbmQgMiBj YWxscwotICAgICAgdG8gX19idWlsdGluX19fYXNhbl9yZXBvcnRfbG9hZDEgdG8gaW5zdHJ1bWVu dCB0aGUgc3RvcmUgdG8KLSAgICAgIChzdWJzZXQgb2YpIHRoZSBtZW1vcnkgcmVnaW9uIG9mIHRh Yi4gICovCi0tICBfX2J1aWx0aW5fbWVtY3B5ICgmdGFiWzFdLCBmb28sIHNpemVvZiAodGFiKSAt IDEpOwotKyAgX19idWlsdGluX21lbWNweSAoJnRhYlsxXSwgZm9vLCAzKTsKLSAKLSAgIC8qIFRo aXMgc2hvdWxkIG5vdCBnZW5lcmF0ZSBhIF9fYnVpbHRpbl9fX2FzYW5fcmVwb3J0X2xvYWQxIGJl Y2F1c2UKLSAgICAgIHRoZSByZWZlcmVuY2UgdG8gdGFiWzFdIGhhcyBiZWVuIGFscmVhZHkgaW5z dHJ1bWVudGVkIGFib3ZlLiAgKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9hc2Fu L3ByNTYzMzAuYy5qagkyMDEzLTAyLTE1IDA5OjQzOjE5LjI5Mzg0NTE0NiArMDEwMAotKysrIGdj Yy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2FzYW4vcHI1NjMzMC5jCTIwMTMtMDItMTUgMDk6NDI6 NTguMDAwMDAwMDAwICswMTAwCi1AQCAtMCwwICsxLDIzIEBACi0rLyogUFIgc2FuaXRpemVyLzU2 MzMwICovCi0rLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSsKLStjaGFyIGVbMjAwXTsKLSsKLStz dHJ1Y3QgUwotK3sKLSsgIGNoYXIgYVsxMDBdOwotKyAgY2hhciBiWzEwMF07Ci0rfSBzOwotKwot K3ZvaWQKLStmb28gKHZvaWQpCi0rewotKyAgX19idWlsdGluX21lbWNtcCAocy5hLCBlLCAxMDAp OwotKyAgX19idWlsdGluX21lbWNtcCAocy5hLCBlLCAyMDApOwotK30KLSsKLSt2b2lkCi0rYmFy IChpbnQgKmEsIGNoYXIgKmIsIGNoYXIgKmMpCi0rewotKyAgX19idWlsdGluX21lbW1vdmUgKGMs IGIsIGFbYlswXV0pOwotK30KCmRpZmYgLS1naXQgYS9nY2M0OC1wcjU0MTE3LnBhdGNoIGIvZ2Nj NDgtcHI1NDExNy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJlMmIwNy4u MDAwMDAwMAotLS0gYS9nY2M0OC1wcjU0MTE3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTk4 ICswLDAgQEAKLTIwMTMtMDItMTUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgot CSAgICBTdGV2ZW4gQm9zc2NoZXIgIDxzdGV2ZW5AZ2NjLmdudS5vcmc+Ci0KLQlQUiBwY2gvNTQx MTcKLQkqIGMtb3B0cy5jIChjX2NvbW1vbl9wb3N0X29wdGlvbnMpOiBJZiBkZWJ1ZyBpbmZvIGlz IGVuYWJsZWQKLQlhbmQgbm9uLWR3YXJmKiwgcmVmdXNlIHRvIGxvYWQgUENIIGZpbGVzIGFuZCB3 aGVuIHdyaXRpbmcgUENICi0JZmlsZSB3YXJuLgotCi0JKiBsaWIvZGctcGNoLmV4cCAocGNoLWlu aXQsIHBjaC1maW5pc2gsCi0JY2hlY2tfZWZmZWN0aXZlX3RhcmdldF9wY2hfc3VwcG9ydGVkX2Rl YnVnKTogTmV3IHByb2NzLgotCShkZy1mbGFncy1wY2gpOiBJZiAkcGNoX3Vuc3VwcG9ydGVkLCBt YWtlIHRlc3RzIFVOU1VQUE9SVEVELgotCUxpa2V3aXNlIGlmICRwY2hfdW5zdXBwb3J0ZWRfZGVi dWcgYW5kICRmbGFncyBpbmNsdWRlIC1nLgotCVNraXAgRkFJTHMgYWJvdXQgbWlzc2luZyAqLmdj aCBmaWxlIGlmICRwY2hfdW5zdXBwb3J0ZWRfZGVidWcKLQlhbmQgZGctcmVxdWlyZS1lZmZlY3Rp dmUtdGFyZ2V0IHBjaF91bnN1cHBvcnRlZF9kZWJ1Zy4KLQkqIGcrKy5kZy9wY2gvcGNoLmV4cDog Q2FsbCBwY2gtaW5pdCBhbmQgcGNoLWZpbmlzaC4KLQkqIG9iamMuZGcvcGNoL3BjaC5leHA6IExp a2V3aXNlLgotCSogZ2NjLmRnL3BjaC9wY2guZXhwOiBMaWtld2lzZS4KLQkqIGdjYy5kZy9wY2gv dmFsaWQtMS5jOiBBZGQgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0Ci0JcGNoX3Vuc3VwcG9y dGVkX2RlYnVnLgotCSogZ2NjLmRnL3BjaC92YWxpZC0xLmhzOiBMaWtld2lzZS4KLQkqIGdjYy5k Zy9wY2gvdmFsaWQtMWIuYzogTGlrZXdpc2UuCi0JKiBnY2MuZGcvcGNoL3ZhbGlkLTFiLmhzOiBM aWtld2lzZS4KLQotLS0tIGdjYy9jLWZhbWlseS9jLW9wdHMuYy5qagkyMDEzLTAyLTE0IDE0OjQ1 OjAxLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9jLWZhbWlseS9jLW9wdHMuYwkyMDEzLTAyLTE1 IDEyOjQ0OjQ4LjkzNjUzNTExOCArMDEwMAotQEAgLTk0NSw2ICs5NDUsMTYgQEAgY19jb21tb25f cG9zdF9vcHRpb25zIChjb25zdCBjaGFyICoqcGZpbAotIAkgYmVjYXVzZSB0aGUgZGVmYXVsdCBh ZGRyZXNzIHNwYWNlIHNsb3QgdGhlbiBjYW4ndCBiZSB1c2VkCi0gCSBmb3IgdGhlIG91dHB1dCBQ Q0ggZmlsZS4gICovCi0gICAgICAgaWYgKHBjaF9maWxlKQotKwl7Ci0rCSAgY19jb21tb25fbm9f bW9yZV9wY2ggKCk7Ci0rCSAgLyogT25seSAtZzAgYW5kIC1nZHdhcmYqIGFyZSBzdXBwb3J0ZWQg d2l0aCBQQ0gsIGZvciBvdGhlcgotKwkgICAgIGRlYnVnIGZvcm1hdHMgd2Ugd2FybiBoZXJlIGFu ZCByZWZ1c2UgdG8gbG9hZCBhbnkgUENIIGZpbGVzLiAgKi8KLSsJICBpZiAod3JpdGVfc3ltYm9s cyAhPSBOT19ERUJVRyAmJiB3cml0ZV9zeW1ib2xzICE9IERXQVJGMl9ERUJVRykKLSsJICAgIHdh cm5pbmcgKE9QVF9XZGVwcmVjYXRlZCwKLSsJCSAgICAgInRoZSBcIiVzXCIgZGVidWcgZm9ybWF0 IGNhbm5vdCBiZSB1c2VkIHdpdGggIgotKwkJICAgICAicHJlLWNvbXBpbGVkIGhlYWRlcnMiLCBk ZWJ1Z190eXBlX25hbWVzW3dyaXRlX3N5bWJvbHNdKTsKLSsJfQotKyAgICAgIGVsc2UgaWYgKHdy aXRlX3N5bWJvbHMgIT0gTk9fREVCVUcgJiYgd3JpdGVfc3ltYm9scyAhPSBEV0FSRjJfREVCVUcp Ci0gCWNfY29tbW9uX25vX21vcmVfcGNoICgpOwotIAotICAgICAgIC8qIFl1ay4gIFdURiBpcyB0 aGlzPyAgSSBkbyBrbm93IE9iakMgcmVsaWVzIG9uIGl0IHNvbWV3aGVyZS4gICovCi0tLS0gZ2Nj L3Rlc3RzdWl0ZS9saWIvZGctcGNoLmV4cC5qagkyMDEzLTAxLTExIDA5OjAyOjM5LjAwMDAwMDAw MCArMDEwMAotKysrIGdjYy90ZXN0c3VpdGUvbGliL2RnLXBjaC5leHAJMjAxMy0wMi0xNSAxNTo0 NTo1My43NDc4NTU1MjkgKzAxMDAKLUBAIC0xNiw4ICsxNiw0OSBAQAotIAotIGxvYWRfbGliIGNv cHktZmlsZS5leHAKLSAKLStwcm9jIHBjaC1pbml0IHsgYXJncyB9IHsKLSsgICAgZ2xvYmFsIHBj aF91bnN1cHBvcnRlZF9kZWJ1ZyBwY2hfdW5zdXBwb3J0ZWQKLSsKLSsgICAgaWYgW2luZm8gZXhp c3RzIHBjaF91bnN1cHBvcnRlZF9kZWJ1Z10gewotKwllcnJvciAicGNoLWluaXQ6IHBjaF91bnN1 cHBvcnRlZF9kZWJ1ZyBpcyBub3QgZW1wdHkgYXMgZXhwZWN0ZWQiCi0rICAgIH0KLSsgICAgaWYg W2luZm8gZXhpc3RzIHBjaF91bnN1cHBvcnRlZF0gewotKwllcnJvciAicGNoLWluaXQ6IHBjaF91 bnN1cHBvcnRlZCBpcyBub3QgZW1wdHkgYXMgZXhwZWN0ZWQiCi0rICAgIH0KLSsKLSsgICAgc2V0 IHJlc3VsdCBbY2hlY2tfY29tcGlsZSBwY2h0ZXN0IG9iamVjdCAiaW50IGk7IiAiLWcgLXggYy1o ZWFkZXIiXQotKyAgICBzZXQgcGNoX3Vuc3VwcG9ydGVkX2RlYnVnIFwKLSsJW3JlZ2V4cCAiZGVi dWcgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIHdpdGggcHJlLWNvbXBpbGVkIGhlYWRlcnMiIFwKLSsJ CVtsaW5kZXggJHJlc3VsdCAwXV0KLSsKLSsgICAgc2V0IHBjaF91bnN1cHBvcnRlZCAwCi0rICAg IGlmIHsgJHBjaF91bnN1cHBvcnRlZF9kZWJ1ZyB9IHsKLSsJdmVyYm9zZSAtbG9nICJwY2ggaXMg dW5zdXBwb3J0ZWQgd2l0aCB0aGUgZGVidWcgaW5mbyBmb3JtYXQiCi0rCi0rCXNldCByZXN1bHQg W2NoZWNrX2NvbXBpbGUgcGNodGVzdCBvYmplY3QgImludCBpOyIgIi14IGMtaGVhZGVyIl0KLSsJ ICAgIHNldCBwY2hfdW5zdXBwb3J0ZWQgXAotKwkJW3JlZ2V4cCAiZGVidWcgZm9ybWF0IGNhbm5v dCBiZSB1c2VkIHdpdGggcHJlLWNvbXBpbGVkIGhlYWRlcnMiIFwKLSsJCQlbbGluZGV4ICRyZXN1 bHQgMF1dCi0rICAgIH0KLSt9Ci0rCi0rcHJvYyBwY2gtZmluaXNoIHsgYXJncyB9IHsKLSsgICAg Z2xvYmFsIHBjaF91bnN1cHBvcnRlZF9kZWJ1ZyBwY2hfdW5zdXBwb3J0ZWQKLSsgICAgdW5zZXQg cGNoX3Vuc3VwcG9ydGVkX2RlYnVnCi0rICAgIHVuc2V0IHBjaF91bnN1cHBvcnRlZAotK30KLSsK LStwcm9jIGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfcGNoX3N1cHBvcnRlZF9kZWJ1ZyB7IH0gewot KyAgICBnbG9iYWwgcGNoX3Vuc3VwcG9ydGVkX2RlYnVnCi0rICAgIGlmIHsgJHBjaF91bnN1cHBv cnRlZF9kZWJ1ZyB9IHsKLSsJcmV0dXJuIDAKLSsgICAgfQotKyAgICByZXR1cm4gMQotK30KLSsK LSBwcm9jIGRnLWZsYWdzLXBjaCB7IHN1YmRpciB0ZXN0IG90aGVyZmxhZ3Mgb3B0aW9ucyBzdWZm aXggfSB7Ci0gICAgIGdsb2JhbCBydW50ZXN0cyBkZy1kby13aGF0LWRlZmF1bHQKLSsgICAgZ2xv YmFsIHBjaF91bnN1cHBvcnRlZF9kZWJ1ZyBwY2hfdW5zdXBwb3J0ZWQKLSAKLSAgICAgIyBJZiB3 ZSdyZSBvbmx5IHRlc3Rpbmcgc3BlY2lmaWMgZmlsZXMgYW5kIHRoaXMgaXNuJ3Qgb25lIG9mIHRo ZW0sIHNraXAgaXQuCi0gICAgIGlmICFbcnVudGVzdF9maWxlX3AgJHJ1bnRlc3RzICR0ZXN0XSB7 Ci1AQCAtMzUsNiArNzYsMTMgQEAgcHJvYyBkZy1mbGFncy1wY2ggeyBzdWJkaXIgdGVzdCBvdGhl cmZsYQotICAgICBmb3JlYWNoIGZsYWdzICRvcHRpb25zIHsKLSAJdmVyYm9zZSAiVGVzdGluZyAk bnNob3J0LCAkb3RoZXJmbGFncyAkZmxhZ3MiIDEKLSAKLSsJaWYgeyAkcGNoX3Vuc3VwcG9ydGVk ICE9IDAgXAotKwkgICAgIHx8ICggJHBjaF91bnN1cHBvcnRlZF9kZWJ1ZyAhPSAwICYmIFtyZWdl eHAgIiAtZyIgIiAkZmxhZ3MiXSApIH0gewotKwkgICAgdmVyYm9zZSAtbG9nICIkbnNob3J0IHVu c3VwcG9ydGVkIGJlY2F1c2UgZGVidWcgZm9ybWF0IGNvbmZsaWN0cyB3aXRoIFBDSCIKLSsJICAg IHVuc3VwcG9ydGVkICIkbnNob3J0ICRmbGFncyIKLSsJICAgIGNvbnRpbnVlCi0rCX0KLSsKLSAJ IyBGb3IgdGhlIGhlYWRlciBmaWxlcywgdGhlIGRlZmF1bHQgaXMgdG8gcHJlY29tcGlsZS4KLSAJ c2V0IGRnLWRvLXdoYXQtZGVmYXVsdCBwcmVjb21waWxlCi0gCWNhdGNoIHsgZmlsZV9vbl9ob3N0 IGRlbGV0ZSAiJGJuYW1lJHN1ZmZpeCIgfQotQEAgLTc4LDcgKzEyNiw4IEBAIHByb2MgZGctZmxh Z3MtcGNoIHsgc3ViZGlyIHRlc3Qgb3RoZXJmbGEKLSAgCQkgICAgZmFpbCAiJG5zaG9ydCAkZmxh Z3MgYXNzZW1ibHkgY29tcGFyaXNvbiIKLSAJCX0KLSAJICAgIH0KLS0JfSBlbHNlIHsKLSsJfSBl bHNlaWYgeyAkcGNoX3Vuc3VwcG9ydGVkX2RlYnVnID09IDAgXAotKwkJICAgfHwgW2xsZW5ndGgg W2dyZXAgJHRlc3QgIntcWyBcdFxdXCtkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXRcWyBcdFxd XCtwY2hfc3VwcG9ydGVkX2RlYnVnXFsgXHRcXVwrLipcWyBcdFxdXCt9Il1dID4gMCB9IHsKLSAJ ICAgIHZlcmJvc2UgLWxvZyAicGNoIGZpbGUgJyRibmFtZSRzdWZmaXguZ2NoJyBtaXNzaW5nIgot IAkgICAgZmFpbCAiJG5zaG9ydCAkZmxhZ3MiCi0gCSAgICBpZiB7ICEkaGF2ZV9lcnJzIH0gewot LS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL3BjaC9wY2guZXhwLmpqCTIwMTMtMDEtMTEgMDk6MDI6 NDQuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvcGNoL3BjaC5leHAJ MjAxMy0wMi0xNSAxNDo1MzowMy41MTcxMDY0NjQgKzAxMDAKLUBAIC0yMyw2ICsyMyw3IEBAIGxv YWRfbGliIGRnLXBjaC5leHAKLSAKLSAjIEluaXRpYWxpemUgYGRnJy4KLSBkZy1pbml0Ci0rcGNo LWluaXQKLSAKLSBzZXQgb2xkX2RnX2RvX3doYXRfZGVmYXVsdCAiJHtkZy1kby13aGF0LWRlZmF1 bHR9IgotIAotQEAgLTM2LDQgKzM3LDUgQEAgZm9yZWFjaCB0ZXN0IFtsc29ydCBbZ2xvYiAtbm9j b21wbGFpbiAkcwotIHNldCBkZy1kby13aGF0LWRlZmF1bHQgIiRvbGRfZGdfZG9fd2hhdF9kZWZh dWx0IgotIAotICMgQWxsIGRvbmUuCi0rcGNoLWZpbmlzaAotIGRnLWZpbmlzaAotLS0tIGdjYy90 ZXN0c3VpdGUvb2JqYy5kZy9wY2gvcGNoLmV4cC5qagkyMDEzLTAxLTExIDA5OjAyOjQ0LjAwMDAw MDAwMCArMDEwMAotKysrIGdjYy90ZXN0c3VpdGUvb2JqYy5kZy9wY2gvcGNoLmV4cAkyMDEzLTAy LTE1IDE0OjUzOjMwLjA2Mzk1MTA1MSArMDEwMAotQEAgLTI0LDggKzI0LDggQEAgbG9hZF9saWIg dG9ydHVyZS1vcHRpb25zLmV4cAotIAotICMgSW5pdGlhbGl6ZSBgZGcnLgotIGRnLWluaXQKLS0K LSB0b3J0dXJlLWluaXQKLStwY2gtaW5pdAotIAotIHNldC10b3J0dXJlLW9wdGlvbnMgJERHX1RP UlRVUkVfT1BUSU9OUwotIAotQEAgLTU5LDUgKzU5LDYgQEAgaWYgW2lzdGFyZ2V0ICIqLSotZGFy d2luKiIgXSB7Ci0gc2V0IGRnLWRvLXdoYXQtZGVmYXVsdCAiJG9sZF9kZ19kb193aGF0X2RlZmF1 bHQiCi0gCi0gIyBBbGwgZG9uZS4KLStwY2gtZmluaXNoCi0gdG9ydHVyZS1maW5pc2gKLSBkZy1m aW5pc2gKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy5kZy9wY2gvcGNoLmV4cC5qagkyMDEzLTAxLTEx IDA5OjAyOjQyLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3BjaC9w Y2guZXhwCTIwMTMtMDItMTUgMTQ6MTE6MjcuMDUzODk2ODA5ICswMTAwCi1AQCAtMjYsNiArMjYs NyBAQCBsb2FkX2xpYiB0b3J0dXJlLW9wdGlvbnMuZXhwCi0gZGctaW5pdAotIHRvcnR1cmUtaW5p dAotIHNldC10b3J0dXJlLW9wdGlvbnMgJERHX1RPUlRVUkVfT1BUSU9OUwotK3BjaC1pbml0Ci0g Ci0gc2V0IG9sZF9kZ19kb193aGF0X2RlZmF1bHQgIiR7ZGctZG8td2hhdC1kZWZhdWx0fSIKLSAK LUBAIC01OSw1ICs2MCw2IEBAIGZpbGUgZGVsZXRlICR0ZXN0aAotIHNldCBkZy1kby13aGF0LWRl ZmF1bHQgIiRvbGRfZGdfZG9fd2hhdF9kZWZhdWx0IgotIAotICMgQWxsIGRvbmUuCi0rcGNoLWZp bmlzaAotIHRvcnR1cmUtZmluaXNoCi0gZGctZmluaXNoCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcGNoL3ZhbGlkLTEuYy5qagkyMDA5LTA2LTA4IDExOjUzOjQ4LjAwMDAwMDAwMCArMDIwMAot KysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3BjaC92YWxpZC0xLmMJMjAxMy0wMi0xNSAxNToxOTo0 NC4xMjQ4MzMyNTkgKzAxMDAKLUBAIC0xLDMgKzEsNCBAQAotKy8qIHsgZGctcmVxdWlyZS1lZmZl Y3RpdmUtdGFyZ2V0IHBjaF9zdXBwb3J0ZWRfZGVidWcgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAi LUkuIC1XaW52YWxpZC1wY2ggLWciIH0gKi8KLSAKLSAjaW5jbHVkZSAidmFsaWQtMS5oIi8qIHsg ZGctd2FybmluZyAiY3JlYXRlZCB3aXRoIC1nbm9uZSwgYnV0IHVzZWQgd2l0aCAtZyIgfSAqLwot LS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3BjaC92YWxpZC0xLmhzLmpqCTIwMDgtMDktMDUgMTI6 NTQ6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGNoL3ZhbGlk LTEuaHMJMjAxMy0wMi0xNSAxNToxOTo1MC42ODY3OTQzNDAgKzAxMDAKLUBAIC0xLDMgKzEsNCBA QAotKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHBjaF9zdXBwb3J0ZWRfZGVidWcg fSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLUkuIC1XaW52YWxpZC1wY2ggLWcwIiB9ICovCi0gCi0g ZXh0ZXJuIGludCB4OwotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3BjaC92YWxpZC0xYi5jLmpq CTIwMDgtMDktMDUgMTI6NTQ6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvcGNoL3ZhbGlkLTFiLmMJMjAxMy0wMi0xNSAxNToxOTo1NS45MzU3NjM2MzEgKzAxMDAK LUBAIC0xLDMgKzEsNCBAQAotKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IHBjaF9z dXBwb3J0ZWRfZGVidWcgfSAqLwotIC8qIHsgZGctb3B0aW9ucyAiLUkuIC1XaW52YWxpZC1wY2gg LWcwIiB9ICovCi0gCi0gI2luY2x1ZGUgInZhbGlkLTFiLmgiCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvcGNoL3ZhbGlkLTFiLmhzLmpqCTIwMDgtMDktMDUgMTI6NTQ6MjYuMDAwMDAwMDAwICsw MjAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGNoL3ZhbGlkLTFiLmhzCTIwMTMtMDItMTUg MTU6MjA6MDIuMjE0NzI3Nzk0ICswMTAwCi1AQCAtMSwzICsxLDQgQEAKLSsvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCBwY2hfc3VwcG9ydGVkX2RlYnVnIH0gKi8KLSAvKiB7IGRnLW9w dGlvbnMgIi1JLiAtV2ludmFsaWQtcGNoIC1nIiB9ICovCi0gCi0gZXh0ZXJuIGludCB4OwoKZGlm ZiAtLWdpdCBhL2djYzQ4LXByNTYyNTgucGF0Y2ggYi9nY2M0OC1wcjU2MjU4LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4YWY0YzAKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2M0OC1wcjU2MjU4LnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKKzIwMTMtMDItMjAgIEpha3Vi IEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJUFIgYm9vdHN0cmFwLzU2MjU4CisJKiBk b2MvaW52b2tlLnRleGkgKC1mZHVtcC1ydGwtcHJvX2FuZF9lcGlsb2d1ZSk6IFVzZSBAaXRlbQor CWluc3RlYWQgb2YgQGl0ZW14LgorCisJKiBnbmF0LXN0eWxlLnRleGkgKEB0aXRsZSk6IFJlbW92 ZSBAaGZpbGwuCisKKy0tLSBnY2MvYWRhL2duYXQtc3R5bGUudGV4aS5qagkyMDEyLTA4LTEwIDEy OjU3OjMzLjAwMDAwMDAwMCArMDIwMAorKysrIGdjYy9hZGEvZ25hdC1zdHlsZS50ZXhpCTIwMTMt MDItMjAgMTM6MDY6MDMuMDQyNjY3MzAwICswMTAwCitAQCAtNDIsNyArNDIsNyBAQCBUZXh0cy4g IEEgY29weSBvZiB0aGUgbGljZW5zZSBpcyBpbmNsdWRlCisgQHRpdGxlcGFnZQorIEB0aXRsZWZv bnR7R05BVCBDb2RpbmcgU3R5bGU6fQorIEBzcCAxCistQHRpdGxlIEBoZmlsbCBBIEd1aWRlIGZv ciBHTkFUIERldmVsb3BlcnMKKytAdGl0bGUgQSBHdWlkZSBmb3IgR05BVCBEZXZlbG9wZXJzCisg QHN1YnRpdGxlIEdOQVQsIFRoZSBHTlUgQWRhIENvbXBpbGVyCisgQHZlcnNpb25zdWJ0aXRsZQor IEBhdXRob3IgQWRhIENvcmUgVGVjaG5vbG9naWVzLCBJbmMuCistLS0gZ2NjL2RvYy9pbnZva2Uu dGV4aS5qagkyMDEzLTAxLTMxIDIyOjU3OjIyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9kb2Mv aW52b2tlLnRleGkJMjAxMy0wMi0yMCAxMzowNjo0Ny41MTY0MDU3MzkgKzAxMDAKK0BAIC01NjEy LDcgKzU2MTIsNyBAQCBEdW1wIGFmdGVyIHRoZSBwZWVwaG9sZSBwYXNzLgorIEBvcGluZGV4IGZk dW1wLXJ0bC1wb3N0cmVsb2FkCisgRHVtcCBhZnRlciBwb3N0LXJlbG9hZCBvcHRpbWl6YXRpb25z LgorIAorLUBpdGVteCAtZmR1bXAtcnRsLXByb19hbmRfZXBpbG9ndWUKKytAaXRlbSAtZmR1bXAt cnRsLXByb19hbmRfZXBpbG9ndWUKKyBAb3BpbmRleCBmZHVtcC1ydGwtcHJvX2FuZF9lcGlsb2d1 ZQorIER1bXAgYWZ0ZXIgZ2VuZXJhdGluZyB0aGUgZnVuY3Rpb24gcHJvbG9ndWVzIGFuZCBlcGls b2d1ZXMuCisgCgpkaWZmIC0tZ2l0IGEvZ2NjNDgtcHI1NjI2NS5wYXRjaCBiL2djYzQ4LXByNTYy NjUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY1MWRhNgotLS0g L2Rldi9udWxsCisrKyBiL2djYzQ4LXByNTYyNjUucGF0Y2gKQEAgLTAsMCArMSwxMzIgQEAKKzIw MTMtMDItMjAgIEphbiBIdWJpY2thICA8amhAc3VzZS5jej4KKworCVBSIHRyZWUtb3B0aW1pemF0 aW9uLzU2MjY1CisJKiBpcGEtcHJvcC5jIChpcGFfbWFrZV9lZGdlX2RpcmVjdF90b190YXJnZXQp OiBGaXh1cCBjYWxsZ3JhcGggd2hlbiB0YXJnZXQgaXMKKwlyZWZlcmVuY2VkIGZvciBmaXJzIHR0 aW1lLgorCisJKiB0ZXN0c3VpdGUvZysrLmRnL2lwYS9kZXZpcnQtMTEuQzogTmV3IHRlc3RjYXNl LgorCistLS0gZ2NjL2lwYS1wcm9wLmMJKHJldmlzaW9uIDE5NjE3NikKKysrKyBnY2MvaXBhLXBy b3AuYwkocmV2aXNpb24gMTk2MTc3KQorQEAgLTIxMDAsMTAgKzIxMDAsNjUgQEAgaXBhX21ha2Vf ZWRnZV9kaXJlY3RfdG9fdGFyZ2V0IChzdHJ1Y3QgYworICAgaWYgKFRSRUVfQ09ERSAodGFyZ2V0 KSA9PSBBRERSX0VYUFIpCisgICAgIHRhcmdldCA9IFRSRUVfT1BFUkFORCAodGFyZ2V0LCAwKTsK KyAgIGlmIChUUkVFX0NPREUgKHRhcmdldCkgIT0gRlVOQ1RJT05fREVDTCkKKy0gICAgcmV0dXJu IE5VTEw7CisrICAgIHsKKysgICAgICB0YXJnZXQgPSBjYW5vbmljYWxpemVfY29uc3RydWN0b3Jf dmFsICh0YXJnZXQsIE5VTEwpOworKyAgICAgIGlmICghdGFyZ2V0IHx8IFRSRUVfQ09ERSAodGFy Z2V0KSAhPSBGVU5DVElPTl9ERUNMKQorKwl7CisrCSAgaWYgKGR1bXBfZmlsZSkKKysJICAgIGZw cmludGYgKGR1bXBfZmlsZSwgImlwYS1wcm9wOiBEaXNjb3ZlcmVkIGRpcmVjdCBjYWxsIHRvIG5v bi1mdW5jdGlvbiIKKysJCQkJIiBpbiAoJXMvJWkpLlxuIiwKKysJCSAgICAgY2dyYXBoX25vZGVf bmFtZSAoaWUtPmNhbGxlciksIGllLT5jYWxsZXItPnVpZCk7CisrCSAgcmV0dXJuIE5VTEw7Cisr CX0KKysgICAgfQorICAgY2FsbGVlID0gY2dyYXBoX2dldF9ub2RlICh0YXJnZXQpOworLSAgaWYg KCFjYWxsZWUpCistICAgIHJldHVybiBOVUxMOworKworKyAgLyogQmVjYXVzZSBtYXktZWRnZXMg YXJlIG5vdCBleHBsaWNpdGVseSByZXByZXNlbnRlZCBhbmQgdnRhYmxlIG1heSBiZSBleHRlcm5h bCwKKysgICAgIHdlIG1heSBjcmVhdGUgdGhlIGZpcnN0IHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0 IGluIHRoZSB1bml0LiAgKi8KKysgIGlmICghY2FsbGVlIHx8IGNhbGxlZS0+Z2xvYmFsLmlubGlu ZWRfdG8pCisrICAgIHsKKysgICAgICBzdHJ1Y3QgY2dyYXBoX25vZGUgKmZpcnN0X2Nsb25lID0g Y2FsbGVlOworKworKyAgICAgIC8qIFdlIGFyZSBiZXR0ZXIgdG8gZW5zdXJlIHdlIGNhbiByZWZl ciB0byBpdC4KKysJIEluIHRoZSBjYXNlIG9mIHN0YXRpYyBmdW5jdGlvbnMgd2UgYXJlIG91dCBv ZiBsdWNrLCBzaW5jZSB3ZSBhbHJlYWR5CQorKwkgcmVtb3ZlZCBpdHMgYm9keS4gIEluIHRoZSBj YXNlIG9mIHB1YmxpYyBmdW5jdGlvbnMgd2UgbWF5IG9yIG1heQorKwkgbm90IGludHJvZHVjZSB0 aGUgcmVmZXJlbmNlLiAgKi8KKysgICAgICBpZiAoIWNhbm9uaWNhbGl6ZV9jb25zdHJ1Y3Rvcl92 YWwgKHRhcmdldCwgTlVMTCkKKysJICB8fCAhVFJFRV9QVUJMSUMgKHRhcmdldCkpCisrCXsKKysJ ICBpZiAoZHVtcF9maWxlKQorKwkgICAgZnByaW50ZiAoZHVtcF9maWxlLCAiaXBhLXByb3A6IERp c2NvdmVyZWQgY2FsbCB0byBhIGtub3duIHRhcmdldCAiCisrCQkgICAgICIoJXMvJWkgLT4gJXMv JWkpIGJ1dCBjYW4gbm90IHJlZmVyIHRvIGl0LiBHaXZpbmcgdXAuXG4iLAorKwkJICAgICB4c3Ry ZHVwIChjZ3JhcGhfbm9kZV9uYW1lIChpZS0+Y2FsbGVyKSksIGllLT5jYWxsZXItPnVpZCwKKysJ CSAgICAgeHN0cmR1cCAoY2dyYXBoX25vZGVfbmFtZSAoaWUtPmNhbGxlZSkpLCBpZS0+Y2FsbGVl LT51aWQpOworKwkgIHJldHVybiBOVUxMOworKwl9CisrCisrICAgICAgLyogQ3JlYXRlIHN5bWJv bCB0YWJsZSBub2RlLiAgRXZlbiBpZiBpbmxpbmUgY2xvbmUgZXhpc3RzLCB3ZSBjYW4gbm90IHRh a2UKKysJIGl0IGFzIGEgdGFyZ2V0IG9mIG5vbi1pbmxpbmVkIGNhbGwuICAqLworKyAgICAgIGNh bGxlZSA9IGNncmFwaF9jcmVhdGVfbm9kZSAodGFyZ2V0KTsKKysKKysgICAgICAvKiBPSywgd2Ug cHJldmlvdXNseSBpbmxpbmVkIHRoZSBmdW5jdGlvbiwgdGhlbiByZW1vdmVkIHRoZSBvZmZsaW5l IGNvcHkgYW5kCisrCSBub3cgd2Ugd2FudCBpdCBiYWNrIGZvciBleHRlcm5hbCBjYWxsLiAgVGhp cyBjYW4gaGFwcGVuIHdoZW4gZGV2aXJ0dWFsaXppbmcKKysJIHdoaWxlIGlubGluaW5nIGZ1bmN0 aW9uIGNhbGxlZCBvbmNlIHRoYXQgaGFwcGVucyBhZnRlciBleHRlcm4gaW5saW5lZCBhbmQKKysJ IHZpcnR1YWxzIGFyZSBhbHJlYWR5IHJlbW92ZWQuICBJbiB0aGlzIGNhc2UgaW50cm9kdWNlIHRo ZSBleHRlcm5hbCBub2RlCisrCSBhbmQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIGNhbGwuICAqLwor KyAgICAgIGlmIChmaXJzdF9jbG9uZSkKKysJeworKwkgIGZpcnN0X2Nsb25lLT5jbG9uZV9vZiA9 IGNhbGxlZTsKKysJICBjYWxsZWUtPmNsb25lcyA9IGZpcnN0X2Nsb25lOworKwkgIHN5bXRhYl9w cmV2YWlsX2luX2FzbV9uYW1lX2hhc2ggKChzeW10YWJfbm9kZSljYWxsZWUpOworKwkgIHN5bXRh Yl9pbnNlcnRfbm9kZV90b19oYXNodGFibGUgKChzeW10YWJfbm9kZSljYWxsZWUpOworKwkgIGlm IChkdW1wX2ZpbGUpCisrCSAgICBmcHJpbnRmIChkdW1wX2ZpbGUsICJpcGEtcHJvcDogSW50cm9k dWNlZCBuZXcgZXh0ZXJuYWwgbm9kZSAiCisrCQkgICAgICIoJXMvJWkpIGFuZCB0dXJuZWQgaW50 byByb290IG9mIHRoZSBjbG9uZSB0cmVlLlxuIiwKKysJCSAgICAgeHN0cmR1cCAoY2dyYXBoX25v ZGVfbmFtZSAoY2FsbGVlKSksIGNhbGxlZS0+dWlkKTsKKysJfQorKyAgICAgIGVsc2UgaWYgKGR1 bXBfZmlsZSkKKysJZnByaW50ZiAoZHVtcF9maWxlLCAiaXBhLXByb3A6IEludHJvZHVjZWQgbmV3 IGV4dGVybmFsIG5vZGUgIgorKwkJICIoJXMvJWkpLlxuIiwKKysJCSB4c3RyZHVwIChjZ3JhcGhf bm9kZV9uYW1lIChjYWxsZWUpKSwgY2FsbGVlLT51aWQpOworKyAgICB9CisgICBpcGFfY2hlY2tf Y3JlYXRlX25vZGVfcGFyYW1zICgpOworIAorICAgLyogV2UgY2FuIG5vdCBtYWtlIGVkZ2VzIHRv IGlubGluZSBjbG9uZXMuICBJdCBpcyBidWcgdGhhdCBzb21lb25lIHJlbW92ZWQKKy0tLSBnY2Mv dGVzdHN1aXRlL2crKy5kZy9pcGEvZGV2aXJ0LTExLkMJKHJldmlzaW9uIDApCisrKysgZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvaXBhL2RldmlydC0xMS5DCShyZXZpc2lvbiAxOTYxNzcpCitAQCAtMCww ICsxLDUwIEBACisrLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1P MiAtZmR1bXAtaXBhLWlubGluZSIgfSAqLworK2ludCBiYXogKCk7Cisrc3RydWN0IEEKKyt7Cisr ICB2aXJ0dWFsIGludCBmbjIgKCkgPSAwOworKyAgdmlydHVhbCBpbnQgKmZuMyAoKTsKKysgIGRv dWJsZSAqZm40ICgpOworKyAgaW50IGZuNSAoaW50KTsKKysgIHRlbXBsYXRlIDxjbGFzcyBUPgor KyAgdm9pZCBmbjEgKEEgJiwgVCkgeyBmbjMgKCk7IGZuNCAoKTsgZm4yICgpOyB9CisrfTsKKytz dHJ1Y3QgQiA6IEEKKyt7CisrICBpbnQgZm4yICgpIHsgcmV0dXJuIDY7IH0KKysgIHZvaWQgZm4z IChpbnQsIGRvdWJsZSk7CisrICBCIChib29sID0gdHJ1ZSk7CisrICBCIChpbnQsIGludCk7Cisr fTsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyt2b2lkCisrZm9vIChCICZ4LCBBICZ5LCBBICZ6 KQorK3sKKysgIHkuZm4yICgpOworKyAgei5mbjIgKCk7CisrICBpbnQgaSA9IGJheiAoKTsKKysg IGludCBqID0gKHkuZm4zICgpKVtpXTsKKysgIHguZm4zIChqLCAoeS5mbjQgKCkpW2ldICsgKHou Zm40ICgpKVt6LmZuNSAoaildKTsKKyt9CisraW5saW5lIEIKKytvcGVyYXRvcisgKEEgJnksIEEg JnopCisreworKyAgQiB4OworKyAgZm9vPGludD4gKHgsIHksIHopOworKyAgcmV0dXJuIHg7Cisr fQorK3ZvaWQKKytiYXIgKCkKKyt7CisrICBCIGEsIGIsIGMgKDQsIDApLCBkOworKyAgYS5mbjEg KGIsIC42KTsKKysgIGJheiAoKTsKKysgIGMgKyBkOworK30KKysvKiBXaGlsZSBpbmxpbmluZyBm dW5jdGlvbiBjYWxsZWQgb25jZSB3ZSBzaG91bGQgZGV2aXJ0dWFsaXplIGEgbmV3IGNhbGwgdG8g Zm4yCisrICAgYW5kIHR3byB0byBmbjMuIFdoaWxlIGRvaW5nIHNvIHRoZSBuZXcgc3ltYm9sIGZv ciBmbjIgbmVlZHMgdG8gYmUKKysgICBpbnRyb2R1Y2VkLiAgKi8KKysvKiB7IGRnLWZpbmFsIHsg c2Nhbi1pcGEtZHVtcC10aW1lcyAiRGlzY292ZXJlZCBhIHZpcnR1YWwgY2FsbCB0byBhIGtub3du IHRhcmdldCIgMyAiaW5saW5lIiAgfSB9ICovCisrLyogeyBkZy1maW5hbCB7IHNjYW4taXBhLWR1 bXAtdGltZXMgImFuZCB0dXJuZWQgaW50byByb290IG9mIHRoZSBjbG9uZSB0cmVlIiAxICJpbmxp bmUiICB9IH0gKi8KKysvKiB7IGRnLWZpbmFsIHsgY2xlYW51cC1pcGEtZHVtcCAiaW5saW5lIiB9 IH0gKi8KCmRpZmYgLS1naXQgYS9nY2M0OC1wcjU2NDA1LnBhdGNoIGIvZ2NjNDgtcHI1NjQwNS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWNkZGIxCi0tLSAvZGV2 L251bGwKKysrIGIvZ2NjNDgtcHI1NjQwNS5wYXRjaApAQCAtMCwwICsxLDM2IEBACisyMDEzLTAy LTIwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIGlubGluZS1hc20v NTY0MDUKKwkqIGV4cHIuYyAoZXhwYW5kX2V4cHJfcmVhbF8xKSA8Y2FzZSBUQVJHRVRfTUVNX1JF RiwgTUVNX1JFRj46IERvbid0CisJdXNlIG1vdm1pc2FsaWduIG9yIGV4dHJhY3RfYml0X2ZpZWxk IGZvciBFWFBBTkRfTUVNT1JZIG1vZGlmaWVyLgorCisJKiBnY2MuYy10b3J0dXJlL2NvbXBpbGUv cHI1NjQwNS5jOiBOZXcgdGVzdC4KKworLS0tIGdjYy9leHByLmMuamoJMjAxMy0wMS0xOCAxODow OTo0MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvZXhwci5jCTIwMTMtMDItMjAgMTA6Mjk6MzQu NTEzMTQzNjM0ICswMTAwCitAQCAtOTU1MSw2ICs5NTUxLDcgQEAgZXhwYW5kX2V4cHJfcmVhbF8x ICh0cmVlIGV4cCwgcnR4IHRhcmdldAorIAlzZXRfbWVtX2FkZHJfc3BhY2UgKHRlbXAsIGFzKTsK KyAJYWxpZ24gPSBnZXRfb2JqZWN0X2FsaWdubWVudCAoZXhwKTsKKyAJaWYgKG1vZGlmaWVyICE9 IEVYUEFORF9XUklURQorKwkgICAgJiYgbW9kaWZpZXIgIT0gRVhQQU5EX01FTU9SWQorIAkgICAg JiYgbW9kZSAhPSBCTEttb2RlCisgCSAgICAmJiBhbGlnbiA8IEdFVF9NT0RFX0FMSUdOTUVOVCAo bW9kZSkKKyAJICAgIC8qIElmIHRoZSB0YXJnZXQgZG9lcyBub3QgaGF2ZSBzcGVjaWFsIGhhbmRs aW5nIGZvciB1bmFsaWduZWQKK0BAIC05NjM5LDYgKzk2NDAsNyBAQCBleHBhbmRfZXhwcl9yZWFs XzEgKHRyZWUgZXhwLCBydHggdGFyZ2V0CisgCWlmIChUUkVFX1RISVNfVk9MQVRJTEUgKGV4cCkp CisgCSAgTUVNX1ZPTEFUSUxFX1AgKHRlbXApID0gMTsKKyAJaWYgKG1vZGlmaWVyICE9IEVYUEFO RF9XUklURQorKwkgICAgJiYgbW9kaWZpZXIgIT0gRVhQQU5EX01FTU9SWQorIAkgICAgJiYgbW9k ZSAhPSBCTEttb2RlCisgCSAgICAmJiBhbGlnbiA8IEdFVF9NT0RFX0FMSUdOTUVOVCAobW9kZSkp CisgCSAgeworLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9jb21waWxlL3ByNTY0MDUu Yy5qagkyMDEzLTAyLTIwIDEwOjMyOjE3LjgwNzI1MDk3OSArMDEwMAorKysrIGdjYy90ZXN0c3Vp dGUvZ2NjLmMtdG9ydHVyZS9jb21waWxlL3ByNTY0MDUuYwkyMDEzLTAyLTIwIDEwOjMyOjQ2Ljk2 MzA5MDg3MyArMDEwMAorQEAgLTAsMCArMSw3IEBACisrLyogUFIgaW5saW5lLWFzbS81NjQwNSAq LworKworK3ZvaWQKKytmb28gKHZvaWQpCisreworKyAgYXNtIHZvbGF0aWxlICgiIiA6ICIrbSIg KCoodm9sYXRpbGUgdW5zaWduZWQgc2hvcnQgKikgMHgxMDAxVUwpKTsKKyt9CgpkaWZmIC0tZ2l0 IGEvZ2NjNDgtdW51c2VkLWxvY2Fscy5wYXRjaCBiL2djYzQ4LXVudXNlZC1sb2NhbHMucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZmMTZkZQotLS0gL2Rldi9udWxs CisrKyBiL2djYzQ4LXVudXNlZC1sb2NhbHMucGF0Y2gKQEAgLTAsMCArMSwyOTcgQEAKKzIwMTMt MDItMjAgIFJpY2hhcmQgQmllbmVyICA8cmd1ZW50aGVyQHN1c2UuZGU+CisKKwkqIHRyZWUtY2Fs bC1jZGNlLmMgKHRyZWVfY2FsbF9jZGNlKTogRG8gbm90IHJlbW92ZSB1bnVzZWQgbG9jYWxzLgor CSogdHJlZS1zc2EtZm9yd3Byb3AuYyAoc3NhX2ZvcndhcmRfcHJvcGFnYXRlX2FuZF9jb21iaW5l KTogTGlrZXdpc2UuCisJKiB0cmVlLXNzYS1kY2UuYyAocGVyZm9ybV90cmVlX3NzYV9kY2UpOiBM aWtld2lzZS4KKwkqIHRyZWUtc3NhLWNvcHlyZW5hbWUuYyAoY29weV9yZW5hbWVfcGFydGl0aW9u X2NvYWxlc2NlKTogRG8KKwlub3QgcmV0dXJuIGFueXRoaW5nLgorCShyZW5hbWVfc3NhX2NvcGll cyk6IERvIG5vdCByZW1vdmUgdW51c2VkIGxvY2Fscy4KKwkqIHRyZWUtc3NhLWNjcC5jIChkb19z c2FfY2NwKTogTGlrZXdpc2UuCisJKiB0cmVlLXNzYW5hbWVzLmMgKHBhc3NfcmVsZWFzZV9zc2Ff bmFtZXMpOiBSZW1vdmUgdW51c2VkCisJbG9jYWxzIGZpcnN0LgorCSogcGFzc2VzLmMgKGV4ZWN1 dGVfZnVuY3Rpb25fdG9kbyk6IERvIG5vdCBzY2hlZHVsZSB1bnVzZWQgbG9jYWxzCisJcmVtb3Zh bCBpZiBjbGVhbnVwX3RyZWVfY2ZnIGRpZCBzb21ldGhpbmcuCisJKiB0cmVlLXNzYS1saXZlLmMg KHJlbW92ZV91bnVzZWRfbG9jYWxzKTogRHVtcCBzdGF0aXN0aWNzCisJYWJvdXQgdGhlIG51bWJl ciBvZiByZW1vdmVkIGxvY2Fscy4KKworCSogZ2NjLmRnL3RyZWUtc3NhL2Zvcndwcm9wLTguYzog QWRqdXN0LgorCistLS0gZ2NjL3RyZWUtc3NhLWNvcHlyZW5hbWUuYwkocmV2aXNpb24gMTk2MTcz KQorKysrIGdjYy90cmVlLXNzYS1jb3B5cmVuYW1lLmMJKHJldmlzaW9uIDE5NjE3NCkKK0BAIC0x MTMsNyArMTEzLDcgQEAgc3RhdGljIHN0cnVjdAorIC8qIENvYWxlc2NlIHRoZSBwYXJ0aXRpb25z IGluIE1BUCByZXByZXNlbnRpbmcgVkFSMSBhbmQgVkFSMiBpZiBpdCBpcyB2YWxpZC4KKyAgICBD aG9vc2UgYSByZXByZXNlbnRhdGl2ZSBmb3IgdGhlIHBhcnRpdGlvbiwgYW5kIHNlbmQgZGVidWcg aW5mbyB0byBERUJVRy4gICovCisgCistc3RhdGljIGJvb2wKKytzdGF0aWMgdm9pZAorIGNvcHlf cmVuYW1lX3BhcnRpdGlvbl9jb2FsZXNjZSAodmFyX21hcCBtYXAsIHRyZWUgdmFyMSwgdHJlZSB2 YXIyLCBGSUxFICpkZWJ1ZykKKyB7CisgICBpbnQgcDEsIHAyLCBwMzsKK0BAIC0xNDYsNyArMTQ2 LDcgQEAgY29weV9yZW5hbWVfcGFydGl0aW9uX2NvYWxlc2NlICh2YXJfbWFwCisgICAgIHsKKyAg ICAgICBpZiAoZGVidWcpCisgCWZwcmludGYgKGRlYnVnLCAiIDogQWxyZWFkeSBjb2FsZXNjZWQu XG4iKTsKKy0gICAgICByZXR1cm4gZmFsc2U7CisrICAgICAgcmV0dXJuOworICAgICB9CisgCisg ICByZXAxID0gcGFydGl0aW9uX3RvX3ZhciAobWFwLCBwMSk7CitAQCAtMTU0LDcgKzE1NCw3IEBA IGNvcHlfcmVuYW1lX3BhcnRpdGlvbl9jb2FsZXNjZSAodmFyX21hcAorICAgcm9vdDEgPSBTU0Ff TkFNRV9WQVIgKHJlcDEpOworICAgcm9vdDIgPSBTU0FfTkFNRV9WQVIgKHJlcDIpOworICAgaWYg KCFyb290MSAmJiAhcm9vdDIpCistICAgIHJldHVybiBmYWxzZTsKKysgICAgcmV0dXJuOworIAor ICAgLyogRG9uJ3QgY29hbGVzY2UgaWYgb25lIG9mIHRoZSB2YXJpYWJsZXMgb2NjdXJzIGluIGFu IGFibm9ybWFsIFBISS4gICovCisgICBhYm5vcm0gPSAoU1NBX05BTUVfT0NDVVJTX0lOX0FCTk9S TUFMX1BISSAocmVwMSkKK0BAIC0xNjMsNyArMTYzLDcgQEAgY29weV9yZW5hbWVfcGFydGl0aW9u X2NvYWxlc2NlICh2YXJfbWFwCisgICAgIHsKKyAgICAgICBpZiAoZGVidWcpCisgCWZwcmludGYg KGRlYnVnLCAiIDogQWJub3JtYWwgUEhJIGJhcnJpZXIuICBObyBjb2FsZXNjZS5cbiIpOworLSAg ICAgIHJldHVybiBmYWxzZTsKKysgICAgICByZXR1cm47CisgICAgIH0KKyAKKyAgIC8qIFBhcnRp dGlvbnMgYWxyZWFkeSBoYXZlIHRoZSBzYW1lIHJvb3QsIHNpbXBseSBtZXJnZSB0aGVtLiAgKi8K K0BAIC0xNzIsNyArMTcyLDcgQEAgY29weV9yZW5hbWVfcGFydGl0aW9uX2NvYWxlc2NlICh2YXJf bWFwCisgICAgICAgcDEgPSBwYXJ0aXRpb25fdW5pb24gKG1hcC0+dmFyX3BhcnRpdGlvbiwgcDEs IHAyKTsKKyAgICAgICBpZiAoZGVidWcpCisgCWZwcmludGYgKGRlYnVnLCAiIDogU2FtZSByb290 LCBjb2FsZXNjZWQgLS0+IFAlZC5cbiIsIHAxKTsKKy0gICAgICByZXR1cm4gZmFsc2U7CisrICAg ICAgcmV0dXJuOworICAgICB9CisgCisgICAvKiBOZXZlciBhdHRlbXB0IHRvIGNvYWxlc2NlIDIg ZGlmZmVyZW50IHBhcmFtZXRlcnMuICAqLworQEAgLTE4MSw3ICsxODEsNyBAQCBjb3B5X3JlbmFt ZV9wYXJ0aXRpb25fY29hbGVzY2UgKHZhcl9tYXAKKyAgICAgeworICAgICAgIGlmIChkZWJ1ZykK KyAgICAgICAgIGZwcmludGYgKGRlYnVnLCAiIDogMiBkaWZmZXJlbnQgUEFSTV9ERUNMUy4gTm8g Y29hbGVzY2UuXG4iKTsKKy0gICAgICByZXR1cm4gZmFsc2U7CisrICAgICAgcmV0dXJuOworICAg ICB9CisgCisgICBpZiAoKHJvb3QxICYmIFRSRUVfQ09ERSAocm9vdDEpID09IFJFU1VMVF9ERUNM KQorQEAgLTE4OSw3ICsxODksNyBAQCBjb3B5X3JlbmFtZV9wYXJ0aXRpb25fY29hbGVzY2UgKHZh cl9tYXAKKyAgICAgeworICAgICAgIGlmIChkZWJ1ZykKKyAgICAgICAgIGZwcmludGYgKGRlYnVn LCAiIDogT25lIHJvb3QgYSBSRVNVTFRfREVDTC4gTm8gY29hbGVzY2UuXG4iKTsKKy0gICAgICBy ZXR1cm4gZmFsc2U7CisrICAgICAgcmV0dXJuOworICAgICB9CisgCisgICBpZ24xID0gIXJvb3Qx IHx8IChUUkVFX0NPREUgKHJvb3QxKSA9PSBWQVJfREVDTCAmJiBERUNMX0lHTk9SRURfUCAocm9v dDEpKTsKK0BAIC0yMDYsNyArMjA2LDcgQEAgY29weV9yZW5hbWVfcGFydGl0aW9uX2NvYWxlc2Nl ICh2YXJfbWFwCisgCXsKKyAJICBpZiAoZGVidWcpCisgCSAgICBmcHJpbnRmIChkZWJ1ZywgIiA6 IDIgZGlmZmVyZW50IFVTRVIgdmFycy4gTm8gY29hbGVzY2UuXG4iKTsKKy0JICByZXR1cm4gZmFs c2U7CisrCSAgcmV0dXJuOworIAl9CisgICAgICAgZWxzZQorIAlpZ24yID0gdHJ1ZTsKK0BAIC0y MjAsNyArMjIwLDcgQEAgY29weV9yZW5hbWVfcGFydGl0aW9uX2NvYWxlc2NlICh2YXJfbWFwCisg CXsKKyAJICBpZiAoZGVidWcpCisgCSAgICBmcHJpbnRmIChkZWJ1ZywgIiA6IDIgZGVmYXVsdCBk ZWZzLiBObyBjb2FsZXNjZS5cbiIpOworLQkgIHJldHVybiBmYWxzZTsKKysJICByZXR1cm47Cisg CX0KKyAgICAgICBlbHNlCisgICAgICAgICB7CitAQCAtMjQwLDcgKzI0MCw3IEBAIGNvcHlfcmVu YW1lX3BhcnRpdGlvbl9jb2FsZXNjZSAodmFyX21hcAorICAgICB7CisgICAgICAgaWYgKGRlYnVn KQorIAlmcHJpbnRmIChkZWJ1ZywgIiA6IENob29zZW4gdmFyaWFibGUgaGFzIG5vIHJvb3QuICBO byBjb2FsZXNjZS5cbiIpOworLSAgICAgIHJldHVybiBmYWxzZTsKKysgICAgICByZXR1cm47Cisg ICAgIH0KKyAKKyAgIC8qIERvbid0IGNvYWxlc2NlIGlmIHRoZSBuZXcgY2hvc2VuIHJvb3QgdmFy aWFibGUgd291bGQgYmUgcmVhZC1vbmx5LgorQEAgLTI1Myw3ICsyNTMsNyBAQCBjb3B5X3JlbmFt ZV9wYXJ0aXRpb25fY29hbGVzY2UgKHZhcl9tYXAKKyAgICAgeworICAgICAgIGlmIChkZWJ1ZykK KyAJZnByaW50ZiAoZGVidWcsICIgOiBSZWFkb25seSB2YXJpYWJsZS4gIE5vIGNvYWxlc2NlLlxu Iik7CistICAgICAgcmV0dXJuIGZhbHNlOworKyAgICAgIHJldHVybjsKKyAgICAgfQorIAorICAg LyogRG9uJ3QgY29hbGVzY2UgaWYgdGhlIHR3byB2YXJpYWJsZXMgYXJlbid0IHR5cGUgY29tcGF0 aWJsZSAuICAqLworQEAgLTI2Niw3ICsyNjYsNyBAQCBjb3B5X3JlbmFtZV9wYXJ0aXRpb25fY29h bGVzY2UgKHZhcl9tYXAKKyAgICAgeworICAgICAgIGlmIChkZWJ1ZykKKyAJZnByaW50ZiAoZGVi dWcsICIgOiBJbmNvbXBhdGlibGUgdHlwZXMuICBObyBjb2FsZXNjZS5cbiIpOworLSAgICAgIHJl dHVybiBmYWxzZTsKKysgICAgICByZXR1cm47CisgICAgIH0KKyAKKyAgIC8qIE1lcmdlIHRoZSB0 d28gcGFydGl0aW9ucy4gICovCitAQCAtMjg4LDcgKzI4OCw2IEBAIGNvcHlfcmVuYW1lX3BhcnRp dGlvbl9jb2FsZXNjZSAodmFyX21hcAorIAkJCSAgVERGX1NMSU0pOworICAgICAgIGZwcmludGYg KGRlYnVnLCAiXG4iKTsKKyAgICAgfQorLSAgcmV0dXJuIHRydWU7CisgfQorIAorIAorQEAgLTMw OCw3ICszMDcsNiBAQCByZW5hbWVfc3NhX2NvcGllcyAodm9pZCkKKyAgIGdpbXBsZSBzdG10LCBw aGk7CisgICB1bnNpZ25lZCB4OworICAgRklMRSAqZGVidWc7CistICBib29sIHVwZGF0ZWQgPSBm YWxzZTsKKyAKKyAgIG1lbXNldCAoJnN0YXRzLCAwLCBzaXplb2YgKHN0YXRzKSk7CisgCitAQCAt MzMwLDcgKzMyOCw3IEBAIHJlbmFtZV9zc2FfY29waWVzICh2b2lkKQorIAkgICAgICB0cmVlIGxo cyA9IGdpbXBsZV9hc3NpZ25fbGhzIChzdG10KTsKKyAJICAgICAgdHJlZSByaHMgPSBnaW1wbGVf YXNzaWduX3JoczEgKHN0bXQpOworIAorLQkgICAgICB1cGRhdGVkIHw9IGNvcHlfcmVuYW1lX3Bh cnRpdGlvbl9jb2FsZXNjZSAobWFwLCBsaHMsIHJocywgZGVidWcpOworKwkgICAgICBjb3B5X3Jl bmFtZV9wYXJ0aXRpb25fY29hbGVzY2UgKG1hcCwgbGhzLCByaHMsIGRlYnVnKTsKKyAJICAgIH0K KyAJfQorICAgICB9CitAQCAtMzU4LDggKzM1Niw4IEBAIHJlbmFtZV9zc2FfY29waWVzICh2b2lk KQorIAkgICAgICB7CisgCQl0cmVlIGFyZyA9IFBISV9BUkdfREVGIChwaGksIGkpOworIAkJaWYg KFRSRUVfQ09ERSAoYXJnKSA9PSBTU0FfTkFNRSkKKy0JCSAgdXBkYXRlZCB8PSBjb3B5X3JlbmFt ZV9wYXJ0aXRpb25fY29hbGVzY2UgKG1hcCwgcmVzLCBhcmcsCistCQkJCQkJCSAgICAgZGVidWcp OworKwkJICBjb3B5X3JlbmFtZV9wYXJ0aXRpb25fY29hbGVzY2UgKG1hcCwgcmVzLCBhcmcsCisr CQkJCQkJICBkZWJ1Zyk7CisgCSAgICAgIH0KKyAJICAvKiBFbHNlIGlmIGFsbCBhcmd1bWVudHMg YXJlIGluIHRoZSBzYW1lIHBhcnRpdGlvbiB0cnkgdG8gbWVyZ2UKKyAJICAgICBpdCB3aXRoIHRo ZSByZXN1bHQuICAqLworQEAgLTM5MCw5ICszODgsOSBAQCByZW5hbWVfc3NhX2NvcGllcyAodm9p ZCkKKyAJCSAgICB9CisgCQl9CisgCSAgICAgIGlmIChhbGxfcF9zYW1lID09IDEpCistCQl1cGRh dGVkIHw9IGNvcHlfcmVuYW1lX3BhcnRpdGlvbl9jb2FsZXNjZSAobWFwLCByZXMsCistCQkJCQkJ CSAgIFBISV9BUkdfREVGIChwaGksIDApLAorLQkJCQkJCQkgICBkZWJ1Zyk7CisrCQljb3B5X3Jl bmFtZV9wYXJ0aXRpb25fY29hbGVzY2UgKG1hcCwgcmVzLAorKwkJCQkJCVBISV9BUkdfREVGIChw aGksIDApLAorKwkJCQkJCWRlYnVnKTsKKyAJICAgIH0KKyAgICAgICAgIH0KKyAgICAgfQorQEAg LTQyNiw3ICs0MjQsNyBAQCByZW5hbWVfc3NhX2NvcGllcyAodm9pZCkKKyAgIHN0YXRpc3RpY3Nf Y291bnRlcl9ldmVudCAoY2Z1biwgImNvcGllcyBjb2FsZXNjZWQiLAorIAkJCSAgICBzdGF0cy5j b2FsZXNjZWQpOworICAgZGVsZXRlX3Zhcl9tYXAgKG1hcCk7CistICByZXR1cm4gdXBkYXRlZCA/ IFRPRE9fcmVtb3ZlX3VudXNlZF9sb2NhbHMgOiAwOworKyAgcmV0dXJuIDA7CisgfQorIAorIC8q IFJldHVybiB0cnVlIGlmIGNvcHkgcmVuYW1lIGlzIHRvIGJlIHBlcmZvcm1lZC4gICovCistLS0g Z2NjL3RyZWUtc3NhLWNjcC5jCShyZXZpc2lvbiAxOTYxNzMpCisrKysgZ2NjL3RyZWUtc3NhLWNj cC5jCShyZXZpc2lvbiAxOTYxNzQpCitAQCAtMjEwOCw3ICsyMTA4LDcgQEAgZG9fc3NhX2NjcCAo dm9pZCkKKyAgIGNjcF9pbml0aWFsaXplICgpOworICAgc3NhX3Byb3BhZ2F0ZSAoY2NwX3Zpc2l0 X3N0bXQsIGNjcF92aXNpdF9waGlfbm9kZSk7CisgICBpZiAoY2NwX2ZpbmFsaXplICgpKQorLSAg ICB0b2RvID0gKFRPRE9fY2xlYW51cF9jZmcgfCBUT0RPX3VwZGF0ZV9zc2EgfCBUT0RPX3JlbW92 ZV91bnVzZWRfbG9jYWxzKTsKKysgICAgdG9kbyA9IChUT0RPX2NsZWFudXBfY2ZnIHwgVE9ET191 cGRhdGVfc3NhKTsKKyAgIGZyZWVfZG9taW5hbmNlX2luZm8gKENESV9ET01JTkFUT1JTKTsKKyAg IHJldHVybiB0b2RvOworIH0KKy0tLSBnY2MvdHJlZS1jYWxsLWNkY2UuYwkocmV2aXNpb24gMTk2 MTczKQorKysrIGdjYy90cmVlLWNhbGwtY2RjZS5jCShyZXZpc2lvbiAxOTYxNzQpCitAQCAtODk4 LDExICs4OTgsMTAgQEAgdHJlZV9jYWxsX2NkY2UgKHZvaWQpCisgICAgICAgLyogQXMgd2UgaW50 cm9kdWNlZCBuZXcgY29udHJvbC1mbG93IHdlIG5lZWQgdG8gaW5zZXJ0IFBISS1ub2RlcworICAg ICAgICAgIGZvciB0aGUgY2FsbC1jbG9iYmVycyBvZiB0aGUgcmVtYWluaW5nIGNhbGwuICAqLwor ICAgICAgIG1hcmtfdmlydHVhbF9vcGVyYW5kc19mb3JfcmVuYW1pbmcgKGNmdW4pOworLSAgICAg IHJldHVybiAoVE9ET191cGRhdGVfc3NhIHwgVE9ET19jbGVhbnVwX2NmZyB8IFRPRE9fZ2djX2Nv bGxlY3QKKy0gICAgICAgICAgICAgIHwgVE9ET19yZW1vdmVfdW51c2VkX2xvY2Fscyk7CisrICAg ICAgcmV0dXJuIFRPRE9fdXBkYXRlX3NzYTsKKyAgICAgfQorLSAgZWxzZQorLSAgICByZXR1cm4g MDsKKysKKysgIHJldHVybiAwOworIH0KKyAKKyBzdGF0aWMgYm9vbAorLS0tIGdjYy90cmVlLXNz YS1saXZlLmMJKHJldmlzaW9uIDE5NjE3MykKKysrKyBnY2MvdHJlZS1zc2EtbGl2ZS5jCShyZXZp c2lvbiAxOTYxNzQpCitAQCAtODg5LDcgKzg4OSwxMCBAQCByZW1vdmVfdW51c2VkX2xvY2FscyAo dm9pZCkKKyAgICAgICBkc3RpZHgrKzsKKyAgICAgfQorICAgaWYgKGRzdGlkeCAhPSBudW0pCist ICAgIGNmdW4tPmxvY2FsX2RlY2xzLT50cnVuY2F0ZSAoZHN0aWR4KTsKKysgICAgeworKyAgICAg IHN0YXRpc3RpY3NfY291bnRlcl9ldmVudCAoY2Z1biwgInVudXNlZCBWQVJfREVDTHMgcmVtb3Zl ZCIsIG51bSAtIGRzdGlkeCk7CisrICAgICAgY2Z1bi0+bG9jYWxfZGVjbHMtPnRydW5jYXRlIChk c3RpZHgpOworKyAgICB9CisgCisgICByZW1vdmVfdW51c2VkX3Njb3BlX2Jsb2NrX3AgKERFQ0xf SU5JVElBTCAoY3VycmVudF9mdW5jdGlvbl9kZWNsKSk7CisgICBjbGVhcl91bnVzZWRfYmxvY2tf cG9pbnRlciAoKTsKKy0tLSBnY2MvdHJlZS1zc2EtZm9yd3Byb3AuYwkocmV2aXNpb24gMTk2MTcz KQorKysrIGdjYy90cmVlLXNzYS1mb3J3cHJvcC5jCShyZXZpc2lvbiAxOTYxNzQpCitAQCAtMjkz Niw3ICsyOTM2LDYgQEAgc3NhX2ZvcndhcmRfcHJvcGFnYXRlX2FuZF9jb21iaW5lICh2b2lkKQor IAkJICAmJiBmb3J3YXJkX3Byb3BhZ2F0ZV9hZGRyX2V4cHIgKGxocywgcmhzKSkKKyAJCXsKKyAJ CSAgcmVsZWFzZV9kZWZzIChzdG10KTsKKy0JCSAgdG9kb2ZsYWdzIHw9IFRPRE9fcmVtb3ZlX3Vu dXNlZF9sb2NhbHM7CisgCQkgIGdzaV9yZW1vdmUgKCZnc2ksIHRydWUpOworIAkJfQorIAkgICAg ICBlbHNlCitAQCAtMjk2MSw3ICsyOTYwLDYgQEAgc3NhX2ZvcndhcmRfcHJvcGFnYXRlX2FuZF9j b21iaW5lICh2b2lkKQorIAkJCQkJCQkgICAgICAgb2ZmKSkpKSkKKyAJCXsKKyAJCSAgcmVsZWFz ZV9kZWZzIChzdG10KTsKKy0JCSAgdG9kb2ZsYWdzIHw9IFRPRE9fcmVtb3ZlX3VudXNlZF9sb2Nh bHM7CisgCQkgIGdzaV9yZW1vdmUgKCZnc2ksIHRydWUpOworIAkJfQorIAkgICAgICBlbHNlIGlm IChpc19naW1wbGVfbWluX2ludmFyaWFudCAocmhzKSkKKy0tLSBnY2MvdHJlZS1zc2EtZGNlLmMJ KHJldmlzaW9uIDE5NjE3MykKKysrKyBnY2MvdHJlZS1zc2EtZGNlLmMJKHJldmlzaW9uIDE5NjE3 NCkKK0BAIC0xNjA3LDEwICsxNjA3LDggQEAgcGVyZm9ybV90cmVlX3NzYV9kY2UgKGJvb2wgYWdn cmVzc2l2ZSkKKyAgIGZyZWVfZWRnZV9saXN0IChlbCk7CisgCisgICBpZiAoc29tZXRoaW5nX2No YW5nZWQpCistICAgIHJldHVybiAoVE9ET191cGRhdGVfc3NhIHwgVE9ET19jbGVhbnVwX2NmZyB8 IFRPRE9fZ2djX2NvbGxlY3QKKy0JICAgIHwgVE9ET19yZW1vdmVfdW51c2VkX2xvY2Fscyk7Cist ICBlbHNlCistICAgIHJldHVybiAwOworKyAgICByZXR1cm4gVE9ET191cGRhdGVfc3NhIHwgVE9E T19jbGVhbnVwX2NmZzsKKysgIHJldHVybiAwOworIH0KKyAKKyAvKiBQYXNzIGVudHJ5IHBvaW50 cy4gICovCistLS0gZ2NjL3Bhc3Nlcy5jCShyZXZpc2lvbiAxOTYxNzMpCisrKysgZ2NjL3Bhc3Nl cy5jCShyZXZpc2lvbiAxOTYxNzQpCitAQCAtMTkxOCwxMCArMTkxOCw3IEBAIGV4ZWN1dGVfZnVu Y3Rpb25fdG9kbyAodm9pZCAqZGF0YSkKKyAgIC8qIEFsd2F5cyBjbGVhbnVwIHRoZSBDRkcgYmVm b3JlIHRyeWluZyB0byB1cGRhdGUgU1NBLiAgKi8KKyAgIGlmIChmbGFncyAmIFRPRE9fY2xlYW51 cF9jZmcpCisgICAgIHsKKy0gICAgICBib29sIGNsZWFudXAgPSBjbGVhbnVwX3RyZWVfY2ZnICgp OworLQorLSAgICAgIGlmIChjbGVhbnVwICYmIChjZnVuLT5jdXJyX3Byb3BlcnRpZXMgJiBQUk9Q X3NzYSkpCistCWZsYWdzIHw9IFRPRE9fcmVtb3ZlX3VudXNlZF9sb2NhbHM7CisrICAgICAgY2xl YW51cF90cmVlX2NmZyAoKTsKKyAKKyAgICAgICAvKiBXaGVuIGNsZWFudXBfdHJlZV9jZmcgbWVy Z2VzIGNvbnNlY3V0aXZlIGJsb2NrcywgaXQgbWF5CisgCSBwZXJmb3JtIHNvbWUgc2ltcGxpc3Rp YyBwcm9wYWdhdGlvbiB3aGVuIHJlbW92aW5nIHNpbmdsZQorLS0tIGdjYy90cmVlLXNzYW5hbWVz LmMJKHJldmlzaW9uIDE5NjE3MykKKysrKyBnY2MvdHJlZS1zc2FuYW1lcy5jCShyZXZpc2lvbiAx OTYxNzQpCitAQCAtNDU1LDcgKzQ1NSw3IEBAIHN0cnVjdCBnaW1wbGVfb3B0X3Bhc3MgcGFzc19y ZWxlYXNlX3NzYV8KKyAgIFBST1Bfc3NhLAkJCQkvKiBwcm9wZXJ0aWVzX3JlcXVpcmVkICovCisg ICAwLAkJCQkJLyogcHJvcGVydGllc19wcm92aWRlZCAqLworICAgMCwJCQkJCS8qIHByb3BlcnRp ZXNfZGVzdHJveWVkICovCistICAwLAkJCQkJLyogdG9kb19mbGFnc19zdGFydCAqLworLSAgMCAg ICAgICAgICAgICAgCQkJLyogdG9kb19mbGFnc19maW5pc2ggKi8KKysgIFRPRE9fcmVtb3ZlX3Vu dXNlZF9sb2NhbHMsCQkvKiB0b2RvX2ZsYWdzX3N0YXJ0ICovCisrICAwCQkJCQkvKiB0b2RvX2Zs YWdzX2ZpbmlzaCAqLworICB9CisgfTsKKy0tLSBnY2MvdGVzdHN1aXRlL2djYy5kZy90cmVlLXNz YS9mb3J3cHJvcC04LmMJKHJldmlzaW9uIDE5NjE3MykKKysrKyBnY2MvdGVzdHN1aXRlL2djYy5k Zy90cmVlLXNzYS9mb3J3cHJvcC04LmMJKHJldmlzaW9uIDE5NjE3NCkKK0BAIC0xMSw2ICsxMSw1 IEBAIGludCBmb28oc3RydWN0IFggKnEpCisgCisgCisgLyogV2Ugc2hvdWxkIGhhdmUgcHJvcHJh Z2F0ZWQgJnEtPmEgaW50byAoKnBvaW50ZXIpLiAgKi8KKy0vKiB7IGRnLWZpbmFsIHsgc2Nhbi10 cmVlLWR1bXAtdGltZXMgInBvaW50ZXIiIDAgImZvcndwcm9wMSJ9IH0gKi8KKy0vKiB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAgIlxcXFswXFxcXSIgImZvcndwcm9wMSIgfSB9ICovCisrLyog eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJxXy5cXFwoRFxcXClcXFxdXFxcWzBcXFxdOyIg ImZvcndwcm9wMSIgfSB9ICovCisgLyogeyBkZy1maW5hbCB7IGNsZWFudXAtdHJlZS1kdW1wICJm b3J3cHJvcDEiIH0gfSAqLwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDAz MmQ5NWMuLjczMjI1ZWYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSw0 ICsxLDQgQEAKIGJlNzhhNDdiZDgyNTIzMjUwZWIzZTkxNjQ2ZGI1YjNkICBjbG9vZy0wLjE4LjAu dGFyLmd6CiAyNjU5ZjA5YzJlNDNlZjhiN2Q0NDA2MzIxNzUzZjFiMiAgZmFzdGphci0wLjk3LnRh ci5negorZDE4NjMwNTA5NDYwOTM0ZGZkNzE2M2E4ODRiNjNlY2QgIGdjYy00LjguMC0yMDEzMDIy MC50YXIuYnoyCiBiY2UxNTg2Mzg0ZDg2MzVhNzZkMmYwMTdmYjA2N2NkMiAgaXNsLTAuMTEuMS50 YXIuYnoyCi00ZmE2Y2JkYThlOThhZTc5MDIxMmM2YjdiMDBmYjkzOSAgZ2NjLTQuOC4wLTIwMTMw MjE1LnRhci5iejIK