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.9.0-0.9 Date: Mon, 29 Jun 2026 12:26:06 GMT Message-ID: <178273596630.1.4007524856013902555.rpms-gcc-8d0243eb056d@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 8d0243eb056d3525779753d9736a602a674d337b QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogOGQwMjQzZWIwNTZkMzUyNTc3OTc1M2Q5NzM2YTYwMmE2 NzRkMzM3YgpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDE0LTA0LTA5VDA4OjQ2OjM2KzAyOjAwClN0YXRzICA6ICsyNzkyLy00NTY1IGluIDQxIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy84 ZDAyNDNlYjA1NmQzNTI1Nzc5NzUzZDk3MzZhNjAyYTY3NGQzMzdiP2JyYW5jaD1yaGVsLWY0MS1i YXNlCgpMb2c6CjQuOS4wLTAuOQoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGln bm9yZQppbmRleCA2ZDg5MjFkLi5kYWVmYmFkIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBi Ly5naXRpZ25vcmUKQEAgLTkxLDMgKzkxLDYgQEAKIC9nY2MtNC44LjItMjAxMzEyMTIudGFyLmJ6 MgogL2djYy00LjguMi0yMDE0MDExNS50YXIuYnoyCiAvZ2NjLTQuOC4yLTIwMTQwMTIwLnRhci5i ejIKKy9jbG9vZy0wLjE4LjEudGFyLmd6CisvZ2NjLTQuOS4wLTIwMTQwNDA5LnRhci5iejIKKy9p c2wtMC4xMi4yLnRhci5iejIKCmRpZmYgLS1naXQgYS9nY2Muc3BlYyBiL2djYy5zcGVjCmluZGV4 IDJmYTFjZTEuLjYxMGM5ZmYgMTAwNjQ0Ci0tLSBhL2djYy5zcGVjCisrKyBiL2djYy5zcGVjCkBA IC0xLDkgKzEsOSBAQAotJWdsb2JhbCBEQVRFIDIwMTQwMTIwCi0lZ2xvYmFsIFNWTlJFViAyMDY4 NTQKLSVnbG9iYWwgZ2NjX3ZlcnNpb24gNC44LjIKKyVnbG9iYWwgREFURSAyMDE0MDQwOQorJWds b2JhbCBTVk5SRVYgMjA5MjM2CislZ2xvYmFsIGdjY192ZXJzaW9uIDQuOS4wCiAjIE5vdGUsIGdj Y19yZWxlYXNlIG11c3QgYmUgaW50ZWdlciwgaWYgeW91IHdhbnQgdG8gYWRkIHN1ZmZpeGVzIHRv CiAjICV7cmVsZWFzZX0sIGFwcGVuZCB0aGVtIGFmdGVyICV7Z2NjX3JlbGVhc2V9IG9uIFJlbGVh c2U6IGxpbmUuCi0lZ2xvYmFsIGdjY19yZWxlYXNlIDE1CislZ2xvYmFsIGdjY19yZWxlYXNlIDAu OQogJWdsb2JhbCBfdW5wYWNrYWdlZF9maWxlc190ZXJtaW5hdGVfYnVpbGQgMAogJWdsb2JhbCBf cGVyZm9ybWFuY2VfYnVpbGQgMQogJWdsb2JhbCBtdWx0aWxpYl82NF9hcmNocyBzcGFyYzY0IHBw YzY0IHBwYzY0cDcgczM5MHggeDg2XzY0CkBAIC0yNyw3ICsyNyw3IEBACiAlZWxzZQogJWdsb2Jh bCBidWlsZF9saWJxdWFkbWF0aCAwCiAlZW5kaWYKLSVpZmFyY2ggJXtpeDg2fSB4ODZfNjQgcHBj IHBwYzY0IHBwYzY0cDcKKyVpZmFyY2ggJXtpeDg2fSB4ODZfNjQgcHBjIHBwYzY0IHBwYzY0cDcg JXthcm19CiAlZ2xvYmFsIGJ1aWxkX2xpYmFzYW4gMQogJWVsc2UKICVnbG9iYWwgYnVpbGRfbGli YXNhbiAwCkBAIC0zNyw2ICszNywyMSBAQAogJWVsc2UKICVnbG9iYWwgYnVpbGRfbGlidHNhbiAw CiAlZW5kaWYKKyVpZmFyY2ggeDg2XzY0CislZ2xvYmFsIGJ1aWxkX2xpYmxzYW4gMQorJWVsc2UK KyVnbG9iYWwgYnVpbGRfbGlibHNhbiAwCislZW5kaWYKKyVpZmFyY2ggJXtpeDg2fSB4ODZfNjQg cHBjIHBwYzY0IHBwYzY0cDcgJXthcm19CislZ2xvYmFsIGJ1aWxkX2xpYnVic2FuIDEKKyVlbHNl CislZ2xvYmFsIGJ1aWxkX2xpYnVic2FuIDAKKyVlbmRpZgorJWlmYXJjaCAle2l4ODZ9IHg4Nl82 NAorJWdsb2JhbCBidWlsZF9saWJjaWxrcnRzIDEKKyVlbHNlCislZ2xvYmFsIGJ1aWxkX2xpYmNp bGtydHMgMAorJWVuZGlmCiAlaWZhcmNoICV7aXg4Nn0geDg2XzY0IHBwYyBwcGM2NCBwcGM2NHA3 IHMzOTAgczM5MHggJXthcm19CiAlZ2xvYmFsIGJ1aWxkX2xpYmF0b21pYyAxCiAlZWxzZQpAQCAt NzYsNyArOTEsNyBAQCBTdW1tYXJ5OiBWYXJpb3VzIGNvbXBpbGVycyAoQywgQysrLCBPYmplY3Rp dmUtQywgSmF2YSwgLi4uKQogTmFtZTogZ2NjCiBWZXJzaW9uOiAle2djY192ZXJzaW9ufQogUmVs ZWFzZTogJXtnY2NfcmVsZWFzZX0lez9kaXN0fQotIyBsaWJnY2MsIGxpYmdmb3J0cmFuLCBsaWJt dWRmbGFwLCBsaWJnb21wLCBsaWJzdGRjKysgYW5kIGNydHN0dWZmIGhhdmUKKyMgbGliZ2NjLCBs aWJnZm9ydHJhbiwgbGliZ29tcCwgbGlic3RkYysrIGFuZCBjcnRzdHVmZiBoYXZlCiAjIEdDQyBS dW50aW1lIEV4Y2VwdGlvbi4KIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0 aW9ucyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0aW9ucyBhbmQgTEdQTHYyKyBhbmQgQlNECiBHcm91 cDogRGV2ZWxvcG1lbnQvTGFuZ3VhZ2VzCkBAIC04NSw5ICsxMDAsOSBAQCBHcm91cDogRGV2ZWxv cG1lbnQvTGFuZ3VhZ2VzCiAjIHN2biBleHBvcnQgc3ZuOi8vZ2NjLmdudS5vcmcvc3ZuL2djYy9i cmFuY2hlcy9yZWRoYXQvZ2NjLTRfNy1icmFuY2hAJXtTVk5SRVZ9IGdjYy0le3ZlcnNpb259LSV7 REFURX0KICMgdGFyIGNmIC0gZ2NjLSV7dmVyc2lvbn0tJXtEQVRFfSB8IGJ6aXAyIC05ID4gZ2Nj LSV7dmVyc2lvbn0tJXtEQVRFfS50YXIuYnoyCiBTb3VyY2UwOiBnY2MtJXt2ZXJzaW9ufS0le0RB VEV9LnRhci5iejIKLSVnbG9iYWwgaXNsX3ZlcnNpb24gMC4xMS4xCislZ2xvYmFsIGlzbF92ZXJz aW9uIDAuMTIuMgogU291cmNlMTogZnRwOi8vZ2NjLmdudS5vcmcvcHViL2djYy9pbmZyYXN0cnVj dHVyZS9pc2wtJXtpc2xfdmVyc2lvbn0udGFyLmJ6MgotJWdsb2JhbCBjbG9vZ192ZXJzaW9uIDAu MTguMAorJWdsb2JhbCBjbG9vZ192ZXJzaW9uIDAuMTguMQogU291cmNlMjogZnRwOi8vZ2NjLmdu dS5vcmcvcHViL2djYy9pbmZyYXN0cnVjdHVyZS9jbG9vZy0le2Nsb29nX3ZlcnNpb259LnRhci5n egogJWdsb2JhbCBmYXN0amFyX3ZlciAwLjk3CiBTb3VyY2U0OiBodHRwOi8vZG93bmxvYWQuc2F2 YW5uYWgubm9uZ251Lm9yZy9yZWxlYXNlcy9mYXN0amFyL2Zhc3RqYXItJXtmYXN0amFyX3Zlcn0u dGFyLmd6CkBAIC0xODEsMzIgKzE5NiwzMCBAQCBSZXF1aXJlczogbGliZ29tcCA9ICV7dmVyc2lv bn0tJXtyZWxlYXNlfQogT2Jzb2xldGVzOiBnY2MtZ25hdCA8ICV7dmVyc2lvbn0tJXtyZWxlYXNl fQogT2Jzb2xldGVzOiBsaWJnbmF0IDwgJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAlZW5kaWYKK09i c29sZXRlczogbGlibXVkZmxhcAorT2Jzb2xldGVzOiBsaWJtdWRmbGFwLWRldmVsCitPYnNvbGV0 ZXM6IGxpYm11ZGZsYXAtc3RhdGljCiBSZXF1aXJlcyhwb3N0KTogL3NiaW4vaW5zdGFsbC1pbmZv CiBSZXF1aXJlcyhwcmV1bik6IC9zYmluL2luc3RhbGwtaW5mbwogQXV0b1JlcTogdHJ1ZQogUHJv dmlkZXM6IGJ1bmRsZWQobGliaWJlcnR5KQogCi1QYXRjaDA6IGdjYzQ4LWhhY2sucGF0Y2gKLVBh dGNoMTogZ2NjNDgtamF2YS1ub211bHRpLnBhdGNoCi1QYXRjaDI6IGdjYzQ4LXBwYzMyLXJldGFk ZHIucGF0Y2gKLVBhdGNoMzogZ2NjNDgtcmgzMzA3NzEucGF0Y2gKLVBhdGNoNDogZ2NjNDgtaTM4 Ni1saWJnb21wLnBhdGNoCi1QYXRjaDU6IGdjYzQ4LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0 Y2gKLVBhdGNoNjogZ2NjNDgtbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaAotUGF0Y2g3OiBn Y2M0OC1saWJ0b29sLW5vLXJwYXRoLnBhdGNoCi1QYXRjaDg6IGdjYzQ4LWNsb29nLWRsLnBhdGNo Ci1QYXRjaDk6IGdjYzQ4LWNsb29nLWRsMi5wYXRjaAotUGF0Y2gxMDogZ2NjNDgtcHIzODc1Ny5w YXRjaAotUGF0Y2gxMTogZ2NjNDgtbGlic3RkYysrLWRvY3MucGF0Y2gKLVBhdGNoMTI6IGdjYzQ4 LW5vLWFkZC1uZWVkZWQucGF0Y2gKLVBhdGNoMTM6IGdjYzQ4LXByNTY1NjQucGF0Y2gKLVBhdGNo MTQ6IGdjYzQ4LXByNTY0OTMucGF0Y2gKLVBhdGNoMTU6IGdjYzQ4LWNvbG9yLWF1dG8ucGF0Y2gK LVBhdGNoMTY6IGdjYzQ4LXByMjg4NjUucGF0Y2gKLVBhdGNoMTc6IGdjYzQ4LWxpYmdvLXAyMjQu cGF0Y2gKLVBhdGNoMTg6IGdjYzQ4LXByNjAxMzcucGF0Y2gKLVBhdGNoMTk6IGdjYzQ4LXByNjAw MTAucGF0Y2gKLVBhdGNoMjA6IGdjYzQ4LXByNjAwNDYucGF0Y2gKK1BhdGNoMDogZ2NjNDktaGFj ay5wYXRjaAorUGF0Y2gxOiBnY2M0OS1qYXZhLW5vbXVsdGkucGF0Y2gKK1BhdGNoMjogZ2NjNDkt cHBjMzItcmV0YWRkci5wYXRjaAorUGF0Y2gzOiBnY2M0OS1yaDMzMDc3MS5wYXRjaAorUGF0Y2g0 OiBnY2M0OS1pMzg2LWxpYmdvbXAucGF0Y2gKK1BhdGNoNTogZ2NjNDktc3BhcmMtY29uZmlnLWRl dGVjdGlvbi5wYXRjaAorUGF0Y2g2OiBnY2M0OS1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNo CitQYXRjaDc6IGdjYzQ5LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKK1BhdGNoODogZ2NjNDktY2xv b2ctZGwucGF0Y2gKK1BhdGNoOTogZ2NjNDktY2xvb2ctZGwyLnBhdGNoCitQYXRjaDEwOiBnY2M0 OS1wcjM4NzU3LnBhdGNoCitQYXRjaDExOiBnY2M0OS1saWJzdGRjKystZG9jcy5wYXRjaAorUGF0 Y2gxMjogZ2NjNDktbm8tYWRkLW5lZWRlZC5wYXRjaAorUGF0Y2gxNDogZ2NjNDktcHI1NjQ5My5w YXRjaAorUGF0Y2gxNTogZ2NjNDktY29sb3ItYXV0by5wYXRjaAorUGF0Y2gxNjogZ2NjNDktbGli Z28tcDIyNC5wYXRjaAogCiBQYXRjaDEwMDA6IGZhc3RqYXItMC45Ny1zZWdmYXVsdC5wYXRjaAog UGF0Y2gxMDAxOiBmYXN0amFyLTAuOTctbGVuMS5wYXRjaApAQCAtMjE1LDggKzIyOCw2IEBAIFBh dGNoMTAwMzogZmFzdGphci1DVkUtMjAxMC0wODMxLnBhdGNoCiBQYXRjaDEwMDQ6IGZhc3RqYXIt bWFuLnBhdGNoCiBQYXRjaDEwMDU6IGZhc3RqYXItMC45Ny1hYXJjaDY0LWNvbmZpZy5wYXRjaAog Ci1QYXRjaDExMDA6IGlzbC0le2lzbF92ZXJzaW9ufS1hYXJjaDY0LWNvbmZpZy5wYXRjaAotCiAj IE9uIEFSTSBFQUJJIHN5c3RlbXMsIHdlIGRvIHdhbnQgLWdudWVhYmkgdG8gYmUgcGFydCBvZiB0 aGUKICMgdGFyZ2V0IHRyaXBsZS4KICVpZm5hcmNoICV7YXJtfQpAQCAtMjMzLDExICsyNDQsMTEg QEAgUGF0Y2gxMTAwOiBpc2wtJXtpc2xfdmVyc2lvbn0tYWFyY2g2NC1jb25maWcucGF0Y2gKICVl bmRpZgogCiAlZGVzY3JpcHRpb24KLVRoZSBnY2MgcGFja2FnZSBjb250YWlucyB0aGUgR05VIENv bXBpbGVyIENvbGxlY3Rpb24gdmVyc2lvbiA0LjguCitUaGUgZ2NjIHBhY2thZ2UgY29udGFpbnMg dGhlIEdOVSBDb21waWxlciBDb2xsZWN0aW9uIHZlcnNpb24gNC45LgogWW91J2xsIG5lZWQgdGhp cyBwYWNrYWdlIGluIG9yZGVyIHRvIGNvbXBpbGUgQyBjb2RlLgogCiAlcGFja2FnZSAtbiBsaWJn Y2MKLVN1bW1hcnk6IEdDQyB2ZXJzaW9uIDQuOCBzaGFyZWQgc3VwcG9ydCBsaWJyYXJ5CitTdW1t YXJ5OiBHQ0MgdmVyc2lvbiA0Ljkgc2hhcmVkIHN1cHBvcnQgbGlicmFyeQogR3JvdXA6IFN5c3Rl bSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKIEF1dG9yZXE6IGZhbHNlCiAKQEAgLTM3OSwzNiArMzkw LDYgQEAgUmVxdWlyZXMocHJldW4pOiAvc2Jpbi9pbnN0YWxsLWluZm8KIFRoaXMgcGFja2FnZSBj b250YWlucyBHQ0Mgc2hhcmVkIHN1cHBvcnQgbGlicmFyeSB3aGljaCBpcyBuZWVkZWQKIGZvciBP cGVuTVAgdjMuMCBzdXBwb3J0LgogCi0lcGFja2FnZSAtbiBsaWJtdWRmbGFwCi1TdW1tYXJ5OiBH Q0MgbXVkZmxhcCBzaGFyZWQgc3VwcG9ydCBsaWJyYXJ5Ci1Hcm91cDogU3lzdGVtIEVudmlyb25t ZW50L0xpYnJhcmllcwotCi0lZGVzY3JpcHRpb24gLW4gbGlibXVkZmxhcAotVGhpcyBwYWNrYWdl IGNvbnRhaW5zIEdDQyBzaGFyZWQgc3VwcG9ydCBsaWJyYXJ5IHdoaWNoIGlzIG5lZWRlZAotZm9y IG11ZGZsYXAgc3VwcG9ydC4KLQotJXBhY2thZ2UgLW4gbGlibXVkZmxhcC1kZXZlbAotU3VtbWFy eTogR0NDIG11ZGZsYXAgc3VwcG9ydAotR3JvdXA6IERldmVsb3BtZW50L0xpYnJhcmllcwotUmVx dWlyZXM6IGxpYm11ZGZsYXAgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLVJlcXVpcmVzOiBnY2Mg PSAle3ZlcnNpb259LSV7cmVsZWFzZX0KLQotJWRlc2NyaXB0aW9uIC1uIGxpYm11ZGZsYXAtZGV2 ZWwKLVRoaXMgcGFja2FnZSBjb250YWlucyBoZWFkZXJzIGZvciBidWlsZGluZyBtdWRmbGFwLWlu c3RydW1lbnRlZCBwcm9ncmFtcy4KLQotVG8gaW5zdHJ1bWVudCBhIG5vbi10aHJlYWRlZCBwcm9n cmFtLCBhZGQgLWZtdWRmbGFwCi1vcHRpb24gdG8gR0NDIGFuZCB3aGVuIGxpbmtpbmcgYWRkIC1s bXVkZmxhcCwgZm9yIHRocmVhZGVkIHByb2dyYW1zCi1hbHNvIGFkZCAtZm11ZGZsYXB0aCBhbmQg LWxtdWRmbGFwdGguCi0KLSVwYWNrYWdlIC1uIGxpYm11ZGZsYXAtc3RhdGljCi1TdW1tYXJ5OiBT dGF0aWMgbGlicmFyaWVzIGZvciBtdWRmbGFwIHN1cHBvcnQKLUdyb3VwOiBEZXZlbG9wbWVudC9M aWJyYXJpZXMKLVJlcXVpcmVzOiBsaWJtdWRmbGFwLWRldmVsID0gJXt2ZXJzaW9ufS0le3JlbGVh c2V9Ci0KLSVkZXNjcmlwdGlvbiAtbiBsaWJtdWRmbGFwLXN0YXRpYwotVGhpcyBwYWNrYWdlIGNv bnRhaW5zIHN0YXRpYyBsaWJyYXJpZXMgZm9yIGJ1aWxkaW5nIG11ZGZsYXAtaW5zdHJ1bWVudGVk Ci1wcm9ncmFtcy4KLQogJXBhY2thZ2UgLW4gbGlicXVhZG1hdGgKIFN1bW1hcnk6IEdDQyBfX2Zs b2F0MTI4IHNoYXJlZCBzdXBwb3J0IGxpYnJhcnkKIEdyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQv TGlicmFyaWVzCkBAIC01MjEsNiArNTAyLDU5IEBAIFJlcXVpcmVzOiBsaWJ0c2FuID0gJXt2ZXJz aW9ufS0le3JlbGVhc2V9CiAlZGVzY3JpcHRpb24gLW4gbGlidHNhbi1zdGF0aWMKIFRoaXMgcGFj a2FnZSBjb250YWlucyBUaHJlYWQgU2FuaXRpemVyIHN0YXRpYyBydW50aW1lIGxpYnJhcnkuCiAK KyVwYWNrYWdlIC1uIGxpYnVic2FuCitTdW1tYXJ5OiBUaGUgVW5kZWZpbmVkIEJlaGF2aW9yIFNh bml0aXplciBydW50aW1lIGxpYnJhcnkKK0dyb3VwOiBTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFy aWVzCitSZXF1aXJlcyhwb3N0KTogL3NiaW4vaW5zdGFsbC1pbmZvCitSZXF1aXJlcyhwcmV1bik6 IC9zYmluL2luc3RhbGwtaW5mbworCislZGVzY3JpcHRpb24gLW4gbGlidWJzYW4KK1RoaXMgcGFj a2FnZSBjb250YWlucyB0aGUgVW5kZWZpbmVkIEJlaGF2aW9yIFNhbml0aXplciBsaWJyYXJ5Cit3 aGljaCBpcyB1c2VkIGZvciAtZnNhbml0aXplPXVuZGVmaW5lZCBpbnN0cnVtZW50ZWQgcHJvZ3Jh bXMuCisKKyVwYWNrYWdlIC1uIGxpYnVic2FuLXN0YXRpYworU3VtbWFyeTogVGhlIFVuZGVmaW5l ZCBCZWhhdmlvciBTYW5pdGl6ZXIgc3RhdGljIGxpYnJhcnkKK0dyb3VwOiBEZXZlbG9wbWVudC9M aWJyYXJpZXMKK1JlcXVpcmVzOiBsaWJ1YnNhbiA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQorCisl ZGVzY3JpcHRpb24gLW4gbGlidWJzYW4tc3RhdGljCitUaGlzIHBhY2thZ2UgY29udGFpbnMgVW5k ZWZpbmVkIEJlaGF2aW9yIFNhbml0aXplciBzdGF0aWMgcnVudGltZSBsaWJyYXJ5LgorCislcGFj a2FnZSAtbiBsaWJsc2FuCitTdW1tYXJ5OiBUaGUgTGVhayBTYW5pdGl6ZXIgcnVudGltZSBsaWJy YXJ5CitHcm91cDogU3lzdGVtIEVudmlyb25tZW50L0xpYnJhcmllcworUmVxdWlyZXMocG9zdCk6 IC9zYmluL2luc3RhbGwtaW5mbworUmVxdWlyZXMocHJldW4pOiAvc2Jpbi9pbnN0YWxsLWluZm8K KworJWRlc2NyaXB0aW9uIC1uIGxpYmxzYW4KK1RoaXMgcGFja2FnZSBjb250YWlucyB0aGUgTGVh ayBTYW5pdGl6ZXIgbGlicmFyeQord2hpY2ggaXMgdXNlZCBmb3IgLWZzYW5pdGl6ZT1sZWFrIGlu c3RydW1lbnRlZCBwcm9ncmFtcy4KKworJXBhY2thZ2UgLW4gbGlibHNhbi1zdGF0aWMKK1N1bW1h cnk6IFRoZSBMZWFrIFNhbml0aXplciBzdGF0aWMgbGlicmFyeQorR3JvdXA6IERldmVsb3BtZW50 L0xpYnJhcmllcworUmVxdWlyZXM6IGxpYmxzYW4gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KKwor JWRlc2NyaXB0aW9uIC1uIGxpYmxzYW4tc3RhdGljCitUaGlzIHBhY2thZ2UgY29udGFpbnMgTGVh ayBTYW5pdGl6ZXIgc3RhdGljIHJ1bnRpbWUgbGlicmFyeS4KKworJXBhY2thZ2UgLW4gbGliY2ls a3J0cworU3VtbWFyeTogVGhlIENpbGsrIHJ1bnRpbWUgbGlicmFyeQorR3JvdXA6IFN5c3RlbSBF bnZpcm9ubWVudC9MaWJyYXJpZXMKK1JlcXVpcmVzKHBvc3QpOiAvc2Jpbi9pbnN0YWxsLWluZm8K K1JlcXVpcmVzKHByZXVuKTogL3NiaW4vaW5zdGFsbC1pbmZvCisKKyVkZXNjcmlwdGlvbiAtbiBs aWJjaWxrcnRzCitUaGlzIHBhY2thZ2UgY29udGFpbnMgdGhlIENpbGsrIHJ1bnRpbWUgbGlicmFy eS4KKworJXBhY2thZ2UgLW4gbGliY2lsa3J0cy1zdGF0aWMKK1N1bW1hcnk6IFRoZSBDaWxrKyBz dGF0aWMgcnVudGltZSBsaWJyYXJ5CitHcm91cDogRGV2ZWxvcG1lbnQvTGlicmFyaWVzCitSZXF1 aXJlczogbGliY2lsa3J0cyA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQorCislZGVzY3JpcHRpb24g LW4gbGliY2lsa3J0cy1zdGF0aWMKK1RoaXMgcGFja2FnZSBjb250YWlucyB0aGUgQ2lsaysgc3Rh dGljIHJ1bnRpbWUgbGlicmFyeS4KKwogJXBhY2thZ2UgamF2YQogU3VtbWFyeTogSmF2YSBzdXBw b3J0IGZvciBHQ0MKIEdyb3VwOiBEZXZlbG9wbWVudC9MYW5ndWFnZXMKQEAgLTYxMyw3ICs2NDcs NyBAQCBZb3Ugc2hvdWxkIGluc3RhbGwgdGhpcyBwYWNrYWdlIGlmIHlvdSBhcmUgYSBDIHByb2dy YW1tZXIgYW5kIHlvdSB1c2UKIG1hY3Jvcy4KIAogJXBhY2thZ2UgZ25hdAotU3VtbWFyeTogQWRh IDk1IHN1cHBvcnQgZm9yIEdDQworU3VtbWFyeTogQWRhIDgzLCA5NSwgMjAwNSBhbmQgMjAxMiBz dXBwb3J0IGZvciBHQ0MKIEdyb3VwOiBEZXZlbG9wbWVudC9MYW5ndWFnZXMKIFJlcXVpcmVzOiBn Y2MgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KIFJlcXVpcmVzOiBsaWJnbmF0ID0gJXt2ZXJzaW9u fS0le3JlbGVhc2V9LCBsaWJnbmF0LWRldmVsID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CkBAIC02 MjIsMzUgKzY1NiwzNiBAQCBSZXF1aXJlcyhwcmV1bik6IC9zYmluL2luc3RhbGwtaW5mbwogQXV0 b3JlcTogdHJ1ZQogCiAlZGVzY3JpcHRpb24gZ25hdAotR05BVCBpcyBhIEdOVSBBZGEgOTUgZnJv bnQtZW5kIHRvIEdDQy4gVGhpcyBwYWNrYWdlIGluY2x1ZGVzIGRldmVsb3BtZW50IHRvb2xzLAot dGhlIGRvY3VtZW50cyBhbmQgQWRhIDk1IGNvbXBpbGVyLgorR05BVCBpcyBhIEdOVSBBZGEgODMs IDk1LCAyMDA1IGFuZCAyMDEyIGZyb250LWVuZCB0byBHQ0MuIFRoaXMgcGFja2FnZSBpbmNsdWRl cworZGV2ZWxvcG1lbnQgdG9vbHMsIHRoZSBkb2N1bWVudHMgYW5kIEFkYSBjb21waWxlci4KIAog JXBhY2thZ2UgLW4gbGliZ25hdAotU3VtbWFyeTogR05VIEFkYSA5NSBydW50aW1lIHNoYXJlZCBs aWJyYXJpZXMKK1N1bW1hcnk6IEdOVSBBZGEgODMsIDk1LCAyMDA1IGFuZCAyMDEyIHJ1bnRpbWUg c2hhcmVkIGxpYnJhcmllcwogR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKIEF1 dG9yZXE6IHRydWUKIAogJWRlc2NyaXB0aW9uIC1uIGxpYmduYXQKLUdOQVQgaXMgYSBHTlUgQWRh IDk1IGZyb250LWVuZCB0byBHQ0MuIFRoaXMgcGFja2FnZSBpbmNsdWRlcyBzaGFyZWQgbGlicmFy aWVzLAotd2hpY2ggYXJlIHJlcXVpcmVkIHRvIHJ1biBwcm9ncmFtcyBjb21waWxlZCB3aXRoIHRo ZSBHTkFULgorR05BVCBpcyBhIEdOVSBBZGEgODMsIDk1LCAyMDA1IGFuZCAyMDEyIGZyb250LWVu ZCB0byBHQ0MuIFRoaXMgcGFja2FnZSBpbmNsdWRlcworc2hhcmVkIGxpYnJhcmllcywgd2hpY2gg YXJlIHJlcXVpcmVkIHRvIHJ1biBwcm9ncmFtcyBjb21waWxlZCB3aXRoIHRoZSBHTkFULgogCiAl cGFja2FnZSAtbiBsaWJnbmF0LWRldmVsCi1TdW1tYXJ5OiBHTlUgQWRhIDk1IGxpYnJhcmllcwor U3VtbWFyeTogR05VIEFkYSA4MywgOTUsIDIwMDUgYW5kIDIwMTIgbGlicmFyaWVzCiBHcm91cDog RGV2ZWxvcG1lbnQvTGFuZ3VhZ2VzCiBBdXRvcmVxOiB0cnVlCiAKICVkZXNjcmlwdGlvbiAtbiBs aWJnbmF0LWRldmVsCi1HTkFUIGlzIGEgR05VIEFkYSA5NSBmcm9udC1lbmQgdG8gR0NDLiBUaGlz IHBhY2thZ2UgaW5jbHVkZXMgbGlicmFyaWVzLAotd2hpY2ggYXJlIHJlcXVpcmVkIHRvIGNvbXBp bGUgd2l0aCB0aGUgR05BVC4KK0dOQVQgaXMgYSBHTlUgQWRhIDgzLCA5NSwgMjAwNSBhbmQgMjAx MiBmcm9udC1lbmQgdG8gR0NDLiBUaGlzIHBhY2thZ2UgaW5jbHVkZXMKK2xpYnJhcmllcywgd2hp Y2ggYXJlIHJlcXVpcmVkIHRvIGNvbXBpbGUgd2l0aCB0aGUgR05BVC4KIAogJXBhY2thZ2UgLW4g bGliZ25hdC1zdGF0aWMKLVN1bW1hcnk6IEdOVSBBZGEgOTUgc3RhdGljIGxpYnJhcmllcworU3Vt bWFyeTogR05VIEFkYSA4MywgOTUsIDIwMDUgYW5kIDIwMTIgc3RhdGljIGxpYnJhcmllcwogR3Jv dXA6IERldmVsb3BtZW50L0xhbmd1YWdlcwogUmVxdWlyZXM6IGxpYmduYXQtZGV2ZWwgPSAle3Zl cnNpb259LSV7cmVsZWFzZX0KIEF1dG9yZXE6IHRydWUKIAogJWRlc2NyaXB0aW9uIC1uIGxpYmdu YXQtc3RhdGljCi1HTkFUIGlzIGEgR05VIEFkYSA5NSBmcm9udC1lbmQgdG8gR0NDLiBUaGlzIHBh Y2thZ2UgaW5jbHVkZXMgc3RhdGljIGxpYnJhcmllcy4KK0dOQVQgaXMgYSBHTlUgQWRhIDgzLCA5 NSwgMjAwNSBhbmQgMjAxMiBmcm9udC1lbmQgdG8gR0NDLiBUaGlzIHBhY2thZ2UgaW5jbHVkZXMK K3N0YXRpYyBsaWJyYXJpZXMuCiAKICVwYWNrYWdlIGdvCiBTdW1tYXJ5OiBHbyBzdXBwb3J0CkBA IC03NjEsMTcgKzc5NiwxMiBAQCBwYWNrYWdlIG9yIHdoZW4gZGVidWdnaW5nIHRoaXMgcGFja2Fn ZS4KICVwYXRjaDExIC1wMCAtYiAubGlic3RkYysrLWRvY3N+CiAlZW5kaWYKICVwYXRjaDEyIC1w MCAtYiAubm8tYWRkLW5lZWRlZH4KLSVwYXRjaDEzIC1wMCAtYiAucHI1NjU2NH4KICVwYXRjaDE0 IC1wMCAtYiAucHI1NjQ5M34KICVpZiAwJXs/ZmVkb3JhfSA+PSAyMCB8fCAwJXs/cmhlbH0gPj0g NwogJXBhdGNoMTUgLXAwIC1iIC5jb2xvci1hdXRvfgogJWVuZGlmCi0lcGF0Y2gxNiAtcDAgLWIg LnByMjg4NjV+Ci0lcGF0Y2gxNyAtcDAgLWIgLmxpYmdvLXAyMjR+CislcGF0Y2gxNiAtcDAgLWIg LmxpYmdvLXAyMjR+CiBybSAtZiBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvcDIyNHssX3Rlc3R9 LmdvCi0lcGF0Y2gxOCAtcDAgLWIgLnByNjAxMzd+Ci0lcGF0Y2gxOSAtcDAgLWIgLnByNjAwMTB+ Ci0lcGF0Y2gyMCAtcDAgLWIgLnByNjAwNDZ+CiAKICVpZiAwJXs/X2VuYWJsZV9kZWJ1Z19wYWNr YWdlc30KIGNhdCA+IHNwbGl0LWRlYnVnaW5mby5zaCA8PFxFT0YKQEAgLTgzNiw5ICs4NjYsNyBA QCB0YXIgeHpmICV7U09VUkNFNH0KIHRhciB4amYgJXtTT1VSQ0UxMH0KICVlbmRpZgogCi0lcGF0 Y2gxMTAwIC1wMCAtYiAuaXNsLWFhcmNoNjR+Ci0KLXNlZCAtaSAtZSAncy80XC44XC4zLzQuOC4y LycgZ2NjL0JBU0UtVkVSCitzZWQgLWkgLWUgJ3MvNFwuOVwuMC80LjkuMC8nIGdjYy9CQVNFLVZF UgogZWNobyAnUmVkIEhhdCAle3ZlcnNpb259LSV7Z2NjX3JlbGVhc2V9JyA+IGdjYy9ERVYtUEhB U0UKIAogJWlmIDAlez9mZWRvcmF9ID49IDE2IHx8IDAlez9yaGVsfSA+PSA3CkBAIC05NjIsNyAr OTkwLDcgQEAgY2F0ID4+IC4uLy4uL2Nsb29nLSV7Y2xvb2dfdmVyc2lvbn0vc291cmNlL2lzbC9j b25zdHJhaW50cy5jIDw8IFxFT0YKIHN0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKHVzZWQpKSAq czEgPSAodm9pZCAqKSBpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdzsKIHN0YXRpYyB2b2lkIF9f YXR0cmlidXRlX18oKHVzZWQpKSAqczIgPSAodm9pZCAqKSBpc2xfbWFwX2R1bXA7CiBFT0YKLXNl ZCAtaSAnc3xsaWJjbG9vZ3xsaWJnY2M0OHByaXZhdGVjbG9vZ3xnJyBcCitzZWQgLWkgJ3N8bGli Y2xvb2d8bGliZ2NjNDlwcml2YXRlY2xvb2d8ZycgXAogICAuLi8uLi9jbG9vZy0le2Nsb29nX3Zl cnNpb259L3ssdGVzdC99TWFrZWZpbGUue2FtLGlufQogaXNsX3ByZWZpeD1gY2QgLi4vaXNsLWlu c3RhbGw7IHB3ZGAgXAogLi4vLi4vY2xvb2ctJXtjbG9vZ192ZXJzaW9ufS9jb25maWd1cmUgLS13 aXRoLWlzbD1zeXN0ZW0gXApAQCAtOTc1LDggKzEwMDMsOCBAQCBzZWQgLWkgJ3N8XnJ1bnBhdGhf dmFyPUxEX1JVTl9QQVRIfHJ1bnBhdGhfdmFyPURJRV9SUEFUSF9ESUV8ZycgbGlidG9vbAogbWFr ZSAlez9fc21wX21mbGFnc30KIG1ha2UgJXs/X3NtcF9tZmxhZ3N9IGluc3RhbGwKIGNkIC4uL2Ns b29nLWluc3RhbGwvbGliCi1ybSBsaWJnY2M0OHByaXZhdGVjbG9vZy1pc2wuc297LC40fQotbXYg bGliZ2NjNDhwcml2YXRlY2xvb2ctaXNsLnNvLjQuMC4wIGxpYmNsb29nLWlzbC5zby40CitybSBs aWJnY2M0OXByaXZhdGVjbG9vZy1pc2wuc297LC40fQorbXYgbGliZ2NjNDlwcml2YXRlY2xvb2ct aXNsLnNvLjQuMC4wIGxpYmNsb29nLWlzbC5zby40CiBsbiAtc2YgbGliY2xvb2ctaXNsLnNvLjQg bGliY2xvb2ctaXNsLnNvCiBsbiAtc2YgbGliY2xvb2ctaXNsLnNvLjQgbGliY2xvb2cuc28KIGNk IC4uLy4uCkBAIC0xMTUyLDkgKzExODAsOSBAQCBjZCAuLgogbWtkaXIgLXAgcnBtLmRvYy9nZm9y dHJhbiBycG0uZG9jL29iamMKIG1rZGlyIC1wIHJwbS5kb2MvYm9laG0tZ2MgcnBtLmRvYy9mYXN0 amFyIHJwbS5kb2MvbGliZmZpIHJwbS5kb2MvbGliamF2YQogbWtkaXIgLXAgcnBtLmRvYy9nbyBy cG0uZG9jL2xpYmdvIHJwbS5kb2MvbGlicXVhZG1hdGggcnBtLmRvYy9saWJpdG0KLW1rZGlyIC1w IHJwbS5kb2MvY2hhbmdlbG9ncy97Z2NjL2NwLGdjYy9qYXZhLGdjYy9hZGEsbGlic3RkYysrLXYz LGxpYm9iamMsbGlibXVkZmxhcCxsaWJnb21wLGxpYmF0b21pYyxsaWJzYW5pdGl6ZXJ9Citta2Rp ciAtcCBycG0uZG9jL2NoYW5nZWxvZ3Mve2djYy9jcCxnY2MvamF2YSxnY2MvYWRhLGxpYnN0ZGMr Ky12MyxsaWJvYmpjLGxpYmdvbXAsbGliYXRvbWljLGxpYnNhbml0aXplcixsaWJjaWxrcnRzfQog Ci1mb3IgaSBpbiB7Z2NjLGdjYy9jcCxnY2MvamF2YSxnY2MvYWRhLGxpYnN0ZGMrKy12MyxsaWJv YmpjLGxpYm11ZGZsYXAsbGliZ29tcCxsaWJhdG9taWMsbGlic2FuaXRpemVyfS9DaGFuZ2VMb2cq OyBkbworZm9yIGkgaW4ge2djYyxnY2MvY3AsZ2NjL2phdmEsZ2NjL2FkYSxsaWJzdGRjKystdjMs bGlib2JqYyxsaWJnb21wLGxpYmF0b21pYyxsaWJzYW5pdGl6ZXIsbGliY2lsa3J0c30vQ2hhbmdl TG9nKjsgZG8KIAljcCAtcCAkaSBycG0uZG9jL2NoYW5nZWxvZ3MvJGkKIGRvbmUKIApAQCAtMTM0 Niw2ICsxMzc0LDkgQEAgbXYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmdmb3J0 cmFuLnNwZWMgJEZVTExQQVRILwogJWlmICV7YnVpbGRfbGliaXRtfQogbXYgJXtidWlsZHJvb3R9 JXtfcHJlZml4fS8le19saWJ9L2xpYml0bS5zcGVjICRGVUxMUEFUSC8KICVlbmRpZgorJWlmICV7 YnVpbGRfbGliYXNhbn0KK212ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJzYW5p dGl6ZXIuc3BlYyAkRlVMTFBBVEgvCislZW5kaWYKIAogbWtkaXIgLXAgJXtidWlsZHJvb3R9LyV7 X2xpYn0KIG12IC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJnY2Nfcy5zby4x ICV7YnVpbGRyb290fS8le19saWJ9L2xpYmdjY19zLSV7Z2NjX3ZlcnNpb259LSV7REFURX0uc28u MQpAQCAtMTQwMywxMiArMTQzNCw2IEBAIHB1c2hkIC4uL2Zhc3RqYXItJXtmYXN0amFyX3Zlcn0v b2JqLSV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0KIG1ha2UgaW5zdGFsbCBERVNURElSPSV7YnVpbGRy b290fQogcG9wZAogCi1pZiBbICIle19saWJ9IiAhPSAibGliIiBdOyB0aGVuCi0gIG1rZGlyIC1w ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9wa2djb25maWcKLSAgc2VkICcvXmxpYmRp ci9zL2xpYiQvJXtfbGlifS8nICV7YnVpbGRyb290fSV7X3ByZWZpeH0vbGliL3BrZ2NvbmZpZy9s aWJnY2otKi5wYyBcCi0gICAgPiAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vcGtnY29u ZmlnL2BiYXNlbmFtZSAle2J1aWxkcm9vdH0le19wcmVmaXh9L2xpYi9wa2djb25maWcvbGliZ2Nq LSoucGNgCi1maQotCiAlZW5kaWYKIAogbWtkaXIgLXAgJXtidWlsZHJvb3R9JXtfZGF0YWRpcn0v Z2RiL2F1dG8tbG9hZC8le19wcmVmaXh9LyV7X2xpYn0KQEAgLTE0MjcsMTAgKzE0NTIsOCBAQCBs biAtc2YgLi4vLi4vLi4vbGlib2JqYy5zby40IGxpYm9iamMuc28KIGxuIC1zZiAuLi8uLi8uLi9s aWJzdGRjKysuc28uNi4qWzAtOV0gbGlic3RkYysrLnNvCiBsbiAtc2YgLi4vLi4vLi4vbGliZ2Zv cnRyYW4uc28uMy4qIGxpYmdmb3J0cmFuLnNvCiBsbiAtc2YgLi4vLi4vLi4vbGliZ29tcC5zby4x LiogbGliZ29tcC5zbwotbG4gLXNmIC4uLy4uLy4uL2xpYm11ZGZsYXAuc28uMC4qIGxpYm11ZGZs YXAuc28KLWxuIC1zZiAuLi8uLi8uLi9saWJtdWRmbGFwdGguc28uMC4qIGxpYm11ZGZsYXB0aC5z bwogJWlmICV7YnVpbGRfZ299Ci1sbiAtc2YgLi4vLi4vLi4vbGliZ28uc28uNC4qIGxpYmdvLnNv CitsbiAtc2YgLi4vLi4vLi4vbGliZ28uc28uNS4qIGxpYmdvLnNvCiAlZW5kaWYKICVpZiAle2J1 aWxkX2xpYnF1YWRtYXRofQogbG4gLXNmIC4uLy4uLy4uL2xpYnF1YWRtYXRoLnNvLjAuKiBsaWJx dWFkbWF0aC5zbwpAQCAtMTQ0MiwyMyArMTQ2NSwyNyBAQCBsbiAtc2YgLi4vLi4vLi4vbGliaXRt LnNvLjEuKiBsaWJpdG0uc28KIGxuIC1zZiAuLi8uLi8uLi9saWJhdG9taWMuc28uMS4qIGxpYmF0 b21pYy5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJhc2FufQotbG4gLXNmIC4uLy4uLy4uL2xp YmFzYW4uc28uMC4qIGxpYmFzYW4uc28KK2xuIC1zZiAuLi8uLi8uLi9saWJhc2FuLnNvLjEuKiBs aWJhc2FuLnNvCiBtdiAuLi8uLi8uLi9saWJhc2FuX3ByZWluaXQubyBsaWJhc2FuX3ByZWluaXQu bwogJWVuZGlmCislaWYgJXtidWlsZF9saWJ1YnNhbn0KK2xuIC1zZiAuLi8uLi8uLi9saWJ1YnNh bi5zby4wLiogbGlidWJzYW4uc28KKyVlbmRpZgorJWlmICV7YnVpbGRfbGliY2lsa3J0c30KK2xu IC1zZiAuLi8uLi8uLi9saWJjaWxrcnRzLnNvLjUuKiBsaWJjaWxrcnRzLnNvCislZW5kaWYKICVp ZiAle2J1aWxkX2phdmF9Ci1sbiAtc2YgLi4vLi4vLi4vbGliZ2NqLnNvLjE0LiogbGliZ2NqLnNv Ci1sbiAtc2YgLi4vLi4vLi4vbGliZ2NqLXRvb2xzLnNvLjE0LiogbGliZ2NqLXRvb2xzLnNvCi1s biAtc2YgLi4vLi4vLi4vbGliZ2lqLnNvLjE0LiogbGliZ2lqLnNvCitsbiAtc2YgLi4vLi4vLi4v bGliZ2NqLnNvLjE1LiogbGliZ2NqLnNvCitsbiAtc2YgLi4vLi4vLi4vbGliZ2NqLXRvb2xzLnNv LjE1LiogbGliZ2NqLXRvb2xzLnNvCitsbiAtc2YgLi4vLi4vLi4vbGliZ2lqLnNvLjE1LiogbGli Z2lqLnNvCiAlZW5kaWYKIGVsc2UKIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYm9iamMu c28uNCBsaWJvYmpjLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJzdGRjKysuc28u Ni4qWzAtOV0gbGlic3RkYysrLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnZm9y dHJhbi5zby4zLiogbGliZ2ZvcnRyYW4uc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xp YmdvbXAuc28uMS4qIGxpYmdvbXAuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYm11 ZGZsYXAuc28uMC4qIGxpYm11ZGZsYXAuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xp Ym11ZGZsYXB0aC5zby4wLiogbGlibXVkZmxhcHRoLnNvCiAlaWYgJXtidWlsZF9nb30KLWxuIC1z ZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdvLnNvLjQuKiBsaWJnby5zbworbG4gLXNmIC4uLy4u Ly4uLy4uLyV7X2xpYn0vbGliZ28uc28uNS4qIGxpYmdvLnNvCiAlZW5kaWYKICVpZiAle2J1aWxk X2xpYnF1YWRtYXRofQogbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGlicXVhZG1hdGguc28u MC4qIGxpYnF1YWRtYXRoLnNvCkBAIC0xNDcwLDE3ICsxNDk3LDI3IEBAIGxuIC1zZiAuLi8uLi8u Li8uLi8le19saWJ9L2xpYml0bS5zby4xLiogbGliaXRtLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4v JXtfbGlifS9saWJhdG9taWMuc28uMS4qIGxpYmF0b21pYy5zbwogJWVuZGlmCiAlaWYgJXtidWls ZF9saWJhc2FufQotbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliYXNhbi5zby4wLiogbGli YXNhbi5zbworbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliYXNhbi5zby4xLiogbGliYXNh bi5zbwogbXYgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJhc2FuX3ByZWluaXQubyBsaWJhc2FuX3By ZWluaXQubwogJWVuZGlmCislaWYgJXtidWlsZF9saWJ1YnNhbn0KK2xuIC1zZiAuLi8uLi8uLi8u Li8le19saWJ9L2xpYnVic2FuLnNvLjAuKiBsaWJ1YnNhbi5zbworJWVuZGlmCislaWYgJXtidWls ZF9saWJjaWxrcnRzfQorbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliY2lsa3J0cy5zby41 LiogbGliY2lsa3J0cy5zbworJWVuZGlmCiAlaWYgJXtidWlsZF9saWJ0c2FufQogcm0gLWYgbGli dHNhbi5zbwogZWNobyAnSU5QVVQgKCAle19wcmVmaXh9LyV7X2xpYn0vJ2BlY2hvIC4uLy4uLy4u Ly4uLyV7X2xpYn0vbGlidHNhbi5zby4wLiogfCBzZWQgJ3MsXi4qbGlidCxsaWJ0LCdgJyApJyA+ IGxpYnRzYW4uc28KICVlbmRpZgorJWlmICV7YnVpbGRfbGlibHNhbn0KK3JtIC1mIGxpYmxzYW4u c28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS8le19saWJ9LydgZWNobyAuLi8uLi8uLi8uLi8l e19saWJ9L2xpYmxzYW4uc28uMC4qIHwgc2VkICdzLF4uKmxpYmwsbGlibCwnYCcgKScgPiBsaWJs c2FuLnNvCislZW5kaWYKICVpZiAle2J1aWxkX2phdmF9Ci1sbiAtc2YgLi4vLi4vLi4vLi4vJXtf bGlifS9saWJnY2ouc28uMTQuKiBsaWJnY2ouc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9 L2xpYmdjai10b29scy5zby4xNC4qIGxpYmdjai10b29scy5zbwotbG4gLXNmIC4uLy4uLy4uLy4u LyV7X2xpYn0vbGliZ2lqLnNvLjE0LiogbGliZ2lqLnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vJXtf bGlifS9saWJnY2ouc28uMTUuKiBsaWJnY2ouc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9 L2xpYmdjai10b29scy5zby4xNS4qIGxpYmdjai10b29scy5zbworbG4gLXNmIC4uLy4uLy4uLy4u LyV7X2xpYn0vbGliZ2lqLnNvLjE1LiogbGliZ2lqLnNvCiAlZW5kaWYKIGZpCiAlaWYgJXtidWls ZF9qYXZhfQpAQCAtMTQ5MSw3ICsxNTI4LDYgQEAgbXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4 fS8le19saWJ9L2xpYnN1cGMrKy4qYSAkRlVMTExQQVRILwogbXYgLWYgJXtidWlsZHJvb3R9JXtf cHJlZml4fS8le19saWJ9L2xpYmdmb3J0cmFuLiphICRGVUxMTFBBVEgvCiBtdiAtZiAle2J1aWxk cm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlib2JqYy4qYSAuCiBtdiAtZiAle2J1aWxkcm9vdH0l e19wcmVmaXh9LyV7X2xpYn0vbGliZ29tcC4qYSAuCi1tdiAtZiAle2J1aWxkcm9vdH0le19wcmVm aXh9LyV7X2xpYn0vbGlibXVkZmxhcHssdGh9LiphICRGVUxMTFBBVEgvCiAlaWYgJXtidWlsZF9s aWJxdWFkbWF0aH0KIG12IC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJxdWFk bWF0aC4qYSAkRlVMTExQQVRILwogJWVuZGlmCkBAIC0xNTA0LDkgKzE1NDAsMTggQEAgbXYgLWYg JXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmF0b21pYy4qYSAkRlVMTExQQVRILwog JWlmICV7YnVpbGRfbGliYXNhbn0KIG12IC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGli fS9saWJhc2FuLiphICRGVUxMTFBBVEgvCiAlZW5kaWYKKyVpZiAle2J1aWxkX2xpYnVic2FufQor bXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYnVic2FuLiphICRGVUxMTFBB VEgvCislZW5kaWYKKyVpZiAle2J1aWxkX2xpYmNpbGtydHN9CittdiAtZiAle2J1aWxkcm9vdH0l e19wcmVmaXh9LyV7X2xpYn0vbGliY2lsa3J0cy4qYSAkRlVMTExQQVRILworJWVuZGlmCiAlaWYg JXtidWlsZF9saWJ0c2FufQogbXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xp YnRzYW4uKmEgJEZVTExMUEFUSC8KICVlbmRpZgorJWlmICV7YnVpbGRfbGlibHNhbn0KK212IC1m ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJsc2FuLiphICRGVUxMTFBBVEgvCisl ZW5kaWYKICVpZiAle2J1aWxkX2dvfQogbXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19s aWJ9L2xpYmdvLiphICRGVUxMTFBBVEgvCiBtdiAtZiAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7 X2xpYn0vbGliZ29iZWdpbi4qYSAkRlVMTExQQVRILwpAQCAtMTUyNCwyOCArMTU2OSwyOCBAQCBt diAtZiAkRlVMTFBBVEgvYWRhe2luY2x1ZGUsbGlifSAkRlVMTExQQVRILwogcHVzaGQgJEZVTExM UEFUSC9hZGFsaWIKIGlmIFsgIiV7X2xpYn0iID0gImxpYiIgXTsgdGhlbgogbG4gLXNmIC4uLy4u Ly4uLy4uLy4uL2xpYmduYXJsLSouc28gbGliZ25hcmwuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8u Li9saWJnbmFybC0qLnNvIGxpYmduYXJsLTQuOC5zbworbG4gLXNmIC4uLy4uLy4uLy4uLy4uL2xp YmduYXJsLSouc28gbGliZ25hcmwtNC45LnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vLi4vbGliZ25h dC0qLnNvIGxpYmduYXQuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmF0LSouc28gbGli Z25hdC00Ljguc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmF0LSouc28gbGliZ25hdC00 Ljkuc28KIGVsc2UKIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSou c28gbGliZ25hcmwuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJs LSouc28gbGliZ25hcmwtNC44LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9s aWJnbmFybC0qLnNvIGxpYmduYXJsLTQuOS5zbwogbG4gLXNmIC4uLy4uLy4uLy4uLy4uLy4uLyV7 X2xpYn0vbGliZ25hdC0qLnNvIGxpYmduYXQuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8l e19saWJ9L2xpYmduYXQtKi5zbyBsaWJnbmF0LTQuOC5zbworbG4gLXNmIC4uLy4uLy4uLy4uLy4u Ly4uLyV7X2xpYn0vbGliZ25hdC0qLnNvIGxpYmduYXQtNC45LnNvCiBmaQogcG9wZAogZWxzZQog cHVzaGQgJEZVTExQQVRIL2FkYWxpYgogaWYgWyAiJXtfbGlifSIgPSAibGliIiBdOyB0aGVuCiBs biAtc2YgLi4vLi4vLi4vLi4vbGliZ25hcmwtKi5zbyBsaWJnbmFybC5zbwotbG4gLXNmIC4uLy4u Ly4uLy4uL2xpYmduYXJsLSouc28gbGliZ25hcmwtNC44LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4v bGliZ25hcmwtKi5zbyBsaWJnbmFybC00Ljkuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi9saWJnbmF0 LSouc28gbGliZ25hdC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0 LTQuOC5zbworbG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0LTQuOS5zbwog ZWxzZQogbG4gLXNmIC4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hcmwtKi5zbyBsaWJnbmFy bC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hcmwtKi5zbyBsaWJnbmFy bC00Ljguc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGli Z25hcmwtNC45LnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSouc28g bGliZ25hdC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hdC0qLnNvIGxp YmduYXQtNC44LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSouc28g bGliZ25hdC00Ljkuc28KIGZpCiBwb3BkCiBmaQpAQCAtMTU1NiwxNSArMTYwMSwxMCBAQCBsbiAt c2YgLi4vLi4vLi4vLi4vLi4vbGliNjQvbGlib2JqYy5zby40IDY0L2xpYm9iamMuc28KIGxuIC1z ZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGlic3RkYysrLnNvLjYuKlswLTldIHwgc2VkIHN+ L2xpYi9+L2xpYjY0L35gIDY0L2xpYnN0ZGMrKy5zbwogbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4u Ly4uL2xpYi9saWJnZm9ydHJhbi5zby4zLiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGli Z2ZvcnRyYW4uc28KIGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ29tcC5zby4x LiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGliZ29tcC5zbwotcm0gLWYgbGlibXVkZmxh cC5zbyBsaWJtdWRmbGFwdGguc28KLWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hv IC4uLy4uLy4uLy4uL2xpYi9saWJtdWRmbGFwLnNvLjAuKiB8IHNlZCAncyxeLipsaWJtLGxpYm0s J2AnICknID4gbGlibXVkZmxhcC5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVj aG8gLi4vLi4vLi4vLi4vbGliL2xpYm11ZGZsYXB0aC5zby4wLiogfCBzZWQgJ3MsXi4qbGlibSxs aWJtLCdgJyApJyA+IGxpYm11ZGZsYXB0aC5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xp YjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGlibXVkZmxhcC5zby4wLiogfCBzZWQgJ3MsXi4q bGlibSxsaWJtLCdgJyApJyA+IDY0L2xpYm11ZGZsYXAuc28KLWVjaG8gJ0lOUFVUICggJXtfcHJl Zml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYm11ZGZsYXB0aC5zby4wLiogfCBz ZWQgJ3MsXi4qbGlibSxsaWJtLCdgJyApJyA+IDY0L2xpYm11ZGZsYXB0aC5zbwogJWlmICV7YnVp bGRfZ299CiBybSAtZiBsaWJnby5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVj aG8gLi4vLi4vLi4vLi4vbGliL2xpYmdvLnNvLjQuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2An ICknID4gbGliZ28uc28KLWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4v Li4vLi4vLi4vbGliL2xpYmdvLnNvLjQuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4g NjQvbGliZ28uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4u Ly4uL2xpYi9saWJnby5zby41LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IGxpYmdv LnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xp Yi9saWJnby5zby41LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDY0L2xpYmdvLnNv CiAlZW5kaWYKICVpZiAle2J1aWxkX2xpYnF1YWRtYXRofQogcm0gLWYgbGlicXVhZG1hdGguc28K QEAgLTE1ODMsMTQgKzE2MjMsMjQgQEAgZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0Lydg ZWNobyAuLi8uLi8uLi8uLi9saWIvbGliYXRvbWljLnNvLjEuKiB8IHNlZCAncywKICVlbmRpZgog JWlmICV7YnVpbGRfbGliYXNhbn0KIHJtIC1mIGxpYmFzYW4uc28KLWVjaG8gJ0lOUFVUICggJXtf cHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJhc2FuLnNvLjAuKiB8IHNlZCAn cyxeLipsaWJhLGxpYmEsJ2AnICknID4gbGliYXNhbi5zbwotZWNobyAnSU5QVVQgKCAle19wcmVm aXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliYXNhbi5zby4wLiogfCBzZWQgJ3Ms Xi4qbGliYSxsaWJhLCdgJyApJyA+IDY0L2xpYmFzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJl Zml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJhc2FuLnNvLjEuKiB8IHNlZCAncyxe LipsaWJhLGxpYmEsJ2AnICknID4gbGliYXNhbi5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9 L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliYXNhbi5zby4xLiogfCBzZWQgJ3MsXi4q bGliYSxsaWJhLCdgJyApJyA+IDY0L2xpYmFzYW4uc28KIG12IC4uLy4uLy4uLy4uL2xpYjY0L2xp YmFzYW5fcHJlaW5pdC5vIDY0L2xpYmFzYW5fcHJlaW5pdC5vCiAlZW5kaWYKKyVpZiAle2J1aWxk X2xpYnVic2FufQorcm0gLWYgbGlidWJzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9s aWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJ1YnNhbi5zby4wLiogfCBzZWQgJ3MsXi4qbGli dSxsaWJ1LCdgJyApJyA+IGxpYnVic2FuLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGli NjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJ1YnNhbi5zby4wLiogfCBzZWQgJ3MsXi4qbGli dSxsaWJ1LCdgJyApJyA+IDY0L2xpYnVic2FuLnNvCislZW5kaWYKKyVpZiAle2J1aWxkX2xpYmNp bGtydHN9CitybSAtZiBsaWJjaWxrcnRzLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGli LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliY2lsa3J0cy5zby41LiogfCBzZWQgJ3MsXi4qbGli YyxsaWJjLCdgJyApJyA+IGxpYmNpbGtydHMuc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9s aWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmNpbGtydHMuc28uNS4qIHwgc2VkICdzLF4u KmxpYmMsbGliYywnYCcgKScgPiA2NC9saWJjaWxrcnRzLnNvCislZW5kaWYKICVpZiAle2J1aWxk X2phdmF9Ci1sbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdjai5zby4xNC4qIHwg c2VkIHN+L2xpYi9+L2xpYjY0L35gIDY0L2xpYmdjai5zbwotbG4gLXNmIC4uL2BlY2hvIC4uLy4u Ly4uLy4uL2xpYi9saWJnY2otdG9vbHMuc28uMTQuKiB8IHNlZCBzfi9saWIvfi9saWI2NC9+YCA2 NC9saWJnY2otdG9vbHMuc28KLWxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ2lq LnNvLjE0LiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGliZ2lqLnNvCitsbiAtc2YgLi4v YGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdjai5zby4xNS4qIHwgc2VkIHN+L2xpYi9+L2xpYjY0 L35gIDY0L2xpYmdjai5zbworbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnY2ot dG9vbHMuc28uMTUuKiB8IHNlZCBzfi9saWIvfi9saWI2NC9+YCA2NC9saWJnY2otdG9vbHMuc28K K2xuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ2lqLnNvLjE1LiogfCBzZWQgc34v bGliL34vbGliNjQvfmAgNjQvbGliZ2lqLnNvCiBsbiAtc2YgbGliMzIvbGliZ2NqX2JjLnNvIGxp Ymdjal9iYy5zbwogbG4gLXNmIC4uL2xpYjY0L2xpYmdjal9iYy5zbyA2NC9saWJnY2pfYmMuc28K ICVlbmRpZgpAQCAtMTYwMiwxMCArMTY1Miw2IEBAIGxuIC1zZiBsaWIzMi9saWJzdGRjKysuYSBs aWJzdGRjKysuYQogbG4gLXNmIC4uL2xpYjY0L2xpYnN0ZGMrKy5hIDY0L2xpYnN0ZGMrKy5hCiBs biAtc2YgbGliMzIvbGlic3VwYysrLmEgbGlic3VwYysrLmEKIGxuIC1zZiAuLi9saWI2NC9saWJz dXBjKysuYSA2NC9saWJzdXBjKysuYQotbG4gLXNmIGxpYjMyL2xpYm11ZGZsYXAuYSBsaWJtdWRm bGFwLmEKLWxuIC1zZiAuLi9saWI2NC9saWJtdWRmbGFwLmEgNjQvbGlibXVkZmxhcC5hCi1sbiAt c2YgbGliMzIvbGlibXVkZmxhcHRoLmEgbGlibXVkZmxhcHRoLmEKLWxuIC1zZiAuLi9saWI2NC9s aWJtdWRmbGFwdGguYSA2NC9saWJtdWRmbGFwdGguYQogJWlmICV7YnVpbGRfbGlicXVhZG1hdGh9 CiBsbiAtc2YgbGliMzIvbGlicXVhZG1hdGguYSBsaWJxdWFkbWF0aC5hCiBsbiAtc2YgLi4vbGli NjQvbGlicXVhZG1hdGguYSA2NC9saWJxdWFkbWF0aC5hCkBAIC0xNjIyLDYgKzE2NjgsMTQgQEAg bG4gLXNmIC4uL2xpYjY0L2xpYmF0b21pYy5hIDY0L2xpYmF0b21pYy5hCiBsbiAtc2YgbGliMzIv bGliYXNhbi5hIGxpYmFzYW4uYQogbG4gLXNmIC4uL2xpYjY0L2xpYmFzYW4uYSA2NC9saWJhc2Fu LmEKICVlbmRpZgorJWlmICV7YnVpbGRfbGlidWJzYW59CitsbiAtc2YgbGliMzIvbGlidWJzYW4u YSBsaWJ1YnNhbi5hCitsbiAtc2YgLi4vbGliNjQvbGlidWJzYW4uYSA2NC9saWJ1YnNhbi5hCisl ZW5kaWYKKyVpZiAle2J1aWxkX2xpYmNpbGtydHN9CitsbiAtc2YgbGliMzIvbGliY2lsa3J0cy5h IGxpYmNpbGtydHMuYQorbG4gLXNmIC4uL2xpYjY0L2xpYmNpbGtydHMuYSA2NC9saWJjaWxrcnRz LmEKKyVlbmRpZgogJWlmICV7YnVpbGRfZ299CiBsbiAtc2YgbGliMzIvbGliZ28uYSBsaWJnby5h CiBsbiAtc2YgLi4vbGliNjQvbGliZ28uYSA2NC9saWJnby5hCkBAIC0xNjQxLDE1ICsxNjk1LDEw IEBAIGxuIC1zZiAuLi8uLi8uLi8uLi9saWJvYmpjLnNvLjQgMzIvbGlib2JqYy5zbwogbG4gLXNm IC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYnN0ZGMrKy5zby42LipbMC05XSB8IHNlZCBz fi8uLi9saWI2NC9+L35gIDMyL2xpYnN0ZGMrKy5zbwogbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4u Ly4uL2xpYjY0L2xpYmdmb3J0cmFuLnNvLjMuKiB8IHNlZCBzfi8uLi9saWI2NC9+L35gIDMyL2xp Ymdmb3J0cmFuLnNvCiBsbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ29tcC5z by4xLiogfCBzZWQgc34vLi4vbGliNjQvfi9+YCAzMi9saWJnb21wLnNvCi1ybSAtZiBsaWJtdWRm bGFwLnNvIGxpYm11ZGZsYXB0aC5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0Lydg ZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJtdWRmbGFwLnNvLjAuKiB8IHNlZCAncyxeLipsaWJt LGxpYm0sJ2AnICknID4gbGlibXVkZmxhcC5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xp YjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJtdWRmbGFwdGguc28uMC4qIHwgc2VkICdz LF4uKmxpYm0sbGlibSwnYCcgKScgPiBsaWJtdWRmbGFwdGguc28KLWVjaG8gJ0lOUFVUICggJXtf cHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYm11ZGZsYXAuc28uMC4qIHwg c2VkICdzLF4uKmxpYm0sbGlibSwnYCcgKScgPiAzMi9saWJtdWRmbGFwLnNvCi1lY2hvICdJTlBV VCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJtdWRmbGFwdGgu c28uMC4qIHwgc2VkICdzLF4uKmxpYm0sbGlibSwnYCcgKScgPiAzMi9saWJtdWRmbGFwdGguc28K ICVpZiAle2J1aWxkX2dvfQogcm0gLWYgbGliZ28uc28KLWVjaG8gJ0lOUFVUICggJXtfcHJlZml4 fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uNC4qIHwgc2VkICdzLF4u KmxpYmcsbGliZywnYCcgKScgPiBsaWJnby5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xp Yi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uNC4qIHwgc2VkICdzLF4uKmxpYmcs bGliZywnYCcgKScgPiAzMi9saWJnby5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0 LydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJnby5zby41LiogfCBzZWQgJ3MsXi4qbGliZyxs aWJnLCdgJyApJyA+IGxpYmdvLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNo byAuLi8uLi8uLi8uLi9saWI2NC9saWJnby5zby41LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdg JyApJyA+IDMyL2xpYmdvLnNvCiAlZW5kaWYKICVpZiAle2J1aWxkX2xpYnF1YWRtYXRofQogcm0g LWYgbGlicXVhZG1hdGguc28KQEAgLTE2NjgsMTQgKzE3MTcsMjQgQEAgZWNobyAnSU5QVVQgKCAl e19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliYXRvbWljLnNvLjEuKiB8 IHNlZCAncywKICVlbmRpZgogJWlmICV7YnVpbGRfbGliYXNhbn0KIHJtIC1mIGxpYmFzYW4uc28K LWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQv bGliYXNhbi5zby4wLiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdgJyApJyA+IGxpYmFzYW4uc28K LWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xp YmFzYW4uc28uMC4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcgKScgPiAzMi9saWJhc2FuLnNv CitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0 L2xpYmFzYW4uc28uMS4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcgKScgPiBsaWJhc2FuLnNv CitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9s aWJhc2FuLnNvLjEuKiB8IHNlZCAncyxeLipsaWJhLGxpYmEsJ2AnICknID4gMzIvbGliYXNhbi5z bwogbXYgLi4vLi4vLi4vLi4vbGliL2xpYmFzYW5fcHJlaW5pdC5vIDMyL2xpYmFzYW5fcHJlaW5p dC5vCiAlZW5kaWYKKyVpZiAle2J1aWxkX2xpYnVic2FufQorcm0gLWYgbGlidWJzYW4uc28KK2Vj aG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGli dWJzYW4uc28uMC4qIHwgc2VkICdzLF4uKmxpYnUsbGlidSwnYCcgKScgPiBsaWJ1YnNhbi5zbwor ZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGli dWJzYW4uc28uMC4qIHwgc2VkICdzLF4uKmxpYnUsbGlidSwnYCcgKScgPiAzMi9saWJ1YnNhbi5z bworJWVuZGlmCislaWYgJXtidWlsZF9saWJjaWxrcnRzfQorcm0gLWYgbGliY2lsa3J0cy5zbwor ZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9s aWJjaWxrcnRzLnNvLjUuKiB8IHNlZCAncyxeLipsaWJjLGxpYmMsJ2AnICknID4gbGliY2lsa3J0 cy5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGli NjQvbGliY2lsa3J0cy5zby41LiogfCBzZWQgJ3MsXi4qbGliYyxsaWJjLCdgJyApJyA+IDMyL2xp YmNpbGtydHMuc28KKyVlbmRpZgogJWlmICV7YnVpbGRfamF2YX0KLWxuIC1zZiAuLi9gZWNobyAu Li8uLi8uLi8uLi9saWI2NC9saWJnY2ouc28uMTQuKiB8IHNlZCBzfi8uLi9saWI2NC9+L35gIDMy L2xpYmdjai5zbwotbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdjai10b29s cy5zby4xNC4qIHwgc2VkIHN+Ly4uL2xpYjY0L34vfmAgMzIvbGliZ2NqLXRvb2xzLnNvCi1sbiAt c2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2lqLnNvLjE0LiogfCBzZWQgc34vLi4v bGliNjQvfi9+YCAzMi9saWJnaWouc28KK2xuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWI2 NC9saWJnY2ouc28uMTUuKiB8IHNlZCBzfi8uLi9saWI2NC9+L35gIDMyL2xpYmdjai5zbworbG4g LXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdjai10b29scy5zby4xNS4qIHwgc2Vk IHN+Ly4uL2xpYjY0L34vfmAgMzIvbGliZ2NqLXRvb2xzLnNvCitsbiAtc2YgLi4vYGVjaG8gLi4v Li4vLi4vLi4vbGliNjQvbGliZ2lqLnNvLjE1LiogfCBzZWQgc34vLi4vbGliNjQvfi9+YCAzMi9s aWJnaWouc28KICVlbmRpZgogbXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS9saWIvbGlib2Jq Yy4qYSAzMi8KIG12IC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vbGliL2xpYmdvbXAuKmEgMzIv CkBAIC0xNjg3LDEwICsxNzQ2LDYgQEAgbG4gLXNmIC4uL2xpYjMyL2xpYnN0ZGMrKy5hIDMyL2xp YnN0ZGMrKy5hCiBsbiAtc2YgbGliNjQvbGlic3RkYysrLmEgbGlic3RkYysrLmEKIGxuIC1zZiAu Li9saWIzMi9saWJzdXBjKysuYSAzMi9saWJzdXBjKysuYQogbG4gLXNmIGxpYjY0L2xpYnN1cGMr Ky5hIGxpYnN1cGMrKy5hCi1sbiAtc2YgLi4vbGliMzIvbGlibXVkZmxhcC5hIDMyL2xpYm11ZGZs YXAuYQotbG4gLXNmIGxpYjY0L2xpYm11ZGZsYXAuYSBsaWJtdWRmbGFwLmEKLWxuIC1zZiAuLi9s aWIzMi9saWJtdWRmbGFwdGguYSAzMi9saWJtdWRmbGFwdGguYQotbG4gLXNmIGxpYjY0L2xpYm11 ZGZsYXB0aC5hIGxpYm11ZGZsYXB0aC5hCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0KIGxuIC1z ZiAuLi9saWIzMi9saWJxdWFkbWF0aC5hIDMyL2xpYnF1YWRtYXRoLmEKIGxuIC1zZiBsaWI2NC9s aWJxdWFkbWF0aC5hIGxpYnF1YWRtYXRoLmEKQEAgLTE3MDcsNiArMTc2MiwxNCBAQCBsbiAtc2Yg bGliNjQvbGliYXRvbWljLmEgbGliYXRvbWljLmEKIGxuIC1zZiAuLi9saWIzMi9saWJhc2FuLmEg MzIvbGliYXNhbi5hCiBsbiAtc2YgbGliNjQvbGliYXNhbi5hIGxpYmFzYW4uYQogJWVuZGlmCisl aWYgJXtidWlsZF9saWJ1YnNhbn0KK2xuIC1zZiAuLi9saWIzMi9saWJ1YnNhbi5hIDMyL2xpYnVi c2FuLmEKK2xuIC1zZiBsaWI2NC9saWJ1YnNhbi5hIGxpYnVic2FuLmEKKyVlbmRpZgorJWlmICV7 YnVpbGRfbGliY2lsa3J0c30KK2xuIC1zZiAuLi9saWIzMi9saWJjaWxrcnRzLmEgMzIvbGliY2ls a3J0cy5hCitsbiAtc2YgbGliNjQvbGliY2lsa3J0cy5hIGxpYmNpbGtydHMuYQorJWVuZGlmCiAl aWYgJXtidWlsZF9nb30KIGxuIC1zZiAuLi9saWIzMi9saWJnby5hIDMyL2xpYmdvLmEKIGxuIC1z ZiBsaWI2NC9saWJnby5hIGxpYmdvLmEKQEAgLTE3MjgsOCArMTc5MSw2IEBAIGxuIC1zZiBsaWI2 NC9hZGFsaWIgYWRhbGliCiBsbiAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8zMl9hcmNofS0le192 ZW5kb3J9LSV7X3RhcmdldF9vc30vJXtnY2NfdmVyc2lvbn0vbGliZ2ZvcnRyYW4uYSAzMi9saWJn Zm9ydHJhbi5hCiBsbiAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8zMl9hcmNofS0le192ZW5kb3J9 LSV7X3RhcmdldF9vc30vJXtnY2NfdmVyc2lvbn0vbGlic3RkYysrLmEgMzIvbGlic3RkYysrLmEK IGxuIC1zZiAuLi8uLi8uLi8le211bHRpbGliXzMyX2FyY2h9LSV7X3ZlbmRvcn0tJXtfdGFyZ2V0 X29zfS8le2djY192ZXJzaW9ufS9saWJzdXBjKysuYSAzMi9saWJzdXBjKysuYQotbG4gLXNmIC4u Ly4uLy4uLyV7bXVsdGlsaWJfMzJfYXJjaH0tJXtfdmVuZG9yfS0le190YXJnZXRfb3N9LyV7Z2Nj X3ZlcnNpb259L2xpYm11ZGZsYXAuYSAzMi9saWJtdWRmbGFwLmEKLWxuIC1zZiAuLi8uLi8uLi8l e211bHRpbGliXzMyX2FyY2h9LSV7X3ZlbmRvcn0tJXtfdGFyZ2V0X29zfS8le2djY192ZXJzaW9u fS9saWJtdWRmbGFwdGguYSAzMi9saWJtdWRmbGFwdGguYQogJWlmICV7YnVpbGRfbGlicXVhZG1h dGh9CiBsbiAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8zMl9hcmNofS0le192ZW5kb3J9LSV7X3Rh cmdldF9vc30vJXtnY2NfdmVyc2lvbn0vbGlicXVhZG1hdGguYSAzMi9saWJxdWFkbWF0aC5hCiAl ZW5kaWYKQEAgLTE3NDIsNiArMTgwMywxMiBAQCBsbiAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8z Ml9hcmNofS0le192ZW5kb3J9LSV7X3RhcmdldF9vc30vJXtnY2NfdmVyc2lvbn0vbGliYQogJWlm ICV7YnVpbGRfbGliYXNhbn0KIGxuIC1zZiAuLi8uLi8uLi8le211bHRpbGliXzMyX2FyY2h9LSV7 X3ZlbmRvcn0tJXtfdGFyZ2V0X29zfS8le2djY192ZXJzaW9ufS9saWJhc2FuLmEgMzIvbGliYXNh bi5hCiAlZW5kaWYKKyVpZiAle2J1aWxkX2xpYnVic2FufQorbG4gLXNmIC4uLy4uLy4uLyV7bXVs dGlsaWJfMzJfYXJjaH0tJXtfdmVuZG9yfS0le190YXJnZXRfb3N9LyV7Z2NjX3ZlcnNpb259L2xp YnVic2FuLmEgMzIvbGlidWJzYW4uYQorJWVuZGlmCislaWYgJXtidWlsZF9saWJjaWxrcnRzfQor bG4gLXNmIC4uLy4uLy4uLyV7bXVsdGlsaWJfMzJfYXJjaH0tJXtfdmVuZG9yfS0le190YXJnZXRf b3N9LyV7Z2NjX3ZlcnNpb259L2xpYmNpbGtydHMuYSAzMi9saWJjaWxrcnRzLmEKKyVlbmRpZgog JWlmICV7YnVpbGRfZ299CiBsbiAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8zMl9hcmNofS0le192 ZW5kb3J9LSV7X3RhcmdldF9vc30vJXtnY2NfdmVyc2lvbn0vbGliZ28uYSAzMi9saWJnby5hCiBs biAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8zMl9hcmNofS0le192ZW5kb3J9LSV7X3RhcmdldF9v c30vJXtnY2NfdmVyc2lvbn0vbGliZ29iZWdpbi5hIDMyL2xpYmdvYmVnaW4uYQpAQCAtMTc1OCwx NSArMTgyNSwxNCBAQCBsbiAtc2YgLi4vLi4vLi4vJXttdWx0aWxpYl8zMl9hcmNofS0le192ZW5k b3J9LSV7X3RhcmdldF9vc30vJXtnY2NfdmVyc2lvbn0vYWRhbAogCiAjIFN0cmlwIGRlYnVnIGlu Zm8gZnJvbSBGb3J0cmFuL09iakMvSmF2YSBzdGF0aWMgbGlicmFyaWVzCiBzdHJpcCAtZyBgZmlu ZCAuIFwoIC1uYW1lIGxpYmdmb3J0cmFuLmEgLW8gLW5hbWUgbGlib2JqYy5hIC1vIC1uYW1lIGxp YmdvbXAuYSBcCi0JCSAgICAtbyAtbmFtZSBsaWJtdWRmbGFwLmEgLW8gLW5hbWUgbGlibXVkZmxh cHRoLmEgXAogCQkgICAgLW8gLW5hbWUgbGliZ2NjLmEgLW8gLW5hbWUgbGliZ2Nvdi5hIC1vIC1u YW1lIGxpYnF1YWRtYXRoLmEgXAogCQkgICAgLW8gLW5hbWUgbGliaXRtLmEgLW8gLW5hbWUgbGli Z28uYSAtbyAtbmFtZSBsaWJjYWZcKi5hIFwKLQkJICAgIC1vIC1uYW1lIGxpYmF0b21pYy5hIC1v IC1uYW1lIGxpYmFzYW4uYSAtbyAtbmFtZSBsaWJ0c2FuLmEgXCkgXAorCQkgICAgLW8gLW5hbWUg bGliYXRvbWljLmEgLW8gLW5hbWUgbGliYXNhbi5hIC1vIC1uYW1lIGxpYnRzYW4uYSBcCisJCSAg ICAtbyAtbmFtZSBsaWJ1YnNhbi5hIC1vIC1uYW1lIGxpYmxzYW4uYSAtbyAtbmFtZSBsaWJjaWxr cnRzLmEgXCkgXAogCQkgLWEgLXR5cGUgZmAKIHBvcGQKIGNobW9kIDc1NSAle2J1aWxkcm9vdH0l e19wcmVmaXh9LyV7X2xpYn0vbGliZ2ZvcnRyYW4uc28uMy4qCiBjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmdvbXAuc28uMS4qCi1jaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYm11ZGZsYXB7LHRofS5zby4wLioKICVpZiAle2J1aWxk X2xpYnF1YWRtYXRofQogY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9s aWJxdWFkbWF0aC5zby4wLioKICVlbmRpZgpAQCAtMTc3NywxMyArMTg0MywyMiBAQCBjaG1vZCA3 NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYml0bS5zby4xLioKIGNobW9kIDc1 NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliYXRvbWljLnNvLjEuKgogJWVuZGlm CiAlaWYgJXtidWlsZF9saWJhc2FufQotY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0v JXtfbGlifS9saWJhc2FuLnNvLjAuKgorY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0v JXtfbGlifS9saWJhc2FuLnNvLjEuKgorJWVuZGlmCislaWYgJXtidWlsZF9saWJ1YnNhbn0KK2No bW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlidWJzYW4uc28uMC4qCisl ZW5kaWYKKyVpZiAle2J1aWxkX2xpYmNpbGtydHN9CitjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtf cHJlZml4fS8le19saWJ9L2xpYmNpbGtydHMuc28uNS4qCiAlZW5kaWYKICVpZiAle2J1aWxkX2xp YnRzYW59CiBjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYnRzYW4u c28uMC4qCiAlZW5kaWYKKyVpZiAle2J1aWxkX2xpYmxzYW59CitjaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmxzYW4uc28uMC4qCislZW5kaWYKICVpZiAle2J1aWxk X2dvfQotY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJnby5zby40 LioKK2NobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28uNS4q CiAlZW5kaWYKIGNobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlib2Jq Yy5zby40LioKIApAQCAtMTgzOCw2ICsxOTEzLDcgQEAgcm0gLWYgJXtidWlsZHJvb3R9JXtfcHJl Zml4fS8le19saWJ9L3tsaWJmZmkqLGxpYmliZXJ0eS5hfQogcm0gLWYgJEZVTExFUEFUSC9pbnN0 YWxsLXRvb2xzL3tta2hlYWRlcnMsZml4aW5jbH0KIHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZp eH0vbGliL3szMiw2NH0vbGliaWJlcnR5LmEKIHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0v JXtfbGlifS9saWJzc3AqCitybSAtZiAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGli dnR2KiB8fCA6CiBybSAtZiAle2J1aWxkcm9vdH0le19wcmVmaXh9L2Jpbi9nYXBwbGV0dmlld2Vy IHx8IDoKIHJtIC1mICV7YnVpbGRyb290fSV7X3ByZWZpeH0vYmluLyV7X3RhcmdldF9wbGF0Zm9y bX0tZ2NjLSV7dmVyc2lvbn0gfHwgOgogcm0gLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS9iaW4v JXtfdGFyZ2V0X3BsYXRmb3JtfS1nZm9ydHJhbiB8fCA6CkBAIC0yMDU1LDEwICsyMTMxLDYgQEAg ZmkKIAogJXBvc3R1biAtbiBsaWJnb21wIC1wIC9zYmluL2xkY29uZmlnCiAKLSVwb3N0IC1uIGxp Ym11ZGZsYXAgLXAgL3NiaW4vbGRjb25maWcKLQotJXBvc3R1biAtbiBsaWJtdWRmbGFwIC1wIC9z YmluL2xkY29uZmlnCi0KICVwb3N0IC1uIGxpYnF1YWRtYXRoCiAvc2Jpbi9sZGNvbmZpZwogaWYg WyAtZiAle19pbmZvZGlyfS9saWJxdWFkbWF0aC5pbmZvLmd6IF07IHRoZW4KQEAgLTIwOTcsMTAg KzIxNjksMjIgQEAgZmkKIAogJXBvc3R1biAtbiBsaWJhc2FuIC1wIC9zYmluL2xkY29uZmlnCiAK KyVwb3N0IC1uIGxpYnVic2FuIC1wIC9zYmluL2xkY29uZmlnCisKKyVwb3N0dW4gLW4gbGlidWJz YW4gLXAgL3NiaW4vbGRjb25maWcKKwogJXBvc3QgLW4gbGlidHNhbiAtcCAvc2Jpbi9sZGNvbmZp ZwogCiAlcG9zdHVuIC1uIGxpYnRzYW4gLXAgL3NiaW4vbGRjb25maWcKIAorJXBvc3QgLW4gbGli bHNhbiAtcCAvc2Jpbi9sZGNvbmZpZworCislcG9zdHVuIC1uIGxpYmxzYW4gLXAgL3NiaW4vbGRj b25maWcKKworJXBvc3QgLW4gbGliY2lsa3J0cyAtcCAvc2Jpbi9sZGNvbmZpZworCislcG9zdHVu IC1uIGxpYmNpbGtydHMgLXAgL3NiaW4vbGRjb25maWcKKwogJXBvc3QgLW4gbGliZ28gLXAgL3Ni aW4vbGRjb25maWcKIAogJXBvc3R1biAtbiBsaWJnbyAtcCAvc2Jpbi9sZGNvbmZpZwpAQCAtMjE1 NCw2ICsyMjM4LDcgQEAgZmkKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvc3RkaW50LWdjYy5oCiAle19wcmVmaXh9L2xpYi9n Y2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL3N0ZGFsaWdu LmgKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNp b259L2luY2x1ZGUvc3Rkbm9yZXR1cm4uaAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3Rhcmdl dF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9zdGRhdG9taWMuaAogJWlmYXJjaCAl e2l4ODZ9IHg4Nl82NAogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0v JXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9tbWludHJpbi5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtn Y2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL3htbWludHJpbi5oCkBA IC0yMTg4LDYgKzIyNzMsMTEgQEAgZmkKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvZnhzcmludHJpbi5oCiAle19wcmVmaXh9 L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL3hz YXZlaW50cmluLmgKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7 Z2NjX3ZlcnNpb259L2luY2x1ZGUveHNhdmVvcHRpbnRyaW4uaAorJXtfcHJlZml4fS9saWIvZ2Nj LyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9hdng1MTJjZGlu dHJpbi5oCisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192 ZXJzaW9ufS9pbmNsdWRlL2F2eDUxMmVyaW50cmluLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2dj Y190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvYXZ4NTEyZmludHJpbi5o Cisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9u fS9pbmNsdWRlL2F2eDUxMnBmaW50cmluLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJn ZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvc2hhaW50cmluLmgKICV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUv bW1fbWFsbG9jLmgKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7 Z2NjX3ZlcnNpb259L2luY2x1ZGUvbW0zZG5vdy5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2Nf dGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL2NwdWlkLmgKQEAgLTIyMjQs NiArMjMxNCw5IEBAIGZpCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3Jt fS8le2djY192ZXJzaW9ufS9pbmNsdWRlL2h0bWludHJpbi5oCiAle19wcmVmaXh9L2xpYi9nY2Mv JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9pbmNsdWRlL2h0bXhsaW50cmlu LmgKICVlbmRpZgorJWlmICV7YnVpbGRfbGliY2lsa3J0c30KKyV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2luY2x1ZGUvY2lsaworJWVuZGlm CiAle19wcmVmaXh9L2xpYmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVy c2lvbn0vY29sbGVjdDIKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19 LyV7Z2NjX3ZlcnNpb259L2NydCoubwogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGliZ2NjLmEKQEAgLTIyMzYsNiArMjMyOSw5IEBAIGZp CiAlaWYgJXtidWlsZF9saWJpdG19CiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3Bs YXRmb3JtfS8le2djY192ZXJzaW9ufS9saWJpdG0uc3BlYwogJWVuZGlmCislaWYgJXtidWlsZF9s aWJhc2FufQorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2Nf dmVyc2lvbn0vbGlic2FuaXRpemVyLnNwZWMKKyVlbmRpZgogJWlmICV7YnVpbGRfY2xvb2d9CiAl e19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9s aWJjbG9vZy1pc2wuc28uKgogJWVuZGlmCkBAIC0yMjQ4LDEwICsyMzQ0LDYgQEAgZmkKICV7X3By ZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzY0L2xp YmdjY19zLnNvCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y192ZXJzaW9ufS82NC9saWJnb21wLmEKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzY0L2xpYmdvbXAuc28KLSV7X3ByZWZpeH0vbGliL2dj Yy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzY0L2xpYm11ZGZsYXAuYQot JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0v NjQvbGlibXVkZmxhcHRoLmEKLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259LzY0L2xpYm11ZGZsYXAuc28KLSV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzY0L2xpYm11ZGZsYXB0aC5zbwog JWlmICV7YnVpbGRfbGlicXVhZG1hdGh9CiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0 X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJxdWFkbWF0aC5hCiAle19wcmVmaXh9L2xp Yi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJxdWFkbWF0 aC5zbwpAQCAtMjI2OSw2ICsyMzYxLDE0IEBAIGZpCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2Nf dGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJhc2FuLnNvCiAle19wcmVmaXh9 L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJhc2Fu X3ByZWluaXQubwogJWVuZGlmCislaWYgJXtidWlsZF9saWJ1YnNhbn0KKyV7X3ByZWZpeH0vbGli L2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzY0L2xpYnVic2FuLmEK KyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259 LzY0L2xpYnVic2FuLnNvCislZW5kaWYKKyVpZiAle2J1aWxkX2xpYmNpbGtydHN9Cisle19wcmVm aXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS82NC9saWJj aWxrcnRzLmEKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2Nj X3ZlcnNpb259LzY0L2xpYmNpbGtydHMuc28KKyVlbmRpZgogJWVuZGlmCiAlaWZhcmNoICV7bXVs dGlsaWJfNjRfYXJjaHN9CiAlZGlyICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxh dGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyCkBAIC0yMjc5LDEwICsyMzc5LDYgQEAgZmkKICV7X3By ZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyL2xp YmdjY19zLnNvCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y192ZXJzaW9ufS8zMi9saWJnb21wLmEKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyL2xpYmdvbXAuc28KLSV7X3ByZWZpeH0vbGliL2dj Yy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyL2xpYm11ZGZsYXAuYQot JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0v MzIvbGlibXVkZmxhcHRoLmEKLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259LzMyL2xpYm11ZGZsYXAuc28KLSV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259LzMyL2xpYm11ZGZsYXB0aC5zbwog JWlmICV7YnVpbGRfbGlicXVhZG1hdGh9CiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0 X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS8zMi9saWJxdWFkbWF0aC5hCiAle19wcmVmaXh9L2xp Yi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS8zMi9saWJxdWFkbWF0 aC5zbwpAQCAtMjMwMCwxMiArMjM5NiwxNiBAQCBmaQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2Nj X3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vMzIvbGliYXNhbi5zbwogJXtfcHJlZml4 fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vMzIvbGliYXNh bl9wcmVpbml0Lm8KICVlbmRpZgorJWlmICV7YnVpbGRfbGlidWJzYW59Cisle19wcmVmaXh9L2xp Yi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS8zMi9saWJ1YnNhbi5h Cisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9u fS8zMi9saWJ1YnNhbi5zbworJWVuZGlmCislaWYgJXtidWlsZF9saWJjaWxrcnRzfQorJXtfcHJl Zml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vMzIvbGli Y2lsa3J0cy5hCisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y192ZXJzaW9ufS8zMi9saWJjaWxrcnRzLnNvCislZW5kaWYKICVlbmRpZgogJWlmYXJjaCBzcGFy Y3Y5IHNwYXJjNjQgcHBjIHBwYzY0IHBwYzY0cDcKLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190 YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYm11ZGZsYXAuYQotJXtfcHJlZml4fS9s aWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGlibXVkZmxhcHRo LmEKLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNp b259L2xpYm11ZGZsYXAuc28KLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX3ZlcnNpb259L2xpYm11ZGZsYXB0aC5zbwogJWlmICV7YnVpbGRfbGlicXVhZG1h dGh9CiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJz aW9ufS9saWJxdWFkbWF0aC5hCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRm b3JtfS8le2djY192ZXJzaW9ufS9saWJxdWFkbWF0aC5zbwpAQCAtMjMyMywxMCArMjQyMywyMiBA QCBmaQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVy c2lvbn0vbGliYXNhbi5zbwogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9y bX0vJXtnY2NfdmVyc2lvbn0vbGliYXNhbl9wcmVpbml0Lm8KICVlbmRpZgorJWlmICV7YnVpbGRf bGlidWJzYW59Cisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y192ZXJzaW9ufS9saWJ1YnNhbi5hCisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3Bs YXRmb3JtfS8le2djY192ZXJzaW9ufS9saWJ1YnNhbi5zbworJWVuZGlmCislaWYgJXtidWlsZF9s aWJjaWxrcnRzfQorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtn Y2NfdmVyc2lvbn0vbGliY2lsa3J0cy5hCisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0 X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9saWJjaWxrcnRzLnNvCislZW5kaWYKICVpZiAle2J1 aWxkX2xpYnRzYW59CiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8l e2djY192ZXJzaW9ufS9saWJ0c2FuLmEKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYnRzYW4uc28KICVlbmRpZgorJWlmICV7YnVpbGRf bGlibHNhbn0KKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2Nj X3ZlcnNpb259L2xpYmxzYW4uYQorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0 Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGlibHNhbi5zbworJWVuZGlmCiAlZWxzZQogJWlmICV7YnVp bGRfbGliYXRvbWljfQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0v JXtnY2NfdmVyc2lvbn0vbGliYXRvbWljLnNvCkBAIC0yMzM1LDkgKzI0NDcsMTggQEAgZmkKICV7 X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xp YmFzYW4uc28KICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2Nj X3ZlcnNpb259L2xpYmFzYW5fcHJlaW5pdC5vCiAlZW5kaWYKKyVpZiAle2J1aWxkX2xpYnVic2Fu fQorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lv bn0vbGlidWJzYW4uc28KKyVlbmRpZgorJWlmICV7YnVpbGRfbGliY2lsa3J0c30KKyV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYmNpbGty dHMuc28KKyVlbmRpZgogJWlmICV7YnVpbGRfbGlidHNhbn0KICV7X3ByZWZpeH0vbGliL2djYy8l e2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYnRzYW4uc28KICVlbmRpZgor JWlmICV7YnVpbGRfbGlibHNhbn0KKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxh dGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYmxzYW4uc28KKyVlbmRpZgogJWVuZGlmCiAlZGlyICV7 X3ByZWZpeH0vbGliZXhlYy9nZXRjb25mCiAle19wcmVmaXh9L2xpYmV4ZWMvZ2V0Y29uZi9kZWZh dWx0CkBAIC0yNzczLDQ0ICsyODk0LDYgQEAgZmkKICV7X2luZm9kaXJ9L2xpYmdvbXAuaW5mbyoK ICVkb2MgcnBtLmRvYy9jaGFuZ2Vsb2dzL2xpYmdvbXAvQ2hhbmdlTG9nKgogCi0lZmlsZXMgLW4g bGlibXVkZmxhcAotJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKLSV7X3ByZWZpeH0vJXtfbGlifS9s aWJtdWRmbGFwLnNvLjAqCi0le19wcmVmaXh9LyV7X2xpYn0vbGlibXVkZmxhcHRoLnNvLjAqCi0K LSVmaWxlcyAtbiBsaWJtdWRmbGFwLWRldmVsCi0lZGVmYXR0cigtLHJvb3Qscm9vdCwtKQotJWRp ciAle19wcmVmaXh9L2xpYi9nY2MKLSVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3Rhcmdl dF9wbGF0Zm9ybX0KLSVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9y bX0vJXtnY2NfdmVyc2lvbn0KLSVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZQotJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2Nj X3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vaW5jbHVkZS9tZi1ydW50aW1lLmgKLSVp Zm5hcmNoIHNwYXJjdjkgc3BhcmM2NCBwcGMgcHBjNjQgcHBjNjRwNwotJXtfcHJlZml4fS9saWIv Z2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGlibXVkZmxhcC5zbwot JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0v bGlibXVkZmxhcHRoLnNvCi0lZW5kaWYKLSVkb2MgcnBtLmRvYy9jaGFuZ2Vsb2dzL2xpYm11ZGZs YXAvQ2hhbmdlTG9nKgotCi0lZmlsZXMgLW4gbGlibXVkZmxhcC1zdGF0aWMKLSVkZWZhdHRyKC0s cm9vdCxyb290LC0pCi0lZGlyICV7X3ByZWZpeH0vbGliL2djYwotJWRpciAle19wcmVmaXh9L2xp Yi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfQotJWRpciAle19wcmVmaXh9L2xpYi9nY2MvJXtn Y2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufQotJWlmYXJjaCBzcGFyY3Y5IHBwYwot JWRpciAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJz aW9ufS9saWIzMgotJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtn Y2NfdmVyc2lvbn0vbGliMzIvbGlibXVkZmxhcC5hCi0le19wcmVmaXh9L2xpYi9nY2MvJXtnY2Nf dGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9saWIzMi9saWJtdWRmbGFwdGguYQotJWVu ZGlmCi0laWZhcmNoIHNwYXJjNjQgcHBjNjQgcHBjNjRwNwotJWRpciAle19wcmVmaXh9L2xpYi9n Y2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9saWI2NAotJXtfcHJlZml4 fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGliNjQvbGli bXVkZmxhcC5hCi0le19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y192ZXJzaW9ufS9saWI2NC9saWJtdWRmbGFwdGguYQotJWVuZGlmCi0laWZuYXJjaCBzcGFyY3Y5 IHNwYXJjNjQgcHBjIHBwYzY0IHBwYzY0cDcKLSV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJn ZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYm11ZGZsYXAuYQotJXtfcHJlZml4fS9saWIv Z2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGlibXVkZmxhcHRoLmEK LSVlbmRpZgotCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0KICVmaWxlcyAtbiBsaWJxdWFkbWF0 aAogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKQEAgLTI5MTMsNyArMjk5Niw3IEBAIGZpCiAlaWYg JXtidWlsZF9saWJhc2FufQogJWZpbGVzIC1uIGxpYmFzYW4KICVkZWZhdHRyKC0scm9vdCxyb290 LC0pCi0le19wcmVmaXh9LyV7X2xpYn0vbGliYXNhbi5zby4wKgorJXtfcHJlZml4fS8le19saWJ9 L2xpYmFzYW4uc28uMSoKIAogJWZpbGVzIC1uIGxpYmFzYW4tc3RhdGljCiAlZGVmYXR0cigtLHJv b3Qscm9vdCwtKQpAQCAtMjkzNCw2ICszMDE3LDMwIEBAIGZpCiAlZG9jIHJwbS5kb2MvY2hhbmdl bG9ncy9saWJzYW5pdGl6ZXIvQ2hhbmdlTG9nKiBsaWJzYW5pdGl6ZXIvTElDRU5TRS5UWFQKICVl bmRpZgogCislaWYgJXtidWlsZF9saWJ1YnNhbn0KKyVmaWxlcyAtbiBsaWJ1YnNhbgorJWRlZmF0 dHIoLSxyb290LHJvb3QsLSkKKyV7X3ByZWZpeH0vJXtfbGlifS9saWJ1YnNhbi5zby4wKgorCisl ZmlsZXMgLW4gbGlidWJzYW4tc3RhdGljCislZGVmYXR0cigtLHJvb3Qscm9vdCwtKQorJWRpciAl e19wcmVmaXh9L2xpYi9nY2MKKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0KKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0v JXtnY2NfdmVyc2lvbn0KKyVpZmFyY2ggc3BhcmN2OSBwcGMKKyVkaXIgJXtfcHJlZml4fS9saWIv Z2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGliMzIKKyV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYjMyL2xp YnVic2FuLmEKKyVlbmRpZgorJWlmYXJjaCBzcGFyYzY0IHBwYzY0IHBwYzY0cDcKKyVkaXIgJXtf cHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGli NjQKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNp b259L2xpYjY0L2xpYnVic2FuLmEKKyVlbmRpZgorJWlmbmFyY2ggc3BhcmN2OSBzcGFyYzY0IHBw YyBwcGM2NCBwcGM2NHA3Cisle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3Jt fS8le2djY192ZXJzaW9ufS9saWJ1YnNhbi5hCislZW5kaWYKKyVkb2MgcnBtLmRvYy9jaGFuZ2Vs b2dzL2xpYnNhbml0aXplci9DaGFuZ2VMb2cqIGxpYnNhbml0aXplci9MSUNFTlNFLlRYVAorJWVu ZGlmCisKICVpZiAle2J1aWxkX2xpYnRzYW59CiAlZmlsZXMgLW4gbGlidHNhbgogJWRlZmF0dHIo LSxyb290LHJvb3QsLSkKQEAgLTI5NDgsNiArMzA1NSw0NCBAQCBmaQogJWRvYyBycG0uZG9jL2No YW5nZWxvZ3MvbGlic2FuaXRpemVyL0NoYW5nZUxvZyogbGlic2FuaXRpemVyL0xJQ0VOU0UuVFhU CiAlZW5kaWYKIAorJWlmICV7YnVpbGRfbGlibHNhbn0KKyVmaWxlcyAtbiBsaWJsc2FuCislZGVm YXR0cigtLHJvb3Qscm9vdCwtKQorJXtfcHJlZml4fS8le19saWJ9L2xpYmxzYW4uc28uMCoKKwor JWZpbGVzIC1uIGxpYmxzYW4tc3RhdGljCislZGVmYXR0cigtLHJvb3Qscm9vdCwtKQorJWRpciAl e19wcmVmaXh9L2xpYi9nY2MKKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0KKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0v JXtnY2NfdmVyc2lvbn0KKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19 LyV7Z2NjX3ZlcnNpb259L2xpYmxzYW4uYQorJWRvYyBycG0uZG9jL2NoYW5nZWxvZ3MvbGlic2Fu aXRpemVyL0NoYW5nZUxvZyogbGlic2FuaXRpemVyL0xJQ0VOU0UuVFhUCislZW5kaWYKKworJWlm ICV7YnVpbGRfbGliY2lsa3J0c30KKyVmaWxlcyAtbiBsaWJjaWxrcnRzCislZGVmYXR0cigtLHJv b3Qscm9vdCwtKQorJXtfcHJlZml4fS8le19saWJ9L2xpYmNpbGtydHMuc28uNSoKKworJWZpbGVz IC1uIGxpYmNpbGtydHMtc3RhdGljCislZGVmYXR0cigtLHJvb3Qscm9vdCwtKQorJWRpciAle19w cmVmaXh9L2xpYi9nY2MKKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0 Zm9ybX0KKyVkaXIgJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtn Y2NfdmVyc2lvbn0KKyVpZmFyY2ggc3BhcmN2OSBwcGMKKyVkaXIgJXtfcHJlZml4fS9saWIvZ2Nj LyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vbGliMzIKKyV7X3ByZWZpeH0v bGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX3ZlcnNpb259L2xpYjMyL2xpYmNp bGtydHMuYQorJWVuZGlmCislaWZhcmNoIHNwYXJjNjQgcHBjNjQgcHBjNjRwNworJWRpciAle19w cmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY192ZXJzaW9ufS9saWI2 NAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lv bn0vbGliNjQvbGliY2lsa3J0cy5hCislZW5kaWYKKyVpZm5hcmNoIHNwYXJjdjkgc3BhcmM2NCBw cGMgcHBjNjQgcHBjNjRwNworJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9y bX0vJXtnY2NfdmVyc2lvbn0vbGliY2lsa3J0cy5hCislZW5kaWYKKyVkb2MgcnBtLmRvYy9jaGFu Z2Vsb2dzL2xpYmNpbGtydHMvQ2hhbmdlTG9nKiBsaWJjaWxrcnRzL1JFQURNRQorJWVuZGlmCisK ICVpZiAle2J1aWxkX2dvfQogJWZpbGVzIGdvCiAlZGVmYXR0cigtLHJvb3Qscm9vdCwtKQpAQCAt Mjk4Myw3ICszMTI4LDcgQEAgZmkKIAogJWZpbGVzIC1uIGxpYmdvCiAlZGVmYXR0cigtLHJvb3Qs cm9vdCwtKQotJXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjQqCisle19wcmVmaXh9LyV7X2xp Yn0vbGliZ28uc28uNSoKICVkb2MgcnBtLmRvYy9saWJnby8qCiAKICVmaWxlcyAtbiBsaWJnby1k ZXZlbApAQCAtMzA0NCw0OTkgKzMxODksMTI2IEBAIGZpCiAle19wcmVmaXh9L2xpYmV4ZWMvZ2Nj LyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfdmVyc2lvbn0vcGx1Z2luCiAKICVjaGFuZ2Vs b2cKLSogVGh1IEZlYiAyMCAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQu OC4yLTE1Ci0tIGZpeCBleGNlcHRpb24gc3BlYyBpbnN0YW50aWF0aW9uIElDRSAoIzEwNjczOTgs IFBSIGMrKy82MDA0NikKLS0gZml4IHBjaCBvbiBhYXJjaDY0ICgjMTA1ODk5MSwgUFIgcGNoLzYw MDEwKQorKiBXZWQgQXByICA5IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4g NC45LjAtMC45CistIHVwZGF0ZSBmcm9tIHRoZSB0cnVuaworICAtIFBScyBhZGEvNjA3MDMsIGJv b3RzdHJhcC82MDYyMCwgYm9vdHN0cmFwLzYwNzE5LCBib290c3RyYXAvNjA3NDMsCisJYysrLzIx MTEzLCBjKysvNDQ2MTMsIGMrKy80NDg1OSwgYysrLzU4MjA3LCBjKysvNTkxMTUsIGMrKy82MDM3 NCwKKwljKysvNjA1NzMsIGMrKy82MDYyNiwgYysrLzYwNjQyLCBjKysvNjA3MDgsIGMrKy82MDcx MywgYysrLzYwNzMxLAorCWRlYnVnLzU1Nzk0LCBkZWJ1Zy82MDY1NSwgZm9ydHJhbi82MDE5MSwg aXBhLzU5NjI2LCBpcGEvNjA2NDAsCisJaXBhLzYwNjU5LCBpcGEvNjA3NDYsIGxpYnN0ZGMrKy82 MDI3MCwgbWlkZGxlLWVuZC82MDcwNiwKKwltaWRkbGUtZW5kLzYwNzI5LCBtaWRkbGUtZW5kLzYw NzUwLCBydGwtb3B0aW1pemF0aW9uLzYwMTU1LAorCXJ0bC1vcHRpbWl6YXRpb24vNjA2MDQsIHJ0 bC1vcHRpbWl6YXRpb24vNjA3MDAsCisJcnRsLW9wdGltaXphdGlvbi82MDc3Niwgc2FuaXRpemVy LzYwNzQ1LCB0YXJnZXQvNDM3NTEsIHRhcmdldC81NDA4MywKKwl0YXJnZXQvNTQ0MDcsIHRhcmdl dC82MDAzNCwgdGFyZ2V0LzYwMzYzLCB0YXJnZXQvNjA1MDQsIHRhcmdldC82MDYwMiwKKwl0YXJn ZXQvNjA2MDksIHRhcmdldC82MDY1MCwgdGFyZ2V0LzYwNjU3LCB0YXJnZXQvNjA2OTcsIHRhcmdl dC82MDcwNCwKKwl0YXJnZXQvNjA3MzUsIHRhcmdldC82MDc2MywgdGVzdHN1aXRlLzYwNjcxLCB0 ZXN0c3VpdGUvNjA2NzIsCisJdHJlZS1vcHRpbWl6YXRpb24vNjA1MDUsIHRyZWUtb3B0aW1pemF0 aW9uLzYwNjU2LAorCXRyZWUtb3B0aW1pemF0aW9uLzYwNzMzLCB0cmVlLW9wdGltaXphdGlvbi82 MDc0MCwKKwl0cmVlLW9wdGltaXphdGlvbi82MDc2NiwgdHJlZS1vcHRpbWl6YXRpb24vNjA3ODUK KworKiBGcmkgTWFyIDI4IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC45 LjAtMC44CistIHVwZGF0ZSBmcm9tIHRoZSB0cnVuaworICAtIFBScyBjKysvNTIzNjksIGMrKy82 MDMzMSwgYysrLzYwMzc1LCBjKysvNjA1NjYsIGMrKy82MDU3NCwgYysrLzYwNjI3LAorCWMrKy82 MDYyOCwgYysrLzYwNjg5LCBjLzM1NDQ5LCBjLzM3NDI4LCBjLzM5NTI1LCBjLzUwMzQ3LAorCWZv cnRyYW4vMzQ5MjgsIGZvcnRyYW4vNTg4ODAsIGZvcnRyYW4vNjA1MjIsIGZvcnRyYW4vNjA2Nzcs IGlwYS82MDMxNSwKKwlpcGEvNjA2MDAsIGxpYnN0ZGMrKy82MDYxMiwgbGlic3RkYysrLzYwNjU4 LCBtaWRkbGUtZW5kLzYwNjM1LAorCW1pZGRsZS1lbmQvNjA2ODIsIG90aGVyLzU5NTQ1LCBydGwt b3B0aW1pemF0aW9uLzYwNDUyLAorCXJ0bC1vcHRpbWl6YXRpb24vNjA1MDEsIHJ0bC1vcHRpbWl6 YXRpb24vNjA2NTAsIHNhbml0aXplci81Njc4MSwKKwlzYW5pdGl6ZXIvNjA2MzYsIHRhcmdldC82 MDU4MCwgdGFyZ2V0LzYwNjcyLCB0YXJnZXQvNjA2NzUsCisJdGFyZ2V0LzYwNjkzLCB0ZXN0c3Vp dGUvNTgwMTMKKy0gaW5saW5lciBzcGVlZCBmaXhlcyAoUFIgaXBhLzYwMjQzKQorLSBmb3J0cmFu IHdyb25nLWNvZGUgZml4IChQUiBmb3J0cmFuLzYwNTc2KQorLSBmaXggSVBBLVNSQSB3aXRoIG1p c21hdGNoZWQgdHlwZXMgYmV0d2VlbiBjYWxsZXIgYW5kIGNhbGxlZQorICAoUFIgbWlkZGxlLWVu ZC82MDY0NykKKy0gZml4IGV4cGFuc2lvbiBvZiBzd2l0Y2ggd2l0aCBjb25zdGFudCBpbmRleCBu b3Qgb3B0aW1pemVkIGR1cmluZyBnaW1wbGUKKyAgcGFzc2VzIChQUiB0YXJnZXQvNjA2NDgpCisK KyogTW9uIE1hciAyNCAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOS4w LTAuNworLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsKKyAgLSBQUnMgYysrLzYwMzg0LCBkZWJ1Zy82 MDYwMywgZm9ydHJhbi82MDU5OSwgaXBhLzU5MTc2LCBpcGEvNjA0MTksCisJbGlic3RkYysrLzYw NTg3LCBsaWJzdGRjKysvNjA2MjMsIHJ0bC1vcHRpbWl6YXRpb24vNjA2MDEsCisJc2FuaXRpemVy LzYwNjEzLCB0YXJnZXQvNjA1OTgsIHRhcmdldC82MDYxMCwgdHJlZS1vcHRpbWl6YXRpb24vNjA1 NzcKKworKiBUaHUgTWFyIDIwIDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4g NC45LjAtMC42CistIHVwZGF0ZSBmcm9tIHRoZSB0cnVuaworICAtIFBScyBhZGEvMzkxNzIsIGMr Ky81MTQ3NCwgYysrLzU0MjUwLCBjKysvNTk1NzEsIGMrKy82MDMwNSwgYysrLzYwMzMyLAorCWMr Ky82MDM5MCwgYysrLzYwMzkxLCBjKysvNjA1NzIsIGMvNTUzODMsIGZvcnRyYW4vNTUyMDcsCisJ Zm9ydHJhbi82MDI4MywgZm9ydHJhbi82MDU0MywgZm9ydHJhbi82MDU0OSwgbGliZm9ydHJhbi80 ODYwMCwKKwlsaWJmb3J0cmFuLzU4MzI0LCBsaWJzdGRjKysvNjA1NjQsIGx0by81OTU0MywgbHRv LzYwNTcxLAorCW1pZGRsZS1lbmQvNjA1MzQsIG1pZGRsZS1lbmQvNjA1NTMsIG1pZGRsZS1lbmQv NjA1OTcsIG90aGVyLzYwNTg5LAorCXJ0bC1vcHRpbWl6YXRpb24vNTYzNTYsIHNhbml0aXplci82 MDUzNSwgc2FuaXRpemVyLzYwNTU3LAorCXNhbml0aXplci82MDU2OSwgdGFyZ2V0LzYwMDM5LCB0 YXJnZXQvNjA1MTYsIHRhcmdldC82MDU2MiwKKwl0YXJnZXQvNjA1NjMsIHRhcmdldC82MDU2OCwg dGVzdHN1aXRlLzU4ODUxLCB0ZXN0c3VpdGUvNjA1OTAsCisJdHJlZS1vcHRpbWl6YXRpb24vNjA1 NTkKKworKiBTYXQgTWFyIDE1IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4g NC45LjAtMC41CistIHVwZGF0ZSBmcm9tIHRoZSB0cnVuaworICAtIFBScyBhZGEvNTE0ODMsIGFk YS82MDQxMSwgYm9vdHN0cmFwLzU4NTcyLCBjKysvNTM0OTIsIGMrKy81ODYwOSwKKwljKysvNjAw MzMsIGMrKy82MDI1NCwgYysrLzYwMzY3LCBjKysvNjAzODMsIGMrKy82MDM4OSwgYysrLzYwMzkz LAorCWMrKy82MDUzMiwgYy82MDE5NywgZGVidWcvNjA0MzgsIGZvcnRyYW4vNTE5NzYsIGZvcnRy YW4vNjAzOTIsCisJZm9ydHJhbi82MDQ0NywgaXBhLzU4NzIxLCBpcGEvNjA0NTcsIGxpYmZvcnRy YW4vMzgxOTksCisJbGliZm9ydHJhbi82MDEyOCwgbGliZ2NjLzU5MzM5LCBsaWJnY2MvNjA0NzIs IGxpYmdmb3J0cmFuLzYwMTI4LAorCWxpYnN0ZGMrKy81OTM5MiwgbGlic3RkYysrLzYwNDk5LCBs dG8vNjA0MjQsIGx0by82MDQyNywgbHRvLzYwNDYxLAorCW1pZGRsZS1lbmQvMzYyODIsIG1pZGRs ZS1lbmQvNjA0MTgsIG1pZGRsZS1lbmQvNjA0NDUsCisJbWlkZGxlLWVuZC82MDQ3NCwgbWlkZGxl LWVuZC82MDQ4MiwgbWlkZGxlLWVuZC82MDQ4NCwKKwltaWRkbGUtZW5kLzYwNTE4LCBydGwtb3B0 aW1pemF0aW9uLzU3MTg5LCBydGwtb3B0aW1pemF0aW9uLzU3MzIwLAorCXJ0bC1vcHRpbWl6YXRp b24vNjA1MDgsIHRhcmdldC81ODI3MSwgdGFyZ2V0LzU4NTk1LCB0YXJnZXQvNTkzOTYsCisJdGFy Z2V0LzYwMjY0LCB0YXJnZXQvNjA0ODYsIHRhcmdldC82MDUyNSwgdHJlZS1vcHRpbWl6YXRpb24v NTkwMjUsCisJdHJlZS1vcHRpbWl6YXRpb24vNTk3NzksIHRyZWUtb3B0aW1pemF0aW9uLzYwNDI5 LAorCXRyZWUtb3B0aW1pemF0aW9uLzYwNDU0LCB0cmVlLW9wdGltaXphdGlvbi82MDQ4NSwKKwl0 cmVlLW9wdGltaXphdGlvbi82MDUwMgorCisqIFRodSBNYXIgIDYgMjAxNCBKYWt1YiBKZWxpbmVr IDxqYWt1YkByZWRoYXQuY29tPiA0LjkuMC0wLjQKKy0gdXBkYXRlIGZyb20gdGhlIHRydW5rCisg IC0gUFJzIGMrKy82MDM2MSwgYysrLzYwNDA5LCBkZWJ1Zy82MDM4MSwgdGVzdHN1aXRlLzU5MzA4 CisKKyogV2VkIE1hciAgNSAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQu OS4wLTAuMworLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsKKyAgLSBQUnMgYm9vdHN0cmFwLzQ4MjMw LCBib290c3RyYXAvNTA5MjcsIGJvb3RzdHJhcC81MjQ2NiwgYm9vdHN0cmFwLzYwMzQzLAorCWMr Ky8xMTU4NiwgYysrLzE0NzEwLCBjKysvNTAwMjUsIGMrKy81NDM1OSwgYysrLzU0NDQwLCBjKysv NTU4NzcsCisJYysrLzU3MTMyLCBjKysvNTgxNzAsIGMrKy81ODYwNiwgYysrLzU4NjEwLCBjKysv NTg2NzgsIGMrKy81ODgzNSwKKwljKysvNTg4NDUsIGMrKy81ODg3MywgYysrLzU5MjMxLCBjKysv NTkzNDcsIGMrKy82MDA0NiwgYysrLzYwMDUxLAorCWMrKy82MDA1MiwgYysrLzYwMDUzLCBjKysv NjAwNjQsIGMrKy82MDA2NSwgYysrLzYwMTA4LCBjKysvNjAxNDYsCisJYysrLzYwMTY3LCBjKysv NjAxODIsIGMrKy82MDE4NSwgYysrLzYwMTg2LCBjKysvNjAxODcsIGMrKy82MDE5MCwKKwljKysv NjAyMTUsIGMrKy82MDIxNiwgYysrLzYwMjE5LCBjKysvNjAyMjIsIGMrKy82MDIyNCwgYysrLzYw MjI1LAorCWMrKy82MDIyNywgYysrLzYwMjQxLCBjKysvNjAyNDgsIGMrKy82MDI1MCwgYysrLzYw MjUxLCBjKysvNjAyNTIsCisJYysrLzYwMjUzLCBjKysvNjAyNjcsIGMrKy82MDI3MiwgYysrLzYw MzExLCBjKysvNjAzMTIsIGMrKy82MDMxNCwKKwljKysvNjAzMjgsIGMrKy82MDM0NSwgYysrLzYw MzQ3LCBjKysvNjAzNTMsIGMrKy82MDM3NiwgYysrLzYwMzc3LAorCWMrKy82MDM3OSwgYysrLzYw NDE1LCBjKysvNjA0MTcsIGMvMzc3NDMsIGMvNjAxOTUsIGRlYnVnLzU2NTYzLAorCWRlYnVnLzU3 MjMyLCBkZWJ1Zy81OTk5MiwgZGVidWcvNjAxNTIsIGRyaXZlci82MDIzMywgZm9ydHJhbi80OTM5 NywKKwlmb3J0cmFuLzU1OTA3LCBmb3J0cmFuLzU5NTk5LCBmb3J0cmFuLzYwMjMxLCBmb3J0cmFu LzYwMjMyLAorCWZvcnRyYW4vNjAyMzQsIGZvcnRyYW4vNjAyMzYsIGZvcnRyYW4vNjAyODYsIGZv cnRyYW4vNjAzMDIsCisJZm9ydHJhbi82MDM0MSwgZm9ydHJhbi82MDM1OSwgaXBhLzU1MjYwLCBp cGEvNTg1NTUsIGlwYS82MDE1MCwKKwlpcGEvNjAyNDMsIGlwYS82MDI2NiwgaXBhLzYwMzA2LCBp cGEvNjAzMjcsIGxpYmZvcnRyYW4vNTgwMTUsCisJbGliZm9ydHJhbi81OTMxMywgbGliZm9ydHJh bi82MDE0OCwgbGliZ2NjLzYwMTY2LCBsaWJnY2ovNTU2MzcsCisJbGliamF2YS82MDI2MSwgbGli c3RkYysrLzU4MzM4LCBsaWJzdGRjKysvNjAzMDgsIGx0by81MzgwOCwgbHRvLzYwMTc5LAorCWx0 by82MDI5NSwgbHRvLzYwMzE5LCBsdG8vNjA0MDQsIGx0by82MDQwNSwgbWlkZGxlLWVuZC81ODQ3 NywKKwltaWRkbGUtZW5kLzU5MjIzLCBtaWRkbGUtZW5kLzYwMTQ3LCBtaWRkbGUtZW5kLzYwMTc1 LAorCW1pZGRsZS1lbmQvNjAyMjEsIG1pZGRsZS1lbmQvNjAyOTEsIG9iamMrKy82MDM5OCwgb2Jq Yy81Njg3MCwKKwlwY2gvNjAwMTAsIHBsdWdpbnMvNTkzMzUsIHByZXByb2Nlc3Nvci81ODg0NCwg cHJlcHJvY2Vzc29yLzYwNDAwLAorCXJ0bC1vcHRpbWl6YXRpb24vNDk4NDcsIHJ0bC1vcHRpbWl6 YXRpb24vNTI3MTQsCisJcnRsLW9wdGltaXphdGlvbi81ODk2MCwgcnRsLW9wdGltaXphdGlvbi81 OTUzNSwKKwlydGwtb3B0aW1pemF0aW9uLzYwMTMxLCBydGwtb3B0aW1pemF0aW9uLzYwMjY4LAor CXJ0bC1vcHRpbWl6YXRpb24vNjAyOTIsIHJ0bC1vcHRpbWl6YXRpb24vNjAzMTcsIHNhbml0aXpl ci82MDE0MiwKKwl0YXJnZXQvNDY4OTgsIHRhcmdldC81NTQyNiwgdGFyZ2V0LzU3ODk2LCB0YXJn ZXQvNTc5MzUsIHRhcmdldC81NzkzNiwKKwl0YXJnZXQvNTg2NzUsIHRhcmdldC81OTIyMiwgdGFy Z2V0LzU5Nzk0LCB0YXJnZXQvNTk3OTksIHRhcmdldC82MDA3MSwKKwl0YXJnZXQvNjAxNjksIHRh cmdldC82MDE5MywgdGFyZ2V0LzYwMjAzLCB0YXJnZXQvNjAyMDQsIHRhcmdldC82MDIwNSwKKwl0 YXJnZXQvNjAyMDcsIHRhcmdldC82MDI4MCwgdGFyZ2V0LzYwMjk4LCB0ZXN0c3VpdGUvNjAxNzMs CisJdHJlZS1vcHRpbWl6YXRpb24vNTY0OTAsIHRyZWUtb3B0aW1pemF0aW9uLzU4MDI4LAorCXRy ZWUtb3B0aW1pemF0aW9uLzYwMTc0LCB0cmVlLW9wdGltaXphdGlvbi82MDE4MywKKwl0cmVlLW9w dGltaXphdGlvbi82MDI3NiwgdHJlZS1vcHRpbWl6YXRpb24vNjAzODIKIC0gY29uZmlndXJlIHdp dGggLS1lbmFibGUtZ251LWluZGlyZWN0LWZ1bmN0aW9uIG9uIGFyY2hpdGVjdHVyZXMKICAgYW5k IGRpc3Ryb3MgdGhhdCBzdXBwb3J0IGl0IGFuZCBkb24ndCBzdXBwb3J0IGl0IGJ5IGRlZmF1bHQK ICAgeWV0ICgjMTA2NzI0NSkKLQotKiBXZWQgRmViIDE5IDIwMTQgSmFrdWIgSmVsaW5layA8amFr dWJAcmVkaGF0LmNvbT4gNC44LjItMTQKIC0gcmVtb3ZlIGxpYmdvIFAuMjI0IGVsbGlwdGljIGN1 cnZlICgjMTA2NjUzOSkKLS0gZml4IC1tY3B1PXBvd2VyOCBJQ0UgKCMxMDY0MjQyLCBQUiB0YXJn ZXQvNjAxMzcpCi0KLSogVHVlIEphbiAyMSAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhh dC5jb20+IDQuOC4yLTEzCi0tIHdoZW4gcmVtb3ZpbmcgLVdhbGwgZnJvbSBDWFhGTEFHUywgaWYg LVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkKLSAgaXMgcHJlc2VudCwgYWRkIC1XZm9ybWF0IHRvIGl0 LCBzbyB0aGF0IEdDQyBidWlsZHMgb24gRjIxCi0KLSogTW9uIEphbiAyMCAyMDE0IEpha3ViIEpl bGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4yLTEyCi0tIHVwZGF0ZSBmcm9tIHRoZSA0Ljgg YnJhbmNoICgjMTA1Mjg5MikKLSAgLSBQUnMgYysrLzU5ODM4LCBkZWJ1Zy81NDY5NCwgZm9ydHJh bi8zNDU0NywgZm9ydHJhbi81ODQxMCwKLQltaWRkbGUtZW5kLzU5ODI3LCBtaWRkbGUtZW5kLzU5 ODYwLCB0YXJnZXQvNTgxMzksIHRhcmdldC81OTE0MiwKLQl0YXJnZXQvNTk2OTUsIHRhcmdldC81 OTc5NCwgdGFyZ2V0LzU5ODI2LCB0YXJnZXQvNTk4MzkKLS0gZml4IGhhbmRsaW5nIG9mIGluaXRp YWxpemVkIHZhcnMgd2l0aCBmbGV4aWJsZSBhcnJheSBtZW1iZXJzCi0gICgjMTAzNTQxMywgUFIg bWlkZGxlLWVuZC8yODg2NSkKLQotKiBXZWQgSmFuIDE1IDIwMTQgSmFrdWIgSmVsaW5layA8amFr dWJAcmVkaGF0LmNvbT4gNC44LjItMTEKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAg LSBmaXggczM5MHggcmVsb2FkIGJ1ZyAoIzEwNTIzNzIsIFBSIHRhcmdldC81OTgwMykKLQotKiBU dWUgSmFuIDE0IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjItMTAK LS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2ggKCMxMDUyODkyKQotICAtIFBScyBhZGEvNTU5 NDYsIGFkYS81OTc3MiwgYysrLzU2MDYwLCBjKysvNTg5NTQsIGMrKy81OTI1NSwgYysrLzU5NzMw LAotCWZvcnRyYW4vNTcwNDIsIGZvcnRyYW4vNTg5OTgsIGZvcnRyYW4vNTk0OTMsIGZvcnRyYW4v NTk2MTIsCi0JZm9ydHJhbi81OTY1NCwgaXBhLzU5NjEwLCBtaWRkbGUtZW5kLzU5NTg0LCBwY2gv NTk0MzYsCi0JcnRsLW9wdGltaXphdGlvbi81NDMwMCwgcnRsLW9wdGltaXphdGlvbi81ODY2OCwK LQlydGwtb3B0aW1pemF0aW9uLzU5MTM3LCBydGwtb3B0aW1pemF0aW9uLzU5NjQ3LAotCXJ0bC1v cHRpbWl6YXRpb24vNTk3MjQsIHRhcmdldC81NzM4NiwgdGFyZ2V0LzU5NTg3LCB0YXJnZXQvNTk2 MjUsCi0JdGFyZ2V0LzU5NjUyLCB0ZXN0c3VpdGUvNTg2MzAsIHRyZWUtb3B0aW1pemF0aW9uLzU0 NTcwLAotCXRyZWUtb3B0aW1pemF0aW9uLzU5MTI1LCB0cmVlLW9wdGltaXphdGlvbi81OTM2MiwK LQl0cmVlLW9wdGltaXphdGlvbi81OTcxNSwgdHJlZS1vcHRpbWl6YXRpb24vNTk3NDUKLS0gZGVm YXVsdCB0byAtbWFyY2g9ejE5NiBpbnN0ZWFkIG9mIC1tYXJjaD16MTAgb24gczM5MC9zMzkweCAo IzEwNTI4OTApCi0KLSogRnJpIEphbiAxMCAyMDE0IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhh dC5jb20+IDQuOC4yLTkKLS0gZGVmaW5lICUlZ2xvYmFsIF9wZXJmb3JtYW5jZV9idWlsZCAxICgj MTA1MTA2NCkKLQotKiBUdWUgSmFuICA3IDIwMTQgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0 LmNvbT4gNC44LjItOAotLSB0cmVhdCBwcGM2NHA3IGFzIHBwYzY0ICgjMTA0ODg1OSkKLQotKiBU aHUgRGVjIDEyIDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjItNwot LSB1cGRhdGUgZnJvbSB0aGUgNC44IGJyYW5jaAotICAtIFBScyBsaWJnb21wLzU5NDY3LCBydGwt b3B0aW1pemF0aW9uLzU4Mjk1LCB0YXJnZXQvNTY4MDcsCi0JdGVzdHN1aXRlLzU5NDQyCi0gIC0g Zml4IExSQSBjb2FsZXNjaW5nIGZvciByZWFsIChQUiBtaWRkbGUtZW5kLzU5NDcwKQotCi0qIFdl ZCBEZWMgMTEgMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMi02Ci0t IHRlbXBvcmFyaWx5IHJldmVydCBQUiBtaWRkbGUtZW5kLzU4OTU2IHRvIGF2b2lkIGxpYnN0ZGMr KwotICBtaXNjb21waWxhdGlvbiBvbiBpPzg2IChQUiBtaWRkbGUtZW5kLzU5NDcwKQotCi0qIE1v biBEZWMgIDkgMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMi01Ci0t IHVwZGF0ZSBmcm9tIHRoZSA0LjggYnJhbmNoCi0gIC0gUFJzIGFkYS81OTM4MiwgYm9vdHN0cmFw LzU3NjgzLCBjKysvNTgxNjIsIGMrKy81OTAzMSwgYysrLzU5MDMyLAotCWMrKy81OTA0NCwgYysr LzU5MDUyLCBjKysvNTkyNjgsIGMrKy81OTI5NywgYy81OTI4MCwgYy81OTM1MSwKLQlmb3J0cmFu LzU3NDQ1LCBmb3J0cmFuLzU4MDk5LCBmb3J0cmFuLzU4NDcxLCBmb3J0cmFuLzU4NzcxLAotCW1p ZGRsZS1lbmQvNTg3NDIsIG1pZGRsZS1lbmQvNTg5NDEsIG1pZGRsZS1lbmQvNTg5NTYsCi0JbWlk ZGxlLWVuZC81OTAxMSwgbWlkZGxlLWVuZC81OTAzNywgbWlkZGxlLWVuZC81OTEzOCwKLQlydGwt b3B0aW1pemF0aW9uLzU4NzI2LCB0YXJnZXQvNTA3NTEsIHRhcmdldC81MTI0NCwgdGFyZ2V0LzU2 Nzg4LAotCXRhcmdldC81ODg1NCwgdGFyZ2V0LzU4ODY0LCB0YXJnZXQvNTkwMjEsIHRhcmdldC81 OTA4OCwKLQl0YXJnZXQvNTkxMDEsIHRhcmdldC81OTE1MywgdGFyZ2V0LzU5MTYzLCB0YXJnZXQv NTkyMDcsCi0JdGFyZ2V0LzU5MzQzLCB0YXJnZXQvNTk0MDUsIHRyZWUtb3B0aW1pemF0aW9uLzU3 NTE3LAotCXRyZWUtb3B0aW1pemF0aW9uLzU4MTM3LCB0cmVlLW9wdGltaXphdGlvbi81ODE0MywK LQl0cmVlLW9wdGltaXphdGlvbi81ODY1MywgdHJlZS1vcHRpbWl6YXRpb24vNTg3OTQsCi0JdHJl ZS1vcHRpbWl6YXRpb24vNTkwMTQsIHRyZWUtb3B0aW1pemF0aW9uLzU5MDQ3LAotCXRyZWUtb3B0 aW1pemF0aW9uLzU5MTM5LCB0cmVlLW9wdGltaXphdGlvbi81OTE2NCwKLQl0cmVlLW9wdGltaXph dGlvbi81OTI4OCwgdHJlZS1vcHRpbWl6YXRpb24vNTkzMzAsCi0JdHJlZS1vcHRpbWl6YXRpb24v NTkzMzQsIHRyZWUtb3B0aW1pemF0aW9uLzU5MzU4LAotCXRyZWUtb3B0aW1pemF0aW9uLzU5Mzg4 Ci0tIGFhcmNoNjQgZ2NqIGVuYWJsZW1lbnQgKCMxMDIzNzg5KQotLSBsb29rIGZvciBsaWJnZm9y dHJhbi5zcGVjIGFuZCBsaWJpdG0uc3BlYyBpbiAlJXtfbGlifSByYXRoZXIgdGhhbiBsaWIKLSAg c3ViZGlycyAoIzEwMjM3ODkpCi0KLSogTW9uIE5vdiAxMSAyMDEzIEpha3ViIEplbGluZWsgPGph a3ViQHJlZGhhdC5jb20+IDQuOC4yLTQKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAg LSBQUnMgcGx1Z2lucy81Mjg3MiwgcmVncmVzc2lvbi81ODk4NSwgdGFyZ2V0LzU5MDM0Ci0KLSog V2VkIE5vdiAgNiAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4yLTMK LS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAgLSBQUnMgYysrLzU4MjgyLCBjKysvNTg5 NzksIGZvcnRyYW4vNTgzNTUsIGZvcnRyYW4vNTg5ODksIGxpYnN0ZGMrKy81ODgzOSwKLQlsaWJz dGRjKysvNTg5MTIsIGxpYnN0ZGMrKy81ODk1MiwgbHRvLzU3MDg0LCBtaWRkbGUtZW5kLzU4Nzg5 LAotCXJ0bC1vcHRpbWl6YXRpb24vNTgwNzksIHJ0bC1vcHRpbWl6YXRpb24vNTg4MzEsIHJ0bC81 ODU0MiwKLQl0YXJnZXQvNTg2OTAsIHRhcmdldC81ODc3OSwgdGFyZ2V0LzU4NzkyLCB0YXJnZXQv NTg4MzgsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTc0ODgsIHRyZWUtb3B0aW1pemF0aW9uLzU4ODA1 LAotCXRyZWUtb3B0aW1pemF0aW9uLzU4OTg0Ci0tIGZpeCBJQ0VzIGluIGdldF9iaXRfcmFuZ2Ug KFBSIG1pZGRsZS1lbmQvNTg5NzApCi0tIGZpeCBJQ0VzIGluIFJUTCBsb29wIHVuc3dpdGNoaW5n IChQUiBydGwtb3B0aW1pemF0aW9uLzU4OTk3KQotCi0qIFN1biBPY3QgMjAgMjAxMyBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMi0yCi0tIHVwZGF0ZSBmcm9tIHRoZSA0Ljgg YnJhbmNoCi0gIC0gUFJzIGMrKy81ODU5NiwgbGlic3RkYysrLzU4ODAwCi0tIHBvd2VyOCBUSW1v ZGUgZml4ICgjMTAxNDA1MywgUFIgdGFyZ2V0LzU4NjczKQotCi0qIFRodSBPY3QgMTcgMjAxMyBK YWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMi0xCi0tIHVwZGF0ZSBmcm9tIHRo ZSA0LjggYnJhbmNoCi0gIC0gR0NDIDQuOC4yIHJlbGVhc2UKLSAgLSBQUnMgYysrLzU3ODUwLCBj KysvNTg2MzMsIGxpYnN0ZGMrKy81ODE5MQotCi0qIFRodSBPY3QgMTAgMjAxMyBKYWt1YiBKZWxp bmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMS0xMgotLSB1cGRhdGUgZnJvbSB0aGUgNC44IGJy YW5jaAotICAtIFBScyBjKysvNTg1NjgsIGZvcnRyYW4vNTU0NjksIGZvcnRyYW4vNTc2OTcsIGZv cnRyYW4vNTg0NjksCi0JbGlic3RkYysrLzU3NDY1LCBsaWJzdGRjKysvNTc2NDEsIGxpYnN0ZGMr Ky81ODY1OSwgdGFyZ2V0LzU4NDYwLAotCXRyZWUtb3B0aW1pemF0aW9uLzU4NTM5Ci0gIC0gZml4 IGFzbSBnb3RvIGhhbmRsaW5nICgjMTAxNzcwNCwgUFIgbWlkZGxlLWVuZC81ODY3MCkKLQotKiBX ZWQgT2N0ICAyIDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjEtMTEK LS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAgLSBQUnMgYysrLzU4NTM1LCBsaWJzdGRj KysvNTg0MzcsIGxpYnN0ZGMrKy81ODU2OSwgbWlkZGxlLWVuZC81Njc5MSwKLQltaWRkbGUtZW5k LzU4NDYzLCBtaWRkbGUtZW5kLzU4NTY0LCB0YXJnZXQvNTgzMzAsCi0JdHJlZS1vcHRpbWl6YXRp b24vNTY3MTYKLSAgLSBmaXggczM5MHggejEwKyBjaHVua2lmaWNhdGlvbiAoIzEwMTI4NzAsIFBS IHRhcmdldC81ODU3NCkKLS0gZGlzYWJsZSBwcGN7LDY0fSAtbXZzeC10aW1vZGUgYnkgZGVmYXVs dCAoIzEwMTQwNTMsIFBSIHRhcmdldC81ODU4NykKLQotKiBGcmkgU2VwIDIwIDIwMTMgSmFrdWIg SmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjEtMTAKLS0gdXBkYXRlIGZyb20gdGhlIDQu OCBicmFuY2gKLSAgLSBQUnMgYWRhLzU4MjY0LCBjKysvNTg0NTcsIGMrKy81ODQ1OCwgbGlic3Rk YysrLzU4MzU4LAotCXRyZWUtb3B0aW1pemF0aW9uLzU4MDg4Ci0tIG9uIFJIRUw3LCBjb25maWd1 cmUgb24gcHBjL3BwYzY0IHdpdGggZGVmYXVsdCAtbWNwdT1wb3dlcjcsCi0gIG9uIHMzOTAvczM5 MHggd2l0aCBkZWZhdWx0IC1tYXJjaD16MTAgLW10dW5lPXpFQzEyIGFuZAotICBvbiBpPzg2IGRl ZmF1bHQgdG8gLW1hcmNoPXg4Ni02NCAtbXR1bmU9Z2VuZXJpYyAoIzgwNTE1NykKLS0gb24gRmVk b3JhIDIwKyBhbmQgUkhFTDcgZGVmYXVsdCB0byAtZmRpYWdub3N0aWNzLWNvbG9yPWF1dG8KLSAg cmF0aGVyIHRoYW4gLWZkaWFnbm9zdGljcy1jb2xvcj1uZXZlciwgaWYgR0NDX0NPTE9SUyBpc24n dAotICBpbiB0aGUgZW52aXJvbm1lbnQ7IHRvIHR1cm4gaXQgb2ZmIGJ5IGRlZmF1bHQsIHNldCBH Q0NfQ09MT1JTPQotICBpbiB0aGUgZW52aXJvbm1lbnQKLQotKiBTdW4gU2VwIDE1IDIwMTMgSmFr dWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjEtOQotLSB1cGRhdGUgZnJvbSB0aGUg NC44IGJyYW5jaAotICAtIFBScyBjKysvNTgyNzMsIGxpYnN0ZGMrKy81ODQxNSwgbWlkZGxlLWVu ZC81ODM3NywgcnRsLW9wdGltaXphdGlvbi81ODM2NSwKLQl0YXJnZXQvNTgzMTQsIHRhcmdldC81 ODM2MSwgdGFyZ2V0LzU4MzgyLCB0cmVlLW9wdGltaXphdGlvbi81ODM4NQotLSBhZGQgYXJtX25l b24uaCBvbiBhYXJjaDY0ICgjMTAwNzQ5MCkKLQotKiBNb24gU2VwICA5IDIwMTMgSmFrdWIgSmVs aW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjEtOAotLSB1cGRhdGUgZnJvbSB0aGUgNC44IGJy YW5jaAotICAtIFBScyBjKysvNTgzMjUsIGxpYnN0ZGMrKy81ODMwMiwgbGlic3RkYysrLzU4MzQx LCBtaWRkbGUtZW5kLzU3NjU2LAotCW90aGVyLzEyMDgxLCB0YXJnZXQvNTc3MzUsIHRyZWUtb3B0 aW1pemF0aW9uLzU3NTIxLAotCXRyZWUtb3B0aW1pemF0aW9uLzU3Njg1LCB0cmVlLW9wdGltaXph dGlvbi81ODAxMCwKLQl0cmVlLW9wdGltaXphdGlvbi81ODIyMywgdHJlZS1vcHRpbWl6YXRpb24v NTgyMjgsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTgyNDYsIHRyZWUtb3B0aW1pemF0aW9uLzU4Mjc3 LAotCXRyZWUtb3B0aW1pemF0aW9uLzU4MzY0Ci0KLSogVGh1IEF1ZyAyOSAyMDEzIEpha3ViIEpl bGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4xLTcKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBi cmFuY2gKLSAgLSBQUnMgYysrLzU4MDgzLCBjKysvNTgxMTksIGMrKy81ODE5MCwgZm9ydHJhbi81 Nzc5OCwgZm9ydHJhbi81ODE4NSwKLQltaWRkbGUtZW5kLzU2OTc3LCBtaWRkbGUtZW5kLzU3Mzgx LCBtaWRkbGUtZW5kLzU4MjU3LCB0YXJnZXQvNTY5NzksCi0JdGFyZ2V0LzU3ODY1LCB0YXJnZXQv NTc5MjcsIHRhcmdldC81ODIxOCwgdHJlZS1vcHRpbWl6YXRpb24vNTczNDMsCi0JdHJlZS1vcHRp bWl6YXRpb24vNTczOTYsIHRyZWUtb3B0aW1pemF0aW9uLzU3NDE3LAotCXRyZWUtb3B0aW1pemF0 aW9uLzU4MDA2LCB0cmVlLW9wdGltaXphdGlvbi81ODE2NCwKLQl0cmVlLW9wdGltaXphdGlvbi81 ODE2NSwgdHJlZS1vcHRpbWl6YXRpb24vNTgyMDkKLS0gZml4IHVwIHg4Ni02NCAtbWNtb2RlbD1s YXJnZSAtZnBpYyBUTFMgR0QgYW5kIExEIG1vZGVsCi0gICgjOTk0MjQ0LCBQUiB0YXJnZXQvNTgw NjcpCi0tIHBvd2VyOCBmdXNpb24gc3VwcG9ydCBmaXhlcyAoIzczMTg4NCwgUFIgdGFyZ2V0LzU4 MTYwKQotCi0qIFdlZCBBdWcgMTQgMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29t PiA0LjguMS02Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjggYnJhbmNoCi0gIC0gUFJzIGMrKy81Nzgy NSwgYysrLzU3OTAxLCBjKysvNTc5ODEsIGMrKy81ODAyMiwgZm9ydHJhbi81NzQzNSwKLQlmb3J0 cmFuLzU4MDU4LCBsaWJzdGRjKysvNTY2MjcsIGxpYnN0ZGMrKy81NzkxNCwgbGlic3RkYysrLzU4 MDk4LAotCW1pZGRsZS1lbmQvNTgwNDEsIHJ0bC1vcHRpbWl6YXRpb24vNTc0NTksIHJ0bC1vcHRp bWl6YXRpb24vNTc3MDgsCi0JcnRsLW9wdGltaXphdGlvbi81Nzg3OCwgc2FuaXRpemVyLzU2NDE3 LCB0YXJnZXQvNTE3ODQsIHRhcmdldC81NzUxNiwKLQl0YXJnZXQvNTgwNjcsIHRhcmdldC81ODEz MiwgdHJlZS1vcHRpbWl6YXRpb24vNTc5ODAKLS0gcG93ZXI4IGZ1c2lvbiBzdXBwb3J0ICgjNzMx ODg0KQotLSBmaXggdXAgQUJJIGFsaWdubWVudCBwYXRjaCAoIzk0NzE5NykKLS0gZml4IHVwIFNS QSB3aXRoIHZvbGF0aWxlIHN0cnVjdCBhY2Nlc3NlcyAoUFIgdHJlZS1vcHRpbWl6YXRpb24vNTgx NDUpCi0KLSogV2VkIEp1bCAxNyAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+ IDQuOC4xLTUKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAgLSBQUnMgdGFyZ2V0LzU1 NjU2LCB0YXJnZXQvNTU2NTcKLSAgLSB1cGRhdGUgdG8gR28gMS4xLjEKLS0gYmFja3BvcnQgcG93 ZXI4IEhUTSBzdXBwb3J0IGZyb20gdHJ1bmsgKCM3MzE4ODQpCi0tIGJhY2twb3J0IHMzOTAgekVD MTIgSFRNIHN1cHBvcnQgZnJvbSB0cnVuawotCi0qIE1vbiBKdWwgMTUgMjAxMyBKYWt1YiBKZWxp bmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMS00Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjggYnJh bmNoCi0gIC0gUFJzIGMrKy81NzQzNywgYysrLzU3NTI2LCBjKysvNTc1MzIsIGMrKy81NzU0NSwg YysrLzU3NTUwLCBjKysvNTc1NTEsCi0JYysrLzU3NjQ1LCBjKysvNTc3NzEsIGMrKy81NzgzMSwg Zm9ydHJhbi81Nzc4NSwKLQlydGwtb3B0aW1pemF0aW9uLzU3ODI5LCB0YXJnZXQvNTYxMDIsIHRh cmdldC81Njg5MiwgdGFyZ2V0LzU2OTg3LAotCXRhcmdldC81NzUwNiwgdGFyZ2V0LzU3NjMxLCB0 YXJnZXQvNTc3MzYsIHRhcmdldC81Nzc0NCwKLQl0YXJnZXQvNTc3NzcsIHRhcmdldC81Nzc5Miwg dGFyZ2V0LzU3ODQ0Ci0tIGJhY2twb3J0IHNvbWUgcmF3LXN0cmluZyBsaXRlcmFsIGhhbmRsaW5n IGZpeGVzICgjOTgxMDI5LAotICBQUnMgcHJlcHJvY2Vzc29yLzU3NzU3LCBwcmVwcm9jZXNzb3Iv NTc4MjQpCi0tIGltcHJvdmUgY29udmVydF90b18qIChQUiBjKysvNTY0OTMpCi0tIHR1bmUgZm9y IHBvd2VyNyBvbiBSSEVMNwotCi0qIEZyaSBKdW4gMjggMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1 YkByZWRoYXQuY29tPiA0LjguMS0zCi0tIHVwZGF0ZSBmcm9tIHRoZSA0LjggYnJhbmNoCi0gIC0g UFJzIGMrKy81MzIxMSwgYysrLzU2NTQ0LCBkcml2ZXIvNTc2NTIsIGxpYnN0ZGMrKy81NzYxOSwg bGlic3RkYysrLzU3NjY2LAotCWxpYnN0ZGMrKy81NzY3NCwgcnRsLW9wdGltaXphdGlvbi81NzUx OCwgdGFyZ2V0LzU3NjIzLCB0YXJnZXQvNTc2NTUsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTczNTgs IHRyZWUtb3B0aW1pemF0aW9uLzU3NTM3Ci0gIC0gZml4IHVwIGdjYy17YXIsbm0scmFubGlifSAo Izk3NDg1MywgUFIgZHJpdmVyLzU3NjUxKQotLSBmaXggdHdvIGxpYml0bSBIVE0gaGFuZGxpbmcg YnVncyAoUFIgbGliaXRtLzU3NjQzKQotLSBzcGVlZCB1cCBfX3BvcGNvdW50W3NkdF1pMiBsaWJy YXJ5IGZ1bmN0aW9uIChQUiBtaWRkbGUtZW5kLzM2MDQxKQotLSBiYWNrcG9ydCBwb3dlcjggc3Vw cG9ydCBmcm9tIHRydW5rICgjNzMxODg0LCBQUiB0YXJnZXQvNTc2MTUpCi0tIGZvciBGZWRvcmEg MjArIHRlc3QgLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nIGR1cmluZyAlJWNoZWNrIGluc3RlYWQK LSAgb2YgLWZzdGFjay1wcm90ZWN0b3IKLQotKiBXZWQgSnVuIDEyIDIwMTMgSmFrdWIgSmVsaW5l ayA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjEtMgotLSB1cGRhdGUgZnJvbSB0aGUgNC44IGJyYW5j aAotICAtIFBScyBmb3J0cmFuLzU3MzY0LCBmb3J0cmFuLzU3NTA4LCB0YXJnZXQvNTY1NDcsIHRh cmdldC81NzM3OSwgdGFyZ2V0LzU3NTY4Ci0tIGJhY2twb3J0IGJhY2t3YXJkcyBjb21wYXRpYmxl IGFsaWdubWVudCBBQkkgZml4ZXMgKCM5NDcxOTcsIFBSIHRhcmdldC81NjU2NCkKLS0gZml4IHVw IHdpZGVuaW5nIG11bHRpcGxpY2F0aW9uIHZlY3Rvcml6YXRpb24gb24gYmlnLWVuZGlhbgotICAo UFIgdHJlZS1vcHRpbWl6YXRpb24vNTc1MzcpCi0KLSogTW9uIEp1biAgMyAyMDEzIEpha3ViIEpl bGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4xLTEKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBi cmFuY2gKLSAgLSBHQ0MgNC44LjEgcmVsZWFzZQotICAtIFBScyBjKysvNTY5MzAsIGMrKy81NzMx OSwgZm9ydHJhbi81NzIxNywgdGFyZ2V0LzQ5MTQ2LCB0YXJnZXQvNTY3NDIKLS0gYmFja3BvcnQg SW50ZWwgU2lsdmVybW9udCBlbmFibGVtZW50IGFuZCB0dW5pbmcgZnJvbSB0cnVuawotLSBiYWNr cG9ydCAzIHNtYWxsIEFNRCBpbXByb3ZlbWVudCBwYXRjaGVzIGZyb20gdHJ1bmsKLQotKiBTdW4g TWF5IDI2IDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjAtOAotLSB1 cGRhdGUgZnJvbSB0aGUgNC44IGJyYW5jaAotICAtIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2sg QUJJIGZpeGVzIGZyb20gNC44LjAtNwotCi0qIEZyaSBNYXkgMjQgMjAxMyBKYWt1YiBKZWxpbmVr IDxqYWt1YkByZWRoYXQuY29tPiA0LjguMC03Ci0tIHVwZGF0ZSBmcm9tIHRoZSA0LjggYnJhbmNo Ci0gIC0gUFJzIGMrKy81NzAxNiwgYysrLzU3MzE3LCBjKysvNTczMjUsIGMrKy81NzM4OCwgbGli ZmZpLzU2MDMzLAotCWxpYnN0ZGMrKy81NzMzNiwgbWlkZGxlLWVuZC81NzM0NCwgbWlkZGxlLWVu ZC81NzM0NywgcGx1Z2lucy81Njc1NCwKLQlydGwtb3B0aW1pemF0aW9uLzU3MzQxLCB0YXJnZXQv NTY3MzIsIHRhcmdldC81NzM1NiwKLQl0cmVlLW9wdGltaXphdGlvbi81NzMwMywgdHJlZS1vcHRp bWl6YXRpb24vNTczMTgsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTczMjEsIHRyZWUtb3B0aW1pemF0 aW9uLzU3MzMwLCB0cmVlLXNzYS81NzM4NQotICAtIHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2sg bm93IHJlYWxseSBzdGVhZHkKLQotKiBGcmkgTWF5IDE3IDIwMTMgSmFrdWIgSmVsaW5layA8amFr dWJAcmVkaGF0LmNvbT4gNC44LjAtNgotLSB1cGRhdGUgZnJvbSB0aGUgNC44IGJyYW5jaAotICAt IFBScyBjKysvNTY3ODIsIGMrKy81Njk5OCwgYysrLzU3MDQxLCBjKysvNTcxOTYsIGMrKy81NzI0 MywgYysrLzU3MjUyLAotCWMrKy81NzI1MywgYysrLzU3MjU0LCBjKysvNTcyNzQsIGMrKy81NzI3 OSwgbWlkZGxlLWVuZC81NzI1MSwKLQlydGwtb3B0aW1pemF0aW9uLzU3MjgxLCBydGwtb3B0aW1p emF0aW9uLzU3MzAwLCB0YXJnZXQvNDUzNTksCi0JdGFyZ2V0LzQ2Mzk2LCB0YXJnZXQvNTcyNjQK LS0gYmFja3BvcnQgY29sb3IgZGlhZ25vc3RpY3Mgc3VwcG9ydCBmcm9tIHRydW5rLCBlbmFibGUg d2l0aAotICAtZmRpYWdub3N0aWNzLWNvbG9yPWF1dG8sIC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3 YXlzIG9yCi0gIGhhdmluZyBub24tZW1wdHkgR0NDX0NPTE9SUyB2YXJpYWJsZSBpbiBlbnZpcm9u bWVudAotLSBiYWNrcG9ydCAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgc3VwcG9ydCBmcm9tIHRy dW5rCi0KLSogRnJpIE1heSAxMCAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+ IDQuOC4wLTUKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAgLSBQUnMgYm9vdHN0cmFw LzU0MjgxLCBib290c3RyYXAvNTQ2NTksIGMrKy81NzA0NywgYysrLzU3MDY4LCBjKysvNTcyMjIs Ci0JZm9ydHJhbi81NzE0MiwgbGlic3RkYysrLzU3MjEyLCBtaWRkbGUtZW5kLzU2OTg4LCB0YXJn ZXQvNTUwMzMsCi0JdGFyZ2V0LzU3MjM3LCB0cmVlLW9wdGltaXphdGlvbi81NzIwMCwgdHJlZS1v cHRpbWl6YXRpb24vNTcyMTQKLS0gZml4IHVwIHN0cmxlbiBwYXNzIChQUiB0cmVlLW9wdGltaXph dGlvbi81NzIzMCkKLQotKiBUdWUgTWF5ICA3IDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVk aGF0LmNvbT4gNC44LjAtNAotLSB1cGRhdGUgZnJvbSB0aGUgNC44IGJyYW5jaAotICAtIFBScyBh ZGEvNTY0NzQsIGMrKy81MDI2MSwgYysrLzU2NDUwLCBjKysvNTY4NTksIGMrKy81Njk3MCwgYysr LzU3MDY0LAotCWMrKy81NzA5MiwgYysrLzU3MTgzLCBkZWJ1Zy81NzE4NCwgZm9ydHJhbi81MTgy NSwgZm9ydHJhbi81MjUxMiwKLQlmb3J0cmFuLzUzNjg1LCBmb3J0cmFuLzU2Nzg2LCBmb3J0cmFu LzU2ODE0LCBmb3J0cmFuLzU2ODcyLAotCWZvcnRyYW4vNTY5NjgsIGZvcnRyYW4vNTcwMjIsIGxp YmZvcnRyYW4vNTE4MjUsIGxpYmZvcnRyYW4vNTI1MTIsCi0JbGliZm9ydHJhbi81Njc4NiwgbGli c3RkYysrLzU3MDEwLCBtaWRkbGUtZW5kLzU3MTAzLAotCXJ0bC1vcHRpbWl6YXRpb24vNTY2MDUs IHJ0bC1vcHRpbWl6YXRpb24vNTY4NDcsCi0JcnRsLW9wdGltaXphdGlvbi81NzAwMywgcnRsLW9w dGltaXphdGlvbi81NzEzMCwKLQlydGwtb3B0aW1pemF0aW9uLzU3MTMxLCBydGwtb3B0aW1pemF0 aW9ucy81NzA0Niwgc2FuaXRpemVyLzU2OTkwLAotCXRhcmdldC80NDU3OCwgdGFyZ2V0LzU1NDQ1 LCB0YXJnZXQvNTY3OTcsIHRhcmdldC81Njg2NiwgdGFyZ2V0LzU3MDE4LAotCXRhcmdldC81NzA5 MSwgdGFyZ2V0LzU3MDk3LCB0YXJnZXQvNTcwOTgsIHRhcmdldC81NzEwNiwgdGFyZ2V0LzU3MTA4 LAotCXRhcmdldC81NzE1MCwgdHJlZS1vcHRpbWl6YXRpb24vNTcwNTEsIHRyZWUtb3B0aW1pemF0 aW9uLzU3MDY2LAotCXRyZWUtb3B0aW1pemF0aW9uLzU3MDgzLCB0cmVlLW9wdGltaXphdGlvbi81 NzEwNCwKLQl0cmVlLW9wdGltaXphdGlvbi81NzE0OSwgdHJlZS1vcHRpbWl6YXRpb24vNTcxODUK LSAgLSBmaXggZ2NqIHdpdGggLWZzZWN0aW9uLWFuY2hvcnMgKCM5NTI2NzMsIFBSIGxpYmdjai81 NzA3NCkKLS0gZW5hYmxlIGxpYml0bSBvbiBzMzkweyx4fQotLSBlcnJvciB3aGVuIGxpbmtpbmcg d2l0aCBib3RoIC1mc2FuaXRpemU9YWRkcmVzcyBhbmQgLWZzYW5pdGl6ZT10aHJlYWQKLSAgKCM5 NTc3NzgpCi0KLSogRnJpIEFwciAxOSAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5j b20+IDQuOC4wLTMKLS0gdXBkYXRlIGZyb20gdGhlIDQuOCBicmFuY2gKLSAgLSBQUnMgYysrLzU2 Mzg4LCBmb3J0cmFuLzU2ODE2LCBmb3J0cmFuLzU2OTk0LCBydGwtb3B0aW1pemF0aW9uLzU2OTky LAotCXRhcmdldC81Njg5MCwgdGFyZ2V0LzU2OTAzLCB0YXJnZXQvNTY5NDgsIHRyZWUtb3B0aW1p emF0aW9uLzU2OTYyLAotCXRyZWUtb3B0aW1pemF0aW9uLzU2OTg0Ci0tIGZpeCB1cCBMUkEgY2F1 c2VkIG1pc2NvbXBpbGF0aW9uIG9mIHh1bHJ1bm5lciBvbiBpPzg2Ci0gICgjOTQ5NTUzLCBQUiBy dGwtb3B0aW1pemF0aW9uLzU2OTk5KQotLSByZWFzc29jIGZpeCBmb3IgLU9mYXN0IC1mcm91bmRp bmctbWF0aCAoUFIgdHJlZS1vcHRpbWl6YXRpb24vNTcwMDApCi0KLSogRnJpIEFwciAxMiAyMDEz IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4wLTIKLS0gdXBkYXRlIGZyb20g dGhlIDQuOCBicmFuY2gKLSAgLSBQUnMgYysrLzM1NzIyLCBjKysvNDUyODIsIGMrKy81MjAxNCwg YysrLzUyMzc0LCBjKysvNTI3NDgsIGMrKy81NDI3NywKLQljKysvNTQzNTksIGMrKy81NDc2NCwg YysrLzU1NTMyLCBjKysvNTU5NTEsIGMrKy81NTk3MiwgYysrLzU2MDM5LAotCWMrKy81NjQ0Nywg YysrLzU2NTgyLCBjKysvNTY2NDYsIGMrKy81NjY5MiwgYysrLzU2Njk5LCBjKysvNTY3MjIsCi0J YysrLzU2NzI4LCBjKysvNTY3NDksIGMrKy81Njc3MiwgYysrLzU2Nzc0LCBjKysvNTY3OTMsIGMr Ky81Njc5NCwKLQljKysvNTY4MjEsIGMrKy81Njg5NSwgYysrLzU2OTEzLCBkZWJ1Zy81NjgxOSwg Zm9ydHJhbi81NDkzMiwKLQlmb3J0cmFuLzU2Njk2LCBmb3J0cmFuLzU2NzM1LCBmb3J0cmFuLzU2 NzM3LCBmb3J0cmFuLzU2NzgyLAotCWxpYnN0ZGMrKy81NTk3NywgbGlic3RkYysrLzU1OTc5LCBs aWJzdGRjKysvNTYwMDIsIGxpYnN0ZGMrKy81NjY3OCwKLQlsaWJzdGRjKysvNTY4MzQsIGx0by81 Njc3NywgbWlkZGxlLWVuZC81NjY5NCwgbWlkZGxlLWVuZC81Njc2OCwKLQltaWRkbGUtZW5kLzU2 ODgzLCBvdGhlci81NTI3NCwgcnRsLW9wdGltaXphdGlvbi80ODE4MiwKLQlydGwtb3B0aW1pemF0 aW9uLzU2NzQ1LCBzYW5pdGl6ZXIvNTU3MDIsIHRhcmdldC81NDgwNSwgdGFyZ2V0LzU1NDg3LAot CXRhcmdldC81NjU2MCwgdGFyZ2V0LzU2NzIwLCB0YXJnZXQvNTY3NzEsIHRyZWUtb3B0aW1pemF0 aW9uLzQ4MTg0LAotCXRyZWUtb3B0aW1pemF0aW9uLzQ4MTg2LCB0cmVlLW9wdGltaXphdGlvbi80 ODc2MiwKLQl0cmVlLW9wdGltaXphdGlvbi81NjQwNywgdHJlZS1vcHRpbWl6YXRpb24vNTY1MDEs Ci0JdHJlZS1vcHRpbWl6YXRpb24vNTY4MTcsIHRyZWUtb3B0aW1pemF0aW9uLzU2ODM3LAotCXRy ZWUtb3B0aW1pemF0aW9uLzU2ODk5LCB0cmVlLW9wdGltaXphdGlvbi81NjkxOCwKLQl0cmVlLW9w dGltaXphdGlvbi81NjkyMAotCi0qIEZyaSBNYXIgMjIgMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1 YkByZWRoYXQuY29tPiA0LjguMC0xCi0tIHVwZGF0ZSBmcm9tIHRoZSA0LjggYnJhbmNoCi0gIC0g R0NDIDQuOC4wIHJlbGVhc2UKLSAgLSBQUnMgYysrLzU2NjA3LCBvdGhlci80MzYyMAotICAtIGZp eCBsZW5ndGggaW4gLmRlYnVnX2FyYW5nZXMgaW4gc29tZSBjYXNlcwotLSBpbXByb3ZlIGRlYnVn IGluZm8gZm9yIG9wdGltaXplZCBhd2F5IGdsb2JhbCB2YXJzIChQUiBkZWJ1Zy81NjYwOCkKLS0g ZG9uJ3Qgd2FybiBhYm91dCBzaWduZWQgMS1iaXQgZW51bSBiaXRmaWVsZHMgY29udGFpbmluZyB2 YWx1ZXMgMCBhbmQgLTEKLSAgb3IganVzdCAtMSAoUFIgYy81NjU2NikKLQotKiBXZWQgTWFyIDIw IDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjAtMC4xOAotLSB1cGRh dGUgZnJvbSB0aGUgNC44IGJyYW5jaAotICAtIFBScyBsaWJzdGRjKysvNTY0NjgsIHRhcmdldC81 NjY0MCwgdHJlZS1vcHRpbWl6YXRpb24vNTY2MzUsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTY2NjEK LS0gcGFja2FnZSBsaWJhc2FuX3ByZWluaXQubwotCi0qIFNhdCBNYXIgMTYgMjAxMyBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMC0wLjE3Ci0tIHVwZGF0ZSBmcm9tIHRydW5r IGFuZCB0aGUgNC44IGJyYW5jaAotICAtIFBScyBhZGEvNTIxMjMsIGMrKy81MTQxMiwgYysrLzUx NDk0LCBjKysvNTE4ODQsIGMrKy81MjE4MywgYysrLzU2MjIyLAotCWMrKy81NjM0NiwgYysrLzU2 NTY1LCBjKysvNTY1NjcsIGMrKy81NjYxMSwgYysrLzU2NjE0LCBkZWJ1Zy81NjMwNywKLQlmb3J0 cmFuLzU2NTc1LCBmb3J0cmFuLzU2NjE1LCBsaWJzdGRjKysvNTY0OTIsIGxpYnN0ZGMrKy81NjYw OSwKLQlsaWJzdGRjKysvNTY2MTMsIGx0by81NjU1NywgbWlkZGxlLWVuZC81NjUyNCwgbWlkZGxl LWVuZC81NjU3MSwKLQl0YXJnZXQvNDA3OTcsIHRhcmdldC80OTg4MCwgdGFyZ2V0LzU2NDcwLCB0 YXJnZXQvNTY1OTEsIHRhcmdldC81NjYxOSwKLQl0ZXN0c3VpdGUvNTQxMTksIHRyZWUtb3B0aW1p emF0aW9uLzUzMjY1LCB0cmVlLW9wdGltaXphdGlvbi81NjQ3OCwKLQl0cmVlLW9wdGltaXphdGlv bi81NjU3MCwgdHJlZS1vcHRpbWl6YXRpb24vNTY2MDgKLQotKiBUaHUgTWFyICA3IDIwMTMgSmFr dWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjAtMC4xNgotLSB1cGRhdGVkIGZyb20g dHJ1bmsKLSAgLSBQUnMgYm9vdHN0cmFwLzU2NTA5LCBjKysvNTQzODMsIGMrKy81NTEzNSwgYysr LzU2NDY0LCBjKysvNTY1MzAsCi0JYysrLzU2NTM0LCBjKysvNTY1NDMsIGRlYnVnLzU1MzY0LCBk ZWJ1Zy81NjUxMCwgbGlicXVhZG1hdGgvNTU0NzMsCi0JbHRvLzUwMjkzLCBsdG8vNTY1MTUsIG1p ZGRsZS1lbmQvNTA0OTQsIG1pZGRsZS1lbmQvNTYyOTQsCi0JbWlkZGxlLWVuZC81NjUyNSwgbWlk ZGxlLWVuZC81NjUyNiwgbWlkZGxlLWVuZC81NjU0OCwKLQlydGwtb3B0aW1pemF0aW9uLzU2NDg0 LCBydGwtb3B0aW1pemF0aW9uLzU2NDk0LCB0YXJnZXQvNTY1MjksCi0JdHJlZS1vcHRpbWl6YXRp b24vNTYyNzAsIHRyZWUtb3B0aW1pemF0aW9uLzU2NTIxLAotCXRyZWUtb3B0aW1pemF0aW9uLzU2 NTM5LCB0cmVlLW9wdGltaXphdGlvbi81NjU1OQotICAtIGluY2x1ZGUgYXJtLWNvcmVzLmRlZiBp biBnY2MtcHl0aG9uLXBsdWdpbiBvbiBhcm0gKCM5MTA5MjYpCi0tIGluY2x1ZGUgdnh3b3Jrcy1k dW1teS5oIGluIGdjYy1weXRob24tcGx1Z2luIHdoZXJlIG5lZWRlZCAoUFIgcGx1Z2lucy80NTA3 OCkKLQotKiBNb24gTWFyICA0IDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4g NC44LjAtMC4xNQotLSB1cGRhdGVkIGZyb20gdHJ1bmsKLSAgLSBQUnMgYysrLzEwMjkxLCBjKysv NDA0MDUsIGMrKy81MjY4OCwgYysrLzU1NjMyLCBjKysvNTU4MTMsIGMrKy81NjI0MywKLQljKysv NTYzNTgsIGMrKy81NjM1OSwgYysrLzU2Mzc3LCBjKysvNTYzOTUsIGMrKy81NjQwMywgYysrLzU2 NDE5LAotCWMrKy81NjQzOCwgYysrLzU2NDgxLCBmb3J0cmFuLzU0NzMwLCBmb3J0cmFuLzU2Mzg1 LCBmb3J0cmFuLzU2NDE2LAotCWZvcnRyYW4vNTY0NzcsIGZvcnRyYW4vNTY0OTEsIGxpYmZvcnRy YW4vMzAxNjIsIGxpYnN0ZGMrKy81NjAxMSwKLQlsaWJzdGRjKysvNTYwMTIsIG1pZGRsZS1lbmQv NDU0NzIsIG1pZGRsZS1lbmQvNTYwNzcsCi0JbWlkZGxlLWVuZC81NjEwOCwgbWlkZGxlLWVuZC81 NjQyMCwgbWlkZGxlLWVuZC81NjQ2MSwKLQlydGwtb3B0aW1pemF0aW9uLzUwMzM5LCBydGwtb3B0 aW1pemF0aW9uLzU2NDY2LCBzYW5pdGl6ZXIvNTYzOTMsCi0Jc2FuaXRpemVyLzU2NDU0LCB0YXJn ZXQvNDg5MDEsIHRhcmdldC81MjUwMCwgdGFyZ2V0LzUyNTAxLAotCXRhcmdldC81MjU1MCwgdGFy Z2V0LzU0NjM5LCB0YXJnZXQvNTQ2NDAsIHRhcmdldC81NDY2MiwgdGFyZ2V0LzU2NDQ0LAotCXRh cmdldC81NjQ0NSwgdGFyZ2V0LzU2NDU1LCB0ZXN0c3VpdGUvNTI2NDEsIHRyZWUtb3B0aW1pemF0 aW9uLzU1NDgxLAotCXRyZWUtb3B0aW1pemF0aW9uLzU2MTc1LCB0cmVlLW9wdGltaXphdGlvbi81 NjI5NCwKLQl0cmVlLW9wdGltaXphdGlvbi81NjMxMCwgdHJlZS1vcHRpbWl6YXRpb24vNTY0MTUs Ci0JdHJlZS1vcHRpbWl6YXRpb24vNTY0MjYsIHRyZWUtb3B0aW1pemF0aW9uLzU2NDQzLAotCXRy ZWUtb3B0aW1pemF0aW9uLzU2NDQ4Ci0tIGZuc3BsaXQgZml4IChQUiB0cmVlLW9wdGltaXphdGlv bi81NjQyNCkKLQotKiBXZWQgRmViIDIwIDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0 LmNvbT4gNC44LjAtMC4xNAotLSB1cGRhdGVkIGZyb20gdHJ1bmsKLSAgLSBQUnMgYXNhbi81NjMz MCwgYysrLzUxMjQyLCBjKysvNTQyNzYsIGMrKy81NjM3MywgbGlicXVhZG1hdGgvNTYzNzksCi0J bWlkZGxlLWVuZC81NTg4OSwgbWlkZGxlLWVuZC81NjM0OSwgcGNoLzU0MTE3LAotCXJ0bC1vcHRp bWl6YXRpb24vNTYzNDgsIHRhcmdldC81MjU1NSwgdGFyZ2V0LzU0Njg1LCB0YXJnZXQvNTYyMTQs Ci0JdGFyZ2V0LzU2MzQ3LCB0cmVlLW9wdGltaXphdGlvbi81NTMzNCwgdHJlZS1vcHRpbWl6YXRp b24vNTYzMjEsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTYzNTAsIHRyZWUtb3B0aW1pemF0aW9uLzU2 MzY2LAotCXRyZWUtb3B0aW1pemF0aW9uLzU2MzgxLCB0cmVlLW9wdGltaXphdGlvbi81NjM4NCwK LQl0cmVlLW9wdGltaXphdGlvbi81NjM5NiwgdHJlZS1vcHRpbWl6YXRpb24vNTYzOTgKLS0gYWRk IEJ1aWxkUmVxdWlyZXM6IC91c3IvYmluL3BvZDJtYW4gdG8gZml4IG1hbiBwYWdlcyBnZW5lcmF0 aW9uCi0tIGRvbid0IElDRSBvbiBib2d1cyBpbmxpbmUgYXNtIGluIGtlcm5lbCAoIzkxMjg1Nywg UFIgaW5saW5lLWFzbS81NjQwNSkKLS0gZml4IHVwIGluZm8gcGFnZSBidWlsZGluZyB3aXRoIHRl eGluZm8gNS4wIChQUiBib290c3RyYXAvNTYyNTgpCi0tIGRldmlydHVhbGl6YXRpb24gSUNFIGZp eCAoUFIgdHJlZS1vcHRpbWl6YXRpb24vNTYyNjUpCi0KLSogRnJpIEZlYiAxNSAyMDEzIEpha3Vi IEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4wLTAuMTMKLS0gdXBkYXRlZCBmcm9tIHRy dW5rCi0gIC0gUFJzIGJvb3RzdHJhcC81NjMyNywgYysrLzUyMDI2LCBjKysvNTQ5MjIsIGMrKy81 NTAwMywgYysrLzU1MjIwLAotCWMrKy81NTIyMywgYysrLzU1MjMyLCBjKysvNTU1ODIsIGMrKy81 NTY3MCwgYysrLzU1NjgwLCBjKysvNTYzMjMsCi0JYysrLzU2MzQzLCBmb3J0cmFuLzUzODE4LCBm b3J0cmFuLzU2MjI0LCBmb3J0cmFuLzU2MzE4LAotCWxpYnN0ZGMrKy81NjExMSwgbHRvLzUwNDk0 LCB0YXJnZXQvNTU0MzEsIHRhcmdldC81NTk0MSwKLQl0ZXN0c3VpdGUvNTYxMzgKLS0gYXNhbiBm aXhlcyAoUFIgc2FuaXRpemVyLzU2MzMwKQotLSBhc2FuIHNwZWVkdXAgLSB1c2UgMHg3ZmZmODAw MCBzaGFkb3cgb2Zmc2V0IGluc3RlYWQgb2YgMUxMIDw8IDQ0IG9uCi0gIHg4Nl82NAotCi0qIFdl ZCBGZWIgMTMgMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjguMC0wLjEy Ci0tIHVwZGF0ZWQgZnJvbSB0cnVuawotICAtIFBScyBjKysvNTU3MTAsIGMrKy81NTg3OSwgYysr LzU1OTkzLCBjKysvNTYxMzUsIGMrKy81NjE1NSwgYysrLzU2Mjg1LAotCWMrKy81NjI5MSwgYy80 NDkzOCwgZm9ydHJhbi80Njk1MiwgZm9ydHJhbi81NjIwNCwgaW5saW5lLWFzbS81NjE0OCwKLQls aWJpdG0vNTU2OTMsIGx0by81NjI5NSwgbHRvLzU2Mjk3LCBtaWRkbGUtZW5kLzU2Mjg4LAotCXNh bml0aXplci81NjEyOCwgdGFyZ2V0LzUyMTIyLCB0ZXN0c3VpdGUvNTYwODIKLSAgLSBmaXggSVJB IGJ1ZyB0aGF0IGNhdXNlZCByZWxvYWQgSUNFIG9uIEFSTSAoIzkxMDE1MywgdGFyZ2V0LzU2MTg0 KQotICAtIGF0dGVtcHQgaGFyZGVyIHRvIGZvbGQgIm4iIGNvbnN0cmFpbnRlZCBhc20gaW5wdXQg b3BlcmFuZHMgaW4gQysrCi0gICAgd2l0aCAtTzAgKCM5MTA0MjEsIGMrKy81NjMwMikKLQotKiBN b24gRmViIDExIDIwMTMgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjAtMC4x MQotLSB1cGRhdGVkIGZyb20gdHJ1bmsKLSAgLSBQUnMgYysrLzU2MjM4LCBjKysvNTYyNDcsIGMr Ky81NjI2OCwgZm9ydHJhbi81NTM2MiwgbGlic3RkYysrLzU2MjY3LAotCWxpYnN0ZGMrKy81NjI3 OCwgbGlic3RkYysrLzU2MjgyLCBydGwtb3B0aW1pemF0aW9uLzU2MjQ2LAotCXJ0bC1vcHRpbWl6 YXRpb24vNTYyNzUsIHRhcmdldC81NjA0MywgdHJlZS1vcHRpbWl6YXRpb24vNTYyNjQsCi0JdHJl ZS1vcHRpbWl6YXRpb24vNTYyNzMKLS0gaW1wcm92ZSBleHBhbnNpb24gb2YgbWVtMSBvcD0gbWVt MiAoUFIgcnRsLW9wdGltaXphdGlvbi81NjE1MSkKLQotKiBGcmkgRmViICA4IDIwMTMgSmFrdWIg SmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC44LjAtMC4xMAotLSB1cGRhdGVkIGZyb20gdHJ1 bmsKLSAgLSBQUnMgYm9vdHN0cmFwLzU2MjI3LCBjKysvNTYyMzUsIGMrKy81NjIzNywgYysrLzU2 MjM5LCBjKysvNTYyNDEsCi0JZGVidWcvNTMzNjMsIGZvcnRyYW4vNTQzMzksIGZvcnRyYW4vNTU3 ODksIGxpYnN0ZGMrKy81NjE5MywKLQlsaWJzdGRjKysvNTYyMTYsIGx0by81NjIzMSwgbWlkZGxl LWVuZC81NjE4MSwKLQlydGwtb3B0aW1pemF0aW9uLzU2MTk1LCBydGwtb3B0aW1pemF0aW9uLzU2 MjI1LCB0YXJnZXQvNTA2NzgsCi0JdGFyZ2V0LzU0MDA5LCB0YXJnZXQvNTQxMzEsIHRyZWUtb3B0 aW1pemF0aW9uLzU2MjUwCi0gIC0gZml4IEFkYSBmcm9udGVuZCBtaXNjb21waWxhdGlvbiB3aXRo IHByb2ZpbGVkYm9vdHN0cmFwICgjOTA2NTE2LAotICAgIFBSIHJ0bC1vcHRpbWl6YXRpb24vNTYx NzgpCi0tIHJlc3RvcmUgcGFyc2luZyBvZiBwcGMgaW5saW5lIGFzbSBkaWFsZWN0cyAoIzkwOTI5 OCwgUFIgdGFyZ2V0LzU2MjU2KQotLSBmaXggdXAgbGliaWJlcnR5IG9sZCByZWdleCAoUFIgb3Ro ZXIvNTYyNDUpCi0tIGZpeCBJUkEgLU8wIC1nIGNvZGUgZGVidWcgcmVncmVzc2lvbiAoUFIgZGVi dWcvNTM5NDgpCi0KLSogV2VkIEZlYiAgNiAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhh dC5jb20+IDQuOC4wLTAuOQotLSB1cGRhdGVkIGZyb20gdHJ1bmsKLSAgLSBQUnMgYysrLzU0MTIy LCBjKysvNTYxNzcsIGMrKy81NjIwOCwgZGVidWcvNTQ3OTMsIGZvcnRyYW4vNDc1MTcsCi0JZm9y dHJhbi81MDYyNywgZm9ydHJhbi81NDE5NSwgZm9ydHJhbi81NjAwOCwgZm9ydHJhbi81NjA1NCwK LQlsaWJzdGRjKysvNTYyMDIsIGx0by81NjE2OCwgbWlkZGxlLWVuZC81NjExMywgbWlkZGxlLWVu ZC81NjE2NywKLQltaWRkbGUtZW5kLzU2MjE3LCBydGwtb3B0aW1pemF0aW9uLzU2MTMxLCBzYW5p dGl6ZXIvNTU2MTcsCi0JdGFyZ2V0LzUyMTIzLCB0YXJnZXQvNTQ2MDEsIHRhcmdldC81NTE0Niwg dGFyZ2V0LzU2MTg2LAotCXRyZWUtb3B0aW1pemF0aW9uLzUzMTg1LCB0cmVlLW9wdGltaXphdGlv bi81MzM0MiwKLQl0cmVlLW9wdGltaXphdGlvbi81NDM4NiwgdHJlZS1vcHRpbWl6YXRpb24vNTU3 ODksCi0JdHJlZS1vcHRpbWl6YXRpb24vNTYxODgKLSAgLSBmaXggdXAgc3RkYXJnIHBhc3MgKFBS IHRyZWUtb3B0aW1pemF0aW9uLzU2MjA1LCAjOTA2MzY3KQotICAtIHJlbW92ZSB1bnVzZWQgdGhy ZWFkX2xvY2FsIGJpdGZpZWxkICgjOTA3ODgyKQotLSBmaXggY3NlbGltIHBhc3Mgb24gY2FsbHMg dGhhdCBtaWdodCBmcmVlIG1lbW9yeSAoUFIgdHJlZS1vcHRpbWl6YXRpb24vNTI0NDgpCi0tIGZp eCBsaWJnZm9ydHJhbiBpbnRlcm5hbF9wYWNrIChQUiBmb3J0cmFuLzU1OTc4KQotLSBmaXggdXAg LmRlYnVnX2xvYyBmb3IgZmlyc3QgZnVuY3Rpb24gaW4gQ1UsIGlmIGl0IGNvbnRhaW5zIGVtcHR5 IHJhbmdlcwotICBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmdW5jdGlvbiAoUFIgZGVidWcvNTYx NTQsICM5MDQyNTIpCi0tIGZpeCBwcGM2NCBpbmRpcmVjdCBjYWxscyAoUFIgdGFyZ2V0LzU2MjI4 LCAjOTA4Mzg4KQotCi0qIFRodSBKYW4gMzEgMjAxMyBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRo YXQuY29tPiA0LjguMC0wLjgKLS0gdXBkYXRlZCBmcm9tIHRydW5rCi0gIC0gUFJzIGMrKy81NjE2 MiwgZGVidWcvNTQ0MTAsIGRlYnVnLzU0NTA4LCBkZWJ1Zy81NTA1OSwgZm9ydHJhbi81NDEwNywK LQlmb3J0cmFuLzU2MTM4LCBsaWJnb21wLzU1NTYxLCBsaWJzdGRjKysvNTQzMTQsIGx0by81NjE0 NywKLQltaWRkbGUtZW5kLzUzMDczLCBvdGhlci81MzQxMywgb3RoZXIvNTQ2MjAsIHJ0bC1vcHRp bWl6YXRpb24vNTYxNDQsCi0Jc2FuaXRpemVyLzU1Mzc0LCB0YXJnZXQvMzkwNjQsIHRhcmdldC81 NjEyMSwgdHJlZS1vcHRpbWl6YXRpb24vNTUyNzAsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTYwNjQs IHRyZWUtb3B0aW1pemF0aW9uLzU2MTEzLAotCXRyZWUtb3B0aW1pemF0aW9uLzU2MTUwLCB0cmVl LW9wdGltaXphdGlvbi81NjE1NwotCi0qIFR1ZSBKYW4gMjkgMjAxMyBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiA0LjguMC0wLjcKLS0gdXBkYXRlZCBmcm9tIHRydW5rCi0gIC0gUFJz IGMrKy81NjA5NSwgYysrLzU2MTA0LCBjLzU2MDc4LCBmb3J0cmFuLzUzNTM3LCBmb3J0cmFuLzU1 OTg0LAotCWZvcnRyYW4vNTYwNDcsIGlubGluZS1hc20vNTU5MzQsIGxpYnN0ZGMrKy81NjA4NSwg bGlic3RkYysrLzU2MTEyLAotCW90aGVyLzU0ODE0LCBvdGhlci81NjA3NiwgcnRsLW9wdGltaXph dGlvbi81NjExNywgdGFyZ2V0LzU0NjYzLAotCXRhcmdldC81NjExNCwgdGVzdHN1aXRlLzU2MDUz LCB0cmVlLW9wdGltaXphdGlvbi81NTkyNywKLQl0cmVlLW9wdGltaXphdGlvbi81NjAzNCwgdHJl ZS1vcHRpbWl6YXRpb24vNTYwMzUsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTYwOTQsIHRyZWUtb3B0 aW1pemF0aW9uLzU2MDk4LAotCXRyZWUtb3B0aW1pemF0aW9uLzU2MTI1Ci0KLSogVGh1IEphbiAy NCAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4wLTAuNgotLSB1cGRh dGVkIGZyb20gdHJ1bmsKLSAgLSBQUnMgYysrLzUzNjA5LCBjKysvNTU5NDQsIGMrKy81NjA2Nywg YysrLzU2MDcxLCBmb3J0cmFuLzU2MDgxLAotCWxpYmdvbXAvNTEzNzYsIGxpYmdvbXAvNTYwNzMs IGxpYnF1YWRtYXRoLzU2MDcyLCBtaWRkbGUtZW5kLzU2MDc0LAotCXNhbml0aXplci81NTk4OSwg dGFyZ2V0LzQ5MDY5LCB0YXJnZXQvNTQyMjIsIHRhcmdldC81NTY4NiwKLQl0YXJnZXQvNTYwMjgK LS0gdXBkYXRlIFRlWCByZWxhdGVkIEJ1aWxkUmVxdWlyZXMgKCM4OTE0NjApCi0KLSogVHVlIEph biAyMiAyMDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4wLTAuNQotLSB1 cGRhdGVkIGZyb20gdHJ1bmsKLSAgLSBQUnMgYysrLzU2MDU5LCBmb3J0cmFuLzU1OTE5LCBydGwt b3B0aW1pemF0aW9uLzU2MDIzLAotCXRyZWUtb3B0aW1pemF0aW9uLzU2MDUxCi0tIGZpeCB1cCBj bG9vZyBkbG9wZW4gcGF0Y2hlcyBmb3IgdXBncmFkZSB0byBjbG9vZy0wLjE4LjAKLS0gZml4IEZv cnRyYW4gT3Blbk1QIE9PUCBJQ0UgKFBSIGZvcnRyYW4vNTYwNTIpCi0KLSogTW9uIEphbiAyMSAy MDEzIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOC4wLTAuNAotLSB1cGRhdGVk IGZyb20gdHJ1bmsKLSAgLSBQUnMgYWRhLzg2NCwgYm9vdHN0cmFwLzU1NzkyLCBib290c3RyYXAv NTU5NjEsIGMrKy81MjM0MywgYysrLzU1NjYzLAotCWMrKy81NTc1MywgYysrLzU1ODAxLCBjKysv NTU4NzgsIGMrKy81NTg5MywgYy80ODQxOCwgZGVidWcvNDk4ODgsCi0JZGVidWcvNTMyMzUsIGRl YnVnLzUzNjcxLCBkZWJ1Zy81NDExNCwgZGVidWcvNTQ0MDIsIGRlYnVnLzU1NTc5LAotCWRlYnVn LzU2MDA2LCBkcml2ZXIvNTU0NzAsIGRyaXZlci81NTg4NCwgZm9ydHJhbi80Mjc2OSwgZm9ydHJh bi80NTgzNiwKLQlmb3J0cmFuLzQ1OTAwLCBmb3J0cmFuLzQ3MjAzLCBmb3J0cmFuLzUyODY1LCBm b3J0cmFuLzUzODc2LAotCWZvcnRyYW4vNTQyODYsIGZvcnRyYW4vNTQ2NzgsIGZvcnRyYW4vNTQ5 OTAsIGZvcnRyYW4vNTQ5OTIsCi0JZm9ydHJhbi81NTA3MiwgZm9ydHJhbi81NTM0MSwgZm9ydHJh bi81NTYxOCwgZm9ydHJhbi81NTc1OCwKLQlmb3J0cmFuLzU1NzYzLCBmb3J0cmFuLzU1ODA2LCBm b3J0cmFuLzU1ODUyLCBmb3J0cmFuLzU1ODY4LAotCWZvcnRyYW4vNTU5MzUsIGZvcnRyYW4vNTU5 ODMsIGxpYm11ZGZsYXAvNTMzNTksIGxpYnN0ZGMrKy81MTAwNywKLQlsaWJzdGRjKysvNTUwNDMs IGxpYnN0ZGMrKy81NTIzMywgbGlic3RkYysrLzU1NTk0LCBsaWJzdGRjKysvNTU3MjgsCi0JbGli c3RkYysrLzU1ODQ3LCBsaWJzdGRjKysvNTU4NjEsIGxpYnN0ZGMrKy81NTkwOCwgbHRvLzQ1Mzc1 LAotCW1pZGRsZS1lbmQvNTUxMTQsIG1pZGRsZS1lbmQvNTU4NTEsIG1pZGRsZS1lbmQvNTU4ODIs Ci0JbWlkZGxlLWVuZC81NTg5MCwgbWlkZGxlLWVuZC81NjAxNSwgb3RoZXIvNTU5NzMsIG90aGVy LzU1OTgyLAotCXJ0bC1vcHRpbWl6YXRpb24vNTI1NzMsIHJ0bC1vcHRpbWl6YXRpb24vNTM4Mjcs Ci0JcnRsLW9wdGltaXphdGlvbi81NTE1MywgcnRsLW9wdGltaXphdGlvbi81NTU0NywKLQlydGwt b3B0aW1pemF0aW9uLzU1NjcyLCBydGwtb3B0aW1pemF0aW9uLzU1ODI5LAotCXJ0bC1vcHRpbWl6 YXRpb24vNTU4MzMsIHJ0bC1vcHRpbWl6YXRpb24vNTU4NDUsCi0JcnRsLW9wdGltaXphdGlvbi81 NjAwNSwgc2FuaXRpemVyLzU1NDg4LCBzYW5pdGl6ZXIvNTU2NzksCi0Jc2FuaXRpemVyLzU1ODQ0 LCB0YXJnZXQvNDI2NjEsIHRhcmdldC80Mzk2MSwgdGFyZ2V0LzU0NDYxLAotCXRhcmdldC81NDkw OCwgdGFyZ2V0LzU1MzAxLCB0YXJnZXQvNTU0MzMsIHRhcmdldC81NTU2NSwKLQl0YXJnZXQvNTU3 MTgsIHRhcmdldC81NTcxOSwgdGFyZ2V0LzU1ODc2LCB0YXJnZXQvNTU4OTcsCi0JdGFyZ2V0LzU1 OTQwLCB0YXJnZXQvNTU5NDgsIHRhcmdldC81NTk3NCwgdGFyZ2V0LzU1OTgxLAotCXRhcmdldC81 NjA1OCwgdGVzdHN1aXRlLzU0NjIyLCB0ZXN0c3VpdGUvNTU5OTQsCi0JdHJlZS1vcHRpbWl6YXRp b24vNDQwNjEsIHRyZWUtb3B0aW1pemF0aW9uLzQ4MTg5LAotCXRyZWUtb3B0aW1pemF0aW9uLzQ4 NzY2LCB0cmVlLW9wdGltaXphdGlvbi81MjYzMSwKLQl0cmVlLW9wdGltaXphdGlvbi81MzQ2NSwg dHJlZS1vcHRpbWl6YXRpb24vNTQxMjAsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTQ3NjcsIHRyZWUt b3B0aW1pemF0aW9uLzU1MjczLAotCXRyZWUtb3B0aW1pemF0aW9uLzU1NTY5LCB0cmVlLW9wdGlt aXphdGlvbi81NTgyMywKLQl0cmVlLW9wdGltaXphdGlvbi81NTg2MiwgdHJlZS1vcHRpbWl6YXRp b24vNTU4NzUsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTU4ODgsIHRyZWUtb3B0aW1pemF0aW9uLzU1 OTIwLAotCXRyZWUtb3B0aW1pemF0aW9uLzU1OTIxLCB0cmVlLW9wdGltaXphdGlvbi81NTk1NSwK LQl0cmVlLW9wdGltaXphdGlvbi81NTk2NCwgdHJlZS1vcHRpbWl6YXRpb24vNTU5OTUsCi0JdHJl ZS1vcHRpbWl6YXRpb24vNTYwMjksIHRyZWUtb3B0aW1pemF0aW9uLzU1MjY0Ci0tIGZpeCB1cCBt dWx0aXZlcnNpb25pbmcgKFBSIGMrKy81NTc0MikKLS0gZml4IHVwIElDRSB3aXRoIHRhcmdldCBh dHRyaWJ1dGUgKFBSIG1pZGRsZS1lbmQvNTYwMjIpCi0tIHVwZGF0ZSBpc2wgdG8gMC4xMS4xIGFu ZCBjbG9vZyB0byAwLjE4LjAKLQotKiBTdW4gSmFuICA2IDIwMTMgSmFrdWIgSmVsaW5layA8amFr dWJAcmVkaGF0LmNvbT4gNC44LjAtMC4zCisKKyogVGh1IEZlYiAxMyAyMDE0IEpha3ViIEplbGlu ZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuOS4wLTAuMgorLSB1cGRhdGUgZnJvbSB0aGUgdHJ1bmsK KyAgLSBQUnMgYm9vdHN0cmFwLzU5ODc4LCBjKysvNjAwNDcsIGMvNjAxMDEsIGRlYnVnLzU5Nzc2 LCBmb3J0cmFuLzUyMzcwLAorCWxpYmZmaS82MDA3MywgbHRvLzU5NDY4LCBsdG8vNjAwNjAsIG1p ZGRsZS1lbmQvNTk3MzcsCisJbWlkZGxlLWVuZC82MDA5MiwgcnRsLW9wdGltaXphdGlvbi82MDEx NiwgdGFyZ2V0LzQzNTQ2LCB0YXJnZXQvNDkwMDgsCisJdGFyZ2V0LzU5OTI3LCB0YXJnZXQvNjAx MzcsIHRhcmdldC82MDE1MSwgdGVzdHN1aXRlLzU4NjMwCistIHVwZ3JhZGUgdG8gbmV3ZXIgY2xv b2cgYW5kIGlzbAorCisqIFR1ZSBGZWIgMTEgMjAxNCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRo YXQuY29tPiA0LjkuMC0wLjEKIC0gbmV3IHBhY2thZ2UKCmRpZmYgLS1naXQgYS9nY2M0OC1jbG9v Zy1kbC5wYXRjaCBiL2djYzQ4LWNsb29nLWRsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCA1MmI1YzUxLi4wMDAwMDAwCi0tLSBhL2djYzQ4LWNsb29nLWRsLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNDc0ICswLDAgQEAKLS0tLSBnY2MvTWFrZWZpbGUuaW4uamoJMjAxMi0x Mi0xMyAxNzowOToyMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvTWFrZWZpbGUuaW4JMjAxMi0x Mi0xNCAxMTo0NToyMi41ODU2NzAwNTUgKzAxMDAKLUBAIC0xMDIyLDcgKzEwMjIsNyBAQCBCVUlM RF9MSUJERVBTPSAkKEJVSUxEX0xJQklCRVJUWSkKLSAjIGFuZCB0aGUgc3lzdGVtJ3MgaW5zdGFs bGVkIGxpYnJhcmllcy4KLSBMSUJTID0gQExJQlNAIGxpYmNvbW1vbi5hICQoQ1BQTElCKSAkKExJ QklOVEwpICQoTElCSUNPTlYpICQoTElCQkFDS1RSQUNFKSBcCi0gCSQoTElCSUJFUlRZKSAkKExJ QkRFQ05VTUJFUikgJChIT1NUX0xJQlMpCi0tQkFDS0VORExJQlMgPSAkKENMT09HTElCUykgJChH TVBMSUJTKSAkKFBMVUdJTkxJQlMpICQoSE9TVF9MSUJTKSBcCi0rQkFDS0VORExJQlMgPSAkKGlm ICQoQ0xPT0dMSUJTKSwtbGRsKSAkKEdNUExJQlMpICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMp IFwKLSAJJChaTElCKQotICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9yIEdO QVQuCi0gU1lTTElCUyA9IEBHTkFUX0xJQkVYQ0AKLUBAIC0zNDQyLDYgKzM0NDIsMTUgQEAgJChj b21tb25fb3V0X29iamVjdF9maWxlKTogJChjb21tb25fb3V0XwotICAgICAkKERJQUdOT1NUSUNf Q09SRV9IKSAkKEZMQUdTX0gpICQoT1BUU19IKSAkKFRNX0gpICQoVE1fUF9IKSAkKE1BQ0hNT0RF X0gpCi0gCSQoQ09NUElMRVIpIC1jICQoQUxMX0NPTVBJTEVSRkxBR1MpICQoQUxMX0NQUEZMQUdT KSBcCi0gCSAgJDwgJChPVVRQVVRfT1BUSU9OKQotKwotK2dyYXBoaXRlJS5vIDogXAotKyAgQUxM X0NGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxM X0NGTEFHUykpCi0rZ3JhcGhpdGUubyA6IFwKLSsgIEFMTF9DRkxBR1MgOj0gLU8gJChmaWx0ZXIt b3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DRkxBR1MpKQotK2dyYXBoaXRlJS5v IDogXAotKyAgQUxMX0NYWEZMQUdTIDo9IC1PICQoZmlsdGVyLW91dCAtZmtlZXAtaW5saW5lLWZ1 bmN0aW9ucywgJChBTExfQ1hYRkxBR1MpKQotK2dyYXBoaXRlLm8gOiBcCi0rICBBTExfQ1hYRkxB R1MgOj0gLU8gJChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhG TEFHUykpCi0gIwwKLSAjIEdlbmVyYXRlIGhlYWRlciBhbmQgc291cmNlIGZpbGVzIGZyb20gdGhl IG1hY2hpbmUgZGVzY3JpcHRpb24sCi0gIyBhbmQgY29tcGlsZSB0aGVtLgotLS0tIGdjYy9ncmFw aGl0ZS1wb2x5LmguamoJMjAxMi0xMi0xMyAxMTozMToyNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBn Y2MvZ3JhcGhpdGUtcG9seS5oCTIwMTItMTItMTQgMTM6NDE6NDEuOTcwODAwNzI2ICswMTAwCi1A QCAtMjIsNiArMjIsMzY5IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMu Ci0gI2lmbmRlZiBHQ0NfR1JBUEhJVEVfUE9MWV9ICi0gI2RlZmluZSBHQ0NfR1JBUEhJVEVfUE9M WV9ICi0gCi0rI2luY2x1ZGUgPGlzbC9hZmYuaD4KLSsjaW5jbHVkZSA8aXNsL3NjaGVkdWxlLmg+ Ci0rI2luY2x1ZGUgPGlzbC9pbHAuaD4KLSsjaW5jbHVkZSA8aXNsL2Zsb3cuaD4KLSsjaW5jbHVk ZSA8aXNsL29wdGlvbnMuaD4KLSsjaW5jbHVkZSA8Y2xvb2cvaXNsL2Nsb29nLmg+Ci0rI2luY2x1 ZGUgPGRsZmNuLmg+Ci0rI2RlZmluZSBEWU5TWU1TIFwKLSsgIERZTlNZTSAoY2xhc3RfcHByaW50 KTsgXAotKyAgRFlOU1lNIChjbG9vZ19jbGFzdF9jcmVhdGVfZnJvbV9pbnB1dCk7IFwKLSsgIERZ TlNZTSAoY2xvb2dfY2xhc3RfZnJlZSk7IFwKLSsgIERZTlNZTSAoY2xvb2dfZG9tYWluX2Zyb21f aXNsX3NldCk7IFwKLSsgIERZTlNZTSAoY2xvb2dfaW5wdXRfYWxsb2MpOyBcCi0rICBEWU5TWU0g KGNsb29nX2lzbF9zdGF0ZV9tYWxsb2MpOyBcCi0rICBEWU5TWU0gKGNsb29nX29wdGlvbnNfZnJl ZSk7IFwKLSsgIERZTlNZTSAoY2xvb2dfb3B0aW9uc19tYWxsb2MpOyBcCi0rICBEWU5TWU0gKGNs b29nX3NjYXR0ZXJpbmdfZnJvbV9pc2xfbWFwKTsgXAotKyAgRFlOU1lNIChjbG9vZ19zdGF0ZV9m cmVlKTsgXAotKyAgRFlOU1lNIChjbG9vZ191bmlvbl9kb21haW5fYWRkX2RvbWFpbik7IFwKLSsg IERZTlNZTSAoY2xvb2dfdW5pb25fZG9tYWluX2FsbG9jKTsgXAotKyAgRFlOU1lNIChjbG9vZ191 bmlvbl9kb21haW5fc2V0X25hbWUpOyBcCi0rICBEWU5TWU0gKGlzbF9hZmZfYWRkX2NvZWZmaWNp ZW50X3NpKTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX2FkZF9jb25zdGFudCk7IFwKLSsgIERZTlNZ TSAoaXNsX2FmZl9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX2dldF9jb2VmZmljaWVudCk7 IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9nZXRfc3BhY2UpOyBcCi0rICBEWU5TWU0gKGlzbF9hZmZf bW9kKTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX3NldF9jb2VmZmljaWVudF9zaSk7IFwKLSsgIERZ TlNZTSAoaXNsX2FmZl9zZXRfY29uc3RhbnRfc2kpOyBcCi0rICBEWU5TWU0gKGlzbF9hZmZfemVy b19vbl9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlzbF9iYW5kX2ZyZWUpOyBcCi0rICBEWU5TWU0g KGlzbF9iYW5kX2dldF9jaGlsZHJlbik7IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfZ2V0X3BhcnRp YWxfc2NoZWR1bGUpOyBcCi0rICBEWU5TWU0gKGlzbF9iYW5kX2hhc19jaGlsZHJlbik7IFwKLSsg IERZTlNZTSAoaXNsX2JhbmRfbGlzdF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfYmFuZF9saXN0 X2dldF9iYW5kKTsgXAotKyAgRFlOU1lNIChpc2xfYmFuZF9saXN0X2dldF9jdHgpOyBcCi0rICBE WU5TWU0gKGlzbF9iYW5kX2xpc3Rfbl9iYW5kKTsgXAotKyAgRFlOU1lNIChpc2xfYmFuZF9tZW1i ZXJfaXNfemVyb19kaXN0YW5jZSk7IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfbl9tZW1iZXIpOyBc Ci0rICBEWU5TWU0gKGlzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQpOyBcCi0rICBEWU5TWU0g KGlzbF9iYXNpY19tYXBfcHJvamVjdF9vdXQpOyBcCi0rICBEWU5TWU0gKGlzbF9iYXNpY19tYXBf dW5pdmVyc2UpOyBcCi0rICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudCk7 IFwKLSsgIERZTlNZTSAoaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50X3NpKTsgXAotKyAg RFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnQpOyBcCi0rICBEWU5TWU0gKGlzbF9j b25zdHJhaW50X3NldF9jb25zdGFudF9zaSk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9hbGxvYyk7 IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfZXF1YWxpdHlf YWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2lk X2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfaW5l cXVhbGl0eV9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX2NvcHkpOyBcCi0r ICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFjZV9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfbG9jYWxf c3BhY2VfZnJvbV9zcGFjZSk7IFwKLSsgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX3JhbmdlKTsg XAotKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xf bWFwX2FkZF9kaW1zKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2FsaWduX3BhcmFtcyk7IFwKLSsg IERZTlNZTSAoaXNsX21hcF9hcHBseV9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9jb3B5 KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2RpbSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9kdW1w KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2VxdWF0ZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9m aXhfc2kpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfZmxhdF9wcm9kdWN0KTsgXAotKyAgRFlOU1lN IChpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9mcmVl KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fYmFzaWNfbWFwKTsgXAotKyAgRFlOU1lNIChp c2xfbWFwX2Zyb21fcHdfYWZmKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fdW5pb25fbWFw KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBf Z2V0X3NwYWNlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2dldF90dXBsZV9pZCk7IFwKLSsgIERZ TlNZTSAoaXNsX21hcF9pbnNlcnRfZGltcyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNl Y3QpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0X2RvbWFpbik7IFwKLSsgIERZTlNZ TSAoaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2UpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfaXNfZW1w dHkpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfbGV4X2dlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFw X2xleF9sZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9uX291dCk7IFwKLSsgIERZTlNZTSAoaXNs X21hcF9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9zZXRfdHVwbGVfaWQpOyBcCi0rICBE WU5TWU0gKGlzbF9tYXBfdW5pdmVyc2UpOyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9v bl9lcnJvcik7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX2Z1c2UpOyBc Ci0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSk7 IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heGltaXplX2JhbmRfZGVw dGgpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9w cmludGVyX3ByaW50X2FmZik7IFwKLSsgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfY29uc3Ry YWludCk7IFwKLSsgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfbWFwKTsgXAotKyAgRFlOU1lN IChpc2xfcHJpbnRlcl9wcmludF9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3RvX2Zp bGUpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfYWRkKTsgXAotKyAgRFlOU1lNIChpc2xfcHdf YWZmX2FsbG9jKTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2NvcHkpOyBcCi0rICBEWU5TWU0g KGlzbF9wd19hZmZfZXFfc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2ZyZWUpOyBcCi0r ICBEWU5TWU0gKGlzbF9wd19hZmZfZnJvbV9hZmYpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZf Z2Vfc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2d0X3NldCk7IFwKLSsgIERZTlNZTSAo aXNsX3B3X2FmZl9pc19jc3QpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfbGVfc2V0KTsgXAot KyAgRFlOU1lNIChpc2xfcHdfYWZmX2x0X3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9t b2QpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfbXVsKTsgXAotKyAgRFlOU1lNIChpc2xfcHdf YWZmX25lX3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9ub25uZWdfc2V0KTsgXAotKyAg RFlOU1lNIChpc2xfcHdfYWZmX3NldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2Fm Zl9zdWIpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfemVyb19zZXQpOyBcCi0rICBEWU5TWU0g KGlzbF9zY2hlZHVsZV9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfZ2V0X2JhbmRf Zm9yZXN0KTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2FkZF9jb25zdHJhaW50KTsgXAotKyAgRFlO U1lNIChpc2xfc2V0X2FkZF9kaW1zKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2FwcGx5KTsgXAot KyAgRFlOU1lNIChpc2xfc2V0X2NvYWxlc2NlKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2NvcHkp OyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfZGltKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2ZpeF9z aSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2Zy b21fY2xvb2dfZG9tYWluKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2dldF9zcGFjZSk7IFwKLSsg IERZTlNZTSAoaXNsX3NldF9nZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfaW50 ZXJzZWN0KTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2lzX2VtcHR5KTsgXAotKyAgRFlOU1lNIChp c2xfc2V0X21heCk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9taW4pOyBcCi0rICBEWU5TWU0gKGlz bF9zZXRfbmF0X3VuaXZlcnNlKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X3Byb2plY3Rfb3V0KTsg XAotKyAgRFlOU1lNIChpc2xfc2V0X3NldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3Nl dF91bml2ZXJzZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX2FkZF9kaW1zKTsgXAotKyAgRFlO U1lNIChpc2xfc3BhY2VfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9jb3B5KTsgXAot KyAgRFlOU1lNIChpc2xfc3BhY2VfZGltKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2VfZG9tYWlu KTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQpOyBcCi0rICBEWU5TWU0g KGlzbF9zcGFjZV9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2VfZnJvbV9kb21haW4pOyBc Ci0rICBEWU5TWU0gKGlzbF9zcGFjZV9nZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9z cGFjZV9wYXJhbXNfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9yYW5nZSk7IFwKLSsg IERZTlNZTSAoaXNsX3NwYWNlX3NldF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX3Nl dF9kaW1faWQpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9zZXRfdHVwbGVfaWQpOyBcCi0rICBE WU5TWU0gKGlzbF91bmlvbl9tYXBfYWRkX21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21h cF9hbGlnbl9wYXJhbXMpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYXBwbHlfZG9tYWlu KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2FwcGx5X3JhbmdlKTsgXAotKyAgRFlOU1lN IChpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21h cF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2VtcHR5KTsgXAotKyAgRFlOU1lN IChpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKLSsgIERZTlNZTSAoaXNsX3Vu aW9uX21hcF9mb3JlYWNoX21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mcmVlKTsg XAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2Zyb21fbWFwKTsgXAotKyAgRFlOU1lNIChpc2xf dW5pb25fbWFwX2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2V0X3NwYWNl KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dpc3RfZG9tYWluKTsgXAotKyAgRFlOU1lN IChpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBf aW50ZXJzZWN0X2RvbWFpbik7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9pc19lbXB0eSk7 IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCk7IFwKLSsgIERZTlNZTSAoaXNs X3VuaW9uX21hcF91bmlvbik7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9hZGRfc2V0KTsg XAotKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUpOyBcCi0rICBEWU5T WU0gKGlzbF91bmlvbl9zZXRfY29weSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9lbXB0 eSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mcm9tX3NldCk7IFwKLSsgIERZTlNZTSAo c3RtdF9hc3MpOyBcCi0rICBEWU5TWU0gKHN0bXRfYmxvY2spOyBcCi0rICBEWU5TWU0gKHN0bXRf Zm9yKTsgXAotKyAgRFlOU1lNIChzdG10X2d1YXJkKTsgXAotKyAgRFlOU1lNIChzdG10X3Jvb3Qp OyBcCi0rICBEWU5TWU0gKHN0bXRfdXNlcik7Ci0rZXh0ZXJuIHN0cnVjdCBjbG9vZ19wb2ludGVy c19zX18KLSt7Ci0rICBib29sIGluaXRlZDsKLSsgIHZvaWQgKmg7Ci0rI2RlZmluZSBEWU5TWU0o eCkgX190eXBlb2YgKHgpICpwXyMjeAotKyAgRFlOU1lNUwotKyN1bmRlZiBEWU5TWU0KLSt9IGNs b29nX3BvaW50ZXJzX187Ci0rCi0rI2RlZmluZSBjbG9vZ19ibG9ja19hbGxvYyAoKmNsb29nX3Bv aW50ZXJzX18ucF9jbG9vZ19ibG9ja19hbGxvYykKLSsjZGVmaW5lIGNsYXN0X3BwcmludCAoKmNs b29nX3BvaW50ZXJzX18ucF9jbGFzdF9wcHJpbnQpCi0rI2RlZmluZSBjbG9vZ19jbGFzdF9jcmVh dGVfZnJvbV9pbnB1dCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19jbGFzdF9jcmVhdGVfZnJv bV9pbnB1dCkKLSsjZGVmaW5lIGNsb29nX2NsYXN0X2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBf Y2xvb2dfY2xhc3RfZnJlZSkKLSsjZGVmaW5lIGNsb29nX2RvbWFpbl9mcm9tX2lzbF9zZXQgKCpj bG9vZ19wb2ludGVyc19fLnBfY2xvb2dfZG9tYWluX2Zyb21faXNsX3NldCkKLSsjZGVmaW5lIGNs b29nX2lucHV0X2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX2lucHV0X2FsbG9jKQot KyNkZWZpbmUgY2xvb2dfaXNsX3N0YXRlX21hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9v Z19pc2xfc3RhdGVfbWFsbG9jKQotKyNkZWZpbmUgY2xvb2dfb3B0aW9uc19mcmVlICgqY2xvb2df cG9pbnRlcnNfXy5wX2Nsb29nX29wdGlvbnNfZnJlZSkKLSsjZGVmaW5lIGNsb29nX29wdGlvbnNf bWFsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX29wdGlvbnNfbWFsbG9jKQotKyNkZWZp bmUgY2xvb2dfc2NhdHRlcmluZ19mcm9tX2lzbF9tYXAgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xv b2dfc2NhdHRlcmluZ19mcm9tX2lzbF9tYXApCi0rI2RlZmluZSBjbG9vZ19zdGF0ZV9mcmVlICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3N0YXRlX2ZyZWUpCi0rI2RlZmluZSBjbG9vZ191bmlv bl9kb21haW5fYWRkX2RvbWFpbiAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ191bmlvbl9kb21h aW5fYWRkX2RvbWFpbikKLSsjZGVmaW5lIGNsb29nX3VuaW9uX2RvbWFpbl9hbGxvYyAoKmNsb29n X3BvaW50ZXJzX18ucF9jbG9vZ191bmlvbl9kb21haW5fYWxsb2MpCi0rI2RlZmluZSBjbG9vZ191 bmlvbl9kb21haW5fc2V0X25hbWUgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfdW5pb25fZG9t YWluX3NldF9uYW1lKQotKyNkZWZpbmUgaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kgKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kpCi0rI2RlZmluZSBpc2xf YWZmX2FkZF9jb25zdGFudCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX2FkZF9jb25zdGFu dCkKLSsjZGVmaW5lIGlzbF9hZmZfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX2Zy ZWUpCi0rI2RlZmluZSBpc2xfYWZmX2dldF9jb2VmZmljaWVudCAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfYWZmX2dldF9jb2VmZmljaWVudCkKLSsjZGVmaW5lIGlzbF9hZmZfZ2V0X3NwYWNlICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9hZmZfZ2V0X3NwYWNlKQotKyNkZWZpbmUgaXNsX2FmZl9t b2QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2FmZl9tb2QpCi0rI2RlZmluZSBpc2xfYWZmX3Nl dF9jb2VmZmljaWVudF9zaSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX3NldF9jb2VmZmlj aWVudF9zaSkKLSsjZGVmaW5lIGlzbF9hZmZfc2V0X2NvbnN0YW50X3NpICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF9hZmZfc2V0X2NvbnN0YW50X3NpKQotKyNkZWZpbmUgaXNsX2FmZl96ZXJvX29u X2RvbWFpbiAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX3plcm9fb25fZG9tYWluKQotKyNk ZWZpbmUgaXNsX2JhbmRfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9mcmVlKQot KyNkZWZpbmUgaXNsX2JhbmRfZ2V0X2NoaWxkcmVuICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9i YW5kX2dldF9jaGlsZHJlbikKLSsjZGVmaW5lIGlzbF9iYW5kX2dldF9wYXJ0aWFsX3NjaGVkdWxl ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2dldF9wYXJ0aWFsX3NjaGVkdWxlKQotKyNk ZWZpbmUgaXNsX2JhbmRfaGFzX2NoaWxkcmVuICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5k X2hhc19jaGlsZHJlbikKLSsjZGVmaW5lIGlzbF9iYW5kX2xpc3RfZnJlZSAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfYmFuZF9saXN0X2ZyZWUpCi0rI2RlZmluZSBpc2xfYmFuZF9saXN0X2dldF9i YW5kICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xpc3RfZ2V0X2JhbmQpCi0rI2RlZmlu ZSBpc2xfYmFuZF9saXN0X2dldF9jdHggKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2JhbmRfbGlz dF9nZXRfY3R4KQotKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9uX2JhbmQgKCpjbG9vZ19wb2ludGVy c19fLnBfaXNsX2JhbmRfbGlzdF9uX2JhbmQpCi0rI2RlZmluZSBpc2xfYmFuZF9tZW1iZXJfaXNf emVyb19kaXN0YW5jZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9tZW1iZXJfaXNfemVy b19kaXN0YW5jZSkKLSsjZGVmaW5lIGlzbF9iYW5kX25fbWVtYmVyICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9iYW5kX25fbWVtYmVyKQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9hZGRfY29uc3Ry YWludCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX2FkZF9jb25zdHJhaW50KQot KyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9wcm9qZWN0X291dCAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfYmFzaWNfbWFwX3Byb2plY3Rfb3V0KQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF91bml2ZXJz ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX3VuaXZlcnNlKQotKyNkZWZpbmUg aXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9j b25zdHJhaW50X3NldF9jb2VmZmljaWVudCkKLSsjZGVmaW5lIGlzbF9jb25zdHJhaW50X3NldF9j b2VmZmljaWVudF9zaSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29l ZmZpY2llbnRfc2kpCi0rI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnQgKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50KQotKyNkZWZpbmUgaXNs X2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9jb25z dHJhaW50X3NldF9jb25zdGFudF9zaSkKLSsjZGVmaW5lIGlzbF9jdHhfYWxsb2MgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX2N0eF9hbGxvYykKLSsjZGVmaW5lIGlzbF9jdHhfZnJlZSAoKmNsb29n X3BvaW50ZXJzX18ucF9pc2xfY3R4X2ZyZWUpCi0rI2RlZmluZSBpc2xfZXF1YWxpdHlfYWxsb2Mg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2VxdWFsaXR5X2FsbG9jKQotKyNkZWZpbmUgaXNsX2lk X2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9pZF9hbGxvYykKLSsjZGVmaW5lIGlzbF9p ZF9jb3B5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9pZF9jb3B5KQotKyNkZWZpbmUgaXNsX2lk X2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2lkX2ZyZWUpCi0rI2RlZmluZSBpc2xfaW5l cXVhbGl0eV9hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfaW5lcXVhbGl0eV9hbGxvYykK LSsjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9jb3B5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9s b2NhbF9zcGFjZV9jb3B5KQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2ZyZWUgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX2ZyZWUpCi0rI2RlZmluZSBpc2xfbG9jYWxfc3Bh Y2VfZnJvbV9zcGFjZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbG9jYWxfc3BhY2VfZnJvbV9z cGFjZSkKLSsjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9yYW5nZSAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfbG9jYWxfc3BhY2VfcmFuZ2UpCi0rI2RlZmluZSBpc2xfbWFwX2FkZF9jb25zdHJhaW50 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2NvbnN0cmFpbnQpCi0rI2RlZmluZSBp c2xfbWFwX2FkZF9kaW1zICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2RpbXMpCi0r I2RlZmluZSBpc2xfbWFwX2FsaWduX3BhcmFtcyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFw X2FsaWduX3BhcmFtcykKLSsjZGVmaW5lIGlzbF9tYXBfYXBwbHlfcmFuZ2UgKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX21hcF9hcHBseV9yYW5nZSkKLSsjZGVmaW5lIGlzbF9tYXBfY29weSAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2NvcHkpCi0rI2RlZmluZSBpc2xfbWFwX2RpbSAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2RpbSkKLSsjZGVmaW5lIGlzbF9tYXBfZHVtcCAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2R1bXApCi0rI2RlZmluZSBpc2xfbWFwX2VxdWF0ZSAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2VxdWF0ZSkKLSsjZGVmaW5lIGlzbF9tYXBfZml4 X3NpICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZml4X3NpKQotKyNkZWZpbmUgaXNsX21h cF9mbGF0X3Byb2R1Y3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9mbGF0X3Byb2R1Y3Qp Ci0rI2RlZmluZSBpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKLSsjZGVmaW5lIGlzbF9tYXBfZnJlZSAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZyZWUpCi0rI2RlZmluZSBpc2xfbWFwX2Zyb21fYmFz aWNfbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV9iYXNpY19tYXApCi0rI2Rl ZmluZSBpc2xfbWFwX2Zyb21fcHdfYWZmICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJv bV9wd19hZmYpCi0rI2RlZmluZSBpc2xfbWFwX2Zyb21fdW5pb25fbWFwICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF9tYXBfZnJvbV91bmlvbl9tYXApCi0rI2RlZmluZSBpc2xfbWFwX2dldF9jdHgg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9nZXRfY3R4KQotKyNkZWZpbmUgaXNsX21hcF9n ZXRfc3BhY2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9nZXRfc3BhY2UpCi0rI2RlZmlu ZSBpc2xfbWFwX2dldF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2dldF90 dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tYXBfaW5zZXJ0X2RpbXMgKCpjbG9vZ19wb2ludGVyc19f LnBfaXNsX21hcF9pbnNlcnRfZGltcykKLSsjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0ICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0KQotKyNkZWZpbmUgaXNsX21hcF9pbnRl cnNlY3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0X2RvbWFp bikKLSsjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X3JhbmdlICgqY2xvb2dfcG9pbnRlcnNfXy5w X2lzbF9tYXBfaW50ZXJzZWN0X3JhbmdlKQotKyNkZWZpbmUgaXNsX21hcF9pc19lbXB0eSAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2lzX2VtcHR5KQotKyNkZWZpbmUgaXNsX21hcF9sZXhf Z2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9sZXhfZ2UpCi0rI2RlZmluZSBpc2xfbWFw X2xleF9sZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2xleF9sZSkKLSsjZGVmaW5lIGlz bF9tYXBfbl9vdXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9uX291dCkKLSsjZGVmaW5l IGlzbF9tYXBfcmFuZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9yYW5nZSkKLSsjZGVm aW5lIGlzbF9tYXBfc2V0X3R1cGxlX2lkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfc2V0 X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNsX21hcF91bml2ZXJzZSAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfbWFwX3VuaXZlcnNlKQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X29uX2Vycm9yICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9vbl9lcnJvcikKLSsjZGVmaW5lIGlz bF9vcHRpb25zX3NldF9zY2hlZHVsZV9mdXNlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRp b25zX3NldF9zY2hlZHVsZV9mdXNlKQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxl X21heF9jb25zdGFudF90ZXJtICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9z Y2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSkKLSsjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9zY2hl ZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25z X3NldF9zY2hlZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoKQotKyNkZWZpbmUgaXNsX3ByaW50ZXJf ZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9mcmVlKQotKyNkZWZpbmUgaXNs X3ByaW50ZXJfcHJpbnRfYWZmICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50 X2FmZikKLSsjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X2NvbnN0cmFpbnQgKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWludCkKLSsjZGVmaW5lIGlzbF9wcmlu dGVyX3ByaW50X21hcCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9tYXAp Ci0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3ByaW50ZXJfcHJpbnRfc2V0KQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfdG9fZmlsZSAoKmNsb29n X3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl90b19maWxlKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9h ZGQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9hZGQpCi0rI2RlZmluZSBpc2xfcHdf YWZmX2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfYWxsb2MpCi0rI2RlZmlu ZSBpc2xfcHdfYWZmX2NvcHkgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9jb3B5KQot KyNkZWZpbmUgaXNsX3B3X2FmZl9lcV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2Fm Zl9lcV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX3B3X2FmZl9mcmVlKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9mcm9tX2FmZiAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfcHdfYWZmX2Zyb21fYWZmKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9nZV9z ZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9nZV9zZXQpCi0rI2RlZmluZSBpc2xf cHdfYWZmX2d0X3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2d0X3NldCkKLSsj ZGVmaW5lIGlzbF9wd19hZmZfaXNfY3N0ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZf aXNfY3N0KQotKyNkZWZpbmUgaXNsX3B3X2FmZl9sZV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX3B3X2FmZl9sZV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2x0X3NldCAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfcHdfYWZmX2x0X3NldCkKLSsjZGVmaW5lIGlzbF9wd19hZmZfbW9kICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbW9kKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9t dWwgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tdWwpCi0rI2RlZmluZSBpc2xfcHdf YWZmX25lX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX25lX3NldCkKLSsjZGVm aW5lIGlzbF9wd19hZmZfbm9ubmVnX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZm X25vbm5lZ19zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX3NldF90dXBsZV9pZCAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfcHdfYWZmX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9wd19hZmZf c3ViICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfc3ViKQotKyNkZWZpbmUgaXNsX3B3 X2FmZl96ZXJvX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3plcm9fc2V0KQot KyNkZWZpbmUgaXNsX3NjaGVkdWxlX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX2ZyZWUpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0ICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9nZXRfYmFuZF9mb3Jlc3QpCi0rI2RlZmluZSBpc2xf c2V0X2FkZF9jb25zdHJhaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYWRkX2NvbnN0 cmFpbnQpCi0rI2RlZmluZSBpc2xfc2V0X2FkZF9kaW1zICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9zZXRfYWRkX2RpbXMpCi0rI2RlZmluZSBpc2xfc2V0X2FwcGx5ICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9zZXRfYXBwbHkpCi0rI2RlZmluZSBpc2xfc2V0X2NvYWxlc2NlICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9zZXRfY29hbGVzY2UpCi0rI2RlZmluZSBpc2xfc2V0X2NvcHkgKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX3NldF9jb3B5KQotKyNkZWZpbmUgaXNsX3NldF9kaW0gKCpjbG9v Z19wb2ludGVyc19fLnBfaXNsX3NldF9kaW0pCi0rI2RlZmluZSBpc2xfc2V0X2ZpeF9zaSAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZpeF9zaSkKLSsjZGVmaW5lIGlzbF9zZXRfZnJlZSAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZyZWUpCi0rI2RlZmluZSBpc2xfc2V0X2Zyb21f Y2xvb2dfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZnJvbV9jbG9vZ19kb21h aW4pCi0rI2RlZmluZSBpc2xfc2V0X2dldF9zcGFjZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xf c2V0X2dldF9zcGFjZSkKLSsjZGVmaW5lIGlzbF9zZXRfZ2V0X3R1cGxlX2lkICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9zZXRfZ2V0X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNsX3NldF9pbnRlcnNl Y3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9pbnRlcnNlY3QpCi0rI2RlZmluZSBpc2xf c2V0X2lzX2VtcHR5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfaXNfZW1wdHkpCi0rI2Rl ZmluZSBpc2xfc2V0X21heCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X21heCkKLSsjZGVm aW5lIGlzbF9zZXRfbWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbWluKQotKyNkZWZp bmUgaXNsX3NldF9uYXRfdW5pdmVyc2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9uYXRf dW5pdmVyc2UpCi0rI2RlZmluZSBpc2xfc2V0X3Byb2plY3Rfb3V0ICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9zZXRfcHJvamVjdF9vdXQpCi0rI2RlZmluZSBpc2xfc2V0X3NldF90dXBsZV9pZCAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9z ZXRfdW5pdmVyc2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF91bml2ZXJzZSkKLSsjZGVm aW5lIGlzbF9zcGFjZV9hZGRfZGltcyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfYWRk X2RpbXMpCi0rI2RlZmluZSBpc2xfc3BhY2VfYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3NwYWNlX2FsbG9jKQotKyNkZWZpbmUgaXNsX3NwYWNlX2NvcHkgKCpjbG9vZ19wb2ludGVyc19f LnBfaXNsX3NwYWNlX2NvcHkpCi0rI2RlZmluZSBpc2xfc3BhY2VfZGltICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF9zcGFjZV9kaW0pCi0rI2RlZmluZSBpc2xfc3BhY2VfZG9tYWluICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kb21haW4pCi0rI2RlZmluZSBpc2xfc3BhY2VfZmluZF9k aW1fYnlfaWQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX2ZpbmRfZGltX2J5X2lkKQot KyNkZWZpbmUgaXNsX3NwYWNlX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX2Zy ZWUpCi0rI2RlZmluZSBpc2xfc3BhY2VfZnJvbV9kb21haW4gKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX3NwYWNlX2Zyb21fZG9tYWluKQotKyNkZWZpbmUgaXNsX3NwYWNlX2dldF90dXBsZV9pZCAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZ2V0X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNs X3NwYWNlX3BhcmFtc19hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfcGFyYW1z X2FsbG9jKQotKyNkZWZpbmUgaXNsX3NwYWNlX3JhbmdlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9zcGFjZV9yYW5nZSkKLSsjZGVmaW5lIGlzbF9zcGFjZV9zZXRfYWxsb2MgKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3NwYWNlX3NldF9hbGxvYykKLSsjZGVmaW5lIGlzbF9zcGFjZV9zZXRfZGlt X2lkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9zZXRfZGltX2lkKQotKyNkZWZpbmUg aXNsX3NwYWNlX3NldF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3BhY2Vfc2V0 X3R1cGxlX2lkKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hZGRfbWFwICgqY2xvb2dfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9tYXBfYWRkX21hcCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfYWxp Z25fcGFyYW1zICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYWxpZ25fcGFyYW1z KQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4gKCpjbG9vZ19wb2ludGVyc19f LnBfaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4pCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2Fw cGx5X3JhbmdlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYXBwbHlfcmFuZ2Up Ci0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdykKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29w eSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvcHkpCi0rI2RlZmluZSBpc2xf dW5pb25fbWFwX2VtcHR5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZW1wdHkp Ci0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKLSsjZGVmaW5lIGlzbF91 bmlvbl9tYXBfZm9yZWFjaF9tYXAgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9m b3JlYWNoX21hcCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZnJlZSAoKmNsb29nX3BvaW50ZXJz X18ucF9pc2xfdW5pb25fbWFwX2ZyZWUpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2Zyb21fbWFw ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9tYXApCi0rI2RlZmluZSBp c2xfdW5pb25fbWFwX2dldF9jdHggKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9n ZXRfY3R4KQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UgKCpjbG9vZ19wb2ludGVy c19fLnBfaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2dp c3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2lzdF9kb21haW4p Ci0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX3VuaW9uX21hcF9naXN0X3JhbmdlKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9pbnRlcnNl Y3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2Rv bWFpbikKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfaXNfZW1wdHkgKCpjbG9vZ19wb2ludGVyc19f LnBfaXNsX3VuaW9uX21hcF9pc19lbXB0eSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfc3VidHJh Y3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCkKLSsjZGVmaW5l IGlzbF91bmlvbl9tYXBfdW5pb24gKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF91 bmlvbikKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfYWRkX3NldCAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfdW5pb25fc2V0X2FkZF9zZXQpCi0rI2RlZmluZSBpc2xfdW5pb25fc2V0X2NvbXB1dGVf c2NoZWR1bGUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9jb21wdXRlX3NjaGVk dWxlKQotKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9jb3B5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9zZXRfY29weSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfZW1wdHkgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9lbXB0eSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRf ZnJvbV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9mcm9tX3NldCkKLSsj ZGVmaW5lIHN0bXRfYXNzICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfYXNzKQotKyNkZWZpbmUg c3RtdF9ibG9jayAoKmNsb29nX3BvaW50ZXJzX18ucF9zdG10X2Jsb2NrKQotKyNkZWZpbmUgc3Rt dF9mb3IgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9mb3IpCi0rI2RlZmluZSBzdG10X2d1YXJk ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfZ3VhcmQpCi0rI2RlZmluZSBzdG10X3Jvb3QgKCpj bG9vZ19wb2ludGVyc19fLnBfc3RtdF9yb290KQotKyNkZWZpbmUgc3RtdF91c2VyICgqY2xvb2df cG9pbnRlcnNfXy5wX3N0bXRfdXNlcikKLSsKLSB0eXBlZGVmIHN0cnVjdCBwb2x5X2RyICpwb2x5 X2RyX3A7Ci0gCi0gdHlwZWRlZiBzdHJ1Y3QgcG9seV9iYiAqcG9seV9iYl9wOwotLS0tIGdjYy9n cmFwaGl0ZS5jLmpqCTIwMTItMTItMTMgMTE6MzE6MDAuMDAwMDAwMDAwICswMTAwCi0rKysgZ2Nj L2dyYXBoaXRlLmMJMjAxMi0xMi0xNCAxMzo0MDo0NC4xNTUxMzY5NjEgKzAxMDAKLUBAIC02Niw2 ICs2NiwzNCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLgotIAotIENs b29nU3RhdGUgKmNsb29nX3N0YXRlOwotIAotK19fdHlwZW9mIChjbG9vZ19wb2ludGVyc19fKSBj bG9vZ19wb2ludGVyc19fOwotKwotK3N0YXRpYyBib29sCi0raW5pdF9jbG9vZ19wb2ludGVycyAo dm9pZCkKLSt7Ci0rICB2b2lkICpoOwotKwotKyAgaWYgKGNsb29nX3BvaW50ZXJzX18uaW5pdGVk KQotKyAgICByZXR1cm4gY2xvb2dfcG9pbnRlcnNfXy5oICE9IE5VTEw7Ci0rICBoID0gZGxvcGVu ICgibGliY2xvb2ctaXNsLnNvLjQiLCBSVExEX0xBWlkpOwotKyAgY2xvb2dfcG9pbnRlcnNfXy5o ID0gaDsKLSsgIGlmIChoID09IE5VTEwpCi0rICAgIHJldHVybiBmYWxzZTsKLSsjZGVmaW5lIERZ TlNZTSh4KSBcCi0rICBkbyBcCi0rICAgIHsgXAotKyAgICAgIHVuaW9uIHsgX190eXBlb2YgKGNs b29nX3BvaW50ZXJzX18ucF8jI3gpIHA7IHZvaWQgKnE7IH0gdTsgXAotKyAgICAgIHUucSA9IGRs c3ltIChoLCAjeCk7IFwKLSsgICAgICBpZiAodS5xID09IE5VTEwpIFwKLSsJcmV0dXJuIGZhbHNl OyBcCi0rICAgICAgY2xvb2dfcG9pbnRlcnNfXy5wXyMjeCA9IHUucDsgXAotKyAgICB9IFwKLSsg IHdoaWxlICgwKQotKyAgRFlOU1lNUwotKyN1bmRlZiBEWU5TWU0KLSsgIHJldHVybiB0cnVlOwot K30KLSsKLSAvKiBQcmludCBnbG9iYWwgc3RhdGlzdGljcyB0byBGSUxFLiAgKi8KLSAKLSBzdGF0 aWMgdm9pZAotQEAgLTI2NCw2ICsyOTIsMTUgQEAgZ3JhcGhpdGVfdHJhbnNmb3JtX2xvb3BzICh2 b2lkKQotICAgaWYgKHBhcmFsbGVsaXplZF9mdW5jdGlvbl9wIChjZnVuLT5kZWNsKSkKLSAgICAg cmV0dXJuOwotIAotKyAgaWYgKG51bWJlcl9vZl9sb29wcyAoKSA8PSAxKQotKyAgICByZXR1cm47 Ci0rCi0rICBpZiAoIWluaXRfY2xvb2dfcG9pbnRlcnMgKCkpCi0rICAgIHsKLSsgICAgICBzb3Jy eSAoIkdyYXBoaXRlIGxvb3Agb3B0aW1pemF0aW9ucyBjYW5ub3QgYmUgdXNlZCIpOwotKyAgICAg IHJldHVybjsKLSsgICAgfQotKwotICAgY3R4ID0gaXNsX2N0eF9hbGxvYyAoKTsKLSAgIGlzbF9v cHRpb25zX3NldF9vbl9lcnJvcihjdHgsIElTTF9PTl9FUlJPUl9BQk9SVCk7Ci0gICBpZiAoIWdy YXBoaXRlX2luaXRpYWxpemUgKGN0eCkpCi0tLS0gZ2NjL2dyYXBoaXRlLWNsYXN0LXRvLWdpbXBs ZS5jLmpqCTIwMTItMTItMTMgMTE6MzE6MjcuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL2dyYXBo aXRlLWNsYXN0LXRvLWdpbXBsZS5jCTIwMTItMTItMTQgMTM6Mjc6NDcuMTk2NTE5ODU4ICswMTAw Ci1AQCAtOTEwLDcgKzkxMCw3IEBAIGNvbXB1dGVfYm91bmRzX2Zvcl9sb29wIChzdHJ1Y3QgY2xh c3RfZm8KLSAgICBmcm9tIFNUTVRfRk9SLiAgKi8KLSAKLSBzdGF0aWMgdHJlZQotLXR5cGVfZm9y X2NsYXN0X2ZvciAoc3RydWN0IGNsYXN0X2ZvciAqc3RtdF9mb3IsIGl2c19wYXJhbXNfcCBpcCkK LSt0eXBlX2Zvcl9jbGFzdF9mb3IgKHN0cnVjdCBjbGFzdF9mb3IgKnN0bXRfZm9yYSwgaXZzX3Bh cmFtc19wIGlwKQotIHsKLSAgIG1wel90IGJvdW5kX29uZSwgYm91bmRfdHdvOwotICAgdHJlZSBs Yl90eXBlLCB1Yl90eXBlOwotQEAgLTkxOCw4ICs5MTgsOCBAQCB0eXBlX2Zvcl9jbGFzdF9mb3Ig KHN0cnVjdCBjbGFzdF9mb3IgKnN0Ci0gICBtcHpfaW5pdCAoYm91bmRfb25lKTsKLSAgIG1wel9p bml0IChib3VuZF90d28pOwotIAotLSAgbGJfdHlwZSA9IHR5cGVfZm9yX2NsYXN0X2V4cHIgKHN0 bXRfZm9yLT5MQiwgaXAsIGJvdW5kX29uZSwgYm91bmRfdHdvKTsKLS0gIHViX3R5cGUgPSB0eXBl X2Zvcl9jbGFzdF9leHByIChzdG10X2Zvci0+VUIsIGlwLCBib3VuZF9vbmUsIGJvdW5kX3R3byk7 Ci0rICBsYl90eXBlID0gdHlwZV9mb3JfY2xhc3RfZXhwciAoc3RtdF9mb3JhLT5MQiwgaXAsIGJv dW5kX29uZSwgYm91bmRfdHdvKTsKLSsgIHViX3R5cGUgPSB0eXBlX2Zvcl9jbGFzdF9leHByIChz dG10X2ZvcmEtPlVCLCBpcCwgYm91bmRfb25lLCBib3VuZF90d28pOwotIAotICAgbXB6X2NsZWFy IChib3VuZF9vbmUpOwotICAgbXB6X2NsZWFyIChib3VuZF90d28pOwoKZGlmZiAtLWdpdCBhL2dj YzQ4LWNsb29nLWRsMi5wYXRjaCBiL2djYzQ4LWNsb29nLWRsMi5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMmY2NDdhMy4uMDAwMDAwMAotLS0gYS9nY2M0OC1jbG9vZy1kbDIu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0yMDExLTA0LTA0ICBKYWt1YiBK ZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogdG9wbGV2LmMgKHRvcGxldl9tYWluX2Fy Z3YpOiBOZXcgdmFyaWFibGUuCi0JKHRvcGxldl9tYWluKTogSW5pdGlhbGl6ZSBpdC4KLQkqIGdy YXBoaXRlLmMgKGluaXRfY2xvb2dfcG9pbnRlcnMpOiBMb2FkIGxpYmNsb29nLWlzbC5zby40IGZy b20gZ2NjJ3MgcHJpdmF0ZQotCWRpcmVjdG9yeS4KLQotLS0tIGdjYy90b3BsZXYuYy5qagkyMDA4 LTEyLTA5IDIzOjU5OjEwLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy90b3BsZXYuYwkyMDA5LTAx LTI3IDE0OjMzOjUyLjAwMDAwMDAwMCArMDEwMAotQEAgLTEwNyw2ICsxMDcsOCBAQCBzdGF0aWMg Ym9vbCBub19iYWNrZW5kOwotIC8qIExlbmd0aCBvZiBsaW5lIHdoZW4gcHJpbnRpbmcgc3dpdGNo IHZhbHVlcy4gICovCi0gI2RlZmluZSBNQVhfTElORSA3NQotIAotK2NvbnN0IGNoYXIgKip0b3Bs ZXZfbWFpbl9hcmd2OwotKwotIC8qIERlY29kZWQgb3B0aW9ucywgYW5kIG51bWJlciBvZiBzdWNo IG9wdGlvbnMuICAqLwotIHN0cnVjdCBjbF9kZWNvZGVkX29wdGlvbiAqc2F2ZV9kZWNvZGVkX29w dGlvbnM7Ci0gdW5zaWduZWQgaW50IHNhdmVfZGVjb2RlZF9vcHRpb25zX2NvdW50OwotQEAgLTE5 MDksNiArMTkxMSw4IEBAIHRvcGxldl9tYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCi0g ICBleHBhbmRhcmd2ICgmYXJnYywgJmFyZ3YpOwotIAotKyAgdG9wbGV2X21haW5fYXJndiA9IENP TlNUX0NBU1QyIChjb25zdCBjaGFyICoqLCBjaGFyICoqLCBhcmd2KTsKLSsKLSAgIC8qIEluaXRp YWxpemF0aW9uIG9mIEdDQydzIGVudmlyb25tZW50LCBhbmQgZGlhZ25vc3RpY3MuICAqLwotICAg Z2VuZXJhbF9pbml0IChhcmd2WzBdKTsKLSAKLS0tLSBnY2MvZ3JhcGhpdGUuYy5qagkyMDEwLTEy LTAxIDEwOjI0OjMyLjAwMDAwMDAwMCAtMDUwMAotKysrIGdjYy9ncmFwaGl0ZS5jCTIwMTAtMTIt MDEgMTE6NDY6MDcuODMyMTE4MTkzIC0wNTAwCi1AQCAtNzIsMTEgKzcyLDM5IEBAIF9fdHlwZW9m IChjbG9vZ19wb2ludGVyc19fKSBjbG9vZ19wb2ludGUKLSBzdGF0aWMgYm9vbAotIGluaXRfY2xv b2dfcG9pbnRlcnMgKHZvaWQpCi0gewotLSAgdm9pZCAqaDsKLS0KLS0gIGlmIChjbG9vZ19wb2lu dGVyc19fLmluaXRlZCkKLS0gICAgcmV0dXJuIGNsb29nX3BvaW50ZXJzX18uaCAhPSBOVUxMOwot LSAgaCA9IGRsb3BlbiAoImxpYmNsb29nLWlzbC5zby40IiwgUlRMRF9MQVpZKTsKLSsgIHZvaWQg KmggPSBOVUxMOwotKyAgZXh0ZXJuIGNvbnN0IGNoYXIgKip0b3BsZXZfbWFpbl9hcmd2OwotKyAg Y2hhciAqYnVmLCAqcDsKLSsgIHNpemVfdCBsZW47Ci0rCi0rICBpZiAoY2xvb2dfcG9pbnRlcnNf Xy5pbml0ZWQpCi0rICAgIHJldHVybiBjbG9vZ19wb2ludGVyc19fLmggIT0gTlVMTDsKLSsgIGxl biA9IHByb2duYW1lIC0gdG9wbGV2X21haW5fYXJndlswXTsKLSsgIGJ1ZiA9IFhBTExPQ0FWQVIg KGNoYXIsIGxlbiArIHNpemVvZiAibGliY2xvb2ctaXNsLnNvLjQiKTsKLSsgIG1lbWNweSAoYnVm LCB0b3BsZXZfbWFpbl9hcmd2WzBdLCBsZW4pOwotKyAgc3RyY3B5IChidWYgKyBsZW4sICJsaWJj bG9vZy1pc2wuc28uNCIpOwotKyAgbGVuICs9IHNpemVvZiAibGliY2xvb2ctaXNsLnNvLjQiOwot KyAgcCA9IHN0cnN0ciAoYnVmLCAiL2xpYmV4ZWMvIik7Ci0rICBpZiAocCAhPSBOVUxMKQotKyAg ICB7Ci0rICAgICAgd2hpbGUgKDEpCi0rCXsKLSsJICBjaGFyICpxID0gc3Ryc3RyIChwICsgOCwg Ii9saWJleGVjLyIpOwotKwkgIGlmIChxID09IE5VTEwpCi0rCSAgICBicmVhazsKLSsJICBwID0g cTsKLSsJfQotKyAgICAgIG1lbW1vdmUgKHAgKyA0LCBwICsgOCwgbGVuIC0gKHAgKyA4IC0gYnVm KSk7Ci0rICAgICAgaCA9IGRsb3BlbiAoYnVmLCBSVExEX0xBWlkpOwotKyAgICAgIGlmIChoID09 IE5VTEwpCi0rCXsKLSsJICBsZW4gPSBwcm9nbmFtZSAtIHRvcGxldl9tYWluX2FyZ3ZbMF07Ci0r CSAgbWVtY3B5IChidWYsIHRvcGxldl9tYWluX2FyZ3ZbMF0sIGxlbik7Ci0rCSAgc3RyY3B5IChi dWYgKyBsZW4sICJsaWJjbG9vZy1pc2wuc28uNCIpOwotKwl9Ci0rICAgIH0KLSsgIGlmIChoID09 IE5VTEwpCi0rICAgIGggPSBkbG9wZW4gKGJ1ZiwgUlRMRF9MQVpZKTsKLSAgIGNsb29nX3BvaW50 ZXJzX18uaCA9IGg7Ci0gICBpZiAoaCA9PSBOVUxMKQotICAgICByZXR1cm4gZmFsc2U7CgpkaWZm IC0tZ2l0IGEvZ2NjNDgtY29sb3ItYXV0by5wYXRjaCBiL2djYzQ4LWNvbG9yLWF1dG8ucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4Y2Y5MzguLjAwMDAwMDAKLS0tIGEvZ2Nj NDgtY29sb3ItYXV0by5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTIwMTMt MDktMjAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiBjb21tb24ub3B0 ICgtZmRpYWdub3N0aWNzLWNvbG9yPSk6IERlZmF1bHQgdG8gYXV0by4KLQkqIHRvcGxldi5jIChw cm9jZXNzX29wdGlvbnMpOiBBbHdheXMgZGVmYXVsdCB0bwotCS1mZGlhZ25vc3RpY3MtY29sb3I9 YXV0byBpZiBubyAtZnssbm8tfWRpYWdub3N0aWNzLWNvbG9yKi4KLQkqIGRvYy9pbnZva2UudGV4 aSAoLWZkaWFnbm9zdGljcy1jb2xvciopOiBBZGp1c3QgZG9jdW1lbnRhdGlvbgotCW9mIHRoZSBk ZWZhdWx0LgotCi0tLS0gZ2NjL2NvbW1vbi5vcHQuamoJMjAxMy0wOS0xOCAxMjowNjo1My4wMDAw MDAwMDAgKzAyMDAKLSsrKyBnY2MvY29tbW9uLm9wdAkyMDEzLTA5LTIwIDEwOjAwOjAwLjkzNTgy MzkwMCArMDIwMAotQEAgLTEwMzcsNyArMTAzNyw3IEBAIENvbW1vbiBBbGlhcyhmZGlhZ25vc3Rp Y3MtY29sb3I9LGFsd2F5cywKLSA7Ci0gCi0gZmRpYWdub3N0aWNzLWNvbG9yPQotLUNvbW1vbiBK b2luZWQgUmVqZWN0TmVnYXRpdmUgVmFyKGZsYWdfZGlhZ25vc3RpY3Nfc2hvd19jb2xvcikgRW51 bShkaWFnbm9zdGljX2NvbG9yX3J1bGUpIEluaXQoRElBR05PU1RJQ1NfQ09MT1JfTk8pCi0rQ29t bW9uIEpvaW5lZCBSZWplY3ROZWdhdGl2ZSBWYXIoZmxhZ19kaWFnbm9zdGljc19zaG93X2NvbG9y KSBFbnVtKGRpYWdub3N0aWNfY29sb3JfcnVsZSkgSW5pdChESUFHTk9TVElDU19DT0xPUl9BVVRP KQotIC1mZGlhZ25vc3RpY3MtY29sb3I9W25ldmVyfGFsd2F5c3xhdXRvXQlDb2xvcml6ZSBkaWFn bm9zdGljcwotIAotIDsgUmVxdWlyZWQgZm9yIHRoZXNlIGVudW0gdmFsdWVzLgotLS0tIGdjYy90 b3BsZXYuYy5qagkyMDEzLTA5LTA5IDExOjMyOjM5LjAwMDAwMDAwMCArMDIwMAotKysrIGdjYy90 b3BsZXYuYwkyMDEzLTA5LTIwIDEwOjEwOjA4LjE5ODcyMTAwNSArMDIwMAotQEAgLTEyMjksMTAg KzEyMjksOCBAQCBwcm9jZXNzX29wdGlvbnMgKHZvaWQpCi0gCi0gICBtYXhpbXVtX2ZpZWxkX2Fs aWdubWVudCA9IGluaXRpYWxfbWF4X2ZsZF9hbGlnbiAqIEJJVFNfUEVSX1VOSVQ7Ci0gCi0tICAv KiBEZWZhdWx0IHRvIC1mZGlhZ25vc3RpY3MtY29sb3I9YXV0byBpZiBHQ0NfQ09MT1JTIGlzIGlu IHRoZSBlbnZpcm9ubWVudCwKLS0gICAgIG90aGVyd2lzZSBkZWZhdWx0IHRvIC1mZGlhZ25vc3Rp Y3MtY29sb3I9bmV2ZXIuICAqLwotLSAgaWYgKCFnbG9iYWxfb3B0aW9uc19zZXQueF9mbGFnX2Rp YWdub3N0aWNzX3Nob3dfY29sb3IKLS0gICAgICAmJiBnZXRlbnYgKCJHQ0NfQ09MT1JTIikpCi0r ICAvKiBEZWZhdWx0IHRvIC1mZGlhZ25vc3RpY3MtY29sb3I9YXV0by4gICovCi0rICBpZiAoIWds b2JhbF9vcHRpb25zX3NldC54X2ZsYWdfZGlhZ25vc3RpY3Nfc2hvd19jb2xvcikKLSAgICAgcHBf c2hvd19jb2xvciAoZ2xvYmFsX2RjLT5wcmludGVyKQotICAgICAgID0gY29sb3JpemVfaW5pdCAo RElBR05PU1RJQ1NfQ09MT1JfQVVUTyk7Ci0gCi0tLS0gZ2NjL2RvYy9pbnZva2UudGV4aS5qagky MDEzLTA5LTE4IDEyOjA2OjUwLjAwMDAwMDAwMCArMDIwMAotKysrIGdjYy9kb2MvaW52b2tlLnRl eGkJMjAxMy0wOS0yMCAxMDowOToyOS4wNzk5MDQ0NTUgKzAyMDAKLUBAIC0zMDQ2LDggKzMwNDYs NyBAQCBhIG1lc3NhZ2Ugd2hpY2ggaXMgdG9vIGxvbmcgdG8gZml0IG9uIGEKLSBAY2luZGV4IGhp Z2hsaWdodCwgY29sb3IsIGNvbG91cgotIEB2aW5kZXggR0NDX0NPTE9SUyBAcntlbnZpcm9ubWVu dCB2YXJpYWJsZX0KLSBVc2UgY29sb3IgaW4gZGlhZ25vc3RpY3MuICBAdmFye1dIRU59IGlzIEBz YW1we25ldmVyfSwgQHNhbXB7YWx3YXlzfSwKLS1vciBAc2FtcHthdXRvfS4gIFRoZSBkZWZhdWx0 IGlzIEBzYW1we25ldmVyfSBpZiBAZW52e0dDQ19DT0xPUlN9IGVudmlyb25tZW50Ci0tdmFyaWFi bGUgaXNuJ3QgcHJlc2VudCBpbiB0aGUgZW52aXJvbm1lbnQsIGFuZCBAc2FtcHthdXRvfSBvdGhl cndpc2UuCi0rb3IgQHNhbXB7YXV0b30uICBUaGUgZGVmYXVsdCBpcyBAc2FtcHthdXRvfS4KLSBA c2FtcHthdXRvfSBtZWFucyB0byB1c2UgY29sb3Igb25seSB3aGVuIHRoZSBzdGFuZGFyZCBlcnJv ciBpcyBhIHRlcm1pbmFsLgotIFRoZSBmb3JtcyBAb3B0aW9uey1mZGlhZ25vc3RpY3MtY29sb3J9 IGFuZCBAb3B0aW9uey1mbm8tZGlhZ25vc3RpY3MtY29sb3J9IGFyZQotIGFsaWFzZXMgZm9yIEBv cHRpb257LWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXN9IGFuZAoKZGlmZiAtLWdpdCBhL2djYzQ4 LWhhY2sucGF0Y2ggYi9nY2M0OC1oYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAxOTAzZTk1Li4wMDAwMDAwCi0tLSBhL2djYzQ4LWhhY2sucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxMDIgKzAsMCBAQAotLS0tIGxpYmFkYS9NYWtlZmlsZS5pbi5qagkyMDA5LTAxLTE0 IDEyOjA3OjM1LjAwMDAwMDAwMCArMDEwMAotKysrIGxpYmFkYS9NYWtlZmlsZS5pbgkyMDA5LTAx LTE1IDE0OjI1OjMzLjAwMDAwMDAwMCArMDEwMAotQEAgLTY2LDE4ICs2Niw0MCBAQCBsaWJzdWJk aXIgOj0gJChsaWJkaXIpL2djYy8kKHRhcmdldF9ub25jCi0gQURBX1JUU19ESVI9JChHQ0NfRElS KS9hZGEvcnRzJChzdWJzdCAvLF8sJChNVUxUSVNVQkRJUikpCi0gQURBX1JUU19TVUJESVI9Li9y dHMkKHN1YnN0IC8sXywkKE1VTFRJU1VCRElSKSkKLSAKLStERUZBVUxUTVVMVElGTEFHUyA6PQot K2lmZXEgKCQoTVVMVElTVUJESVIpLCkKLSt0YXJnOj0kKHN1YnN0IC0sICwkKHRhcmdldCkpCi0r YXJjaDo9JCh3b3JkIDEsJCh0YXJnKSkKLStpZmVxICgkKHdvcmRzICQodGFyZykpLDIpCi0rb3N5 czo9JCh3b3JkIDIsJCh0YXJnKSkKLStlbHNlCi0rb3N5czo9JCh3b3JkIDMsJCh0YXJnKSkKLStl bmRpZgotK2lmZXEgKCQoc3RyaXAgJChmaWx0ZXItb3V0IGklODYgeDg2XzY0IHBvd2VycGMlIHBw YyUgczM5MCUgc3BhcmMlIGxpbnV4JSwgJChhcmNoKSAkKG9zeXMpKSksKQotK2lmZXEgKCQoc2hl bGwgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnkpLC4uL2xpYjY0KQot K0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tNjQKLStlbHNlCi0raWZlcSAoJChzdHJpcCAkKGZpbHRl ci1vdXQgczM5MCUsICQoYXJjaCkpKSwpCi0rREVGQVVMVE1VTFRJRkxBR1MgOj0gLW0zMQotK2Vs c2UKLStERUZBVUxUTVVMVElGTEFHUyA6PSAtbTMyCi0rZW5kaWYKLStlbmRpZgotK2VuZGlmCi0r ZW5kaWYKLSsKLSAjIGV4ZWV4dCBzaG91bGQgbm90IGJlIHVzZWQgYmVjYXVzZSBpdCdzIHRoZSAq aG9zdCogZXhlZXh0LiAgV2UncmUgYnVpbGRpbmcKLSAjIGEgKnRhcmdldCogbGlicmFyeSwgYXJl bid0IHdlPyE/ICBMaWtld2lzZSBmb3IgQ0MuICBTdGlsbCwgcHJvdmlkZSBib2d1cwotICMgZGVm aW5pdGlvbnMganVzdCBpbiBjYXNlIHNvbWV0aGluZyBzbGlwcyB0aHJvdWdoIHRoZSBzYWZldHkg bmV0IHByb3ZpZGVkCi0gIyBieSByZWN1cnNpdmUgbWFrZSBpbnZvY2F0aW9ucyBpbiBnY2MvYWRh L01ha2VmaWxlLmluCi0gTElCQURBX0ZMQUdTX1RPX1BBU1MgPSBcCi0gICAgICAgICAiTUFLRU9W RVJSSURFUz0iIFwKLS0gICAgICAgICJMREZMQUdTPSQoTERGTEFHUykiIFwKLSsgICAgICAgICJM REZMQUdTPSQoTERGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKLSAgICAgICAgICJMTl9T PSQoTE5fUykiIFwKLSAgICAgICAgICJTSEVMTD0kKFNIRUxMKSIgXAotLSAgICAgICAgIkdOQVRM SUJGTEFHUz0kKEdOQVRMSUJGTEFHUykgJChNVUxUSUZMQUdTKSIgXAotLSAgICAgICAgIkdOQVRM SUJDRkxBR1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpIiBcCi0tICAgICAgICAiR05B VExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9SX0MpICQoTVVMVElGTEFHUykiIFwK LSsgICAgICAgICJHTkFUTElCRkxBR1M9JChHTkFUTElCRkxBR1MpICQoTVVMVElGTEFHUykgJChE RUZBVUxUTVVMVElGTEFHUykiIFwKLSsgICAgICAgICJHTkFUTElCQ0ZMQUdTPSQoR05BVExJQkNG TEFHUykgJChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAotKyAgICAgICAgIkdO QVRMSUJDRkxBR1NfRk9SX0M9JChHTkFUTElCQ0ZMQUdTX0ZPUl9DKSAkKE1VTFRJRkxBR1MpICQo REVGQVVMVE1VTFRJRkxBR1MpIiBcCi0gICAgICAgICAiUElDRkxBR19GT1JfVEFSR0VUPSQoUElD RkxBRykiIFwKLSAgICAgICAgICJUSFJFQURfS0lORD0kKFRIUkVBRF9LSU5EKSIgXAotICAgICAg ICAgIlRSQUNFPSQoVFJBQ0UpIiBcCi1AQCAtODgsNyArMTEwLDcgQEAgTElCQURBX0ZMQUdTX1RP X1BBU1MgPSBcCi0gICAgICAgICAiZXhlZXh0PS5leGVleHQuc2hvdWxkLm5vdC5iZS51c2VkICIg XAotIAknQ0M9dGhlLmhvc3QuY29tcGlsZXIuc2hvdWxkLm5vdC5iZS5uZWVkZWQnIFwKLSAJIkdD Q19GT1JfVEFSR0VUPSQoQ0MpIiBcCi0tICAgICAgICAiQ0ZMQUdTPSQoQ0ZMQUdTKSIKLSsgICAg ICAgICJDRkxBR1M9JChDRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1MpIgotIAotICMgUnVsZXMg dG8gYnVpbGQgZ25hdGxpYi4KLSAuUEhPTlk6IGduYXRsaWIgZ25hdGxpYi1wbGFpbiBnbmF0bGli LXNqbGogZ25hdGxpYi16Y3ggZ25hdGxpYi1zaGFyZWQgb3Njb25zdG9vbAotLS0tIGdjYy9hZGEv c2VtX3V0aWwuYWRiCShyZXZpc2lvbiAxNjE2NzcpCi0rKysgZ2NjL2FkYS9zZW1fdXRpbC5hZGIJ KHdvcmtpbmcgY29weSkKLUBAIC01NDg3LDcgKzU0ODcsNyBAQCBwYWNrYWdlIGJvZHkgU2VtX1V0 aWwgaXMKLSAgICAgICAgICAgICBFeHAgICAgICAgICAgIDogTm9kZV9JZDsKLSAgICAgICAgICAg ICBBc3NuICAgICAgICAgIDogTm9kZV9JZDsKLSAgICAgICAgICAgICBDaG9pY2UgICAgICAgIDog Tm9kZV9JZDsKLS0gICAgICAgICAgICBDb21wX1R5cGUgICAgIDogRW50aXR5X0lkOwotKyAgICAg ICAgICAgIENvbXBfVHlwZSAgICAgOiBFbnRpdHlfSWQgOj0gRW1wdHk7Ci0gICAgICAgICAgICAg SXNfQXJyYXlfQWdnciA6IEJvb2xlYW47Ci0gCi0gICAgICAgICAgYmVnaW4KLS0tLSBjb25maWct bWwuaW4uamoJMjAxMC0wNi0zMCAwOTo1MDo0NC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBjb25maWct bWwuaW4JMjAxMC0wNy0wMiAyMToyNDoxNy45OTQyMTExNTEgKzAyMDAKLUBAIC01MTYsNiArNTE2 LDggQEAgbXVsdGktZG86Ci0gCQkJCUFEQUZMQUdTPSIkKEFEQUZMQUdTKSAkJHtmbGFnc30iIFwK LSAJCQkJcHJlZml4PSIkKHByZWZpeCkiIFwKLSAJCQkJZXhlY19wcmVmaXg9IiQoZXhlY19wcmVm aXgpIiBcCi0rCQkJCW1hbmRpcj0iJChtYW5kaXIpIiBcCi0rCQkJCWluZm9kaXI9IiQoaW5mb2Rp cikiIFwKLSAJCQkJR0NKRkxBR1M9IiQoR0NKRkxBR1MpICQke2ZsYWdzfSIgXAotIAkJCQlHT0NG TEFHUz0iJChHT0NGTEFHUykgJCR7ZmxhZ3N9IiBcCi0gCQkJCUNYWEZMQUdTPSIkKENYWEZMQUdT KSAkJHtmbGFnc30iIFwKLS0tLSBsaWJqYXZhL01ha2VmaWxlLmFtLmpqCTIwMTAtMDctMDkgMTE6 MTc6MzMuNzI5NjA0MDkwICswMjAwCi0rKysgbGliamF2YS9NYWtlZmlsZS5hbQkyMDEwLTA3LTA5 IDEzOjE2OjQxLjg5NDM3NTY0MSArMDIwMAotQEAgLTcxMCw3ICs3MTAsOCBAQCBpZiBVU0VfTElC R0NKX0JDCi0gIyMgbGF0ZXIuCi0gCUBlY2hvIEluc3RhbGxpbmcgZHVtbXkgbGliIGxpYmdjal9i Yy5zby4xLjAuMDsgXAotIAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2Jj LnNvOyBcCi0tCW12ICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4w LjAgJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAotKwkkKElOU1RB TEwpICQoSU5TVEFMTF9TVFJJUF9GTEFHKSAkKGhlcmUpLy5saWJzL2xpYmdjal9iYy5zbyAkKERF U1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCi0rCXJtICQoREVTVERJUikk KHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjA7IFwKLSAJJChsaWJnY2pfYmNfZHVt bXlfTElOSykgLXhjIC9kZXYvbnVsbCAtV2wsLXNvbmFtZSxsaWJnY2pfYmMuc28uMSBcCi0gCS1v ICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAgLWxnY2ogfHwg ZXhpdDsgXAotIAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvLjE7 IFwKLS0tLSBsaWJqYXZhL01ha2VmaWxlLmluLmpqCTIwMTAtMDctMDkgMTE6MTc6MzQuMDAwMDAw MDAwICswMjAwCi0rKysgbGliamF2YS9NYWtlZmlsZS5pbgkyMDEwLTA3LTA5IDEzOjE4OjA3LjU0 MjU3MjI3MCArMDIwMAotQEAgLTEyNjY1LDcgKzEyNjY1LDggQEAgaW5zdGFsbC1leGVjLWhvb2s6 IGluc3RhbGwtYmluUFJPR1JBTVMgaQotIAlpbnN0YWxsLWxpYmV4ZWNzdWJQUk9HUkFNUwotIEBV U0VfTElCR0NKX0JDX1RSVUVACUBlY2hvIEluc3RhbGxpbmcgZHVtbXkgbGliIGxpYmdjal9iYy5z by4xLjAuMDsgXAotIEBVU0VfTElCR0NKX0JDX1RSVUVACXJtICQoREVTVERJUikkKHRvb2xleGVj bGliZGlyKS9saWJnY2pfYmMuc287IFwKLS1AVVNFX0xJQkdDSl9CQ19UUlVFQAltdiAkKERFU1RE SVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvLjEuMC4wICQoREVTVERJUikkKHRvb2xl eGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwKLStAVVNFX0xJQkdDSl9CQ19UUlVFQAkkKElOU1RB TEwpICQoSU5TVEFMTF9TVFJJUF9GTEFHKSAkKGhlcmUpLy5saWJzL2xpYmdjal9iYy5zbyAkKERF U1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCi0rQFVTRV9MSUJHQ0pfQkNf VFJVRUAJcm0gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xLjAuMDsg XAotIEBVU0VfTElCR0NKX0JDX1RSVUVACSQobGliZ2NqX2JjX2R1bW15X0xJTkspIC14YyAvZGV2 L251bGwgLVdsLC1zb25hbWUsbGliZ2NqX2JjLnNvLjEgXAotIEBVU0VfTElCR0NKX0JDX1RSVUVA CS1vICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAgLWxnY2og fHwgZXhpdDsgXAotIEBVU0VfTElCR0NKX0JDX1RSVUVACXJtICQoREVTVERJUikkKHRvb2xleGVj bGliZGlyKS9saWJnY2pfYmMuc28uMTsgXAoKZGlmZiAtLWdpdCBhL2djYzQ4LWkzODYtbGliZ29t cC5wYXRjaCBiL2djYzQ4LWkzODYtbGliZ29tcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNDU4ODNhNi4uMDAwMDAwMAotLS0gYS9nY2M0OC1pMzg2LWxpYmdvbXAucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCwwIEBACi0tLS0gbGliZ29tcC9jb25maWd1cmUudGd0 LmpqCTIwMDgtMDEtMTAgMjA6NTM6NDguMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ29tcC9jb25m aWd1cmUudGd0CTIwMDgtMDMtMjcgMTI6NDQ6NTEuMDAwMDAwMDAwICswMTAwCi1AQCAtNjcsNyAr NjcsNyBAQCBpZiB0ZXN0ICRlbmFibGVfbGludXhfZnV0ZXggPSB5ZXM7IHRoZW4KLSAJICAgIDs7 Ci0gCSAgKikKLSAJICAgIGlmIHRlc3QgLXogIiR3aXRoX2FyY2giOyB0aGVuCi0tCSAgICAgIFhD RkxBR1M9IiR7WENGTEFHU30gLW1hcmNoPWk0ODYgLW10dW5lPSR7dGFyZ2V0X2NwdX0iCi0rCSAg ICAgIFhDRkxBR1M9IiR7WENGTEFHU30gLW1hcmNoPWk0ODYgLW10dW5lPWdlbmVyaWMiCi0gCSAg ICBmaQotIAllc2FjCi0gCTs7Ci1AQCAtNzksNyArNzksNyBAQCBpZiB0ZXN0ICRlbmFibGVfbGlu dXhfZnV0ZXggPSB5ZXM7IHRoZW4KLSAJY29uZmlnX3BhdGg9ImxpbnV4L3g4NiBsaW51eCBwb3Np eCIKLSAJY2FzZSAiICR7Q0N9ICR7Q0ZMQUdTfSAiIGluCi0gCSAgKiIgLW0zMiAiKikKLS0JICAg IFhDRkxBR1M9IiR7WENGTEFHU30gLW1hcmNoPWk0ODYgLW10dW5lPWk2ODYiCi0rCSAgICBYQ0ZM QUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT1nZW5lcmljIgotIAkgICAgOzsKLSAJ ZXNhYwotIAk7OwoKZGlmZiAtLWdpdCBhL2djYzQ4LWphdmEtbm9tdWx0aS5wYXRjaCBiL2djYzQ4 LWphdmEtbm9tdWx0aS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTczMzRh YS4uMDAwMDAwMAotLS0gYS9nY2M0OC1qYXZhLW5vbXVsdGkucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw0NCArMCwwIEBACi0tLS0gbGliamF2YS9jb25maWd1cmUuYWMuamoJMjAwNy0xMi0wNyAx Nzo1NTo1MC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBsaWJqYXZhL2NvbmZpZ3VyZS5hYwkyMDA3LTEy LTA3IDE4OjM2OjU2LjAwMDAwMDAwMCArMDEwMAotQEAgLTgyLDYgKzgyLDEzIEBAIEFDX0FSR19F TkFCTEUoamF2YS1tYWludGFpbmVyLW1vZGUsCi0gCVthbGxvdyByZWJ1aWxkaW5nIG9mIC5jbGFz cyBhbmQgLmggZmlsZXNdKSkKLSBBTV9DT05ESVRJT05BTChKQVZBX01BSU5UQUlORVJfTU9ERSwg dGVzdCAiJGVuYWJsZV9qYXZhX21haW50YWluZXJfbW9kZSIgPSB5ZXMpCi0gCi0rQUNfQVJHX0VO QUJMRShsaWJqYXZhLW11bHRpbGliLAotKwlBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbGliamF2 YS1tdWx0aWxpYl0sIFtidWlsZCBsaWJqYXZhIGFzIG11bHRpbGliXSkpCi0raWYgdGVzdCAiJGVu YWJsZV9saWJqYXZhX211bHRpbGliIiA9IG5vOyB0aGVuCi0rICBtdWx0aWxpYj1ubwotKyAgYWNf Y29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyAtLWRpc2FibGUtbXVsdGlsaWIiCi0r ZmkKLSsKLSAjIEl0IG1heSBub3QgYmUgc2FmZSB0byBydW4gbGlua2luZyB0ZXN0cyBpbiBBQ19Q Uk9HX0NDL0FDX1BST0dfQ1hYLgotIEdDQ19OT19FWEVDVVRBQkxFUwotIAotLS0tIGxpYmphdmEv Y29uZmlndXJlLmpqCTIwMDctMTItMDcgMTc6NTU6NTAuMDAwMDAwMDAwICswMTAwCi0rKysgbGli amF2YS9jb25maWd1cmUJMjAwNy0xMi0wNyAxODozOTo1OC4wMDAwMDAwMDAgKzAxMDAKLUBAIC0x MDIxLDYgKzEwMjEsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlZmF1bHQ9eWVzCi0gICAtLWVuYWJsZS1qYXZhLW1haW50YWluZXItbW9kZQotICAg ICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3cgcmVidWlsZGluZyBvZiAuY2xhc3MgYW5kIC5o IGZpbGVzCi0rICAtLWVuYWJsZS1saWJqYXZhLW11bHRpbGliCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICBidWlsZCBsaWJqYXZhIGFzIG11bHRpbGliCi0gICAtLWRpc2FibGUtZGVwZW5kZW5j eS10cmFja2luZyAgc3BlZWRzIHVwIG9uZS10aW1lIGJ1aWxkCi0gICAtLWVuYWJsZS1kZXBlbmRl bmN5LXRyYWNraW5nICAgZG8gbm90IHJlamVjdCBzbG93IGRlcGVuZGVuY3kgZXh0cmFjdG9ycwot ICAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlICBlbmFibGUgbWFrZSBydWxlcyBhbmQgZGVwZW5k ZW5jaWVzIG5vdCB1c2VmdWwKLUBAIC0xOTczLDYgKzE5NzUsMTYgQEAgZWxzZQotIGZpCi0gCi0g Ci0rIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYmphdmEtbXVsdGlsaWIgd2FzIGdpdmVuLgot K2lmIHRlc3QgIiR7ZW5hYmxlX2xpYmphdmFfbXVsdGlsaWIrc2V0fSIgPSBzZXQ7IHRoZW4KLSsg IGVuYWJsZXZhbD0kZW5hYmxlX2xpYmphdmFfbXVsdGlsaWI7Ci0rZmkKLSsKLStpZiB0ZXN0ICIk ZW5hYmxlX2xpYmphdmFfbXVsdGlsaWIiID0gbm87IHRoZW4KLSsgIG11bHRpbGliPW5vCi0rICBh Y19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzIC0tZGlzYWJsZS1tdWx0aWxpYiIK LStmaQotKwotICMgSXQgbWF5IG5vdCBiZSBzYWZlIHRvIHJ1biBsaW5raW5nIHRlc3RzIGluIEFD X1BST0dfQ0MvQUNfUFJPR19DWFguCi0gCi0gCgpkaWZmIC0tZ2l0IGEvZ2NjNDgtbGliZ28tcDIy NC5wYXRjaCBiL2djYzQ4LWxpYmdvLXAyMjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDUwNDYxYmMuLjAwMDAwMDAKLS0tIGEvZ2NjNDgtbGliZ28tcDIyNC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDEzMDIgKzAsMCBAQAotLS0tIGxpYmdvL01ha2VmaWxlLmFtLmpqCTIw MTMtMTItMTIgMTk6MDE6NDkuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ28vTWFrZWZpbGUuYW0J MjAxNC0wMi0xOCAxNzozMTo1NC43OTg0ODQ2NTcgKzAxMDAKLUBAIC0xMTA5LDggKzExMDksNyBA QCBnb19jcnlwdG9fZHNhX2ZpbGVzID0gXAotIGdvX2NyeXB0b19lY2RzYV9maWxlcyA9IFwKLSAJ Z28vY3J5cHRvL2VjZHNhL2VjZHNhLmdvCi0gZ29fY3J5cHRvX2VsbGlwdGljX2ZpbGVzID0gXAot LQlnby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWMuZ28gXAotLQlnby9jcnlwdG8vZWxsaXB0aWMv cDIyNC5nbwotKwlnby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWMuZ28KLSBnb19jcnlwdG9faG1h Y19maWxlcyA9IFwKLSAJZ28vY3J5cHRvL2htYWMvaG1hYy5nbwotIGdvX2NyeXB0b19tZDVfZmls ZXMgPSBcCi0tLS0gbGliZ28vTWFrZWZpbGUuaW4uamoJMjAxMy0xMi0xMiAxOTowMTo0OS4wMDAw MDAwMDAgKzAxMDAKLSsrKyBsaWJnby9NYWtlZmlsZS5pbgkyMDE0LTAyLTE4IDE3OjMyOjExLjM1 MDM4OTE5MSArMDEwMAotQEAgLTEyNzQsOCArMTI3NCw3IEBAIGdvX2NyeXB0b19lY2RzYV9maWxl cyA9IFwKLSAJZ28vY3J5cHRvL2VjZHNhL2VjZHNhLmdvCi0gCi0gZ29fY3J5cHRvX2VsbGlwdGlj X2ZpbGVzID0gXAotLQlnby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWMuZ28gXAotLQlnby9jcnlw dG8vZWxsaXB0aWMvcDIyNC5nbwotKwlnby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWMuZ28KLSAK LSBnb19jcnlwdG9faG1hY19maWxlcyA9IFwKLSAJZ28vY3J5cHRvL2htYWMvaG1hYy5nbwotLS0t IGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9lbGxpcHRpYy5nby5qagkyMDEyLTEyLTEzIDExOjMy OjAyLjY0MDAzOTUzNyArMDEwMAotKysrIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9lbGxpcHRp Yy5nbwkyMDE0LTAyLTE4IDE3OjI4OjIyLjkwOTY5MjAyMiArMDEwMAotQEAgLTMyNyw3ICszMjcs NiBAQCB2YXIgcDM4NCAqQ3VydmVQYXJhbXMKLSB2YXIgcDUyMSAqQ3VydmVQYXJhbXMKLSAKLSBm dW5jIGluaXRBbGwoKSB7Ci0tCWluaXRQMjI0KCkKLSAJaW5pdFAyNTYoKQotIAlpbml0UDM4NCgp Ci0gCWluaXRQNTIxKCkKLS0tLSBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvZWxsaXB0aWNfdGVz dC5nby5qagkyMDEyLTEyLTEzIDExOjMyOjAyLjY0MDAzOTUzNyArMDEwMAotKysrIGxpYmdvL2dv L2NyeXB0by9lbGxpcHRpYy9lbGxpcHRpY190ZXN0LmdvCTIwMTQtMDItMTggMTc6MzE6MDQuMDUy Nzc0MjY1ICswMTAwCi1AQCAtNSwzMjkgKzUsMTQgQEAKLSBwYWNrYWdlIGVsbGlwdGljCi0gCi0g aW1wb3J0ICgKLS0JImNyeXB0by9yYW5kIgotLQkiZW5jb2RpbmcvaGV4IgotLQkiZm10IgotLQki bWF0aC9iaWciCi0gCSJ0ZXN0aW5nIgotICkKLSAKLS1mdW5jIFRlc3RPbkN1cnZlKHQgKnRlc3Rp bmcuVCkgewotLQlwMjI0IDo9IFAyMjQoKQotLQlpZiAhcDIyNC5Jc09uQ3VydmUocDIyNC5QYXJh bXMoKS5HeCwgcDIyNC5QYXJhbXMoKS5HeSkgewotLQkJdC5FcnJvcmYoIkZBSUwiKQotLQl9Ci0t fQotLQotLXR5cGUgYmFzZU11bHRUZXN0IHN0cnVjdCB7Ci0tCWsgICAgc3RyaW5nCi0tCXgsIHkg c3RyaW5nCi0tfQotLQotLXZhciBwMjI0QmFzZU11bHRUZXN0cyA9IFtdYmFzZU11bHRUZXN0ewot LQl7Ci0tCQkiMSIsCi0tCQkiYjcwZTBjYmQ2YmI0YmY3ZjMyMTM5MGI5NGEwM2MxZDM1NmMyMTEy MjM0MzI4MGQ2MTE1YzFkMjEiLAotLQkJImJkMzc2Mzg4YjVmNzIzZmI0YzIyZGZlNmNkNDM3NWEw NWEwNzQ3NjQ0NGQ1ODE5OTg1MDA3ZTM0IiwKLS0JfSwKLS0JewotLQkJIjIiLAotLQkJIjcwNmE0 NmRjNzZkY2I3Njc5OGU2MGU2ZDg5NDc0Nzg4ZDE2ZGMxODAzMmQyNjhmZDFhNzA0ZmE2IiwKLS0J CSIxYzJiNzZhN2JjMjVlNzcwMmE3MDRmYTk4Njg5Mjg0OWZjYTYyOTQ4N2FjZjM3MDlkMmU0ZThi YiIsCi0tCX0sCi0tCXsKLS0JCSIzIiwKLS0JCSJkZjFiMWQ2NmE1NTFkMGQzMWVmZjgyMjU1OGI5 ZDJjYzc1YzIxODAyNzlmZTBkMDhmZDg5NmQwNCIsCi0tCQkiYTNmN2YwM2NhZGQwYmU0NDRjMGFh NTY4MzAxMzBkZGY3N2QzMTczNDRlMWFmMzU5MTk4MWE5MjUiLAotLQl9LAotLQl7Ci0tCQkiNCIs Ci0tCQkiYWU5OWZlZWJiNWQyNjk0NWI1NDg5MjA5MmE4YWVlMDI5MTI5MzBmYTQxY2QxMTRlNDA0 NDczMDEiLAotLQkJIjQ4MjU4MGEwZWM1YmM0N2U4OGJjOGMzNzg2MzJjZDE5NmNiM2ZhMDU4YTcx MTRlYjAzMDU0YzkiLAotLQl9LAotLQl7Ci0tCQkiNSIsCi0tCQkiMzFjNDlhZTc1YmNlNzgwN2Nk ZmYyMjA1NWQ5NGVlOTAyMWZlZGJiNWFiNTFjNTc1MjZmMDExYWEiLAotLQkJIjI3ZThiZmYxNzQ1 NjM1ZWM1YmEwYzlmMWMyZWRlMTU0MTRjNjUwN2QyOWZmZTM3ZTc5MGEwNzliIiwKLS0JfSwKLS0J ewotLQkJIjYiLAotLQkJIjFmMjQ4M2Y4MjU3MjI1MWZjYTk3NWZlYTQwZGI4MjFkZjhhZDgyYTNj MDAyZWU2YzU3MTEyNDA4IiwKLS0JCSI4OWZhZjBjY2I3NTBkOTliNTUzYzU3NGZhZDdlY2ZiMDQz ODU4NmViMzk1MmFmNWI0YjE1M2M3ZSIsCi0tCX0sCi0tCXsKLS0JCSI3IiwKLS0JCSJkYjJmNmJl NjMwZTI0NmE1Y2Y3ZDk5Yjg1MTk0YjEyM2Q0ODdlMmQ0NjZiOTRiMjRhMDNjM2UyOCIsCi0tCQki ZjNhMzAwODU0OTdmMmY2MTFlZTI1MTdiMTYzZWY4YzUzYjcxNWQxOGJiNGU0ODA4ZDAyYjk2MyIs Ci0tCX0sCi0tCXsKLS0JCSI4IiwKLS0JCSI4NThlNmY5Y2M2YzEyYzMxZjVkZjEyNGFhNzc3Njdi MDVjOGJjMDIxYmQ2ODNkMmI1NTU3MTU1MCIsCi0tCQkiNDZkY2QzZWE1YzQzODk4YzVjNWZjNGZk YWM3ZGIzOWMyZjAyZWJlZTRlMzU0MWQxZTc4MDQ3YSIsCi0tCX0sCi0tCXsKLS0JCSI5IiwKLS0J CSIyZmRjY2NmZWU3MjBhNzdlZjZjYjNiZmJiNDQ3ZjkzODMxMTdlM2RhYTRhMDdlMzZlZDE1Zjc4 ZCIsCi0tCQkiMzcxNzMyZTRmNDFiZjRmNzg4MzAzNWU2YTc5ZmNlZGMwZTE5NmViMDdiNDgxNzE2 OTc1MTc0NjMiLAotLQl9LAotLQl7Ci0tCQkiMTAiLAotLQkJImFlYTllMTdhMzA2NTE3ZWI4OTE1 MmFhNzA5NmQyYzM4MWVjODEzYzUxYWE4ODBlN2JlZTJjMGZkIiwKLS0JCSIzOWJiMzBlYWIzMzdl MGE1MjFiNmNiYTFhYmU0YjJiM2EzZTUyNGMxNGEzZmUzZWIxMTZiNjU1ZiIsCi0tCX0sCi0tCXsK LS0JCSIxMSIsCi0tCQkiZWY1M2I2Mjk0YWNhNDMxZjBmM2MyMmRjODJlYjkwNTAzMjRmMWQ4OGQz NzdlNzE2NDQ4ZTUwN2MiLAotLQkJIjIwYjUxMDAwNDA5MmU5NjYzNmNmYjdlMzJlZmRlZDgyNjVj MjY2ZGZiNzU0ZmE2ZDY0OTFhNmRhIiwKLS0JfSwKLS0JewotLQkJIjEyIiwKLS0JCSI2ZTMxZWUx ZGMxMzdmODFiMDU2NzUyZTRkZWFiMTQ0M2E0ODEwMzNlOWI0YzkzYTMwNDRmNGY3YSIsCi0tCQki MjA3ZGRkZjAzODViZmRlYWI2ZTlhY2RhOGRhMDZiM2JiZWYyMjRhOTNhYjFlOWUwMzYxMDlkMTMi LAotLQl9LAotLQl7Ci0tCQkiMTMiLAotLQkJIjM0ZThlMTdhNDMwZTQzMjg5NzkzYzM4M2ZhYzk3 NzQyNDdiNDBlOWViZDMzNjY5ODFmY2ZhZWNhIiwKLS0JCSIyNTI4MTlmNzFjN2ZiN2ZiY2IxNTli ZTMzN2QzN2QzMzM2ZDdmZWI5NjM3MjRmZGZiMGVjYjc2NyIsCi0tCX0sCi0tCXsKLS0JCSIxNCIs Ci0tCQkiYTUzNjQwYzgzZGMyMDg2MDNkZWQ4M2U0ZWNmNzU4ZjI0YzM1N2Q3Y2Y0ODA4OGIyY2Uw MWU5ZmEiLAotLQkJImQ1ODE0Y2Q3MjQxOTljNGE1Yjk3NGE0MzY4NWZiZjViOGJhYzY5NDU5Yzk0 NjliYzhmMjNjY2FmIiwKLS0JfSwKLS0JewotLQkJIjE1IiwKLS0JCSJiYWE0ZDg2MzU1MTFhN2Qy ODhhZWJlZWRkMTJjZTUyOWZmMTAyYzkxZjk3Zjg2N2UyMTkxNmJmOSIsCi0tCQkiOTc5YTVmNDc1 OWY4MGY0ZmI0ZWMyZTM0ZjU1NjZkNTk1NjgwYTExNzM1ZTdiNjEwNDYxMjc5ODkiLAotLQl9LAot LQl7Ci0tCQkiMTYiLAotLQkJImI2ZWM0ZmUxNzc3MzgyNDA0ZWY2Nzk5OTdiYThkMWNjNWNkOGU4 NTM0OTI1OWY1OTBjNGM2NmQiLAotLQkJIjMzOTlkNDY0MzQ1OTA2YjExYjAwZTM2M2VmNDI5MjIx ZjJlYzcyMGQyZjY2NWQ3ZGVhZDViNDgyIiwKLS0JfSwKLS0JewotLQkJIjE3IiwKLS0JCSJiODM1 N2MzYTZjZWVmMjg4MzEwZTE3YjhiZmVmZjkyMDA4NDZjYThjMTk0MjQ5N2M0ODQ0MDNiYyIsCi0t CQkiZmYxNDllZmE2NjA2YTZiZDIwZWY3ZDFiMDZiZDkyZjY5MDQ2MzlkY2U1MTc0ZGI2Y2M1NTRh MjYiLAotLQl9LAotLQl7Ci0tCQkiMTgiLAotLQkJImM5ZmY2MWIwNDA4NzRjMDU2ODQ3OTIxNjgy NGExNWVhYjFhODM4YTc5N2QxODk3NDYyMjZlNGNjIiwKLS0JCSJlYTk4ZDYwZTVmZmM5YjhmY2Y5 OTlmYWIxZGY3ZTdlZjcwODRmMjBkZGI2MWJiMDQ1YTZjZTAwMiIsCi0tCX0sCi0tCXsKLS0JCSIx OSIsCi0tCQkiYTFlODFjMDRmMzBjZTIwMWM3YzlhY2U3ODVlZDQ0Y2MzM2I0NTVhMDIyZjJhY2Ri YzZjYWU4M2MiLAotLQkJImRjZjFmNmMzZGIwOWM3MGFjYzI1MzkxZDQ5MmZlMjViNGExODBiYWJk NmNlYTM1NmMwNDcxOWNkIiwKLS0JfSwKLS0JewotLQkJIjIwIiwKLS0JCSJmY2M3ZjJiNDVkZjFj ZDVhM2MwYzA3MzFjYTQ3YThhZjc1Y2ZiMDM0N2U4MzU0ZWVmZTc4MjQ1NSIsCi0tCQkiZDVkNzEx MDI3NGNiYTdjZGVlOTBlMWE4YjBkMzk0YzM3NmE1NTczZGI2YmUwYmYyNzQ3ZjUzMCIsCi0tCX0s Ci0tCXsKLS0JCSIxMTIyMzM0NDU1NjY3Nzg4OTkiLAotLQkJIjYxZjA3N2M2ZjYyZWQ4MDJkYWQ3 YzJmMzhmNWM2N2YyY2M0NTM2MDFlNjFiZDA3NmJiNDYxNzllIiwKLS0JCSIyMjcyZjllOWY1OTMz ZTcwMzg4ZWU2NTI1MTM0NDNiNWUyODlkZDEzNWRjYzBkMDI5OWIyMjVlNCIsCi0tCX0sCi0tCXsK LS0JCSIxMTIyMzM0NDU1NjY3Nzg4OTkxMTIyMzM0NDU1NjY3Nzg4OTkiLAotLQkJIjI5ODk1ZjBh ZjQ5NmJmYzYyYjZlZjhkOGE2NWM4OGM2MTM5NDliMDM2NjhhYWI0ZjA0MjllMzUiLAotLQkJIjNl YTZlNTNmOWE4NDFmMjAxOWVjMjRiZGUxYTc1Njc3YWE5YjU5MDJlNjEwODFjMDEwNjRkZTkzIiwK LS0JfSwKLS0JewotLQkJIjY5NTA1MTE2MTk5NjU4Mzk0NTA5ODg5MDA2ODgxNTA3MTI3NzgwMTU3 Mzc5ODM5NDA2OTE5NjgwNTE5MDAzMTk2ODAiLAotLQkJImFiNjg5OTMwYmNhZTRhNGFhNWY1Y2Iw ODVlODIzZThhZTMwZmQzNjVlYjFkYTRhYmE5Y2YwMzc5IiwKLS0JCSIzMzQ1YTEyMWJiZDIzMzU0 OGFmMGQyMTA2NTRlYjQwYmFiNzg4YTAzNjY2NDE5YmU2ZmJkMzRlNyIsCi0tCX0sCi0tCXsKLS0J CSIxMzQ3OTk3MjkzMzQxMDA2MDMyNzAzNTc4OTAyMDUwOTQzMTY5NTA5NDkwMjQzNTQ5NDI5NTMz ODU3MDYwMjExOTQyMyIsCi0tCQkiYmRiNmE4ODE3YzFmODlkYTFjMmYzZGQ4ZTk3ZmViNDQ5NGYy ZWQzMDJhNGNlMmJjN2Y1ZjQwMjUiLAotLQkJIjRjNzAyMGQ1N2MwMDQxMTg4OTQ2MmQ3N2E1NDM4 YmI0ZTk3ZDE3NzcwMGJmNzI0M2EwN2YxNjgwIiwKLS0JfSwKLS0JewotLQkJIjEzNDc5OTcxNzUx NzQ1NjgyNTgxMzUxNDU1MzExMzE0MjA4MDkzODk4NjA3MjI5NDI5NzQwNjE4MzkwMzkwNzAyMDc5 IiwKLS0JCSJkNThiNjFhYTQxYzMyZGQ1ZWJhNDYyNjQ3ZGJhNzVjNWQ2N2M4MzYwNmMwYWYyYmQ5 Mjg0NDZhOSIsCi0tCQkiZDI0YmE2YTgzN2JlMDQ2MGRkMTA3YWU3NzcyNTY5NmQyMTE0NDZjNTYw OWI0NTk1OTc2YjE2YmQiLAotLQl9LAotLQl7Ci0tCQkiMTM0Nzk5NzI5MzE4NjUzMjgxMDY0ODY5 NzE1NDYzMjQ0NjUzOTI5NTI5NzU5ODAzNDMyMjgxNjA5NjI3MDI4Njg0NzkiLAotLQkJImRjOWZh Nzc5NzhhMDA1NTEwOTgwZTkyOWExNDg1ZjYzNzE2ZGY2OTVkN2EwYzE4YmI1MThkZjAzIiwKLS0J CSJlZGUyYjAxNmYyZGRmZmMyYThjMDE1YjEzNDkyODI3NWNlMDllNTY2MWI3YWIxNGNlMGQxZDQw MyIsCi0tCX0sCi0tCXsKLS0JCSIxMTc5NTc3MzcwODgzNDkxNjAyNjQwNDE0MjQzNDE1MTA2NTUw NjkzMTYwNzM0MTUyMzM4ODE0MDIyNTQ0MzI2NTUzNiIsCi0tCQkiNDk5ZDhiMjgyOWNmYjg3OWM5 MDFmN2Q4NWQzNTcwNDVlZGFiNTUwMjg4MjRkMGYwNWJhMjc5YmEiLAotLQkJImJmOTI5NTM3YjA2 ZTQwMTU5MTk2MzlkOTRmNTc4MzhmYTMzZmMzZDk1MjU5OGRjZGJiNDRkNjM4IiwKLS0JfSwKLS0J ewotLQkJIjc4NDI1NDU5MzA0MzgyNjIzNjU3Mjg0NzU5NTk5MTM0NjQzNTQ2NzE3NzY2MjE4OTM5 MTU3NzA5MCIsCi0tCQkiODI0NmM5OTkxMzcxODY2MzJjNWY5ZWRkZjNiMWIwZTE3NjRjNWU4YmQw ZTBkOGE1NTRiOWNiNzciLAotLQkJImU4MGVkODY2MGJjMWNiMTdhYzdkODQ1YmU0MGE3YTAyMmQz MzA2ZjExNmFlOWY4MWZlYTY1OTQ3IiwKLS0JfSwKLS0JewotLQkJIjEzNDc5NzY3NjQ1NTA1NjU0 NzQ2NjIzODg3Nzk3NzgzMzg3ODUzNTc2MTc0MTkzNDgwNjk1ODI2NDQyODU4MDEyNjcxIiwKLS0J CSI2NjcwYzIwYWZjY2VhZWE2NzJjOTdmNzVlMmU5ZGQ1Yzg0NjBlNTRiYjM4NTM4ZWJiNGJkMzBl YiIsCi0tCQkiZjI4MGQ4MDA4ZDA3YTRjYWY1NDI3MWY5OTM1MjdkNDZmZjNmZjQ2ZmQxMTkwYTNm MWZhYTRmNzQiLAotLQl9LAotLQl7Ci0tCQkiMjA1Njg4MDY5NjY1MTUwNzUzODQyMTI2MTc3Mzcy MDE1NTQ0ODc0NTUwNTE4OTY2MTY4NzM1NTg5NTk3MTgzIiwKLS0JCSJlY2E5MzQyNDc0MjVjZmQ5 NDliNzk1Y2I1Y2UxZWZmNDAxNTUwMzg2ZTI4ZDFhNGM1YThlYiIsCi0tCQkiZDRjMDEwNDBkYmEx OTYyODkzMWJjODg1NTM3MDMxN2M3MjJjYmQ5Y2E2MTU2OTg1ZjFjMmU5Y2UiLAotLQl9LAotLQl7 Ci0tCQkiMTM0Nzk5NjY5MzA5MTkzMzc3Mjg4OTUxNjg0NjIwOTA2ODMyNDkxNTk3MDI5NzcxMTM4 MjMzODQ2MTgyODIxMjMyOTUiLAotLQkJImVmMzUzYmY1YzczY2Q1NTFiOTZkNTk2ZmJjOWE2N2Yx NmQ2MWRkOWZlNTZhZjE5ZGUxZmJhOWNkIiwKLS0JCSIyMTc3MWI5Y2RjZTNlODQzMGMwOWIzODM4 YmU3MGI0OGMyMWUxNWJjMDllZTFmMmQ3OTQ1YjkxZiIsCi0tCX0sCi0tCXsKLS0JCSI1MDIxMDcz MTc5MTQxNTYxMjQ4Nzc1NjQ0MTM0MTg1MTg5NTU4NDM5MzcxNzQ1MzEyOTAwNzQ5NzIxNiIsCi0t CQkiNDAzNjA1MmEzMDkxZWI0ODEwNDZhZDMyODljOTVkM2FjOTA1Y2EwMDIzZGUyYzAzZWNkNDUx Y2YiLAotLQkJImQ3NjgxNjVhMzhhMmI5NmY4MTI1ODZhOWQ1OWQ0MTM2MDM1ZDljODUzYTViZjJl MWM4NmE0OTkzIiwKLS0JfSwKLS0JewotLQkJIjI2OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3 MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIyMzY4MDQxIiwKLS0JCSJmY2M3ZjJiNDVk ZjFjZDVhM2MwYzA3MzFjYTQ3YThhZjc1Y2ZiMDM0N2U4MzU0ZWVmZTc4MjQ1NSIsCi0tCQkiZjJh MjhlZWZkOGIzNDU4MzIxMTZmMWU1NzRmMmM2YjJjODk1YWE4YzI0OTQxZjQwZDhiODBhZDEiLAot LQl9LAotLQl7Ci0tCQkiMjY5NTk5NDY2NjcxNTA2Mzk3OTQ2NjcwMTUwODcwMTk2MjU5NDA0NTc4 MDc3MTQ0MjQzOTE3MjE2ODI3MjIzNjgwNDIiLAotLQkJImExZTgxYzA0ZjMwY2UyMDFjN2M5YWNl Nzg1ZWQ0NGNjMzNiNDU1YTAyMmYyYWNkYmM2Y2FlODNjIiwKLS0JCSIyMzBlMDkzYzI0ZjYzOGY1 MzNkYWM2ZTJiNmQwMWRhM2I1ZTdmNDU0MjkzMTVjYTkzZmI4ZTYzNCIsCi0tCX0sCi0tCXsKLS0J CSIyNjk1OTk0NjY2NzE1MDYzOTc5NDY2NzAxNTA4NzAxOTYyNTk0MDQ1NzgwNzcxNDQyNDM5MTcy MTY4MjcyMjM2ODA0MyIsCi0tCQkiYzlmZjYxYjA0MDg3NGMwNTY4NDc5MjE2ODI0YTE1ZWFiMWE4 MzhhNzk3ZDE4OTc0NjIyNmU0Y2MiLAotLQkJIjE1NjcyOWYxYTAwMzY0NzAzMDY2NjA1NGUyMDgx ODBmOGY3YjBkZjIyNDllNDRmYmE1OTMxZmZmIiwKLS0JfSwKLS0JewotLQkJIjI2OTU5OTQ2NjY3 MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIyMzY4MDQ0 IiwKLS0JCSJiODM1N2MzYTZjZWVmMjg4MzEwZTE3YjhiZmVmZjkyMDA4NDZjYThjMTk0MjQ5N2M0 ODQ0MDNiYyIsCi0tCQkiZWI2MTA1OTlmOTU5NDJkZjEwODJlNGY5NDI2ZDA4NmZiOWM2MjMxYWU4 YjI0OTMzYWFiNWRiIiwKLS0JfSwKLS0JewotLQkJIjI2OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1 MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIyMzY4MDQ1IiwKLS0JCSJiNmVjNGZl MTc3NzM4MjQwNGVmNjc5OTk3YmE4ZDFjYzVjZDhlODUzNDkyNTlmNTkwYzRjNjZkIiwKLS0JCSJj YzY2MmI5YmNiYTZmOTRlZTRmZjFjOWMxMGJkNmRkZDBkMTM4ZGYyZDA5OWEyODIxNTJhNGI3ZiIs Ci0tCX0sCi0tCXsKLS0JCSIyNjk1OTk0NjY2NzE1MDYzOTc5NDY2NzAxNTA4NzAxOTYyNTk0MDQ1 NzgwNzcxNDQyNDM5MTcyMTY4MjcyMjM2ODA0NiIsCi0tCQkiYmFhNGQ4NjM1NTExYTdkMjg4YWVi ZWVkZDEyY2U1MjlmZjEwMmM5MWY5N2Y4NjdlMjE5MTZiZjkiLAotLQkJIjY4NjVhMGI4YTYwN2Yw YjA0YjEzZDFjYjBhYTk5MmE1YTk3ZjVlZThjYTE4NDllZmI5ZWQ4Njc4IiwKLS0JfSwKLS0Jewot LQkJIjI2OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0Mzkx NzIxNjgyNzIyMzY4MDQ3IiwKLS0JCSJhNTM2NDBjODNkYzIwODYwM2RlZDgzZTRlY2Y3NThmMjRj MzU3ZDdjZjQ4MDg4YjJjZTAxZTlmYSIsCi0tCQkiMmE3ZWIzMjhkYmU2NjNiNWE0NjhiNWJjOTdh MDQwYTM3NDUzOTZiYTYzNmI5NjQzNzBkYzMzNTIiLAotLQl9LAotLQl7Ci0tCQkiMjY5NTk5NDY2 NjcxNTA2Mzk3OTQ2NjcwMTUwODcwMTk2MjU5NDA0NTc4MDc3MTQ0MjQzOTE3MjE2ODI3MjIzNjgw NDgiLAotLQkJIjM0ZThlMTdhNDMwZTQzMjg5NzkzYzM4M2ZhYzk3NzQyNDdiNDBlOWViZDMzNjY5 ODFmY2ZhZWNhIiwKLS0JCSJkYWQ3ZTYwOGUzODA0ODA0MzRlYTY0MWNjODJjODJjYmM5MjgwMTQ2 OWM4ZGIwMjA0ZjEzNDg5YSIsCi0tCX0sCi0tCXsKLS0JCSIyNjk1OTk0NjY2NzE1MDYzOTc5NDY2 NzAxNTA4NzAxOTYyNTk0MDQ1NzgwNzcxNDQyNDM5MTcyMTY4MjcyMjM2ODA0OSIsCi0tCQkiNmUz MWVlMWRjMTM3ZjgxYjA1Njc1MmU0ZGVhYjE0NDNhNDgxMDMzZTliNGM5M2EzMDQ0ZjRmN2EiLAot LQkJImRmODIyMjBmYzdhNDAyMTU0OTE2NTMyNTcyNWY5NGMzNDEwZGRiNTZjNTRlMTYxZmM5ZWY2 MmVlIiwKLS0JfSwKLS0JewotLQkJIjI2OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1 OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIyMzY4MDUwIiwKLS0JCSJlZjUzYjYyOTRhY2E0MzFm MGYzYzIyZGM4MmViOTA1MDMyNGYxZDg4ZDM3N2U3MTY0NDhlNTA3YyIsCi0tCQkiZGY0YWVmZmZi ZjZkMTY5OWM5MzA0ODFjZDEwMjEyN2M5YTNkOTkyMDQ4YWIwNTkyOWI2ZTU5MjciLAotLQl9LAot LQl7Ci0tCQkiMjY5NTk5NDY2NjcxNTA2Mzk3OTQ2NjcwMTUwODcwMTk2MjU5NDA0NTc4MDc3MTQ0 MjQzOTE3MjE2ODI3MjIzNjgwNTEiLAotLQkJImFlYTllMTdhMzA2NTE3ZWI4OTE1MmFhNzA5NmQy YzM4MWVjODEzYzUxYWE4ODBlN2JlZTJjMGZkIiwKLS0JCSJjNjQ0Y2YxNTRjYzgxZjVhZGU0OTM0 NWU1NDFiNGQ0YjVjMWFkYjNlYjVjMDFjMTRlZTk0OWFhMiIsCi0tCX0sCi0tCXsKLS0JCSIyNjk1 OTk0NjY2NzE1MDYzOTc5NDY2NzAxNTA4NzAxOTYyNTk0MDQ1NzgwNzcxNDQyNDM5MTcyMTY4Mjcy MjM2ODA1MiIsCi0tCQkiMmZkY2NjZmVlNzIwYTc3ZWY2Y2IzYmZiYjQ0N2Y5MzgzMTE3ZTNkYWE0 YTA3ZTM2ZWQxNWY3OGQiLAotLQkJImM4ZThjZDFiMGJlNDBiMDg3N2NmY2ExOTU4NjAzMTIyZjFl NjkxNGY4NGI3ZThlOTY4YWU4YjllIiwKLS0JfSwKLS0JewotLQkJIjI2OTU5OTQ2NjY3MTUwNjM5 Nzk0NjY3MDE1MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIyMzY4MDUzIiwKLS0J CSI4NThlNmY5Y2M2YzEyYzMxZjVkZjEyNGFhNzc3NjdiMDVjOGJjMDIxYmQ2ODNkMmI1NTU3MTU1 MCIsCi0tCQkiZmI5MjMyYzE1YTNiYzc2NzNhM2EwM2IwMjUzODI0YzUzZDBmZDE0MTFiMWNhYmUy ZTE4N2ZiODciLAotLQl9LAotLQl7Ci0tCQkiMjY5NTk5NDY2NjcxNTA2Mzk3OTQ2NjcwMTUwODcw MTk2MjU5NDA0NTc4MDc3MTQ0MjQzOTE3MjE2ODI3MjIzNjgwNTQiLAotLQkJImRiMmY2YmU2MzBl MjQ2YTVjZjdkOTliODUxOTRiMTIzZDQ4N2UyZDQ2NmI5NGIyNGEwM2MzZTI4IiwKLS0JCSJmMGM1 Y2ZmN2FiNjgwZDA5ZWUxMWRhZTg0ZTljMTA3MmFjNDhlYTJlNzQ0YjFiN2Y3MmZkNDY5ZSIsCi0t CX0sCi0tCXsKLS0JCSIyNjk1OTk0NjY2NzE1MDYzOTc5NDY2NzAxNTA4NzAxOTYyNTk0MDQ1Nzgw NzcxNDQyNDM5MTcyMTY4MjcyMjM2ODA1NSIsCi0tCQkiMWYyNDgzZjgyNTcyMjUxZmNhOTc1ZmVh NDBkYjgyMWRmOGFkODJhM2MwMDJlZTZjNTcxMTI0MDgiLAotLQkJIjc2MDUwZjMzNDhhZjI2NjRh YWMzYThiMDUyODEzMDRlYmM3YTc5MTRjNmFkNTBhNGI0ZWFjMzgzIiwKLS0JfSwKLS0JewotLQkJ IjI2OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIx NjgyNzIyMzY4MDU2IiwKLS0JCSIzMWM0OWFlNzViY2U3ODA3Y2RmZjIyMDU1ZDk0ZWU5MDIxZmVk YmI1YWI1MWM1NzUyNmYwMTFhYSIsCi0tCQkiZDgxNzQwMGU4YmE5Y2ExM2E0NWYzNjBlM2QxMjFl YWFlYjM5YWY4MmQ2MDAxYzgxODZmNWY4NjYiLAotLQl9LAotLQl7Ci0tCQkiMjY5NTk5NDY2Njcx NTA2Mzk3OTQ2NjcwMTUwODcwMTk2MjU5NDA0NTc4MDc3MTQ0MjQzOTE3MjE2ODI3MjIzNjgwNTci LAotLQkJImFlOTlmZWViYjVkMjY5NDViNTQ4OTIwOTJhOGFlZTAyOTEyOTMwZmE0MWNkMTE0ZTQw NDQ3MzAxIiwKLS0JCSJmYjdkYTdmNWYxM2E0M2I4MTc3NDM3M2M4NzljZDMyZDY5MzRjMDVmYTc1 OGVlYjE0ZmNmYWIzOCIsCi0tCX0sCi0tCXsKLS0JCSIyNjk1OTk0NjY2NzE1MDYzOTc5NDY2NzAx NTA4NzAxOTYyNTk0MDQ1NzgwNzcxNDQyNDM5MTcyMTY4MjcyMjM2ODA1OCIsCi0tCQkiZGYxYjFk NjZhNTUxZDBkMzFlZmY4MjI1NThiOWQyY2M3NWMyMTgwMjc5ZmUwZDA4ZmQ4OTZkMDQiLAotLQkJ IjVjMDgwZmMzNTIyZjQxYmJiM2Y1NWE5N2NmZWNmMjFmODgyY2U4Y2JiMWU1MGNhNmU2N2U1NmRj IiwKLS0JfSwKLS0JewotLQkJIjI2OTU5OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1OTQw NDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIyMzY4MDU5IiwKLS0JCSI3MDZhNDZkYzc2ZGNiNzY3OThl NjBlNmQ4OTQ3NDc4OGQxNmRjMTgwMzJkMjY4ZmQxYTcwNGZhNiIsCi0tCQkiZTNkNDg5NTg0M2Rh MTg4ZmQ1OGZiMDU2Nzk3NmQ3YjUwMzU5ZDZiNzg1MzBjOGY2MmQxYjE3NDYiLAotLQl9LAotLQl7 Ci0tCQkiMjY5NTk5NDY2NjcxNTA2Mzk3OTQ2NjcwMTUwODcwMTk2MjU5NDA0NTc4MDc3MTQ0MjQz OTE3MjE2ODI3MjIzNjgwNjAiLAotLQkJImI3MGUwY2JkNmJiNGJmN2YzMjEzOTBiOTRhMDNjMWQz NTZjMjExMjIzNDMyODBkNjExNWMxZDIxIiwKLS0JCSI0MmM4OWM3NzRhMDhkYzA0YjNkZDIwMTkz MmJjOGE1ZWE1ZjhiODliYmIyYTdlNjY3YWZmODFjZCIsCi0tCX0sCi0tfQotLQotLWZ1bmMgVGVz dEJhc2VNdWx0KHQgKnRlc3RpbmcuVCkgewotLQlwMjI0IDo9IFAyMjQoKQotLQlmb3IgaSwgZSA6 PSByYW5nZSBwMjI0QmFzZU11bHRUZXN0cyB7Ci0tCQlrLCBvayA6PSBuZXcoYmlnLkludCkuU2V0 U3RyaW5nKGUuaywgMTApCi0tCQlpZiAhb2sgewotLQkJCXQuRXJyb3JmKCIlZDogYmFkIHZhbHVl IGZvciBrOiAlcyIsIGksIGUuaykKLS0JCX0KLS0JCXgsIHkgOj0gcDIyNC5TY2FsYXJCYXNlTXVs dChrLkJ5dGVzKCkpCi0tCQlpZiBmbXQuU3ByaW50ZigiJXgiLCB4KSAhPSBlLnggfHwgZm10LlNw cmludGYoIiV4IiwgeSkgIT0gZS55IHsKLS0JCQl0LkVycm9yZigiJWQ6IGJhZCBvdXRwdXQgZm9y IGs9JXM6IGdvdCAoJXgsICV4KSwgd2FudCAoJXMsICVzKSIsIGksIGUuaywgeCwgeSwgZS54LCBl LnkpCi0tCQl9Ci0tCQlpZiB0ZXN0aW5nLlNob3J0KCkgJiYgaSA+IDUgewotLQkJCWJyZWFrCi0t CQl9Ci0tCX0KLS19Ci0tCi0tZnVuYyBUZXN0R2VuZXJpY0Jhc2VNdWx0KHQgKnRlc3RpbmcuVCkg ewotLQkvLyBXZSB1c2UgdGhlIFAyMjQgQ3VydmVQYXJhbXMgZGlyZWN0bHkgaW4gb3JkZXIgdG8g dGVzdCB0aGUgZ2VuZXJpYyBpbXBsZW1lbnRhdGlvbi4KLS0JcDIyNCA6PSBQMjI0KCkuUGFyYW1z KCkKLS0JZm9yIGksIGUgOj0gcmFuZ2UgcDIyNEJhc2VNdWx0VGVzdHMgewotLQkJaywgb2sgOj0g bmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLmssIDEwKQotLQkJaWYgIW9rIHsKLS0JCQl0LkVycm9y ZigiJWQ6IGJhZCB2YWx1ZSBmb3IgazogJXMiLCBpLCBlLmspCi0tCQl9Ci0tCQl4LCB5IDo9IHAy MjQuU2NhbGFyQmFzZU11bHQoay5CeXRlcygpKQotLQkJaWYgZm10LlNwcmludGYoIiV4IiwgeCkg IT0gZS54IHx8IGZtdC5TcHJpbnRmKCIleCIsIHkpICE9IGUueSB7Ci0tCQkJdC5FcnJvcmYoIiVk OiBiYWQgb3V0cHV0IGZvciBrPSVzOiBnb3QgKCV4LCAleCksIHdhbnQgKCVzLCAlcykiLCBpLCBl LmssIHgsIHksIGUueCwgZS55KQotLQkJfQotLQkJaWYgdGVzdGluZy5TaG9ydCgpICYmIGkgPiA1 IHsKLS0JCQlicmVhawotLQkJfQotLQl9Ci0tfQotLQotIGZ1bmMgVGVzdEluZmluaXR5KHQgKnRl c3RpbmcuVCkgewotIAl0ZXN0cyA6PSBbXXN0cnVjdCB7Ci0gCQluYW1lICBzdHJpbmcKLSAJCWN1 cnZlIEN1cnZlCi0gCX17Ci0tCQl7InAyMjQiLCBQMjI0KCl9LAotIAkJeyJwMjU2IiwgUDI1Nigp fSwKLSAJfQotIAotQEAgLTM1OSw0MyArNDQsMyBAQCBmdW5jIFRlc3RJbmZpbml0eSh0ICp0ZXN0 aW5nLlQpIHsKLSAJCX0KLSAJfQotIH0KLS0KLS1mdW5jIEJlbmNobWFya0Jhc2VNdWx0KGIgKnRl c3RpbmcuQikgewotLQliLlJlc2V0VGltZXIoKQotLQlwMjI0IDo9IFAyMjQoKQotLQllIDo9IHAy MjRCYXNlTXVsdFRlc3RzWzI1XQotLQlrLCBfIDo9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoZS5r LCAxMCkKLS0JYi5TdGFydFRpbWVyKCkKLS0JZm9yIGkgOj0gMDsgaSA8IGIuTjsgaSsrIHsKLS0J CXAyMjQuU2NhbGFyQmFzZU11bHQoay5CeXRlcygpKQotLQl9Ci0tfQotLQotLWZ1bmMgVGVzdE1h cnNoYWwodCAqdGVzdGluZy5UKSB7Ci0tCXAyMjQgOj0gUDIyNCgpCi0tCV8sIHgsIHksIGVyciA6 PSBHZW5lcmF0ZUtleShwMjI0LCByYW5kLlJlYWRlcikKLS0JaWYgZXJyICE9IG5pbCB7Ci0tCQl0 LkVycm9yKGVycikKLS0JCXJldHVybgotLQl9Ci0tCXNlcmlhbGl6ZWQgOj0gTWFyc2hhbChwMjI0 LCB4LCB5KQotLQl4eCwgeXkgOj0gVW5tYXJzaGFsKHAyMjQsIHNlcmlhbGl6ZWQpCi0tCWlmIHh4 ID09IG5pbCB7Ci0tCQl0LkVycm9yKCJmYWlsZWQgdG8gdW5tYXJzaGFsIikKLS0JCXJldHVybgot LQl9Ci0tCWlmIHh4LkNtcCh4KSAhPSAwIHx8IHl5LkNtcCh5KSAhPSAwIHsKLS0JCXQuRXJyb3Io InVubWFyc2hhbCByZXR1cm5lZCBkaWZmZXJlbnQgdmFsdWVzIikKLS0JCXJldHVybgotLQl9Ci0t fQotLQotLWZ1bmMgVGVzdFAyMjRPdmVyZmxvdyh0ICp0ZXN0aW5nLlQpIHsKLS0JLy8gVGhpcyB0 ZXN0cyBmb3IgYSBzcGVjaWZpYyBidWcgaW4gdGhlIFAyMjQgaW1wbGVtZW50YXRpb24uCi0tCXAy MjQgOj0gUDIyNCgpCi0tCXBvaW50RGF0YSwgXyA6PSBoZXguRGVjb2RlU3RyaW5nKCIwNDlCNTM1 QjQ1RkIwQTIwNzIzOThBNjgzMTgzNDYyNEM3RTMyQ0NGRDVBNEI5MzNCQ0VBRjc3RjFERDk0NUUw OEJCRTUxNzhGNUVERjVFNzMzMzg4RjE5NkQyQTYzMUQyRTA3NUJCMTZDQkZFRUExNUIiKQotLQl4 LCB5IDo9IFVubWFyc2hhbChwMjI0LCBwb2ludERhdGEpCi0tCWlmICFwMjI0LklzT25DdXJ2ZSh4 LCB5KSB7Ci0tCQl0LkVycm9yKCJQMjI0IGZhaWxlZCB0byB2YWxpZGF0ZSBhIGNvcnJlY3QgcG9p bnQiKQotLQl9Ci0tfQotLS0tIGxpYmdvL2dvL2NyeXB0by9lY2RzYS9lY2RzYV90ZXN0LmdvLmpq CTIwMTItMTItMTMgMTE6MzI6MDIuNTg5MDM5NzgyICswMTAwCi0rKysgbGliZ28vZ28vY3J5cHRv L2VjZHNhL2VjZHNhX3Rlc3QuZ28JMjAxNC0wMi0xOCAxNzoyODoyMi45MDk2OTIwMjIgKzAxMDAK LUBAIC0zMyw3ICszMyw2IEBAIGZ1bmMgdGVzdEtleUdlbmVyYXRpb24odCAqdGVzdGluZy5ULCBj IGUKLSB9Ci0gCi0gZnVuYyBUZXN0S2V5R2VuZXJhdGlvbih0ICp0ZXN0aW5nLlQpIHsKLS0JdGVz dEtleUdlbmVyYXRpb24odCwgZWxsaXB0aWMuUDIyNCgpLCAicDIyNCIpCi0gCWlmIHRlc3Rpbmcu U2hvcnQoKSB7Ci0gCQlyZXR1cm4KLSAJfQotQEAgLTYzLDcgKzYyLDYgQEAgZnVuYyB0ZXN0U2ln bkFuZFZlcmlmeSh0ICp0ZXN0aW5nLlQsIGMgZQotIH0KLSAKLSBmdW5jIFRlc3RTaWduQW5kVmVy aWZ5KHQgKnRlc3RpbmcuVCkgewotLQl0ZXN0U2lnbkFuZFZlcmlmeSh0LCBlbGxpcHRpYy5QMjI0 KCksICJwMjI0IikKLSAJaWYgdGVzdGluZy5TaG9ydCgpIHsKLSAJCXJldHVybgotIAl9Ci1AQCAt MTI5LDggKzEyNyw2IEBAIGZ1bmMgVGVzdFZlY3RvcnModCAqdGVzdGluZy5UKSB7Ci0gCQkJcGFy dHMgOj0gc3RyaW5ncy5TcGxpdE4obGluZSwgIiwiLCAyKQotIAotIAkJCXN3aXRjaCBwYXJ0c1sw XSB7Ci0tCQkJY2FzZSAiUC0yMjQiOgotLQkJCQlwdWIuQ3VydmUgPSBlbGxpcHRpYy5QMjI0KCkK LSAJCQljYXNlICJQLTI1NiI6Ci0gCQkJCXB1Yi5DdXJ2ZSA9IGVsbGlwdGljLlAyNTYoKQotIAkJ CWNhc2UgIlAtMzg0IjoKLS0tLSBsaWJnby9nby9jcnlwdG8veDUwOS94NTA5LmdvLmpqCTIwMTMt MDgtMTQgMTM6NTU6MDguOTM5ODQzNjA3ICswMjAwCi0rKysgbGliZ28vZ28vY3J5cHRvL3g1MDkv eDUwOS5nbwkyMDE0LTAyLTE4IDE3OjI4OjIyLjk0MzY5MTc2NCArMDEwMAotQEAgLTI4Myw5ICsy ODMsNiBAQCBmdW5jIGdldFB1YmxpY0tleUFsZ29yaXRobUZyb21PSUQob2lkIGFzCi0gCi0gLy8g UkZDIDU0ODAsIDIuMS4xLjEuIE5hbWVkIEN1cnZlCi0gLy8KLS0vLyBzZWNwMjI0cjEgT0JKRUNU IElERU5USUZJRVIgOjo9IHsKLS0vLyAgIGlzbygxKSBpZGVudGlmaWVkLW9yZ2FuaXphdGlvbigz KSBjZXJ0aWNvbSgxMzIpIGN1cnZlKDApIDMzIH0KLS0vLwotIC8vIHNlY3AyNTZyMSBPQkpFQ1Qg SURFTlRJRklFUiA6Oj0gewotIC8vICAgaXNvKDEpIG1lbWJlci1ib2R5KDIpIHVzKDg0MCkgYW5z aS1YOS02MigxMDA0NSkgY3VydmVzKDMpCi0gLy8gICBwcmltZSgxKSA3IH0KLUBAIC0yOTgsNyAr Mjk1LDYgQEAgZnVuYyBnZXRQdWJsaWNLZXlBbGdvcml0aG1Gcm9tT0lEKG9pZCBhcwotIC8vCi0g Ly8gTkI6IHNlY3AyNTZyMSBpcyBlcXVpdmFsZW50IHRvIHByaW1lMjU2djEKLSB2YXIgKAotLQlv aWROYW1lZEN1cnZlUDIyNCA9IGFzbjEuT2JqZWN0SWRlbnRpZmllcnsxLCAzLCAxMzIsIDAsIDMz fQotIAlvaWROYW1lZEN1cnZlUDI1NiA9IGFzbjEuT2JqZWN0SWRlbnRpZmllcnsxLCAyLCA4NDAs IDEwMDQ1LCAzLCAxLCA3fQotIAlvaWROYW1lZEN1cnZlUDM4NCA9IGFzbjEuT2JqZWN0SWRlbnRp ZmllcnsxLCAzLCAxMzIsIDAsIDM0fQotIAlvaWROYW1lZEN1cnZlUDUyMSA9IGFzbjEuT2JqZWN0 SWRlbnRpZmllcnsxLCAzLCAxMzIsIDAsIDM1fQotQEAgLTMwNiw4ICszMDIsNiBAQCB2YXIgKAot IAotIGZ1bmMgbmFtZWRDdXJ2ZUZyb21PSUQob2lkIGFzbjEuT2JqZWN0SWRlbnRpZmllcikgZWxs aXB0aWMuQ3VydmUgewotIAlzd2l0Y2ggewotLQljYXNlIG9pZC5FcXVhbChvaWROYW1lZEN1cnZl UDIyNCk6Ci0tCQlyZXR1cm4gZWxsaXB0aWMuUDIyNCgpCi0gCWNhc2Ugb2lkLkVxdWFsKG9pZE5h bWVkQ3VydmVQMjU2KToKLSAJCXJldHVybiBlbGxpcHRpYy5QMjU2KCkKLSAJY2FzZSBvaWQuRXF1 YWwob2lkTmFtZWRDdXJ2ZVAzODQpOgotQEAgLTMyMCw4ICszMTQsNiBAQCBmdW5jIG5hbWVkQ3Vy dmVGcm9tT0lEKG9pZCBhc24xLk9iamVjdElkCi0gCi0gZnVuYyBvaWRGcm9tTmFtZWRDdXJ2ZShj dXJ2ZSBlbGxpcHRpYy5DdXJ2ZSkgKGFzbjEuT2JqZWN0SWRlbnRpZmllciwgYm9vbCkgewotIAlz d2l0Y2ggY3VydmUgewotLQljYXNlIGVsbGlwdGljLlAyMjQoKToKLS0JCXJldHVybiBvaWROYW1l ZEN1cnZlUDIyNCwgdHJ1ZQotIAljYXNlIGVsbGlwdGljLlAyNTYoKToKLSAJCXJldHVybiBvaWRO YW1lZEN1cnZlUDI1NiwgdHJ1ZQotIAljYXNlIGVsbGlwdGljLlAzODQoKToKLUBAIC0xMjEyLDcg KzEyMDQsNyBAQCBmdW5jIENyZWF0ZUNlcnRpZmljYXRlKHJhbmQgaW8uUmVhZGVyLCB0Ci0gCQlo YXNoRnVuYyA9IGNyeXB0by5TSEExCi0gCWNhc2UgKmVjZHNhLlByaXZhdGVLZXk6Ci0gCQlzd2l0 Y2ggcHJpdi5DdXJ2ZSB7Ci0tCQljYXNlIGVsbGlwdGljLlAyMjQoKSwgZWxsaXB0aWMuUDI1Nigp OgotKwkJY2FzZSBlbGxpcHRpYy5QMjU2KCk6Ci0gCQkJaGFzaEZ1bmMgPSBjcnlwdG8uU0hBMjU2 Ci0gCQkJc2lnbmF0dXJlQWxnb3JpdGhtLkFsZ29yaXRobSA9IG9pZFNpZ25hdHVyZUVDRFNBV2l0 aFNIQTI1NgotIAkJY2FzZSBlbGxpcHRpYy5QMzg0KCk6Ci0tLS0gbGliZ28vZ28vY3J5cHRvL2Vs bGlwdGljL3AyMjQuZ28uamoJMjAxMi0xMi0xMyAxMTozMjowMi42NDEwMzk1MzMgKzAxMDAKLSsr KyBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvcDIyNC5nbwkyMDE0LTAyLTE1IDExOjQwOjU2LjE5 MTU1NzkyOCArMDEwMAotQEAgLTEsNzY1ICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAxMiBUaGUg R28gQXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0tLy8gVXNlIG9mIHRoaXMgc291cmNl IGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKLS0vLyBsaWNlbnNlIHRoYXQgY2FuIGJl IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tCi0tcGFja2FnZSBlbGxpcHRpYwotLQotLS8v IFRoaXMgaXMgYSBjb25zdGFudC10aW1lLCAzMi1iaXQgaW1wbGVtZW50YXRpb24gb2YgUDIyNC4g U2VlIEZJUFMgMTg2LTMsCi0tLy8gc2VjdGlvbiBELjIuMi4KLS0vLwotLS8vIFNlZSBodHRwOi8v d3d3LmltcGVyaWFsdmlvbGV0Lm9yZy8yMDEwLzEyLzA0L2VjYy5odG1sIChbMV0pIGZvciBiYWNr Z3JvdW5kLgotLQotLWltcG9ydCAoCi0tCSJtYXRoL2JpZyIKLS0pCi0tCi0tdmFyIHAyMjQgcDIy NEN1cnZlCi0tCi0tdHlwZSBwMjI0Q3VydmUgc3RydWN0IHsKLS0JKkN1cnZlUGFyYW1zCi0tCWd4 LCBneSwgYiBwMjI0RmllbGRFbGVtZW50Ci0tfQotLQotLWZ1bmMgaW5pdFAyMjQoKSB7Ci0tCS8v IFNlZSBGSVBTIDE4Ni0zLCBzZWN0aW9uIEQuMi4yCi0tCXAyMjQuQ3VydmVQYXJhbXMgPSBuZXco Q3VydmVQYXJhbXMpCi0tCXAyMjQuUCwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoIjI2OTU5 OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjMwNjczNTU3OTE2MjYwMDI2MzA4MTQzNTEwMDY2 Mjk4ODgxIiwgMTApCi0tCXAyMjQuTiwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoIjI2OTU5 OTQ2NjY3MTUwNjM5Nzk0NjY3MDE1MDg3MDE5NjI1OTQwNDU3ODA3NzE0NDI0MzkxNzIxNjgyNzIy MzY4MDYxIiwgMTApCi0tCXAyMjQuQiwgXyA9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoImI0MDUw YTg1MGMwNGIzYWJmNTQxMzI1NjUwNDRiMGI3ZDdiZmQ4YmEyNzBiMzk0MzIzNTVmZmI0IiwgMTYp Ci0tCXAyMjQuR3gsIF8gPSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKCJiNzBlMGNiZDZiYjRiZjdm MzIxMzkwYjk0YTAzYzFkMzU2YzIxMTIyMzQzMjgwZDYxMTVjMWQyMSIsIDE2KQotLQlwMjI0Lkd5 LCBfID0gbmV3KGJpZy5JbnQpLlNldFN0cmluZygiYmQzNzYzODhiNWY3MjNmYjRjMjJkZmU2Y2Q0 Mzc1YTA1YTA3NDc2NDQ0ZDU4MTk5ODUwMDdlMzQiLCAxNikKLS0JcDIyNC5CaXRTaXplID0gMjI0 Ci0tCi0tCXAyMjRGcm9tQmlnKCZwMjI0Lmd4LCBwMjI0Lkd4KQotLQlwMjI0RnJvbUJpZygmcDIy NC5neSwgcDIyNC5HeSkKLS0JcDIyNEZyb21CaWcoJnAyMjQuYiwgcDIyNC5CKQotLX0KLS0KLS0v LyBQMjI0IHJldHVybnMgYSBDdXJ2ZSB3aGljaCBpbXBsZW1lbnRzIFAtMjI0IChzZWUgRklQUyAx ODYtMywgc2VjdGlvbiBELjIuMikKLS1mdW5jIFAyMjQoKSBDdXJ2ZSB7Ci0tCWluaXRvbmNlLkRv KGluaXRBbGwpCi0tCXJldHVybiBwMjI0Ci0tfQotLQotLWZ1bmMgKGN1cnZlIHAyMjRDdXJ2ZSkg UGFyYW1zKCkgKkN1cnZlUGFyYW1zIHsKLS0JcmV0dXJuIGN1cnZlLkN1cnZlUGFyYW1zCi0tfQot LQotLWZ1bmMgKGN1cnZlIHAyMjRDdXJ2ZSkgSXNPbkN1cnZlKGJpZ1gsIGJpZ1kgKmJpZy5JbnQp IGJvb2wgewotLQl2YXIgeCwgeSBwMjI0RmllbGRFbGVtZW50Ci0tCXAyMjRGcm9tQmlnKCZ4LCBi aWdYKQotLQlwMjI0RnJvbUJpZygmeSwgYmlnWSkKLS0KLS0JLy8gecKyID0geMKzIC0gM3ggKyBi Ci0tCXZhciB0bXAgcDIyNExhcmdlRmllbGRFbGVtZW50Ci0tCXZhciB4MyBwMjI0RmllbGRFbGVt ZW50Ci0tCXAyMjRTcXVhcmUoJngzLCAmeCwgJnRtcCkKLS0JcDIyNE11bCgmeDMsICZ4MywgJngs ICZ0bXApCi0tCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJeFtpXSAqPSAzCi0tCX0K LS0JcDIyNFN1YigmeDMsICZ4MywgJngpCi0tCXAyMjRSZWR1Y2UoJngzKQotLQlwMjI0QWRkKCZ4 MywgJngzLCAmY3VydmUuYikKLS0JcDIyNENvbnRyYWN0KCZ4MywgJngzKQotLQotLQlwMjI0U3F1 YXJlKCZ5LCAmeSwgJnRtcCkKLS0JcDIyNENvbnRyYWN0KCZ5LCAmeSkKLS0KLS0JZm9yIGkgOj0g MDsgaSA8IDg7IGkrKyB7Ci0tCQlpZiB5W2ldICE9IHgzW2ldIHsKLS0JCQlyZXR1cm4gZmFsc2UK LS0JCX0KLS0JfQotLQlyZXR1cm4gdHJ1ZQotLX0KLS0KLS1mdW5jIChwMjI0Q3VydmUpIEFkZChi aWdYMSwgYmlnWTEsIGJpZ1gyLCBiaWdZMiAqYmlnLkludCkgKHgsIHkgKmJpZy5JbnQpIHsKLS0J dmFyIHgxLCB5MSwgejEsIHgyLCB5MiwgejIsIHgzLCB5MywgejMgcDIyNEZpZWxkRWxlbWVudAot LQotLQlwMjI0RnJvbUJpZygmeDEsIGJpZ1gxKQotLQlwMjI0RnJvbUJpZygmeTEsIGJpZ1kxKQot LQlpZiBiaWdYMS5TaWduKCkgIT0gMCB8fCBiaWdZMS5TaWduKCkgIT0gMCB7Ci0tCQl6MVswXSA9 IDEKLS0JfQotLQlwMjI0RnJvbUJpZygmeDIsIGJpZ1gyKQotLQlwMjI0RnJvbUJpZygmeTIsIGJp Z1kyKQotLQlpZiBiaWdYMi5TaWduKCkgIT0gMCB8fCBiaWdZMi5TaWduKCkgIT0gMCB7Ci0tCQl6 MlswXSA9IDEKLS0JfQotLQotLQlwMjI0QWRkSmFjb2JpYW4oJngzLCAmeTMsICZ6MywgJngxLCAm eTEsICZ6MSwgJngyLCAmeTIsICZ6MikKLS0JcmV0dXJuIHAyMjRUb0FmZmluZSgmeDMsICZ5Mywg JnozKQotLX0KLS0KLS1mdW5jIChwMjI0Q3VydmUpIERvdWJsZShiaWdYMSwgYmlnWTEgKmJpZy5J bnQpICh4LCB5ICpiaWcuSW50KSB7Ci0tCXZhciB4MSwgeTEsIHoxLCB4MiwgeTIsIHoyIHAyMjRG aWVsZEVsZW1lbnQKLS0KLS0JcDIyNEZyb21CaWcoJngxLCBiaWdYMSkKLS0JcDIyNEZyb21CaWco JnkxLCBiaWdZMSkKLS0JejFbMF0gPSAxCi0tCi0tCXAyMjREb3VibGVKYWNvYmlhbigmeDIsICZ5 MiwgJnoyLCAmeDEsICZ5MSwgJnoxKQotLQlyZXR1cm4gcDIyNFRvQWZmaW5lKCZ4MiwgJnkyLCAm ejIpCi0tfQotLQotLWZ1bmMgKHAyMjRDdXJ2ZSkgU2NhbGFyTXVsdChiaWdYMSwgYmlnWTEgKmJp Zy5JbnQsIHNjYWxhciBbXWJ5dGUpICh4LCB5ICpiaWcuSW50KSB7Ci0tCXZhciB4MSwgeTEsIHox LCB4MiwgeTIsIHoyIHAyMjRGaWVsZEVsZW1lbnQKLS0KLS0JcDIyNEZyb21CaWcoJngxLCBiaWdY MSkKLS0JcDIyNEZyb21CaWcoJnkxLCBiaWdZMSkKLS0JejFbMF0gPSAxCi0tCi0tCXAyMjRTY2Fs YXJNdWx0KCZ4MiwgJnkyLCAmejIsICZ4MSwgJnkxLCAmejEsIHNjYWxhcikKLS0JcmV0dXJuIHAy MjRUb0FmZmluZSgmeDIsICZ5MiwgJnoyKQotLX0KLS0KLS1mdW5jIChjdXJ2ZSBwMjI0Q3VydmUp IFNjYWxhckJhc2VNdWx0KHNjYWxhciBbXWJ5dGUpICh4LCB5ICpiaWcuSW50KSB7Ci0tCXZhciB6 MSwgeDIsIHkyLCB6MiBwMjI0RmllbGRFbGVtZW50Ci0tCi0tCXoxWzBdID0gMQotLQlwMjI0U2Nh bGFyTXVsdCgmeDIsICZ5MiwgJnoyLCAmY3VydmUuZ3gsICZjdXJ2ZS5neSwgJnoxLCBzY2FsYXIp Ci0tCXJldHVybiBwMjI0VG9BZmZpbmUoJngyLCAmeTIsICZ6MikKLS19Ci0tCi0tLy8gRmllbGQg ZWxlbWVudCBmdW5jdGlvbnMuCi0tLy8KLS0vLyBUaGUgZmllbGQgdGhhdCB3ZSdyZSBkZWFsaW5n IHdpdGggaXMg4oSkL3DihKQgd2hlcmUgcCA9IDIqKjIyNCAtIDIqKjk2ICsgMS4KLS0vLwotLS8v IEZpZWxkIGVsZW1lbnRzIGFyZSByZXByZXNlbnRlZCBieSBhIEZpZWxkRWxlbWVudCwgd2hpY2gg aXMgYSB0eXBlZGVmIHRvIGFuCi0tLy8gYXJyYXkgb2YgOCB1aW50MzIncy4gVGhlIHZhbHVlIG9m IGEgRmllbGRFbGVtZW50LCBhLCBpczoKLS0vLyAgIGFbMF0gKyAyKioyOMK3YVsxXSArIDIqKjU2 wrdhWzFdICsgLi4uICsgMioqMTk2wrdhWzddCi0tLy8KLS0vLyBVc2luZyAyOC1iaXQgbGltYnMg bWVhbnMgdGhhdCB0aGVyZSdzIG9ubHkgNCBiaXRzIG9mIGhlYWRyb29tLCB3aGljaCBpcyBsZXNz Ci0tLy8gdGhhbiB3ZSB3b3VsZCByZWFsbHkgbGlrZS4gQnV0IGl0IGhhcyB0aGUgdXNlZnVsIGZl YXR1cmUgdGhhdCB3ZSBoaXQgMioqMjI0Ci0tLy8gZXhhY3RseSwgbWFraW5nIHRoZSByZWZsZWN0 aW9ucyBkdXJpbmcgYSByZWR1Y2UgbXVjaCBuaWNlci4KLS10eXBlIHAyMjRGaWVsZEVsZW1lbnQg WzhddWludDMyCi0tCi0tLy8gcDIyNFAgaXMgdGhlIG9yZGVyIG9mIHRoZSBmaWVsZCwgcmVwcmVz ZW50ZWQgYXMgYSBwMjI0RmllbGRFbGVtZW50LgotLXZhciBwMjI0UCA9IFs4XXVpbnQzMnsxLCAw LCAwLCAweGZmZmYwMDAsIDB4ZmZmZmZmZiwgMHhmZmZmZmZmLCAweGZmZmZmZmYsIDB4ZmZmZmZm Zn0KLS0KLS0vLyBwMjI0SXNaZXJvIHJldHVybnMgMSBpZiBhID09IDAgbW9kIHAgYW5kIDAgb3Ro ZXJ3aXNlLgotLS8vCi0tLy8gYVtpXSA8IDIqKjI5Ci0tZnVuYyBwMjI0SXNaZXJvKGEgKnAyMjRG aWVsZEVsZW1lbnQpIHVpbnQzMiB7Ci0tCS8vIFNpbmNlIGEgcDIyNEZpZWxkRWxlbWVudCBjb250 YWlucyAyMjQgYml0cyB0aGVyZSBhcmUgdHdvIHBvc3NpYmxlCi0tCS8vIHJlcHJlc2VudGF0aW9u cyBvZiAwOiAwIGFuZCBwLgotLQl2YXIgbWluaW1hbCBwMjI0RmllbGRFbGVtZW50Ci0tCXAyMjRD b250cmFjdCgmbWluaW1hbCwgYSkKLS0KLS0JdmFyIGlzWmVybywgaXNQIHVpbnQzMgotLQlmb3Ig aSwgdiA6PSByYW5nZSBtaW5pbWFsIHsKLS0JCWlzWmVybyB8PSB2Ci0tCQlpc1AgfD0gdiAtIHAy MjRQW2ldCi0tCX0KLS0KLS0JLy8gSWYgZWl0aGVyIGlzWmVybyBvciBpc1AgaXMgMCwgdGhlbiB3 ZSBzaG91bGQgcmV0dXJuIDEuCi0tCWlzWmVybyB8PSBpc1plcm8gPj4gMTYKLS0JaXNaZXJvIHw9 IGlzWmVybyA+PiA4Ci0tCWlzWmVybyB8PSBpc1plcm8gPj4gNAotLQlpc1plcm8gfD0gaXNaZXJv ID4+IDIKLS0JaXNaZXJvIHw9IGlzWmVybyA+PiAxCi0tCi0tCWlzUCB8PSBpc1AgPj4gMTYKLS0J aXNQIHw9IGlzUCA+PiA4Ci0tCWlzUCB8PSBpc1AgPj4gNAotLQlpc1AgfD0gaXNQID4+IDIKLS0J aXNQIHw9IGlzUCA+PiAxCi0tCi0tCS8vIEZvciBpc1plcm8gYW5kIGlzUCwgdGhlIExTQiBpcyAw IGlmZiBhbGwgdGhlIGJpdHMgYXJlIHplcm8uCi0tCXJlc3VsdCA6PSBpc1plcm8gJiBpc1AKLS0J cmVzdWx0ID0gKF5yZXN1bHQpICYgMQotLQotLQlyZXR1cm4gcmVzdWx0Ci0tfQotLQotLS8vIHAy MjRBZGQgY29tcHV0ZXMgKm91dCA9IGErYgotLS8vCi0tLy8gYVtpXSArIGJbaV0gPCAyKiozMgot LWZ1bmMgcDIyNEFkZChvdXQsIGEsIGIgKnAyMjRGaWVsZEVsZW1lbnQpIHsKLS0JZm9yIGkgOj0g MDsgaSA8IDg7IGkrKyB7Ci0tCQlvdXRbaV0gPSBhW2ldICsgYltpXQotLQl9Ci0tfQotLQotLWNv bnN0IHR3bzMxcDMgPSAxPDwzMSArIDE8PDMKLS1jb25zdCB0d28zMW0zID0gMTw8MzEgLSAxPDwz Ci0tY29uc3QgdHdvMzFtMTVtMyA9IDE8PDMxIC0gMTw8MTUgLSAxPDwzCi0tCi0tLy8gcDIyNFpl cm9Nb2RQMzEgaXMgMCBtb2QgcCB3aGVyZSBiaXQgMzEgaXMgc2V0IGluIGFsbCBsaW1icyBzbyB0 aGF0IHdlIGNhbgotLS8vIHN1YnRyYWN0IHNtYWxsZXIgYW1vdW50cyB3aXRob3V0IHVuZGVyZmxv dy4gU2VlIHRoZSBzZWN0aW9uICJTdWJ0cmFjdGlvbiIgaW4KLS0vLyBbMV0gZm9yIHJlYXNvbmlu Zy4KLS12YXIgcDIyNFplcm9Nb2RQMzEgPSBbXXVpbnQzMnt0d28zMXAzLCB0d28zMW0zLCB0d28z MW0zLCB0d28zMW0xNW0zLCB0d28zMW0zLCB0d28zMW0zLCB0d28zMW0zLCB0d28zMW0zfQotLQot LS8vIHAyMjRTdWIgY29tcHV0ZXMgKm91dCA9IGEtYgotLS8vCi0tLy8gYVtpXSwgYltpXSA8IDIq KjMwCi0tLy8gb3V0W2ldIDwgMioqMzIKLS1mdW5jIHAyMjRTdWIob3V0LCBhLCBiICpwMjI0Rmll bGRFbGVtZW50KSB7Ci0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJb3V0W2ldID0gYVtp XSArIHAyMjRaZXJvTW9kUDMxW2ldIC0gYltpXQotLQl9Ci0tfQotLQotLS8vIExhcmdlRmllbGRF bGVtZW50IGFsc28gcmVwcmVzZW50cyBhbiBlbGVtZW50IG9mIHRoZSBmaWVsZC4gVGhlIGxpbWJz IGFyZQotLS8vIHN0aWxsIHNwYWNlZCAyOC1iaXRzIGFwYXJ0IGFuZCBpbiBsaXR0bGUtZW5kaWFu IG9yZGVyLiBTbyB0aGUgbGltYnMgYXJlIGF0Ci0tLy8gMCwgMjgsIDU2LCAuLi4sIDM5MiBiaXRz LCBlYWNoIDY0LWJpdHMgd2lkZS4KLS10eXBlIHAyMjRMYXJnZUZpZWxkRWxlbWVudCBbMTVddWlu dDY0Ci0tCi0tY29uc3QgdHdvNjNwMzUgPSAxPDw2MyArIDE8PDM1Ci0tY29uc3QgdHdvNjNtMzUg PSAxPDw2MyAtIDE8PDM1Ci0tY29uc3QgdHdvNjNtMzVtMTkgPSAxPDw2MyAtIDE8PDM1IC0gMTw8 MTkKLS0KLS0vLyBwMjI0WmVyb01vZFA2MyBpcyAwIG1vZCBwIHdoZXJlIGJpdCA2MyBpcyBzZXQg aW4gYWxsIGxpbWJzLiBTZWUgdGhlIHNlY3Rpb24KLS0vLyAiU3VidHJhY3Rpb24iIGluIFsxXSBm b3Igd2h5LgotLXZhciBwMjI0WmVyb01vZFA2MyA9IFs4XXVpbnQ2NHt0d282M3AzNSwgdHdvNjNt MzUsIHR3bzYzbTM1LCB0d282M20zNSwgdHdvNjNtMzVtMTksIHR3bzYzbTM1LCB0d282M20zNSwg dHdvNjNtMzV9Ci0tCi0tY29uc3QgYm90dG9tMTJCaXRzID0gMHhmZmYKLS1jb25zdCBib3R0b20y OEJpdHMgPSAweGZmZmZmZmYKLS0KLS0vLyBwMjI0TXVsIGNvbXB1dGVzICpvdXQgPSBhKmIKLS0v LwotLS8vIGFbaV0gPCAyKioyOSwgYltpXSA8IDIqKjMwIChvciB2aWNlIHZlcnNhKQotLS8vIG91 dFtpXSA8IDIqKjI5Ci0tZnVuYyBwMjI0TXVsKG91dCwgYSwgYiAqcDIyNEZpZWxkRWxlbWVudCwg dG1wICpwMjI0TGFyZ2VGaWVsZEVsZW1lbnQpIHsKLS0JZm9yIGkgOj0gMDsgaSA8IDE1OyBpKysg ewotLQkJdG1wW2ldID0gMAotLQl9Ci0tCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJ Zm9yIGogOj0gMDsgaiA8IDg7IGorKyB7Ci0tCQkJdG1wW2kral0gKz0gdWludDY0KGFbaV0pICog dWludDY0KGJbal0pCi0tCQl9Ci0tCX0KLS0KLS0JcDIyNFJlZHVjZUxhcmdlKG91dCwgdG1wKQot LX0KLS0KLS0vLyBTcXVhcmUgY29tcHV0ZXMgKm91dCA9IGEqYQotLS8vCi0tLy8gYVtpXSA8IDIq KjI5Ci0tLy8gb3V0W2ldIDwgMioqMjkKLS1mdW5jIHAyMjRTcXVhcmUob3V0LCBhICpwMjI0Rmll bGRFbGVtZW50LCB0bXAgKnAyMjRMYXJnZUZpZWxkRWxlbWVudCkgewotLQlmb3IgaSA6PSAwOyBp IDwgMTU7IGkrKyB7Ci0tCQl0bXBbaV0gPSAwCi0tCX0KLS0KLS0JZm9yIGkgOj0gMDsgaSA8IDg7 IGkrKyB7Ci0tCQlmb3IgaiA6PSAwOyBqIDw9IGk7IGorKyB7Ci0tCQkJciA6PSB1aW50NjQoYVtp XSkgKiB1aW50NjQoYVtqXSkKLS0JCQlpZiBpID09IGogewotLQkJCQl0bXBbaStqXSArPSByCi0t CQkJfSBlbHNlIHsKLS0JCQkJdG1wW2kral0gKz0gciA8PCAxCi0tCQkJfQotLQkJfQotLQl9Ci0t Ci0tCXAyMjRSZWR1Y2VMYXJnZShvdXQsIHRtcCkKLS19Ci0tCi0tLy8gUmVkdWNlTGFyZ2UgY29u dmVydHMgYSBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQgdG8gYSBwMjI0RmllbGRFbGVtZW50LgotLS8v Ci0tLy8gaW5baV0gPCAyKio2MgotLWZ1bmMgcDIyNFJlZHVjZUxhcmdlKG91dCAqcDIyNEZpZWxk RWxlbWVudCwgaW4gKnAyMjRMYXJnZUZpZWxkRWxlbWVudCkgewotLQlmb3IgaSA6PSAwOyBpIDwg ODsgaSsrIHsKLS0JCWluW2ldICs9IHAyMjRaZXJvTW9kUDYzW2ldCi0tCX0KLS0KLS0JLy8gRWxp bWluYXRlIHRoZSBjb2VmZmljaWVudHMgYXQgMioqMjI0IGFuZCBncmVhdGVyLgotLQlmb3IgaSA6 PSAxNDsgaSA+PSA4OyBpLS0gewotLQkJaW5baS04XSAtPSBpbltpXQotLQkJaW5baS01XSArPSAo aW5baV0gJiAweGZmZmYpIDw8IDEyCi0tCQlpbltpLTRdICs9IGluW2ldID4+IDE2Ci0tCX0KLS0J aW5bOF0gPSAwCi0tCS8vIGluWzAuLjhdIDwgMioqNjQKLS0KLS0JLy8gQXMgdGhlIHZhbHVlcyBi ZWNvbWUgc21hbGwgZW5vdWdoLCB3ZSBzdGFydCB0byBzdG9yZSB0aGVtIGluIHxvdXR8Ci0tCS8v IGFuZCB1c2UgMzItYml0IG9wZXJhdGlvbnMuCi0tCWZvciBpIDo9IDE7IGkgPCA4OyBpKysgewot LQkJaW5baSsxXSArPSBpbltpXSA+PiAyOAotLQkJb3V0W2ldID0gdWludDMyKGluW2ldICYgYm90 dG9tMjhCaXRzKQotLQl9Ci0tCWluWzBdIC09IGluWzhdCi0tCW91dFszXSArPSB1aW50MzIoaW5b OF0mMHhmZmZmKSA8PCAxMgotLQlvdXRbNF0gKz0gdWludDMyKGluWzhdID4+IDE2KQotLQkvLyBp blswXSA8IDIqKjY0Ci0tCS8vIG91dFszXSA8IDIqKjI5Ci0tCS8vIG91dFs0XSA8IDIqKjI5Ci0t CS8vIG91dFsxLDIsNS4uN10gPCAyKioyOAotLQotLQlvdXRbMF0gPSB1aW50MzIoaW5bMF0gJiBi b3R0b20yOEJpdHMpCi0tCW91dFsxXSArPSB1aW50MzIoKGluWzBdID4+IDI4KSAmIGJvdHRvbTI4 Qml0cykKLS0Jb3V0WzJdICs9IHVpbnQzMihpblswXSA+PiA1NikKLS0JLy8gb3V0WzBdIDwgMioq MjgKLS0JLy8gb3V0WzEuLjRdIDwgMioqMjkKLS0JLy8gb3V0WzUuLjddIDwgMioqMjgKLS19Ci0t Ci0tLy8gUmVkdWNlIHJlZHVjZXMgdGhlIGNvZWZmaWNpZW50cyBvZiBhIHRvIHNtYWxsZXIgYm91 bmRzLgotLS8vCi0tLy8gT24gZW50cnk6IGFbaV0gPCAyKiozMSArIDIqKjMwCi0tLy8gT24gZXhp dDogYVtpXSA8IDIqKjI5Ci0tZnVuYyBwMjI0UmVkdWNlKGEgKnAyMjRGaWVsZEVsZW1lbnQpIHsK LS0JZm9yIGkgOj0gMDsgaSA8IDc7IGkrKyB7Ci0tCQlhW2krMV0gKz0gYVtpXSA+PiAyOAotLQkJ YVtpXSAmPSBib3R0b20yOEJpdHMKLS0JfQotLQl0b3AgOj0gYVs3XSA+PiAyOAotLQlhWzddICY9 IGJvdHRvbTI4Qml0cwotLQotLQkvLyB0b3AgPCAyKio0Ci0tCW1hc2sgOj0gdG9wCi0tCW1hc2sg fD0gbWFzayA+PiAyCi0tCW1hc2sgfD0gbWFzayA+PiAxCi0tCW1hc2sgPDw9IDMxCi0tCW1hc2sg PSB1aW50MzIoaW50MzIobWFzaykgPj4gMzEpCi0tCS8vIE1hc2sgaXMgYWxsIG9uZXMgaWYgdG9w ICE9IDAsIGFsbCB6ZXJvIG90aGVyd2lzZQotLQotLQlhWzBdIC09IHRvcAotLQlhWzNdICs9IHRv cCA8PCAxMgotLQotLQkvLyBXZSBtYXkgaGF2ZSBqdXN0IG1hZGUgYVswXSBuZWdhdGl2ZSBidXQs IGlmIHdlIGRpZCwgdGhlbiB3ZSBtdXN0Ci0tCS8vIGhhdmUgYWRkZWQgc29tZXRoaW5nIHRvIGFb M10sIHRoaXMgaXQncyA+IDIqKjEyLiBUaGVyZWZvcmUgd2UgY2FuCi0tCS8vIGNhcnJ5IGRvd24g dG8gYVswXS4KLS0JYVszXSAtPSAxICYgbWFzawotLQlhWzJdICs9IG1hc2sgJiAoMTw8MjggLSAx KQotLQlhWzFdICs9IG1hc2sgJiAoMTw8MjggLSAxKQotLQlhWzBdICs9IG1hc2sgJiAoMSA8PCAy OCkKLS19Ci0tCi0tLy8gcDIyNEludmVydCBjYWxjdWxhdGVzICpvdXQgPSBpbioqLTEgYnkgY29t cHV0aW5nIGluKiooMioqMjI0IC0gMioqOTYgLSAxKSwKLS0vLyBpLmUuIEZlcm1hdCdzIGxpdHRs ZSB0aGVvcmVtLgotLWZ1bmMgcDIyNEludmVydChvdXQsIGluICpwMjI0RmllbGRFbGVtZW50KSB7 Ci0tCXZhciBmMSwgZjIsIGYzLCBmNCBwMjI0RmllbGRFbGVtZW50Ci0tCXZhciBjIHAyMjRMYXJn ZUZpZWxkRWxlbWVudAotLQotLQlwMjI0U3F1YXJlKCZmMSwgaW4sICZjKSAgICAvLyAyCi0tCXAy MjRNdWwoJmYxLCAmZjEsIGluLCAmYykgIC8vIDIqKjIgLSAxCi0tCXAyMjRTcXVhcmUoJmYxLCAm ZjEsICZjKSAgIC8vIDIqKjMgLSAyCi0tCXAyMjRNdWwoJmYxLCAmZjEsIGluLCAmYykgIC8vIDIq KjMgLSAxCi0tCXAyMjRTcXVhcmUoJmYyLCAmZjEsICZjKSAgIC8vIDIqKjQgLSAyCi0tCXAyMjRT cXVhcmUoJmYyLCAmZjIsICZjKSAgIC8vIDIqKjUgLSA0Ci0tCXAyMjRTcXVhcmUoJmYyLCAmZjIs ICZjKSAgIC8vIDIqKjYgLSA4Ci0tCXAyMjRNdWwoJmYxLCAmZjEsICZmMiwgJmMpIC8vIDIqKjYg LSAxCi0tCXAyMjRTcXVhcmUoJmYyLCAmZjEsICZjKSAgIC8vIDIqKjcgLSAyCi0tCWZvciBpIDo9 IDA7IGkgPCA1OyBpKysgeyAgIC8vIDIqKjEyIC0gMioqNgotLQkJcDIyNFNxdWFyZSgmZjIsICZm MiwgJmMpCi0tCX0KLS0JcDIyNE11bCgmZjIsICZmMiwgJmYxLCAmYykgLy8gMioqMTIgLSAxCi0t CXAyMjRTcXVhcmUoJmYzLCAmZjIsICZjKSAgIC8vIDIqKjEzIC0gMgotLQlmb3IgaSA6PSAwOyBp IDwgMTE7IGkrKyB7ICAvLyAyKioyNCAtIDIqKjEyCi0tCQlwMjI0U3F1YXJlKCZmMywgJmYzLCAm YykKLS0JfQotLQlwMjI0TXVsKCZmMiwgJmYzLCAmZjIsICZjKSAvLyAyKioyNCAtIDEKLS0JcDIy NFNxdWFyZSgmZjMsICZmMiwgJmMpICAgLy8gMioqMjUgLSAyCi0tCWZvciBpIDo9IDA7IGkgPCAy MzsgaSsrIHsgIC8vIDIqKjQ4IC0gMioqMjQKLS0JCXAyMjRTcXVhcmUoJmYzLCAmZjMsICZjKQot LQl9Ci0tCXAyMjRNdWwoJmYzLCAmZjMsICZmMiwgJmMpIC8vIDIqKjQ4IC0gMQotLQlwMjI0U3F1 YXJlKCZmNCwgJmYzLCAmYykgICAvLyAyKio0OSAtIDIKLS0JZm9yIGkgOj0gMDsgaSA8IDQ3OyBp KysgeyAgLy8gMioqOTYgLSAyKio0OAotLQkJcDIyNFNxdWFyZSgmZjQsICZmNCwgJmMpCi0tCX0K LS0JcDIyNE11bCgmZjMsICZmMywgJmY0LCAmYykgLy8gMioqOTYgLSAxCi0tCXAyMjRTcXVhcmUo JmY0LCAmZjMsICZjKSAgIC8vIDIqKjk3IC0gMgotLQlmb3IgaSA6PSAwOyBpIDwgMjM7IGkrKyB7 ICAvLyAyKioxMjAgLSAyKioyNAotLQkJcDIyNFNxdWFyZSgmZjQsICZmNCwgJmMpCi0tCX0KLS0J cDIyNE11bCgmZjIsICZmNCwgJmYyLCAmYykgLy8gMioqMTIwIC0gMQotLQlmb3IgaSA6PSAwOyBp IDwgNjsgaSsrIHsgICAvLyAyKioxMjYgLSAyKio2Ci0tCQlwMjI0U3F1YXJlKCZmMiwgJmYyLCAm YykKLS0JfQotLQlwMjI0TXVsKCZmMSwgJmYxLCAmZjIsICZjKSAvLyAyKioxMjYgLSAxCi0tCXAy MjRTcXVhcmUoJmYxLCAmZjEsICZjKSAgIC8vIDIqKjEyNyAtIDIKLS0JcDIyNE11bCgmZjEsICZm MSwgaW4sICZjKSAgLy8gMioqMTI3IC0gMQotLQlmb3IgaSA6PSAwOyBpIDwgOTc7IGkrKyB7ICAv LyAyKioyMjQgLSAyKio5NwotLQkJcDIyNFNxdWFyZSgmZjEsICZmMSwgJmMpCi0tCX0KLS0JcDIy NE11bChvdXQsICZmMSwgJmYzLCAmYykgLy8gMioqMjI0IC0gMioqOTYgLSAxCi0tfQotLQotLS8v IHAyMjRDb250cmFjdCBjb252ZXJ0cyBhIEZpZWxkRWxlbWVudCB0byBpdHMgdW5pcXVlLCBtaW5p bWFsIGZvcm0uCi0tLy8KLS0vLyBPbiBlbnRyeSwgaW5baV0gPCAyKioyOQotLS8vIE9uIGV4aXQs IGluW2ldIDwgMioqMjgKLS1mdW5jIHAyMjRDb250cmFjdChvdXQsIGluICpwMjI0RmllbGRFbGVt ZW50KSB7Ci0tCWNvcHkob3V0WzpdLCBpbls6XSkKLS0KLS0JZm9yIGkgOj0gMDsgaSA8IDc7IGkr KyB7Ci0tCQlvdXRbaSsxXSArPSBvdXRbaV0gPj4gMjgKLS0JCW91dFtpXSAmPSBib3R0b20yOEJp dHMKLS0JfQotLQl0b3AgOj0gb3V0WzddID4+IDI4Ci0tCW91dFs3XSAmPSBib3R0b20yOEJpdHMK LS0KLS0Jb3V0WzBdIC09IHRvcAotLQlvdXRbM10gKz0gdG9wIDw8IDEyCi0tCi0tCS8vIFdlIG1h eSBqdXN0IGhhdmUgbWFkZSBvdXRbaV0gbmVnYXRpdmUuIFNvIHdlIGNhcnJ5IGRvd24uIElmIHdl IG1hZGUKLS0JLy8gb3V0WzBdIG5lZ2F0aXZlIHRoZW4gd2Uga25vdyB0aGF0IG91dFszXSBpcyBz dWZmaWNpZW50bHkgcG9zaXRpdmUKLS0JLy8gYmVjYXVzZSB3ZSBqdXN0IGFkZGVkIHRvIGl0Lgot LQlmb3IgaSA6PSAwOyBpIDwgMzsgaSsrIHsKLS0JCW1hc2sgOj0gdWludDMyKGludDMyKG91dFtp XSkgPj4gMzEpCi0tCQlvdXRbaV0gKz0gKDEgPDwgMjgpICYgbWFzawotLQkJb3V0W2krMV0gLT0g MSAmIG1hc2sKLS0JfQotLQotLQkvLyBXZSBtaWdodCBoYXZlIHB1c2hlZCBvdXRbM10gb3ZlciAy KioyOCBzbyB3ZSBwZXJmb3JtIGFub3RoZXIsIHBhcnRpYWwsCi0tCS8vIGNhcnJ5IGNoYWluLgot LQlmb3IgaSA6PSAzOyBpIDwgNzsgaSsrIHsKLS0JCW91dFtpKzFdICs9IG91dFtpXSA+PiAyOAot LQkJb3V0W2ldICY9IGJvdHRvbTI4Qml0cwotLQl9Ci0tCXRvcCA9IG91dFs3XSA+PiAyOAotLQlv dXRbN10gJj0gYm90dG9tMjhCaXRzCi0tCi0tCS8vIEVsaW1pbmF0ZSB0b3Agd2hpbGUgbWFpbnRh aW5pbmcgdGhlIHNhbWUgdmFsdWUgbW9kIHAuCi0tCW91dFswXSAtPSB0b3AKLS0Jb3V0WzNdICs9 IHRvcCA8PCAxMgotLQotLQkvLyBUaGVyZSBhcmUgdHdvIGNhc2VzIHRvIGNvbnNpZGVyIGZvciBv dXRbM106Ci0tCS8vICAgMSkgVGhlIGZpcnN0IHRpbWUgdGhhdCB3ZSBlbGltaW5hdGVkIHRvcCwg d2UgZGlkbid0IHB1c2ggb3V0WzNdIG92ZXIKLS0JLy8gICAgICAyKioyOC4gSW4gdGhpcyBjYXNl LCB0aGUgcGFydGlhbCBjYXJyeSBjaGFpbiBkaWRuJ3QgY2hhbmdlIGFueSB2YWx1ZXMKLS0JLy8g ICAgICBhbmQgdG9wIGlzIHplcm8uCi0tCS8vICAgMikgV2UgZGlkIHB1c2ggb3V0WzNdIG92ZXIg MioqMjggdGhlIGZpcnN0IHRpbWUgdGhhdCB3ZSBlbGltaW5hdGVkIHRvcC4KLS0JLy8gICAgICBU aGUgZmlyc3QgdmFsdWUgb2YgdG9wIHdhcyBpbiBbMC4uMTYpLCB0aGVyZWZvcmUsIHByaW9yIHRv IGVsaW1pbmF0aW5nCi0tCS8vICAgICAgdGhlIGZpcnN0IHRvcCwgMHhmZmYxMDAwIDw9IG91dFsz XSA8PSAweGZmZmZmZmYuIFRoZXJlZm9yZSwgYWZ0ZXIKLS0JLy8gICAgICBvdmVyZmxvd2luZyBh bmQgYmVpbmcgcmVkdWNlZCBieSB0aGUgc2Vjb25kIGNhcnJ5IGNoYWluLCBvdXRbM10gPD0KLS0J Ly8gICAgICAweGYwMDAuIFRodXMgaXQgY2Fubm90IGhhdmUgb3ZlcmZsb3dlZCB3aGVuIHdlIGVs aW1pbmF0ZWQgdG9wIGZvciB0aGUKLS0JLy8gICAgICBzZWNvbmQgdGltZS4KLS0KLS0JLy8gQWdh aW4sIHdlIG1heSBqdXN0IGhhdmUgbWFkZSBvdXRbMF0gbmVnYXRpdmUsIHNvIGRvIHRoZSBzYW1l IGNhcnJ5IGRvd24uCi0tCS8vIEFzIGJlZm9yZSwgaWYgd2UgbWFkZSBvdXRbMF0gbmVnYXRpdmUg dGhlbiB3ZSBrbm93IHRoYXQgb3V0WzNdIGlzCi0tCS8vIHN1ZmZpY2llbnRseSBwb3NpdGl2ZS4K LS0JZm9yIGkgOj0gMDsgaSA8IDM7IGkrKyB7Ci0tCQltYXNrIDo9IHVpbnQzMihpbnQzMihvdXRb aV0pID4+IDMxKQotLQkJb3V0W2ldICs9ICgxIDw8IDI4KSAmIG1hc2sKLS0JCW91dFtpKzFdIC09 IDEgJiBtYXNrCi0tCX0KLS0KLS0JLy8gTm93IHdlIHNlZSBpZiB0aGUgdmFsdWUgaXMgPj0gcCBh bmQsIGlmIHNvLCBzdWJ0cmFjdCBwLgotLQotLQkvLyBGaXJzdCB3ZSBidWlsZCBhIG1hc2sgZnJv bSB0aGUgdG9wIGZvdXIgbGltYnMsIHdoaWNoIG11c3QgYWxsIGJlCi0tCS8vIGVxdWFsIHRvIGJv dHRvbTI4Qml0cyBpZiB0aGUgd2hvbGUgdmFsdWUgaXMgPj0gcC4gSWYgdG9wNEFsbE9uZXMKLS0J Ly8gZW5kcyB1cCB3aXRoIGFueSB6ZXJvIGJpdHMgaW4gdGhlIGJvdHRvbSAyOCBiaXRzLCB0aGVu IHRoaXMgd2Fzbid0Ci0tCS8vIHRydWUuCi0tCXRvcDRBbGxPbmVzIDo9IHVpbnQzMigweGZmZmZm ZmZmKQotLQlmb3IgaSA6PSA0OyBpIDwgODsgaSsrIHsKLS0JCXRvcDRBbGxPbmVzICY9IG91dFtp XQotLQl9Ci0tCXRvcDRBbGxPbmVzIHw9IDB4ZjAwMDAwMDAKLS0JLy8gTm93IHdlIHJlcGxpY2F0 ZSBhbnkgemVybyBiaXRzIHRvIGFsbCB0aGUgYml0cyBpbiB0b3A0QWxsT25lcy4KLS0JdG9wNEFs bE9uZXMgJj0gdG9wNEFsbE9uZXMgPj4gMTYKLS0JdG9wNEFsbE9uZXMgJj0gdG9wNEFsbE9uZXMg Pj4gOAotLQl0b3A0QWxsT25lcyAmPSB0b3A0QWxsT25lcyA+PiA0Ci0tCXRvcDRBbGxPbmVzICY9 IHRvcDRBbGxPbmVzID4+IDIKLS0JdG9wNEFsbE9uZXMgJj0gdG9wNEFsbE9uZXMgPj4gMQotLQl0 b3A0QWxsT25lcyA9IHVpbnQzMihpbnQzMih0b3A0QWxsT25lczw8MzEpID4+IDMxKQotLQotLQkv LyBOb3cgd2UgdGVzdCB3aGV0aGVyIHRoZSBib3R0b20gdGhyZWUgbGltYnMgYXJlIG5vbi16ZXJv LgotLQlib3R0b20zTm9uWmVybyA6PSBvdXRbMF0gfCBvdXRbMV0gfCBvdXRbMl0KLS0JYm90dG9t M05vblplcm8gfD0gYm90dG9tM05vblplcm8gPj4gMTYKLS0JYm90dG9tM05vblplcm8gfD0gYm90 dG9tM05vblplcm8gPj4gOAotLQlib3R0b20zTm9uWmVybyB8PSBib3R0b20zTm9uWmVybyA+PiA0 Ci0tCWJvdHRvbTNOb25aZXJvIHw9IGJvdHRvbTNOb25aZXJvID4+IDIKLS0JYm90dG9tM05vblpl cm8gfD0gYm90dG9tM05vblplcm8gPj4gMQotLQlib3R0b20zTm9uWmVybyA9IHVpbnQzMihpbnQz Mihib3R0b20zTm9uWmVybzw8MzEpID4+IDMxKQotLQotLQkvLyBFdmVyeXRoaW5nIGRlcGVuZHMg b24gdGhlIHZhbHVlIG9mIG91dFszXS4KLS0JLy8gICAgSWYgaXQncyA+IDB4ZmZmZjAwMCBhbmQg dG9wNEFsbE9uZXMgIT0gMCB0aGVuIHRoZSB3aG9sZSB2YWx1ZSBpcyA+PSBwCi0tCS8vICAgIElm IGl0J3MgPSAweGZmZmYwMDAgYW5kIHRvcDRBbGxPbmVzICE9IDAgYW5kIGJvdHRvbTNOb25aZXJv ICE9IDAsCi0tCS8vICAgICAgdGhlbiB0aGUgd2hvbGUgdmFsdWUgaXMgPj0gcAotLQkvLyAgICBJ ZiBpdCdzIDwgMHhmZmZmMDAwLCB0aGVuIHRoZSB3aG9sZSB2YWx1ZSBpcyA8IHAKLS0JbiA6PSBv dXRbM10gLSAweGZmZmYwMDAKLS0Jb3V0M0VxdWFsIDo9IG4KLS0Jb3V0M0VxdWFsIHw9IG91dDNF cXVhbCA+PiAxNgotLQlvdXQzRXF1YWwgfD0gb3V0M0VxdWFsID4+IDgKLS0Jb3V0M0VxdWFsIHw9 IG91dDNFcXVhbCA+PiA0Ci0tCW91dDNFcXVhbCB8PSBvdXQzRXF1YWwgPj4gMgotLQlvdXQzRXF1 YWwgfD0gb3V0M0VxdWFsID4+IDEKLS0Jb3V0M0VxdWFsID0gXnVpbnQzMihpbnQzMihvdXQzRXF1 YWw8PDMxKSA+PiAzMSkKLS0KLS0JLy8gSWYgb3V0WzNdID4gMHhmZmZmMDAwIHRoZW4gbidzIE1T QiB3aWxsIGJlIHplcm8uCi0tCW91dDNHVCA6PSBedWludDMyKGludDMyKG4pID4+IDMxKQotLQot LQltYXNrIDo9IHRvcDRBbGxPbmVzICYgKChvdXQzRXF1YWwgJiBib3R0b20zTm9uWmVybykgfCBv dXQzR1QpCi0tCW91dFswXSAtPSAxICYgbWFzawotLQlvdXRbM10gLT0gMHhmZmZmMDAwICYgbWFz awotLQlvdXRbNF0gLT0gMHhmZmZmZmZmICYgbWFzawotLQlvdXRbNV0gLT0gMHhmZmZmZmZmICYg bWFzawotLQlvdXRbNl0gLT0gMHhmZmZmZmZmICYgbWFzawotLQlvdXRbN10gLT0gMHhmZmZmZmZm ICYgbWFzawotLX0KLS0KLS0vLyBHcm91cCBlbGVtZW50IGZ1bmN0aW9ucy4KLS0vLwotLS8vIFRo ZXNlIGZ1bmN0aW9ucyBkZWFsIHdpdGggZ3JvdXAgZWxlbWVudHMuIFRoZSBncm91cCBpcyBhbiBl bGxpcHRpYyBjdXJ2ZQotLS8vIGdyb3VwIHdpdGggYSA9IC0zIGRlZmluZWQgaW4gRklQUyAxODYt Mywgc2VjdGlvbiBELjIuMi4KLS0KLS0vLyBwMjI0QWRkSmFjb2JpYW4gY29tcHV0ZXMgKm91dCA9 IGErYiB3aGVyZSBhICE9IGIuCi0tZnVuYyBwMjI0QWRkSmFjb2JpYW4oeDMsIHkzLCB6MywgeDEs IHkxLCB6MSwgeDIsIHkyLCB6MiAqcDIyNEZpZWxkRWxlbWVudCkgewotLQkvLyBTZWUgaHR0cDov L2h5cGVyZWxsaXB0aWMub3JnL0VGRC9nMXAvYXV0by1zaG9ydHctamFjb2JpYW4tMy5odG1sI2Fk ZGl0aW9uLXAyMjRBZGQtMjAwNy1ibAotLQl2YXIgejF6MSwgejJ6MiwgdTEsIHUyLCBzMSwgczIs IGgsIGksIGosIHIsIHYgcDIyNEZpZWxkRWxlbWVudAotLQl2YXIgYyBwMjI0TGFyZ2VGaWVsZEVs ZW1lbnQKLS0KLS0JejFJc1plcm8gOj0gcDIyNElzWmVybyh6MSkKLS0JejJJc1plcm8gOj0gcDIy NElzWmVybyh6MikKLS0KLS0JLy8gWjFaMSA9IFoxwrIKLS0JcDIyNFNxdWFyZSgmejF6MSwgejEs ICZjKQotLQkvLyBaMloyID0gWjLCsgotLQlwMjI0U3F1YXJlKCZ6MnoyLCB6MiwgJmMpCi0tCS8v IFUxID0gWDEqWjJaMgotLQlwMjI0TXVsKCZ1MSwgeDEsICZ6MnoyLCAmYykKLS0JLy8gVTIgPSBY MipaMVoxCi0tCXAyMjRNdWwoJnUyLCB4MiwgJnoxejEsICZjKQotLQkvLyBTMSA9IFkxKloyKloy WjIKLS0JcDIyNE11bCgmczEsIHoyLCAmejJ6MiwgJmMpCi0tCXAyMjRNdWwoJnMxLCB5MSwgJnMx LCAmYykKLS0JLy8gUzIgPSBZMipaMSpaMVoxCi0tCXAyMjRNdWwoJnMyLCB6MSwgJnoxejEsICZj KQotLQlwMjI0TXVsKCZzMiwgeTIsICZzMiwgJmMpCi0tCS8vIEggPSBVMi1VMQotLQlwMjI0U3Vi KCZoLCAmdTIsICZ1MSkKLS0JcDIyNFJlZHVjZSgmaCkKLS0JeEVxdWFsIDo9IHAyMjRJc1plcm8o JmgpCi0tCS8vIEkgPSAoMipIKcKyCi0tCWZvciBqIDo9IDA7IGogPCA4OyBqKysgewotLQkJaVtq XSA9IGhbal0gPDwgMQotLQl9Ci0tCXAyMjRSZWR1Y2UoJmkpCi0tCXAyMjRTcXVhcmUoJmksICZp LCAmYykKLS0JLy8gSiA9IEgqSQotLQlwMjI0TXVsKCZqLCAmaCwgJmksICZjKQotLQkvLyByID0g MiooUzItUzEpCi0tCXAyMjRTdWIoJnIsICZzMiwgJnMxKQotLQlwMjI0UmVkdWNlKCZyKQotLQl5 RXF1YWwgOj0gcDIyNElzWmVybygmcikKLS0JaWYgeEVxdWFsID09IDEgJiYgeUVxdWFsID09IDEg JiYgejFJc1plcm8gPT0gMCAmJiB6MklzWmVybyA9PSAwIHsKLS0JCXAyMjREb3VibGVKYWNvYmlh bih4MywgeTMsIHozLCB4MSwgeTEsIHoxKQotLQkJcmV0dXJuCi0tCX0KLS0JZm9yIGkgOj0gMDsg aSA8IDg7IGkrKyB7Ci0tCQlyW2ldIDw8PSAxCi0tCX0KLS0JcDIyNFJlZHVjZSgmcikKLS0JLy8g ViA9IFUxKkkKLS0JcDIyNE11bCgmdiwgJnUxLCAmaSwgJmMpCi0tCS8vIFozID0gKChaMStaMinC si1aMVoxLVoyWjIpKkgKLS0JcDIyNEFkZCgmejF6MSwgJnoxejEsICZ6MnoyKQotLQlwMjI0QWRk KCZ6MnoyLCB6MSwgejIpCi0tCXAyMjRSZWR1Y2UoJnoyejIpCi0tCXAyMjRTcXVhcmUoJnoyejIs ICZ6MnoyLCAmYykKLS0JcDIyNFN1Yih6MywgJnoyejIsICZ6MXoxKQotLQlwMjI0UmVkdWNlKHoz KQotLQlwMjI0TXVsKHozLCB6MywgJmgsICZjKQotLQkvLyBYMyA9IHLCsi1KLTIqVgotLQlmb3Ig aSA6PSAwOyBpIDwgODsgaSsrIHsKLS0JCXoxejFbaV0gPSB2W2ldIDw8IDEKLS0JfQotLQlwMjI0 QWRkKCZ6MXoxLCAmaiwgJnoxejEpCi0tCXAyMjRSZWR1Y2UoJnoxejEpCi0tCXAyMjRTcXVhcmUo eDMsICZyLCAmYykKLS0JcDIyNFN1Yih4MywgeDMsICZ6MXoxKQotLQlwMjI0UmVkdWNlKHgzKQot LQkvLyBZMyA9IHIqKFYtWDMpLTIqUzEqSgotLQlmb3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKLS0J CXMxW2ldIDw8PSAxCi0tCX0KLS0JcDIyNE11bCgmczEsICZzMSwgJmosICZjKQotLQlwMjI0U3Vi KCZ6MXoxLCAmdiwgeDMpCi0tCXAyMjRSZWR1Y2UoJnoxejEpCi0tCXAyMjRNdWwoJnoxejEsICZ6 MXoxLCAmciwgJmMpCi0tCXAyMjRTdWIoeTMsICZ6MXoxLCAmczEpCi0tCXAyMjRSZWR1Y2UoeTMp Ci0tCi0tCXAyMjRDb3B5Q29uZGl0aW9uYWwoeDMsIHgyLCB6MUlzWmVybykKLS0JcDIyNENvcHlD b25kaXRpb25hbCh4MywgeDEsIHoySXNaZXJvKQotLQlwMjI0Q29weUNvbmRpdGlvbmFsKHkzLCB5 MiwgejFJc1plcm8pCi0tCXAyMjRDb3B5Q29uZGl0aW9uYWwoeTMsIHkxLCB6MklzWmVybykKLS0J cDIyNENvcHlDb25kaXRpb25hbCh6MywgejIsIHoxSXNaZXJvKQotLQlwMjI0Q29weUNvbmRpdGlv bmFsKHozLCB6MSwgejJJc1plcm8pCi0tfQotLQotLS8vIHAyMjREb3VibGVKYWNvYmlhbiBjb21w dXRlcyAqb3V0ID0gYSthLgotLWZ1bmMgcDIyNERvdWJsZUphY29iaWFuKHgzLCB5MywgejMsIHgx LCB5MSwgejEgKnAyMjRGaWVsZEVsZW1lbnQpIHsKLS0JdmFyIGRlbHRhLCBnYW1tYSwgYmV0YSwg YWxwaGEsIHQgcDIyNEZpZWxkRWxlbWVudAotLQl2YXIgYyBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQK LS0KLS0JcDIyNFNxdWFyZSgmZGVsdGEsIHoxLCAmYykKLS0JcDIyNFNxdWFyZSgmZ2FtbWEsIHkx LCAmYykKLS0JcDIyNE11bCgmYmV0YSwgeDEsICZnYW1tYSwgJmMpCi0tCi0tCS8vIGFscGhhID0g MyooWDEtZGVsdGEpKihYMStkZWx0YSkKLS0JcDIyNEFkZCgmdCwgeDEsICZkZWx0YSkKLS0JZm9y IGkgOj0gMDsgaSA8IDg7IGkrKyB7Ci0tCQl0W2ldICs9IHRbaV0gPDwgMQotLQl9Ci0tCXAyMjRS ZWR1Y2UoJnQpCi0tCXAyMjRTdWIoJmFscGhhLCB4MSwgJmRlbHRhKQotLQlwMjI0UmVkdWNlKCZh bHBoYSkKLS0JcDIyNE11bCgmYWxwaGEsICZhbHBoYSwgJnQsICZjKQotLQotLQkvLyBaMyA9IChZ MStaMSnCsi1nYW1tYS1kZWx0YQotLQlwMjI0QWRkKHozLCB5MSwgejEpCi0tCXAyMjRSZWR1Y2Uo ejMpCi0tCXAyMjRTcXVhcmUoejMsIHozLCAmYykKLS0JcDIyNFN1Yih6MywgejMsICZnYW1tYSkK LS0JcDIyNFJlZHVjZSh6MykKLS0JcDIyNFN1Yih6MywgejMsICZkZWx0YSkKLS0JcDIyNFJlZHVj ZSh6MykKLS0KLS0JLy8gWDMgPSBhbHBoYcKyLTgqYmV0YQotLQlmb3IgaSA6PSAwOyBpIDwgODsg aSsrIHsKLS0JCWRlbHRhW2ldID0gYmV0YVtpXSA8PCAzCi0tCX0KLS0JcDIyNFJlZHVjZSgmZGVs dGEpCi0tCXAyMjRTcXVhcmUoeDMsICZhbHBoYSwgJmMpCi0tCXAyMjRTdWIoeDMsIHgzLCAmZGVs dGEpCi0tCXAyMjRSZWR1Y2UoeDMpCi0tCi0tCS8vIFkzID0gYWxwaGEqKDQqYmV0YS1YMyktOCpn YW1tYcKyCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewotLQkJYmV0YVtpXSA8PD0gMgotLQl9 Ci0tCXAyMjRTdWIoJmJldGEsICZiZXRhLCB4MykKLS0JcDIyNFJlZHVjZSgmYmV0YSkKLS0JcDIy NFNxdWFyZSgmZ2FtbWEsICZnYW1tYSwgJmMpCi0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewot LQkJZ2FtbWFbaV0gPDw9IDMKLS0JfQotLQlwMjI0UmVkdWNlKCZnYW1tYSkKLS0JcDIyNE11bCh5 MywgJmFscGhhLCAmYmV0YSwgJmMpCi0tCXAyMjRTdWIoeTMsIHkzLCAmZ2FtbWEpCi0tCXAyMjRS ZWR1Y2UoeTMpCi0tfQotLQotLS8vIHAyMjRDb3B5Q29uZGl0aW9uYWwgc2V0cyAqb3V0ID0gKmlu IGlmZiB0aGUgbGVhc3Qtc2lnbmlmaWNhbnQtYml0IG9mIGNvbnRyb2wKLS0vLyBpcyB0cnVlLCBh bmQgaXQgcnVucyBpbiBjb25zdGFudCB0aW1lLgotLWZ1bmMgcDIyNENvcHlDb25kaXRpb25hbChv dXQsIGluICpwMjI0RmllbGRFbGVtZW50LCBjb250cm9sIHVpbnQzMikgewotLQljb250cm9sIDw8 PSAzMQotLQljb250cm9sID0gdWludDMyKGludDMyKGNvbnRyb2wpID4+IDMxKQotLQotLQlmb3Ig aSA6PSAwOyBpIDwgODsgaSsrIHsKLS0JCW91dFtpXSBePSAob3V0W2ldIF4gaW5baV0pICYgY29u dHJvbAotLQl9Ci0tfQotLQotLWZ1bmMgcDIyNFNjYWxhck11bHQob3V0WCwgb3V0WSwgb3V0Wiwg aW5YLCBpblksIGluWiAqcDIyNEZpZWxkRWxlbWVudCwgc2NhbGFyIFtdYnl0ZSkgewotLQl2YXIg eHgsIHl5LCB6eiBwMjI0RmllbGRFbGVtZW50Ci0tCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewot LQkJb3V0WFtpXSA9IDAKLS0JCW91dFlbaV0gPSAwCi0tCQlvdXRaW2ldID0gMAotLQl9Ci0tCi0t CWZvciBfLCBieXRlIDo9IHJhbmdlIHNjYWxhciB7Ci0tCQlmb3IgYml0TnVtIDo9IHVpbnQoMCk7 IGJpdE51bSA8IDg7IGJpdE51bSsrIHsKLS0JCQlwMjI0RG91YmxlSmFjb2JpYW4ob3V0WCwgb3V0 WSwgb3V0Wiwgb3V0WCwgb3V0WSwgb3V0WikKLS0JCQliaXQgOj0gdWludDMyKChieXRlID4+ICg3 IC0gYml0TnVtKSkgJiAxKQotLQkJCXAyMjRBZGRKYWNvYmlhbigmeHgsICZ5eSwgJnp6LCBpblgs IGluWSwgaW5aLCBvdXRYLCBvdXRZLCBvdXRaKQotLQkJCXAyMjRDb3B5Q29uZGl0aW9uYWwob3V0 WCwgJnh4LCBiaXQpCi0tCQkJcDIyNENvcHlDb25kaXRpb25hbChvdXRZLCAmeXksIGJpdCkKLS0J CQlwMjI0Q29weUNvbmRpdGlvbmFsKG91dFosICZ6eiwgYml0KQotLQkJfQotLQl9Ci0tfQotLQot LS8vIHAyMjRUb0FmZmluZSBjb252ZXJ0cyBmcm9tIEphY29iaWFuIHRvIGFmZmluZSBmb3JtLgot LWZ1bmMgcDIyNFRvQWZmaW5lKHgsIHksIHogKnAyMjRGaWVsZEVsZW1lbnQpICgqYmlnLkludCwg KmJpZy5JbnQpIHsKLS0JdmFyIHppbnYsIHppbnZzcSwgb3V0eCwgb3V0eSBwMjI0RmllbGRFbGVt ZW50Ci0tCXZhciB0bXAgcDIyNExhcmdlRmllbGRFbGVtZW50Ci0tCi0tCWlmIGlzUG9pbnRBdElu ZmluaXR5IDo9IHAyMjRJc1plcm8oeik7IGlzUG9pbnRBdEluZmluaXR5ID09IDEgewotLQkJcmV0 dXJuIG5ldyhiaWcuSW50KSwgbmV3KGJpZy5JbnQpCi0tCX0KLS0KLS0JcDIyNEludmVydCgmemlu diwgeikKLS0JcDIyNFNxdWFyZSgmemludnNxLCAmemludiwgJnRtcCkKLS0JcDIyNE11bCh4LCB4 LCAmemludnNxLCAmdG1wKQotLQlwMjI0TXVsKCZ6aW52c3EsICZ6aW52c3EsICZ6aW52LCAmdG1w KQotLQlwMjI0TXVsKHksIHksICZ6aW52c3EsICZ0bXApCi0tCi0tCXAyMjRDb250cmFjdCgmb3V0 eCwgeCkKLS0JcDIyNENvbnRyYWN0KCZvdXR5LCB5KQotLQlyZXR1cm4gcDIyNFRvQmlnKCZvdXR4 KSwgcDIyNFRvQmlnKCZvdXR5KQotLX0KLS0KLS0vLyBnZXQyOEJpdHNGcm9tRW5kIHJldHVybnMg dGhlIGxlYXN0LXNpZ25pZmljYW50IDI4IGJpdHMgZnJvbSBidWY+PnNoaWZ0LAotLS8vIHdoZXJl IGJ1ZiBpcyBpbnRlcnByZXRlZCBhcyBhIGJpZy1lbmRpYW4gbnVtYmVyLgotLWZ1bmMgZ2V0MjhC aXRzRnJvbUVuZChidWYgW11ieXRlLCBzaGlmdCB1aW50KSAodWludDMyLCBbXWJ5dGUpIHsKLS0J dmFyIHJldCB1aW50MzIKLS0KLS0JZm9yIGkgOj0gdWludCgwKTsgaSA8IDQ7IGkrKyB7Ci0tCQl2 YXIgYiBieXRlCi0tCQlpZiBsIDo9IGxlbihidWYpOyBsID4gMCB7Ci0tCQkJYiA9IGJ1ZltsLTFd Ci0tCQkJLy8gV2UgZG9uJ3QgcmVtb3ZlIHRoZSBieXRlIGlmIHdlJ3JlIGFib3V0IHRvIHJldHVy biBhbmQgd2UncmUgbm90Ci0tCQkJLy8gcmVhZGluZyBhbGwgb2YgaXQuCi0tCQkJaWYgaSAhPSAz IHx8IHNoaWZ0ID09IDQgewotLQkJCQlidWYgPSBidWZbOmwtMV0KLS0JCQl9Ci0tCQl9Ci0tCQly ZXQgfD0gdWludDMyKGIpIDw8ICg4ICogaSkgPj4gc2hpZnQKLS0JfQotLQlyZXQgJj0gYm90dG9t MjhCaXRzCi0tCXJldHVybiByZXQsIGJ1ZgotLX0KLS0KLS0vLyBwMjI0RnJvbUJpZyBzZXRzICpv dXQgPSAqaW4uCi0tZnVuYyBwMjI0RnJvbUJpZyhvdXQgKnAyMjRGaWVsZEVsZW1lbnQsIGluICpi aWcuSW50KSB7Ci0tCWJ5dGVzIDo9IGluLkJ5dGVzKCkKLS0Jb3V0WzBdLCBieXRlcyA9IGdldDI4 Qml0c0Zyb21FbmQoYnl0ZXMsIDApCi0tCW91dFsxXSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5k KGJ5dGVzLCA0KQotLQlvdXRbMl0sIGJ5dGVzID0gZ2V0MjhCaXRzRnJvbUVuZChieXRlcywgMCkK LS0Jb3V0WzNdLCBieXRlcyA9IGdldDI4Qml0c0Zyb21FbmQoYnl0ZXMsIDQpCi0tCW91dFs0XSwg Ynl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCAwKQotLQlvdXRbNV0sIGJ5dGVzID0gZ2V0 MjhCaXRzRnJvbUVuZChieXRlcywgNCkKLS0Jb3V0WzZdLCBieXRlcyA9IGdldDI4Qml0c0Zyb21F bmQoYnl0ZXMsIDApCi0tCW91dFs3XSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCA0 KQotLX0KLS0KLS0vLyBwMjI0VG9CaWcgcmV0dXJucyBpbiBhcyBhIGJpZy5JbnQuCi0tZnVuYyBw MjI0VG9CaWcoaW4gKnAyMjRGaWVsZEVsZW1lbnQpICpiaWcuSW50IHsKLS0JdmFyIGJ1ZiBbMjhd Ynl0ZQotLQlidWZbMjddID0gYnl0ZShpblswXSkKLS0JYnVmWzI2XSA9IGJ5dGUoaW5bMF0gPj4g OCkKLS0JYnVmWzI1XSA9IGJ5dGUoaW5bMF0gPj4gMTYpCi0tCWJ1ZlsyNF0gPSBieXRlKCgoaW5b MF0gPj4gMjQpICYgMHgwZikgfCAoaW5bMV08PDQpJjB4ZjApCi0tCi0tCWJ1ZlsyM10gPSBieXRl KGluWzFdID4+IDQpCi0tCWJ1ZlsyMl0gPSBieXRlKGluWzFdID4+IDEyKQotLQlidWZbMjFdID0g Ynl0ZShpblsxXSA+PiAyMCkKLS0KLS0JYnVmWzIwXSA9IGJ5dGUoaW5bMl0pCi0tCWJ1ZlsxOV0g PSBieXRlKGluWzJdID4+IDgpCi0tCWJ1ZlsxOF0gPSBieXRlKGluWzJdID4+IDE2KQotLQlidWZb MTddID0gYnl0ZSgoKGluWzJdID4+IDI0KSAmIDB4MGYpIHwgKGluWzNdPDw0KSYweGYwKQotLQot LQlidWZbMTZdID0gYnl0ZShpblszXSA+PiA0KQotLQlidWZbMTVdID0gYnl0ZShpblszXSA+PiAx MikKLS0JYnVmWzE0XSA9IGJ5dGUoaW5bM10gPj4gMjApCi0tCi0tCWJ1ZlsxM10gPSBieXRlKGlu WzRdKQotLQlidWZbMTJdID0gYnl0ZShpbls0XSA+PiA4KQotLQlidWZbMTFdID0gYnl0ZShpbls0 XSA+PiAxNikKLS0JYnVmWzEwXSA9IGJ5dGUoKChpbls0XSA+PiAyNCkgJiAweDBmKSB8IChpbls1 XTw8NCkmMHhmMCkKLS0KLS0JYnVmWzldID0gYnl0ZShpbls1XSA+PiA0KQotLQlidWZbOF0gPSBi eXRlKGluWzVdID4+IDEyKQotLQlidWZbN10gPSBieXRlKGluWzVdID4+IDIwKQotLQotLQlidWZb Nl0gPSBieXRlKGluWzZdKQotLQlidWZbNV0gPSBieXRlKGluWzZdID4+IDgpCi0tCWJ1Zls0XSA9 IGJ5dGUoaW5bNl0gPj4gMTYpCi0tCWJ1ZlszXSA9IGJ5dGUoKChpbls2XSA+PiAyNCkgJiAweDBm KSB8IChpbls3XTw8NCkmMHhmMCkKLS0KLS0JYnVmWzJdID0gYnl0ZShpbls3XSA+PiA0KQotLQli dWZbMV0gPSBieXRlKGluWzddID4+IDEyKQotLQlidWZbMF0gPSBieXRlKGluWzddID4+IDIwKQot LQotLQlyZXR1cm4gbmV3KGJpZy5JbnQpLlNldEJ5dGVzKGJ1Zls6XSkKLS19Ci0tLS0gbGliZ28v Z28vY3J5cHRvL2VsbGlwdGljL3AyMjRfdGVzdC5nby5qagkyMDE0LTAyLTE4IDE4OjAzOjMxLjYx NTU5ODU2MSArMDEwMAotKysrIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjI0X3Rlc3QuZ28J MjAxNC0wMi0xNSAxMTo0MDo1Ni4xOTE1NTc5MjggKzAxMDAKLUBAIC0xLDQ3ICswLDAgQEAKLS0v LyBDb3B5cmlnaHQgMjAxMiBUaGUgR28gQXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0t Ly8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUKLS0v LyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tCi0tcGFj a2FnZSBlbGxpcHRpYwotLQotLWltcG9ydCAoCi0tCSJtYXRoL2JpZyIKLS0JInRlc3RpbmciCi0t KQotLQotLXZhciB0b0Zyb21CaWdUZXN0cyA9IFtdc3RyaW5newotLQkiMCIsCi0tCSIxIiwKLS0J IjIzIiwKLS0JImI3MGUwY2I0NmJiNGJmN2YzMjEzOTBiOTRhMDNjMWQzNTZjMDExMjIzNDMyODBk NjEwNWMxZDIxIiwKLS0JIjcwNmE0NmQ0NzZkY2I3Njc5OGU2MDQ2ZDg5NDc0Nzg4ZDE2NGMxODAz MmQyNjhmZDEwNzA0ZmE2IiwKLS19Ci0tCi0tZnVuYyBwMjI0QWx0ZXJuYXRpdmVUb0JpZyhpbiAq cDIyNEZpZWxkRWxlbWVudCkgKmJpZy5JbnQgewotLQlyZXQgOj0gbmV3KGJpZy5JbnQpCi0tCXRt cCA6PSBuZXcoYmlnLkludCkKLS0KLS0JZm9yIGkgOj0gdWludCgwKTsgaSA8IDg7IGkrKyB7Ci0t CQl0bXAuU2V0SW50NjQoaW50NjQoaW5baV0pKQotLQkJdG1wLkxzaCh0bXAsIDI4KmkpCi0tCQly ZXQuQWRkKHJldCwgdG1wKQotLQl9Ci0tCXJldC5Nb2QocmV0LCBwMjI0LlApCi0tCXJldHVybiBy ZXQKLS19Ci0tCi0tZnVuYyBUZXN0VG9Gcm9tQmlnKHQgKnRlc3RpbmcuVCkgewotLQlmb3IgaSwg dGVzdCA6PSByYW5nZSB0b0Zyb21CaWdUZXN0cyB7Ci0tCQluLCBfIDo9IG5ldyhiaWcuSW50KS5T ZXRTdHJpbmcodGVzdCwgMTYpCi0tCQl2YXIgeCBwMjI0RmllbGRFbGVtZW50Ci0tCQlwMjI0RnJv bUJpZygmeCwgbikKLS0JCW0gOj0gcDIyNFRvQmlnKCZ4KQotLQkJaWYgbi5DbXAobSkgIT0gMCB7 Ci0tCQkJdC5FcnJvcmYoIiMlZDogJXggIT0gJXgiLCBpLCBuLCBtKQotLQkJfQotLQkJcSA6PSBw MjI0QWx0ZXJuYXRpdmVUb0JpZygmeCkKLS0JCWlmIG4uQ21wKHEpICE9IDAgewotLQkJCXQuRXJy b3JmKCIjJWQ6ICV4ICE9ICV4IChhbHRlcm5hdGl2ZSkiLCBpLCBuLCBtKQotLQkJfQotLQl9Ci0t fQoKZGlmZiAtLWdpdCBhL2djYzQ4LWxpYmdvbXAtb21wX2gtbXVsdGlsaWIucGF0Y2ggYi9nY2M0 OC1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBkMGU5OGQxLi4wMDAwMDAwCi0tLSBhL2djYzQ4LWxpYmdvbXAtb21wX2gtbXVsdGlsaWIu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi0yMDA4LTA2LTA5ICBKYWt1YiBK ZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogb21wLmguaW4gKG9tcF9uZXN0X2xvY2tf dCk6IEZpeCB1cCBmb3IgTGludXggbXVsdGlsaWJzLgotCi0tLS0gbGliZ29tcC9vbXAuaC5pbi5q agkyMDA4LTA2LTA5IDEzOjM0OjA1LjAwMDAwMDAwMCArMDIwMAotKysrIGxpYmdvbXAvb21wLmgu aW4JMjAwOC0wNi0wOSAxMzozNDo0OC4wMDAwMDAwMDAgKzAyMDAKLUBAIC00Miw4ICs0Miw4IEBA IHR5cGVkZWYgc3RydWN0Ci0gCi0gdHlwZWRlZiBzdHJ1Y3QKLSB7Ci0tICB1bnNpZ25lZCBjaGFy IF94W0BPTVBfTkVTVF9MT0NLX1NJWkVAXSAKLS0gICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVk X18oQE9NUF9ORVNUX0xPQ0tfQUxJR05AKSkpOwotKyAgdW5zaWduZWQgY2hhciBfeFs4ICsgc2l6 ZW9mICh2b2lkICopXSAKLSsgICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mICh2 b2lkICopKSkpOwotIH0gb21wX25lc3RfbG9ja190OwotICNlbmRpZgotIAoKZGlmZiAtLWdpdCBh L2djYzQ4LWxpYnN0ZGMrKy1kb2NzLnBhdGNoIGIvZ2NjNDgtbGlic3RkYysrLWRvY3MucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmODdlYTUuLjAwMDAwMDAKLS0tIGEvZ2Nj NDgtbGlic3RkYysrLWRvY3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0t LS0gbGlic3RkYysrLXYzL2RvYy9odG1sL2luZGV4Lmh0bWwuamoJMjAxMS0wMS0wMyAxMjo1Mzoy MS4yODI4MjkwMTAgKzAxMDAKLSsrKyBsaWJzdGRjKystdjMvZG9jL2h0bWwvaW5kZXguaHRtbAky MDExLTAxLTA0IDE4OjA2OjI4Ljk5OTg1MTE0NSArMDEwMAotQEAgLTUsNiArNSw4IEBACi0gICAg ICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy8iIHRhcmdldD0iX3Rv cCI+RlNGCi0gICAgICAgPC9hPgotICAgICA8L3A+PHA+Ci0rICAgICAgUmVsZWFzZSA0LjguMQot KyAgICA8L3A+PHA+Ci0gICAgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3Ry aWJ1dGUgYW5kL29yIG1vZGlmeSB0aGlzCi0gICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgRnJlZSBEb2N1bWVudGF0aW9uCi0gICAgICAgTGljZW5zZSwgVmVyc2lvbiAx LjIgb3IgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZQotLS0tIGxpYnN0ZGMrKy12 My9kb2MvaHRtbC9hcGkuaHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjAwMDAwMDAwMCArMDEw MAotKysrIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9hcGkuaHRtbAkyMDExLTAxLTA0IDE4OjEyOjAx LjY3Mjc1Nzc4NCArMDEwMAotQEAgLTE4LDggKzE4LDExIEBACi0gICBtZW1iZXIgZnVuY3Rpb25z IGZvciB0aGUgbGlicmFyeSBjbGFzc2VzLCBmaW5kaW5nIG91dCB3aGF0IGlzIGluIGEKLSAgIHBh cnRpY3VsYXIgaW5jbHVkZSBmaWxlLCBsb29raW5nIGF0IGluaGVyaXRhbmNlIGRpYWdyYW1zLCBl dGMuCi0gPC9wPjxwPgotLSAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5kZXJlZCBpbnRvIEhU TUwsIGNhbiBiZSB2aWV3ZWQgb25saW5lOgotKyAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5k ZXJlZCBpbnRvIEhUTUwsIGNhbiBiZSB2aWV3ZWQgaGVyZToKLSA8L3A+PGRpdiBjbGFzcz0iaXRl bWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlw ZTogZGlzYzsgIj48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KLSsgICAgICA8YSBjbGFzcz0ibGlu ayIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSA0LjguMSByZWxl YXNlLCBsb2NhbAotKyAgICAgIDwvYT4KLSsgICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRl bSI+PHA+Ci0gICAgICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9v bmxpbmVkb2NzL2xpYnN0ZGMrKy9saWJzdGRjKystaHRtbC1VU0VSUy0zLjQvaW5kZXguaHRtbCIg dGFyZ2V0PSJfdG9wIj5mb3IgdGhlIDMuNCByZWxlYXNlCi0gICAgICAgPC9hPgotICAgICA8L3A+ PC9saT48bGkgY2xhc3M9Imxpc3RpdGVtIj48cD4KCmRpZmYgLS1naXQgYS9nY2M0OC1saWJ0b29s LW5vLXJwYXRoLnBhdGNoIGIvZ2NjNDgtbGlidG9vbC1uby1ycGF0aC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNDY2YzY2MS4uMDAwMDAwMAotLS0gYS9nY2M0OC1saWJ0b29s LW5vLXJwYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotbGlidG9vbCBz dWNrcy4KLS0tLSBsdG1haW4uc2guamoJMjAwNy0xMi0wNyAxNDo1MzoyMS4wMDAwMDAwMDAgKzAx MDAKLSsrKyBsdG1haW4uc2gJMjAwOC0wOS0wNSAyMTo1MTo0OC4wMDAwMDAwMDAgKzAyMDAKLUBA IC01Mzk0LDYgKzUzOTQsNyBAQCBFT0YKLSAJICBycGF0aD0iJGZpbmFsaXplX3JwYXRoIgotIAkg IHRlc3QgIiRtb2RlIiAhPSByZWxpbmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgot IAkgIGZvciBsaWJkaXIgaW4gJHJwYXRoOyBkbwotKwkgICAgY2FzZSAiJGxpYmRpciIgaW4gL3Vz ci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIvLi4vbGliNjQpIGNvbnRp bnVlOzsgZXNhYwotIAkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMi OyB0aGVuCi0gCSAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsg dGhlbgotIAkJaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCi1AQCAtNjA3MSw2 ICs2MDcyLDcgQEAgRU9GCi0gICAgICAgcnBhdGg9Ci0gICAgICAgaGFyZGNvZGVfbGliZGlycz0K LSAgICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8K LSsJY2FzZSAiJGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8 L3Vzci9saWIvLi4vbGliNjQpIGNvbnRpbnVlOzsgZXNhYwotIAlpZiB0ZXN0IC1uICIkaGFyZGNv ZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KLSAJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGli ZGlyX3NlcGFyYXRvciI7IHRoZW4KLSAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJz IjsgdGhlbgotQEAgLTYxMjAsNiArNjEyMiw3IEBAIEVPRgotICAgICAgIHJwYXRoPQotICAgICAg IGhhcmRjb2RlX2xpYmRpcnM9Ci0gICAgICAgZm9yIGxpYmRpciBpbiAkZmluYWxpemVfcnBhdGg7 IGRvCi0rCWNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9saWIvLi4v bGlifC91c3IvbGliLy4uL2xpYjY0KSBjb250aW51ZTs7IGVzYWMKLSAJaWYgdGVzdCAtbiAiJGhh cmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCi0gCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2Rl X2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCi0gCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGli ZGlycyI7IHRoZW4KCmRpZmYgLS1naXQgYS9nY2M0OC1uby1hZGQtbmVlZGVkLnBhdGNoIGIvZ2Nj NDgtbm8tYWRkLW5lZWRlZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZj YTc3Ny4uMDAwMDAwMAotLS0gYS9nY2M0OC1uby1hZGQtbmVlZGVkLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsNTAgKzAsMCBAQAotMjAxMC0wMi0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRA cmVkaGF0LmNvbT4KLQotCSogY29uZmlnL3JzNjAwMC9zeXN2NC5oIChMSU5LX0VIX1NQRUMpOiBQ YXNzIC0tbm8tYWRkLW5lZWRlZCB0byB0aGUKLQlsaW5rZXIuCi0JKiBjb25maWcvZ251LXVzZXIu aCAoTElOS19FSF9TUEVDKTogTGlrZXdpc2UuCi0JKiBjb25maWcvYWxwaGEvZWxmLmggKExJTktf RUhfU1BFQyk6IExpa2V3aXNlLgotCSogY29uZmlnL2lhNjQvbGludXguaCAoTElOS19FSF9TUEVD KTogTGlrZXdpc2UuCi0KLS0tLSBnY2MvY29uZmlnL2FscGhhL2VsZi5oLmpqCTIwMTEtMDEtMDMg MTI6NTI6MzEuMTE4MDU2NzY0ICswMTAwCi0rKysgZ2NjL2NvbmZpZy9hbHBoYS9lbGYuaAkyMDEx LTAxLTA0IDE4OjE0OjEwLjkzMTg3NDE2MCArMDEwMAotQEAgLTE2NSw1ICsxNjUsNSBAQCBleHRl cm4gaW50IGFscGhhX3RoaXNfZ3BkaXNwX3NlcXVlbmNlX251Ci0gICAgSSBpbWFnaW5lIHRoYXQg b3RoZXIgc3lzdGVtcyB3aWxsIGNhdGNoIHVwLiAgSW4gdGhlIG1lYW50aW1lLCBpdAotICAgIGRv ZXNuJ3QgaGFybSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZGF0YSBleGlzdHMgdG8gYmUgdXNlZCBs YXRlci4gICovCi0gI2lmIGRlZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIpCi0tI2RlZmluZSBM SU5LX0VIX1NQRUMgIiV7IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgotKyNkZWZpbmUgTElOS19F SF9TUEVDICItLW5vLWFkZC1uZWVkZWQgJXshc3RhdGljOi0tZWgtZnJhbWUtaGRyfSAiCi0gI2Vu ZGlmCi0tLS0gZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmguamoJMjAxMS0wMS0wMyAxMzowMjoxMS40 NjI5OTQ1MjIgKzAxMDAKLSsrKyBnY2MvY29uZmlnL2lhNjQvbGludXguaAkyMDExLTAxLTA0IDE4 OjE0OjEwLjkzMTg3NDE2MCArMDEwMAotQEAgLTc3LDcgKzc3LDcgQEAgZG8gewkJCQkJCVwKLSAg ICBTaWduYWxpemUgdGhhdCBiZWNhdXNlIHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVk IGFsbCBDIHNoYXJlZCBsaWJzCi0gICAgbGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCi0gI3Vu ZGVmIExJTktfRUhfU1BFQwotLSNkZWZpbmUgTElOS19FSF9TUEVDICIiCi0rI2RlZmluZSBMSU5L X0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAiCi0gCi0gLyogUHV0IGFsbCAqdGYgcm91dGluZXMg aW4gbGliZ2NjLiAgKi8KLSAjdW5kZWYgTElCR0NDMl9IQVNfVEZfTU9ERQotLS0tIGdjYy9jb25m aWcvZ251LXVzZXIuaC5qagkyMDExLTAxLTAzIDEyOjUzOjAzLjczOTA1NzI5OSArMDEwMAotKysr IGdjYy9jb25maWcvZ251LXVzZXIuaAkyMDExLTAxLTA0IDE4OjE0OjEwLjkzMjgxNDg4NCArMDEw MAotQEAgLTgyLDcgKzgyLDcgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5S VU5USQotICNkZWZpbmUgTElCX1NQRUMgR05VX1VTRVJfVEFSR0VUX0xJQl9TUEVDCi0gCi0gI2lm IGRlZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIpCi0tI2RlZmluZSBMSU5LX0VIX1NQRUMgIiV7 IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgotKyNkZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFk ZC1uZWVkZWQgJXshc3RhdGljOi0tZWgtZnJhbWUtaGRyfSAiCi0gI2VuZGlmCi0gCi0gI3VuZGVm IExJTktfR0NDX0NfU0VRVUVOQ0VfU1BFQwotLS0tIGdjYy9jb25maWcvcnM2MDAwL3N5c3Y0Lmgu amoJMjAxMS0wMS0wMyAxMzowMjoxOC4yNTU5OTQyMTUgKzAxMDAKLSsrKyBnY2MvY29uZmlnL3Jz NjAwMC9zeXN2NC5oCTIwMTEtMDEtMDQgMTg6MTQ6MTAuOTMzODg4ODcxICswMTAwCi1AQCAtODIw LDcgKzgyMCw3IEBAIGV4dGVybiBpbnQgZml4dXBsYWJlbG5vOwotICAgLWR5bmFtaWMtbGlua2Vy ICIgR05VX1VTRVJfRFlOQU1JQ19MSU5LRVIgIn19IgotIAotICNpZiBkZWZpbmVkKEhBVkVfTERf RUhfRlJBTUVfSERSKQotLSMgZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJh bWUtaGRyfSAiCi0rIyBkZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVkZWQgJXshc3Rh dGljOi0tZWgtZnJhbWUtaGRyfSAiCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBDUFBfT1NfTElOVVhf U1BFQyAiLURfX3VuaXhfXyAtRF9fZ251X2xpbnV4X18gLURfX2xpbnV4X18gXAoKZGlmZiAtLWdp dCBhL2djYzQ4LXBwYzMyLXJldGFkZHIucGF0Y2ggYi9nY2M0OC1wcGMzMi1yZXRhZGRyLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3ODEyMGNjLi4wMDAwMDAwCi0tLSBhL2dj YzQ4LXBwYzMyLXJldGFkZHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi0y MDA1LTExLTI4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogY29uZmln L3JzNjAwMC9yczYwMDAuYyAocnM2MDAwX3JldHVybl9hZGRyKTogSWYgQ09VTlQgPT0gMCwKLQly ZWFkIHdvcmQgUkVUVVJOX0FERFJFU1NfT0ZGU0VUIGJ5dGVzIGFib3ZlIGFyZ19wb2ludGVyX3J0 eAotCWluc3RlYWQgb2YgZG9pbmcgYW4gZXh0cmFuIGluZGlyZWN0aW9uIGZyb20gZnJhbWVfcG9p bnRlcl9ydHguCi0KLQkqIGdjYy5kZy8yMDA1MTEyOC0xLmM6IE5ldyB0ZXN0LgotCi0tLS0gZ2Nj L2NvbmZpZy9yczYwMDAvcnM2MDAwLmMuamoJMjAwNS0xMS0yNiAxNDozODowMS4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwkyMDA1LTExLTI4IDIwOjMyOjE4 LjAwMDAwMDAwMCArMDEwMAotQEAgLTE4MzI1LDE4ICsxODMyNSwyMiBAQCByczYwMDBfcmV0dXJu X2FkZHIgKGludCBjb3VudCwgcnR4IGZyYW1lCi0gICAgICBkb24ndCB0cnkgdG8gYmUgdG9vIGNs ZXZlciBoZXJlLiAgKi8KLSAgIGlmIChjb3VudCAhPSAwIHx8IChERUZBVUxUX0FCSSAhPSBBQklf QUlYICYmIGZsYWdfcGljKSkKLSAgICAgewotKyAgICAgIHJ0eCB4OwotICAgICAgIGNmdW4tPm1h Y2hpbmUtPnJhX25lZWRzX2Z1bGxfZnJhbWUgPSAxOwotIAotLSAgICAgIHJldHVybgotLQlnZW5f cnR4X01FTQotLQkgIChQbW9kZSwKLS0JICAgbWVtb3J5X2FkZHJlc3MKLS0JICAgKFBtb2RlLAot LQkgICAgcGx1c19jb25zdGFudCAoUG1vZGUsCi0tCQkJICAgY29weV90b19yZWcKLS0JCQkgICAo Z2VuX3J0eF9NRU0gKFBtb2RlLAotLQkJCQkJIG1lbW9yeV9hZGRyZXNzIChQbW9kZSwgZnJhbWUp KSksCi0tCQkJICAgUkVUVVJOX0FERFJFU1NfT0ZGU0VUKSkpOwotKyAgICAgIGlmIChjb3VudCA9 PSAwKQotKwl7Ci0rCSAgZ2NjX2Fzc2VydCAoZnJhbWUgPT0gZnJhbWVfcG9pbnRlcl9ydHgpOwot KwkgIHggPSBhcmdfcG9pbnRlcl9ydHg7Ci0rCX0KLSsgICAgICBlbHNlCi0rCXsKLSsJICB4ID0g bWVtb3J5X2FkZHJlc3MgKFBtb2RlLCBmcmFtZSk7Ci0rCSAgeCA9IGNvcHlfdG9fcmVnIChnZW5f cnR4X01FTSAoUG1vZGUsIHgpKTsKLSsJfQotKwotKyAgICAgIHggPSBwbHVzX2NvbnN0YW50IChQ bW9kZSwgeCwgUkVUVVJOX0FERFJFU1NfT0ZGU0VUKTsKLSsgICAgICByZXR1cm4gZ2VuX3J0eF9N RU0gKFBtb2RlLCBtZW1vcnlfYWRkcmVzcyAoUG1vZGUsIHgpKTsKLSAgICAgfQotIAotICAgY2Z1 bi0+bWFjaGluZS0+cmFfbmVlZF9sciA9IDE7Ci0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvMjAw NTExMjgtMS5jLmpqCTIwMDUtMTAtMTAgMTE6MjE6NDEuMDk2OTk5MDAwICswMjAwCi0rKysgZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvMjAwNTExMjgtMS5jCTIwMDUtMTEtMjggMTI6MzA6NTcuMDAwMDAw MDAwICswMTAwCi1AQCAtMCwwICsxLDQxIEBACi0rLyogeyBkZy1kbyBydW4gfSAqLwotKy8qIHsg ZGctb3B0aW9ucyAiLU8yIC1mcGljIiB9ICovCi0rCi0rZXh0ZXJuIHZvaWQgZXhpdCAoaW50KTsK LStleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7Ci0rCi0raW50IGI7Ci0rCi0rc3RydWN0IEEKLSt7 Ci0rICB2b2lkICpwYWRbMTQ3XTsKLSsgIHZvaWQgKnJhLCAqaDsKLSsgIGxvbmcgbzsKLSt9Owot KwotK3ZvaWQKLStfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpCi0rZm9vIChzdHJ1Y3QgQSAqYSwg dm9pZCAqeCkKLSt7Ci0rICBfX2J1aWx0aW5fbWVtc2V0IChhLCAwLCBzaXplb2YgKGEpKTsKLSsg IGlmICghYikKLSsgICAgZXhpdCAoMCk7Ci0rfQotKwotK3ZvaWQKLStfX2F0dHJpYnV0ZV9fKChu b2lubGluZSkpCi0rYmFyICh2b2lkKQotK3sKLSsgIHN0cnVjdCBBIGE7Ci0rCi0rICBfX2J1aWx0 aW5fdW53aW5kX2luaXQgKCk7Ci0rICBmb28gKCZhLCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3Mg KDApKTsKLSt9Ci0rCi0raW50Ci0rbWFpbiAodm9pZCkKLSt7Ci0rICBiYXIgKCk7Ci0rICBhYm9y dCAoKTsKLSsgIHJldHVybiAwOwotK30KCmRpZmYgLS1naXQgYS9nY2M0OC1wcjI4ODY1LnBhdGNo IGIvZ2NjNDgtcHIyODg2NS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGUw N2U5NC4uMDAwMDAwMAotLS0gYS9nY2M0OC1wcjI4ODY1LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMTkwICswLDAgQEAKLTIwMTQtMDEtMTYgIE5pY2sgQ2xpZnRvbiAgPG5pY2tjQHJlZGhhdC5j b20+Ci0KLQlQUiBtaWRkbGUtZW5kLzI4ODY1Ci0JKiB2YXJhc20uYyAob3V0cHV0X2NvbnN0YW50 KTogUmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgYWN0dWFsbHkKLQllbWl0dGVkLgotCShvdXRw dXRfY29uc3RydWN0b3JfYXJyYXlfcmFuZ2UpOiBVcGRhdGUgdGhlIGZpZWxkIHNpemUgd2l0aCB0 aGUKLQludW1iZXIgb2YgYnl0ZXMgZW1pdHRlZCBieSBvdXRwdXRfY29uc3RhbnQuCi0JKG91dHB1 dF9jb25zdHJ1Y3Rvcl9yZWd1bGFyX2ZpZWxkKTogTGlrZXdpc2UuICBBbHNvIGRvIG5vdAotCWNv bXBsYWluIGlmIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgZW1pdHRlZCBpcyBub3cgZ3JlYXRl cgotCXRoYW4gdGhlIGV4cGVjdGVkIGZpZWxkcG9zLgotCSogb3V0cHV0LmggKG91dHB1dF9jb25z dGFudCk6IFVwZGF0ZSBwcm90b3R5cGUgYW5kIGRlc2NyaXB0aXZlCi0JY29tbWVudC4KLQotCSog Z2NjLmMtdG9ydHVyZS9jb21waWxlL3ByMjg4NjUuYzogTmV3LgotCSogZ2NjLmMtdG9ydHVyZS9l eGVjdXRlL3ByMjg4NjUuYzogTmV3LgotCi0tLS0gZ2NjL3ZhcmFzbS5jCShyZXZpc2lvbiAyMDY2 NjApCi0rKysgZ2NjL3ZhcmFzbS5jCShyZXZpc2lvbiAyMDY2NjEpCi1AQCAtNDQ3NCw4ICs0NDc0 LDEwIEBAIHN0YXRpYyB1bnNpZ25lZCBIT1NUX1dJREVfSU5UCi0gICAgVGhpcyBpbmNsdWRlcyB0 aGUgcHNldWRvLW9wIHN1Y2ggYXMgIi5pbnQiIG9yICIuYnl0ZSIsIGFuZCBhIG5ld2xpbmUuCi0g ICAgQXNzdW1lcyBvdXRwdXRfYWRkcmVzc2VkX2NvbnN0YW50cyBoYXMgYmVlbiBkb25lIG9uIEVY UCBhbHJlYWR5LgotIAotLSAgIEdlbmVyYXRlIGV4YWN0bHkgU0laRSBieXRlcyBvZiBhc3NlbWJs ZXIgZGF0YSwgcGFkZGluZyBhdCB0aGUgZW5kCi0tICAgd2l0aCB6ZXJvcyBpZiBuZWNlc3Nhcnku ICBTSVpFIG11c3QgYWx3YXlzIGJlIHNwZWNpZmllZC4KLSsgICBHZW5lcmF0ZSBhdCBsZWFzdCBT SVpFIGJ5dGVzIG9mIGFzc2VtYmxlciBkYXRhLCBwYWRkaW5nIGF0IHRoZSBlbmQKLSsgICB3aXRo IHplcm9zIGlmIG5lY2Vzc2FyeS4gIFNJWkUgbXVzdCBhbHdheXMgYmUgc3BlY2lmaWVkLiAgVGhl IHJldHVybmVkCi0rICAgdmFsdWUgaXMgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgb2YgYXNz ZW1ibGVyIGRhdGEgZ2VuZXJhdGVkLCB3aGljaAotKyAgIG1heSBiZSBiaWdnZXIgdGhhbiBTSVpF IGlmIHRoZSBvYmplY3QgY29udGFpbnMgYSB2YXJpYWJsZSBsZW5ndGggZmllbGQuCi0gCi0gICAg U0laRSBpcyBpbXBvcnRhbnQgZm9yIHN0cnVjdHVyZSBjb25zdHJ1Y3RvcnMsCi0gICAgc2luY2Ug dHJhaWxpbmcgbWVtYmVycyBtYXkgaGF2ZSBiZWVuIG9taXR0ZWQgZnJvbSB0aGUgY29uc3RydWN0 b3IuCi1AQCAtNDQ5MCwxNCArNDQ5MiwxNCBAQCBzdGF0aWMgdW5zaWduZWQgSE9TVF9XSURFX0lO VAotIAotICAgIEFMSUdOIGlzIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRhdGEgaW4gYml0cy4gICov Ci0gCi0tdm9pZAotK3Vuc2lnbmVkIEhPU1RfV0lERV9JTlQKLSBvdXRwdXRfY29uc3RhbnQgKHRy ZWUgZXhwLCB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIHNpemUsIHVuc2lnbmVkIGludCBhbGlnbikK LSB7Ci0gICBlbnVtIHRyZWVfY29kZSBjb2RlOwotICAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCB0 aGlzc2l6ZTsKLSAKLSAgIGlmIChzaXplID09IDAgfHwgZmxhZ19zeW50YXhfb25seSkKLS0gICAg cmV0dXJuOwotKyAgICByZXR1cm4gc2l6ZTsKLSAKLSAgIC8qIFNlZSBpZiB3ZSdyZSB0cnlpbmcg dG8gaW5pdGlhbGl6ZSBhIHBvaW50ZXIgaW4gYSBub24tZGVmYXVsdCBtb2RlCi0gICAgICB0byB0 aGUgYWRkcmVzcyBvZiBzb21lIGRlY2xhcmF0aW9uIHNvbWV3aGVyZS4gIElmIHRoZSB0YXJnZXQg c2F5cwotQEAgLTQ1NjIsNyArNDU2NCw3IEBAIG91dHB1dF9jb25zdGFudCAodHJlZSBleHAsIHVu c2lnbmVkIEhPU1QKLSAgICAgICAmJiB2ZWNfc2FmZV9pc19lbXB0eSAoQ09OU1RSVUNUT1JfRUxU UyAoZXhwKSkpCi0gICAgIHsKLSAgICAgICBhc3NlbWJsZV96ZXJvcyAoc2l6ZSk7Ci0tICAgICAg cmV0dXJuOwotKyAgICAgIHJldHVybiBzaXplOwotICAgICB9Ci0gCi0gICBpZiAoVFJFRV9DT0RF IChleHApID09IEZERVNDX0VYUFIpCi1AQCAtNDU3NCw3ICs0NTc2LDcgQEAgb3V0cHV0X2NvbnN0 YW50ICh0cmVlIGV4cCwgdW5zaWduZWQgSE9TVAotICNlbHNlCi0gICAgICAgZ2NjX3VucmVhY2hh YmxlICgpOwotICNlbmRpZgotLSAgICAgIHJldHVybjsKLSsgICAgICByZXR1cm4gc2l6ZTsKLSAg ICAgfQotIAotICAgLyogTm93IG91dHB1dCB0aGUgdW5kZXJseWluZyBkYXRhLiAgSWYgd2UndmUg aGFuZGxpbmcgdGhlIHBhZGRpbmcsIHJldHVybi4KLUBAIC00NjEyLDggKzQ2MTQsNyBAQCBvdXRw dXRfY29uc3RhbnQgKHRyZWUgZXhwLCB1bnNpZ25lZCBIT1NUCi0gICAgICAgc3dpdGNoIChUUkVF X0NPREUgKGV4cCkpCi0gCXsKLSAJY2FzZSBDT05TVFJVQ1RPUjoKLS0JICAgIG91dHB1dF9jb25z dHJ1Y3RvciAoZXhwLCBzaXplLCBhbGlnbiwgTlVMTCk7Ci0tCSAgcmV0dXJuOwotKwkgIHJldHVy biBvdXRwdXRfY29uc3RydWN0b3IgKGV4cCwgc2l6ZSwgYWxpZ24sIE5VTEwpOwotIAljYXNlIFNU UklOR19DU1Q6Ci0gCSAgdGhpc3NpemUgPSBNSU4gKCh1bnNpZ25lZCBIT1NUX1dJREVfSU5UKVRS RUVfU1RSSU5HX0xFTkdUSCAoZXhwKSwKLSAJCQkgIHNpemUpOwotQEAgLTQ2NDgsMTEgKzQ2NDks MTAgQEAgb3V0cHV0X2NvbnN0YW50ICh0cmVlIGV4cCwgdW5zaWduZWQgSE9TVAotICAgICBjYXNl IFJFQ09SRF9UWVBFOgotICAgICBjYXNlIFVOSU9OX1RZUEU6Ci0gICAgICAgZ2NjX2Fzc2VydCAo VFJFRV9DT0RFIChleHApID09IENPTlNUUlVDVE9SKTsKLS0gICAgICBvdXRwdXRfY29uc3RydWN0 b3IgKGV4cCwgc2l6ZSwgYWxpZ24sIE5VTEwpOwotLSAgICAgIHJldHVybjsKLSsgICAgICByZXR1 cm4gb3V0cHV0X2NvbnN0cnVjdG9yIChleHAsIHNpemUsIGFsaWduLCBOVUxMKTsKLSAKLSAgICAg Y2FzZSBFUlJPUl9NQVJLOgotLSAgICAgIHJldHVybjsKLSsgICAgICByZXR1cm4gMDsKLSAKLSAg ICAgZGVmYXVsdDoKLSAgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7Ci1AQCAtNDY2MCw2ICs0NjYw LDggQEAgb3V0cHV0X2NvbnN0YW50ICh0cmVlIGV4cCwgdW5zaWduZWQgSE9TVAotIAotICAgaWYg KHNpemUgPiB0aGlzc2l6ZSkKLSAgICAgYXNzZW1ibGVfemVyb3MgKHNpemUgLSB0aGlzc2l6ZSk7 Ci0rCi0rICByZXR1cm4gc2l6ZTsKLSB9Ci0gCi0gDAotQEAgLTQ3NTksNyArNDc2MSw3IEBAIG91 dHB1dF9jb25zdHJ1Y3Rvcl9hcnJheV9yYW5nZSAob2NfbG9jYWwKLSAgICAgICBpZiAobG9jYWwt PnZhbCA9PSBOVUxMX1RSRUUpCi0gCWFzc2VtYmxlX3plcm9zIChmaWVsZHNpemUpOwotICAgICAg IGVsc2UKLS0Jb3V0cHV0X2NvbnN0YW50IChsb2NhbC0+dmFsLCBmaWVsZHNpemUsIGFsaWduMik7 Ci0rCWZpZWxkc2l6ZSA9IG91dHB1dF9jb25zdGFudCAobG9jYWwtPnZhbCwgZmllbGRzaXplLCBh bGlnbjIpOwotIAotICAgICAgIC8qIENvdW50IGl0cyBzaXplLiAgKi8KLSAgICAgICBsb2NhbC0+ dG90YWxfYnl0ZXMgKz0gZmllbGRzaXplOwotQEAgLTQ4MDgsOSArNDgxMCw4IEBAIG91dHB1dF9j b25zdHJ1Y3Rvcl9yZWd1bGFyX2ZpZWxkIChvY19sb2MKLSAgICAgIE5vdGUgbm8gYWxpZ25tZW50 IG5lZWRlZCBpbiBhbiBhcnJheSwgc2luY2UgdGhhdCBpcyBndWFyYW50ZWVkCi0gICAgICBpZiBl YWNoIGVsZW1lbnQgaGFzIHRoZSBwcm9wZXIgc2l6ZS4gICovCi0gICBpZiAoKGxvY2FsLT5maWVs ZCAhPSBOVUxMX1RSRUUgfHwgbG9jYWwtPmluZGV4ICE9IE5VTExfVFJFRSkKLS0gICAgICAmJiBm aWVsZHBvcyAhPSBsb2NhbC0+dG90YWxfYnl0ZXMpCi0rICAgICAgJiYgZmllbGRwb3MgPiBsb2Nh bC0+dG90YWxfYnl0ZXMpCi0gICAgIHsKLS0gICAgICBnY2NfYXNzZXJ0IChmaWVsZHBvcyA+PSBs b2NhbC0+dG90YWxfYnl0ZXMpOwotICAgICAgIGFzc2VtYmxlX3plcm9zIChmaWVsZHBvcyAtIGxv Y2FsLT50b3RhbF9ieXRlcyk7Ci0gICAgICAgbG9jYWwtPnRvdGFsX2J5dGVzID0gZmllbGRwb3M7 Ci0gICAgIH0KLUBAIC00ODQ3LDcgKzQ4NDgsNyBAQCBvdXRwdXRfY29uc3RydWN0b3JfcmVndWxh cl9maWVsZCAob2NfbG9jCi0gICBpZiAobG9jYWwtPnZhbCA9PSBOVUxMX1RSRUUpCi0gICAgIGFz c2VtYmxlX3plcm9zIChmaWVsZHNpemUpOwotICAgZWxzZQotLSAgICBvdXRwdXRfY29uc3RhbnQg KGxvY2FsLT52YWwsIGZpZWxkc2l6ZSwgYWxpZ24yKTsKLSsgICAgZmllbGRzaXplID0gb3V0cHV0 X2NvbnN0YW50IChsb2NhbC0+dmFsLCBmaWVsZHNpemUsIGFsaWduMik7Ci0gCi0gICAvKiBDb3Vu dCBpdHMgc2l6ZS4gICovCi0gICBsb2NhbC0+dG90YWxfYnl0ZXMgKz0gZmllbGRzaXplOwotLS0t IGdjYy9vdXRwdXQuaAkocmV2aXNpb24gMjA2NjYwKQotKysrIGdjYy9vdXRwdXQuaAkocmV2aXNp b24gMjA2NjYxKQotQEAgLTI5NCwxMSArMjk0LDEzIEBAIGV4dGVybiB2b2lkIG91dHB1dF9xdW90 ZWRfc3RyaW5nIChGSUxFICoKLSAgICBUaGlzIGluY2x1ZGVzIHRoZSBwc2V1ZG8tb3Agc3VjaCBh cyAiLmludCIgb3IgIi5ieXRlIiwgYW5kIGEgbmV3bGluZS4KLSAgICBBc3N1bWVzIG91dHB1dF9h ZGRyZXNzZWRfY29uc3RhbnRzIGhhcyBiZWVuIGRvbmUgb24gRVhQIGFscmVhZHkuCi0gCi0tICAg R2VuZXJhdGUgZXhhY3RseSBTSVpFIGJ5dGVzIG9mIGFzc2VtYmxlciBkYXRhLCBwYWRkaW5nIGF0 IHRoZSBlbmQKLS0gICB3aXRoIHplcm9zIGlmIG5lY2Vzc2FyeS4gIFNJWkUgbXVzdCBhbHdheXMg YmUgc3BlY2lmaWVkLgotKyAgIEdlbmVyYXRlIGF0IGxlYXN0IFNJWkUgYnl0ZXMgb2YgYXNzZW1i bGVyIGRhdGEsIHBhZGRpbmcgYXQgdGhlIGVuZAotKyAgIHdpdGggemVyb3MgaWYgbmVjZXNzYXJ5 LiAgU0laRSBtdXN0IGFsd2F5cyBiZSBzcGVjaWZpZWQuICBUaGUgcmV0dXJuZWQKLSsgICB2YWx1 ZSBpcyB0aGUgYWN0dWFsIG51bWJlciBvZiBieXRlcyBvZiBhc3NlbWJsZXIgZGF0YSBnZW5lcmF0 ZWQsIHdoaWNoCi0rICAgbWF5IGJlIGJpZ2dlciB0aGFuIFNJWkUgaWYgdGhlIG9iamVjdCBjb250 YWlucyBhIHZhcmlhYmxlIGxlbmd0aCBmaWVsZC4KLSAKLSAgICBBTElHTiBpcyB0aGUgYWxpZ25t ZW50IGluIGJpdHMgdGhhdCBtYXkgYmUgYXNzdW1lZCBmb3IgdGhlIGRhdGEuICAqLwotLWV4dGVy biB2b2lkIG91dHB1dF9jb25zdGFudCAodHJlZSwgdW5zaWduZWQgSE9TVF9XSURFX0lOVCwgdW5z aWduZWQgaW50KTsKLStleHRlcm4gdW5zaWduZWQgSE9TVF9XSURFX0lOVCBvdXRwdXRfY29uc3Rh bnQgKHRyZWUsIHVuc2lnbmVkIEhPU1RfV0lERV9JTlQsIHVuc2lnbmVkIGludCk7Ci0gCi0gLyog V2hlbiBvdXRwdXR0aW5nIGRlbGF5ZWQgYnJhbmNoIHNlcXVlbmNlcywgdGhpcyBydHggaG9sZHMg dGhlCi0gICAgc2VxdWVuY2UgYmVpbmcgb3V0cHV0LiAgSXQgaXMgbnVsbCB3aGVuIG5vIGRlbGF5 ZWQgYnJhbmNoCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2V4ZWN1dGUvcHIyODg2 NS5jCShyZXZpc2lvbiAwKQotKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmMtdG9ydHVyZS9leGVjdXRl L3ByMjg4NjUuYwkocmV2aXNpb24gMjA2NjYxKQotQEAgLTAsMCArMSwyMSBAQAotK3N0cnVjdCBB IHsgaW50IGE7IGNoYXIgYltdOyB9OwotK3VuaW9uIEIgeyBzdHJ1Y3QgQSBhOyBjaGFyIGJbc2l6 ZW9mIChzdHJ1Y3QgQSkgKyAzMV07IH07Ci0rdW5pb24gQiBiID0geyB7IDEsICIxMjM0NTY3ODkw MTIzNDU2Nzg5MDEyMzQ1Njc4OTAiIH0gfTsKLSt1bmlvbiBCIGMgPSB7IHsgMiwgIjEyMzQ1Njc4 OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCIgfSB9OwotKwotK19fYXR0cmlidXRlX18oKG5vaW5saW5l LCBub2Nsb25lKSkgdm9pZAotK2ZvbyAoaW50ICp4WzJdKQotK3sKLSsgIHhbMF0gPSAmYi5hLmE7 Ci0rICB4WzFdID0gJmMuYS5hOwotK30KLSsKLStpbnQKLSttYWluICgpCi0rewotKyAgaW50ICp4 WzJdOwotKyAgZm9vICh4KTsKLSsgIGlmICgqeFswXSAhPSAxIHx8ICp4WzFdICE9IDIpCi0rICAg IF9fYnVpbHRpbl9hYm9ydCAoKTsKLSsgIHJldHVybiAwOwotK30KLS0tLSBnY2MvdGVzdHN1aXRl L2djYy5jLXRvcnR1cmUvY29tcGlsZS9wcjI4ODY1LmMJKHJldmlzaW9uIDApCi0rKysgZ2NjL3Rl c3RzdWl0ZS9nY2MuYy10b3J0dXJlL2NvbXBpbGUvcHIyODg2NS5jCShyZXZpc2lvbiAyMDY2NjEp Ci1AQCAtMCwwICsxLDE2IEBACi0rc3RydWN0IHZhcl9sZW4KLSt7Ci0rICBpbnQgZmllbGQxOwot KyAgY29uc3QgY2hhciBmaWVsZDJbXTsKLSt9OwotKwotKy8qIE5vdGUgLSBzdHJpY3RseSBzcGVh a2luZyB0aGlzIGFycmF5IGRlY2xhcmF0aW9uIGlzIGlsbGVnYWwKLSsgICBzaW5jZSBlYWNoIGVs ZW1lbnQgaGFzIGEgdmFyaWFibGUgbGVuZ3RoLiAgR0NDIGFsbG93cyBpdAotKyAgIChmb3IgdGhl IG1vbWVudCkgYmVjYXVzZSBpdCBpcyB1c2VkIGluIGV4aXN0aW5nIGNvZGUsIHN1Y2gKLSsgICBh cyBnbGliYy4gICovCi0rc3RhdGljIGNvbnN0IHN0cnVjdCB2YXJfbGVuIHZhcl9hcnJheVtdID0g Ci0rewotKyAgeyAxLCAiTG9uZyBleHBvc3VyZSBub2lzZSByZWR1Y3Rpb24iIH0sCi0rICB7IDIs ICJTaHV0dGVyL0FFIGxvY2sgYnV0dG9ucyIgfSwKLSsgIHsgMywgIk1pcnJvciBsb2NrdXAiIH0K LSt9OwoKZGlmZiAtLWdpdCBhL2djYzQ4LXByMzg3NTcucGF0Y2ggYi9nY2M0OC1wcjM4NzU3LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjA2NTg0Li4wMDAwMDAwCi0tLSBh L2djYzQ4LXByMzg3NTcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotMjAw OS0wMy0xOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiBkZWJ1Zy8z ODc1NwotCSogbGFuZ2hvb2tzLmggKHN0cnVjdCBsYW5nX2hvb2tzKTogQWRkIHNvdXJjZV9sYW5n dWFnZSBsYW5naG9vay4KLQkqIGxhbmdob29rcy1kZWYuaCAoTEFOR19IT09LU19TT1VSQ0VfTEFO R1VBR0UpOiBEZWZpbmUgdG8gTlVMTC4KLQkoTEFOR19IT09LU19JTklUSUFMSVpFUik6IEFkZCBM QU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRS4KLQkqIGR3YXJmMm91dC5jIChhZGRfcHJvdG90eXBl ZF9hdHRyaWJ1dGUpOiBBZGQgRFdfQVRfcHJvdG90eXBlCi0JYWxzbyBmb3IgRFdfTEFOR197QyxD OTksT2JqQ30uCi0JKGdlbl9jb21waWxlX3VuaXRfZGllKTogVXNlIGxhbmdfaG9va3Muc291cmNl X2xhbmd1YWdlICgpIHRvCi0JZGV0ZXJtaW5lIGlmIERXX0xBTkdfQzk5IG9yIERXX0xBTkdfQzg5 IHNob3VsZCBiZSByZXR1cm5lZC4KLWMvCi0JKiBjLWxhbmcuYyAoY19zb3VyY2VfbGFuZ3VhZ2Up OiBOZXcgZnVuY3Rpb24uCi0JKExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFKTogRGVmaW5lLgot Ci0tLS0gZ2NjL2xhbmdob29rcy5oLmpqCTIwMTEtMDEtMDMgMTI6NTM6MDUuMTI1NzQ1NDUwICsw MTAwCi0rKysgZ2NjL2xhbmdob29rcy5oCTIwMTEtMDEtMDQgMTc6NTk6NDMuMTY2NzQ0OTI2ICsw MTAwCi1AQCAtNDY3LDYgKzQ2NywxMCBAQCBzdHJ1Y3QgbGFuZ19ob29rcwotICAgICAgZ2ltcGxp ZmljYXRpb24uICAqLwotICAgYm9vbCBkZWVwX3Vuc2hhcmluZzsKLSAKLSsgIC8qIFJldHVybiB5 ZWFyIG9mIHRoZSBzb3VyY2UgbGFuZ3VhZ2Ugc3RhbmRhcmQgdmVyc2lvbiBpZiB0aGUgRkUgc3Vw cG9ydHMKLSsgICAgIG11bHRpcGxlIHZlcnNpb25zIG9mIHRoZSBzdGFuZGFyZC4gICovCi0rICBp bnQgKCpzb3VyY2VfbGFuZ3VhZ2UpICh2b2lkKTsKLSsKLSAgIC8qIFdoZW5ldmVyIHlvdSBhZGQg ZW50cmllcyBoZXJlLCBtYWtlIHN1cmUgeW91IGFkanVzdCBsYW5naG9va3MtZGVmLmgKLSAgICAg IGFuZCBsYW5naG9va3MuYyBhY2NvcmRpbmdseS4gICovCi0gfTsKLS0tLSBnY2MvbGFuZ2hvb2tz LWRlZi5oLmpqCTIwMTEtMDEtMDMgMTI6NTM6MDUuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL2xh bmdob29rcy1kZWYuaAkyMDExLTAxLTA0IDE4OjAwOjQ0Ljg1ODg1MTAzMCArMDEwMAotQEAgLTEx OCw2ICsxMTgsNyBAQCBleHRlcm4gdm9pZCBsaGRfb21wX2ZpcnN0cHJpdmF0aXplX3R5cGVfCi0g I2RlZmluZSBMQU5HX0hPT0tTX0JMT0NLX01BWV9GQUxMVEhSVQlob29rX2Jvb2xfY29uc3RfdHJl ZV90cnVlCi0gI2RlZmluZSBMQU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFOVVAJZmFsc2UK LSAjZGVmaW5lIExBTkdfSE9PS1NfREVFUF9VTlNIQVJJTkcJZmFsc2UKLSsjZGVmaW5lIExBTkdf SE9PS1NfU09VUkNFX0xBTkdVQUdFCU5VTEwKLSAKLSAvKiBBdHRyaWJ1dGUgaG9va3MuICAqLwot ICNkZWZpbmUgTEFOR19IT09LU19BVFRSSUJVVEVfVEFCTEUJCU5VTEwKLUBAIC0zMDMsNyArMzA0 LDggQEAgZXh0ZXJuIHZvaWQgbGhkX2VuZF9zZWN0aW9uICh2b2lkKTsKLSAgIExBTkdfSE9PS1Nf RUhfUFJPVEVDVF9DTEVBTlVQX0FDVElPTlMsIFwKLSAgIExBTkdfSE9PS1NfQkxPQ0tfTUFZX0ZB TExUSFJVLCBcCi0gICBMQU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFOVVAsIFwKLS0gIExB TkdfSE9PS1NfREVFUF9VTlNIQVJJTkcgXAotKyAgTEFOR19IT09LU19ERUVQX1VOU0hBUklORywg XAotKyAgTEFOR19IT09LU19TT1VSQ0VfTEFOR1VBR0UgXAotIH0KLSAKLSAjZW5kaWYgLyogR0ND X0xBTkdfSE9PS1NfREVGX0ggKi8KLS0tLSBnY2MvYy9jLWxhbmcuYy5qagkyMDExLTAxLTAzIDEy OjUzOjA1LjM3NjA1NjkzNiArMDEwMAotKysrIGdjYy9jL2MtbGFuZy5jCTIwMTEtMDEtMDQgMTc6 NTk6NDMuMTY3NzQzNzk4ICswMTAwCi1AQCAtMzYsNiArMzYsMTIgQEAgYWxvbmcgd2l0aCBHQ0M7 IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KLSAKLSBlbnVtIGNfbGFuZ3VhZ2Vfa2luZCBjX2xhbmd1 YWdlID0gY2xrX2M7Ci0gCi0rc3RhdGljIGludAotK2Nfc291cmNlX2xhbmd1YWdlICh2b2lkKQot K3sKLSsgIHJldHVybiBmbGFnX2lzb2M5OSA/IDE5OTkgOiAxOTg5OwotK30KLSsKLSAvKiBMYW5n IGhvb2tzIGNvbW1vbiB0byBDIGFuZCBPYmpDIGFyZSBkZWNsYXJlZCBpbiBjLW9iamMtY29tbW9u Lmg7Ci0gICAgY29uc2VxdWVudGx5LCB0aGVyZSBzaG91bGQgYmUgdmVyeSBmZXcgaG9va3MgYmVs b3cuICAqLwotIAotQEAgLTQ1LDYgKzUxLDggQEAgZW51bSBjX2xhbmd1YWdlX2tpbmQgY19sYW5n dWFnZSA9IGNsa19jOwotICNkZWZpbmUgTEFOR19IT09LU19JTklUIGNfb2JqY19jb21tb25faW5p dAotICN1bmRlZiBMQU5HX0hPT0tTX0lOSVRfVFMKLSAjZGVmaW5lIExBTkdfSE9PS1NfSU5JVF9U UyBjX2NvbW1vbl9pbml0X3RzCi0rI3VuZGVmIExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFCi0r I2RlZmluZSBMQU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRSBjX3NvdXJjZV9sYW5ndWFnZQotIAot IC8qIEVhY2ggZnJvbnQgZW5kIHByb3ZpZGVzIGl0cyBvd24gbGFuZyBob29rIGluaXRpYWxpemVy LiAgKi8KLSBzdHJ1Y3QgbGFuZ19ob29rcyBsYW5nX2hvb2tzID0gTEFOR19IT09LU19JTklUSUFM SVpFUjsKLS0tLSBnY2MvZHdhcmYyb3V0LmMuamoJMjAxMS0wMS0wMyAxMjo1MzowNS4xMDIwNTY0 NzUgKzAxMDAKLSsrKyBnY2MvZHdhcmYyb3V0LmMJMjAxMS0wMS0wNCAxODowMzoxNC41MzQxNTE3 NjMgKzAxMDAKLUBAIC0xNjEwOSw5ICsxNjEwOSwxOCBAQCBhZGRfYml0X3NpemVfYXR0cmlidXRl IChkd19kaWVfcmVmIGRpZSwKLSBzdGF0aWMgaW5saW5lIHZvaWQKLSBhZGRfcHJvdG90eXBlZF9h dHRyaWJ1dGUgKGR3X2RpZV9yZWYgZGllLCB0cmVlIGZ1bmNfdHlwZSkKLSB7Ci0tICBpZiAoZ2V0 X0FUX3Vuc2lnbmVkIChjb21wX3VuaXRfZGllICgpLCBEV19BVF9sYW5ndWFnZSkgPT0gRFdfTEFO R19DODkKLS0gICAgICAmJiBwcm90b3R5cGVfcCAoZnVuY190eXBlKSkKLS0gICAgYWRkX0FUX2Zs YWcgKGRpZSwgRFdfQVRfcHJvdG90eXBlZCwgMSk7Ci0rICBzd2l0Y2ggKGdldF9BVF91bnNpZ25l ZCAoY29tcF91bml0X2RpZSAoKSwgRFdfQVRfbGFuZ3VhZ2UpKQotKyAgICB7Ci0rICAgIGNhc2Ug RFdfTEFOR19DOgotKyAgICBjYXNlIERXX0xBTkdfQzg5OgotKyAgICBjYXNlIERXX0xBTkdfQzk5 OgotKyAgICBjYXNlIERXX0xBTkdfT2JqQzoKLSsgICAgICBpZiAocHJvdG90eXBlX3AgKGZ1bmNf dHlwZSkpCi0rCWFkZF9BVF9mbGFnIChkaWUsIERXX0FUX3Byb3RvdHlwZWQsIDEpOwotKyAgICAg IGJyZWFrOwotKyAgICBkZWZhdWx0OgotKyAgICAgIGJyZWFrOwotKyAgICB9Ci0gfQotIAotIC8q IEFkZCBhbiAnYWJzdHJhY3Rfb3JpZ2luJyBhdHRyaWJ1dGUgYmVsb3cgYSBnaXZlbiBESUUuICBU aGUgRElFIGlzIGZvdW5kCi1AQCAtMTg5MTUsNiArMTg5MjQsMTAgQEAgZ2VuX2NvbXBpbGVfdW5p dF9kaWUgKGNvbnN0IGNoYXIgKmZpbGVuYQotIAkgIGlmIChzdHJjbXAgKGxhbmd1YWdlX3N0cmlu ZywgIkdOVSBHbyIpID09IDApCi0gCSAgICBsYW5ndWFnZSA9IERXX0xBTkdfR287Ci0gCX0KLSsg ICAgICBlbHNlIGlmIChzdHJjbXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBDIikgPT0gMAotKwkg ICAgICAgJiYgbGFuZ19ob29rcy5zb3VyY2VfbGFuZ3VhZ2UKLSsJICAgICAgICYmIGxhbmdfaG9v a3Muc291cmNlX2xhbmd1YWdlICgpID49IDE5OTkpCi0rCWxhbmd1YWdlID0gRFdfTEFOR19DOTk7 Ci0gICAgIH0KLSAgIC8qIFVzZSBhIGRlZ3JhZGVkIEZvcnRyYW4gc2V0dGluZyBpbiBzdHJpY3Qg RFdBUkYyIHNvIGlzX2ZvcnRyYW4gd29ya3MuICAqLwotICAgZWxzZSBpZiAoc3RyY21wIChsYW5n dWFnZV9zdHJpbmcsICJHTlUgRm9ydHJhbiIpID09IDApCgpkaWZmIC0tZ2l0IGEvZ2NjNDgtcHI1 NjQ5My5wYXRjaCBiL2djYzQ4LXByNTY0OTMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDg3NjAzZGIuLjAwMDAwMDAKLS0tIGEvZ2NjNDgtcHI1NjQ5My5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDc2ICswLDAgQEAKLTIwMTMtMDYtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1 YkByZWRoYXQuY29tPgotCi0JUFIgYysrLzU2NDkzCi0JKiBjb252ZXJ0LmMgKGNvbnZlcnRfdG9f cmVhbCwgY29udmVydF90b19leHByLCBjb252ZXJ0X3RvX2NvbXBsZXgpOgotCUhhbmRsZSBDT01Q T1VORF9FWFBSLgotCi0JKiBjLWMrKy1jb21tb24vcHI1NjQ5My5jOiBOZXcgdGVzdC4KLQotLS0t IGdjYy9jb252ZXJ0LmMuamoJMjAxMy0wNS0xMyAwOTo0NDo1My4wMDAwMDAwMDAgKzAyMDAKLSsr KyBnY2MvY29udmVydC5jCTIwMTMtMDYtMTYgMTI6MTY6MTMuNzU0MTA4NTIzICswMjAwCi1AQCAt OTUsNiArOTUsMTUgQEAgY29udmVydF90b19yZWFsICh0cmVlIHR5cGUsIHRyZWUgZXhwcikKLSAg IGVudW0gYnVpbHRfaW5fZnVuY3Rpb24gZmNvZGUgPSBidWlsdGluX21hdGhmbl9jb2RlIChleHBy KTsKLSAgIHRyZWUgaXR5cGUgPSBUUkVFX1RZUEUgKGV4cHIpOwotIAotKyAgaWYgKFRSRUVfQ09E RSAoZXhwcikgPT0gQ09NUE9VTkRfRVhQUikKLSsgICAgewotKyAgICAgIHRyZWUgdCA9IGNvbnZl cnRfdG9fcmVhbCAodHlwZSwgVFJFRV9PUEVSQU5EIChleHByLCAxKSk7Ci0rICAgICAgaWYgKHQg PT0gVFJFRV9PUEVSQU5EIChleHByLCAxKSkKLSsJcmV0dXJuIGV4cHI7Ci0rICAgICAgcmV0dXJu IGJ1aWxkMl9sb2MgKEVYUFJfTE9DQVRJT04gKGV4cHIpLCBDT01QT1VORF9FWFBSLCBUUkVFX1RZ UEUgKHQpLAotKwkJCSBUUkVFX09QRVJBTkQgKGV4cHIsIDApLCB0KTsKLSsgICAgfSAgICAKLSsK LSAgIC8qIERpc2FibGUgdW50aWwgd2UgZmlndXJlIG91dCBob3cgdG8gZGVjaWRlIHdoZXRoZXIg dGhlIGZ1bmN0aW9ucyBhcmUKLSAgICAgIHByZXNlbnQgaW4gcnVudGltZS4gICovCi0gICAvKiBD b252ZXJ0IChmbG9hdClzcXJ0KChkb3VibGUpeCkgd2hlcmUgeCBpcyBmbG9hdCBpbnRvIHNxcnRm KHgpICovCi1AQCAtMzY2LDYgKzM3NSwxNSBAQCBjb252ZXJ0X3RvX2ludGVnZXIgKHRyZWUgdHlw ZSwgdHJlZSBleHByCi0gICAgICAgcmV0dXJuIGVycm9yX21hcmtfbm9kZTsKLSAgICAgfQotIAot KyAgaWYgKGV4X2Zvcm0gPT0gQ09NUE9VTkRfRVhQUikKLSsgICAgewotKyAgICAgIHRyZWUgdCA9 IGNvbnZlcnRfdG9faW50ZWdlciAodHlwZSwgVFJFRV9PUEVSQU5EIChleHByLCAxKSk7Ci0rICAg ICAgaWYgKHQgPT0gVFJFRV9PUEVSQU5EIChleHByLCAxKSkKLSsJcmV0dXJuIGV4cHI7Ci0rICAg ICAgcmV0dXJuIGJ1aWxkMl9sb2MgKEVYUFJfTE9DQVRJT04gKGV4cHIpLCBDT01QT1VORF9FWFBS LCBUUkVFX1RZUEUgKHQpLAotKwkJCSBUUkVFX09QRVJBTkQgKGV4cHIsIDApLCB0KTsKLSsgICAg fSAgICAKLSsKLSAgIC8qIENvbnZlcnQgZS5nLiAobG9uZylyb3VuZChkKSAtPiBscm91bmQoZCku ICAqLwotICAgLyogSWYgd2UncmUgY29udmVydGluZyB0byBjaGFyLCB3ZSBtYXkgZW5jb3VudGVy IGRpZmZlcmluZyBiZWhhdmlvcgotICAgICAgYmV0d2VlbiBjb252ZXJ0aW5nIGZyb20gZG91Ymxl LT5jaGFyIHZzIGRvdWJsZS0+bG9uZy0+Y2hhci4KLUBAIC04NTQsNiArODcyLDE0IEBAIGNvbnZl cnRfdG9fY29tcGxleCAodHJlZSB0eXBlLCB0cmVlIGV4cHIKLSAKLSAJaWYgKFRZUEVfTUFJTl9W QVJJQU5UIChlbHRfdHlwZSkgPT0gVFlQRV9NQUlOX1ZBUklBTlQgKHN1YnR5cGUpKQotIAkgIHJl dHVybiBleHByOwotKwllbHNlIGlmIChUUkVFX0NPREUgKGV4cHIpID09IENPTVBPVU5EX0VYUFIp Ci0rCSAgewotKwkgICAgdHJlZSB0ID0gY29udmVydF90b19jb21wbGV4ICh0eXBlLCBUUkVFX09Q RVJBTkQgKGV4cHIsIDEpKTsKLSsJICAgIGlmICh0ID09IFRSRUVfT1BFUkFORCAoZXhwciwgMSkp Ci0rCSAgICAgIHJldHVybiBleHByOwotKwkgICAgcmV0dXJuIGJ1aWxkMl9sb2MgKEVYUFJfTE9D QVRJT04gKGV4cHIpLCBDT01QT1VORF9FWFBSLAotKwkJCSAgICAgICBUUkVFX1RZUEUgKHQpLCBU UkVFX09QRVJBTkQgKGV4cHIsIDApLCB0KTsKLSsJICB9ICAgIAotIAllbHNlIGlmIChUUkVFX0NP REUgKGV4cHIpID09IENPTVBMRVhfRVhQUikKLSAJICByZXR1cm4gZm9sZF9idWlsZDIgKENPTVBM RVhfRVhQUiwgdHlwZSwKLSAJCQkgICAgICBjb252ZXJ0IChzdWJ0eXBlLCBUUkVFX09QRVJBTkQg KGV4cHIsIDApKSwKLS0tLSBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9wcjU2NDkzLmMuamoJ MjAxMy0wNi0xNyAxMDoyNDozNi44OTE2NTk2MDAgKzAyMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2Mt YysrLWNvbW1vbi9wcjU2NDkzLmMJMjAxMy0wNi0xNyAxMDoyNDozMy4xNjQ3MjAxNDkgKzAyMDAK LUBAIC0wLDAgKzEsMTYgQEAKLSsvKiBQUiBjKysvNTY0OTMgKi8KLSsvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1mZHVtcC10cmVlLWdpbXBsZSIgfSAqLwot KwotK3Vuc2lnbmVkIGxvbmcgbG9uZyBiYXIgKHZvaWQpOwotK2ludCB4OwotKwotK3ZvaWQKLStm b28gKHZvaWQpCi0rewotKyAgeCArPSBiYXIgKCk7Ci0rfQotKwotKy8qIFZlcmlmeSB3ZSBuYXJy b3cgdGhlIGFkZGl0aW9uIGZyb20gdW5zaWduZWQgbG9uZyBsb25nIHRvIHVuc2lnbmVkIGludCB0 eXBlLiAgKi8KLSsvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgIiAgKFxbYS16QS1aLl8w LTldKikgPSBcXCh1bnNpZ25lZCBpbnRcXCkgXFteO1xuXHJdKjsuKiAgKFxbYS16QS1aLl8wLTld KikgPSBcXCh1bnNpZ25lZCBpbnRcXCkgXFteO1xuXHJdKjsuKiA9IFxcMSBcXCsgXFwyOyIgImdp bXBsZSIgeyB0YXJnZXQgeyBpbHAzMiB8fCBscDY0IH0gfSB9IH0gKi8KLSsvKiB7IGRnLWZpbmFs IHsgY2xlYW51cC10cmVlLWR1bXAgImdpbXBsZSIgfSB9ICovCgpkaWZmIC0tZ2l0IGEvZ2NjNDgt cHI1NjU2NC5wYXRjaCBiL2djYzQ4LXByNTY1NjQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGQ4MWUwMmQuLjAwMDAwMDAKLS0tIGEvZ2NjNDgtcHI1NjU2NC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDY1NCArMCwwIEBACi0yMDEzLTA2LTE5ICBJZ29yIFphbXlhdGluICA8 aWdvci56YW15YXRpbkBpbnRlbC5jb20+Ci0KLQkqIGdjYy5kZy90cmVlLXNzYS9sb29wLTE5LmM6 IEFkZCAtZm5vLWNvbW1vbi4KLQotMjAxMy0wNi0xMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJl ZGhhdC5jb20+Ci0KLQlQUiB0YXJnZXQvNTY1NjQKLQkqIHZhcmFzbS5jIChkZWNsX2JpbmRzX3Rv X2N1cnJlbnRfZGVmX3ApOiBDYWxsIGJpbmRzX2xvY2FsX3AKLQl0YXJnZXQgaG9vayBldmVuIGZv ciAhVFJFRV9QVUJMSUMgZGVjbHMuICBJZiBubyByZXNvbHV0aW9uIGluZm8KLQlpcyBhdmFpbGFi bGUsIHJldHVybiBmYWxzZSBmb3IgY29tbW9uIGFuZCBleHRlcm5hbCBkZWNscy4KLQotCSogZ2Nj LnRhcmdldC9pMzg2L3ByNTY1NjQtMS5jOiBTa2lwIG9uIGRhcndpbiwgbWluZ3cgYW5kIGN5Z3dp bi4KLQkqIGdjYy50YXJnZXQvaTM4Ni9wcjU2NTY0LTMuYzogTGlrZXdpc2UuCi0KLTIwMTMtMDYt MTEgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JUFIgdGFyZ2V0LzU2NTY0 Ci0JKiB2YXJhc20uYyAoZ2V0X3ZhcmlhYmxlX2FsaWduKTogTW92ZSAjZW5kaWYgdG8gdGhlIHJp Z2h0IHBsYWNlLgotCi0yMDEzLTA2LTEwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNv bT4KLQotCVBSIHRhcmdldC81NjU2NAotCSogdmFyYXNtLmMgKGFsaWduX3ZhcmlhYmxlKTogRG9u J3QgdXNlIERBVEFfQUxJR05NRU5UIG9yCi0JQ09OU1RBTlRfQUxJR05NRU5UIGlmICFkZWNsX2Jp bmRzX3RvX2N1cnJlbnRfZGVmX3AgKGRlY2wpLgotCVVzZSBEQVRBX0FCSV9BTElHTk1FTlQgZm9y IHRoYXQgY2FzZSBpbnN0ZWFkIGlmIGRlZmluZWQuCi0JKGdldF92YXJpYWJsZV9hbGlnbik6IE5l dyBmdW5jdGlvbi4KLQkoZ2V0X3ZhcmlhYmxlX3NlY3Rpb24sIGVtaXRfYnNzLCBlbWl0X2NvbW1v biwKLQlhc3NlbWJsZV92YXJpYWJsZV9jb250ZW50cywgcGxhY2VfYmxvY2tfc3ltYm9sKTogVXNl Ci0JZ2V0X3ZhcmlhYmxlX2FsaWduIGluc3RlYWQgb2YgREVDTF9BTElHTi4KLQkoYXNzZW1ibGVf bm9zd2l0Y2hfdmFyaWFibGUpOiBBZGQgYWxpZ24gYXJndW1lbnQsIHVzZSBpdAotCWluc3RlYWQg b2YgREVDTF9BTElHTi4KLQkoYXNzZW1ibGVfdmFyaWFibGUpOiBBZGp1c3QgY2FsbGVyLiAgVXNl IGdldF92YXJpYWJsZV9hbGlnbgotCWluc3RlYWQgb2YgREVDTF9BTElHTi4KLQkqIGNvbmZpZy9p Mzg2L2kzODYuaCAoREFUQV9BTElHTk1FTlQpOiBBZGp1c3QgeDg2X2RhdGFfYWxpZ25tZW50Ci0J Y2FsbGVyLgotCShEQVRBX0FCSV9BTElHTk1FTlQpOiBEZWZpbmUuCi0JKiBjb25maWcvaTM4Ni9p Mzg2LXByb3Rvcy5oICh4ODZfZGF0YV9hbGlnbm1lbnQpOiBBZGp1c3QgcHJvdG90eXBlLgotCSog Y29uZmlnL2kzODYvaTM4Ni5jICh4ODZfZGF0YV9hbGlnbm1lbnQpOiBBZGQgb3B0IGFyZ3VtZW50 LiAgSWYKLQlvcHQgaXMgZmFsc2UsIG9ubHkgcmV0dXJuIHRoZSBwc0FCSSBtYW5kYXRlZCBhbGln bm1lbnQgaW5jcmVhc2UuCi0JKiBjb25maWcvYzZ4L2M2eC5oIChEQVRBX0FMSUdOTUVOVCk6IFJl bmFtZWQgdG8uLi4KLQkoREFUQV9BQklfQUxJR05NRU5UKTogLi4uIHRoaXMuCi0JKiBjb25maWcv bW1peC9tbWl4LmggKERBVEFfQUxJR05NRU5UKTogUmVuYW1lZCB0by4uLgotCShEQVRBX0FCSV9B TElHTk1FTlQpOiAuLi4gdGhpcy4KLQkqIGNvbmZpZy9tbWl4L21taXguYyAobW1peF9kYXRhX2Fs aWdubWVudCk6IEFkanVzdCBmdW5jdGlvbiBjb21tZW50LgotCSogY29uZmlnL3MzOTAvczM5MC5o IChEQVRBX0FMSUdOTUVOVCk6IFJlbmFtZWQgdG8uLi4KLQkoREFUQV9BQklfQUxJR05NRU5UKTog Li4uIHRoaXMuCi0JKiBkb2MvdG0udGV4aS5pbiAoREFUQV9BQklfQUxJR05NRU5UKTogRG9jdW1l bnQuCi0JKiBkb2MvdG0udGV4aTogUmVnZW5lcmF0ZWQuCi0KLQkqIGdjYy50YXJnZXQvaTM4Ni9w cjU2NTY0LTEuYzogTmV3IHRlc3QuCi0JKiBnY2MudGFyZ2V0L2kzODYvcHI1NjU2NC0yLmM6IE5l dyB0ZXN0LgotCSogZ2NjLnRhcmdldC9pMzg2L3ByNTY1NjQtMy5jOiBOZXcgdGVzdC4KLQkqIGdj Yy50YXJnZXQvaTM4Ni9wcjU2NTY0LTQuYzogTmV3IHRlc3QuCi0JKiBnY2MudGFyZ2V0L2kzODYv YXZ4MjU2LXVuYWxpZ25lZC1sb2FkLTQuYzogQWRkIC1mbm8tY29tbW9uLgotCSogZ2NjLnRhcmdl dC9pMzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMS5jOiBMaWtld2lzZS4KLQkqIGdjYy50YXJn ZXQvaTM4Ni9hdngyNTYtdW5hbGlnbmVkLXN0b3JlLTMuYzogTGlrZXdpc2UuCi0JKiBnY2MudGFy Z2V0L2kzODYvYXZ4MjU2LXVuYWxpZ25lZC1zdG9yZS00LmM6IExpa2V3aXNlLgotCSogZ2NjLnRh cmdldC9pMzg2L3ZlY3Qtc2l6ZXMtMS5jOiBMaWtld2lzZS4KLQkqIGdjYy50YXJnZXQvaTM4Ni9t ZW1jcHktMS5jOiBMaWtld2lzZS4KLQkqIGdjYy5kZy92ZWN0L2Nvc3Rtb2RlbC9pMzg2L2Nvc3Rt b2RlbC12ZWN0LTMxLmMgKHRtcCk6IEluaXRpYWxpemUuCi0JKiBnY2MuZGcvdmVjdC9jb3N0bW9k ZWwveDg2XzY0L2Nvc3Rtb2RlbC12ZWN0LTMxLmMgKHRtcCk6IExpa2V3aXNlLgotCi0tLS0gZ2Nj L2RvYy90bS50ZXhpLmluCShyZXZpc2lvbiAxOTk4OTcpCi0rKysgZ2NjL2RvYy90bS50ZXhpLmlu CShyZXZpc2lvbiAxOTk4OTgpCi1AQCAtMTA2Miw2ICsxMDYyLDE1IEBAIGFycmF5cyB0byBiZSB3 b3JkLWFsaWduZWQgc28gdGhhdCBAY29kZXsKLSBjb25zdGFudHMgdG8gY2hhcmFjdGVyIGFycmF5 cyBjYW4gYmUgZG9uZSBpbmxpbmUuCi0gQGVuZCBkZWZtYWMKLSAKLStAZGVmbWFjIERBVEFfQUJJ X0FMSUdOTUVOVCAoQHZhcnt0eXBlfSwgQHZhcntiYXNpYy1hbGlnbn0pCi0rU2ltaWxhciB0byBA Y29kZXtEQVRBX0FMSUdOTUVOVH0sIGJ1dCBmb3IgdGhlIGNhc2VzIHdoZXJlIHRoZSBBQkkgbWFu ZGF0ZXMKLStzb21lIGFsaWdubWVudCBpbmNyZWFzZSwgaW5zdGVhZCBvZiBvcHRpbWl6YXRpb24g b25seSBwdXJwb3Nlcy4gIEUuZy5ACi0rQU1EIHg4Ni02NCBwc0FCSSBzYXlzIHRoYXQgdmFyaWFi bGVzIHdpdGggYXJyYXkgdHlwZSBsYXJnZXIgdGhhbiAxNSBieXRlcwotK211c3QgYmUgYWxpZ25l ZCB0byAxNiBieXRlIGJvdW5kYXJpZXMuCi0rCi0rSWYgdGhpcyBtYWNybyBpcyBub3QgZGVmaW5l ZCwgdGhlbiBAdmFye2Jhc2ljLWFsaWdufSBpcyB1c2VkLgotK0BlbmQgZGVmbWFjCi0rCi0gQGRl Zm1hYyBDT05TVEFOVF9BTElHTk1FTlQgKEB2YXJ7Y29uc3RhbnR9LCBAdmFye2Jhc2ljLWFsaWdu fSkKLSBJZiBkZWZpbmVkLCBhIEMgZXhwcmVzc2lvbiB0byBjb21wdXRlIHRoZSBhbGlnbm1lbnQg Z2l2ZW4gdG8gYSBjb25zdGFudAotIHRoYXQgaXMgYmVpbmcgcGxhY2VkIGluIG1lbW9yeS4gIEB2 YXJ7Y29uc3RhbnR9IGlzIHRoZSBjb25zdGFudCBhbmQKLS0tLSBnY2MvZG9jL3RtLnRleGkJKHJl dmlzaW9uIDE5OTg5NykKLSsrKyBnY2MvZG9jL3RtLnRleGkJKHJldmlzaW9uIDE5OTg5OCkKLUBA IC0xMDc4LDYgKzEwNzgsMTUgQEAgYXJyYXlzIHRvIGJlIHdvcmQtYWxpZ25lZCBzbyB0aGF0IEBj b2RlewotIGNvbnN0YW50cyB0byBjaGFyYWN0ZXIgYXJyYXlzIGNhbiBiZSBkb25lIGlubGluZS4K LSBAZW5kIGRlZm1hYwotIAotK0BkZWZtYWMgREFUQV9BQklfQUxJR05NRU5UIChAdmFye3R5cGV9 LCBAdmFye2Jhc2ljLWFsaWdufSkKLStTaW1pbGFyIHRvIEBjb2Rle0RBVEFfQUxJR05NRU5UfSwg YnV0IGZvciB0aGUgY2FzZXMgd2hlcmUgdGhlIEFCSSBtYW5kYXRlcwotK3NvbWUgYWxpZ25tZW50 IGluY3JlYXNlLCBpbnN0ZWFkIG9mIG9wdGltaXphdGlvbiBvbmx5IHB1cnBvc2VzLiAgRS5nLkAK LStBTUQgeDg2LTY0IHBzQUJJIHNheXMgdGhhdCB2YXJpYWJsZXMgd2l0aCBhcnJheSB0eXBlIGxh cmdlciB0aGFuIDE1IGJ5dGVzCi0rbXVzdCBiZSBhbGlnbmVkIHRvIDE2IGJ5dGUgYm91bmRhcmll cy4KLSsKLStJZiB0aGlzIG1hY3JvIGlzIG5vdCBkZWZpbmVkLCB0aGVuIEB2YXJ7YmFzaWMtYWxp Z259IGlzIHVzZWQuCi0rQGVuZCBkZWZtYWMKLSsKLSBAZGVmbWFjIENPTlNUQU5UX0FMSUdOTUVO VCAoQHZhcntjb25zdGFudH0sIEB2YXJ7YmFzaWMtYWxpZ259KQotIElmIGRlZmluZWQsIGEgQyBl eHByZXNzaW9uIHRvIGNvbXB1dGUgdGhlIGFsaWdubWVudCBnaXZlbiB0byBhIGNvbnN0YW50Ci0g dGhhdCBpcyBiZWluZyBwbGFjZWQgaW4gbWVtb3J5LiAgQHZhcntjb25zdGFudH0gaXMgdGhlIGNv bnN0YW50IGFuZAotLS0tIGdjYy92YXJhc20uYwkocmV2aXNpb24gMTk5ODk3KQotKysrIGdjYy92 YXJhc20uYwkocmV2aXNpb24gMTk5OTg0KQotQEAgLTk2NiwxMyArOTY2LDgwIEBAIGFsaWduX3Zh cmlhYmxlICh0cmVlIGRlY2wsIGJvb2wgZG9udF9vdXQKLSAgICAgICBhbGlnbiA9IE1BWF9PRklM RV9BTElHTk1FTlQ7Ci0gICAgIH0KLSAKLS0gIC8qIE9uIHNvbWUgbWFjaGluZXMsIGl0IGlzIGdv b2QgdG8gaW5jcmVhc2UgYWxpZ25tZW50IHNvbWV0aW1lcy4gICovCi0gICBpZiAoISBERUNMX1VT RVJfQUxJR04gKGRlY2wpKQotICAgICB7Ci0rI2lmZGVmIERBVEFfQUJJX0FMSUdOTUVOVAotKyAg ICAgIHVuc2lnbmVkIGludCBkYXRhX2FiaV9hbGlnbgotKwk9IERBVEFfQUJJX0FMSUdOTUVOVCAo VFJFRV9UWVBFIChkZWNsKSwgYWxpZ24pOwotKyAgICAgIC8qIEZvciBiYWNrd2FyZHMgY29tcGF0 aWJpbGl0eSwgZG9uJ3QgYXNzdW1lIHRoZSBBQkkgYWxpZ25tZW50IGZvcgotKwkgVExTIHZhcmlh Ymxlcy4gICovCi0rICAgICAgaWYgKCEgREVDTF9USFJFQURfTE9DQUxfUCAoZGVjbCkgfHwgZGF0 YV9hYmlfYWxpZ24gPD0gQklUU19QRVJfV09SRCkKLSsJYWxpZ24gPSBkYXRhX2FiaV9hbGlnbjsK LSsjZW5kaWYKLSsKLSsgICAgICAvKiBPbiBzb21lIG1hY2hpbmVzLCBpdCBpcyBnb29kIHRvIGlu Y3JlYXNlIGFsaWdubWVudCBzb21ldGltZXMuCi0rCSBCdXQgYXMgREVDTF9BTElHTiBpcyB1c2Vk IGJvdGggZm9yIGFjdHVhbGx5IGVtaXR0aW5nIHRoZSB2YXJpYWJsZQotKwkgYW5kIGZvciBjb2Rl IGFjY2Vzc2luZyB0aGUgdmFyaWFibGUgYXMgZ3VhcmFudGVlZCBhbGlnbm1lbnQsIHdlCi0rCSBj YW4gb25seSBpbmNyZWFzZSB0aGUgYWxpZ25tZW50IGlmIGl0IGlzIGEgcGVyZm9ybWFuY2Ugb3B0 aW1pemF0aW9uCi0rCSBpZiB0aGUgcmVmZXJlbmNlcyB0byBpdCBtdXN0IGJpbmQgdG8gdGhlIGN1 cnJlbnQgZGVmaW5pdGlvbi4gICovCi0rICAgICAgaWYgKGRlY2xfYmluZHNfdG9fY3VycmVudF9k ZWZfcCAoZGVjbCkpCi0rCXsKLSsjaWZkZWYgREFUQV9BTElHTk1FTlQKLSsJICB1bnNpZ25lZCBp bnQgZGF0YV9hbGlnbiA9IERBVEFfQUxJR05NRU5UIChUUkVFX1RZUEUgKGRlY2wpLCBhbGlnbik7 Ci0rCSAgLyogRG9uJ3QgaW5jcmVhc2UgYWxpZ25tZW50IHRvbyBtdWNoIGZvciBUTFMgdmFyaWFi bGVzIC0gVExTIHNwYWNlCi0rCSAgICAgaXMgdG9vIHByZWNpb3VzLiAgKi8KLSsJICBpZiAoISBE RUNMX1RIUkVBRF9MT0NBTF9QIChkZWNsKSB8fCBkYXRhX2FsaWduIDw9IEJJVFNfUEVSX1dPUkQp Ci0rCSAgICBhbGlnbiA9IGRhdGFfYWxpZ247Ci0rI2VuZGlmCi0rI2lmZGVmIENPTlNUQU5UX0FM SUdOTUVOVAotKwkgIGlmIChERUNMX0lOSVRJQUwgKGRlY2wpICE9IDAKLSsJICAgICAgJiYgREVD TF9JTklUSUFMIChkZWNsKSAhPSBlcnJvcl9tYXJrX25vZGUpCi0rCSAgICB7Ci0rCSAgICAgIHVu c2lnbmVkIGludCBjb25zdF9hbGlnbgotKwkJPSBDT05TVEFOVF9BTElHTk1FTlQgKERFQ0xfSU5J VElBTCAoZGVjbCksIGFsaWduKTsKLSsJICAgICAgLyogRG9uJ3QgaW5jcmVhc2UgYWxpZ25tZW50 IHRvbyBtdWNoIGZvciBUTFMgdmFyaWFibGVzIC0gVExTCi0rCQkgc3BhY2UgaXMgdG9vIHByZWNp b3VzLiAgKi8KLSsJICAgICAgaWYgKCEgREVDTF9USFJFQURfTE9DQUxfUCAoZGVjbCkgfHwgY29u c3RfYWxpZ24gPD0gQklUU19QRVJfV09SRCkKLSsJCWFsaWduID0gY29uc3RfYWxpZ247Ci0rCSAg ICB9Ci0rI2VuZGlmCi0rCX0KLSsgICAgfQotKwotKyAgLyogUmVzZXQgdGhlIGFsaWdubWVudCBp biBjYXNlIHdlIGhhdmUgbWFkZSBpdCB0aWdodGVyLCBzbyB3ZSBjYW4gYmVuZWZpdAotKyAgICAg ZnJvbSBpdCBpbiBnZXRfcG9pbnRlcl9hbGlnbm1lbnQuICAqLwotKyAgREVDTF9BTElHTiAoZGVj bCkgPSBhbGlnbjsKLSt9Ci0rCi0rLyogUmV0dXJuIERFQ0xfQUxJR04gKGRlY2wpLCBwb3NzaWJs eSBpbmNyZWFzZWQgZm9yIG9wdGltaXphdGlvbiBwdXJwb3NlcwotKyAgIGJleW9uZCB3aGF0IGFs aWduX3ZhcmlhYmxlIHJldHVybmVkLiAgKi8KLSsKLStzdGF0aWMgdW5zaWduZWQgaW50Ci0rZ2V0 X3ZhcmlhYmxlX2FsaWduICh0cmVlIGRlY2wpCi0rewotKyAgdW5zaWduZWQgaW50IGFsaWduID0g REVDTF9BTElHTiAoZGVjbCk7Ci0rCi0rICAvKiBGb3IgdXNlciBhbGlnbmVkIHZhcnMgb3Igc3Rh dGljIHZhcnMgYWxpZ25fdmFyaWFibGUgYWxyZWFkeSBkaWQKLSsgICAgIGV2ZXJ5dGhpbmcuICAq LwotKyAgaWYgKERFQ0xfVVNFUl9BTElHTiAoZGVjbCkgfHwgIVRSRUVfUFVCTElDIChkZWNsKSkK LSsgICAgcmV0dXJuIGFsaWduOwotKwotKyNpZmRlZiBEQVRBX0FCSV9BTElHTk1FTlQKLSsgIGlm IChERUNMX1RIUkVBRF9MT0NBTF9QIChkZWNsKSkKLSsgICAgYWxpZ24gPSBEQVRBX0FCSV9BTElH Tk1FTlQgKFRSRUVfVFlQRSAoZGVjbCksIGFsaWduKTsKLSsjZW5kaWYKLSsKLSsgIC8qIEZvciBk ZWNscyB0aGF0IGJpbmQgdG8gdGhlIGN1cnJlbnQgZGVmaW5pdGlvbiwgYWxpZ25fdmFyaWFibGUK LSsgICAgIGRpZCBhbHNvIGV2ZXJ5dGhpbmcsIGV4Y2VwdCBmb3Igbm90IGFzc3VtaW5nIEFCSSBy ZXF1aXJlZCBhbGlnbm1lbnQKLSsgICAgIG9mIFRMUyB2YXJpYWJsZXMuICBGb3Igb3RoZXIgdmFy cywgaW5jcmVhc2UgdGhlIGFsaWdubWVudCBoZXJlCi0rICAgICBhcyBhbiBvcHRpbWl6YXRpb24u ICAqLwotKyAgaWYgKCFkZWNsX2JpbmRzX3RvX2N1cnJlbnRfZGVmX3AgKGRlY2wpKQotKyAgICB7 Ci0rICAgICAgLyogT24gc29tZSBtYWNoaW5lcywgaXQgaXMgZ29vZCB0byBpbmNyZWFzZSBhbGln bm1lbnQgc29tZXRpbWVzLiAgKi8KLSAjaWZkZWYgREFUQV9BTElHTk1FTlQKLSAgICAgICB1bnNp Z25lZCBpbnQgZGF0YV9hbGlnbiA9IERBVEFfQUxJR05NRU5UIChUUkVFX1RZUEUgKGRlY2wpLCBh bGlnbik7Ci0gICAgICAgLyogRG9uJ3QgaW5jcmVhc2UgYWxpZ25tZW50IHRvbyBtdWNoIGZvciBU TFMgdmFyaWFibGVzIC0gVExTIHNwYWNlCi0tCSBpcyB0b28gcHJlY2lvdXMuICAqLwotKyAgICAg ICAgIGlzIHRvbyBwcmVjaW91cy4gICovCi0gICAgICAgaWYgKCEgREVDTF9USFJFQURfTE9DQUxf UCAoZGVjbCkgfHwgZGF0YV9hbGlnbiA8PSBCSVRTX1BFUl9XT1JEKQotIAlhbGlnbiA9IGRhdGFf YWxpZ247Ci0gI2VuZGlmCi1AQCAtOTg5LDkgKzEwNTYsNyBAQCBhbGlnbl92YXJpYWJsZSAodHJl ZSBkZWNsLCBib29sIGRvbnRfb3V0Ci0gI2VuZGlmCi0gICAgIH0KLSAKLS0gIC8qIFJlc2V0IHRo ZSBhbGlnbm1lbnQgaW4gY2FzZSB3ZSBoYXZlIG1hZGUgaXQgdGlnaHRlciwgc28gd2UgY2FuIGJl bmVmaXQKLS0gICAgIGZyb20gaXQgaW4gZ2V0X3BvaW50ZXJfYWxpZ25tZW50LiAgKi8KLS0gIERF Q0xfQUxJR04gKGRlY2wpID0gYWxpZ247Ci0rICByZXR1cm4gYWxpZ247Ci0gfQotIAotIC8qIFJl dHVybiB0aGUgc2VjdGlvbiBpbnRvIHdoaWNoIHRoZSBnaXZlbiBWQVJfREVDTCBvciBDT05TVF9E RUNMCi1AQCAtMTA0Myw3ICsxMTA4LDggQEAgZ2V0X3ZhcmlhYmxlX3NlY3Rpb24gKHRyZWUgZGVj bCwgYm9vbCBwcgotIAlyZXR1cm4gYnNzX25vc3dpdGNoX3NlY3Rpb247Ci0gICAgIH0KLSAKLS0g IHJldHVybiB0YXJnZXRtLmFzbV9vdXQuc2VsZWN0X3NlY3Rpb24gKGRlY2wsIHJlbG9jLCBERUNM X0FMSUdOIChkZWNsKSk7Ci0rICByZXR1cm4gdGFyZ2V0bS5hc21fb3V0LnNlbGVjdF9zZWN0aW9u IChkZWNsLCByZWxvYywKLSsJCQkJCSBnZXRfdmFyaWFibGVfYWxpZ24gKGRlY2wpKTsKLSB9Ci0g Ci0gLyogUmV0dXJuIHRoZSBibG9jayBpbnRvIHdoaWNoIG9iamVjdF9ibG9jayBERUNMIHNob3Vs ZCBiZSBwbGFjZWQuICAqLwotQEAgLTE3ODAsNyArMTg0Niw4IEBAIGVtaXRfYnNzICh0cmVlIGRl Y2wgQVRUUklCVVRFX1VOVVNFRCwKLSAJICB1bnNpZ25lZCBIT1NUX1dJREVfSU5UIHJvdW5kZWQg QVRUUklCVVRFX1VOVVNFRCkKLSB7Ci0gI2lmIGRlZmluZWQgQVNNX09VVFBVVF9BTElHTkVEX0JT UwotLSAgQVNNX09VVFBVVF9BTElHTkVEX0JTUyAoYXNtX291dF9maWxlLCBkZWNsLCBuYW1lLCBz aXplLCBERUNMX0FMSUdOIChkZWNsKSk7Ci0rICBBU01fT1VUUFVUX0FMSUdORURfQlNTIChhc21f b3V0X2ZpbGUsIGRlY2wsIG5hbWUsIHNpemUsCi0rCQkJICBnZXRfdmFyaWFibGVfYWxpZ24gKGRl Y2wpKTsKLSAgIHJldHVybiB0cnVlOwotICNlbmRpZgotIH0KLUBAIC0xNzk2LDEwICsxODYzLDEx IEBAIGVtaXRfY29tbW9uICh0cmVlIGRlY2wgQVRUUklCVVRFX1VOVVNFRCwKLSB7Ci0gI2lmIGRl ZmluZWQgQVNNX09VVFBVVF9BTElHTkVEX0RFQ0xfQ09NTU9OCi0gICBBU01fT1VUUFVUX0FMSUdO RURfREVDTF9DT01NT04gKGFzbV9vdXRfZmlsZSwgZGVjbCwgbmFtZSwKLS0JCQkJICBzaXplLCBE RUNMX0FMSUdOIChkZWNsKSk7Ci0rCQkJCSAgc2l6ZSwgZ2V0X3ZhcmlhYmxlX2FsaWduIChkZWNs KSk7Ci0gICByZXR1cm4gdHJ1ZTsKLSAjZWxpZiBkZWZpbmVkIEFTTV9PVVRQVVRfQUxJR05FRF9D T01NT04KLS0gIEFTTV9PVVRQVVRfQUxJR05FRF9DT01NT04gKGFzbV9vdXRfZmlsZSwgbmFtZSwg c2l6ZSwgREVDTF9BTElHTiAoZGVjbCkpOwotKyAgQVNNX09VVFBVVF9BTElHTkVEX0NPTU1PTiAo YXNtX291dF9maWxlLCBuYW1lLCBzaXplLAotKwkJCSAgICAgZ2V0X3ZhcmlhYmxlX2FsaWduIChk ZWNsKSk7Ci0gICByZXR1cm4gdHJ1ZTsKLSAjZWxzZQotICAgQVNNX09VVFBVVF9DT01NT04gKGFz bV9vdXRfZmlsZSwgbmFtZSwgc2l6ZSwgcm91bmRlZCk7Ci1AQCAtMTgyOCw3ICsxODk2LDggQEAg ZW1pdF90bHNfY29tbW9uICh0cmVlIGRlY2wgQVRUUklCVVRFX1VOVQotICAgIE5BTUUgaXMgdGhl IG5hbWUgb2YgREVDTCdzIFNZTUJPTF9SRUYuICAqLwotIAotIHN0YXRpYyB2b2lkCi0tYXNzZW1i bGVfbm9zd2l0Y2hfdmFyaWFibGUgKHRyZWUgZGVjbCwgY29uc3QgY2hhciAqbmFtZSwgc2VjdGlv biAqc2VjdCkKLSthc3NlbWJsZV9ub3N3aXRjaF92YXJpYWJsZSAodHJlZSBkZWNsLCBjb25zdCBj aGFyICpuYW1lLCBzZWN0aW9uICpzZWN0LAotKwkJCSAgICB1bnNpZ25lZCBpbnQgYWxpZ24pCi0g ewotICAgdW5zaWduZWQgSE9TVF9XSURFX0lOVCBzaXplLCByb3VuZGVkOwotIAotQEAgLTE4NTAs NyArMTkxOSw3IEBAIGFzc2VtYmxlX25vc3dpdGNoX3ZhcmlhYmxlICh0cmVlIGRlY2wsIGMKLSAJ ICAgICAqIChCSUdHRVNUX0FMSUdOTUVOVCAvIEJJVFNfUEVSX1VOSVQpKTsKLSAKLSAgIGlmICgh c2VjdC0+bm9zd2l0Y2guY2FsbGJhY2sgKGRlY2wsIG5hbWUsIHNpemUsIHJvdW5kZWQpCi0tICAg ICAgJiYgKHVuc2lnbmVkIEhPU1RfV0lERV9JTlQpIERFQ0xfQUxJR05fVU5JVCAoZGVjbCkgPiBy b3VuZGVkKQotKyAgICAgICYmICh1bnNpZ25lZCBIT1NUX1dJREVfSU5UKSAoYWxpZ24gLyBCSVRT X1BFUl9VTklUKSA+IHJvdW5kZWQpCi0gICAgIHdhcm5pbmcgKDAsICJyZXF1ZXN0ZWQgYWxpZ25t ZW50IGZvciAlcStEIGlzIGdyZWF0ZXIgdGhhbiAiCi0gCSAgICAgImltcGxlbWVudGVkIGFsaWdu bWVudCBvZiAld3UiLCBkZWNsLCByb3VuZGVkKTsKLSB9Ci1AQCAtMTg4MCw3ICsxOTQ5LDcgQEAg YXNzZW1ibGVfdmFyaWFibGVfY29udGVudHMgKHRyZWUgZGVjbCwgYwotIAkvKiBPdXRwdXQgdGhl IGFjdHVhbCBkYXRhLiAgKi8KLSAJb3V0cHV0X2NvbnN0YW50IChERUNMX0lOSVRJQUwgKGRlY2wp LAotIAkJCSB0cmVlX2xvd19jc3QgKERFQ0xfU0laRV9VTklUIChkZWNsKSwgMSksCi0tCQkJIERF Q0xfQUxJR04gKGRlY2wpKTsKLSsJCQkgZ2V0X3ZhcmlhYmxlX2FsaWduIChkZWNsKSk7Ci0gICAg ICAgZWxzZQotIAkvKiBMZWF2ZSBzcGFjZSBmb3IgaXQuICAqLwotIAlhc3NlbWJsZV96ZXJvcyAo dHJlZV9sb3dfY3N0IChERUNMX1NJWkVfVU5JVCAoZGVjbCksIDEpKTsKLUBAIC0xOTA0LDYgKzE5 NzMsNyBAQCBhc3NlbWJsZV92YXJpYWJsZSAodHJlZSBkZWNsLCBpbnQgdG9wX2xlCi0gICBjb25z dCBjaGFyICpuYW1lOwotICAgcnR4IGRlY2xfcnRsLCBzeW1ib2w7Ci0gICBzZWN0aW9uICpzZWN0 OwotKyAgdW5zaWduZWQgaW50IGFsaWduOwotICAgYm9vbCBhc2FuX3Byb3RlY3RlZCA9IGZhbHNl OwotIAotICAgLyogVGhpcyBmdW5jdGlvbiBpcyBzdXBwb3NlZCB0byBoYW5kbGUgVkFSSUFCTEVT LiAgRW5zdXJlIHdlIGhhdmUgb25lLiAgKi8KLUBAIC0yMDAzLDYgKzIwNzMsOCBAQCBhc3NlbWJs ZV92YXJpYWJsZSAodHJlZSBkZWNsLCBpbnQgdG9wX2xlCi0gCi0gICBzZXRfbWVtX2FsaWduIChk ZWNsX3J0bCwgREVDTF9BTElHTiAoZGVjbCkpOwotIAotKyAgYWxpZ24gPSBnZXRfdmFyaWFibGVf YWxpZ24gKGRlY2wpOwotKwotICAgaWYgKFRSRUVfUFVCTElDIChkZWNsKSkKLSAgICAgbWF5YmVf YXNzZW1ibGVfdmlzaWJpbGl0eSAoZGVjbCk7Ci0gCi1AQCAtMjAzMiwxMiArMjEwNCwxMiBAQCBh c3NlbWJsZV92YXJpYWJsZSAodHJlZSBkZWNsLCBpbnQgdG9wX2xlCi0gICAgICAgcGxhY2VfYmxv Y2tfc3ltYm9sIChzeW1ib2wpOwotICAgICB9Ci0gICBlbHNlIGlmIChTRUNUSU9OX1NUWUxFIChz ZWN0KSA9PSBTRUNUSU9OX05PU1dJVENIKQotLSAgICBhc3NlbWJsZV9ub3N3aXRjaF92YXJpYWJs ZSAoZGVjbCwgbmFtZSwgc2VjdCk7Ci0rICAgIGFzc2VtYmxlX25vc3dpdGNoX3ZhcmlhYmxlIChk ZWNsLCBuYW1lLCBzZWN0LCBhbGlnbik7Ci0gICBlbHNlCi0gICAgIHsKLSAgICAgICBzd2l0Y2hf dG9fc2VjdGlvbiAoc2VjdCk7Ci0tICAgICAgaWYgKERFQ0xfQUxJR04gKGRlY2wpID4gQklUU19Q RVJfVU5JVCkKLS0JQVNNX09VVFBVVF9BTElHTiAoYXNtX291dF9maWxlLCBmbG9vcl9sb2cyIChE RUNMX0FMSUdOX1VOSVQgKGRlY2wpKSk7Ci0rICAgICAgaWYgKGFsaWduID4gQklUU19QRVJfVU5J VCkKLSsJQVNNX09VVFBVVF9BTElHTiAoYXNtX291dF9maWxlLCBmbG9vcl9sb2cyIChhbGlnbiAv IEJJVFNfUEVSX1VOSVQpKTsKLSAgICAgICBhc3NlbWJsZV92YXJpYWJsZV9jb250ZW50cyAoZGVj bCwgbmFtZSwgZG9udF9vdXRwdXRfZGF0YSk7Ci0gICAgICAgaWYgKGFzYW5fcHJvdGVjdGVkKQot IAl7Ci1AQCAtNjcwOSwxMCArNjc4MSwxMCBAQCBib29sCi0gZGVjbF9iaW5kc190b19jdXJyZW50 X2RlZl9wICh0cmVlIGRlY2wpCi0gewotICAgZ2NjX2Fzc2VydCAoREVDTF9QIChkZWNsKSk7Ci0t ICBpZiAoIVRSRUVfUFVCTElDIChkZWNsKSkKLS0gICAgcmV0dXJuIHRydWU7Ci0gICBpZiAoIXRh cmdldG0uYmluZHNfbG9jYWxfcCAoZGVjbCkpCi0gICAgIHJldHVybiBmYWxzZTsKLSsgIGlmICgh VFJFRV9QVUJMSUMgKGRlY2wpKQotKyAgICByZXR1cm4gdHJ1ZTsKLSAgIC8qIFdoZW4gcmVzb2x1 dGlvbiBpcyBhdmFpbGFibGUsIGp1c3QgdXNlIGl0LiAgKi8KLSAgIGlmIChUUkVFX0NPREUgKGRl Y2wpID09IFZBUl9ERUNMCi0gICAgICAgJiYgKFRSRUVfU1RBVElDIChkZWNsKSB8fCBERUNMX0VY VEVSTkFMIChkZWNsKSkpCi1AQCAtNjczMCwxMCArNjgwMiwyMCBAQCBkZWNsX2JpbmRzX3RvX2N1 cnJlbnRfZGVmX3AgKHRyZWUgZGVjbCkKLSAJcmV0dXJuIHJlc29sdXRpb25fdG9fbG9jYWxfZGVm aW5pdGlvbl9wIChub2RlLT5zeW1ib2wucmVzb2x1dGlvbik7Ci0gICAgIH0KLSAgIC8qIE90aGVy d2lzZSB3ZSBoYXZlIHRvIGFzc3VtZSB0aGUgd29yc3QgZm9yIERFQ0xfV0VBSyAoaGlkZGVuIHdl YWtzCi0tICAgICBiaW5kcyBsb2NhbGx5IGJ1dCBzdGlsbCBjYW4gYmUgb3ZlcndyaXR0ZW4pLgot KyAgICAgYmluZHMgbG9jYWxseSBidXQgc3RpbGwgY2FuIGJlIG92ZXJ3cml0dGVuKSwgREVDTF9D T01NT04gKGNhbiBiZSBtZXJnZWQKLSsgICAgIHdpdGggYSBub24tY29tbW9uIGRlZmluaXRpb24g c29tZXdoZXJlIGluIHRoZSBzYW1lIG1vZHVsZSkgb3IKLSsgICAgIERFQ0xfRVhURVJOQUwuCi0g ICAgICBUaGlzIHJlbHkgb24gZmFjdCB0aGF0IGJpbmRzX2xvY2FsX3AgYmVoYXZlIGFzIGRlY2xf cmVwbGFjZWFibGVfcAotICAgICAgZm9yIGFsbCBvdGhlciBkZWNsYXJhdGlvbiB0eXBlcy4gICov Ci0tICByZXR1cm4gIURFQ0xfV0VBSyAoZGVjbCk7Ci0rICBpZiAoREVDTF9XRUFLIChkZWNsKSkK LSsgICAgcmV0dXJuIGZhbHNlOwotKyAgaWYgKERFQ0xfQ09NTU9OIChkZWNsKQotKyAgICAgICYm IChERUNMX0lOSVRJQUwgKGRlY2wpID09IE5VTEwKLSsJICB8fCBERUNMX0lOSVRJQUwgKGRlY2wp ID09IGVycm9yX21hcmtfbm9kZSkpCi0rICAgIHJldHVybiBmYWxzZTsKLSsgIGlmIChERUNMX0VY VEVSTkFMIChkZWNsKSkKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgcmV0dXJuIHRydWU7Ci0gfQot IAotIC8qIEEgcmVwbGFjZWFibGUgZnVuY3Rpb24gb3IgdmFyaWFibGUgaXMgb25lIHdoaWNoIG1h eSBiZSByZXBsYWNlZAotQEAgLTY5NTksNyArNzA0MSw3IEBAIHBsYWNlX2Jsb2NrX3N5bWJvbCAo cnR4IHN5bWJvbCkKLSAgIGVsc2UKLSAgICAgewotICAgICAgIGRlY2wgPSBTWU1CT0xfUkVGX0RF Q0wgKHN5bWJvbCk7Ci0tICAgICAgYWxpZ25tZW50ID0gREVDTF9BTElHTiAoZGVjbCk7Ci0rICAg ICAgYWxpZ25tZW50ID0gZ2V0X3ZhcmlhYmxlX2FsaWduIChkZWNsKTsKLSAgICAgICBzaXplID0g dHJlZV9sb3dfY3N0IChERUNMX1NJWkVfVU5JVCAoZGVjbCksIDEpOwotICAgICAgIGlmIChmbGFn X2FzYW4gJiYgYXNhbl9wcm90ZWN0X2dsb2JhbCAoZGVjbCkpCi0gCXsKLS0tLSBnY2MvY29uZmln L3MzOTAvczM5MC5oCShyZXZpc2lvbiAxOTk4OTcpCi0rKysgZ2NjL2NvbmZpZy9zMzkwL3MzOTAu aAkocmV2aXNpb24gMTk5ODk4KQotQEAgLTIyMSw3ICsyMjEsNyBAQCBlbnVtIHByb2Nlc3Nvcl9m bGFncwotIAotIC8qIEFsaWdubWVudCBvbiBldmVuIGFkZHJlc3NlcyBmb3IgTEFSTCBpbnN0cnVj dGlvbi4gICovCi0gI2RlZmluZSBDT05TVEFOVF9BTElHTk1FTlQoRVhQLCBBTElHTikgKEFMSUdO KSA8IDE2ID8gMTYgOiAoQUxJR04pCi0tI2RlZmluZSBEQVRBX0FMSUdOTUVOVChUWVBFLCBBTElH TikgKEFMSUdOKSA8IDE2ID8gMTYgOiAoQUxJR04pCi0rI2RlZmluZSBEQVRBX0FCSV9BTElHTk1F TlQoVFlQRSwgQUxJR04pIChBTElHTikgPCAxNiA/IDE2IDogKEFMSUdOKQotIAotIC8qIEFsaWdu bWVudCBpcyBub3QgcmVxdWlyZWQgYnkgdGhlIGhhcmR3YXJlLiAgKi8KLSAjZGVmaW5lIFNUUklD VF9BTElHTk1FTlQgMAotLS0tIGdjYy9jb25maWcvaTM4Ni9pMzg2LmgJKHJldmlzaW9uIDE5OTg5 NykKLSsrKyBnY2MvY29uZmlnL2kzODYvaTM4Ni5oCShyZXZpc2lvbiAxOTk4OTgpCi1AQCAtODU5 LDcgKzg1OSwxOCBAQCBlbnVtIHRhcmdldF9jcHVfZGVmYXVsdAotICAgIGNhdXNlIGNoYXJhY3Rl ciBhcnJheXMgdG8gYmUgd29yZC1hbGlnbmVkIHNvIHRoYXQgYHN0cmNweScgY2FsbHMKLSAgICB0 aGF0IGNvcHkgY29uc3RhbnRzIHRvIGNoYXJhY3RlciBhcnJheXMgY2FuIGJlIGRvbmUgaW5saW5l LiAgKi8KLSAKLS0jZGVmaW5lIERBVEFfQUxJR05NRU5UKFRZUEUsIEFMSUdOKSBpeDg2X2RhdGFf YWxpZ25tZW50ICgoVFlQRSksIChBTElHTikpCi0rI2RlZmluZSBEQVRBX0FMSUdOTUVOVChUWVBF LCBBTElHTikgXAotKyAgaXg4Nl9kYXRhX2FsaWdubWVudCAoKFRZUEUpLCAoQUxJR04pLCB0cnVl KQotKwotKy8qIFNpbWlsYXIgdG8gREFUQV9BTElHTk1FTlQsIGJ1dCBmb3IgdGhlIGNhc2VzIHdo ZXJlIHRoZSBBQkkgbWFuZGF0ZXMKLSsgICBzb21lIGFsaWdubWVudCBpbmNyZWFzZSwgaW5zdGVh ZCBvZiBvcHRpbWl6YXRpb24gb25seSBwdXJwb3Nlcy4gIEUuZy4KLSsgICBBTUQgeDg2LTY0IHBz QUJJIHNheXMgdGhhdCB2YXJpYWJsZXMgd2l0aCBhcnJheSB0eXBlIGxhcmdlciB0aGFuIDE1IGJ5 dGVzCi0rICAgbXVzdCBiZSBhbGlnbmVkIHRvIDE2IGJ5dGUgYm91bmRhcmllcy4KLSsKLSsgICBJ ZiB0aGlzIG1hY3JvIGlzIG5vdCBkZWZpbmVkLCB0aGVuIEFMSUdOIGlzIHVzZWQuICAqLwotKwot KyNkZWZpbmUgREFUQV9BQklfQUxJR05NRU5UKFRZUEUsIEFMSUdOKSBcCi0rICBpeDg2X2RhdGFf YWxpZ25tZW50ICgoVFlQRSksIChBTElHTiksIGZhbHNlKQotIAotIC8qIElmIGRlZmluZWQsIGEg QyBleHByZXNzaW9uIHRvIGNvbXB1dGUgdGhlIGFsaWdubWVudCBmb3IgYSBsb2NhbAotICAgIHZh cmlhYmxlLiAgVFlQRSBpcyB0aGUgZGF0YSB0eXBlLCBhbmQgQUxJR04gaXMgdGhlIGFsaWdubWVu dCB0aGF0Ci0tLS0gZ2NjL2NvbmZpZy9pMzg2L2kzODYtcHJvdG9zLmgJKHJldmlzaW9uIDE5OTg5 NykKLSsrKyBnY2MvY29uZmlnL2kzODYvaTM4Ni1wcm90b3MuaAkocmV2aXNpb24gMTk5ODk4KQot QEAgLTIwNyw3ICsyMDcsNyBAQCBleHRlcm4gdm9pZCBpbml0X2N1bXVsYXRpdmVfYXJncyAoQ1VN VUxBCi0gI2VuZGlmCS8qIFJUWF9DT0RFICAqLwotIAotICNpZmRlZiBUUkVFX0NPREUKLS1leHRl cm4gaW50IGl4ODZfZGF0YV9hbGlnbm1lbnQgKHRyZWUsIGludCk7Ci0rZXh0ZXJuIGludCBpeDg2 X2RhdGFfYWxpZ25tZW50ICh0cmVlLCBpbnQsIGJvb2wpOwotIGV4dGVybiB1bnNpZ25lZCBpbnQg aXg4Nl9sb2NhbF9hbGlnbm1lbnQgKHRyZWUsIGVudW0gbWFjaGluZV9tb2RlLAotIAkJCQkJICB1 bnNpZ25lZCBpbnQpOwotIGV4dGVybiB1bnNpZ25lZCBpbnQgaXg4Nl9taW5pbXVtX2FsaWdubWVu dCAodHJlZSwgZW51bSBtYWNoaW5lX21vZGUsCi0tLS0gZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwko cmV2aXNpb24gMTk5ODk3KQotKysrIGdjYy9jb25maWcvaTM4Ni9pMzg2LmMJKHJldmlzaW9uIDE5 OTg5OCkKLUBAIC0yNTI5MiwxMiArMjUyOTIsMTMgQEAgaXg4Nl9jb25zdGFudF9hbGlnbm1lbnQg KHRyZWUgZXhwLCBpbnQgYQotICAgIGluc3RlYWQgb2YgdGhhdCBhbGlnbm1lbnQgdG8gYWxpZ24g dGhlIG9iamVjdC4gICovCi0gCi0gaW50Ci0taXg4Nl9kYXRhX2FsaWdubWVudCAodHJlZSB0eXBl LCBpbnQgYWxpZ24pCi0raXg4Nl9kYXRhX2FsaWdubWVudCAodHJlZSB0eXBlLCBpbnQgYWxpZ24s IGJvb2wgb3B0KQotIHsKLSAgIGludCBtYXhfYWxpZ24KLSAgICAgPSBvcHRpbWl6ZV9zaXplID8g QklUU19QRVJfV09SRCA6IE1JTiAoMjU2LCBNQVhfT0ZJTEVfQUxJR05NRU5UKTsKLSAKLS0gIGlm IChBR0dSRUdBVEVfVFlQRV9QICh0eXBlKQotKyAgaWYgKG9wdAotKyAgICAgICYmIEFHR1JFR0FU RV9UWVBFX1AgKHR5cGUpCi0gICAgICAgJiYgVFlQRV9TSVpFICh0eXBlKQotICAgICAgICYmIFRS RUVfQ09ERSAoVFlQRV9TSVpFICh0eXBlKSkgPT0gSU5URUdFUl9DU1QKLSAgICAgICAmJiAoVFJF RV9JTlRfQ1NUX0xPVyAoVFlQRV9TSVpFICh0eXBlKSkgPj0gKHVuc2lnbmVkKSBtYXhfYWxpZ24K LUBAIC0yNTMwOSwxNCArMjUzMTAsMTcgQEAgaXg4Nl9kYXRhX2FsaWdubWVudCAodHJlZSB0eXBl LCBpbnQgYWxpZwotICAgICAgdG8gMTZieXRlIGJvdW5kYXJ5LiAgKi8KLSAgIGlmIChUQVJHRVRf NjRCSVQpCi0gICAgIHsKLS0gICAgICBpZiAoQUdHUkVHQVRFX1RZUEVfUCAodHlwZSkKLS0JICAg JiYgVFlQRV9TSVpFICh0eXBlKQotLQkgICAmJiBUUkVFX0NPREUgKFRZUEVfU0laRSAodHlwZSkp ID09IElOVEVHRVJfQ1NUCi0tCSAgICYmIChUUkVFX0lOVF9DU1RfTE9XIChUWVBFX1NJWkUgKHR5 cGUpKSA+PSAxMjgKLS0JICAgICAgIHx8IFRSRUVfSU5UX0NTVF9ISUdIIChUWVBFX1NJWkUgKHR5 cGUpKSkgJiYgYWxpZ24gPCAxMjgpCi0rICAgICAgaWYgKChvcHQgPyBBR0dSRUdBVEVfVFlQRV9Q ICh0eXBlKSA6IFRSRUVfQ09ERSAodHlwZSkgPT0gQVJSQVlfVFlQRSkKLSsJICAmJiBUWVBFX1NJ WkUgKHR5cGUpCi0rCSAgJiYgVFJFRV9DT0RFIChUWVBFX1NJWkUgKHR5cGUpKSA9PSBJTlRFR0VS X0NTVAotKwkgICYmIChUUkVFX0lOVF9DU1RfTE9XIChUWVBFX1NJWkUgKHR5cGUpKSA+PSAxMjgK LSsJICAgICAgfHwgVFJFRV9JTlRfQ1NUX0hJR0ggKFRZUEVfU0laRSAodHlwZSkpKSAmJiBhbGln biA8IDEyOCkKLSAJcmV0dXJuIDEyODsKLSAgICAgfQotIAotKyAgaWYgKCFvcHQpCi0rICAgIHJl dHVybiBhbGlnbjsKLSsKLSAgIGlmIChUUkVFX0NPREUgKHR5cGUpID09IEFSUkFZX1RZUEUpCi0g ICAgIHsKLSAgICAgICBpZiAoVFlQRV9NT0RFIChUUkVFX1RZUEUgKHR5cGUpKSA9PSBERm1vZGUg JiYgYWxpZ24gPCA2NCkKLS0tLSBnY2MvY29uZmlnL2M2eC9jNnguaAkocmV2aXNpb24gMTk5ODk3 KQotKysrIGdjYy9jb25maWcvYzZ4L2M2eC5oCShyZXZpc2lvbiAxOTk4OTgpCi1AQCAtMTM0LDcg KzEzNCw3IEBAIGV4dGVybiBjNnhfY3B1X3QgYzZ4X2FyY2g7Ci0gICAgUmVhbGx5IG9ubHkgZXh0 ZXJuYWxseSB2aXNpYmxlIGFycmF5cyBtdXN0IGJlIGFsaWduZWQgdGhpcyB3YXksIGFzCi0gICAg b25seSB0aG9zZSBhcmUgZGlyZWN0bHkgdmlzaWJsZSBmcm9tIGFub3RoZXIgY29tcGlsYXRpb24g dW5pdC4gIEJ1dAotICAgIHdlIGRvbid0IGhhdmUgdGhhdCBpbmZvcm1hdGlvbiBhdmFpbGFibGUg aGVyZS4gICovCi0tI2RlZmluZSBEQVRBX0FMSUdOTUVOVChUWVBFLCBBTElHTikJCQkJCVwKLSsj ZGVmaW5lIERBVEFfQUJJX0FMSUdOTUVOVChUWVBFLCBBTElHTikJCQkJCVwKLSAgICgoKEFMSUdO KSA8IEJJVFNfUEVSX1VOSVQgKiA4ICYmIFRSRUVfQ09ERSAoVFlQRSkgPT0gQVJSQVlfVFlQRSkJ XAotICAgID8gQklUU19QRVJfVU5JVCAqIDggOiAoQUxJR04pKQotIAotLS0tIGdjYy9jb25maWcv bW1peC9tbWl4LmgJKHJldmlzaW9uIDE5OTg5NykKLSsrKyBnY2MvY29uZmlnL21taXgvbW1peC5o CShyZXZpc2lvbiAxOTk4OTgpCi1AQCAtMTY0LDcgKzE2NCw3IEBAIHN0cnVjdCBHVFkoKCkpIG1h Y2hpbmVfZnVuY3Rpb24KLSAvKiBDb3BpZWQgZnJvbSBlbGZvcy5oLiAgKi8KLSAjZGVmaW5lIE1B WF9PRklMRV9BTElHTk1FTlQgKDMyNzY4ICogOCkKLSAKLS0jZGVmaW5lIERBVEFfQUxJR05NRU5U KFRZUEUsIEJBU0lDX0FMSUdOKSBcCi0rI2RlZmluZSBEQVRBX0FCSV9BTElHTk1FTlQoVFlQRSwg QkFTSUNfQUxJR04pIFwKLSAgbW1peF9kYXRhX2FsaWdubWVudCAoVFlQRSwgQkFTSUNfQUxJR04p Ci0gCi0gI2RlZmluZSBDT05TVEFOVF9BTElHTk1FTlQoQ09OU1RBTlQsIEJBU0lDX0FMSUdOKSBc Ci0tLS0gZ2NjL2NvbmZpZy9tbWl4L21taXguYwkocmV2aXNpb24gMTk5ODk3KQotKysrIGdjYy9j b25maWcvbW1peC9tbWl4LmMJKHJldmlzaW9uIDE5OTg5OCkKLUBAIC0zMTMsNyArMzEzLDcgQEAg bW1peF9pbml0X21hY2hpbmVfc3RhdHVzICh2b2lkKQotICAgcmV0dXJuIGdnY19hbGxvY19jbGVh cmVkX21hY2hpbmVfZnVuY3Rpb24gKCk7Ci0gfQotIAotLS8qIERBVEFfQUxJR05NRU5ULgotKy8q IERBVEFfQUJJX0FMSUdOTUVOVC4KLSAgICBXZSBoYXZlIHRyb3VibGUgZ2V0dGluZyB0aGUgYWRk cmVzcyBvZiBzdHVmZiB0aGF0IGlzIGxvY2F0ZWQgYXQgb3RoZXIKLSAgICB0aGFuIDMyLWJpdCBh bGlnbm1lbnRzIChHRVRBIHJlcXVpcmVtZW50cyksIHNvIHRyeSB0byBnaXZlIGV2ZXJ5dGhpbmcK LSAgICBhdCBsZWFzdCAzMi1iaXQgYWxpZ25tZW50LiAgKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvaTM4Ni9tZW1jcHktMS5jCShyZXZpc2lvbiAxOTk4OTcpCi0rKysgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L2kzODYvbWVtY3B5LTEuYwkocmV2aXNpb24gMTk5ODk4KQotQEAgLTEs NiArMSw2IEBACi0gLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLSAvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCBpYTMyIH0gKi8KLS0vKiB7IGRnLW9wdGlvbnMgIi1PMiAtbWFyY2g9cGVu dGl1bXBybyAtbWlubGluZS1hbGwtc3RyaW5nb3BzIiB9ICovCi0rLyogeyBkZy1vcHRpb25zICIt TzIgLW1hcmNoPXBlbnRpdW1wcm8gLW1pbmxpbmUtYWxsLXN0cmluZ29wcyAtZm5vLWNvbW1vbiIg fSAqLwotIC8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAicmVwIiB9IH0gKi8KLSAvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgIm1vdnMiIH0gfSAqLwotIC8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci1ub3QgInRlc3QiIH0gfSAqLwotLS0tIGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L3ZlY3Qtc2l6ZXMtMS5jCShyZXZpc2lvbiAxOTk4OTcpCi0rKysgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L2kzODYvdmVjdC1zaXplcy0xLmMJKHJldmlzaW9uIDE5OTg5OCkK LUBAIC0xLDUgKzEsNSBAQAotIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0tLyogeyBkZy1vcHRp b25zICItTzMgLWZmYXN0LW1hdGggLW1hdnggLW10dW5lPWdlbmVyaWMiIH0gKi8KLSsvKiB7IGRn LW9wdGlvbnMgIi1PMyAtZmZhc3QtbWF0aCAtbWF2eCAtbXR1bmU9Z2VuZXJpYyAtZm5vLWNvbW1v biIgfSAqLwotIAotIGRvdWJsZSBhWzEwMjRdOwotIAotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQtbG9hZC00LmMJKHJldmlzaW9uIDE5OTg5NykKLSsr KyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGlnbmVkLWxvYWQtNC5j CShyZXZpc2lvbiAxOTk4OTgpCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8zIC1kcCAtbWF2eCAtbW5vLWF2eDI1Ni1zcGxpdC11 bmFsaWduZWQtbG9hZCAtbW5vLWF2eDI1Ni1zcGxpdC11bmFsaWduZWQtc3RvcmUiIH0gKi8KLSsv KiB7IGRnLW9wdGlvbnMgIi1PMyAtZHAgLW1hdnggLW1uby1hdngyNTYtc3BsaXQtdW5hbGlnbmVk LWxvYWQgLW1uby1hdngyNTYtc3BsaXQtdW5hbGlnbmVkLXN0b3JlIC1mbm8tY29tbW9uIiB9ICov Ci0gCi0gI2RlZmluZSBOIDEwMjQKLSAKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9hdngyNTYtdW5hbGlnbmVkLXN0b3JlLTEuYwkocmV2aXNpb24gMTk5ODk3KQotKysrIGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMS5jCShyZXZp c2lvbiAxOTk4OTgpCi1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwot LS8qIHsgZGctb3B0aW9ucyAiLU8zIC1kcCAtbWF2eCAtbWF2eDI1Ni1zcGxpdC11bmFsaWduZWQt c3RvcmUiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMyAtZHAgLW1hdnggLW1hdngyNTYtc3Bs aXQtdW5hbGlnbmVkLXN0b3JlIC1mbm8tY29tbW9uIiB9ICovCi0gCi0gI2RlZmluZSBOIDEwMjQK LSAKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5hbGlnbmVkLXN0 b3JlLTMuYwkocmV2aXNpb24gMTk5ODk3KQotKysrIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtMy5jCShyZXZpc2lvbiAxOTk4OTgpCi1AQCAtMSw1 ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLS8qIHsgZGctb3B0aW9ucyAiLU8z IC1kcCAtbWF2eCAtbWF2eDI1Ni1zcGxpdC11bmFsaWduZWQtc3RvcmUgLW10dW5lPWdlbmVyaWMi IH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMyAtZHAgLW1hdnggLW1hdngyNTYtc3BsaXQtdW5h bGlnbmVkLXN0b3JlIC1tdHVuZT1nZW5lcmljIC1mbm8tY29tbW9uIiB9ICovCi0gCi0gI2RlZmlu ZSBOIDEwMjQKLSAKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9hdngyNTYtdW5h bGlnbmVkLXN0b3JlLTQuYwkocmV2aXNpb24gMTk5ODk3KQotKysrIGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9pMzg2L2F2eDI1Ni11bmFsaWduZWQtc3RvcmUtNC5jCShyZXZpc2lvbiAxOTk4OTgp Ci1AQCAtMSw1ICsxLDUgQEAKLSAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLS8qIHsgZGctb3B0 aW9ucyAiLU8zIC1kcCAtbWF2eCAtbW5vLWF2eDI1Ni1zcGxpdC11bmFsaWduZWQtbG9hZCAtbW5v LWF2eDI1Ni1zcGxpdC11bmFsaWduZWQtc3RvcmUiIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1P MyAtZHAgLW1hdnggLW1uby1hdngyNTYtc3BsaXQtdW5hbGlnbmVkLWxvYWQgLW1uby1hdngyNTYt c3BsaXQtdW5hbGlnbmVkLXN0b3JlIC1mbm8tY29tbW9uIiB9ICovCi0gCi0gI2RlZmluZSBOIDEw MjQKLSAKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU2NTY0LTEuYwkocmV2 aXNpb24gMCkKLSsrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU2NTY0LTEuYwko cmV2aXNpb24gMTk5OTg1KQotQEAgLTAsMCArMSwyNiBAQAotKy8qIFBSIHRhcmdldC81NjU2NCAq LwotKy8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7IGZwaWMgJiYgbHA2NCB9IH0gfSAqLwot Ky8qIHsgZGctc2tpcC1pZiAiTm8gc3ltYm9sIGludGVycG9zaXRpb24gZm9yIFBJQyIgeyAqLSot bWluZ3cqICotKi1jeWd3aW4qICotKi1kYXJ3aW4qIH0gfSAqLwotKy8qIHsgZGctb3B0aW9ucyAi LU8zIC1mcGljIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfSAqLwotKwotK3N0cnVjdCBTIHsgbG9u ZyBhLCBiOyB9IHMgPSB7IDUsIDYgfTsKLStjaGFyIHRbMTZdID0geyA3IH07Ci0rCi0raW50Ci0r Zm9vICh2b2lkKQotK3sKLSsgIHJldHVybiAoKF9fVUlOVFBUUl9UWVBFX18pICZzKSAmIDE1Owot K30KLSsKLStpbnQKLStiYXIgKHZvaWQpCi0rewotKyAgcmV0dXJuICgoX19VSU5UUFRSX1RZUEVf XykgJnRbMF0pICYgMTU7Ci0rfQotKwotKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10 aW1lcyAiJnMiIDEgIm9wdGltaXplZCIgfSB9ICovCi0rLyogeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLXRpbWVzICImdCIgMCAib3B0aW1pemVkIiB9IH0gKi8KLSsvKiB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtdGltZXMgInJldHVybiAwIiAxICJvcHRpbWl6ZWQiIH0gfSAqLwotKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAiLmFsaWduXFsgXHRdKjE2XFteOl0qXFtcblxy XXM6IiB7IHRhcmdldCB7ICotKi1saW51eCogfSB9IH0gfSAqLwotKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlciAiLmFsaWduXFsgXHRdKjE2XFteOl0qXFtcblxyXXQ6IiB7IHRhcmdldCB7 ICotKi1saW51eCogfSB9IH0gfSAqLwotKy8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVt cCAib3B0aW1pemVkIiB9IH0gKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9w cjU2NTY0LTIuYwkocmV2aXNpb24gMCkKLSsrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4 Ni9wcjU2NTY0LTIuYwkocmV2aXNpb24gMTk5ODk4KQotQEAgLTAsMCArMSwyNSBAQAotKy8qIFBS IHRhcmdldC81NjU2NCAqLwotKy8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7ICotKi1saW51 eCogJiYgbHA2NCB9IH0gfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLU8zIC1mbm8tcGljIC1mZHVt cC10cmVlLW9wdGltaXplZCIgfSAqLwotKwotK3N0cnVjdCBTIHsgbG9uZyBhLCBiOyB9IHMgPSB7 IDUsIDYgfTsKLStjaGFyIHRbMTZdID0geyA3IH07Ci0rCi0raW50Ci0rZm9vICh2b2lkKQotK3sK LSsgIHJldHVybiAoKF9fVUlOVFBUUl9UWVBFX18pICZzKSAmIDE1OwotK30KLSsKLStpbnQKLSti YXIgKHZvaWQpCi0rewotKyAgcmV0dXJuICgoX19VSU5UUFRSX1RZUEVfXykgJnRbMF0pICYgMTU7 Ci0rfQotKwotKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiJnMiIDAgIm9w dGltaXplZCIgfSB9ICovCi0rLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICIm dCIgMCAib3B0aW1pemVkIiB9IH0gKi8KLSsvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt dGltZXMgInJldHVybiAwIiAyICJvcHRpbWl6ZWQiIH0gfSAqLwotKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlciAiLmFsaWduXFsgXHRdKjE2XFteOl0qXFtcblxyXXM6IiB7IHRhcmdldCB7 ICotKi1saW51eCogfSB9IH0gfSAqLwotKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAi LmFsaWduXFsgXHRdKjE2XFteOl0qXFtcblxyXXQ6IiB7IHRhcmdldCB7ICotKi1saW51eCogfSB9 IH0gfSAqLwotKy8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVtcCAib3B0aW1pemVkIiB9 IH0gKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU2NTY0LTMuYwkocmV2 aXNpb24gMCkKLSsrKyBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9wcjU2NTY0LTMuYwko cmV2aXNpb24gMTk5OTg1KQotQEAgLTAsMCArMSwyOSBAQAotKy8qIFBSIHRhcmdldC81NjU2NCAq LwotKy8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7IGZwaWMgJiYgbHA2NCB9IH0gfSAqLwot Ky8qIHsgZGctc2tpcC1pZiAiTm8gc3ltYm9sIGludGVycG9zaXRpb24gZm9yIFBJQyIgeyAqLSot bWluZ3cqICotKi1jeWd3aW4qICotKi1kYXJ3aW4qIH0gfSAqLwotKy8qIHsgZGctb3B0aW9ucyAi LU8zIC1mcGljIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfSAqLwotKwotK19fdGhyZWFkIHN0cnVj dCBTIHsgbG9uZyBhLCBiOyB9IHMgPSB7IDUsIDYgfTsKLStfX3RocmVhZCBjaGFyIHRbMTZdID0g eyA3IH07Ci0rCi0raW50Ci0rZm9vICh2b2lkKQotK3sKLSsgIHJldHVybiAoKF9fVUlOVFBUUl9U WVBFX18pICZzKSAmIDE1OwotK30KLSsKLSsvKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkg d2UgZG9uJ3QgYXNzdW1lIHRoYXQgdCBtdXN0Ci0rICAgYmUgYWxpZ25lZCB0byAxNiBieXRlcywg YnV0IGFsaWduIGl0IGFueXdheS4gICovCi0rCi0raW50Ci0rYmFyICh2b2lkKQotK3sKLSsgIHJl dHVybiAoKF9fVUlOVFBUUl9UWVBFX18pICZ0WzBdKSAmIDE1OwotK30KLSsKLSsvKiB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiZzIiAxICJvcHRpbWl6ZWQiIH0gfSAqLwotKy8q IHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiJnQiIDEgIm9wdGltaXplZCIgfSB9 ICovCi0rLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLXRpbWVzICJyZXR1cm4gMCIgMCAi b3B0aW1pemVkIiB9IH0gKi8KLSsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICIu YWxpZ25cWyBcdF0qMTZcW146XSpcW1xuXHJdczoiIHsgdGFyZ2V0IHsgKi0qLWxpbnV4KiB9IH0g fSB9ICovCi0rLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICIuYWxpZ25cWyBcdF0qMTZc W146XSpcW1xuXHJddDoiIHsgdGFyZ2V0IHsgKi0qLWxpbnV4KiB9IH0gfSB9ICovCi0rLyogeyBk Zy1maW5hbCB7IGNsZWFudXAtdHJlZS1kdW1wICJvcHRpbWl6ZWQiIH0gfSAqLwotLS0tIGdjYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTY1NjQtNC5jCShyZXZpc2lvbiAwKQotKysrIGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9pMzg2L3ByNTY1NjQtNC5jCShyZXZpc2lvbiAxOTk4OTgp Ci1AQCAtMCwwICsxLDIyIEBACi0rLyogUFIgdGFyZ2V0LzU2NTY0ICovCi0rLyogeyBkZy1kbyBj b21waWxlIHsgdGFyZ2V0IHsgKi0qLWxpbnV4KiAmJiBscDY0IH0gfSB9ICovCi0rLyogeyBkZy1v cHRpb25zICItTzMgLWZuby1waWMgLWZkdW1wLXRyZWUtb3B0aW1pemVkIiB9ICovCi0rCi0rX190 aHJlYWQgc3RydWN0IFMgeyBsb25nIGEsIGI7IH0gcyA9IHsgNSwgNiB9OwotK19fdGhyZWFkIGNo YXIgdFsxNl0gPSB7IDcgfTsKLSsKLStpbnQKLStmb28gKHZvaWQpCi0rewotKyAgcmV0dXJuICgo X19VSU5UUFRSX1RZUEVfXykgJnMpICYgMTU7Ci0rfQotKwotK2ludAotK2JhciAodm9pZCkKLSt7 Ci0rICByZXR1cm4gKChfX1VJTlRQVFJfVFlQRV9fKSAmdFswXSkgJiAxNTsKLSt9Ci0rCi0rLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAiLmFsaWduXFsgXHRdKjE2XFteOl0qXFtc blxyXXM6IiB7IHRhcmdldCB7ICotKi1saW51eCogfSB9IH0gfSAqLwotKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlciAiLmFsaWduXFsgXHRdKjE2XFteOl0qXFtcblxyXXQ6IiB7IHRhcmdl dCB7ICotKi1saW51eCogfSB9IH0gfSAqLwotKy8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUt ZHVtcCAib3B0aW1pemVkIiB9IH0gKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L2Nv c3Rtb2RlbC9pMzg2L2Nvc3Rtb2RlbC12ZWN0LTMxLmMJKHJldmlzaW9uIDE5OTg5NykKLSsrKyBn Y2MvdGVzdHN1aXRlL2djYy5kZy92ZWN0L2Nvc3Rtb2RlbC9pMzg2L2Nvc3Rtb2RlbC12ZWN0LTMx LmMJKHJldmlzaW9uIDE5OTg5OCkKLUBAIC0xOCw3ICsxOCw3IEBAIHN0cnVjdCBzewotICAgc3Ry dWN0IHQgZTsgICAvKiB1bmFsaWduZWQgKG9mZnNldCAyTis0Tis0IEIpICovCi0gfTsKLSAgCi0t c3RydWN0IHMgdG1wOwotK3N0cnVjdCBzIHRtcCA9IHsgMSB9OwotIAotIGludCBtYWluMSAoKQot IHsgIAotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ZlY3QvY29zdG1vZGVsL3g4Nl82NC9jb3N0 bW9kZWwtdmVjdC0zMS5jCShyZXZpc2lvbiAxOTk4OTcpCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvdmVjdC9jb3N0bW9kZWwveDg2XzY0L2Nvc3Rtb2RlbC12ZWN0LTMxLmMJKHJldmlzaW9uIDE5 OTg5OCkKLUBAIC0xOCw3ICsxOCw3IEBAIHN0cnVjdCBzewotICAgc3RydWN0IHQgZTsgICAvKiB1 bmFsaWduZWQgKG9mZnNldCAyTis0Tis0IEIpICovCi0gfTsKLSAgCi0tc3RydWN0IHMgdG1wOwot K3N0cnVjdCBzIHRtcCA9IHsgMSB9OwotIAotIGludCBtYWluMSAoKQotIHsgIAotLS0tIGdjYy90 ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL2xvb3AtMTkuYwkocmV2aXNpb24gMjAwMjEyKQotKysr IGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3RyZWUtc3NhL2xvb3AtMTkuYwkocmV2aXNpb24gMjAwMjEz KQotQEAgLTYsNyArNiw3IEBACi0gCi0gLyogeyBkZy1kbyBjb21waWxlIHsgdGFyZ2V0IHsgaT84 Ni0qLSogfHwgeyB4ODZfNjQtKi0qIHx8IHBvd2VycGNfaGFyZF9kb3VibGUgfSB9IH0gfSAqLwot IC8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG5vbnBpYyB9ICovCi0tLyogeyBkZy1v cHRpb25zICItTzMgLWZuby10cmVlLWxvb3AtZGlzdHJpYnV0ZS1wYXR0ZXJucyAtZm5vLXByZWZl dGNoLWxvb3AtYXJyYXlzIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfSAqLwotKy8qIHsgZGctb3B0 aW9ucyAiLU8zIC1mbm8tdHJlZS1sb29wLWRpc3RyaWJ1dGUtcGF0dGVybnMgLWZuby1wcmVmZXRj aC1sb29wLWFycmF5cyAtZmR1bXAtdHJlZS1vcHRpbWl6ZWQgLWZuby1jb21tb24iIH0gKi8KLSAK LSAjIGRlZmluZSBOICAgICAgMjAwMDAwMAotIGRvdWJsZSAgIGFbTl0sY1tOXTsKCmRpZmYgLS1n aXQgYS9nY2M0OC1wcjYwMDEwLnBhdGNoIGIvZ2NjNDgtcHI2MDAxMC5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMGJhYTU1My4uMDAwMDAwMAotLS0gYS9nY2M0OC1wcjYwMDEw LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotMjAxNC0wMi0xNCAgS3lsZSBN Y01hcnRpbiAgPGt5bGVAcmVkaGF0LmNvbT4KLQotCVBSIHBjaC82MDAxMAotCSogY29uZmlnL2hv c3QtbGludXguYyAoVFJZX0VNUFRZX1ZNX1NQQUNFKTogRGVmaW5lIGZvciBBQXJjaDY0LgotCi0t LS0gZ2NjL2NvbmZpZy9ob3N0LWxpbnV4LmMJKHJldmlzaW9uIDIwNzc4NCkKLSsrKyBnY2MvY29u ZmlnL2hvc3QtbGludXguYwkocmV2aXNpb24gMjA3Nzg1KQotQEAgLTg2LDYgKzg2LDggQEAKLSAj IGRlZmluZSBUUllfRU1QVFlfVk1fU1BBQ0UJMHg2MDAwMDAwMAotICNlbGlmIGRlZmluZWQoX19t YzY4MDAwX18pCi0gIyBkZWZpbmUgVFJZX0VNUFRZX1ZNX1NQQUNFCTB4NDAwMDAwMDAKLSsjZWxp ZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyMgZGVmaW5lIFRSWV9FTVBUWV9WTV9TUEFDRQkweDEw MDAwMDAwMDAKLSAjZWxpZiBkZWZpbmVkKF9fQVJNX0VBQklfXykKLSAjIGRlZmluZSBUUllfRU1Q VFlfVk1fU1BBQ0UgICAgIDB4NjAwMDAwMDAKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKSAmJiBk ZWZpbmVkKF9fTFA2NF9fKQoKZGlmZiAtLWdpdCBhL2djYzQ4LXByNjAwNDYucGF0Y2ggYi9nY2M0 OC1wcjYwMDQ2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGU2ZGE5Li4w MDAwMDAwCi0tLSBhL2djYzQ4LXByNjAwNDYucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MyAr MCwwIEBACi0yMDE0LTAyLTE5ICBKYXNvbiBNZXJyaWxsICA8amFzb25AcmVkaGF0LmNvbT4KLQot CVBSIGMrKy82MDA0NgotCSogcHQuYyAobWF5YmVfaW5zdGFudGlhdGVfbm9leGNlcHQpOiBEb24n dCBpbnN0YW50aWF0ZSBleGNlcHRpb24KLQlzcGVjIGZyb20gdGVtcGxhdGUgY29udGV4dC4KLQot LS0tIGdjYy9jcC9wdC5jCShyZXZpc2lvbiAyMDc5MjApCi0rKysgZ2NjL2NwL3B0LmMJKHJldmlz aW9uIDIwNzkyMSkKLUBAIC0xODU2Nyw2ICsxODU2NywxMCBAQCBtYXliZV9pbnN0YW50aWF0ZV9u b2V4Y2VwdCAodHJlZSBmbikKLSB7Ci0gICB0cmVlIGZudHlwZSwgc3BlYywgbm9leCwgY2xvbmU7 Ci0gCi0rICAvKiBEb24ndCBpbnN0YW50aWF0ZSBhIG5vZXhjZXB0LXNwZWNpZmljYXRpb24gZnJv bSB0ZW1wbGF0ZSBjb250ZXh0LiAgKi8KLSsgIGlmIChwcm9jZXNzaW5nX3RlbXBsYXRlX2RlY2wp Ci0rICAgIHJldHVybjsKLSsKLSAgIGlmIChERUNMX0NMT05FRF9GVU5DVElPTl9QIChmbikpCi0g ICAgIGZuID0gREVDTF9DTE9ORURfRlVOQ1RJT04gKGZuKTsKLSAgIGZudHlwZSA9IFRSRUVfVFlQ RSAoZm4pOwotLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2NwcDB4L25vZXhjZXB0MjIuQwkocmV2 aXNpb24gMCkKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9jcHAweC9ub2V4Y2VwdDIyLkMJKHJl dmlzaW9uIDIwNzkyMSkKLUBAIC0wLDAgKzEsMjEgQEAKLSsvLyBQUiBjKysvNjAwNDYKLSsvLyB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBjKysxMSB9Ci0rCi0rY29uc3RleHByIGJvb2wg Zm9vICgpIHsgcmV0dXJuIG5vZXhjZXB0ICh0cnVlKTsgfQotK3RlbXBsYXRlIDx0eXBlbmFtZSBU PgotK3N0cnVjdCBWCi0rewotKyAgdm9pZCBiYXIgKFYgJikgbm9leGNlcHQgKGZvbyAoKSkge30K LSt9OwotK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgotK3N0cnVjdCBXIDogcHVibGljIFYgPGludD4K LSt7Ci0rICB2b2lkIGJhciAoVyAmeCkgeyBWIDxpbnQ+OjpiYXIgKHgpOyB9Ci0rfTsKLSsKLStp bnQKLSttYWluICgpCi0rewotKyAgVyA8aW50PiBhLCBiOwotKyAgYS5iYXIgKGIpOwotK30KCmRp ZmYgLS1naXQgYS9nY2M0OC1wcjYwMTM3LnBhdGNoIGIvZ2NjNDgtcHI2MDEzNy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzRjZDk5OC4uMDAwMDAwMAotLS0gYS9nY2M0OC1w cjYwMTM3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotMjAxNC0wMi0xMSAg TWljaGFlbCBNZWlzc25lciAgPG1laXNzbmVyQGxpbnV4LnZuZXQuaWJtLmNvbT4KLQotCVBSIHRh cmdldC82MDEzNwotCSogY29uZmlnL3JzNjAwMC9yczYwMDAubWQgKDEyOC1iaXQgR1BSIHNwbGl0 dGVyKTogQWRkIGEgc3BsaXR0ZXIKLQlmb3IgVlNYL0FsdGl2ZWMgdmVjdG9ycyB0aGF0IGxhbmQg aW4gR1BSIHJlZ2lzdGVycy4KLQotCSogZ2NjLnRhcmdldC9wb3dlcnBjL3ByNjAxMzcuYzogTmV3 IGZpbGUuCi0KLS0tLSBnY2MvY29uZmlnL3JzNjAwMC9yczYwMDAubWQJKHJldmlzaW9uIDIwNzY5 OCkKLSsrKyBnY2MvY29uZmlnL3JzNjAwMC9yczYwMDAubWQJKHJldmlzaW9uIDIwNzY5OSkKLUBA IC05OTYzLDYgKzk5NjMsMTUgQEAgKGRlZmluZV9pbnNuX2FuZF9zcGxpdCAicmVsb2FkX3ZzeF9m cm9tXwotICAgWyhzZXRfYXR0ciAibGVuZ3RoIiAiMTIiKQotICAgIChzZXRfYXR0ciAidHlwZSIg InRocmVlIildKQotIAotKyhkZWZpbmVfc3BsaXQKLSsgIFsoc2V0IChtYXRjaF9vcGVyYW5kOkZN T1ZFMTI4X0dQUiAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgIiIpCi0rCShtYXRjaF9vcGVyYW5k OkZNT1ZFMTI4X0dQUiAxICJpbnB1dF9vcGVyYW5kIiAiIikpXQotKyAgInJlbG9hZF9jb21wbGV0 ZWQKLSsgICAmJiAoaW50X3JlZ19vcGVyYW5kIChvcGVyYW5kc1swXSwgPE1PREU+bW9kZSkKLSsg ICAgICAgfHwgaW50X3JlZ19vcGVyYW5kIChvcGVyYW5kc1sxXSwgPE1PREU+bW9kZSkpIgotKyAg WyhwYyldCi0reyByczYwMDBfc3BsaXRfbXVsdGlyZWdfbW92ZSAob3BlcmFuZHNbMF0sIG9wZXJh bmRzWzFdKTsgRE9ORTsgfSkKLSsKLSA7OyBNb3ZlIFNGbW9kZSB0byBhIFZTWCBmcm9tIGEgR1BS IHJlZ2lzdGVyLiAgQmVjYXVzZSBzY2FsYXIgZmxvYXRpbmcgcG9pbnQKLSA7OyB0eXBlIGlzIHN0 b3JlZCBpbnRlcm5hbGx5IGFzIGRvdWJsZSBwcmVjaXNpb24gaW4gdGhlIFZTWCByZWdpc3RlcnMs IHdlIGhhdmUKLSA7OyB0byBjb252ZXJ0IGl0IGZyb20gdGhlIHZlY3RvciBmb3JtYXQuCi0tLS0g Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Bvd2VycGMvcHI2MDEzNy5jCShyZXZpc2lvbiAwKQot KysrIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9wb3dlcnBjL3ByNjAxMzcuYwkocmV2aXNpb24g MjA3Njk5KQotQEAgLTAsMCArMSwxNyBAQAotKy8qIHsgZGctZG8gY29tcGlsZSB7IHRhcmdldCB7 IHBvd2VycGMqLSotKiB9IH0gfSAqLwotKy8qIHsgZGctc2tpcC1pZiAiIiB7IHBvd2VycGMqLSot ZGFyd2luKiB9IHsgIioiIH0geyAiIiB9IH0gKi8KLSsvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZl LXRhcmdldCBwb3dlcnBjX3A4dmVjdG9yX29rIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1tY3B1 PXBvd2VyOCAtTzMgLW1uby12c3giIH0gKi8KLSsKLSsvKiB0YXJnZXQvNjAxMzcsIGNvbXBpbGVy IGdvdCBhICdjb3VsZCBub3Qgc3BsaXQgaW5zbiBlcnJvcicuICAqLwotKwotK2V4dGVybiBpbnQg dGFyZ2V0X2ZsYWdzOwotK2V4dGVybiBjaGFyIGZpeGVkX3JlZ3NbNTNdOwotK2V4dGVybiBjaGFy IGNhbGxfdXNlZF9yZWdzWzUzXTsKLSsKLSt2b2lkIGluaXRfcmVnX3NldHNfMSh2b2lkKQotK3sK LSsgIGludCBpOwotKyAgZm9yIChpID0gMDsgaSA8IDUzOyBpKyspCi0rICAgIGZpeGVkX3JlZ3Nb aV0gPSBjYWxsX3VzZWRfcmVnc1tpXSA9IChjYWxsX3VzZWRfcmVnc1tpXSAmKCh0YXJnZXRfZmxh Z3MgJiAweDAyMDAwMDAwKSA/IDIgOiAxKSkgIT0gMDsKLSt9CgpkaWZmIC0tZ2l0IGEvZ2NjNDgt cmgzMzA3NzEucGF0Y2ggYi9nY2M0OC1yaDMzMDc3MS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMTAyNzMwZi4uMDAwMDAwMAotLS0gYS9nY2M0OC1yaDMzMDc3MS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLTIwMDctMTAtMTYgIEpha3ViIEplbGluZWsg IDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiBNYWtlZmlsZS5hbSAobGliZ2NqX3Rvb2xzX2xhX0xJ QkFERCk6IEFkZC4KLQkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KLQotLS0tIGxpYmphdmEv TWFrZWZpbGUuYW0uamoJMjAwOS0wNS0wNiAwODoxNDo1MC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBs aWJqYXZhL01ha2VmaWxlLmFtCTIwMDktMDUtMDYgMTA6MjY6NDMuMDAwMDAwMDAwICswMjAwCi1A QCAtNTUwLDcgKzU1MCw3IEBAIGxpYmdjal90b29sc19sYV9MREZMQUdTID0gLXJwYXRoICQodG9v bGUKLSAgJChMSUJHQ0pfTERfU1lNQk9MSUNfRlVOQ1RJT05TKSAkKExJQkpBVkFfTERGTEFHU19O T1VOREVGKSBcCi0gICQoTElCSkFWQV9MREZMQUdTX0xJQk1BVEgpCi0gCi0tbGliZ2NqX3Rvb2xz X2xhX0xJQkFERCA9IGxpYmdjai5sYQotK2xpYmdjal90b29sc19sYV9MSUJBREQgPSAtTCQoaGVy ZSkvLmxpYnMgbGliZ2NqLmxhCi0gbGliZ2NqX3Rvb2xzX2xhX0RFUEVOREVOQ0lFUyA9IGxpYmdj ai5sYSBsaWJnY2ouc3BlYyBcCi0gICQobGliZ2NqX3Rvb2xzX2xhX3ZlcnNpb25fZGVwKQotIGlm IEJVSUxEX1NVQkxJQlMKLS0tLSBsaWJqYXZhL01ha2VmaWxlLmluLmpqCTIwMDktMDUtMDYgMDg6 MTQ6NDkuMDAwMDAwMDAwICswMjAwCi0rKysgbGliamF2YS9NYWtlZmlsZS5pbgkyMDA5LTA1LTA2 IDEwOjI3OjE4LjAwMDAwMDAwMCArMDIwMAotQEAgLTExMTAsNyArMTExMCw3IEBAIGxpYmdjal90 b29sc19sYV9MREZMQUdTID0gLXJwYXRoICQodG9vbGUKLSAgJChMSUJHQ0pfTERfU1lNQk9MSUNf RlVOQ1RJT05TKSAkKExJQkpBVkFfTERGTEFHU19OT1VOREVGKSBcCi0gICQoTElCSkFWQV9MREZM QUdTX0xJQk1BVEgpCi0gCi0tbGliZ2NqX3Rvb2xzX2xhX0xJQkFERCA9IGxpYmdjai5sYQotK2xp Ymdjal90b29sc19sYV9MSUJBREQgPSAtTCQoaGVyZSkvLmxpYnMgbGliZ2NqLmxhCi0gbGliZ2Nq X3Rvb2xzX2xhX0RFUEVOREVOQ0lFUyA9IGxpYmdjai5sYSBsaWJnY2ouc3BlYyBcCi0gCSQobGli Z2NqX3Rvb2xzX2xhX3ZlcnNpb25fZGVwKSAkKGFtX19hcHBlbmRfMTkpCi0gbGliZ2NqX3Rvb2xz X2xhX0xJTksgPSAkKExJQkxJTkspICQobGliZ2NqX3Rvb2xzX2xhX0xERkxBR1MpIFwKCmRpZmYg LS1naXQgYS9nY2M0OC1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoIGIvZ2NjNDgtc3BhcmMt Y29uZmlnLWRldGVjdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTdm ZWQyMi4uMDAwMDAwMAotLS0gYS9nY2M0OC1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLS0tIGdjYy9jb25maWcuZ2NjLmpqCTIwMDgt MDQtMjQgMTU6NDI6NDYuMDAwMDAwMDAwIC0wNTAwCi0rKysgZ2NjL2NvbmZpZy5nY2MJMjAwOC0w NC0yNCAxNTo0NDo1MS4wMDAwMDAwMDAgLTA1MDAKLUBAIC0yNDIxLDcgKzI0MjEsNyBAQCBzcGFy Yy0qLXJ0ZW1zKikKLSAJdG1fZmlsZT0iJHt0bV9maWxlfSBkYnhlbGYuaCBlbGZvcy5oIHNwYXJj L3N5c3Y0Lmggc3BhcmMvc3AtZWxmLmggc3BhcmMvcnRlbXNlbGYuaCBydGVtcy5oIG5ld2xpYi1z dGRpbnQuaCIKLSAJdG1ha2VfZmlsZT0ic3BhcmMvdC1zcGFyYyBzcGFyYy90LWVsZiBzcGFyYy90 LXJ0ZW1zIHQtcnRlbXMiCi0gCTs7Ci0tc3BhcmMtKi1saW51eCopCi0rc3BhcmMtKi1saW51eCog fCBzcGFyY3Y5LSotbGludXgqKQotIAl0bV9maWxlPSIke3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9z Lmggc3BhcmMvc3lzdjQuaCBnbnUtdXNlci5oIGxpbnV4LmggZ2xpYmMtc3RkaW50Lmggc3BhcmMv dHNvLmgiCi0gCWV4dHJhX29wdGlvbnM9IiR7ZXh0cmFfb3B0aW9uc30gc3BhcmMvbG9uZy1kb3Vi bGUtc3dpdGNoLm9wdCIKLSAJY2FzZSAke3RhcmdldH0gaW4KLUBAIC0yNDc0LDcgKzI0NzQsNyBA QCBzcGFyYzY0LSotcnRlbXMqKQotIAlleHRyYV9vcHRpb25zPSIke2V4dHJhX29wdGlvbnN9Igot IAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3Qtc3BhcmMgc3BhcmMvdC1ydGVtcy02 NCB0LXJ0ZW1zIgotIAk7OwotLXNwYXJjNjQtKi1saW51eCopCi0rc3BhcmM2NCotKi1saW51eCop Ci0gCXRtX2ZpbGU9InNwYXJjL2JpYXJjaDY0LmggJHt0bV9maWxlfSBkYnhlbGYuaCBlbGZvcy5o IHNwYXJjL3N5c3Y0LmggZ251LXVzZXIuaCBsaW51eC5oIGdsaWJjLXN0ZGludC5oIHNwYXJjL2Rl ZmF1bHQtNjQuaCBzcGFyYy9saW51eDY0Lmggc3BhcmMvdHNvLmgiCi0gCWV4dHJhX29wdGlvbnM9 IiR7ZXh0cmFfb3B0aW9uc30gc3BhcmMvbG9uZy1kb3VibGUtc3dpdGNoLm9wdCIKLSAJdG1ha2Vf ZmlsZT0iJHt0bWFrZV9maWxlfSBzcGFyYy90LXNwYXJjIHNwYXJjL3QtbGludXg2NCIKLS0tLSBs aWJnY2MvY29uZmlnLmhvc3QuamoJMjAwOC0wNC0yNCAxNTo0NjoxOS4wMDAwMDAwMDAgLTA1MDAK LSsrKyBsaWJnY2MvY29uZmlnLmhvc3QJMjAwOC0wNC0yNCAxNTo0Njo0OS4wMDAwMDAwMDAgLTA1 MDAKLUBAIC0xMDAyLDcgKzEwMDIsNyBAQCBzcGFyYy0qLWVsZiopCi0gCXRtYWtlX2ZpbGU9IiR7 dG1ha2VfZmlsZX0gdC1mZHBiaXQgdC1jcnRmbSIKLSAJZXh0cmFfcGFydHM9IiRleHRyYV9wYXJ0 cyBjcnRpLm8gY3J0bi5vIGNydGZhc3RtYXRoLm8iCi0gCTs7Ci0tc3BhcmMtKi1saW51eCopCQkj IFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgsIGxpYmM2Ci0rc3BhcmMtKi1saW51eCogfCBzcGFy Y3Y5LSotbGludXgqKQkJIyBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJjNgotIAl0bWFr ZV9maWxlPSIke3RtYWtlX2ZpbGV9IHQtY3J0Zm0iCi0gCWlmIHRlc3QgIiR7aG9zdF9hZGRyZXNz fSIgPSA2NDsgdGhlbgotIAkJdG1ha2VfZmlsZT0iJHRtYWtlX2ZpbGUgc3BhcmMvdC1saW51eDY0 IgotQEAgLTEwNTAsNyArMTA1MCw3IEBAIHNwYXJjNjQtKi1mcmVlYnNkKnx1bHRyYXNwYXJjLSot ZnJlZWJzZCoKLSAJdG1ha2VfZmlsZT0iJHRtYWtlX2ZpbGUgdC1jcnRmbSIKLSAJZXh0cmFfcGFy dHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0aC5vIgotIAk7OwotLXNwYXJjNjQtKi1saW51eCop CQkjIDY0LWJpdCBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4Ci0rc3BhcmM2NCotKi1saW51eCop CQkjIDY0LWJpdCBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4Ci0gCWV4dHJhX3BhcnRzPSIkZXh0 cmFfcGFydHMgY3J0ZmFzdG1hdGgubyIKLSAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSB0LWNy dGZtIHNwYXJjL3QtbGludXgiCi0gCWlmIHRlc3QgIiR7aG9zdF9hZGRyZXNzfSIgPSA2NDsgdGhl bgoKZGlmZiAtLWdpdCBhL2djYzQ5LWNsb29nLWRsLnBhdGNoIGIvZ2NjNDktY2xvb2ctZGwucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE3MjUwOQotLS0gL2Rldi9u dWxsCisrKyBiL2djYzQ5LWNsb29nLWRsLnBhdGNoCkBAIC0wLDAgKzEsNDc2IEBACistLS0gZ2Nj L01ha2VmaWxlLmluLmpqCTIwMTItMTItMTMgMTc6MDk6MjAuMDAwMDAwMDAwICswMTAwCisrKysg Z2NjL01ha2VmaWxlLmluCTIwMTItMTItMTQgMTE6NDU6MjIuNTg1NjcwMDU1ICswMTAwCitAQCAt MTAwNiw3ICsxMDA2LDcgQEAgQlVJTERfTElCREVQUz0gJChCVUlMRF9MSUJJQkVSVFkpCisgIyBh bmQgdGhlIHN5c3RlbSdzIGluc3RhbGxlZCBsaWJyYXJpZXMuCisgTElCUyA9IEBMSUJTQCBsaWJj b21tb24uYSAkKENQUExJQikgJChMSUJJTlRMKSAkKExJQklDT05WKSAkKExJQkJBQ0tUUkFDRSkg XAorIAkkKExJQklCRVJUWSkgJChMSUJERUNOVU1CRVIpICQoSE9TVF9MSUJTKQorLUJBQ0tFTkRM SUJTID0gJChDTE9PR0xJQlMpICQoR01QTElCUykgJChQTFVHSU5MSUJTKSAkKEhPU1RfTElCUykg XAorK0JBQ0tFTkRMSUJTID0gJChpZiAkKENMT09HTElCUyksLWxkbCkgJChHTVBMSUJTKSAkKFBM VUdJTkxJQlMpICQoSE9TVF9MSUJTKSBcCisgCSQoWkxJQikKKyAjIEFueSBzeXN0ZW0gbGlicmFy aWVzIG5lZWRlZCBqdXN0IGZvciBHTkFULgorIFNZU0xJQlMgPSBAR05BVF9MSUJFWENACitAQCAt MjAxMSw2ICsyMDExLDE1IEBAICQob3V0X29iamVjdF9maWxlKTogJChvdXRfZmlsZSkKKyAkKGNv bW1vbl9vdXRfb2JqZWN0X2ZpbGUpOiAkKGNvbW1vbl9vdXRfZmlsZSkKKyAJJChDT01QSUxFKSAk PAorIAkkKFBPU1RDT01QSUxFKQorKworK2dyYXBoaXRlJS5vIDogXAorKyAgQUxMX0NGTEFHUyA6 PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NGTEFHUykp CisrZ3JhcGhpdGUubyA6IFwKKysgIEFMTF9DRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0IC1ma2Vl cC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DRkxBR1MpKQorK2dyYXBoaXRlJS5vIDogXAorKyAg QUxMX0NYWEZMQUdTIDo9IC1PICQoZmlsdGVyLW91dCAtZmtlZXAtaW5saW5lLWZ1bmN0aW9ucywg JChBTExfQ1hYRkxBR1MpKQorK2dyYXBoaXRlLm8gOiBcCisrICBBTExfQ1hYRkxBR1MgOj0gLU8g JChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhGTEFHUykpCisg IwwKKyAjIEdlbmVyYXRlIGhlYWRlciBhbmQgc291cmNlIGZpbGVzIGZyb20gdGhlIG1hY2hpbmUg ZGVzY3JpcHRpb24sCisgIyBhbmQgY29tcGlsZSB0aGVtLgorLS0tIGdjYy9ncmFwaGl0ZS1wb2x5 LmguamoJMjAxMi0xMi0xMyAxMTozMToyNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvZ3JhcGhp dGUtcG9seS5oCTIwMTItMTItMTQgMTM6NDE6NDEuOTcwODAwNzI2ICswMTAwCitAQCAtMjIsNiAr MjIsMzcxIEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuCisgI2lmbmRl ZiBHQ0NfR1JBUEhJVEVfUE9MWV9ICisgI2RlZmluZSBHQ0NfR1JBUEhJVEVfUE9MWV9ICisgCisr I2luY2x1ZGUgPGlzbC9hZmYuaD4KKysjaW5jbHVkZSA8aXNsL3NjaGVkdWxlLmg+CisrI2luY2x1 ZGUgPGlzbC9pbHAuaD4KKysjaW5jbHVkZSA8aXNsL2Zsb3cuaD4KKysjaW5jbHVkZSA8aXNsL29w dGlvbnMuaD4KKysjaW5jbHVkZSA8Y2xvb2cvaXNsL2Nsb29nLmg+CisrI2luY2x1ZGUgPGRsZmNu Lmg+CisrI2RlZmluZSBEWU5TWU1TIFwKKysgIERZTlNZTSAoY2xhc3RfcHByaW50KTsgXAorKyAg RFlOU1lNIChjbG9vZ19jbGFzdF9jcmVhdGVfZnJvbV9pbnB1dCk7IFwKKysgIERZTlNZTSAoY2xv b2dfY2xhc3RfZnJlZSk7IFwKKysgIERZTlNZTSAoY2xvb2dfZG9tYWluX2Zyb21faXNsX3NldCk7 IFwKKysgIERZTlNZTSAoY2xvb2dfaW5wdXRfYWxsb2MpOyBcCisrICBEWU5TWU0gKGNsb29nX2lz bF9zdGF0ZV9tYWxsb2MpOyBcCisrICBEWU5TWU0gKGNsb29nX29wdGlvbnNfZnJlZSk7IFwKKysg IERZTlNZTSAoY2xvb2dfb3B0aW9uc19tYWxsb2MpOyBcCisrICBEWU5TWU0gKGNsb29nX3NjYXR0 ZXJpbmdfZnJvbV9pc2xfbWFwKTsgXAorKyAgRFlOU1lNIChjbG9vZ19zdGF0ZV9mcmVlKTsgXAor KyAgRFlOU1lNIChjbG9vZ191bmlvbl9kb21haW5fYWRkX2RvbWFpbik7IFwKKysgIERZTlNZTSAo Y2xvb2dfdW5pb25fZG9tYWluX2FsbG9jKTsgXAorKyAgRFlOU1lNIChjbG9vZ191bmlvbl9kb21h aW5fc2V0X25hbWUpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfYWRkX2NvZWZmaWNpZW50X3NpKTsg XAorKyAgRFlOU1lNIChpc2xfYWZmX2FkZF9jb25zdGFudCk7IFwKKysgIERZTlNZTSAoaXNsX2Fm Zl9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfYWZmX2dldF9jb2VmZmljaWVudCk7IFwKKysgIERZ TlNZTSAoaXNsX2FmZl9nZXRfc3BhY2UpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfbW9kKTsgXAor KyAgRFlOU1lNIChpc2xfYWZmX3NldF9jb2VmZmljaWVudF9zaSk7IFwKKysgIERZTlNZTSAoaXNs X2FmZl9zZXRfY29uc3RhbnRfc2kpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfemVyb19vbl9kb21h aW4pOyBcCisrICBEWU5TWU0gKGlzbF9iYW5kX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9iYW5k X2dldF9jaGlsZHJlbik7IFwKKysgIERZTlNZTSAoaXNsX2JhbmRfZ2V0X3BhcnRpYWxfc2NoZWR1 bGUpOyBcCisrICBEWU5TWU0gKGlzbF9iYW5kX2hhc19jaGlsZHJlbik7IFwKKysgIERZTlNZTSAo aXNsX2JhbmRfbGlzdF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9saXN0X2dldF9iYW5k KTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9saXN0X2dldF9jdHgpOyBcCisrICBEWU5TWU0gKGlz bF9iYW5kX2xpc3Rfbl9iYW5kKTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9tZW1iZXJfaXNfemVy b19kaXN0YW5jZSk7IFwKKysgIERZTlNZTSAoaXNsX2JhbmRfbl9tZW1iZXIpOyBcCisrICBEWU5T WU0gKGlzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQpOyBcCisrICBEWU5TWU0gKGlzbF9iYXNp Y19tYXBfcHJvamVjdF9vdXQpOyBcCisrICBEWU5TWU0gKGlzbF9iYXNpY19tYXBfdW5pdmVyc2Up OyBcCisrICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudCk7IFwKKysgIERZ TlNZTSAoaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50X3NpKTsgXAorKyAgRFlOU1lNIChp c2xfY29uc3RyYWludF9zZXRfY29uc3RhbnQpOyBcCisrICBEWU5TWU0gKGlzbF9jb25zdHJhaW50 X3NldF9jb25zdGFudF9zaSk7IFwKKysgIERZTlNZTSAoaXNsX2N0eF9hbGxvYyk7IFwKKysgIERZ TlNZTSAoaXNsX2N0eF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfZXF1YWxpdHlfYWxsb2MpOyBc CisrICBEWU5TWU0gKGlzbF9pZF9hbGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX2lkX2NvcHkpOyBc CisrICBEWU5TWU0gKGlzbF9pZF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfaW5lcXVhbGl0eV9h bGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX2NvcHkpOyBcCisrICBEWU5TWU0g KGlzbF9sb2NhbF9zcGFjZV9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfbG9jYWxfc3BhY2VfZnJv bV9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX3JhbmdlKTsgXAorKyAgRFlO U1lNIChpc2xfbWFwX2FkZF9jb25zdHJhaW50KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9k aW1zKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2FsaWduX3BhcmFtcyk7IFwKKysgIERZTlNZTSAo aXNsX21hcF9hcHBseV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9jb3B5KTsgXAorKyAg RFlOU1lNIChpc2xfbWFwX2RpbSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9kdW1wKTsgXAorKyAg RFlOU1lNIChpc2xfbWFwX2VxdWF0ZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9maXhfc2kpOyBc CisrICBEWU5TWU0gKGlzbF9tYXBfZmxhdF9wcm9kdWN0KTsgXAorKyAgRFlOU1lNIChpc2xfbWFw X2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9mcmVlKTsgXAorKyAg RFlOU1lNIChpc2xfbWFwX2Zyb21fYmFzaWNfbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2Zy b21fcHdfYWZmKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fdW5pb25fbWFwKTsgXAorKyAg RFlOU1lNIChpc2xfbWFwX2dldF9jdHgpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZ2V0X3NwYWNl KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2dldF90dXBsZV9pZCk7IFwKKysgIERZTlNZTSAoaXNs X21hcF9pbnNlcnRfZGltcyk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNlY3QpOyBcCisr ICBEWU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0X2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNsX21h cF9pbnRlcnNlY3RfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfaXNfZW1wdHkpOyBcCisr ICBEWU5TWU0gKGlzbF9tYXBfbGV4X2dlKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2xleF9sZSk7 IFwKKysgIERZTlNZTSAoaXNsX21hcF9uX291dCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9yYW5n ZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9zZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlz bF9tYXBfdW5pdmVyc2UpOyBcCisrICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9vbl9lcnJvcik7 IFwKKysgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX2Z1c2UpOyBcCisrICBEWU5T WU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSk7IFwKKysgIERZ TlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heGltaXplX2JhbmRfZGVwdGgpOyBcCisr ICBEWU5TWU0gKGlzbF9wcmludGVyX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX3By aW50X2FmZik7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWludCk7IFwK KysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfcHJp bnRlcl9wcmludF9zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX3RvX2ZpbGUpOyBcCisr ICBEWU5TWU0gKGlzbF9wd19hZmZfYWRkKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2FsbG9j KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2NvcHkpOyBcCisrICBEWU5TWU0gKGlzbF9wd19h ZmZfZXFfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2ZyZWUpOyBcCisrICBEWU5TWU0g KGlzbF9wd19hZmZfZnJvbV9hZmYpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfZ2Vfc2V0KTsg XAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2d0X3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2Fm Zl9pc19jc3QpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfbGVfc2V0KTsgXAorKyAgRFlOU1lN IChpc2xfcHdfYWZmX2x0X3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9tb2QpOyBcCisr ICBEWU5TWU0gKGlzbF9wd19hZmZfbXVsKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX25lX3Nl dCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9ub25uZWdfc2V0KTsgXAorKyAgRFlOU1lNIChp c2xfcHdfYWZmX3NldF90dXBsZV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9zdWIpOyBc CisrICBEWU5TWU0gKGlzbF9wd19hZmZfemVyb19zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hl ZHVsZV9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0KTsg XAorKyAgRFlOU1lNIChpc2xfc2V0X2FkZF9jb25zdHJhaW50KTsgXAorKyAgRFlOU1lNIChpc2xf c2V0X2FkZF9kaW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2FwcGx5KTsgXAorKyAgRFlOU1lN IChpc2xfc2V0X2NvYWxlc2NlKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2NvcHkpOyBcCisrICBE WU5TWU0gKGlzbF9zZXRfZGltKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2ZpeF9zaSk7IFwKKysg IERZTlNZTSAoaXNsX3NldF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2Zyb21fY2xvb2df ZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2dldF9zcGFjZSk7IFwKKysgIERZTlNZTSAo aXNsX3NldF9nZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfaW50ZXJzZWN0KTsg XAorKyAgRFlOU1lNIChpc2xfc2V0X2lzX2VtcHR5KTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X21h eCk7IFwKKysgIERZTlNZTSAoaXNsX3NldF9taW4pOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfbl9k aW0pOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfbmF0X3VuaXZlcnNlKTsgXAorKyAgRFlOU1lNIChp c2xfc2V0X3Byb2plY3Rfb3V0KTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X3NldF90dXBsZV9pZCk7 IFwKKysgIERZTlNZTSAoaXNsX3NldF91bml2ZXJzZSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNl X2FkZF9kaW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfYWxsb2MpOyBcCisrICBEWU5TWU0g KGlzbF9zcGFjZV9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZGltKTsgXAorKyAgRFlO U1lNIChpc2xfc3BhY2VfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZmluZF9kaW1f YnlfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xf c3BhY2VfZnJvbV9kb21haW4pOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9nZXRfdHVwbGVfaWQp OyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9wYXJhbXNfYWxsb2MpOyBcCisrICBEWU5TWU0gKGlz bF9zcGFjZV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX3NldF9hbGxvYyk7IFwKKysg IERZTlNZTSAoaXNsX3NwYWNlX3NldF9kaW1faWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9z ZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYWRkX21hcCk7IFwKKysg IERZTlNZTSAoaXNsX3VuaW9uX21hcF9hbGlnbl9wYXJhbXMpOyBcCisrICBEWU5TWU0gKGlzbF91 bmlvbl9tYXBfYXBwbHlfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2FwcGx5 X3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyk7IFwKKysg IERZTlNZTSAoaXNsX3VuaW9uX21hcF9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFw X2VtcHR5KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7 IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mb3JlYWNoX21hcCk7IFwKKysgIERZTlNZTSAo aXNsX3VuaW9uX21hcF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2Zyb21fbWFw KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dldF9jdHgpOyBcCisrICBEWU5TWU0gKGlz bF91bmlvbl9tYXBfZ2V0X3NwYWNlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dpc3Rf ZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UpOyBcCisrICBE WU5TWU0gKGlzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNs X3VuaW9uX21hcF9pc19lbXB0eSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9zdWJ0cmFj dCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF91bmlvbik7IFwKKysgIERZTlNZTSAoaXNs X3VuaW9uX3NldF9hZGRfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2NvbXB1dGVf c2NoZWR1bGUpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfY29weSk7IFwKKysgIERZTlNZ TSAoaXNsX3VuaW9uX3NldF9lbXB0eSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mcm9t X3NldCk7IFwKKysgIERZTlNZTSAoc3RtdF9hc3MpOyBcCisrICBEWU5TWU0gKHN0bXRfYmxvY2sp OyBcCisrICBEWU5TWU0gKHN0bXRfZm9yKTsgXAorKyAgRFlOU1lNIChzdG10X2d1YXJkKTsgXAor KyAgRFlOU1lNIChzdG10X3Jvb3QpOyBcCisrICBEWU5TWU0gKHN0bXRfdXNlcik7CisrZXh0ZXJu IHN0cnVjdCBjbG9vZ19wb2ludGVyc19zX18KKyt7CisrICBib29sIGluaXRlZDsKKysgIHZvaWQg Kmg7CisrI2RlZmluZSBEWU5TWU0oeCkgX190eXBlb2YgKHgpICpwXyMjeAorKyAgRFlOU1lNUwor KyN1bmRlZiBEWU5TWU0KKyt9IGNsb29nX3BvaW50ZXJzX187CisrCisrI2RlZmluZSBjbG9vZ19i bG9ja19hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19ibG9ja19hbGxvYykKKysjZGVm aW5lIGNsYXN0X3BwcmludCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbGFzdF9wcHJpbnQpCisrI2Rl ZmluZSBjbG9vZ19jbGFzdF9jcmVhdGVfZnJvbV9pbnB1dCAoKmNsb29nX3BvaW50ZXJzX18ucF9j bG9vZ19jbGFzdF9jcmVhdGVfZnJvbV9pbnB1dCkKKysjZGVmaW5lIGNsb29nX2NsYXN0X2ZyZWUg KCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfY2xhc3RfZnJlZSkKKysjZGVmaW5lIGNsb29nX2Rv bWFpbl9mcm9tX2lzbF9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfZG9tYWluX2Zyb21f aXNsX3NldCkKKysjZGVmaW5lIGNsb29nX2lucHV0X2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5w X2Nsb29nX2lucHV0X2FsbG9jKQorKyNkZWZpbmUgY2xvb2dfaXNsX3N0YXRlX21hbGxvYyAoKmNs b29nX3BvaW50ZXJzX18ucF9jbG9vZ19pc2xfc3RhdGVfbWFsbG9jKQorKyNkZWZpbmUgY2xvb2df b3B0aW9uc19mcmVlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX29wdGlvbnNfZnJlZSkKKysj ZGVmaW5lIGNsb29nX29wdGlvbnNfbWFsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX29w dGlvbnNfbWFsbG9jKQorKyNkZWZpbmUgY2xvb2dfc2NhdHRlcmluZ19mcm9tX2lzbF9tYXAgKCpj bG9vZ19wb2ludGVyc19fLnBfY2xvb2dfc2NhdHRlcmluZ19mcm9tX2lzbF9tYXApCisrI2RlZmlu ZSBjbG9vZ19zdGF0ZV9mcmVlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3N0YXRlX2ZyZWUp CisrI2RlZmluZSBjbG9vZ191bmlvbl9kb21haW5fYWRkX2RvbWFpbiAoKmNsb29nX3BvaW50ZXJz X18ucF9jbG9vZ191bmlvbl9kb21haW5fYWRkX2RvbWFpbikKKysjZGVmaW5lIGNsb29nX3VuaW9u X2RvbWFpbl9hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ191bmlvbl9kb21haW5fYWxs b2MpCisrI2RlZmluZSBjbG9vZ191bmlvbl9kb21haW5fc2V0X25hbWUgKCpjbG9vZ19wb2ludGVy c19fLnBfY2xvb2dfdW5pb25fZG9tYWluX3NldF9uYW1lKQorKyNkZWZpbmUgaXNsX2FmZl9hZGRf Y29lZmZpY2llbnRfc2kgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2FmZl9hZGRfY29lZmZpY2ll bnRfc2kpCisrI2RlZmluZSBpc2xfYWZmX2FkZF9jb25zdGFudCAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfYWZmX2FkZF9jb25zdGFudCkKKysjZGVmaW5lIGlzbF9hZmZfZnJlZSAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfYWZmX2ZyZWUpCisrI2RlZmluZSBpc2xfYWZmX2dldF9jb2VmZmljaWVu dCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZmX2dldF9jb2VmZmljaWVudCkKKysjZGVmaW5l IGlzbF9hZmZfZ2V0X3NwYWNlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9hZmZfZ2V0X3NwYWNl KQorKyNkZWZpbmUgaXNsX2FmZl9tb2QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2FmZl9tb2Qp CisrI2RlZmluZSBpc2xfYWZmX3NldF9jb2VmZmljaWVudF9zaSAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfYWZmX3NldF9jb2VmZmljaWVudF9zaSkKKysjZGVmaW5lIGlzbF9hZmZfc2V0X2NvbnN0 YW50X3NpICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9hZmZfc2V0X2NvbnN0YW50X3NpKQorKyNk ZWZpbmUgaXNsX2FmZl96ZXJvX29uX2RvbWFpbiAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYWZm X3plcm9fb25fZG9tYWluKQorKyNkZWZpbmUgaXNsX2JhbmRfZnJlZSAoKmNsb29nX3BvaW50ZXJz X18ucF9pc2xfYmFuZF9mcmVlKQorKyNkZWZpbmUgaXNsX2JhbmRfZ2V0X2NoaWxkcmVuICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2dldF9jaGlsZHJlbikKKysjZGVmaW5lIGlzbF9iYW5k X2dldF9wYXJ0aWFsX3NjaGVkdWxlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2dldF9w YXJ0aWFsX3NjaGVkdWxlKQorKyNkZWZpbmUgaXNsX2JhbmRfaGFzX2NoaWxkcmVuICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9iYW5kX2hhc19jaGlsZHJlbikKKysjZGVmaW5lIGlzbF9iYW5kX2xp c3RfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X2ZyZWUpCisrI2RlZmlu ZSBpc2xfYmFuZF9saXN0X2dldF9iYW5kICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xp c3RfZ2V0X2JhbmQpCisrI2RlZmluZSBpc2xfYmFuZF9saXN0X2dldF9jdHggKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX2JhbmRfbGlzdF9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9u X2JhbmQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2JhbmRfbGlzdF9uX2JhbmQpCisrI2RlZmlu ZSBpc2xfYmFuZF9tZW1iZXJfaXNfemVyb19kaXN0YW5jZSAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfYmFuZF9tZW1iZXJfaXNfemVyb19kaXN0YW5jZSkKKysjZGVmaW5lIGlzbF9iYW5kX25fbWVt YmVyICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX25fbWVtYmVyKQorKyNkZWZpbmUgaXNs X2Jhc2ljX21hcF9hZGRfY29uc3RyYWludCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNf bWFwX2FkZF9jb25zdHJhaW50KQorKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9wcm9qZWN0X291dCAo KmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX3Byb2plY3Rfb3V0KQorKyNkZWZpbmUg aXNsX2Jhc2ljX21hcF91bml2ZXJzZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFw X3VuaXZlcnNlKQorKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50ICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudCkKKysjZGVmaW5l IGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudF9zaSAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfc2kpCisrI2RlZmluZSBpc2xfY29uc3RyYWlu dF9zZXRfY29uc3RhbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2Nv bnN0YW50KQorKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSkKKysjZGVmaW5lIGlz bF9jdHhfYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2N0eF9hbGxvYykKKysjZGVmaW5l IGlzbF9jdHhfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfY3R4X2ZyZWUpCisrI2RlZmlu ZSBpc2xfZXF1YWxpdHlfYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2VxdWFsaXR5X2Fs bG9jKQorKyNkZWZpbmUgaXNsX2lkX2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9pZF9h bGxvYykKKysjZGVmaW5lIGlzbF9pZF9jb3B5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9pZF9j b3B5KQorKyNkZWZpbmUgaXNsX2lkX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2lkX2Zy ZWUpCisrI2RlZmluZSBpc2xfaW5lcXVhbGl0eV9hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfaW5lcXVhbGl0eV9hbGxvYykKKysjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9jb3B5ICgqY2xv b2dfcG9pbnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9jb3B5KQorKyNkZWZpbmUgaXNsX2xvY2Fs X3NwYWNlX2ZyZWUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX2ZyZWUpCisr I2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfZnJvbV9zcGFjZSAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfbG9jYWxfc3BhY2VfZnJvbV9zcGFjZSkKKysjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9yYW5n ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbG9jYWxfc3BhY2VfcmFuZ2UpCisrI2RlZmluZSBp c2xfbWFwX2FkZF9jb25zdHJhaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2Nv bnN0cmFpbnQpCisrI2RlZmluZSBpc2xfbWFwX2FkZF9kaW1zICgqY2xvb2dfcG9pbnRlcnNfXy5w X2lzbF9tYXBfYWRkX2RpbXMpCisrI2RlZmluZSBpc2xfbWFwX2FsaWduX3BhcmFtcyAoKmNsb29n X3BvaW50ZXJzX18ucF9pc2xfbWFwX2FsaWduX3BhcmFtcykKKysjZGVmaW5lIGlzbF9tYXBfYXBw bHlfcmFuZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9hcHBseV9yYW5nZSkKKysjZGVm aW5lIGlzbF9tYXBfY29weSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2NvcHkpCisrI2Rl ZmluZSBpc2xfbWFwX2RpbSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2RpbSkKKysjZGVm aW5lIGlzbF9tYXBfZHVtcCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2R1bXApCisrI2Rl ZmluZSBpc2xfbWFwX2VxdWF0ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2VxdWF0ZSkK KysjZGVmaW5lIGlzbF9tYXBfZml4X3NpICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZml4 X3NpKQorKyNkZWZpbmUgaXNsX21hcF9mbGF0X3Byb2R1Y3QgKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX21hcF9mbGF0X3Byb2R1Y3QpCisrI2RlZmluZSBpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVj dCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKKysjZGVm aW5lIGlzbF9tYXBfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZyZWUpCisrI2Rl ZmluZSBpc2xfbWFwX2Zyb21fYmFzaWNfbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBf ZnJvbV9iYXNpY19tYXApCisrI2RlZmluZSBpc2xfbWFwX2Zyb21fcHdfYWZmICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9tYXBfZnJvbV9wd19hZmYpCisrI2RlZmluZSBpc2xfbWFwX2Zyb21fdW5p b25fbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV91bmlvbl9tYXApCisrI2Rl ZmluZSBpc2xfbWFwX2dldF9jdHggKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9nZXRfY3R4 KQorKyNkZWZpbmUgaXNsX21hcF9nZXRfc3BhY2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21h cF9nZXRfc3BhY2UpCisrI2RlZmluZSBpc2xfbWFwX2dldF90dXBsZV9pZCAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfbWFwX2dldF90dXBsZV9pZCkKKysjZGVmaW5lIGlzbF9tYXBfaW5zZXJ0X2Rp bXMgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9pbnNlcnRfZGltcykKKysjZGVmaW5lIGlz bF9tYXBfaW50ZXJzZWN0ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0KQor KyNkZWZpbmUgaXNsX21hcF9pbnRlcnNlY3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9tYXBfaW50ZXJzZWN0X2RvbWFpbikKKysjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X3Jhbmdl ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0X3JhbmdlKQorKyNkZWZpbmUg aXNsX21hcF9pc19lbXB0eSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX2lzX2VtcHR5KQor KyNkZWZpbmUgaXNsX21hcF9sZXhfZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX21hcF9sZXhf Z2UpCisrI2RlZmluZSBpc2xfbWFwX2xleF9sZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFw X2xleF9sZSkKKysjZGVmaW5lIGlzbF9tYXBfbl9vdXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X21hcF9uX291dCkKKysjZGVmaW5lIGlzbF9tYXBfcmFuZ2UgKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX21hcF9yYW5nZSkKKysjZGVmaW5lIGlzbF9tYXBfc2V0X3R1cGxlX2lkICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9tYXBfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX21hcF91bml2ZXJz ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfbWFwX3VuaXZlcnNlKQorKyNkZWZpbmUgaXNsX29w dGlvbnNfc2V0X29uX2Vycm9yICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9v bl9lcnJvcikKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9mdXNlICgqY2xvb2df cG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9mdXNlKQorKyNkZWZpbmUgaXNs X29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb25zdGFudF90ZXJtICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29uc3RhbnRfdGVybSkKKysjZGVmaW5l IGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoKQor KyNkZWZpbmUgaXNsX3ByaW50ZXJfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRl cl9mcmVlKQorKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfYWZmICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9wcmludGVyX3ByaW50X2FmZikKKysjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X2Nv bnN0cmFpbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWlu dCkKKysjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X21hcCAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfcHJpbnRlcl9wcmludF9tYXApCisrI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9zZXQgKCpj bG9vZ19wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfc2V0KQorKyNkZWZpbmUgaXNsX3By aW50ZXJfdG9fZmlsZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl90b19maWxlKQor KyNkZWZpbmUgaXNsX3B3X2FmZl9hZGQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9h ZGQpCisrI2RlZmluZSBpc2xfcHdfYWZmX2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9w d19hZmZfYWxsb2MpCisrI2RlZmluZSBpc2xfcHdfYWZmX2NvcHkgKCpjbG9vZ19wb2ludGVyc19f LnBfaXNsX3B3X2FmZl9jb3B5KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9lcV9zZXQgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3B3X2FmZl9lcV9zZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX2ZyZWUg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9mcmVlKQorKyNkZWZpbmUgaXNsX3B3X2Fm Zl9mcm9tX2FmZiAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2Zyb21fYWZmKQorKyNk ZWZpbmUgaXNsX3B3X2FmZl9nZV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9n ZV9zZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX2d0X3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfcHdfYWZmX2d0X3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZfaXNfY3N0ICgqY2xvb2dfcG9p bnRlcnNfXy5wX2lzbF9wd19hZmZfaXNfY3N0KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9sZV9zZXQg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9sZV9zZXQpCisrI2RlZmluZSBpc2xfcHdf YWZmX2x0X3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2x0X3NldCkKKysjZGVm aW5lIGlzbF9wd19hZmZfbW9kICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbW9kKQor KyNkZWZpbmUgaXNsX3B3X2FmZl9tdWwgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9t dWwpCisrI2RlZmluZSBpc2xfcHdfYWZmX25lX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xf cHdfYWZmX25lX3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZfbm9ubmVnX3NldCAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfcHdfYWZmX25vbm5lZ19zZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX3Nl dF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3NldF90dXBsZV9pZCkK KysjZGVmaW5lIGlzbF9wd19hZmZfc3ViICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZf c3ViKQorKyNkZWZpbmUgaXNsX3B3X2FmZl96ZXJvX3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9p c2xfcHdfYWZmX3plcm9fc2V0KQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2ZyZWUgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2ZyZWUpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0 X2JhbmRfZm9yZXN0ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9nZXRfYmFuZF9m b3Jlc3QpCisrI2RlZmluZSBpc2xfc2V0X2FkZF9jb25zdHJhaW50ICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF9zZXRfYWRkX2NvbnN0cmFpbnQpCisrI2RlZmluZSBpc2xfc2V0X2FkZF9kaW1zICgq Y2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYWRkX2RpbXMpCisrI2RlZmluZSBpc2xfc2V0X2Fw cGx5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYXBwbHkpCisrI2RlZmluZSBpc2xfc2V0 X2NvYWxlc2NlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfY29hbGVzY2UpCisrI2RlZmlu ZSBpc2xfc2V0X2NvcHkgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9jb3B5KQorKyNkZWZp bmUgaXNsX3NldF9kaW0gKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9kaW0pCisrI2RlZmlu ZSBpc2xfc2V0X2ZpeF9zaSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZpeF9zaSkKKysj ZGVmaW5lIGlzbF9zZXRfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZyZWUpCisr I2RlZmluZSBpc2xfc2V0X2Zyb21fY2xvb2dfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9zZXRfZnJvbV9jbG9vZ19kb21haW4pCisrI2RlZmluZSBpc2xfc2V0X2dldF9zcGFjZSAoKmNs b29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X2dldF9zcGFjZSkKKysjZGVmaW5lIGlzbF9zZXRfZ2V0 X3R1cGxlX2lkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZ2V0X3R1cGxlX2lkKQorKyNk ZWZpbmUgaXNsX3NldF9pbnRlcnNlY3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NldF9pbnRl cnNlY3QpCisrI2RlZmluZSBpc2xfc2V0X2lzX2VtcHR5ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF9zZXRfaXNfZW1wdHkpCisrI2RlZmluZSBpc2xfc2V0X21heCAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfc2V0X21heCkKKysjZGVmaW5lIGlzbF9zZXRfbWluICgqY2xvb2dfcG9pbnRlcnNfXy5w X2lzbF9zZXRfbWluKQorKyNkZWZpbmUgaXNsX3NldF9uX2RpbSAoKmNsb29nX3BvaW50ZXJzX18u cF9pc2xfc2V0X25fZGltKQorKyNkZWZpbmUgaXNsX3NldF9uYXRfdW5pdmVyc2UgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3NldF9uYXRfdW5pdmVyc2UpCisrI2RlZmluZSBpc2xfc2V0X3Byb2pl Y3Rfb3V0ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zZXRfcHJvamVjdF9vdXQpCisrI2RlZmlu ZSBpc2xfc2V0X3NldF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc2V0X3NldF90 dXBsZV9pZCkKKysjZGVmaW5lIGlzbF9zZXRfdW5pdmVyc2UgKCpjbG9vZ19wb2ludGVyc19fLnBf aXNsX3NldF91bml2ZXJzZSkKKysjZGVmaW5lIGlzbF9zcGFjZV9hZGRfZGltcyAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfc3BhY2VfYWRkX2RpbXMpCisrI2RlZmluZSBpc2xfc3BhY2VfYWxsb2Mg KCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX2FsbG9jKQorKyNkZWZpbmUgaXNsX3NwYWNl X2NvcHkgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX2NvcHkpCisrI2RlZmluZSBpc2xf c3BhY2VfZGltICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kaW0pCisrI2RlZmluZSBp c2xfc3BhY2VfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kb21haW4pCisr I2RlZmluZSBpc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3NwYWNlX2ZpbmRfZGltX2J5X2lkKQorKyNkZWZpbmUgaXNsX3NwYWNlX2ZyZWUgKCpjbG9vZ19w b2ludGVyc19fLnBfaXNsX3NwYWNlX2ZyZWUpCisrI2RlZmluZSBpc2xfc3BhY2VfZnJvbV9kb21h aW4gKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX2Zyb21fZG9tYWluKQorKyNkZWZpbmUg aXNsX3NwYWNlX2dldF90dXBsZV9pZCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZ2V0 X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3NwYWNlX3BhcmFtc19hbGxvYyAoKmNsb29nX3BvaW50 ZXJzX18ucF9pc2xfc3BhY2VfcGFyYW1zX2FsbG9jKQorKyNkZWZpbmUgaXNsX3NwYWNlX3Jhbmdl ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9yYW5nZSkKKysjZGVmaW5lIGlzbF9zcGFj ZV9zZXRfYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3NwYWNlX3NldF9hbGxvYykKKysj ZGVmaW5lIGlzbF9zcGFjZV9zZXRfZGltX2lkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF9zcGFj ZV9zZXRfZGltX2lkKQorKyNkZWZpbmUgaXNsX3NwYWNlX3NldF90dXBsZV9pZCAoKmNsb29nX3Bv aW50ZXJzX18ucF9pc2xfc3BhY2Vfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3VuaW9uX21h cF9hZGRfbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYWRkX21hcCkKKysj ZGVmaW5lIGlzbF91bmlvbl9tYXBfYWxpZ25fcGFyYW1zICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9tYXBfYWxpZ25fcGFyYW1zKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9k b21haW4gKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4pCisr I2RlZmluZSBpc2xfdW5pb25fbWFwX2FwcGx5X3JhbmdlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9tYXBfYXBwbHlfcmFuZ2UpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2NvbXB1dGVf ZmxvdyAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdykKKysj ZGVmaW5lIGlzbF91bmlvbl9tYXBfY29weSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25f bWFwX2NvcHkpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2VtcHR5ICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2lzbF91bmlvbl9tYXBfZW1wdHkpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZsYXRfcmFu Z2VfcHJvZHVjdCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2Vf cHJvZHVjdCkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfZm9yZWFjaF9tYXAgKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3VuaW9uX21hcF9mb3JlYWNoX21hcCkKKysjZGVmaW5lIGlzbF91bmlvbl9t YXBfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZyZWUpCisrI2RlZmlu ZSBpc2xfdW5pb25fbWFwX2Zyb21fbWFwICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9t YXBfZnJvbV9tYXApCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2dldF9jdHggKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3VuaW9uX21hcF9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9n ZXRfc3BhY2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UpCisr I2RlZmluZSBpc2xfdW5pb25fbWFwX2dpc3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9tYXBfZ2lzdF9kb21haW4pCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2dpc3RfcmFu Z2UgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9naXN0X3JhbmdlKQorKyNkZWZp bmUgaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWluICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9tYXBfaW50ZXJzZWN0X2RvbWFpbikKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfaXNf ZW1wdHkgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9pc19lbXB0eSkKKysjZGVm aW5lIGlzbF91bmlvbl9tYXBfc3VidHJhY3QgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9u X21hcF9zdWJ0cmFjdCkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfdW5pb24gKCpjbG9vZ19wb2lu dGVyc19fLnBfaXNsX3VuaW9uX21hcF91bmlvbikKKysjZGVmaW5lIGlzbF91bmlvbl9zZXRfYWRk X3NldCAoKmNsb29nX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2FkZF9zZXQpCisrI2RlZmlu ZSBpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3VuaW9uX3NldF9jb21wdXRlX3NjaGVkdWxlKQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9jb3B5 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfY29weSkKKysjZGVmaW5lIGlzbF91 bmlvbl9zZXRfZW1wdHkgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9lbXB0eSkK KysjZGVmaW5lIGlzbF91bmlvbl9zZXRfZnJvbV9zZXQgKCpjbG9vZ19wb2ludGVyc19fLnBfaXNs X3VuaW9uX3NldF9mcm9tX3NldCkKKysjZGVmaW5lIHN0bXRfYXNzICgqY2xvb2dfcG9pbnRlcnNf Xy5wX3N0bXRfYXNzKQorKyNkZWZpbmUgc3RtdF9ibG9jayAoKmNsb29nX3BvaW50ZXJzX18ucF9z dG10X2Jsb2NrKQorKyNkZWZpbmUgc3RtdF9mb3IgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9m b3IpCisrI2RlZmluZSBzdG10X2d1YXJkICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfZ3VhcmQp CisrI2RlZmluZSBzdG10X3Jvb3QgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9yb290KQorKyNk ZWZpbmUgc3RtdF91c2VyICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfdXNlcikKKysKKyB0eXBl ZGVmIHN0cnVjdCBwb2x5X2RyICpwb2x5X2RyX3A7CisgCisgdHlwZWRlZiBzdHJ1Y3QgcG9seV9i YiAqcG9seV9iYl9wOworLS0tIGdjYy9ncmFwaGl0ZS5jLmpqCTIwMTItMTItMTMgMTE6MzE6MDAu MDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2dyYXBoaXRlLmMJMjAxMi0xMi0xNCAxMzo0MDo0NC4x NTUxMzY5NjEgKzAxMDAKK0BAIC03OCw2ICs3OCwzNCBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRo ZSBmaWxlIENPUFlJTkczLgorIAorIENsb29nU3RhdGUgKmNsb29nX3N0YXRlOworIAorK19fdHlw ZW9mIChjbG9vZ19wb2ludGVyc19fKSBjbG9vZ19wb2ludGVyc19fOworKworK3N0YXRpYyBib29s CisraW5pdF9jbG9vZ19wb2ludGVycyAodm9pZCkKKyt7CisrICB2b2lkICpoOworKworKyAgaWYg KGNsb29nX3BvaW50ZXJzX18uaW5pdGVkKQorKyAgICByZXR1cm4gY2xvb2dfcG9pbnRlcnNfXy5o ICE9IE5VTEw7CisrICBoID0gZGxvcGVuICgibGliY2xvb2ctaXNsLnNvLjQiLCBSVExEX0xBWlkp OworKyAgY2xvb2dfcG9pbnRlcnNfXy5oID0gaDsKKysgIGlmIChoID09IE5VTEwpCisrICAgIHJl dHVybiBmYWxzZTsKKysjZGVmaW5lIERZTlNZTSh4KSBcCisrICBkbyBcCisrICAgIHsgXAorKyAg ICAgIHVuaW9uIHsgX190eXBlb2YgKGNsb29nX3BvaW50ZXJzX18ucF8jI3gpIHA7IHZvaWQgKnE7 IH0gdTsgXAorKyAgICAgIHUucSA9IGRsc3ltIChoLCAjeCk7IFwKKysgICAgICBpZiAodS5xID09 IE5VTEwpIFwKKysJcmV0dXJuIGZhbHNlOyBcCisrICAgICAgY2xvb2dfcG9pbnRlcnNfXy5wXyMj eCA9IHUucDsgXAorKyAgICB9IFwKKysgIHdoaWxlICgwKQorKyAgRFlOU1lNUworKyN1bmRlZiBE WU5TWU0KKysgIHJldHVybiB0cnVlOworK30KKysKKyAvKiBQcmludCBnbG9iYWwgc3RhdGlzdGlj cyB0byBGSUxFLiAgKi8KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTI3Nyw2ICszMDUsMTUgQEAgZ3Jh cGhpdGVfdHJhbnNmb3JtX2xvb3BzICh2b2lkKQorICAgaWYgKHBhcmFsbGVsaXplZF9mdW5jdGlv bl9wIChjZnVuLT5kZWNsKSkKKyAgICAgcmV0dXJuOworIAorKyAgaWYgKG51bWJlcl9vZl9sb29w cyAoY2Z1bikgPD0gMSkKKysgICAgcmV0dXJuOworKworKyAgaWYgKCFpbml0X2Nsb29nX3BvaW50 ZXJzICgpKQorKyAgICB7CisrICAgICAgc29ycnkgKCJHcmFwaGl0ZSBsb29wIG9wdGltaXphdGlv bnMgY2Fubm90IGJlIHVzZWQiKTsKKysgICAgICByZXR1cm47CisrICAgIH0KKysKKyAgIGN0eCA9 IGlzbF9jdHhfYWxsb2MgKCk7CisgICBpc2xfb3B0aW9uc19zZXRfb25fZXJyb3IgKGN0eCwgSVNM X09OX0VSUk9SX0FCT1JUKTsKKyAgIGlmICghZ3JhcGhpdGVfaW5pdGlhbGl6ZSAoY3R4KSkKKy0t LSBnY2MvZ3JhcGhpdGUtY2xhc3QtdG8tZ2ltcGxlLmMuamoJMjAxMi0xMi0xMyAxMTozMToyNy4w MDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvZ3JhcGhpdGUtY2xhc3QtdG8tZ2ltcGxlLmMJMjAxMi0x Mi0xNCAxMzoyNzo0Ny4xOTY1MTk4NTggKzAxMDAKK0BAIC05MTAsNyArOTEwLDcgQEAgY29tcHV0 ZV9ib3VuZHNfZm9yX2xvb3AgKHN0cnVjdCBjbGFzdF9mbworICAgIGZyb20gU1RNVF9GT1IuICAq LworIAorIHN0YXRpYyB0cmVlCistdHlwZV9mb3JfY2xhc3RfZm9yIChzdHJ1Y3QgY2xhc3RfZm9y ICpzdG10X2ZvciwgaXZzX3BhcmFtc19wIGlwKQorK3R5cGVfZm9yX2NsYXN0X2ZvciAoc3RydWN0 IGNsYXN0X2ZvciAqc3RtdF9mb3JhLCBpdnNfcGFyYW1zX3AgaXApCisgeworICAgbXB6X3QgYm91 bmRfb25lLCBib3VuZF90d287CisgICB0cmVlIGxiX3R5cGUsIHViX3R5cGU7CitAQCAtOTE4LDgg KzkxOCw4IEBAIHR5cGVfZm9yX2NsYXN0X2ZvciAoc3RydWN0IGNsYXN0X2ZvciAqc3QKKyAgIG1w el9pbml0IChib3VuZF9vbmUpOworICAgbXB6X2luaXQgKGJvdW5kX3R3byk7CisgCistICBsYl90 eXBlID0gdHlwZV9mb3JfY2xhc3RfZXhwciAoc3RtdF9mb3ItPkxCLCBpcCwgYm91bmRfb25lLCBi b3VuZF90d28pOworLSAgdWJfdHlwZSA9IHR5cGVfZm9yX2NsYXN0X2V4cHIgKHN0bXRfZm9yLT5V QiwgaXAsIGJvdW5kX29uZSwgYm91bmRfdHdvKTsKKysgIGxiX3R5cGUgPSB0eXBlX2Zvcl9jbGFz dF9leHByIChzdG10X2ZvcmEtPkxCLCBpcCwgYm91bmRfb25lLCBib3VuZF90d28pOworKyAgdWJf dHlwZSA9IHR5cGVfZm9yX2NsYXN0X2V4cHIgKHN0bXRfZm9yYS0+VUIsIGlwLCBib3VuZF9vbmUs IGJvdW5kX3R3byk7CisgCisgICBtcHpfY2xlYXIgKGJvdW5kX29uZSk7CisgICBtcHpfY2xlYXIg KGJvdW5kX3R3byk7CgpkaWZmIC0tZ2l0IGEvZ2NjNDktY2xvb2ctZGwyLnBhdGNoIGIvZ2NjNDkt Y2xvb2ctZGwyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNjQ3 YTMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0OS1jbG9vZy1kbDIucGF0Y2gKQEAgLTAsMCArMSw3 NCBAQAorMjAxMS0wNC0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkq IHRvcGxldi5jICh0b3BsZXZfbWFpbl9hcmd2KTogTmV3IHZhcmlhYmxlLgorCSh0b3BsZXZfbWFp bik6IEluaXRpYWxpemUgaXQuCisJKiBncmFwaGl0ZS5jIChpbml0X2Nsb29nX3BvaW50ZXJzKTog TG9hZCBsaWJjbG9vZy1pc2wuc28uNCBmcm9tIGdjYydzIHByaXZhdGUKKwlkaXJlY3RvcnkuCisK Ky0tLSBnY2MvdG9wbGV2LmMuamoJMjAwOC0xMi0wOSAyMzo1OToxMC4wMDAwMDAwMDAgKzAxMDAK KysrKyBnY2MvdG9wbGV2LmMJMjAwOS0wMS0yNyAxNDozMzo1Mi4wMDAwMDAwMDAgKzAxMDAKK0BA IC0xMDcsNiArMTA3LDggQEAgc3RhdGljIGJvb2wgbm9fYmFja2VuZDsKKyAvKiBMZW5ndGggb2Yg bGluZSB3aGVuIHByaW50aW5nIHN3aXRjaCB2YWx1ZXMuICAqLworICNkZWZpbmUgTUFYX0xJTkUg NzUKKyAKKytjb25zdCBjaGFyICoqdG9wbGV2X21haW5fYXJndjsKKysKKyAvKiBEZWNvZGVkIG9w dGlvbnMsIGFuZCBudW1iZXIgb2Ygc3VjaCBvcHRpb25zLiAgKi8KKyBzdHJ1Y3QgY2xfZGVjb2Rl ZF9vcHRpb24gKnNhdmVfZGVjb2RlZF9vcHRpb25zOworIHVuc2lnbmVkIGludCBzYXZlX2RlY29k ZWRfb3B0aW9uc19jb3VudDsKK0BAIC0xOTA5LDYgKzE5MTEsOCBAQCB0b3BsZXZfbWFpbiAoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQorIAorICAgZXhwYW5kYXJndiAoJmFyZ2MsICZhcmd2KTsKKyAK KysgIHRvcGxldl9tYWluX2FyZ3YgPSBDT05TVF9DQVNUMiAoY29uc3QgY2hhciAqKiwgY2hhciAq KiwgYXJndik7CisrCisgICAvKiBJbml0aWFsaXphdGlvbiBvZiBHQ0MncyBlbnZpcm9ubWVudCwg YW5kIGRpYWdub3N0aWNzLiAgKi8KKyAgIGdlbmVyYWxfaW5pdCAoYXJndlswXSk7CisgCistLS0g Z2NjL2dyYXBoaXRlLmMuamoJMjAxMC0xMi0wMSAxMDoyNDozMi4wMDAwMDAwMDAgLTA1MDAKKysr KyBnY2MvZ3JhcGhpdGUuYwkyMDEwLTEyLTAxIDExOjQ2OjA3LjgzMjExODE5MyAtMDUwMAorQEAg LTcyLDExICs3MiwzOSBAQCBfX3R5cGVvZiAoY2xvb2dfcG9pbnRlcnNfXykgY2xvb2dfcG9pbnRl Cisgc3RhdGljIGJvb2wKKyBpbml0X2Nsb29nX3BvaW50ZXJzICh2b2lkKQorIHsKKy0gIHZvaWQg Kmg7CistCistICBpZiAoY2xvb2dfcG9pbnRlcnNfXy5pbml0ZWQpCistICAgIHJldHVybiBjbG9v Z19wb2ludGVyc19fLmggIT0gTlVMTDsKKy0gIGggPSBkbG9wZW4gKCJsaWJjbG9vZy1pc2wuc28u NCIsIFJUTERfTEFaWSk7CisrICB2b2lkICpoID0gTlVMTDsKKysgIGV4dGVybiBjb25zdCBjaGFy ICoqdG9wbGV2X21haW5fYXJndjsKKysgIGNoYXIgKmJ1ZiwgKnA7CisrICBzaXplX3QgbGVuOwor KworKyAgaWYgKGNsb29nX3BvaW50ZXJzX18uaW5pdGVkKQorKyAgICByZXR1cm4gY2xvb2dfcG9p bnRlcnNfXy5oICE9IE5VTEw7CisrICBsZW4gPSBwcm9nbmFtZSAtIHRvcGxldl9tYWluX2FyZ3Zb MF07CisrICBidWYgPSBYQUxMT0NBVkFSIChjaGFyLCBsZW4gKyBzaXplb2YgImxpYmNsb29nLWlz bC5zby40Iik7CisrICBtZW1jcHkgKGJ1ZiwgdG9wbGV2X21haW5fYXJndlswXSwgbGVuKTsKKysg IHN0cmNweSAoYnVmICsgbGVuLCAibGliY2xvb2ctaXNsLnNvLjQiKTsKKysgIGxlbiArPSBzaXpl b2YgImxpYmNsb29nLWlzbC5zby40IjsKKysgIHAgPSBzdHJzdHIgKGJ1ZiwgIi9saWJleGVjLyIp OworKyAgaWYgKHAgIT0gTlVMTCkKKysgICAgeworKyAgICAgIHdoaWxlICgxKQorKwl7CisrCSAg Y2hhciAqcSA9IHN0cnN0ciAocCArIDgsICIvbGliZXhlYy8iKTsKKysJICBpZiAocSA9PSBOVUxM KQorKwkgICAgYnJlYWs7CisrCSAgcCA9IHE7CisrCX0KKysgICAgICBtZW1tb3ZlIChwICsgNCwg cCArIDgsIGxlbiAtIChwICsgOCAtIGJ1ZikpOworKyAgICAgIGggPSBkbG9wZW4gKGJ1ZiwgUlRM RF9MQVpZKTsKKysgICAgICBpZiAoaCA9PSBOVUxMKQorKwl7CisrCSAgbGVuID0gcHJvZ25hbWUg LSB0b3BsZXZfbWFpbl9hcmd2WzBdOworKwkgIG1lbWNweSAoYnVmLCB0b3BsZXZfbWFpbl9hcmd2 WzBdLCBsZW4pOworKwkgIHN0cmNweSAoYnVmICsgbGVuLCAibGliY2xvb2ctaXNsLnNvLjQiKTsK KysJfQorKyAgICB9CisrICBpZiAoaCA9PSBOVUxMKQorKyAgICBoID0gZGxvcGVuIChidWYsIFJU TERfTEFaWSk7CisgICBjbG9vZ19wb2ludGVyc19fLmggPSBoOworICAgaWYgKGggPT0gTlVMTCkK KyAgICAgcmV0dXJuIGZhbHNlOwoKZGlmZiAtLWdpdCBhL2djYzQ5LWNvbG9yLWF1dG8ucGF0Y2gg Yi9nY2M0OS1jb2xvci1hdXRvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmE4Y2Y5MzgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0OS1jb2xvci1hdXRvLnBhdGNoCkBA IC0wLDAgKzEsNDYgQEAKKzIwMTMtMDktMjAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQu Y29tPgorCisJKiBjb21tb24ub3B0ICgtZmRpYWdub3N0aWNzLWNvbG9yPSk6IERlZmF1bHQgdG8g YXV0by4KKwkqIHRvcGxldi5jIChwcm9jZXNzX29wdGlvbnMpOiBBbHdheXMgZGVmYXVsdCB0bwor CS1mZGlhZ25vc3RpY3MtY29sb3I9YXV0byBpZiBubyAtZnssbm8tfWRpYWdub3N0aWNzLWNvbG9y Ki4KKwkqIGRvYy9pbnZva2UudGV4aSAoLWZkaWFnbm9zdGljcy1jb2xvciopOiBBZGp1c3QgZG9j dW1lbnRhdGlvbgorCW9mIHRoZSBkZWZhdWx0LgorCistLS0gZ2NjL2NvbW1vbi5vcHQuamoJMjAx My0wOS0xOCAxMjowNjo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvY29tbW9uLm9wdAkyMDEz LTA5LTIwIDEwOjAwOjAwLjkzNTgyMzkwMCArMDIwMAorQEAgLTEwMzcsNyArMTAzNyw3IEBAIENv bW1vbiBBbGlhcyhmZGlhZ25vc3RpY3MtY29sb3I9LGFsd2F5cywKKyA7CisgCisgZmRpYWdub3N0 aWNzLWNvbG9yPQorLUNvbW1vbiBKb2luZWQgUmVqZWN0TmVnYXRpdmUgVmFyKGZsYWdfZGlhZ25v c3RpY3Nfc2hvd19jb2xvcikgRW51bShkaWFnbm9zdGljX2NvbG9yX3J1bGUpIEluaXQoRElBR05P U1RJQ1NfQ09MT1JfTk8pCisrQ29tbW9uIEpvaW5lZCBSZWplY3ROZWdhdGl2ZSBWYXIoZmxhZ19k aWFnbm9zdGljc19zaG93X2NvbG9yKSBFbnVtKGRpYWdub3N0aWNfY29sb3JfcnVsZSkgSW5pdChE SUFHTk9TVElDU19DT0xPUl9BVVRPKQorIC1mZGlhZ25vc3RpY3MtY29sb3I9W25ldmVyfGFsd2F5 c3xhdXRvXQlDb2xvcml6ZSBkaWFnbm9zdGljcworIAorIDsgUmVxdWlyZWQgZm9yIHRoZXNlIGVu dW0gdmFsdWVzLgorLS0tIGdjYy90b3BsZXYuYy5qagkyMDEzLTA5LTA5IDExOjMyOjM5LjAwMDAw MDAwMCArMDIwMAorKysrIGdjYy90b3BsZXYuYwkyMDEzLTA5LTIwIDEwOjEwOjA4LjE5ODcyMTAw NSArMDIwMAorQEAgLTEyMjksMTAgKzEyMjksOCBAQCBwcm9jZXNzX29wdGlvbnMgKHZvaWQpCisg CisgICBtYXhpbXVtX2ZpZWxkX2FsaWdubWVudCA9IGluaXRpYWxfbWF4X2ZsZF9hbGlnbiAqIEJJ VFNfUEVSX1VOSVQ7CisgCistICAvKiBEZWZhdWx0IHRvIC1mZGlhZ25vc3RpY3MtY29sb3I9YXV0 byBpZiBHQ0NfQ09MT1JTIGlzIGluIHRoZSBlbnZpcm9ubWVudCwKKy0gICAgIG90aGVyd2lzZSBk ZWZhdWx0IHRvIC1mZGlhZ25vc3RpY3MtY29sb3I9bmV2ZXIuICAqLworLSAgaWYgKCFnbG9iYWxf b3B0aW9uc19zZXQueF9mbGFnX2RpYWdub3N0aWNzX3Nob3dfY29sb3IKKy0gICAgICAmJiBnZXRl bnYgKCJHQ0NfQ09MT1JTIikpCisrICAvKiBEZWZhdWx0IHRvIC1mZGlhZ25vc3RpY3MtY29sb3I9 YXV0by4gICovCisrICBpZiAoIWdsb2JhbF9vcHRpb25zX3NldC54X2ZsYWdfZGlhZ25vc3RpY3Nf c2hvd19jb2xvcikKKyAgICAgcHBfc2hvd19jb2xvciAoZ2xvYmFsX2RjLT5wcmludGVyKQorICAg ICAgID0gY29sb3JpemVfaW5pdCAoRElBR05PU1RJQ1NfQ09MT1JfQVVUTyk7CisgCistLS0gZ2Nj L2RvYy9pbnZva2UudGV4aS5qagkyMDEzLTA5LTE4IDEyOjA2OjUwLjAwMDAwMDAwMCArMDIwMAor KysrIGdjYy9kb2MvaW52b2tlLnRleGkJMjAxMy0wOS0yMCAxMDowOToyOS4wNzk5MDQ0NTUgKzAy MDAKK0BAIC0zMDQ2LDggKzMwNDYsNyBAQCBhIG1lc3NhZ2Ugd2hpY2ggaXMgdG9vIGxvbmcgdG8g Zml0IG9uIGEKKyBAY2luZGV4IGhpZ2hsaWdodCwgY29sb3IsIGNvbG91cgorIEB2aW5kZXggR0ND X0NPTE9SUyBAcntlbnZpcm9ubWVudCB2YXJpYWJsZX0KKyBVc2UgY29sb3IgaW4gZGlhZ25vc3Rp Y3MuICBAdmFye1dIRU59IGlzIEBzYW1we25ldmVyfSwgQHNhbXB7YWx3YXlzfSwKKy1vciBAc2Ft cHthdXRvfS4gIFRoZSBkZWZhdWx0IGlzIEBzYW1we25ldmVyfSBpZiBAZW52e0dDQ19DT0xPUlN9 IGVudmlyb25tZW50CistdmFyaWFibGUgaXNuJ3QgcHJlc2VudCBpbiB0aGUgZW52aXJvbm1lbnQs IGFuZCBAc2FtcHthdXRvfSBvdGhlcndpc2UuCisrb3IgQHNhbXB7YXV0b30uICBUaGUgZGVmYXVs dCBpcyBAc2FtcHthdXRvfS4KKyBAc2FtcHthdXRvfSBtZWFucyB0byB1c2UgY29sb3Igb25seSB3 aGVuIHRoZSBzdGFuZGFyZCBlcnJvciBpcyBhIHRlcm1pbmFsLgorIFRoZSBmb3JtcyBAb3B0aW9u ey1mZGlhZ25vc3RpY3MtY29sb3J9IGFuZCBAb3B0aW9uey1mbm8tZGlhZ25vc3RpY3MtY29sb3J9 IGFyZQorIGFsaWFzZXMgZm9yIEBvcHRpb257LWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXN9IGFu ZAoKZGlmZiAtLWdpdCBhL2djYzQ5LWhhY2sucGF0Y2ggYi9nY2M0OS1oYWNrLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MDNlOTUKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2M0OS1oYWNrLnBhdGNoCkBAIC0wLDAgKzEsMTAyIEBACistLS0gbGliYWRhL01ha2VmaWxl LmluLmpqCTIwMDktMDEtMTQgMTI6MDc6MzUuMDAwMDAwMDAwICswMTAwCisrKysgbGliYWRhL01h a2VmaWxlLmluCTIwMDktMDEtMTUgMTQ6MjU6MzMuMDAwMDAwMDAwICswMTAwCitAQCAtNjYsMTgg KzY2LDQwIEBAIGxpYnN1YmRpciA6PSAkKGxpYmRpcikvZ2NjLyQodGFyZ2V0X25vbmMKKyBBREFf UlRTX0RJUj0kKEdDQ19ESVIpL2FkYS9ydHMkKHN1YnN0IC8sXywkKE1VTFRJU1VCRElSKSkKKyBB REFfUlRTX1NVQkRJUj0uL3J0cyQoc3Vic3QgLyxfLCQoTVVMVElTVUJESVIpKQorIAorK0RFRkFV TFRNVUxUSUZMQUdTIDo9CisraWZlcSAoJChNVUxUSVNVQkRJUiksKQorK3Rhcmc6PSQoc3Vic3Qg LSwgLCQodGFyZ2V0KSkKKythcmNoOj0kKHdvcmQgMSwkKHRhcmcpKQorK2lmZXEgKCQod29yZHMg JCh0YXJnKSksMikKKytvc3lzOj0kKHdvcmQgMiwkKHRhcmcpKQorK2Vsc2UKKytvc3lzOj0kKHdv cmQgMywkKHRhcmcpKQorK2VuZGlmCisraWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgaSU4NiB4 ODZfNjQgcG93ZXJwYyUgcHBjJSBzMzkwJSBzcGFyYyUgbGludXglLCAkKGFyY2gpICQob3N5cykp KSwpCisraWZlcSAoJChzaGVsbCAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVj dG9yeSksLi4vbGliNjQpCisrREVGQVVMVE1VTFRJRkxBR1MgOj0gLW02NAorK2Vsc2UKKytpZmVx ICgkKHN0cmlwICQoZmlsdGVyLW91dCBzMzkwJSwgJChhcmNoKSkpLCkKKytERUZBVUxUTVVMVElG TEFHUyA6PSAtbTMxCisrZWxzZQorK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tMzIKKytlbmRpZgor K2VuZGlmCisrZW5kaWYKKytlbmRpZgorKworICMgZXhlZXh0IHNob3VsZCBub3QgYmUgdXNlZCBi ZWNhdXNlIGl0J3MgdGhlICpob3N0KiBleGVleHQuICBXZSdyZSBidWlsZGluZworICMgYSAqdGFy Z2V0KiBsaWJyYXJ5LCBhcmVuJ3Qgd2U/IT8gIExpa2V3aXNlIGZvciBDQy4gIFN0aWxsLCBwcm92 aWRlIGJvZ3VzCisgIyBkZWZpbml0aW9ucyBqdXN0IGluIGNhc2Ugc29tZXRoaW5nIHNsaXBzIHRo cm91Z2ggdGhlIHNhZmV0eSBuZXQgcHJvdmlkZWQKKyAjIGJ5IHJlY3Vyc2l2ZSBtYWtlIGludm9j YXRpb25zIGluIGdjYy9hZGEvTWFrZWZpbGUuaW4KKyBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwK KyAgICAgICAgICJNQUtFT1ZFUlJJREVTPSIgXAorLSAgICAgICAgIkxERkxBR1M9JChMREZMQUdT KSIgXAorKyAgICAgICAgIkxERkxBR1M9JChMREZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIg XAorICAgICAgICAgIkxOX1M9JChMTl9TKSIgXAorICAgICAgICAgIlNIRUxMPSQoU0hFTEwpIiBc CistICAgICAgICAiR05BVExJQkZMQUdTPSQoR05BVExJQkZMQUdTKSAkKE1VTFRJRkxBR1MpIiBc CistICAgICAgICAiR05BVExJQkNGTEFHUz0kKEdOQVRMSUJDRkxBR1MpICQoTVVMVElGTEFHUyki IFwKKy0gICAgICAgICJHTkFUTElCQ0ZMQUdTX0ZPUl9DPSQoR05BVExJQkNGTEFHU19GT1JfQykg JChNVUxUSUZMQUdTKSIgXAorKyAgICAgICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFHUykg JChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAorKyAgICAgICAgIkdOQVRMSUJD RkxBR1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1Mp IiBcCisrICAgICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9SX0Mp ICQoTVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKKyAgICAgICAgICJQSUNGTEFH X0ZPUl9UQVJHRVQ9JChQSUNGTEFHKSIgXAorICAgICAgICAgIlRIUkVBRF9LSU5EPSQoVEhSRUFE X0tJTkQpIiBcCisgICAgICAgICAiVFJBQ0U9JChUUkFDRSkiIFwKK0BAIC04OCw3ICsxMTAsNyBA QCBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwKKyAgICAgICAgICJleGVleHQ9LmV4ZWV4dC5zaG91 bGQubm90LmJlLnVzZWQgIiBcCisgCSdDQz10aGUuaG9zdC5jb21waWxlci5zaG91bGQubm90LmJl Lm5lZWRlZCcgXAorIAkiR0NDX0ZPUl9UQVJHRVQ9JChDQykiIFwKKy0gICAgICAgICJDRkxBR1M9 JChDRkxBR1MpIgorKyAgICAgICAgIkNGTEFHUz0kKENGTEFHUykgJChERUZBVUxUTVVMVElGTEFH UykiCisgCisgIyBSdWxlcyB0byBidWlsZCBnbmF0bGliLgorIC5QSE9OWTogZ25hdGxpYiBnbmF0 bGliLXBsYWluIGduYXRsaWItc2psaiBnbmF0bGliLXpjeCBnbmF0bGliLXNoYXJlZCBvc2NvbnN0 b29sCistLS0gZ2NjL2FkYS9zZW1fdXRpbC5hZGIJKHJldmlzaW9uIDE2MTY3NykKKysrKyBnY2Mv YWRhL3NlbV91dGlsLmFkYgkod29ya2luZyBjb3B5KQorQEAgLTU0ODcsNyArNTQ4Nyw3IEBAIHBh Y2thZ2UgYm9keSBTZW1fVXRpbCBpcworICAgICAgICAgICAgIEV4cCAgICAgICAgICAgOiBOb2Rl X0lkOworICAgICAgICAgICAgIEFzc24gICAgICAgICAgOiBOb2RlX0lkOworICAgICAgICAgICAg IENob2ljZSAgICAgICAgOiBOb2RlX0lkOworLSAgICAgICAgICAgIENvbXBfVHlwZSAgICAgOiBF bnRpdHlfSWQ7CisrICAgICAgICAgICAgQ29tcF9UeXBlICAgICA6IEVudGl0eV9JZCA6PSBFbXB0 eTsKKyAgICAgICAgICAgICBJc19BcnJheV9BZ2dyIDogQm9vbGVhbjsKKyAKKyAgICAgICAgICBi ZWdpbgorLS0tIGNvbmZpZy1tbC5pbi5qagkyMDEwLTA2LTMwIDA5OjUwOjQ0LjAwMDAwMDAwMCAr MDIwMAorKysrIGNvbmZpZy1tbC5pbgkyMDEwLTA3LTAyIDIxOjI0OjE3Ljk5NDIxMTE1MSArMDIw MAorQEAgLTUxNiw2ICs1MTYsOCBAQCBtdWx0aS1kbzoKKyAJCQkJQURBRkxBR1M9IiQoQURBRkxB R1MpICQke2ZsYWdzfSIgXAorIAkJCQlwcmVmaXg9IiQocHJlZml4KSIgXAorIAkJCQlleGVjX3By ZWZpeD0iJChleGVjX3ByZWZpeCkiIFwKKysJCQkJbWFuZGlyPSIkKG1hbmRpcikiIFwKKysJCQkJ aW5mb2Rpcj0iJChpbmZvZGlyKSIgXAorIAkJCQlHQ0pGTEFHUz0iJChHQ0pGTEFHUykgJCR7Zmxh Z3N9IiBcCisgCQkJCUdPQ0ZMQUdTPSIkKEdPQ0ZMQUdTKSAkJHtmbGFnc30iIFwKKyAJCQkJQ1hY RkxBR1M9IiQoQ1hYRkxBR1MpICQke2ZsYWdzfSIgXAorLS0tIGxpYmphdmEvTWFrZWZpbGUuYW0u amoJMjAxMC0wNy0wOSAxMToxNzozMy43Mjk2MDQwOTAgKzAyMDAKKysrKyBsaWJqYXZhL01ha2Vm aWxlLmFtCTIwMTAtMDctMDkgMTM6MTY6NDEuODk0Mzc1NjQxICswMjAwCitAQCAtNzEwLDcgKzcx MCw4IEBAIGlmIFVTRV9MSUJHQ0pfQkMKKyAjIyBsYXRlci4KKyAJQGVjaG8gSW5zdGFsbGluZyBk dW1teSBsaWIgbGliZ2NqX2JjLnNvLjEuMC4wOyBcCisgCXJtICQoREVTVERJUikkKHRvb2xleGVj bGliZGlyKS9saWJnY2pfYmMuc287IFwKKy0JbXYgJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIp L2xpYmdjal9iYy5zby4xLjAuMCAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2Jj LnNvOyBcCisrCSQoSU5TVEFMTCkgJChJTlNUQUxMX1NUUklQX0ZMQUcpICQoaGVyZSkvLmxpYnMv bGliZ2NqX2JjLnNvICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwK KysJcm0gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xLjAuMDsgXAor IAkkKGxpYmdjal9iY19kdW1teV9MSU5LKSAteGMgL2Rldi9udWxsIC1XbCwtc29uYW1lLGxpYmdj al9iYy5zby4xIFwKKyAJLW8gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5z by4xLjAuMCAtbGdjaiB8fCBleGl0OyBcCisgCXJtICQoREVTVERJUikkKHRvb2xleGVjbGliZGly KS9saWJnY2pfYmMuc28uMTsgXAorLS0tIGxpYmphdmEvTWFrZWZpbGUuaW4uamoJMjAxMC0wNy0w OSAxMToxNzozNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJqYXZhL01ha2VmaWxlLmluCTIwMTAt MDctMDkgMTM6MTg6MDcuNTQyNTcyMjcwICswMjAwCitAQCAtMTI2NjUsNyArMTI2NjUsOCBAQCBp bnN0YWxsLWV4ZWMtaG9vazogaW5zdGFsbC1iaW5QUk9HUkFNUyBpCisgCWluc3RhbGwtbGliZXhl Y3N1YlBST0dSQU1TCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJQGVjaG8gSW5zdGFsbGluZyBkdW1t eSBsaWIgbGliZ2NqX2JjLnNvLjEuMC4wOyBcCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0gJChE RVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAorLUBVU0VfTElCR0NKX0JD X1RSVUVACW12ICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAg JChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAorK0BVU0VfTElCR0NK X0JDX1RSVUVACSQoSU5TVEFMTCkgJChJTlNUQUxMX1NUUklQX0ZMQUcpICQoaGVyZSkvLmxpYnMv bGliZ2NqX2JjLnNvICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwK KytAVVNFX0xJQkdDSl9CQ19UUlVFQAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGli Z2NqX2JjLnNvLjEuMC4wOyBcCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJJChsaWJnY2pfYmNfZHVt bXlfTElOSykgLXhjIC9kZXYvbnVsbCAtV2wsLXNvbmFtZSxsaWJnY2pfYmMuc28uMSBcCisgQFVT RV9MSUJHQ0pfQkNfVFJVRUAJLW8gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9i Yy5zby4xLjAuMCAtbGdjaiB8fCBleGl0OyBcCisgQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0gJChE RVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xOyBcCgpkaWZmIC0tZ2l0IGEv Z2NjNDktaTM4Ni1saWJnb21wLnBhdGNoIGIvZ2NjNDktaTM4Ni1saWJnb21wLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1ODgzYTYKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2M0OS1pMzg2LWxpYmdvbXAucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGxpYmdvbXAv Y29uZmlndXJlLnRndC5qagkyMDA4LTAxLTEwIDIwOjUzOjQ4LjAwMDAwMDAwMCArMDEwMAorKysr IGxpYmdvbXAvY29uZmlndXJlLnRndAkyMDA4LTAzLTI3IDEyOjQ0OjUxLjAwMDAwMDAwMCArMDEw MAorQEAgLTY3LDcgKzY3LDcgQEAgaWYgdGVzdCAkZW5hYmxlX2xpbnV4X2Z1dGV4ID0geWVzOyB0 aGVuCisgCSAgICA7OworIAkgICopCisgCSAgICBpZiB0ZXN0IC16ICIkd2l0aF9hcmNoIjsgdGhl bgorLQkgICAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT0ke3Rhcmdl dF9jcHV9IgorKwkgICAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT1n ZW5lcmljIgorIAkgICAgZmkKKyAJZXNhYworIAk7OworQEAgLTc5LDcgKzc5LDcgQEAgaWYgdGVz dCAkZW5hYmxlX2xpbnV4X2Z1dGV4ID0geWVzOyB0aGVuCisgCWNvbmZpZ19wYXRoPSJsaW51eC94 ODYgbGludXggcG9zaXgiCisgCWNhc2UgIiAke0NDfSAke0NGTEFHU30gIiBpbgorIAkgICoiIC1t MzIgIiopCistCSAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT1pNjg2 IgorKwkgICAgWENGTEFHUz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9Z2VuZXJpYyIK KyAJICAgIDs7CisgCWVzYWMKKyAJOzsKCmRpZmYgLS1naXQgYS9nY2M0OS1qYXZhLW5vbXVsdGku cGF0Y2ggYi9nY2M0OS1qYXZhLW5vbXVsdGkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uMTczMzRhYQotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ5LWphdmEtbm9tdWx0 aS5wYXRjaApAQCAtMCwwICsxLDQ0IEBACistLS0gbGliamF2YS9jb25maWd1cmUuYWMuamoJMjAw Ny0xMi0wNyAxNzo1NTo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJqYXZhL2NvbmZpZ3VyZS5h YwkyMDA3LTEyLTA3IDE4OjM2OjU2LjAwMDAwMDAwMCArMDEwMAorQEAgLTgyLDYgKzgyLDEzIEBA IEFDX0FSR19FTkFCTEUoamF2YS1tYWludGFpbmVyLW1vZGUsCisgCVthbGxvdyByZWJ1aWxkaW5n IG9mIC5jbGFzcyBhbmQgLmggZmlsZXNdKSkKKyBBTV9DT05ESVRJT05BTChKQVZBX01BSU5UQUlO RVJfTU9ERSwgdGVzdCAiJGVuYWJsZV9qYXZhX21haW50YWluZXJfbW9kZSIgPSB5ZXMpCisgCisr QUNfQVJHX0VOQUJMRShsaWJqYXZhLW11bHRpbGliLAorKwlBU19IRUxQX1NUUklORyhbLS1lbmFi bGUtbGliamF2YS1tdWx0aWxpYl0sIFtidWlsZCBsaWJqYXZhIGFzIG11bHRpbGliXSkpCisraWYg dGVzdCAiJGVuYWJsZV9saWJqYXZhX211bHRpbGliIiA9IG5vOyB0aGVuCisrICBtdWx0aWxpYj1u bworKyAgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1cmVfYXJncyAtLWRpc2FibGUtbXVs dGlsaWIiCisrZmkKKysKKyAjIEl0IG1heSBub3QgYmUgc2FmZSB0byBydW4gbGlua2luZyB0ZXN0 cyBpbiBBQ19QUk9HX0NDL0FDX1BST0dfQ1hYLgorIEdDQ19OT19FWEVDVVRBQkxFUworIAorLS0t IGxpYmphdmEvY29uZmlndXJlLmpqCTIwMDctMTItMDcgMTc6NTU6NTAuMDAwMDAwMDAwICswMTAw CisrKysgbGliamF2YS9jb25maWd1cmUJMjAwNy0xMi0wNyAxODozOTo1OC4wMDAwMDAwMDAgKzAx MDAKK0BAIC0xMDIxLDYgKzEwMjEsOCBAQCBPcHRpb25hbCBGZWF0dXJlczoKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRlZmF1bHQ9eWVzCisgICAtLWVuYWJsZS1qYXZhLW1haW50YWluZXIt bW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3cgcmVidWlsZGluZyBvZiAuY2xh c3MgYW5kIC5oIGZpbGVzCisrICAtLWVuYWJsZS1saWJqYXZhLW11bHRpbGliCisrICAgICAgICAg ICAgICAgICAgICAgICAgICBidWlsZCBsaWJqYXZhIGFzIG11bHRpbGliCisgICAtLWRpc2FibGUt ZGVwZW5kZW5jeS10cmFja2luZyAgc3BlZWRzIHVwIG9uZS10aW1lIGJ1aWxkCisgICAtLWVuYWJs ZS1kZXBlbmRlbmN5LXRyYWNraW5nICAgZG8gbm90IHJlamVjdCBzbG93IGRlcGVuZGVuY3kgZXh0 cmFjdG9ycworICAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2RlICBlbmFibGUgbWFrZSBydWxlcyBh bmQgZGVwZW5kZW5jaWVzIG5vdCB1c2VmdWwKK0BAIC0xOTczLDYgKzE5NzUsMTYgQEAgZWxzZQor IGZpCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWxpYmphdmEtbXVsdGlsaWIgd2Fz IGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX2xpYmphdmFfbXVsdGlsaWIrc2V0fSIgPSBzZXQ7 IHRoZW4KKysgIGVuYWJsZXZhbD0kZW5hYmxlX2xpYmphdmFfbXVsdGlsaWI7CisrZmkKKysKKytp ZiB0ZXN0ICIkZW5hYmxlX2xpYmphdmFfbXVsdGlsaWIiID0gbm87IHRoZW4KKysgIG11bHRpbGli PW5vCisrICBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzIC0tZGlzYWJsZS1t dWx0aWxpYiIKKytmaQorKworICMgSXQgbWF5IG5vdCBiZSBzYWZlIHRvIHJ1biBsaW5raW5nIHRl c3RzIGluIEFDX1BST0dfQ0MvQUNfUFJPR19DWFguCisgCisgCgpkaWZmIC0tZ2l0IGEvZ2NjNDkt bGliZ28tcDIyNC5wYXRjaCBiL2djYzQ5LWxpYmdvLXAyMjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uODllMDZlMQotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ5LWxp YmdvLXAyMjQucGF0Y2gKQEAgLTAsMCArMSwxMDkzIEBACistLS0gbGliZ28vTWFrZWZpbGUuYW0u amoJMjAxNC0wMS0wOCAxMzo1MzowNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJnby9NYWtlZmls ZS5hbQkyMDE0LTAzLTA1IDE1OjIwOjA5LjkzODQ2NjA5MyArMDEwMAorQEAgLTExMzMsNyArMTEz Myw2IEBAIGdvX2NyeXB0b19lY2RzYV9maWxlcyA9IFwKKyAJZ28vY3J5cHRvL2VjZHNhL2VjZHNh LmdvCisgZ29fY3J5cHRvX2VsbGlwdGljX2ZpbGVzID0gXAorIAlnby9jcnlwdG8vZWxsaXB0aWMv ZWxsaXB0aWMuZ28gXAorLQlnby9jcnlwdG8vZWxsaXB0aWMvcDIyNC5nbyBcCisgCWdvL2NyeXB0 by9lbGxpcHRpYy9wMjU2LmdvCisgZ29fY3J5cHRvX2htYWNfZmlsZXMgPSBcCisgCWdvL2NyeXB0 by9obWFjL2htYWMuZ28KKy0tLSBsaWJnby9NYWtlZmlsZS5pbi5qagkyMDE0LTAxLTA4IDEzOjUz OjA2LjAwMDAwMDAwMCArMDEwMAorKysrIGxpYmdvL01ha2VmaWxlLmluCTIwMTQtMDMtMDUgMTU6 MjA6MjAuMzcyNDY1NDcxICswMTAwCitAQCAtMTI5MSw3ICsxMjkxLDYgQEAgZ29fY3J5cHRvX2Vj ZHNhX2ZpbGVzID0gXAorIAorIGdvX2NyeXB0b19lbGxpcHRpY19maWxlcyA9IFwKKyAJZ28vY3J5 cHRvL2VsbGlwdGljL2VsbGlwdGljLmdvIFwKKy0JZ28vY3J5cHRvL2VsbGlwdGljL3AyMjQuZ28g XAorIAlnby9jcnlwdG8vZWxsaXB0aWMvcDI1Ni5nbworIAorIGdvX2NyeXB0b19obWFjX2ZpbGVz ID0gXAorLS0tIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9lbGxpcHRpYy5nby5qagkyMDEzLTEx LTA3IDExOjU5OjA5LjAwMDAwMDAwMCArMDEwMAorKysrIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRp Yy9lbGxpcHRpYy5nbwkyMDE0LTAzLTA1IDE1OjIxOjA0LjE4NjQ2Mjg1OSArMDEwMAorQEAgLTMy Niw3ICszMjYsNiBAQCB2YXIgcDM4NCAqQ3VydmVQYXJhbXMKKyB2YXIgcDUyMSAqQ3VydmVQYXJh bXMKKyAKKyBmdW5jIGluaXRBbGwoKSB7CistCWluaXRQMjI0KCkKKyAJaW5pdFAyNTYoKQorIAlp bml0UDM4NCgpCisgCWluaXRQNTIxKCkKKy0tLSBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvZWxs aXB0aWNfdGVzdC5nby5qagkyMDEzLTExLTA3IDExOjU5OjA5LjAwMDAwMDAwMCArMDEwMAorKysr IGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9lbGxpcHRpY190ZXN0LmdvCTIwMTQtMDMtMDUgMTU6 NDY6MDMuNzM5MzczNDUzICswMTAwCitAQCAtNSwyNiArNSwxNiBAQAorIHBhY2thZ2UgZWxsaXB0 aWMKKyAKKyBpbXBvcnQgKAorLQkiY3J5cHRvL3JhbmQiCistCSJlbmNvZGluZy9oZXgiCistCSJm bXQiCisgCSJtYXRoL2JpZyIKKyAJInRlc3RpbmciCisgKQorIAorLWZ1bmMgVGVzdE9uQ3VydmUo dCAqdGVzdGluZy5UKSB7CistCXAyMjQgOj0gUDIyNCgpCistCWlmICFwMjI0LklzT25DdXJ2ZShw MjI0LlBhcmFtcygpLkd4LCBwMjI0LlBhcmFtcygpLkd5KSB7CistCQl0LkVycm9yZigiRkFJTCIp CistCX0KKy19CistCisgdHlwZSBiYXNlTXVsdFRlc3Qgc3RydWN0IHsKKyAJayAgICBzdHJpbmcK KyAJeCwgeSBzdHJpbmcKKyB9CisgCistdmFyIHAyMjRCYXNlTXVsdFRlc3RzID0gW11iYXNlTXVs dFRlc3R7CisrdmFyIHAyNTZCYXNlTXVsdFRlc3RzID0gW11iYXNlTXVsdFRlc3R7CisgCXsKKyAJ CSIxIiwKKyAJCSJiNzBlMGNiZDZiYjRiZjdmMzIxMzkwYjk0YTAzYzFkMzU2YzIxMTIyMzQzMjgw ZDYxMTVjMWQyMSIsCitAQCAtMjg3LDQ3ICsyNzcsMTIgQEAgdmFyIHAyMjRCYXNlTXVsdFRlc3Rz ID0gW11iYXNlTXVsdFRlc3R7CisgCX0sCisgfQorIAorLWZ1bmMgVGVzdEJhc2VNdWx0KHQgKnRl c3RpbmcuVCkgeworLQlwMjI0IDo9IFAyMjQoKQorLQlmb3IgaSwgZSA6PSByYW5nZSBwMjI0QmFz ZU11bHRUZXN0cyB7CistCQlrLCBvayA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUuaywgMTAp CistCQlpZiAhb2sgeworLQkJCXQuRXJyb3JmKCIlZDogYmFkIHZhbHVlIGZvciBrOiAlcyIsIGks IGUuaykKKy0JCX0KKy0JCXgsIHkgOj0gcDIyNC5TY2FsYXJCYXNlTXVsdChrLkJ5dGVzKCkpCist CQlpZiBmbXQuU3ByaW50ZigiJXgiLCB4KSAhPSBlLnggfHwgZm10LlNwcmludGYoIiV4IiwgeSkg IT0gZS55IHsKKy0JCQl0LkVycm9yZigiJWQ6IGJhZCBvdXRwdXQgZm9yIGs9JXM6IGdvdCAoJXgs ICV4KSwgd2FudCAoJXMsICVzKSIsIGksIGUuaywgeCwgeSwgZS54LCBlLnkpCistCQl9CistCQlp ZiB0ZXN0aW5nLlNob3J0KCkgJiYgaSA+IDUgeworLQkJCWJyZWFrCistCQl9CistCX0KKy19Cist CistZnVuYyBUZXN0R2VuZXJpY0Jhc2VNdWx0KHQgKnRlc3RpbmcuVCkgeworLQkvLyBXZSB1c2Ug dGhlIFAyMjQgQ3VydmVQYXJhbXMgZGlyZWN0bHkgaW4gb3JkZXIgdG8gdGVzdCB0aGUgZ2VuZXJp YyBpbXBsZW1lbnRhdGlvbi4KKy0JcDIyNCA6PSBQMjI0KCkuUGFyYW1zKCkKKy0JZm9yIGksIGUg Oj0gcmFuZ2UgcDIyNEJhc2VNdWx0VGVzdHMgeworLQkJaywgb2sgOj0gbmV3KGJpZy5JbnQpLlNl dFN0cmluZyhlLmssIDEwKQorLQkJaWYgIW9rIHsKKy0JCQl0LkVycm9yZigiJWQ6IGJhZCB2YWx1 ZSBmb3IgazogJXMiLCBpLCBlLmspCistCQl9CistCQl4LCB5IDo9IHAyMjQuU2NhbGFyQmFzZU11 bHQoay5CeXRlcygpKQorLQkJaWYgZm10LlNwcmludGYoIiV4IiwgeCkgIT0gZS54IHx8IGZtdC5T cHJpbnRmKCIleCIsIHkpICE9IGUueSB7CistCQkJdC5FcnJvcmYoIiVkOiBiYWQgb3V0cHV0IGZv ciBrPSVzOiBnb3QgKCV4LCAleCksIHdhbnQgKCVzLCAlcykiLCBpLCBlLmssIHgsIHksIGUueCwg ZS55KQorLQkJfQorLQkJaWYgdGVzdGluZy5TaG9ydCgpICYmIGkgPiA1IHsKKy0JCQlicmVhawor LQkJfQorLQl9CistfQorLQorIGZ1bmMgVGVzdFAyNTZCYXNlTXVsdCh0ICp0ZXN0aW5nLlQpIHsK KyAJcDI1NiA6PSBQMjU2KCkKKyAJcDI1NkdlbmVyaWMgOj0gcDI1Ni5QYXJhbXMoKQorIAorLQlz Y2FsYXJzIDo9IG1ha2UoW10qYmlnLkludCwgMCwgbGVuKHAyMjRCYXNlTXVsdFRlc3RzKSsxKQor LQlmb3IgXywgZSA6PSByYW5nZSBwMjI0QmFzZU11bHRUZXN0cyB7CisrCXNjYWxhcnMgOj0gbWFr ZShbXSpiaWcuSW50LCAwLCBsZW4ocDI1NkJhc2VNdWx0VGVzdHMpKzEpCisrCWZvciBfLCBlIDo9 IHJhbmdlIHAyNTZCYXNlTXVsdFRlc3RzIHsKKyAJCWssIF8gOj0gbmV3KGJpZy5JbnQpLlNldFN0 cmluZyhlLmssIDEwKQorIAkJc2NhbGFycyA9IGFwcGVuZChzY2FsYXJzLCBrKQorIAl9CitAQCAt MzUyLDcgKzMwNyw3IEBAIGZ1bmMgVGVzdFAyNTZNdWx0KHQgKnRlc3RpbmcuVCkgeworIAlwMjU2 IDo9IFAyNTYoKQorIAlwMjU2R2VuZXJpYyA6PSBwMjU2LlBhcmFtcygpCisgCistCWZvciBpLCBl IDo9IHJhbmdlIHAyMjRCYXNlTXVsdFRlc3RzIHsKKysJZm9yIGksIGUgOj0gcmFuZ2UgcDI1NkJh c2VNdWx0VGVzdHMgeworIAkJeCwgXyA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUueCwgMTYp CisgCQl5LCBfIDo9IG5ldyhiaWcuSW50KS5TZXRTdHJpbmcoZS55LCAxNikKKyAJCWssIF8gOj0g bmV3KGJpZy5JbnQpLlNldFN0cmluZyhlLmssIDEwKQorQEAgLTM3Myw3ICszMjgsNiBAQCBmdW5j IFRlc3RJbmZpbml0eSh0ICp0ZXN0aW5nLlQpIHsKKyAJCW5hbWUgIHN0cmluZworIAkJY3VydmUg Q3VydmUKKyAJfXsKKy0JCXsicDIyNCIsIFAyMjQoKX0sCisgCQl7InAyNTYiLCBQMjU2KCl9LAor IAl9CisgCitAQCAtNDA2LDUzICszNjAsMTMgQEAgZnVuYyBUZXN0SW5maW5pdHkodCAqdGVzdGlu Zy5UKSB7CisgCX0KKyB9CisgCistZnVuYyBCZW5jaG1hcmtCYXNlTXVsdChiICp0ZXN0aW5nLkIp IHsKKy0JYi5SZXNldFRpbWVyKCkKKy0JcDIyNCA6PSBQMjI0KCkKKy0JZSA6PSBwMjI0QmFzZU11 bHRUZXN0c1syNV0KKy0JaywgXyA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUuaywgMTApCist CWIuU3RhcnRUaW1lcigpCistCWZvciBpIDo9IDA7IGkgPCBiLk47IGkrKyB7CistCQlwMjI0LlNj YWxhckJhc2VNdWx0KGsuQnl0ZXMoKSkKKy0JfQorLX0KKy0KKyBmdW5jIEJlbmNobWFya0Jhc2VN dWx0UDI1NihiICp0ZXN0aW5nLkIpIHsKKyAJYi5SZXNldFRpbWVyKCkKKyAJcDI1NiA6PSBQMjU2 KCkKKy0JZSA6PSBwMjI0QmFzZU11bHRUZXN0c1syNV0KKysJZSA6PSBwMjU2QmFzZU11bHRUZXN0 c1syNV0KKyAJaywgXyA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKGUuaywgMTApCisgCWIuU3Rh cnRUaW1lcigpCisgCWZvciBpIDo9IDA7IGkgPCBiLk47IGkrKyB7CisgCQlwMjU2LlNjYWxhckJh c2VNdWx0KGsuQnl0ZXMoKSkKKyAJfQorIH0KKy0KKy1mdW5jIFRlc3RNYXJzaGFsKHQgKnRlc3Rp bmcuVCkgeworLQlwMjI0IDo9IFAyMjQoKQorLQlfLCB4LCB5LCBlcnIgOj0gR2VuZXJhdGVLZXko cDIyNCwgcmFuZC5SZWFkZXIpCistCWlmIGVyciAhPSBuaWwgeworLQkJdC5FcnJvcihlcnIpCist CQlyZXR1cm4KKy0JfQorLQlzZXJpYWxpemVkIDo9IE1hcnNoYWwocDIyNCwgeCwgeSkKKy0JeHgs IHl5IDo9IFVubWFyc2hhbChwMjI0LCBzZXJpYWxpemVkKQorLQlpZiB4eCA9PSBuaWwgeworLQkJ dC5FcnJvcigiZmFpbGVkIHRvIHVubWFyc2hhbCIpCistCQlyZXR1cm4KKy0JfQorLQlpZiB4eC5D bXAoeCkgIT0gMCB8fCB5eS5DbXAoeSkgIT0gMCB7CistCQl0LkVycm9yKCJ1bm1hcnNoYWwgcmV0 dXJuZWQgZGlmZmVyZW50IHZhbHVlcyIpCistCQlyZXR1cm4KKy0JfQorLX0KKy0KKy1mdW5jIFRl c3RQMjI0T3ZlcmZsb3codCAqdGVzdGluZy5UKSB7CistCS8vIFRoaXMgdGVzdHMgZm9yIGEgc3Bl Y2lmaWMgYnVnIGluIHRoZSBQMjI0IGltcGxlbWVudGF0aW9uLgorLQlwMjI0IDo9IFAyMjQoKQor LQlwb2ludERhdGEsIF8gOj0gaGV4LkRlY29kZVN0cmluZygiMDQ5QjUzNUI0NUZCMEEyMDcyMzk4 QTY4MzE4MzQ2MjRDN0UzMkNDRkQ1QTRCOTMzQkNFQUY3N0YxREQ5NDVFMDhCQkU1MTc4RjVFREY1 RTczMzM4OEYxOTZEMkE2MzFEMkUwNzVCQjE2Q0JGRUVBMTVCIikKKy0JeCwgeSA6PSBVbm1hcnNo YWwocDIyNCwgcG9pbnREYXRhKQorLQlpZiAhcDIyNC5Jc09uQ3VydmUoeCwgeSkgeworLQkJdC5F cnJvcigiUDIyNCBmYWlsZWQgdG8gdmFsaWRhdGUgYSBjb3JyZWN0IHBvaW50IikKKy0JfQorLX0K Ky0tLSBsaWJnby9nby9jcnlwdG8vZWNkc2EvZWNkc2FfdGVzdC5nby5qagkyMDEyLTExLTE1IDE4 OjI2OjU2LjAwMDAwMDAwMCArMDEwMAorKysrIGxpYmdvL2dvL2NyeXB0by9lY2RzYS9lY2RzYV90 ZXN0LmdvCTIwMTQtMDMtMDUgMTU6MjY6MzguNDYxNDQyOTI5ICswMTAwCitAQCAtMzMsNyArMzMs NiBAQCBmdW5jIHRlc3RLZXlHZW5lcmF0aW9uKHQgKnRlc3RpbmcuVCwgYyBlCisgfQorIAorIGZ1 bmMgVGVzdEtleUdlbmVyYXRpb24odCAqdGVzdGluZy5UKSB7CistCXRlc3RLZXlHZW5lcmF0aW9u KHQsIGVsbGlwdGljLlAyMjQoKSwgInAyMjQiKQorIAlpZiB0ZXN0aW5nLlNob3J0KCkgeworIAkJ cmV0dXJuCisgCX0KK0BAIC02Myw3ICs2Miw2IEBAIGZ1bmMgdGVzdFNpZ25BbmRWZXJpZnkodCAq dGVzdGluZy5ULCBjIGUKKyB9CisgCisgZnVuYyBUZXN0U2lnbkFuZFZlcmlmeSh0ICp0ZXN0aW5n LlQpIHsKKy0JdGVzdFNpZ25BbmRWZXJpZnkodCwgZWxsaXB0aWMuUDIyNCgpLCAicDIyNCIpCisg CWlmIHRlc3RpbmcuU2hvcnQoKSB7CisgCQlyZXR1cm4KKyAJfQorQEAgLTEyOSw4ICsxMjcsNiBA QCBmdW5jIFRlc3RWZWN0b3JzKHQgKnRlc3RpbmcuVCkgeworIAkJCXBhcnRzIDo9IHN0cmluZ3Mu U3BsaXROKGxpbmUsICIsIiwgMikKKyAKKyAJCQlzd2l0Y2ggcGFydHNbMF0geworLQkJCWNhc2Ug IlAtMjI0IjoKKy0JCQkJcHViLkN1cnZlID0gZWxsaXB0aWMuUDIyNCgpCisgCQkJY2FzZSAiUC0y NTYiOgorIAkJCQlwdWIuQ3VydmUgPSBlbGxpcHRpYy5QMjU2KCkKKyAJCQljYXNlICJQLTM4NCI6 CistLS0gbGliZ28vZ28vY3J5cHRvL3g1MDkveDUwOS5nby5qagkyMDEzLTExLTA3IDExOjU5OjA5 LjAwMDAwMDAwMCArMDEwMAorKysrIGxpYmdvL2dvL2NyeXB0by94NTA5L3g1MDkuZ28JMjAxNC0w My0wNSAxNToyNzozNy4wMjI0Mzk0MzcgKzAxMDAKK0BAIC0zMDUsOSArMzA1LDYgQEAgZnVuYyBn ZXRQdWJsaWNLZXlBbGdvcml0aG1Gcm9tT0lEKG9pZCBhcworIAorIC8vIFJGQyA1NDgwLCAyLjEu MS4xLiBOYW1lZCBDdXJ2ZQorIC8vCistLy8gc2VjcDIyNHIxIE9CSkVDVCBJREVOVElGSUVSIDo6 PSB7CistLy8gICBpc28oMSkgaWRlbnRpZmllZC1vcmdhbml6YXRpb24oMykgY2VydGljb20oMTMy KSBjdXJ2ZSgwKSAzMyB9CistLy8KKyAvLyBzZWNwMjU2cjEgT0JKRUNUIElERU5USUZJRVIgOjo9 IHsKKyAvLyAgIGlzbygxKSBtZW1iZXItYm9keSgyKSB1cyg4NDApIGFuc2ktWDktNjIoMTAwNDUp IGN1cnZlcygzKQorIC8vICAgcHJpbWUoMSkgNyB9CitAQCAtMzIwLDcgKzMxNyw2IEBAIGZ1bmMg Z2V0UHVibGljS2V5QWxnb3JpdGhtRnJvbU9JRChvaWQgYXMKKyAvLworIC8vIE5COiBzZWNwMjU2 cjEgaXMgZXF1aXZhbGVudCB0byBwcmltZTI1NnYxCisgdmFyICgKKy0Jb2lkTmFtZWRDdXJ2ZVAy MjQgPSBhc24xLk9iamVjdElkZW50aWZpZXJ7MSwgMywgMTMyLCAwLCAzM30KKyAJb2lkTmFtZWRD dXJ2ZVAyNTYgPSBhc24xLk9iamVjdElkZW50aWZpZXJ7MSwgMiwgODQwLCAxMDA0NSwgMywgMSwg N30KKyAJb2lkTmFtZWRDdXJ2ZVAzODQgPSBhc24xLk9iamVjdElkZW50aWZpZXJ7MSwgMywgMTMy LCAwLCAzNH0KKyAJb2lkTmFtZWRDdXJ2ZVA1MjEgPSBhc24xLk9iamVjdElkZW50aWZpZXJ7MSwg MywgMTMyLCAwLCAzNX0KK0BAIC0zMjgsOCArMzI0LDYgQEAgdmFyICgKKyAKKyBmdW5jIG5hbWVk Q3VydmVGcm9tT0lEKG9pZCBhc24xLk9iamVjdElkZW50aWZpZXIpIGVsbGlwdGljLkN1cnZlIHsK KyAJc3dpdGNoIHsKKy0JY2FzZSBvaWQuRXF1YWwob2lkTmFtZWRDdXJ2ZVAyMjQpOgorLQkJcmV0 dXJuIGVsbGlwdGljLlAyMjQoKQorIAljYXNlIG9pZC5FcXVhbChvaWROYW1lZEN1cnZlUDI1Nik6 CisgCQlyZXR1cm4gZWxsaXB0aWMuUDI1NigpCisgCWNhc2Ugb2lkLkVxdWFsKG9pZE5hbWVkQ3Vy dmVQMzg0KToKK0BAIC0zNDIsOCArMzM2LDYgQEAgZnVuYyBuYW1lZEN1cnZlRnJvbU9JRChvaWQg YXNuMS5PYmplY3RJZAorIAorIGZ1bmMgb2lkRnJvbU5hbWVkQ3VydmUoY3VydmUgZWxsaXB0aWMu Q3VydmUpIChhc24xLk9iamVjdElkZW50aWZpZXIsIGJvb2wpIHsKKyAJc3dpdGNoIGN1cnZlIHsK Ky0JY2FzZSBlbGxpcHRpYy5QMjI0KCk6CistCQlyZXR1cm4gb2lkTmFtZWRDdXJ2ZVAyMjQsIHRy dWUKKyAJY2FzZSBlbGxpcHRpYy5QMjU2KCk6CisgCQlyZXR1cm4gb2lkTmFtZWRDdXJ2ZVAyNTYs IHRydWUKKyAJY2FzZSBlbGxpcHRpYy5QMzg0KCk6CitAQCAtMTM3Myw3ICsxMzY1LDcgQEAgZnVu YyBDcmVhdGVDZXJ0aWZpY2F0ZShyYW5kIGlvLlJlYWRlciwgdAorIAkJaGFzaEZ1bmMgPSBjcnlw dG8uU0hBMQorIAljYXNlICplY2RzYS5Qcml2YXRlS2V5OgorIAkJc3dpdGNoIHByaXYuQ3VydmUg eworLQkJY2FzZSBlbGxpcHRpYy5QMjI0KCksIGVsbGlwdGljLlAyNTYoKToKKysJCWNhc2UgZWxs aXB0aWMuUDI1NigpOgorIAkJCWhhc2hGdW5jID0gY3J5cHRvLlNIQTI1NgorIAkJCXNpZ25hdHVy ZUFsZ29yaXRobS5BbGdvcml0aG0gPSBvaWRTaWduYXR1cmVFQ0RTQVdpdGhTSEEyNTYKKyAJCWNh c2UgZWxsaXB0aWMuUDM4NCgpOgorLS0tIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjI0Lmdv LmpqCTIwMTItMTEtMTUgMTg6MjY6NTcuMDAwMDAwMDAwICswMTAwCisrKysgbGliZ28vZ28vY3J5 cHRvL2VsbGlwdGljL3AyMjQuZ28JMjAxNC0wMy0wNSAxNTozMDowMS4xODk0MzA4NDIgKzAxMDAK K0BAIC0xLDc2NSArMCwwIEBACistLy8gQ29weXJpZ2h0IDIwMTIgVGhlIEdvIEF1dGhvcnMuICBB bGwgcmlnaHRzIHJlc2VydmVkLgorLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy bmVkIGJ5IGEgQlNELXN0eWxlCistLy8gbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUg TElDRU5TRSBmaWxlLgorLQorLXBhY2thZ2UgZWxsaXB0aWMKKy0KKy0vLyBUaGlzIGlzIGEgY29u c3RhbnQtdGltZSwgMzItYml0IGltcGxlbWVudGF0aW9uIG9mIFAyMjQuIFNlZSBGSVBTIDE4Ni0z LAorLS8vIHNlY3Rpb24gRC4yLjIuCistLy8KKy0vLyBTZWUgaHR0cDovL3d3dy5pbXBlcmlhbHZp b2xldC5vcmcvMjAxMC8xMi8wNC9lY2MuaHRtbCAoWzFdKSBmb3IgYmFja2dyb3VuZC4KKy0KKy1p bXBvcnQgKAorLQkibWF0aC9iaWciCistKQorLQorLXZhciBwMjI0IHAyMjRDdXJ2ZQorLQorLXR5 cGUgcDIyNEN1cnZlIHN0cnVjdCB7CistCSpDdXJ2ZVBhcmFtcworLQlneCwgZ3ksIGIgcDIyNEZp ZWxkRWxlbWVudAorLX0KKy0KKy1mdW5jIGluaXRQMjI0KCkgeworLQkvLyBTZWUgRklQUyAxODYt Mywgc2VjdGlvbiBELjIuMgorLQlwMjI0LkN1cnZlUGFyYW1zID0gbmV3KEN1cnZlUGFyYW1zKQor LQlwMjI0LlAsIF8gPSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKCIyNjk1OTk0NjY2NzE1MDYzOTc5 NDY2NzAxNTA4NzAxOTYzMDY3MzU1NzkxNjI2MDAyNjMwODE0MzUxMDA2NjI5ODg4MSIsIDEwKQor LQlwMjI0Lk4sIF8gPSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKCIyNjk1OTk0NjY2NzE1MDYzOTc5 NDY2NzAxNTA4NzAxOTYyNTk0MDQ1NzgwNzcxNDQyNDM5MTcyMTY4MjcyMjM2ODA2MSIsIDEwKQor LQlwMjI0LkIsIF8gPSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKCJiNDA1MGE4NTBjMDRiM2FiZjU0 MTMyNTY1MDQ0YjBiN2Q3YmZkOGJhMjcwYjM5NDMyMzU1ZmZiNCIsIDE2KQorLQlwMjI0Lkd4LCBf ID0gbmV3KGJpZy5JbnQpLlNldFN0cmluZygiYjcwZTBjYmQ2YmI0YmY3ZjMyMTM5MGI5NGEwM2Mx ZDM1NmMyMTEyMjM0MzI4MGQ2MTE1YzFkMjEiLCAxNikKKy0JcDIyNC5HeSwgXyA9IG5ldyhiaWcu SW50KS5TZXRTdHJpbmcoImJkMzc2Mzg4YjVmNzIzZmI0YzIyZGZlNmNkNDM3NWEwNWEwNzQ3NjQ0 NGQ1ODE5OTg1MDA3ZTM0IiwgMTYpCistCXAyMjQuQml0U2l6ZSA9IDIyNAorLQorLQlwMjI0RnJv bUJpZygmcDIyNC5neCwgcDIyNC5HeCkKKy0JcDIyNEZyb21CaWcoJnAyMjQuZ3ksIHAyMjQuR3kp CistCXAyMjRGcm9tQmlnKCZwMjI0LmIsIHAyMjQuQikKKy19CistCistLy8gUDIyNCByZXR1cm5z IGEgQ3VydmUgd2hpY2ggaW1wbGVtZW50cyBQLTIyNCAoc2VlIEZJUFMgMTg2LTMsIHNlY3Rpb24g RC4yLjIpCistZnVuYyBQMjI0KCkgQ3VydmUgeworLQlpbml0b25jZS5Ebyhpbml0QWxsKQorLQly ZXR1cm4gcDIyNAorLX0KKy0KKy1mdW5jIChjdXJ2ZSBwMjI0Q3VydmUpIFBhcmFtcygpICpDdXJ2 ZVBhcmFtcyB7CistCXJldHVybiBjdXJ2ZS5DdXJ2ZVBhcmFtcworLX0KKy0KKy1mdW5jIChjdXJ2 ZSBwMjI0Q3VydmUpIElzT25DdXJ2ZShiaWdYLCBiaWdZICpiaWcuSW50KSBib29sIHsKKy0JdmFy IHgsIHkgcDIyNEZpZWxkRWxlbWVudAorLQlwMjI0RnJvbUJpZygmeCwgYmlnWCkKKy0JcDIyNEZy b21CaWcoJnksIGJpZ1kpCistCistCS8vIHnCsiA9IHjCsyAtIDN4ICsgYgorLQl2YXIgdG1wIHAy MjRMYXJnZUZpZWxkRWxlbWVudAorLQl2YXIgeDMgcDIyNEZpZWxkRWxlbWVudAorLQlwMjI0U3F1 YXJlKCZ4MywgJngsICZ0bXApCistCXAyMjRNdWwoJngzLCAmeDMsICZ4LCAmdG1wKQorLQorLQlm b3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCXhbaV0gKj0gMworLQl9CistCXAyMjRTdWIoJngz LCAmeDMsICZ4KQorLQlwMjI0UmVkdWNlKCZ4MykKKy0JcDIyNEFkZCgmeDMsICZ4MywgJmN1cnZl LmIpCistCXAyMjRDb250cmFjdCgmeDMsICZ4MykKKy0KKy0JcDIyNFNxdWFyZSgmeSwgJnksICZ0 bXApCistCXAyMjRDb250cmFjdCgmeSwgJnkpCistCistCWZvciBpIDo9IDA7IGkgPCA4OyBpKysg eworLQkJaWYgeVtpXSAhPSB4M1tpXSB7CistCQkJcmV0dXJuIGZhbHNlCistCQl9CistCX0KKy0J cmV0dXJuIHRydWUKKy19CistCistZnVuYyAocDIyNEN1cnZlKSBBZGQoYmlnWDEsIGJpZ1kxLCBi aWdYMiwgYmlnWTIgKmJpZy5JbnQpICh4LCB5ICpiaWcuSW50KSB7CistCXZhciB4MSwgeTEsIHox LCB4MiwgeTIsIHoyLCB4MywgeTMsIHozIHAyMjRGaWVsZEVsZW1lbnQKKy0KKy0JcDIyNEZyb21C aWcoJngxLCBiaWdYMSkKKy0JcDIyNEZyb21CaWcoJnkxLCBiaWdZMSkKKy0JaWYgYmlnWDEuU2ln bigpICE9IDAgfHwgYmlnWTEuU2lnbigpICE9IDAgeworLQkJejFbMF0gPSAxCistCX0KKy0JcDIy NEZyb21CaWcoJngyLCBiaWdYMikKKy0JcDIyNEZyb21CaWcoJnkyLCBiaWdZMikKKy0JaWYgYmln WDIuU2lnbigpICE9IDAgfHwgYmlnWTIuU2lnbigpICE9IDAgeworLQkJejJbMF0gPSAxCistCX0K Ky0KKy0JcDIyNEFkZEphY29iaWFuKCZ4MywgJnkzLCAmejMsICZ4MSwgJnkxLCAmejEsICZ4Miwg JnkyLCAmejIpCistCXJldHVybiBwMjI0VG9BZmZpbmUoJngzLCAmeTMsICZ6MykKKy19CistCist ZnVuYyAocDIyNEN1cnZlKSBEb3VibGUoYmlnWDEsIGJpZ1kxICpiaWcuSW50KSAoeCwgeSAqYmln LkludCkgeworLQl2YXIgeDEsIHkxLCB6MSwgeDIsIHkyLCB6MiBwMjI0RmllbGRFbGVtZW50Cist CistCXAyMjRGcm9tQmlnKCZ4MSwgYmlnWDEpCistCXAyMjRGcm9tQmlnKCZ5MSwgYmlnWTEpCist CXoxWzBdID0gMQorLQorLQlwMjI0RG91YmxlSmFjb2JpYW4oJngyLCAmeTIsICZ6MiwgJngxLCAm eTEsICZ6MSkKKy0JcmV0dXJuIHAyMjRUb0FmZmluZSgmeDIsICZ5MiwgJnoyKQorLX0KKy0KKy1m dW5jIChwMjI0Q3VydmUpIFNjYWxhck11bHQoYmlnWDEsIGJpZ1kxICpiaWcuSW50LCBzY2FsYXIg W11ieXRlKSAoeCwgeSAqYmlnLkludCkgeworLQl2YXIgeDEsIHkxLCB6MSwgeDIsIHkyLCB6MiBw MjI0RmllbGRFbGVtZW50CistCistCXAyMjRGcm9tQmlnKCZ4MSwgYmlnWDEpCistCXAyMjRGcm9t QmlnKCZ5MSwgYmlnWTEpCistCXoxWzBdID0gMQorLQorLQlwMjI0U2NhbGFyTXVsdCgmeDIsICZ5 MiwgJnoyLCAmeDEsICZ5MSwgJnoxLCBzY2FsYXIpCistCXJldHVybiBwMjI0VG9BZmZpbmUoJngy LCAmeTIsICZ6MikKKy19CistCistZnVuYyAoY3VydmUgcDIyNEN1cnZlKSBTY2FsYXJCYXNlTXVs dChzY2FsYXIgW11ieXRlKSAoeCwgeSAqYmlnLkludCkgeworLQl2YXIgejEsIHgyLCB5MiwgejIg cDIyNEZpZWxkRWxlbWVudAorLQorLQl6MVswXSA9IDEKKy0JcDIyNFNjYWxhck11bHQoJngyLCAm eTIsICZ6MiwgJmN1cnZlLmd4LCAmY3VydmUuZ3ksICZ6MSwgc2NhbGFyKQorLQlyZXR1cm4gcDIy NFRvQWZmaW5lKCZ4MiwgJnkyLCAmejIpCistfQorLQorLS8vIEZpZWxkIGVsZW1lbnQgZnVuY3Rp b25zLgorLS8vCistLy8gVGhlIGZpZWxkIHRoYXQgd2UncmUgZGVhbGluZyB3aXRoIGlzIOKEpC9w 4oSkIHdoZXJlIHAgPSAyKioyMjQgLSAyKio5NiArIDEuCistLy8KKy0vLyBGaWVsZCBlbGVtZW50 cyBhcmUgcmVwcmVzZW50ZWQgYnkgYSBGaWVsZEVsZW1lbnQsIHdoaWNoIGlzIGEgdHlwZWRlZiB0 byBhbgorLS8vIGFycmF5IG9mIDggdWludDMyJ3MuIFRoZSB2YWx1ZSBvZiBhIEZpZWxkRWxlbWVu dCwgYSwgaXM6CistLy8gICBhWzBdICsgMioqMjjCt2FbMV0gKyAyKio1NsK3YVsxXSArIC4uLiAr IDIqKjE5NsK3YVs3XQorLS8vCistLy8gVXNpbmcgMjgtYml0IGxpbWJzIG1lYW5zIHRoYXQgdGhl cmUncyBvbmx5IDQgYml0cyBvZiBoZWFkcm9vbSwgd2hpY2ggaXMgbGVzcworLS8vIHRoYW4gd2Ug d291bGQgcmVhbGx5IGxpa2UuIEJ1dCBpdCBoYXMgdGhlIHVzZWZ1bCBmZWF0dXJlIHRoYXQgd2Ug aGl0IDIqKjIyNAorLS8vIGV4YWN0bHksIG1ha2luZyB0aGUgcmVmbGVjdGlvbnMgZHVyaW5nIGEg cmVkdWNlIG11Y2ggbmljZXIuCistdHlwZSBwMjI0RmllbGRFbGVtZW50IFs4XXVpbnQzMgorLQor LS8vIHAyMjRQIGlzIHRoZSBvcmRlciBvZiB0aGUgZmllbGQsIHJlcHJlc2VudGVkIGFzIGEgcDIy NEZpZWxkRWxlbWVudC4KKy12YXIgcDIyNFAgPSBbOF11aW50MzJ7MSwgMCwgMCwgMHhmZmZmMDAw LCAweGZmZmZmZmYsIDB4ZmZmZmZmZiwgMHhmZmZmZmZmLCAweGZmZmZmZmZ9CistCistLy8gcDIy NElzWmVybyByZXR1cm5zIDEgaWYgYSA9PSAwIG1vZCBwIGFuZCAwIG90aGVyd2lzZS4KKy0vLwor LS8vIGFbaV0gPCAyKioyOQorLWZ1bmMgcDIyNElzWmVybyhhICpwMjI0RmllbGRFbGVtZW50KSB1 aW50MzIgeworLQkvLyBTaW5jZSBhIHAyMjRGaWVsZEVsZW1lbnQgY29udGFpbnMgMjI0IGJpdHMg dGhlcmUgYXJlIHR3byBwb3NzaWJsZQorLQkvLyByZXByZXNlbnRhdGlvbnMgb2YgMDogMCBhbmQg cC4KKy0JdmFyIG1pbmltYWwgcDIyNEZpZWxkRWxlbWVudAorLQlwMjI0Q29udHJhY3QoJm1pbmlt YWwsIGEpCistCistCXZhciBpc1plcm8sIGlzUCB1aW50MzIKKy0JZm9yIGksIHYgOj0gcmFuZ2Ug bWluaW1hbCB7CistCQlpc1plcm8gfD0gdgorLQkJaXNQIHw9IHYgLSBwMjI0UFtpXQorLQl9Cist CistCS8vIElmIGVpdGhlciBpc1plcm8gb3IgaXNQIGlzIDAsIHRoZW4gd2Ugc2hvdWxkIHJldHVy biAxLgorLQlpc1plcm8gfD0gaXNaZXJvID4+IDE2CistCWlzWmVybyB8PSBpc1plcm8gPj4gOAor LQlpc1plcm8gfD0gaXNaZXJvID4+IDQKKy0JaXNaZXJvIHw9IGlzWmVybyA+PiAyCistCWlzWmVy byB8PSBpc1plcm8gPj4gMQorLQorLQlpc1AgfD0gaXNQID4+IDE2CistCWlzUCB8PSBpc1AgPj4g OAorLQlpc1AgfD0gaXNQID4+IDQKKy0JaXNQIHw9IGlzUCA+PiAyCistCWlzUCB8PSBpc1AgPj4g MQorLQorLQkvLyBGb3IgaXNaZXJvIGFuZCBpc1AsIHRoZSBMU0IgaXMgMCBpZmYgYWxsIHRoZSBi aXRzIGFyZSB6ZXJvLgorLQlyZXN1bHQgOj0gaXNaZXJvICYgaXNQCistCXJlc3VsdCA9IChecmVz dWx0KSAmIDEKKy0KKy0JcmV0dXJuIHJlc3VsdAorLX0KKy0KKy0vLyBwMjI0QWRkIGNvbXB1dGVz ICpvdXQgPSBhK2IKKy0vLworLS8vIGFbaV0gKyBiW2ldIDwgMioqMzIKKy1mdW5jIHAyMjRBZGQo b3V0LCBhLCBiICpwMjI0RmllbGRFbGVtZW50KSB7CistCWZvciBpIDo9IDA7IGkgPCA4OyBpKysg eworLQkJb3V0W2ldID0gYVtpXSArIGJbaV0KKy0JfQorLX0KKy0KKy1jb25zdCB0d28zMXAzID0g MTw8MzEgKyAxPDwzCistY29uc3QgdHdvMzFtMyA9IDE8PDMxIC0gMTw8MworLWNvbnN0IHR3bzMx bTE1bTMgPSAxPDwzMSAtIDE8PDE1IC0gMTw8MworLQorLS8vIHAyMjRaZXJvTW9kUDMxIGlzIDAg bW9kIHAgd2hlcmUgYml0IDMxIGlzIHNldCBpbiBhbGwgbGltYnMgc28gdGhhdCB3ZSBjYW4KKy0v LyBzdWJ0cmFjdCBzbWFsbGVyIGFtb3VudHMgd2l0aG91dCB1bmRlcmZsb3cuIFNlZSB0aGUgc2Vj dGlvbiAiU3VidHJhY3Rpb24iIGluCistLy8gWzFdIGZvciByZWFzb25pbmcuCistdmFyIHAyMjRa ZXJvTW9kUDMxID0gW111aW50MzJ7dHdvMzFwMywgdHdvMzFtMywgdHdvMzFtMywgdHdvMzFtMTVt MywgdHdvMzFtMywgdHdvMzFtMywgdHdvMzFtMywgdHdvMzFtM30KKy0KKy0vLyBwMjI0U3ViIGNv bXB1dGVzICpvdXQgPSBhLWIKKy0vLworLS8vIGFbaV0sIGJbaV0gPCAyKiozMAorLS8vIG91dFtp XSA8IDIqKjMyCistZnVuYyBwMjI0U3ViKG91dCwgYSwgYiAqcDIyNEZpZWxkRWxlbWVudCkgewor LQlmb3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCW91dFtpXSA9IGFbaV0gKyBwMjI0WmVyb01v ZFAzMVtpXSAtIGJbaV0KKy0JfQorLX0KKy0KKy0vLyBMYXJnZUZpZWxkRWxlbWVudCBhbHNvIHJl cHJlc2VudHMgYW4gZWxlbWVudCBvZiB0aGUgZmllbGQuIFRoZSBsaW1icyBhcmUKKy0vLyBzdGls bCBzcGFjZWQgMjgtYml0cyBhcGFydCBhbmQgaW4gbGl0dGxlLWVuZGlhbiBvcmRlci4gU28gdGhl IGxpbWJzIGFyZSBhdAorLS8vIDAsIDI4LCA1NiwgLi4uLCAzOTIgYml0cywgZWFjaCA2NC1iaXRz IHdpZGUuCistdHlwZSBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQgWzE1XXVpbnQ2NAorLQorLWNvbnN0 IHR3bzYzcDM1ID0gMTw8NjMgKyAxPDwzNQorLWNvbnN0IHR3bzYzbTM1ID0gMTw8NjMgLSAxPDwz NQorLWNvbnN0IHR3bzYzbTM1bTE5ID0gMTw8NjMgLSAxPDwzNSAtIDE8PDE5CistCistLy8gcDIy NFplcm9Nb2RQNjMgaXMgMCBtb2QgcCB3aGVyZSBiaXQgNjMgaXMgc2V0IGluIGFsbCBsaW1icy4g U2VlIHRoZSBzZWN0aW9uCistLy8gIlN1YnRyYWN0aW9uIiBpbiBbMV0gZm9yIHdoeS4KKy12YXIg cDIyNFplcm9Nb2RQNjMgPSBbOF11aW50NjR7dHdvNjNwMzUsIHR3bzYzbTM1LCB0d282M20zNSwg dHdvNjNtMzUsIHR3bzYzbTM1bTE5LCB0d282M20zNSwgdHdvNjNtMzUsIHR3bzYzbTM1fQorLQor LWNvbnN0IGJvdHRvbTEyQml0cyA9IDB4ZmZmCistY29uc3QgYm90dG9tMjhCaXRzID0gMHhmZmZm ZmZmCistCistLy8gcDIyNE11bCBjb21wdXRlcyAqb3V0ID0gYSpiCistLy8KKy0vLyBhW2ldIDwg MioqMjksIGJbaV0gPCAyKiozMCAob3IgdmljZSB2ZXJzYSkKKy0vLyBvdXRbaV0gPCAyKioyOQor LWZ1bmMgcDIyNE11bChvdXQsIGEsIGIgKnAyMjRGaWVsZEVsZW1lbnQsIHRtcCAqcDIyNExhcmdl RmllbGRFbGVtZW50KSB7CistCWZvciBpIDo9IDA7IGkgPCAxNTsgaSsrIHsKKy0JCXRtcFtpXSA9 IDAKKy0JfQorLQorLQlmb3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCWZvciBqIDo9IDA7IGog PCA4OyBqKysgeworLQkJCXRtcFtpK2pdICs9IHVpbnQ2NChhW2ldKSAqIHVpbnQ2NChiW2pdKQor LQkJfQorLQl9CistCistCXAyMjRSZWR1Y2VMYXJnZShvdXQsIHRtcCkKKy19CistCistLy8gU3F1 YXJlIGNvbXB1dGVzICpvdXQgPSBhKmEKKy0vLworLS8vIGFbaV0gPCAyKioyOQorLS8vIG91dFtp XSA8IDIqKjI5CistZnVuYyBwMjI0U3F1YXJlKG91dCwgYSAqcDIyNEZpZWxkRWxlbWVudCwgdG1w ICpwMjI0TGFyZ2VGaWVsZEVsZW1lbnQpIHsKKy0JZm9yIGkgOj0gMDsgaSA8IDE1OyBpKysgewor LQkJdG1wW2ldID0gMAorLQl9CistCistCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgeworLQkJZm9y IGogOj0gMDsgaiA8PSBpOyBqKysgeworLQkJCXIgOj0gdWludDY0KGFbaV0pICogdWludDY0KGFb al0pCistCQkJaWYgaSA9PSBqIHsKKy0JCQkJdG1wW2kral0gKz0gcgorLQkJCX0gZWxzZSB7Cist CQkJCXRtcFtpK2pdICs9IHIgPDwgMQorLQkJCX0KKy0JCX0KKy0JfQorLQorLQlwMjI0UmVkdWNl TGFyZ2Uob3V0LCB0bXApCistfQorLQorLS8vIFJlZHVjZUxhcmdlIGNvbnZlcnRzIGEgcDIyNExh cmdlRmllbGRFbGVtZW50IHRvIGEgcDIyNEZpZWxkRWxlbWVudC4KKy0vLworLS8vIGluW2ldIDwg MioqNjIKKy1mdW5jIHAyMjRSZWR1Y2VMYXJnZShvdXQgKnAyMjRGaWVsZEVsZW1lbnQsIGluICpw MjI0TGFyZ2VGaWVsZEVsZW1lbnQpIHsKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CistCQlp bltpXSArPSBwMjI0WmVyb01vZFA2M1tpXQorLQl9CistCistCS8vIEVsaW1pbmF0ZSB0aGUgY29l ZmZpY2llbnRzIGF0IDIqKjIyNCBhbmQgZ3JlYXRlci4KKy0JZm9yIGkgOj0gMTQ7IGkgPj0gODsg aS0tIHsKKy0JCWluW2ktOF0gLT0gaW5baV0KKy0JCWluW2ktNV0gKz0gKGluW2ldICYgMHhmZmZm KSA8PCAxMgorLQkJaW5baS00XSArPSBpbltpXSA+PiAxNgorLQl9CistCWluWzhdID0gMAorLQkv LyBpblswLi44XSA8IDIqKjY0CistCistCS8vIEFzIHRoZSB2YWx1ZXMgYmVjb21lIHNtYWxsIGVu b3VnaCwgd2Ugc3RhcnQgdG8gc3RvcmUgdGhlbSBpbiB8b3V0fAorLQkvLyBhbmQgdXNlIDMyLWJp dCBvcGVyYXRpb25zLgorLQlmb3IgaSA6PSAxOyBpIDwgODsgaSsrIHsKKy0JCWluW2krMV0gKz0g aW5baV0gPj4gMjgKKy0JCW91dFtpXSA9IHVpbnQzMihpbltpXSAmIGJvdHRvbTI4Qml0cykKKy0J fQorLQlpblswXSAtPSBpbls4XQorLQlvdXRbM10gKz0gdWludDMyKGluWzhdJjB4ZmZmZikgPDwg MTIKKy0Jb3V0WzRdICs9IHVpbnQzMihpbls4XSA+PiAxNikKKy0JLy8gaW5bMF0gPCAyKio2NAor LQkvLyBvdXRbM10gPCAyKioyOQorLQkvLyBvdXRbNF0gPCAyKioyOQorLQkvLyBvdXRbMSwyLDUu LjddIDwgMioqMjgKKy0KKy0Jb3V0WzBdID0gdWludDMyKGluWzBdICYgYm90dG9tMjhCaXRzKQor LQlvdXRbMV0gKz0gdWludDMyKChpblswXSA+PiAyOCkgJiBib3R0b20yOEJpdHMpCistCW91dFsy XSArPSB1aW50MzIoaW5bMF0gPj4gNTYpCistCS8vIG91dFswXSA8IDIqKjI4CistCS8vIG91dFsx Li40XSA8IDIqKjI5CistCS8vIG91dFs1Li43XSA8IDIqKjI4CistfQorLQorLS8vIFJlZHVjZSBy ZWR1Y2VzIHRoZSBjb2VmZmljaWVudHMgb2YgYSB0byBzbWFsbGVyIGJvdW5kcy4KKy0vLworLS8v IE9uIGVudHJ5OiBhW2ldIDwgMioqMzEgKyAyKiozMAorLS8vIE9uIGV4aXQ6IGFbaV0gPCAyKioy OQorLWZ1bmMgcDIyNFJlZHVjZShhICpwMjI0RmllbGRFbGVtZW50KSB7CistCWZvciBpIDo9IDA7 IGkgPCA3OyBpKysgeworLQkJYVtpKzFdICs9IGFbaV0gPj4gMjgKKy0JCWFbaV0gJj0gYm90dG9t MjhCaXRzCistCX0KKy0JdG9wIDo9IGFbN10gPj4gMjgKKy0JYVs3XSAmPSBib3R0b20yOEJpdHMK Ky0KKy0JLy8gdG9wIDwgMioqNAorLQltYXNrIDo9IHRvcAorLQltYXNrIHw9IG1hc2sgPj4gMgor LQltYXNrIHw9IG1hc2sgPj4gMQorLQltYXNrIDw8PSAzMQorLQltYXNrID0gdWludDMyKGludDMy KG1hc2spID4+IDMxKQorLQkvLyBNYXNrIGlzIGFsbCBvbmVzIGlmIHRvcCAhPSAwLCBhbGwgemVy byBvdGhlcndpc2UKKy0KKy0JYVswXSAtPSB0b3AKKy0JYVszXSArPSB0b3AgPDwgMTIKKy0KKy0J Ly8gV2UgbWF5IGhhdmUganVzdCBtYWRlIGFbMF0gbmVnYXRpdmUgYnV0LCBpZiB3ZSBkaWQsIHRo ZW4gd2UgbXVzdAorLQkvLyBoYXZlIGFkZGVkIHNvbWV0aGluZyB0byBhWzNdLCB0aGlzIGl0J3Mg PiAyKioxMi4gVGhlcmVmb3JlIHdlIGNhbgorLQkvLyBjYXJyeSBkb3duIHRvIGFbMF0uCistCWFb M10gLT0gMSAmIG1hc2sKKy0JYVsyXSArPSBtYXNrICYgKDE8PDI4IC0gMSkKKy0JYVsxXSArPSBt YXNrICYgKDE8PDI4IC0gMSkKKy0JYVswXSArPSBtYXNrICYgKDEgPDwgMjgpCistfQorLQorLS8v IHAyMjRJbnZlcnQgY2FsY3VsYXRlcyAqb3V0ID0gaW4qKi0xIGJ5IGNvbXB1dGluZyBpbioqKDIq KjIyNCAtIDIqKjk2IC0gMSksCistLy8gaS5lLiBGZXJtYXQncyBsaXR0bGUgdGhlb3JlbS4KKy1m dW5jIHAyMjRJbnZlcnQob3V0LCBpbiAqcDIyNEZpZWxkRWxlbWVudCkgeworLQl2YXIgZjEsIGYy LCBmMywgZjQgcDIyNEZpZWxkRWxlbWVudAorLQl2YXIgYyBwMjI0TGFyZ2VGaWVsZEVsZW1lbnQK Ky0KKy0JcDIyNFNxdWFyZSgmZjEsIGluLCAmYykgICAgLy8gMgorLQlwMjI0TXVsKCZmMSwgJmYx LCBpbiwgJmMpICAvLyAyKioyIC0gMQorLQlwMjI0U3F1YXJlKCZmMSwgJmYxLCAmYykgICAvLyAy KiozIC0gMgorLQlwMjI0TXVsKCZmMSwgJmYxLCBpbiwgJmMpICAvLyAyKiozIC0gMQorLQlwMjI0 U3F1YXJlKCZmMiwgJmYxLCAmYykgICAvLyAyKio0IC0gMgorLQlwMjI0U3F1YXJlKCZmMiwgJmYy LCAmYykgICAvLyAyKio1IC0gNAorLQlwMjI0U3F1YXJlKCZmMiwgJmYyLCAmYykgICAvLyAyKio2 IC0gOAorLQlwMjI0TXVsKCZmMSwgJmYxLCAmZjIsICZjKSAvLyAyKio2IC0gMQorLQlwMjI0U3F1 YXJlKCZmMiwgJmYxLCAmYykgICAvLyAyKio3IC0gMgorLQlmb3IgaSA6PSAwOyBpIDwgNTsgaSsr IHsgICAvLyAyKioxMiAtIDIqKjYKKy0JCXAyMjRTcXVhcmUoJmYyLCAmZjIsICZjKQorLQl9Cist CXAyMjRNdWwoJmYyLCAmZjIsICZmMSwgJmMpIC8vIDIqKjEyIC0gMQorLQlwMjI0U3F1YXJlKCZm MywgJmYyLCAmYykgICAvLyAyKioxMyAtIDIKKy0JZm9yIGkgOj0gMDsgaSA8IDExOyBpKysgeyAg Ly8gMioqMjQgLSAyKioxMgorLQkJcDIyNFNxdWFyZSgmZjMsICZmMywgJmMpCistCX0KKy0JcDIy NE11bCgmZjIsICZmMywgJmYyLCAmYykgLy8gMioqMjQgLSAxCistCXAyMjRTcXVhcmUoJmYzLCAm ZjIsICZjKSAgIC8vIDIqKjI1IC0gMgorLQlmb3IgaSA6PSAwOyBpIDwgMjM7IGkrKyB7ICAvLyAy Kio0OCAtIDIqKjI0CistCQlwMjI0U3F1YXJlKCZmMywgJmYzLCAmYykKKy0JfQorLQlwMjI0TXVs KCZmMywgJmYzLCAmZjIsICZjKSAvLyAyKio0OCAtIDEKKy0JcDIyNFNxdWFyZSgmZjQsICZmMywg JmMpICAgLy8gMioqNDkgLSAyCistCWZvciBpIDo9IDA7IGkgPCA0NzsgaSsrIHsgIC8vIDIqKjk2 IC0gMioqNDgKKy0JCXAyMjRTcXVhcmUoJmY0LCAmZjQsICZjKQorLQl9CistCXAyMjRNdWwoJmYz LCAmZjMsICZmNCwgJmMpIC8vIDIqKjk2IC0gMQorLQlwMjI0U3F1YXJlKCZmNCwgJmYzLCAmYykg ICAvLyAyKio5NyAtIDIKKy0JZm9yIGkgOj0gMDsgaSA8IDIzOyBpKysgeyAgLy8gMioqMTIwIC0g MioqMjQKKy0JCXAyMjRTcXVhcmUoJmY0LCAmZjQsICZjKQorLQl9CistCXAyMjRNdWwoJmYyLCAm ZjQsICZmMiwgJmMpIC8vIDIqKjEyMCAtIDEKKy0JZm9yIGkgOj0gMDsgaSA8IDY7IGkrKyB7ICAg Ly8gMioqMTI2IC0gMioqNgorLQkJcDIyNFNxdWFyZSgmZjIsICZmMiwgJmMpCistCX0KKy0JcDIy NE11bCgmZjEsICZmMSwgJmYyLCAmYykgLy8gMioqMTI2IC0gMQorLQlwMjI0U3F1YXJlKCZmMSwg JmYxLCAmYykgICAvLyAyKioxMjcgLSAyCistCXAyMjRNdWwoJmYxLCAmZjEsIGluLCAmYykgIC8v IDIqKjEyNyAtIDEKKy0JZm9yIGkgOj0gMDsgaSA8IDk3OyBpKysgeyAgLy8gMioqMjI0IC0gMioq OTcKKy0JCXAyMjRTcXVhcmUoJmYxLCAmZjEsICZjKQorLQl9CistCXAyMjRNdWwob3V0LCAmZjEs ICZmMywgJmMpIC8vIDIqKjIyNCAtIDIqKjk2IC0gMQorLX0KKy0KKy0vLyBwMjI0Q29udHJhY3Qg Y29udmVydHMgYSBGaWVsZEVsZW1lbnQgdG8gaXRzIHVuaXF1ZSwgbWluaW1hbCBmb3JtLgorLS8v CistLy8gT24gZW50cnksIGluW2ldIDwgMioqMjkKKy0vLyBPbiBleGl0LCBpbltpXSA8IDIqKjI4 CistZnVuYyBwMjI0Q29udHJhY3Qob3V0LCBpbiAqcDIyNEZpZWxkRWxlbWVudCkgeworLQljb3B5 KG91dFs6XSwgaW5bOl0pCistCistCWZvciBpIDo9IDA7IGkgPCA3OyBpKysgeworLQkJb3V0W2kr MV0gKz0gb3V0W2ldID4+IDI4CistCQlvdXRbaV0gJj0gYm90dG9tMjhCaXRzCistCX0KKy0JdG9w IDo9IG91dFs3XSA+PiAyOAorLQlvdXRbN10gJj0gYm90dG9tMjhCaXRzCistCistCW91dFswXSAt PSB0b3AKKy0Jb3V0WzNdICs9IHRvcCA8PCAxMgorLQorLQkvLyBXZSBtYXkganVzdCBoYXZlIG1h ZGUgb3V0W2ldIG5lZ2F0aXZlLiBTbyB3ZSBjYXJyeSBkb3duLiBJZiB3ZSBtYWRlCistCS8vIG91 dFswXSBuZWdhdGl2ZSB0aGVuIHdlIGtub3cgdGhhdCBvdXRbM10gaXMgc3VmZmljaWVudGx5IHBv c2l0aXZlCistCS8vIGJlY2F1c2Ugd2UganVzdCBhZGRlZCB0byBpdC4KKy0JZm9yIGkgOj0gMDsg aSA8IDM7IGkrKyB7CistCQltYXNrIDo9IHVpbnQzMihpbnQzMihvdXRbaV0pID4+IDMxKQorLQkJ b3V0W2ldICs9ICgxIDw8IDI4KSAmIG1hc2sKKy0JCW91dFtpKzFdIC09IDEgJiBtYXNrCistCX0K Ky0KKy0JLy8gV2UgbWlnaHQgaGF2ZSBwdXNoZWQgb3V0WzNdIG92ZXIgMioqMjggc28gd2UgcGVy Zm9ybSBhbm90aGVyLCBwYXJ0aWFsLAorLQkvLyBjYXJyeSBjaGFpbi4KKy0JZm9yIGkgOj0gMzsg aSA8IDc7IGkrKyB7CistCQlvdXRbaSsxXSArPSBvdXRbaV0gPj4gMjgKKy0JCW91dFtpXSAmPSBi b3R0b20yOEJpdHMKKy0JfQorLQl0b3AgPSBvdXRbN10gPj4gMjgKKy0Jb3V0WzddICY9IGJvdHRv bTI4Qml0cworLQorLQkvLyBFbGltaW5hdGUgdG9wIHdoaWxlIG1haW50YWluaW5nIHRoZSBzYW1l IHZhbHVlIG1vZCBwLgorLQlvdXRbMF0gLT0gdG9wCistCW91dFszXSArPSB0b3AgPDwgMTIKKy0K Ky0JLy8gVGhlcmUgYXJlIHR3byBjYXNlcyB0byBjb25zaWRlciBmb3Igb3V0WzNdOgorLQkvLyAg IDEpIFRoZSBmaXJzdCB0aW1lIHRoYXQgd2UgZWxpbWluYXRlZCB0b3AsIHdlIGRpZG4ndCBwdXNo IG91dFszXSBvdmVyCistCS8vICAgICAgMioqMjguIEluIHRoaXMgY2FzZSwgdGhlIHBhcnRpYWwg Y2FycnkgY2hhaW4gZGlkbid0IGNoYW5nZSBhbnkgdmFsdWVzCistCS8vICAgICAgYW5kIHRvcCBp cyB6ZXJvLgorLQkvLyAgIDIpIFdlIGRpZCBwdXNoIG91dFszXSBvdmVyIDIqKjI4IHRoZSBmaXJz dCB0aW1lIHRoYXQgd2UgZWxpbWluYXRlZCB0b3AuCistCS8vICAgICAgVGhlIGZpcnN0IHZhbHVl IG9mIHRvcCB3YXMgaW4gWzAuLjE2KSwgdGhlcmVmb3JlLCBwcmlvciB0byBlbGltaW5hdGluZwor LQkvLyAgICAgIHRoZSBmaXJzdCB0b3AsIDB4ZmZmMTAwMCA8PSBvdXRbM10gPD0gMHhmZmZmZmZm LiBUaGVyZWZvcmUsIGFmdGVyCistCS8vICAgICAgb3ZlcmZsb3dpbmcgYW5kIGJlaW5nIHJlZHVj ZWQgYnkgdGhlIHNlY29uZCBjYXJyeSBjaGFpbiwgb3V0WzNdIDw9CistCS8vICAgICAgMHhmMDAw LiBUaHVzIGl0IGNhbm5vdCBoYXZlIG92ZXJmbG93ZWQgd2hlbiB3ZSBlbGltaW5hdGVkIHRvcCBm b3IgdGhlCistCS8vICAgICAgc2Vjb25kIHRpbWUuCistCistCS8vIEFnYWluLCB3ZSBtYXkganVz dCBoYXZlIG1hZGUgb3V0WzBdIG5lZ2F0aXZlLCBzbyBkbyB0aGUgc2FtZSBjYXJyeSBkb3duLgor LQkvLyBBcyBiZWZvcmUsIGlmIHdlIG1hZGUgb3V0WzBdIG5lZ2F0aXZlIHRoZW4gd2Uga25vdyB0 aGF0IG91dFszXSBpcworLQkvLyBzdWZmaWNpZW50bHkgcG9zaXRpdmUuCistCWZvciBpIDo9IDA7 IGkgPCAzOyBpKysgeworLQkJbWFzayA6PSB1aW50MzIoaW50MzIob3V0W2ldKSA+PiAzMSkKKy0J CW91dFtpXSArPSAoMSA8PCAyOCkgJiBtYXNrCistCQlvdXRbaSsxXSAtPSAxICYgbWFzaworLQl9 CistCistCS8vIE5vdyB3ZSBzZWUgaWYgdGhlIHZhbHVlIGlzID49IHAgYW5kLCBpZiBzbywgc3Vi dHJhY3QgcC4KKy0KKy0JLy8gRmlyc3Qgd2UgYnVpbGQgYSBtYXNrIGZyb20gdGhlIHRvcCBmb3Vy IGxpbWJzLCB3aGljaCBtdXN0IGFsbCBiZQorLQkvLyBlcXVhbCB0byBib3R0b20yOEJpdHMgaWYg dGhlIHdob2xlIHZhbHVlIGlzID49IHAuIElmIHRvcDRBbGxPbmVzCistCS8vIGVuZHMgdXAgd2l0 aCBhbnkgemVybyBiaXRzIGluIHRoZSBib3R0b20gMjggYml0cywgdGhlbiB0aGlzIHdhc24ndAor LQkvLyB0cnVlLgorLQl0b3A0QWxsT25lcyA6PSB1aW50MzIoMHhmZmZmZmZmZikKKy0JZm9yIGkg Oj0gNDsgaSA8IDg7IGkrKyB7CistCQl0b3A0QWxsT25lcyAmPSBvdXRbaV0KKy0JfQorLQl0b3A0 QWxsT25lcyB8PSAweGYwMDAwMDAwCistCS8vIE5vdyB3ZSByZXBsaWNhdGUgYW55IHplcm8gYml0 cyB0byBhbGwgdGhlIGJpdHMgaW4gdG9wNEFsbE9uZXMuCistCXRvcDRBbGxPbmVzICY9IHRvcDRB bGxPbmVzID4+IDE2CistCXRvcDRBbGxPbmVzICY9IHRvcDRBbGxPbmVzID4+IDgKKy0JdG9wNEFs bE9uZXMgJj0gdG9wNEFsbE9uZXMgPj4gNAorLQl0b3A0QWxsT25lcyAmPSB0b3A0QWxsT25lcyA+ PiAyCistCXRvcDRBbGxPbmVzICY9IHRvcDRBbGxPbmVzID4+IDEKKy0JdG9wNEFsbE9uZXMgPSB1 aW50MzIoaW50MzIodG9wNEFsbE9uZXM8PDMxKSA+PiAzMSkKKy0KKy0JLy8gTm93IHdlIHRlc3Qg d2hldGhlciB0aGUgYm90dG9tIHRocmVlIGxpbWJzIGFyZSBub24temVyby4KKy0JYm90dG9tM05v blplcm8gOj0gb3V0WzBdIHwgb3V0WzFdIHwgb3V0WzJdCistCWJvdHRvbTNOb25aZXJvIHw9IGJv dHRvbTNOb25aZXJvID4+IDE2CistCWJvdHRvbTNOb25aZXJvIHw9IGJvdHRvbTNOb25aZXJvID4+ IDgKKy0JYm90dG9tM05vblplcm8gfD0gYm90dG9tM05vblplcm8gPj4gNAorLQlib3R0b20zTm9u WmVybyB8PSBib3R0b20zTm9uWmVybyA+PiAyCistCWJvdHRvbTNOb25aZXJvIHw9IGJvdHRvbTNO b25aZXJvID4+IDEKKy0JYm90dG9tM05vblplcm8gPSB1aW50MzIoaW50MzIoYm90dG9tM05vblpl cm88PDMxKSA+PiAzMSkKKy0KKy0JLy8gRXZlcnl0aGluZyBkZXBlbmRzIG9uIHRoZSB2YWx1ZSBv ZiBvdXRbM10uCistCS8vICAgIElmIGl0J3MgPiAweGZmZmYwMDAgYW5kIHRvcDRBbGxPbmVzICE9 IDAgdGhlbiB0aGUgd2hvbGUgdmFsdWUgaXMgPj0gcAorLQkvLyAgICBJZiBpdCdzID0gMHhmZmZm MDAwIGFuZCB0b3A0QWxsT25lcyAhPSAwIGFuZCBib3R0b20zTm9uWmVybyAhPSAwLAorLQkvLyAg ICAgIHRoZW4gdGhlIHdob2xlIHZhbHVlIGlzID49IHAKKy0JLy8gICAgSWYgaXQncyA8IDB4ZmZm ZjAwMCwgdGhlbiB0aGUgd2hvbGUgdmFsdWUgaXMgPCBwCistCW4gOj0gb3V0WzNdIC0gMHhmZmZm MDAwCistCW91dDNFcXVhbCA6PSBuCistCW91dDNFcXVhbCB8PSBvdXQzRXF1YWwgPj4gMTYKKy0J b3V0M0VxdWFsIHw9IG91dDNFcXVhbCA+PiA4CistCW91dDNFcXVhbCB8PSBvdXQzRXF1YWwgPj4g NAorLQlvdXQzRXF1YWwgfD0gb3V0M0VxdWFsID4+IDIKKy0Jb3V0M0VxdWFsIHw9IG91dDNFcXVh bCA+PiAxCistCW91dDNFcXVhbCA9IF51aW50MzIoaW50MzIob3V0M0VxdWFsPDwzMSkgPj4gMzEp CistCistCS8vIElmIG91dFszXSA+IDB4ZmZmZjAwMCB0aGVuIG4ncyBNU0Igd2lsbCBiZSB6ZXJv LgorLQlvdXQzR1QgOj0gXnVpbnQzMihpbnQzMihuKSA+PiAzMSkKKy0KKy0JbWFzayA6PSB0b3A0 QWxsT25lcyAmICgob3V0M0VxdWFsICYgYm90dG9tM05vblplcm8pIHwgb3V0M0dUKQorLQlvdXRb MF0gLT0gMSAmIG1hc2sKKy0Jb3V0WzNdIC09IDB4ZmZmZjAwMCAmIG1hc2sKKy0Jb3V0WzRdIC09 IDB4ZmZmZmZmZiAmIG1hc2sKKy0Jb3V0WzVdIC09IDB4ZmZmZmZmZiAmIG1hc2sKKy0Jb3V0WzZd IC09IDB4ZmZmZmZmZiAmIG1hc2sKKy0Jb3V0WzddIC09IDB4ZmZmZmZmZiAmIG1hc2sKKy19Cist CistLy8gR3JvdXAgZWxlbWVudCBmdW5jdGlvbnMuCistLy8KKy0vLyBUaGVzZSBmdW5jdGlvbnMg ZGVhbCB3aXRoIGdyb3VwIGVsZW1lbnRzLiBUaGUgZ3JvdXAgaXMgYW4gZWxsaXB0aWMgY3VydmUK Ky0vLyBncm91cCB3aXRoIGEgPSAtMyBkZWZpbmVkIGluIEZJUFMgMTg2LTMsIHNlY3Rpb24gRC4y LjIuCistCistLy8gcDIyNEFkZEphY29iaWFuIGNvbXB1dGVzICpvdXQgPSBhK2Igd2hlcmUgYSAh PSBiLgorLWZ1bmMgcDIyNEFkZEphY29iaWFuKHgzLCB5MywgejMsIHgxLCB5MSwgejEsIHgyLCB5 MiwgejIgKnAyMjRGaWVsZEVsZW1lbnQpIHsKKy0JLy8gU2VlIGh0dHA6Ly9oeXBlcmVsbGlwdGlj Lm9yZy9FRkQvZzFwL2F1dG8tc2hvcnR3LWphY29iaWFuLTMuaHRtbCNhZGRpdGlvbi1wMjI0QWRk LTIwMDctYmwKKy0JdmFyIHoxejEsIHoyejIsIHUxLCB1MiwgczEsIHMyLCBoLCBpLCBqLCByLCB2 IHAyMjRGaWVsZEVsZW1lbnQKKy0JdmFyIGMgcDIyNExhcmdlRmllbGRFbGVtZW50CistCistCXox SXNaZXJvIDo9IHAyMjRJc1plcm8oejEpCistCXoySXNaZXJvIDo9IHAyMjRJc1plcm8oejIpCist CistCS8vIFoxWjEgPSBaMcKyCistCXAyMjRTcXVhcmUoJnoxejEsIHoxLCAmYykKKy0JLy8gWjJa MiA9IFoywrIKKy0JcDIyNFNxdWFyZSgmejJ6MiwgejIsICZjKQorLQkvLyBVMSA9IFgxKloyWjIK Ky0JcDIyNE11bCgmdTEsIHgxLCAmejJ6MiwgJmMpCistCS8vIFUyID0gWDIqWjFaMQorLQlwMjI0 TXVsKCZ1MiwgeDIsICZ6MXoxLCAmYykKKy0JLy8gUzEgPSBZMSpaMipaMloyCistCXAyMjRNdWwo JnMxLCB6MiwgJnoyejIsICZjKQorLQlwMjI0TXVsKCZzMSwgeTEsICZzMSwgJmMpCistCS8vIFMy ID0gWTIqWjEqWjFaMQorLQlwMjI0TXVsKCZzMiwgejEsICZ6MXoxLCAmYykKKy0JcDIyNE11bCgm czIsIHkyLCAmczIsICZjKQorLQkvLyBIID0gVTItVTEKKy0JcDIyNFN1YigmaCwgJnUyLCAmdTEp CistCXAyMjRSZWR1Y2UoJmgpCistCXhFcXVhbCA6PSBwMjI0SXNaZXJvKCZoKQorLQkvLyBJID0g KDIqSCnCsgorLQlmb3IgaiA6PSAwOyBqIDwgODsgaisrIHsKKy0JCWlbal0gPSBoW2pdIDw8IDEK Ky0JfQorLQlwMjI0UmVkdWNlKCZpKQorLQlwMjI0U3F1YXJlKCZpLCAmaSwgJmMpCistCS8vIEog PSBIKkkKKy0JcDIyNE11bCgmaiwgJmgsICZpLCAmYykKKy0JLy8gciA9IDIqKFMyLVMxKQorLQlw MjI0U3ViKCZyLCAmczIsICZzMSkKKy0JcDIyNFJlZHVjZSgmcikKKy0JeUVxdWFsIDo9IHAyMjRJ c1plcm8oJnIpCistCWlmIHhFcXVhbCA9PSAxICYmIHlFcXVhbCA9PSAxICYmIHoxSXNaZXJvID09 IDAgJiYgejJJc1plcm8gPT0gMCB7CistCQlwMjI0RG91YmxlSmFjb2JpYW4oeDMsIHkzLCB6Mywg eDEsIHkxLCB6MSkKKy0JCXJldHVybgorLQl9CistCWZvciBpIDo9IDA7IGkgPCA4OyBpKysgewor LQkJcltpXSA8PD0gMQorLQl9CistCXAyMjRSZWR1Y2UoJnIpCistCS8vIFYgPSBVMSpJCistCXAy MjRNdWwoJnYsICZ1MSwgJmksICZjKQorLQkvLyBaMyA9ICgoWjErWjIpwrItWjFaMS1aMloyKSpI CistCXAyMjRBZGQoJnoxejEsICZ6MXoxLCAmejJ6MikKKy0JcDIyNEFkZCgmejJ6MiwgejEsIHoy KQorLQlwMjI0UmVkdWNlKCZ6MnoyKQorLQlwMjI0U3F1YXJlKCZ6MnoyLCAmejJ6MiwgJmMpCist CXAyMjRTdWIoejMsICZ6MnoyLCAmejF6MSkKKy0JcDIyNFJlZHVjZSh6MykKKy0JcDIyNE11bCh6 MywgejMsICZoLCAmYykKKy0JLy8gWDMgPSBywrItSi0yKlYKKy0JZm9yIGkgOj0gMDsgaSA8IDg7 IGkrKyB7CistCQl6MXoxW2ldID0gdltpXSA8PCAxCistCX0KKy0JcDIyNEFkZCgmejF6MSwgJmos ICZ6MXoxKQorLQlwMjI0UmVkdWNlKCZ6MXoxKQorLQlwMjI0U3F1YXJlKHgzLCAmciwgJmMpCist CXAyMjRTdWIoeDMsIHgzLCAmejF6MSkKKy0JcDIyNFJlZHVjZSh4MykKKy0JLy8gWTMgPSByKihW LVgzKS0yKlMxKkoKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CistCQlzMVtpXSA8PD0gMQor LQl9CistCXAyMjRNdWwoJnMxLCAmczEsICZqLCAmYykKKy0JcDIyNFN1YigmejF6MSwgJnYsIHgz KQorLQlwMjI0UmVkdWNlKCZ6MXoxKQorLQlwMjI0TXVsKCZ6MXoxLCAmejF6MSwgJnIsICZjKQor LQlwMjI0U3ViKHkzLCAmejF6MSwgJnMxKQorLQlwMjI0UmVkdWNlKHkzKQorLQorLQlwMjI0Q29w eUNvbmRpdGlvbmFsKHgzLCB4MiwgejFJc1plcm8pCistCXAyMjRDb3B5Q29uZGl0aW9uYWwoeDMs IHgxLCB6MklzWmVybykKKy0JcDIyNENvcHlDb25kaXRpb25hbCh5MywgeTIsIHoxSXNaZXJvKQor LQlwMjI0Q29weUNvbmRpdGlvbmFsKHkzLCB5MSwgejJJc1plcm8pCistCXAyMjRDb3B5Q29uZGl0 aW9uYWwoejMsIHoyLCB6MUlzWmVybykKKy0JcDIyNENvcHlDb25kaXRpb25hbCh6MywgejEsIHoy SXNaZXJvKQorLX0KKy0KKy0vLyBwMjI0RG91YmxlSmFjb2JpYW4gY29tcHV0ZXMgKm91dCA9IGEr YS4KKy1mdW5jIHAyMjREb3VibGVKYWNvYmlhbih4MywgeTMsIHozLCB4MSwgeTEsIHoxICpwMjI0 RmllbGRFbGVtZW50KSB7CistCXZhciBkZWx0YSwgZ2FtbWEsIGJldGEsIGFscGhhLCB0IHAyMjRG aWVsZEVsZW1lbnQKKy0JdmFyIGMgcDIyNExhcmdlRmllbGRFbGVtZW50CistCistCXAyMjRTcXVh cmUoJmRlbHRhLCB6MSwgJmMpCistCXAyMjRTcXVhcmUoJmdhbW1hLCB5MSwgJmMpCistCXAyMjRN dWwoJmJldGEsIHgxLCAmZ2FtbWEsICZjKQorLQorLQkvLyBhbHBoYSA9IDMqKFgxLWRlbHRhKSoo WDErZGVsdGEpCistCXAyMjRBZGQoJnQsIHgxLCAmZGVsdGEpCistCWZvciBpIDo9IDA7IGkgPCA4 OyBpKysgeworLQkJdFtpXSArPSB0W2ldIDw8IDEKKy0JfQorLQlwMjI0UmVkdWNlKCZ0KQorLQlw MjI0U3ViKCZhbHBoYSwgeDEsICZkZWx0YSkKKy0JcDIyNFJlZHVjZSgmYWxwaGEpCistCXAyMjRN dWwoJmFscGhhLCAmYWxwaGEsICZ0LCAmYykKKy0KKy0JLy8gWjMgPSAoWTErWjEpwrItZ2FtbWEt ZGVsdGEKKy0JcDIyNEFkZCh6MywgeTEsIHoxKQorLQlwMjI0UmVkdWNlKHozKQorLQlwMjI0U3F1 YXJlKHozLCB6MywgJmMpCistCXAyMjRTdWIoejMsIHozLCAmZ2FtbWEpCistCXAyMjRSZWR1Y2Uo ejMpCistCXAyMjRTdWIoejMsIHozLCAmZGVsdGEpCistCXAyMjRSZWR1Y2UoejMpCistCistCS8v IFgzID0gYWxwaGHCsi04KmJldGEKKy0JZm9yIGkgOj0gMDsgaSA8IDg7IGkrKyB7CistCQlkZWx0 YVtpXSA9IGJldGFbaV0gPDwgMworLQl9CistCXAyMjRSZWR1Y2UoJmRlbHRhKQorLQlwMjI0U3F1 YXJlKHgzLCAmYWxwaGEsICZjKQorLQlwMjI0U3ViKHgzLCB4MywgJmRlbHRhKQorLQlwMjI0UmVk dWNlKHgzKQorLQorLQkvLyBZMyA9IGFscGhhKig0KmJldGEtWDMpLTgqZ2FtbWHCsgorLQlmb3Ig aSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCWJldGFbaV0gPDw9IDIKKy0JfQorLQlwMjI0U3ViKCZi ZXRhLCAmYmV0YSwgeDMpCistCXAyMjRSZWR1Y2UoJmJldGEpCistCXAyMjRTcXVhcmUoJmdhbW1h LCAmZ2FtbWEsICZjKQorLQlmb3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCWdhbW1hW2ldIDw8 PSAzCistCX0KKy0JcDIyNFJlZHVjZSgmZ2FtbWEpCistCXAyMjRNdWwoeTMsICZhbHBoYSwgJmJl dGEsICZjKQorLQlwMjI0U3ViKHkzLCB5MywgJmdhbW1hKQorLQlwMjI0UmVkdWNlKHkzKQorLX0K Ky0KKy0vLyBwMjI0Q29weUNvbmRpdGlvbmFsIHNldHMgKm91dCA9ICppbiBpZmYgdGhlIGxlYXN0 LXNpZ25pZmljYW50LWJpdCBvZiBjb250cm9sCistLy8gaXMgdHJ1ZSwgYW5kIGl0IHJ1bnMgaW4g Y29uc3RhbnQgdGltZS4KKy1mdW5jIHAyMjRDb3B5Q29uZGl0aW9uYWwob3V0LCBpbiAqcDIyNEZp ZWxkRWxlbWVudCwgY29udHJvbCB1aW50MzIpIHsKKy0JY29udHJvbCA8PD0gMzEKKy0JY29udHJv bCA9IHVpbnQzMihpbnQzMihjb250cm9sKSA+PiAzMSkKKy0KKy0JZm9yIGkgOj0gMDsgaSA8IDg7 IGkrKyB7CistCQlvdXRbaV0gXj0gKG91dFtpXSBeIGluW2ldKSAmIGNvbnRyb2wKKy0JfQorLX0K Ky0KKy1mdW5jIHAyMjRTY2FsYXJNdWx0KG91dFgsIG91dFksIG91dFosIGluWCwgaW5ZLCBpblog KnAyMjRGaWVsZEVsZW1lbnQsIHNjYWxhciBbXWJ5dGUpIHsKKy0JdmFyIHh4LCB5eSwgenogcDIy NEZpZWxkRWxlbWVudAorLQlmb3IgaSA6PSAwOyBpIDwgODsgaSsrIHsKKy0JCW91dFhbaV0gPSAw CistCQlvdXRZW2ldID0gMAorLQkJb3V0WltpXSA9IDAKKy0JfQorLQorLQlmb3IgXywgYnl0ZSA6 PSByYW5nZSBzY2FsYXIgeworLQkJZm9yIGJpdE51bSA6PSB1aW50KDApOyBiaXROdW0gPCA4OyBi aXROdW0rKyB7CistCQkJcDIyNERvdWJsZUphY29iaWFuKG91dFgsIG91dFksIG91dFosIG91dFgs IG91dFksIG91dFopCistCQkJYml0IDo9IHVpbnQzMigoYnl0ZSA+PiAoNyAtIGJpdE51bSkpICYg MSkKKy0JCQlwMjI0QWRkSmFjb2JpYW4oJnh4LCAmeXksICZ6eiwgaW5YLCBpblksIGluWiwgb3V0 WCwgb3V0WSwgb3V0WikKKy0JCQlwMjI0Q29weUNvbmRpdGlvbmFsKG91dFgsICZ4eCwgYml0KQor LQkJCXAyMjRDb3B5Q29uZGl0aW9uYWwob3V0WSwgJnl5LCBiaXQpCistCQkJcDIyNENvcHlDb25k aXRpb25hbChvdXRaLCAmenosIGJpdCkKKy0JCX0KKy0JfQorLX0KKy0KKy0vLyBwMjI0VG9BZmZp bmUgY29udmVydHMgZnJvbSBKYWNvYmlhbiB0byBhZmZpbmUgZm9ybS4KKy1mdW5jIHAyMjRUb0Fm ZmluZSh4LCB5LCB6ICpwMjI0RmllbGRFbGVtZW50KSAoKmJpZy5JbnQsICpiaWcuSW50KSB7Cist CXZhciB6aW52LCB6aW52c3EsIG91dHgsIG91dHkgcDIyNEZpZWxkRWxlbWVudAorLQl2YXIgdG1w IHAyMjRMYXJnZUZpZWxkRWxlbWVudAorLQorLQlpZiBpc1BvaW50QXRJbmZpbml0eSA6PSBwMjI0 SXNaZXJvKHopOyBpc1BvaW50QXRJbmZpbml0eSA9PSAxIHsKKy0JCXJldHVybiBuZXcoYmlnLklu dCksIG5ldyhiaWcuSW50KQorLQl9CistCistCXAyMjRJbnZlcnQoJnppbnYsIHopCistCXAyMjRT cXVhcmUoJnppbnZzcSwgJnppbnYsICZ0bXApCistCXAyMjRNdWwoeCwgeCwgJnppbnZzcSwgJnRt cCkKKy0JcDIyNE11bCgmemludnNxLCAmemludnNxLCAmemludiwgJnRtcCkKKy0JcDIyNE11bCh5 LCB5LCAmemludnNxLCAmdG1wKQorLQorLQlwMjI0Q29udHJhY3QoJm91dHgsIHgpCistCXAyMjRD b250cmFjdCgmb3V0eSwgeSkKKy0JcmV0dXJuIHAyMjRUb0JpZygmb3V0eCksIHAyMjRUb0JpZygm b3V0eSkKKy19CistCistLy8gZ2V0MjhCaXRzRnJvbUVuZCByZXR1cm5zIHRoZSBsZWFzdC1zaWdu aWZpY2FudCAyOCBiaXRzIGZyb20gYnVmPj5zaGlmdCwKKy0vLyB3aGVyZSBidWYgaXMgaW50ZXJw cmV0ZWQgYXMgYSBiaWctZW5kaWFuIG51bWJlci4KKy1mdW5jIGdldDI4Qml0c0Zyb21FbmQoYnVm IFtdYnl0ZSwgc2hpZnQgdWludCkgKHVpbnQzMiwgW11ieXRlKSB7CistCXZhciByZXQgdWludDMy CistCistCWZvciBpIDo9IHVpbnQoMCk7IGkgPCA0OyBpKysgeworLQkJdmFyIGIgYnl0ZQorLQkJ aWYgbCA6PSBsZW4oYnVmKTsgbCA+IDAgeworLQkJCWIgPSBidWZbbC0xXQorLQkJCS8vIFdlIGRv bid0IHJlbW92ZSB0aGUgYnl0ZSBpZiB3ZSdyZSBhYm91dCB0byByZXR1cm4gYW5kIHdlJ3JlIG5v dAorLQkJCS8vIHJlYWRpbmcgYWxsIG9mIGl0LgorLQkJCWlmIGkgIT0gMyB8fCBzaGlmdCA9PSA0 IHsKKy0JCQkJYnVmID0gYnVmWzpsLTFdCistCQkJfQorLQkJfQorLQkJcmV0IHw9IHVpbnQzMihi KSA8PCAoOCAqIGkpID4+IHNoaWZ0CistCX0KKy0JcmV0ICY9IGJvdHRvbTI4Qml0cworLQlyZXR1 cm4gcmV0LCBidWYKKy19CistCistLy8gcDIyNEZyb21CaWcgc2V0cyAqb3V0ID0gKmluLgorLWZ1 bmMgcDIyNEZyb21CaWcob3V0ICpwMjI0RmllbGRFbGVtZW50LCBpbiAqYmlnLkludCkgeworLQli eXRlcyA6PSBpbi5CeXRlcygpCistCW91dFswXSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5 dGVzLCAwKQorLQlvdXRbMV0sIGJ5dGVzID0gZ2V0MjhCaXRzRnJvbUVuZChieXRlcywgNCkKKy0J b3V0WzJdLCBieXRlcyA9IGdldDI4Qml0c0Zyb21FbmQoYnl0ZXMsIDApCistCW91dFszXSwgYnl0 ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCA0KQorLQlvdXRbNF0sIGJ5dGVzID0gZ2V0MjhC aXRzRnJvbUVuZChieXRlcywgMCkKKy0Jb3V0WzVdLCBieXRlcyA9IGdldDI4Qml0c0Zyb21FbmQo Ynl0ZXMsIDQpCistCW91dFs2XSwgYnl0ZXMgPSBnZXQyOEJpdHNGcm9tRW5kKGJ5dGVzLCAwKQor LQlvdXRbN10sIGJ5dGVzID0gZ2V0MjhCaXRzRnJvbUVuZChieXRlcywgNCkKKy19CistCistLy8g cDIyNFRvQmlnIHJldHVybnMgaW4gYXMgYSBiaWcuSW50LgorLWZ1bmMgcDIyNFRvQmlnKGluICpw MjI0RmllbGRFbGVtZW50KSAqYmlnLkludCB7CistCXZhciBidWYgWzI4XWJ5dGUKKy0JYnVmWzI3 XSA9IGJ5dGUoaW5bMF0pCistCWJ1ZlsyNl0gPSBieXRlKGluWzBdID4+IDgpCistCWJ1ZlsyNV0g PSBieXRlKGluWzBdID4+IDE2KQorLQlidWZbMjRdID0gYnl0ZSgoKGluWzBdID4+IDI0KSAmIDB4 MGYpIHwgKGluWzFdPDw0KSYweGYwKQorLQorLQlidWZbMjNdID0gYnl0ZShpblsxXSA+PiA0KQor LQlidWZbMjJdID0gYnl0ZShpblsxXSA+PiAxMikKKy0JYnVmWzIxXSA9IGJ5dGUoaW5bMV0gPj4g MjApCistCistCWJ1ZlsyMF0gPSBieXRlKGluWzJdKQorLQlidWZbMTldID0gYnl0ZShpblsyXSA+ PiA4KQorLQlidWZbMThdID0gYnl0ZShpblsyXSA+PiAxNikKKy0JYnVmWzE3XSA9IGJ5dGUoKChp blsyXSA+PiAyNCkgJiAweDBmKSB8IChpblszXTw8NCkmMHhmMCkKKy0KKy0JYnVmWzE2XSA9IGJ5 dGUoaW5bM10gPj4gNCkKKy0JYnVmWzE1XSA9IGJ5dGUoaW5bM10gPj4gMTIpCistCWJ1ZlsxNF0g PSBieXRlKGluWzNdID4+IDIwKQorLQorLQlidWZbMTNdID0gYnl0ZShpbls0XSkKKy0JYnVmWzEy XSA9IGJ5dGUoaW5bNF0gPj4gOCkKKy0JYnVmWzExXSA9IGJ5dGUoaW5bNF0gPj4gMTYpCistCWJ1 ZlsxMF0gPSBieXRlKCgoaW5bNF0gPj4gMjQpICYgMHgwZikgfCAoaW5bNV08PDQpJjB4ZjApCist CistCWJ1Zls5XSA9IGJ5dGUoaW5bNV0gPj4gNCkKKy0JYnVmWzhdID0gYnl0ZShpbls1XSA+PiAx MikKKy0JYnVmWzddID0gYnl0ZShpbls1XSA+PiAyMCkKKy0KKy0JYnVmWzZdID0gYnl0ZShpbls2 XSkKKy0JYnVmWzVdID0gYnl0ZShpbls2XSA+PiA4KQorLQlidWZbNF0gPSBieXRlKGluWzZdID4+ IDE2KQorLQlidWZbM10gPSBieXRlKCgoaW5bNl0gPj4gMjQpICYgMHgwZikgfCAoaW5bN108PDQp JjB4ZjApCistCistCWJ1ZlsyXSA9IGJ5dGUoaW5bN10gPj4gNCkKKy0JYnVmWzFdID0gYnl0ZShp bls3XSA+PiAxMikKKy0JYnVmWzBdID0gYnl0ZShpbls3XSA+PiAyMCkKKy0KKy0JcmV0dXJuIG5l dyhiaWcuSW50KS5TZXRCeXRlcyhidWZbOl0pCistfQorLS0tIGxpYmdvL2dvL2NyeXB0by9lbGxp cHRpYy9wMjI0X3Rlc3QuZ28uamoJMjAxMi0xMS0xNSAxODoyNjo1Ny4wMDAwMDAwMDAgKzAxMDAK KysrKyBsaWJnby9nby9jcnlwdG8vZWxsaXB0aWMvcDIyNF90ZXN0LmdvCTIwMTQtMDMtMDUgMTU6 Mjk6NTguNzQzNDMwOTg4ICswMTAwCitAQCAtMSw0NyArMCwwIEBACistLy8gQ29weXJpZ2h0IDIw MTIgVGhlIEdvIEF1dGhvcnMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLS8vIFVzZSBvZiB0aGlz IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCistLy8gbGljZW5zZSB0aGF0 IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorLQorLXBhY2thZ2UgZWxsaXB0aWMK Ky0KKy1pbXBvcnQgKAorLQkibWF0aC9iaWciCistCSJ0ZXN0aW5nIgorLSkKKy0KKy12YXIgdG9G cm9tQmlnVGVzdHMgPSBbXXN0cmluZ3sKKy0JIjAiLAorLQkiMSIsCistCSIyMyIsCistCSJiNzBl MGNiNDZiYjRiZjdmMzIxMzkwYjk0YTAzYzFkMzU2YzAxMTIyMzQzMjgwZDYxMDVjMWQyMSIsCist CSI3MDZhNDZkNDc2ZGNiNzY3OThlNjA0NmQ4OTQ3NDc4OGQxNjRjMTgwMzJkMjY4ZmQxMDcwNGZh NiIsCistfQorLQorLWZ1bmMgcDIyNEFsdGVybmF0aXZlVG9CaWcoaW4gKnAyMjRGaWVsZEVsZW1l bnQpICpiaWcuSW50IHsKKy0JcmV0IDo9IG5ldyhiaWcuSW50KQorLQl0bXAgOj0gbmV3KGJpZy5J bnQpCistCistCWZvciBpIDo9IHVpbnQoMCk7IGkgPCA4OyBpKysgeworLQkJdG1wLlNldEludDY0 KGludDY0KGluW2ldKSkKKy0JCXRtcC5Mc2godG1wLCAyOCppKQorLQkJcmV0LkFkZChyZXQsIHRt cCkKKy0JfQorLQlyZXQuTW9kKHJldCwgcDIyNC5QKQorLQlyZXR1cm4gcmV0CistfQorLQorLWZ1 bmMgVGVzdFRvRnJvbUJpZyh0ICp0ZXN0aW5nLlQpIHsKKy0JZm9yIGksIHRlc3QgOj0gcmFuZ2Ug dG9Gcm9tQmlnVGVzdHMgeworLQkJbiwgXyA6PSBuZXcoYmlnLkludCkuU2V0U3RyaW5nKHRlc3Qs IDE2KQorLQkJdmFyIHggcDIyNEZpZWxkRWxlbWVudAorLQkJcDIyNEZyb21CaWcoJngsIG4pCist CQltIDo9IHAyMjRUb0JpZygmeCkKKy0JCWlmIG4uQ21wKG0pICE9IDAgeworLQkJCXQuRXJyb3Jm KCIjJWQ6ICV4ICE9ICV4IiwgaSwgbiwgbSkKKy0JCX0KKy0JCXEgOj0gcDIyNEFsdGVybmF0aXZl VG9CaWcoJngpCistCQlpZiBuLkNtcChxKSAhPSAwIHsKKy0JCQl0LkVycm9yZigiIyVkOiAleCAh PSAleCAoYWx0ZXJuYXRpdmUpIiwgaSwgbiwgbSkKKy0JCX0KKy0JfQorLX0KKy0tLSBsaWJnby9n by9jcnlwdG8vZWxsaXB0aWMvcDI1Ni5nby5qagkyMDEzLTExLTA3IDExOjU5OjA5LjAwMDAwMDAw MCArMDEwMAorKysrIGxpYmdvL2dvL2NyeXB0by9lbGxpcHRpYy9wMjU2LmdvCTIwMTQtMDMtMDUg MTU6MzQ6MzEuOTEwNDE0NzAxICswMTAwCitAQCAtMjMzLDYgKzIzMyw4IEBAIGZ1bmMgcDI1NlJl ZHVjZUNhcnJ5KGlub3V0ICpbcDI1NkxpbWJzXXUKKyAJaW5vdXRbN10gKz0gY2FycnkgPDwgMjUK KyB9CisgCisrY29uc3QgYm90dG9tMjhCaXRzID0gMHhmZmZmZmZmCisrCisgLy8gcDI1NlN1bSBz ZXRzIG91dCA9IGluK2luMi4KKyAvLworIC8vIE9uIGVudHJ5LCBpbltpXStpbjJbaV0gbXVzdCBu b3Qgb3ZlcmZsb3cgYSAzMi1iaXQgd29yZC4KK0BAIC0yNjUsNiArMjY3LDcgQEAgY29uc3QgKAor IAl0d28zMW0yICAgID0gMTw8MzEgLSAxPDwyCisgCXR3bzMxcDI0bTIgPSAxPDwzMSArIDE8PDI0 IC0gMTw8MgorIAl0d28zMG0yN20yID0gMTw8MzAgLSAxPDwyNyAtIDE8PDIKKysJdHdvMzFtMyAg ICA9IDE8PDMxIC0gMTw8MworICkKKyAKKyAvLyBwMjU2WmVybzMxIGlzIDAgbW9kIHAuCgpkaWZm IC0tZ2l0IGEvZ2NjNDktbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaCBiL2djYzQ5LWxpYmdv bXAtb21wX2gtbXVsdGlsaWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZDBlOThkMQotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ5LWxpYmdvbXAtb21wX2gtbXVsdGls aWIucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorMjAwOC0wNi0wOSAgSmFrdWIgSmVsaW5layAgPGph a3ViQHJlZGhhdC5jb20+CisKKwkqIG9tcC5oLmluIChvbXBfbmVzdF9sb2NrX3QpOiBGaXggdXAg Zm9yIExpbnV4IG11bHRpbGlicy4KKworLS0tIGxpYmdvbXAvb21wLmguaW4uamoJMjAwOC0wNi0w OSAxMzozNDowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJnb21wL29tcC5oLmluCTIwMDgtMDYt MDkgMTM6MzQ6NDguMDAwMDAwMDAwICswMjAwCitAQCAtNDIsOCArNDIsOCBAQCB0eXBlZGVmIHN0 cnVjdAorIAorIHR5cGVkZWYgc3RydWN0CisgeworLSAgdW5zaWduZWQgY2hhciBfeFtAT01QX05F U1RfTE9DS19TSVpFQF0gCistICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKEBPTVBfTkVT VF9MT0NLX0FMSUdOQCkpKTsKKysgIHVuc2lnbmVkIGNoYXIgX3hbOCArIHNpemVvZiAodm9pZCAq KV0gCisrICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKHNpemVvZiAodm9pZCAqKSkpKTsK KyB9IG9tcF9uZXN0X2xvY2tfdDsKKyAjZW5kaWYKKyAKCmRpZmYgLS1naXQgYS9nY2M0OS1saWJz dGRjKystZG9jcy5wYXRjaCBiL2djYzQ5LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMzI4YTIKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0 OS1saWJzdGRjKystZG9jcy5wYXRjaApAQCAtMCwwICsxLDI2IEBACistLS0gbGlic3RkYysrLXYz L2RvYy9odG1sL2luZGV4Lmh0bWwuamoJMjAxMS0wMS0wMyAxMjo1MzoyMS4yODI4MjkwMTAgKzAx MDAKKysrKyBsaWJzdGRjKystdjMvZG9jL2h0bWwvaW5kZXguaHRtbAkyMDExLTAxLTA0IDE4OjA2 OjI4Ljk5OTg1MTE0NSArMDEwMAorQEAgLTUsNiArNSw4IEBACisgICAgICAgPGEgY2xhc3M9Imxp bmsiIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy8iIHRhcmdldD0iX3RvcCI+RlNGCisgICAgICAg PC9hPgorICAgICA8L3A+PHA+CisrICAgICAgUmVsZWFzZSA0LjkuMAorKyAgICA8L3A+PHA+Cisg ICAgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1v ZGlmeSB0aGlzCisgICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJl ZSBEb2N1bWVudGF0aW9uCisgICAgICAgTGljZW5zZSwgVmVyc2lvbiAxLjIgb3IgYW55IGxhdGVy IHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZQorLS0tIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9hcGku aHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYnN0ZGMr Ky12My9kb2MvaHRtbC9hcGkuaHRtbAkyMDExLTAxLTA0IDE4OjEyOjAxLjY3Mjc1Nzc4NCArMDEw MAorQEAgLTE4LDggKzE4LDExIEBACisgICBtZW1iZXIgZnVuY3Rpb25zIGZvciB0aGUgbGlicmFy eSBjbGFzc2VzLCBmaW5kaW5nIG91dCB3aGF0IGlzIGluIGEKKyAgIHBhcnRpY3VsYXIgaW5jbHVk ZSBmaWxlLCBsb29raW5nIGF0IGluaGVyaXRhbmNlIGRpYWdyYW1zLCBldGMuCisgPC9wPjxwPgor LSAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5kZXJlZCBpbnRvIEhUTUwsIGNhbiBiZSB2aWV3 ZWQgb25saW5lOgorKyAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5kZXJlZCBpbnRvIEhUTUws IGNhbiBiZSB2aWV3ZWQgaGVyZToKKyA8L3A+PGRpdiBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwg Y2xhc3M9Iml0ZW1pemVkbGlzdCIgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgIj48bGkg Y2xhc3M9Imxpc3RpdGVtIj48cD4KKysgICAgICA8YSBjbGFzcz0ibGluayIgaHJlZj0iYXBpL2lu ZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSA0LjkuMCByZWxlYXNlLCBsb2NhbAorKyAg ICAgIDwvYT4KKysgICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+CisgICAgICAg PGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2xpYnN0 ZGMrKy9saWJzdGRjKystaHRtbC1VU0VSUy0zLjQvaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj5m b3IgdGhlIDMuNCByZWxlYXNlCisgICAgICAgPC9hPgorICAgICA8L3A+PC9saT48bGkgY2xhc3M9 Imxpc3RpdGVtIj48cD4KCmRpZmYgLS1naXQgYS9nY2M0OS1saWJ0b29sLW5vLXJwYXRoLnBhdGNo IGIvZ2NjNDktbGlidG9vbC1uby1ycGF0aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi40NjZjNjYxCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNDktbGlidG9vbC1uby1y cGF0aC5wYXRjaApAQCAtMCwwICsxLDI3IEBACitsaWJ0b29sIHN1Y2tzLgorLS0tIGx0bWFpbi5z aC5qagkyMDA3LTEyLTA3IDE0OjUzOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIGx0bWFpbi5zaAky MDA4LTA5LTA1IDIxOjUxOjQ4LjAwMDAwMDAwMCArMDIwMAorQEAgLTUzOTQsNiArNTM5NCw3IEBA IEVPRgorIAkgIHJwYXRoPSIkZmluYWxpemVfcnBhdGgiCisgCSAgdGVzdCAiJG1vZGUiICE9IHJl bGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgkcnBhdGgiCisgCSAgZm9yIGxpYmRpciBpbiAk cnBhdGg7IGRvCisrCSAgICBjYXNlICIkbGliZGlyIiBpbiAvdXNyL2xpYnwvdXNyL2xpYjY0fC91 c3IvbGliLy4uL2xpYnwvdXNyL2xpYi8uLi9saWI2NCkgY29udGludWU7OyBlc2FjCisgCSAgICBp ZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKyAJICAgICAgaWYg dGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCisgCQlpZiB0ZXN0IC16 ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KK0BAIC02MDcxLDYgKzYwNzIsNyBAQCBFT0YKKyAg ICAgICBycGF0aD0KKyAgICAgICBoYXJkY29kZV9saWJkaXJzPQorICAgICAgIGZvciBsaWJkaXIg aW4gJGNvbXBpbGVfcnBhdGggJGZpbmFsaXplX3JwYXRoOyBkbworKwljYXNlICIkbGliZGlyIiBp biAvdXNyL2xpYnwvdXNyL2xpYjY0fC91c3IvbGliLy4uL2xpYnwvdXNyL2xpYi8uLi9saWI2NCkg Y29udGludWU7OyBlc2FjCisgCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj IjsgdGhlbgorIAkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhl bgorIAkgICAgaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCitAQCAtNjEyMCw2 ICs2MTIyLDcgQEAgRU9GCisgICAgICAgcnBhdGg9CisgICAgICAgaGFyZGNvZGVfbGliZGlycz0K KyAgICAgICBmb3IgbGliZGlyIGluICRmaW5hbGl6ZV9ycGF0aDsgZG8KKysJY2FzZSAiJGxpYmRp ciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIvLi4vbGli NjQpIGNvbnRpbnVlOzsgZXNhYworIAlpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdf c3BlYyI7IHRoZW4KKyAJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7 IHRoZW4KKyAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgoKZGlmZiAt LWdpdCBhL2djYzQ5LW5vLWFkZC1uZWVkZWQucGF0Y2ggYi9nY2M0OS1uby1hZGQtbmVlZGVkLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2Y2E3NzcKLS0tIC9kZXYv bnVsbAorKysgYi9nY2M0OS1uby1hZGQtbmVlZGVkLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKKzIw MTAtMDItMDggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+CisKKwkqIGNvbmZp Zy9yczYwMDAvc3lzdjQuaCAoTElOS19FSF9TUEVDKTogUGFzcyAtLW5vLWFkZC1uZWVkZWQgdG8g dGhlCisJbGlua2VyLgorCSogY29uZmlnL2dudS11c2VyLmggKExJTktfRUhfU1BFQyk6IExpa2V3 aXNlLgorCSogY29uZmlnL2FscGhhL2VsZi5oIChMSU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KKwkq IGNvbmZpZy9pYTY0L2xpbnV4LmggKExJTktfRUhfU1BFQyk6IExpa2V3aXNlLgorCistLS0gZ2Nj L2NvbmZpZy9hbHBoYS9lbGYuaC5qagkyMDExLTAxLTAzIDEyOjUyOjMxLjExODA1Njc2NCArMDEw MAorKysrIGdjYy9jb25maWcvYWxwaGEvZWxmLmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzE4NzQx NjAgKzAxMDAKK0BAIC0xNjUsNSArMTY1LDUgQEAgZXh0ZXJuIGludCBhbHBoYV90aGlzX2dwZGlz cF9zZXF1ZW5jZV9udQorICAgIEkgaW1hZ2luZSB0aGF0IG90aGVyIHN5c3RlbXMgd2lsbCBjYXRj aCB1cC4gIEluIHRoZSBtZWFudGltZSwgaXQKKyAgICBkb2Vzbid0IGhhcm0gdG8gbWFrZSBzdXJl IHRoYXQgdGhlIGRhdGEgZXhpc3RzIHRvIGJlIHVzZWQgbGF0ZXIuICAqLworICNpZiBkZWZpbmVk KEhBVkVfTERfRUhfRlJBTUVfSERSKQorLSNkZWZpbmUgTElOS19FSF9TUEVDICIleyFzdGF0aWM6 LS1laC1mcmFtZS1oZHJ9ICIKKysjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVk ICV7IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgorICNlbmRpZgorLS0tIGdjYy9jb25maWcvaWE2 NC9saW51eC5oLmpqCTIwMTEtMDEtMDMgMTM6MDI6MTEuNDYyOTk0NTIyICswMTAwCisrKysgZ2Nj L2NvbmZpZy9pYTY0L2xpbnV4LmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzE4NzQxNjAgKzAxMDAK K0BAIC03Nyw3ICs3Nyw3IEBAIGRvIHsJCQkJCQlcCisgICAgU2lnbmFsaXplIHRoYXQgYmVjYXVz ZSB3ZSBoYXZlIGZkZS1nbGliYywgd2UgZG9uJ3QgbmVlZCBhbGwgQyBzaGFyZWQgbGlicworICAg IGxpbmtlZCBhZ2FpbnN0IC1sZ2NjX3MuICAqLworICN1bmRlZiBMSU5LX0VIX1NQRUMKKy0jZGVm aW5lIExJTktfRUhfU1BFQyAiIgorKyNkZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVk ZWQgIgorIAorIC8qIFB1dCBhbGwgKnRmIHJvdXRpbmVzIGluIGxpYmdjYy4gICovCisgI3VuZGVm IExJQkdDQzJfSEFTX1RGX01PREUKKy0tLSBnY2MvY29uZmlnL2dudS11c2VyLmguamoJMjAxMS0w MS0wMyAxMjo1MzowMy43MzkwNTcyOTkgKzAxMDAKKysrKyBnY2MvY29uZmlnL2dudS11c2VyLmgJ MjAxMS0wMS0wNCAxODoxNDoxMC45MzI4MTQ4ODQgKzAxMDAKK0BAIC04Miw3ICs4Miw3IEBAIHNl ZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVEkKKyAjZGVmaW5lIExJQl9TUEVD IEdOVV9VU0VSX1RBUkdFVF9MSUJfU1BFQworIAorICNpZiBkZWZpbmVkKEhBVkVfTERfRUhfRlJB TUVfSERSKQorLSNkZWZpbmUgTElOS19FSF9TUEVDICIleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9 ICIKKysjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVkICV7IXN0YXRpYzotLWVo LWZyYW1lLWhkcn0gIgorICNlbmRpZgorIAorICN1bmRlZiBMSU5LX0dDQ19DX1NFUVVFTkNFX1NQ RUMKKy0tLSBnY2MvY29uZmlnL3JzNjAwMC9zeXN2NC5oLmpqCTIwMTEtMDEtMDMgMTM6MDI6MTgu MjU1OTk0MjE1ICswMTAwCisrKysgZ2NjL2NvbmZpZy9yczYwMDAvc3lzdjQuaAkyMDExLTAxLTA0 IDE4OjE0OjEwLjkzMzg4ODg3MSArMDEwMAorQEAgLTgyMCw3ICs4MjAsNyBAQCBleHRlcm4gaW50 IGZpeHVwbGFiZWxubzsKKyAgIC1keW5hbWljLWxpbmtlciAiIEdOVV9VU0VSX0RZTkFNSUNfTElO S0VSICJ9fSIKKyAKKyAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikKKy0jIGRlZmlu ZSBMSU5LX0VIX1NQRUMgIiV7IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgorKyMgZGVmaW5lIExJ TktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVkICV7IXN0YXRpYzotLWVoLWZyYW1lLWhkcn0gIgor ICNlbmRpZgorIAorICNkZWZpbmUgQ1BQX09TX0xJTlVYX1NQRUMgIi1EX191bml4X18gLURfX2du dV9saW51eF9fIC1EX19saW51eF9fIFwKCmRpZmYgLS1naXQgYS9nY2M0OS1wcGMzMi1yZXRhZGRy LnBhdGNoIGIvZ2NjNDktcHBjMzItcmV0YWRkci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi43ZThlZWI1Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNDktcHBjMzItcmV0 YWRkci5wYXRjaApAQCAtMCwwICsxLDg3IEBACisyMDA1LTExLTI4ICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KKworCSogY29uZmlnL3JzNjAwMC9yczYwMDAuYyAocnM2MDAwX3Jl dHVybl9hZGRyKTogSWYgQ09VTlQgPT0gMCwKKwlyZWFkIHdvcmQgUkVUVVJOX0FERFJFU1NfT0ZG U0VUIGJ5dGVzIGFib3ZlIGFyZ19wb2ludGVyX3J0eAorCWluc3RlYWQgb2YgZG9pbmcgYW4gZXh0 cmFuIGluZGlyZWN0aW9uIGZyb20gZnJhbWVfcG9pbnRlcl9ydHguCisKKwkqIGdjYy5kZy8yMDA1 MTEyOC0xLmM6IE5ldyB0ZXN0LgorCistLS0gZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMuamoJ MjAwNS0xMS0yNiAxNDozODowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvY29uZmlnL3JzNjAw MC9yczYwMDAuYwkyMDA1LTExLTI4IDIwOjMyOjE4LjAwMDAwMDAwMCArMDEwMAorQEAgLTIwOTcw LDE4ICsyMDk3MCwyMiBAQCByczYwMDBfcmV0dXJuX2FkZHIgKGludCBjb3VudCwgcnR4IGZyYW1l CisgICBpZiAoY291bnQgIT0gMAorICAgICAgIHx8ICgoREVGQVVMVF9BQkkgPT0gQUJJX1Y0IHx8 IERFRkFVTFRfQUJJID09IEFCSV9EQVJXSU4pICYmIGZsYWdfcGljKSkKKyAgICAgeworKyAgICAg IHJ0eCB4OworICAgICAgIGNmdW4tPm1hY2hpbmUtPnJhX25lZWRzX2Z1bGxfZnJhbWUgPSAxOwor IAorLSAgICAgIHJldHVybgorLQlnZW5fcnR4X01FTQorLQkgIChQbW9kZSwKKy0JICAgbWVtb3J5 X2FkZHJlc3MKKy0JICAgKFBtb2RlLAorLQkgICAgcGx1c19jb25zdGFudCAoUG1vZGUsCistCQkJ ICAgY29weV90b19yZWcKKy0JCQkgICAoZ2VuX3J0eF9NRU0gKFBtb2RlLAorLQkJCQkJIG1lbW9y eV9hZGRyZXNzIChQbW9kZSwgZnJhbWUpKSksCistCQkJICAgUkVUVVJOX0FERFJFU1NfT0ZGU0VU KSkpOworKyAgICAgIGlmIChjb3VudCA9PSAwKQorKwl7CisrCSAgZ2NjX2Fzc2VydCAoZnJhbWUg PT0gZnJhbWVfcG9pbnRlcl9ydHgpOworKwkgIHggPSBhcmdfcG9pbnRlcl9ydHg7CisrCX0KKysg ICAgICBlbHNlCisrCXsKKysJICB4ID0gbWVtb3J5X2FkZHJlc3MgKFBtb2RlLCBmcmFtZSk7Cisr CSAgeCA9IGNvcHlfdG9fcmVnIChnZW5fcnR4X01FTSAoUG1vZGUsIHgpKTsKKysJfQorKworKyAg ICAgIHggPSBwbHVzX2NvbnN0YW50IChQbW9kZSwgeCwgUkVUVVJOX0FERFJFU1NfT0ZGU0VUKTsK KysgICAgICByZXR1cm4gZ2VuX3J0eF9NRU0gKFBtb2RlLCBtZW1vcnlfYWRkcmVzcyAoUG1vZGUs IHgpKTsKKyAgICAgfQorIAorICAgY2Z1bi0+bWFjaGluZS0+cmFfbmVlZF9sciA9IDE7CistLS0g Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvMjAwNTExMjgtMS5jLmpqCTIwMDUtMTAtMTAgMTE6MjE6NDEu MDk2OTk5MDAwICswMjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvMjAwNTExMjgtMS5jCTIw MDUtMTEtMjggMTI6MzA6NTcuMDAwMDAwMDAwICswMTAwCitAQCAtMCwwICsxLDQxIEBACisrLyog eyBkZy1kbyBydW4gfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1mcGljIiB9ICovCisrCisr ZXh0ZXJuIHZvaWQgZXhpdCAoaW50KTsKKytleHRlcm4gdm9pZCBhYm9ydCAodm9pZCk7CisrCisr aW50IGI7CisrCisrc3RydWN0IEEKKyt7CisrICB2b2lkICpwYWRbMTQ3XTsKKysgIHZvaWQgKnJh LCAqaDsKKysgIGxvbmcgbzsKKyt9OworKworK3ZvaWQKKytfX2F0dHJpYnV0ZV9fKChub2lubGlu ZSkpCisrZm9vIChzdHJ1Y3QgQSAqYSwgdm9pZCAqeCkKKyt7CisrICBfX2J1aWx0aW5fbWVtc2V0 IChhLCAwLCBzaXplb2YgKGEpKTsKKysgIGlmICghYikKKysgICAgZXhpdCAoMCk7CisrfQorKwor K3ZvaWQKKytfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpCisrYmFyICh2b2lkKQorK3sKKysgIHN0 cnVjdCBBIGE7CisrCisrICBfX2J1aWx0aW5fdW53aW5kX2luaXQgKCk7CisrICBmb28gKCZhLCBf X2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MgKDApKTsKKyt9CisrCisraW50CisrbWFpbiAodm9pZCkK Kyt7CisrICBiYXIgKCk7CisrICBhYm9ydCAoKTsKKysgIHJldHVybiAwOworK30KCmRpZmYgLS1n aXQgYS9nY2M0OS1wcjM4NzU3LnBhdGNoIGIvZ2NjNDktcHIzODc1Ny5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjA2NTg0Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj NDktcHIzODc1Ny5wYXRjaApAQCAtMCwwICsxLDEwNiBAQAorMjAwOS0wMy0xOCAgSmFrdWIgSmVs aW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiBkZWJ1Zy8zODc1NworCSogbGFuZ2hvb2tz LmggKHN0cnVjdCBsYW5nX2hvb2tzKTogQWRkIHNvdXJjZV9sYW5ndWFnZSBsYW5naG9vay4KKwkq IGxhbmdob29rcy1kZWYuaCAoTEFOR19IT09LU19TT1VSQ0VfTEFOR1VBR0UpOiBEZWZpbmUgdG8g TlVMTC4KKwkoTEFOR19IT09LU19JTklUSUFMSVpFUik6IEFkZCBMQU5HX0hPT0tTX1NPVVJDRV9M QU5HVUFHRS4KKwkqIGR3YXJmMm91dC5jIChhZGRfcHJvdG90eXBlZF9hdHRyaWJ1dGUpOiBBZGQg RFdfQVRfcHJvdG90eXBlCisJYWxzbyBmb3IgRFdfTEFOR197QyxDOTksT2JqQ30uCisJKGdlbl9j b21waWxlX3VuaXRfZGllKTogVXNlIGxhbmdfaG9va3Muc291cmNlX2xhbmd1YWdlICgpIHRvCisJ ZGV0ZXJtaW5lIGlmIERXX0xBTkdfQzk5IG9yIERXX0xBTkdfQzg5IHNob3VsZCBiZSByZXR1cm5l ZC4KK2MvCisJKiBjLWxhbmcuYyAoY19zb3VyY2VfbGFuZ3VhZ2UpOiBOZXcgZnVuY3Rpb24uCisJ KExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFKTogRGVmaW5lLgorCistLS0gZ2NjL2xhbmdob29r cy5oLmpqCTIwMTEtMDEtMDMgMTI6NTM6MDUuMTI1NzQ1NDUwICswMTAwCisrKysgZ2NjL2xhbmdo b29rcy5oCTIwMTEtMDEtMDQgMTc6NTk6NDMuMTY2NzQ0OTI2ICswMTAwCitAQCAtNDY3LDYgKzQ2 NywxMCBAQCBzdHJ1Y3QgbGFuZ19ob29rcworICAgICAgZ2ltcGxpZmljYXRpb24uICAqLworICAg Ym9vbCBkZWVwX3Vuc2hhcmluZzsKKyAKKysgIC8qIFJldHVybiB5ZWFyIG9mIHRoZSBzb3VyY2Ug bGFuZ3VhZ2Ugc3RhbmRhcmQgdmVyc2lvbiBpZiB0aGUgRkUgc3VwcG9ydHMKKysgICAgIG11bHRp cGxlIHZlcnNpb25zIG9mIHRoZSBzdGFuZGFyZC4gICovCisrICBpbnQgKCpzb3VyY2VfbGFuZ3Vh Z2UpICh2b2lkKTsKKysKKyAgIC8qIFdoZW5ldmVyIHlvdSBhZGQgZW50cmllcyBoZXJlLCBtYWtl IHN1cmUgeW91IGFkanVzdCBsYW5naG9va3MtZGVmLmgKKyAgICAgIGFuZCBsYW5naG9va3MuYyBh Y2NvcmRpbmdseS4gICovCisgfTsKKy0tLSBnY2MvbGFuZ2hvb2tzLWRlZi5oLmpqCTIwMTEtMDEt MDMgMTI6NTM6MDUuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2xhbmdob29rcy1kZWYuaAkyMDEx LTAxLTA0IDE4OjAwOjQ0Ljg1ODg1MTAzMCArMDEwMAorQEAgLTExOCw2ICsxMTgsNyBAQCBleHRl cm4gdm9pZCBsaGRfb21wX2ZpcnN0cHJpdmF0aXplX3R5cGVfCisgI2RlZmluZSBMQU5HX0hPT0tT X0JMT0NLX01BWV9GQUxMVEhSVQlob29rX2Jvb2xfY29uc3RfdHJlZV90cnVlCisgI2RlZmluZSBM QU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFOVVAJZmFsc2UKKyAjZGVmaW5lIExBTkdfSE9P S1NfREVFUF9VTlNIQVJJTkcJZmFsc2UKKysjZGVmaW5lIExBTkdfSE9PS1NfU09VUkNFX0xBTkdV QUdFCU5VTEwKKyAKKyAvKiBBdHRyaWJ1dGUgaG9va3MuICAqLworICNkZWZpbmUgTEFOR19IT09L U19BVFRSSUJVVEVfVEFCTEUJCU5VTEwKK0BAIC0zMDMsNyArMzA0LDggQEAgZXh0ZXJuIHZvaWQg bGhkX2VuZF9zZWN0aW9uICh2b2lkKTsKKyAgIExBTkdfSE9PS1NfRUhfUFJPVEVDVF9DTEVBTlVQ X0FDVElPTlMsIFwKKyAgIExBTkdfSE9PS1NfQkxPQ0tfTUFZX0ZBTExUSFJVLCBcCisgICBMQU5H X0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFOVVAsIFwKKy0gIExBTkdfSE9PS1NfREVFUF9VTlNI QVJJTkcgXAorKyAgTEFOR19IT09LU19ERUVQX1VOU0hBUklORywgXAorKyAgTEFOR19IT09LU19T T1VSQ0VfTEFOR1VBR0UgXAorIH0KKyAKKyAjZW5kaWYgLyogR0NDX0xBTkdfSE9PS1NfREVGX0gg Ki8KKy0tLSBnY2MvYy9jLWxhbmcuYy5qagkyMDExLTAxLTAzIDEyOjUzOjA1LjM3NjA1NjkzNiAr MDEwMAorKysrIGdjYy9jL2MtbGFuZy5jCTIwMTEtMDEtMDQgMTc6NTk6NDMuMTY3NzQzNzk4ICsw MTAwCitAQCAtMzYsNiArMzYsMTIgQEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZ SU5HMy4KKyAKKyBlbnVtIGNfbGFuZ3VhZ2Vfa2luZCBjX2xhbmd1YWdlID0gY2xrX2M7CisgCisr c3RhdGljIGludAorK2Nfc291cmNlX2xhbmd1YWdlICh2b2lkKQorK3sKKysgIHJldHVybiBmbGFn X2lzb2M5OSA/IDE5OTkgOiAxOTg5OworK30KKysKKyAvKiBMYW5nIGhvb2tzIGNvbW1vbiB0byBD IGFuZCBPYmpDIGFyZSBkZWNsYXJlZCBpbiBjLW9iamMtY29tbW9uLmg7CisgICAgY29uc2VxdWVu dGx5LCB0aGVyZSBzaG91bGQgYmUgdmVyeSBmZXcgaG9va3MgYmVsb3cuICAqLworIAorQEAgLTQ1 LDYgKzUxLDggQEAgZW51bSBjX2xhbmd1YWdlX2tpbmQgY19sYW5ndWFnZSA9IGNsa19jOworICNk ZWZpbmUgTEFOR19IT09LU19JTklUIGNfb2JqY19jb21tb25faW5pdAorICN1bmRlZiBMQU5HX0hP T0tTX0lOSVRfVFMKKyAjZGVmaW5lIExBTkdfSE9PS1NfSU5JVF9UUyBjX2NvbW1vbl9pbml0X3Rz CisrI3VuZGVmIExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFCisrI2RlZmluZSBMQU5HX0hPT0tT X1NPVVJDRV9MQU5HVUFHRSBjX3NvdXJjZV9sYW5ndWFnZQorIAorIC8qIEVhY2ggZnJvbnQgZW5k IHByb3ZpZGVzIGl0cyBvd24gbGFuZyBob29rIGluaXRpYWxpemVyLiAgKi8KKyBzdHJ1Y3QgbGFu Z19ob29rcyBsYW5nX2hvb2tzID0gTEFOR19IT09LU19JTklUSUFMSVpFUjsKKy0tLSBnY2MvZHdh cmYyb3V0LmMuamoJMjAxMS0wMS0wMyAxMjo1MzowNS4xMDIwNTY0NzUgKzAxMDAKKysrKyBnY2Mv ZHdhcmYyb3V0LmMJMjAxMS0wMS0wNCAxODowMzoxNC41MzQxNTE3NjMgKzAxMDAKK0BAIC0xNjEw OSw5ICsxNjEwOSwxOCBAQCBhZGRfYml0X3NpemVfYXR0cmlidXRlIChkd19kaWVfcmVmIGRpZSwK KyBzdGF0aWMgaW5saW5lIHZvaWQKKyBhZGRfcHJvdG90eXBlZF9hdHRyaWJ1dGUgKGR3X2RpZV9y ZWYgZGllLCB0cmVlIGZ1bmNfdHlwZSkKKyB7CistICBpZiAoZ2V0X0FUX3Vuc2lnbmVkIChjb21w X3VuaXRfZGllICgpLCBEV19BVF9sYW5ndWFnZSkgPT0gRFdfTEFOR19DODkKKy0gICAgICAmJiBw cm90b3R5cGVfcCAoZnVuY190eXBlKSkKKy0gICAgYWRkX0FUX2ZsYWcgKGRpZSwgRFdfQVRfcHJv dG90eXBlZCwgMSk7CisrICBzd2l0Y2ggKGdldF9BVF91bnNpZ25lZCAoY29tcF91bml0X2RpZSAo KSwgRFdfQVRfbGFuZ3VhZ2UpKQorKyAgICB7CisrICAgIGNhc2UgRFdfTEFOR19DOgorKyAgICBj YXNlIERXX0xBTkdfQzg5OgorKyAgICBjYXNlIERXX0xBTkdfQzk5OgorKyAgICBjYXNlIERXX0xB TkdfT2JqQzoKKysgICAgICBpZiAocHJvdG90eXBlX3AgKGZ1bmNfdHlwZSkpCisrCWFkZF9BVF9m bGFnIChkaWUsIERXX0FUX3Byb3RvdHlwZWQsIDEpOworKyAgICAgIGJyZWFrOworKyAgICBkZWZh dWx0OgorKyAgICAgIGJyZWFrOworKyAgICB9CisgfQorIAorIC8qIEFkZCBhbiAnYWJzdHJhY3Rf b3JpZ2luJyBhdHRyaWJ1dGUgYmVsb3cgYSBnaXZlbiBESUUuICBUaGUgRElFIGlzIGZvdW5kCitA QCAtMTg5MTUsNiArMTg5MjQsMTAgQEAgZ2VuX2NvbXBpbGVfdW5pdF9kaWUgKGNvbnN0IGNoYXIg KmZpbGVuYQorIAkgIGlmIChzdHJjbXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBHbyIpID09IDAp CisgCSAgICBsYW5ndWFnZSA9IERXX0xBTkdfR287CisgCX0KKysgICAgICBlbHNlIGlmIChzdHJj bXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBDIikgPT0gMAorKwkgICAgICAgJiYgbGFuZ19ob29r cy5zb3VyY2VfbGFuZ3VhZ2UKKysJICAgICAgICYmIGxhbmdfaG9va3Muc291cmNlX2xhbmd1YWdl ICgpID49IDE5OTkpCisrCWxhbmd1YWdlID0gRFdfTEFOR19DOTk7CisgICAgIH0KKyAgIC8qIFVz ZSBhIGRlZ3JhZGVkIEZvcnRyYW4gc2V0dGluZyBpbiBzdHJpY3QgRFdBUkYyIHNvIGlzX2ZvcnRy YW4gd29ya3MuICAqLworICAgZWxzZSBpZiAoc3RyY21wIChsYW5ndWFnZV9zdHJpbmcsICJHTlUg Rm9ydHJhbiIpID09IDApCgpkaWZmIC0tZ2l0IGEvZ2NjNDktcHI1NjQ5My5wYXRjaCBiL2djYzQ5 LXByNTY0OTMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc2MDNk YgotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ5LXByNTY0OTMucGF0Y2gKQEAgLTAsMCArMSw3NiBA QAorMjAxMy0wNi0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiBj KysvNTY0OTMKKwkqIGNvbnZlcnQuYyAoY29udmVydF90b19yZWFsLCBjb252ZXJ0X3RvX2V4cHIs IGNvbnZlcnRfdG9fY29tcGxleCk6CisJSGFuZGxlIENPTVBPVU5EX0VYUFIuCisKKwkqIGMtYysr LWNvbW1vbi9wcjU2NDkzLmM6IE5ldyB0ZXN0LgorCistLS0gZ2NjL2NvbnZlcnQuYy5qagkyMDEz LTA1LTEzIDA5OjQ0OjUzLjAwMDAwMDAwMCArMDIwMAorKysrIGdjYy9jb252ZXJ0LmMJMjAxMy0w Ni0xNiAxMjoxNjoxMy43NTQxMDg1MjMgKzAyMDAKK0BAIC05NSw2ICs5NSwxNSBAQCBjb252ZXJ0 X3RvX3JlYWwgKHRyZWUgdHlwZSwgdHJlZSBleHByKQorICAgZW51bSBidWlsdF9pbl9mdW5jdGlv biBmY29kZSA9IGJ1aWx0aW5fbWF0aGZuX2NvZGUgKGV4cHIpOworICAgdHJlZSBpdHlwZSA9IFRS RUVfVFlQRSAoZXhwcik7CisgCisrICBpZiAoVFJFRV9DT0RFIChleHByKSA9PSBDT01QT1VORF9F WFBSKQorKyAgICB7CisrICAgICAgdHJlZSB0ID0gY29udmVydF90b19yZWFsICh0eXBlLCBUUkVF X09QRVJBTkQgKGV4cHIsIDEpKTsKKysgICAgICBpZiAodCA9PSBUUkVFX09QRVJBTkQgKGV4cHIs IDEpKQorKwlyZXR1cm4gZXhwcjsKKysgICAgICByZXR1cm4gYnVpbGQyX2xvYyAoRVhQUl9MT0NB VElPTiAoZXhwciksIENPTVBPVU5EX0VYUFIsIFRSRUVfVFlQRSAodCksCisrCQkJIFRSRUVfT1BF UkFORCAoZXhwciwgMCksIHQpOworKyAgICB9ICAgIAorKworICAgLyogRGlzYWJsZSB1bnRpbCB3 ZSBmaWd1cmUgb3V0IGhvdyB0byBkZWNpZGUgd2hldGhlciB0aGUgZnVuY3Rpb25zIGFyZQorICAg ICAgcHJlc2VudCBpbiBydW50aW1lLiAgKi8KKyAgIC8qIENvbnZlcnQgKGZsb2F0KXNxcnQoKGRv dWJsZSl4KSB3aGVyZSB4IGlzIGZsb2F0IGludG8gc3FydGYoeCkgKi8KK0BAIC0zNjYsNiArMzc1 LDE1IEBAIGNvbnZlcnRfdG9faW50ZWdlciAodHJlZSB0eXBlLCB0cmVlIGV4cHIKKyAgICAgICBy ZXR1cm4gZXJyb3JfbWFya19ub2RlOworICAgICB9CisgCisrICBpZiAoZXhfZm9ybSA9PSBDT01Q T1VORF9FWFBSKQorKyAgICB7CisrICAgICAgdHJlZSB0ID0gY29udmVydF90b19pbnRlZ2VyICh0 eXBlLCBUUkVFX09QRVJBTkQgKGV4cHIsIDEpKTsKKysgICAgICBpZiAodCA9PSBUUkVFX09QRVJB TkQgKGV4cHIsIDEpKQorKwlyZXR1cm4gZXhwcjsKKysgICAgICByZXR1cm4gYnVpbGQyX2xvYyAo RVhQUl9MT0NBVElPTiAoZXhwciksIENPTVBPVU5EX0VYUFIsIFRSRUVfVFlQRSAodCksCisrCQkJ IFRSRUVfT1BFUkFORCAoZXhwciwgMCksIHQpOworKyAgICB9ICAgIAorKworICAgLyogQ29udmVy dCBlLmcuIChsb25nKXJvdW5kKGQpIC0+IGxyb3VuZChkKS4gICovCisgICAvKiBJZiB3ZSdyZSBj b252ZXJ0aW5nIHRvIGNoYXIsIHdlIG1heSBlbmNvdW50ZXIgZGlmZmVyaW5nIGJlaGF2aW9yCisg ICAgICBiZXR3ZWVuIGNvbnZlcnRpbmcgZnJvbSBkb3VibGUtPmNoYXIgdnMgZG91YmxlLT5sb25n LT5jaGFyLgorQEAgLTg1NCw2ICs4NzIsMTQgQEAgY29udmVydF90b19jb21wbGV4ICh0cmVlIHR5 cGUsIHRyZWUgZXhwcgorIAorIAlpZiAoVFlQRV9NQUlOX1ZBUklBTlQgKGVsdF90eXBlKSA9PSBU WVBFX01BSU5fVkFSSUFOVCAoc3VidHlwZSkpCisgCSAgcmV0dXJuIGV4cHI7CisrCWVsc2UgaWYg KFRSRUVfQ09ERSAoZXhwcikgPT0gQ09NUE9VTkRfRVhQUikKKysJICB7CisrCSAgICB0cmVlIHQg PSBjb252ZXJ0X3RvX2NvbXBsZXggKHR5cGUsIFRSRUVfT1BFUkFORCAoZXhwciwgMSkpOworKwkg ICAgaWYgKHQgPT0gVFJFRV9PUEVSQU5EIChleHByLCAxKSkKKysJICAgICAgcmV0dXJuIGV4cHI7 CisrCSAgICByZXR1cm4gYnVpbGQyX2xvYyAoRVhQUl9MT0NBVElPTiAoZXhwciksIENPTVBPVU5E X0VYUFIsCisrCQkJICAgICAgIFRSRUVfVFlQRSAodCksIFRSRUVfT1BFUkFORCAoZXhwciwgMCks IHQpOworKwkgIH0gICAgCisgCWVsc2UgaWYgKFRSRUVfQ09ERSAoZXhwcikgPT0gQ09NUExFWF9F WFBSKQorIAkgIHJldHVybiBmb2xkX2J1aWxkMiAoQ09NUExFWF9FWFBSLCB0eXBlLAorIAkJCSAg ICAgIGNvbnZlcnQgKHN1YnR5cGUsIFRSRUVfT1BFUkFORCAoZXhwciwgMCkpLAorLS0tIGdjYy90 ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByNTY0OTMuYy5qagkyMDEzLTA2LTE3IDEwOjI0OjM2Ljg5 MTY1OTYwMCArMDIwMAorKysrIGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL3ByNTY0OTMuYwky MDEzLTA2LTE3IDEwOjI0OjMzLjE2NDcyMDE0OSArMDIwMAorQEAgLTAsMCArMSwxNiBAQAorKy8q IFBSIGMrKy81NjQ5MyAqLworKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisrLyogeyBkZy1vcHRp b25zICItTzIgLWZkdW1wLXRyZWUtZ2ltcGxlIiB9ICovCisrCisrdW5zaWduZWQgbG9uZyBsb25n IGJhciAodm9pZCk7CisraW50IHg7CisrCisrdm9pZAorK2ZvbyAodm9pZCkKKyt7CisrICB4ICs9 IGJhciAoKTsKKyt9CisrCisrLyogVmVyaWZ5IHdlIG5hcnJvdyB0aGUgYWRkaXRpb24gZnJvbSB1 bnNpZ25lZCBsb25nIGxvbmcgdG8gdW5zaWduZWQgaW50IHR5cGUuICAqLworKy8qIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcCAiICAoXFthLXpBLVouXzAtOV0qKSA9IFxcKHVuc2lnbmVkIGlu dFxcKSBcW147XG5ccl0qOy4qICAoXFthLXpBLVouXzAtOV0qKSA9IFxcKHVuc2lnbmVkIGludFxc KSBcW147XG5ccl0qOy4qID0gXFwxIFxcKyBcXDI7IiAiZ2ltcGxlIiB7IHRhcmdldCB7IGlscDMy IHx8IGxwNjQgfSB9IH0gfSAqLworKy8qIHsgZGctZmluYWwgeyBjbGVhbnVwLXRyZWUtZHVtcCAi Z2ltcGxlIiB9IH0gKi8KCmRpZmYgLS1naXQgYS9nY2M0OS1yaDMzMDc3MS5wYXRjaCBiL2djYzQ5 LXJoMzMwNzcxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMjcz MGYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0OS1yaDMzMDc3MS5wYXRjaApAQCAtMCwwICsxLDI3 IEBACisyMDA3LTEwLTE2ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSog TWFrZWZpbGUuYW0gKGxpYmdjal90b29sc19sYV9MSUJBREQpOiBBZGQuCisJKiBNYWtlZmlsZS5p bjogUmVnZW5lcmF0ZWQuCisKKy0tLSBsaWJqYXZhL01ha2VmaWxlLmFtLmpqCTIwMDktMDUtMDYg MDg6MTQ6NTAuMDAwMDAwMDAwICswMjAwCisrKysgbGliamF2YS9NYWtlZmlsZS5hbQkyMDA5LTA1 LTA2IDEwOjI2OjQzLjAwMDAwMDAwMCArMDIwMAorQEAgLTU1MCw3ICs1NTAsNyBAQCBsaWJnY2pf dG9vbHNfbGFfTERGTEFHUyA9IC1ycGF0aCAkKHRvb2xlCisgICQoTElCR0NKX0xEX1NZTUJPTElD X0ZVTkNUSU9OUykgJChMSUJKQVZBX0xERkxBR1NfTk9VTkRFRikgXAorICAkKExJQkpBVkFfTERG TEFHU19MSUJNQVRIKQorIAorLWxpYmdjal90b29sc19sYV9MSUJBREQgPSBsaWJnY2oubGEKKyts aWJnY2pfdG9vbHNfbGFfTElCQUREID0gLUwkKGhlcmUpLy5saWJzIGxpYmdjai5sYQorIGxpYmdj al90b29sc19sYV9ERVBFTkRFTkNJRVMgPSBsaWJnY2oubGEgbGliZ2NqLnNwZWMgXAorICAkKGxp Ymdjal90b29sc19sYV92ZXJzaW9uX2RlcCkKKyBpZiBCVUlMRF9TVUJMSUJTCistLS0gbGliamF2 YS9NYWtlZmlsZS5pbi5qagkyMDA5LTA1LTA2IDA4OjE0OjQ5LjAwMDAwMDAwMCArMDIwMAorKysr IGxpYmphdmEvTWFrZWZpbGUuaW4JMjAwOS0wNS0wNiAxMDoyNzoxOC4wMDAwMDAwMDAgKzAyMDAK K0BAIC0xMTEwLDcgKzExMTAsNyBAQCBsaWJnY2pfdG9vbHNfbGFfTERGTEFHUyA9IC1ycGF0aCAk KHRvb2xlCisgICQoTElCR0NKX0xEX1NZTUJPTElDX0ZVTkNUSU9OUykgJChMSUJKQVZBX0xERkxB R1NfTk9VTkRFRikgXAorICAkKExJQkpBVkFfTERGTEFHU19MSUJNQVRIKQorIAorLWxpYmdjal90 b29sc19sYV9MSUJBREQgPSBsaWJnY2oubGEKKytsaWJnY2pfdG9vbHNfbGFfTElCQUREID0gLUwk KGhlcmUpLy5saWJzIGxpYmdjai5sYQorIGxpYmdjal90b29sc19sYV9ERVBFTkRFTkNJRVMgPSBs aWJnY2oubGEgbGliZ2NqLnNwZWMgXAorIAkkKGxpYmdjal90b29sc19sYV92ZXJzaW9uX2RlcCkg JChhbV9fYXBwZW5kXzE5KQorIGxpYmdjal90b29sc19sYV9MSU5LID0gJChMSUJMSU5LKSAkKGxp Ymdjal90b29sc19sYV9MREZMQUdTKSBcCgpkaWZmIC0tZ2l0IGEvZ2NjNDktc3BhcmMtY29uZmln LWRldGVjdGlvbi5wYXRjaCBiL2djYzQ5LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q2ODNhMAotLS0gL2Rldi9udWxsCisr KyBiL2djYzQ5LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAor LS0tIGdjYy9jb25maWcuZ2NjLmpqCTIwMDgtMDQtMjQgMTU6NDI6NDYuMDAwMDAwMDAwIC0wNTAw CisrKysgZ2NjL2NvbmZpZy5nY2MJMjAwOC0wNC0yNCAxNTo0NDo1MS4wMDAwMDAwMDAgLTA1MDAK K0BAIC0yNjU2LDcgKzI2NTYsNyBAQCBzcGFyYy0qLXJ0ZW1zKikKKyAJdG1fZmlsZT0iJHt0bV9m aWxlfSBkYnhlbGYuaCBlbGZvcy5oIHNwYXJjL3N5c3Y0Lmggc3BhcmMvc3AtZWxmLmggc3BhcmMv cnRlbXNlbGYuaCBydGVtcy5oIG5ld2xpYi1zdGRpbnQuaCIKKyAJdG1ha2VfZmlsZT0iJHt0bWFr ZV9maWxlfSBzcGFyYy90LXNwYXJjIHNwYXJjL3QtZWxmIHNwYXJjL3QtcnRlbXMiCisgCTs7Cist c3BhcmMtKi1saW51eCopCisrc3BhcmMtKi1saW51eCogfCBzcGFyY3Y5LSotbGludXgqKQorIAl0 bV9maWxlPSIke3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9zLmggc3BhcmMvc3lzdjQuaCBnbnUtdXNl ci5oIGxpbnV4LmggZ2xpYmMtc3RkaW50Lmggc3BhcmMvdHNvLmgiCisgCWV4dHJhX29wdGlvbnM9 IiR7ZXh0cmFfb3B0aW9uc30gc3BhcmMvbG9uZy1kb3VibGUtc3dpdGNoLm9wdCIKKyAJY2FzZSAk e3RhcmdldH0gaW4KK0BAIC0yNzEwLDcgKzI3MTAsNyBAQCBzcGFyYzY0LSotcnRlbXMqKQorIAll eHRyYV9vcHRpb25zPSIke2V4dHJhX29wdGlvbnN9IgorIAl0bWFrZV9maWxlPSIke3RtYWtlX2Zp bGV9IHNwYXJjL3Qtc3BhcmMgc3BhcmMvdC1ydGVtcy02NCIKKyAJOzsKKy1zcGFyYzY0LSotbGlu dXgqKQorK3NwYXJjNjQqLSotbGludXgqKQorIAl0bV9maWxlPSJzcGFyYy9iaWFyY2g2NC5oICR7 dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBzcGFyYy9zeXN2NC5oIGdudS11c2VyLmggbGludXgu aCBnbGliYy1zdGRpbnQuaCBzcGFyYy9kZWZhdWx0LTY0Lmggc3BhcmMvbGludXg2NC5oIHNwYXJj L3Rzby5oIgorIAlleHRyYV9vcHRpb25zPSIke2V4dHJhX29wdGlvbnN9IHNwYXJjL2xvbmctZG91 YmxlLXN3aXRjaC5vcHQiCisgCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFy YyBzcGFyYy90LWxpbnV4NjQiCistLS0gbGliZ2NjL2NvbmZpZy5ob3N0LmpqCTIwMDgtMDQtMjQg MTU6NDY6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbGliZ2NjL2NvbmZpZy5ob3N0CTIwMDgtMDQt MjQgMTU6NDY6NDkuMDAwMDAwMDAwIC0wNTAwCitAQCAtMTAwMiw3ICsxMDAyLDcgQEAgc3BhcmMt Ki1lbGYqKQorIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHQtZmRwYml0IHQtY3J0Zm0iCisg CWV4dHJhX3BhcnRzPSIkZXh0cmFfcGFydHMgY3J0aS5vIGNydG4ubyBjcnRmYXN0bWF0aC5vIgor IAk7OworLXNwYXJjLSotbGludXgqKQkJIyBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJj NgorK3NwYXJjLSotbGludXgqIHwgc3BhcmN2OS0qLWxpbnV4KikJCSMgU1BBUkMncyBydW5uaW5n IEdOVS9MaW51eCwgbGliYzYKKyAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSB0LWNydGZtIgor IAlpZiB0ZXN0ICIke2hvc3RfYWRkcmVzc30iID0gNjQ7IHRoZW4KKyAJCXRtYWtlX2ZpbGU9IiR0 bWFrZV9maWxlIHNwYXJjL3QtbGludXg2NCIKK0BAIC0xMDUwLDcgKzEwNTAsNyBAQCBzcGFyYzY0 LSotZnJlZWJzZCp8dWx0cmFzcGFyYy0qLWZyZWVic2QqCisgCXRtYWtlX2ZpbGU9IiR0bWFrZV9m aWxlIHQtY3J0Zm0iCisgCWV4dHJhX3BhcnRzPSIkZXh0cmFfcGFydHMgY3J0ZmFzdG1hdGgubyIK KyAJOzsKKy1zcGFyYzY0LSotbGludXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdOVS9M aW51eAorK3NwYXJjNjQqLSotbGludXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdOVS9M aW51eAorIAlleHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCisgCXRtYWtl X2ZpbGU9IiR7dG1ha2VfZmlsZX0gdC1jcnRmbSBzcGFyYy90LWxpbnV4IgorIAlpZiB0ZXN0ICIk e2hvc3RfYWRkcmVzc30iID0gNjQ7IHRoZW4KCmRpZmYgLS1naXQgYS9pc2wtMC4xMS4xLWFhcmNo NjQtY29uZmlnLnBhdGNoIGIvaXNsLTAuMTEuMS1hYXJjaDY0LWNvbmZpZy5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDYxZGFjMC4uMDAwMDAwMAotLS0gYS9pc2wtMC4xMS4x LWFhcmNoNjQtY29uZmlnLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzkyICswLDAgQEAKLS0t LSBpc2wtMC4xMS4xL2NvbmZpZy5ndWVzcwotKysrIGlzbC0wLjExLjEvY29uZmlnLmd1ZXNzCi1A QCAtMiw5ICsyLDkgQEAKLSAjIEF0dGVtcHQgdG8gZ3Vlc3MgYSBjYW5vbmljYWwgc3lzdGVtIG5h bWUuCi0gIyAgIENvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5 NywgMTk5OCwgMTk5OSwKLSAjICAgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwg MjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwKLS0jICAgMjAxMSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KLSsjICAgMjAxMSwgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KLSAKLS10aW1lc3RhbXA9JzIwMTEtMDUtMTEnCi0rdGltZXN0YW1wPScyMDEyLTA2LTEw JwotIAotICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkgaXQKLSAjIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci1AQCAtMTcsOSArMTcsNyBAQCB0aW1l c3RhbXA9JzIwMTEtMDUtMTEnCi0gIyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCi0gIwotICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG cmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQotLSMgMDIxMTAtMTMwMSwg VVNBLgotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KLSAjCi0gIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91Ci0gIyBkaXN0cmlidXRlIHRoaXMg ZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIGEKLUBAIC01Nyw4ICs1NSw4 IEBAIEdOVSBjb25maWcuZ3Vlc3MgKCR0aW1lc3RhbXApCi0gCi0gT3JpZ2luYWxseSB3cml0dGVu IGJ5IFBlciBCb3RobmVyLgotIENvcHlyaWdodCAoQykgMTk5MiwgMTk5MywgMTk5NCwgMTk5NSwg MTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKLS0yMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAy MDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExIEZyZWUKLS1Tb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCi0rMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAw NywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMgotK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgotIAotIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNv cHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCi0gd2FycmFudHk7IG5vdCBldmVuIGZvciBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIgotQEAg LTE0NSw3ICsxNDMsNyBAQCBVTkFNRV9WRVJTSU9OPWAodW5hbWUgLXYpIDI+L2Rldi9udWxsYCB8 fCBVTkFNRV9WRVJTSU9OPXVua25vd24KLSBjYXNlICIke1VOQU1FX01BQ0hJTkV9OiR7VU5BTUVf U1lTVEVNfToke1VOQU1FX1JFTEVBU0V9OiR7VU5BTUVfVkVSU0lPTn0iIGluCi0gICAgICo6TmV0 QlNEOio6KikKLSAJIyBOZXRCU0QgKG5ic2QpIHRhcmdldHMgc2hvdWxkICh3aGVyZSBhcHBsaWNh YmxlKSBtYXRjaCBvbmUgb3IKLS0JIyBtb3JlIG9mIHRoZSB0dXBwbGVzOiAqLSotbmV0YnNkZWxm KiwgKi0qLW5ldGJzZGFvdXQqLAotKwkjIG1vcmUgb2YgdGhlIHR1cGxlczogKi0qLW5ldGJzZGVs ZiosICotKi1uZXRic2Rhb3V0KiwKLSAJIyAqLSotbmV0YnNkZWNvZmYqIGFuZCAqLSotbmV0YnNk Ki4gIEZvciB0YXJnZXRzIHRoYXQgcmVjZW50bHkKLSAJIyBzd2l0Y2hlZCB0byBFTEYsICotKi1u ZXRic2QqIHdvdWxkIHNlbGVjdCB0aGUgb2xkCi0gCSMgb2JqZWN0IGZpbGUgZm9ybWF0LiAgVGhp cyBwcm92aWRlcyBib3RoIGZvcndhcmQKLUBAIC03OTIsMTMgKzc5MCwxMiBAQCBFT0YKLSAJZWNo byAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tYnNkaSR7VU5BTUVfUkVMRUFTRX0KLSAJZXhpdCA7 OwotICAgICAqOkZyZWVCU0Q6KjoqKQotLQljYXNlICR7VU5BTUVfTUFDSElORX0gaW4KLS0JICAg IHBjOTgpCi0tCQllY2hvIGkzODYtdW5rbm93bi1mcmVlYnNkYGVjaG8gJHtVTkFNRV9SRUxFQVNF fXxzZWQgLWUgJ3MvWy0oXS4qLy8nYCA7OwotKwlVTkFNRV9QUk9DRVNTT1I9YC91c3IvYmluL3Vu YW1lIC1wYAotKwljYXNlICR7VU5BTUVfUFJPQ0VTU09SfSBpbgotIAkgICAgYW1kNjQpCi0gCQll Y2hvIHg4Nl82NC11bmtub3duLWZyZWVic2RgZWNobyAke1VOQU1FX1JFTEVBU0V9fHNlZCAtZSAn cy9bLShdLiovLydgIDs7Ci0gCSAgICAqKQotLQkJZWNobyAke1VOQU1FX01BQ0hJTkV9LXVua25v d24tZnJlZWJzZGBlY2hvICR7VU5BTUVfUkVMRUFTRX18c2VkIC1lICdzL1stKF0uKi8vJ2AgOzsK LSsJCWVjaG8gJHtVTkFNRV9QUk9DRVNTT1J9LXVua25vd24tZnJlZWJzZGBlY2hvICR7VU5BTUVf UkVMRUFTRX18c2VkIC1lICdzL1stKF0uKi8vJ2AgOzsKLSAJZXNhYwotIAlleGl0IDs7Ci0gICAg IGkqOkNZR1dJTio6KikKLUBAIC04MDcsNiArODA0LDkgQEAgRU9GCi0gICAgICo6TUlOR1cqOiop Ci0gCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1wYy1taW5ndzMyCi0gCWV4aXQgOzsKLSsgICAgaSo6 TVNZUyo6KikKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LXBjLW1zeXMKLSsJZXhpdCA7OwotICAg ICBpKjp3aW5kb3dzMzIqOiopCi0gCSMgdW5hbWUgLW0gaW5jbHVkZXMgIi1wYyIgb24gdGhpcyBz eXN0ZW0uCi0gCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1taW5ndzMyCi1AQCAtODYxLDYgKzg2MSwx MyBAQCBFT0YKLSAgICAgaSo4NjpNaW5peDoqOiopCi0gCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1w Yy1taW5peAotIAlleGl0IDs7Ci0rICAgIGFhcmNoNjQ6TGludXg6KjoqKQotKwllY2hvICR7VU5B TUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKLSsJZXhpdCA7OwotKyAgICBhYXJjaDY0X2Jl OkxpbnV4Oio6KikKLSsJVU5BTUVfTUFDSElORT1hYXJjaDY0X2JlCi0rCWVjaG8gJHtVTkFNRV9N QUNISU5FfS11bmtub3duLWxpbnV4LWdudQotKwlleGl0IDs7Ci0gICAgIGFscGhhOkxpbnV4Oio6 KikKLSAJY2FzZSBgc2VkIC1uICcvXmNwdSBtb2RlbC9zL14uKjogXCguKlwpL1wxL3AnIDwgL3By b2MvY3B1aW5mb2AgaW4KLSAJICBFVjUpICAgVU5BTUVfTUFDSElORT1hbHBoYWV2NSA7OwotQEAg LTg5NSwxMyArOTAyLDE2IEBAIEVPRgotIAllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1s aW51eC1nbnUKLSAJZXhpdCA7OwotICAgICBjcmlzOkxpbnV4Oio6KikKLS0JZWNobyBjcmlzLWF4 aXMtbGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9NQUNISU5FfS1heGlzLWxpbnV4LWdudQotIAll eGl0IDs7Ci0gICAgIGNyaXN2MzI6TGludXg6KjoqKQotLQllY2hvIGNyaXN2MzItYXhpcy1saW51 eC1nbnUKLSsJZWNobyAke1VOQU1FX01BQ0hJTkV9LWF4aXMtbGludXgtZ251Ci0gCWV4aXQgOzsK LSAgICAgZnJ2OkxpbnV4Oio6KikKLS0JZWNobyBmcnYtdW5rbm93bi1saW51eC1nbnUKLSsJZWNo byAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251Ci0rCWV4aXQgOzsKLSsgICAgaGV4 YWdvbjpMaW51eDoqOiopCi0rCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdu dQotIAlleGl0IDs7Ci0gICAgIGkqODY6TGludXg6KjoqKQotIAlMSUJDPWdudQotQEAgLTk0Myw3 ICs5NTMsNyBAQCBFT0YKLSAJdGVzdCB4IiR7Q1BVfSIgIT0geCAmJiB7IGVjaG8gIiR7Q1BVfS11 bmtub3duLWxpbnV4LWdudSI7IGV4aXQ7IH0KLSAJOzsKLSAgICAgb3IzMjpMaW51eDoqOiopCi0t CWVjaG8gb3IzMi11bmtub3duLWxpbnV4LWdudQotKwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5r bm93bi1saW51eC1nbnUKLSAJZXhpdCA7OwotICAgICBwYWRyZTpMaW51eDoqOiopCi0gCWVjaG8g c3BhcmMtdW5rbm93bi1saW51eC1nbnUKLUBAIC05NzgsMTMgKzk4OCwxMyBAQCBFT0YKLSAJZWNo byAke1VOQU1FX01BQ0hJTkV9LXVua25vd24tbGludXgtZ251Ci0gCWV4aXQgOzsKLSAgICAgdGls ZSo6TGludXg6KjoqKQotLQllY2hvICR7VU5BTUVfTUFDSElORX0tdGlsZXJhLWxpbnV4LWdudQot KwllY2hvICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1saW51eC1nbnUKLSAJZXhpdCA7OwotICAg ICB2YXg6TGludXg6KjoqKQotIAllY2hvICR7VU5BTUVfTUFDSElORX0tZGVjLWxpbnV4LWdudQot IAlleGl0IDs7Ci0gICAgIHg4Nl82NDpMaW51eDoqOiopCi0tCWVjaG8geDg2XzY0LXVua25vd24t bGludXgtZ251Ci0rCWVjaG8gJHtVTkFNRV9NQUNISU5FfS11bmtub3duLWxpbnV4LWdudQotIAll eGl0IDs7Ci0gICAgIHh0ZW5zYSo6TGludXg6KjoqKQotIAllY2hvICR7VU5BTUVfTUFDSElORX0t dW5rbm93bi1saW51eC1nbnUKLUBAIC0xMjQ2LDcgKzEyNTYsNyBAQCBFT0YKLSAgICAgTkVPLT86 Tk9OU1RPUF9LRVJORUw6KjoqKQotIAllY2hvIG5lby10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNF fQotIAlleGl0IDs7Ci0tICAgIE5TRS0/Ok5PTlNUT1BfS0VSTkVMOio6KikKLSsgICAgTlNFLSo6 Tk9OU1RPUF9LRVJORUw6KjoqKQotIAllY2hvIG5zZS10YW5kZW0tbnNrJHtVTkFNRV9SRUxFQVNF fQotIAlleGl0IDs7Ci0gICAgIE5TUi0/Ok5PTlNUT1BfS0VSTkVMOio6KikKLUBAIC0xMzE1LDYg KzEzMjUsOSBAQCBFT0YKLSAgICAgaSo4NjpBUk9TOio6KikKLSAJZWNobyAke1VOQU1FX01BQ0hJ TkV9LXBjLWFyb3MKLSAJZXhpdCA7OwotKyAgICB4ODZfNjQ6Vk1rZXJuZWw6KjoqKQotKwllY2hv ICR7VU5BTUVfTUFDSElORX0tdW5rbm93bi1lc3gKLSsJZXhpdCA7OwotIGVzYWMKLSAKLSAjZWNo byAnKE5vIHVuYW1lIGNvbW1hbmQgb3IgdW5hbWUgb3V0cHV0IG5vdCByZWNvZ25pemVkLiknIDE+ JjIKLS0tLSBpc2wtMC4xMS4xL2NvbmZpZy5zdWIKLSsrKyBpc2wtMC4xMS4xL2NvbmZpZy5zdWIK LUBAIC0yLDkgKzIsOSBAQAotICMgQ29uZmlndXJhdGlvbiB2YWxpZGF0aW9uIHN1YnJvdXRpbmUg c2NyaXB0LgotICMgICBDb3B5cmlnaHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYs IDE5OTcsIDE5OTgsIDE5OTksCi0gIyAgIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIw MDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsCi0tIyAgIDIwMTEgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCi0rIyAgIDIwMTEsIDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCi0gCi0tdGltZXN0YW1wPScyMDExLTAzLTIzJwotK3RpbWVzdGFtcD0nMjAxMi0w NC0xOCcKLSAKLSAjIFRoaXMgZmlsZSBpcyAoaW4gcHJpbmNpcGxlKSBjb21tb24gdG8gQUxMIEdO VSBzb2Z0d2FyZS4KLSAjIFRoZSBwcmVzZW5jZSBvZiBhIG1hY2hpbmUgaW4gdGhpcyBmaWxlIHN1 Z2dlc3RzIHRoYXQgU09NRSBHTlUgc29mdHdhcmUKLUBAIC0yMSw5ICsyMSw3IEBAIHRpbWVzdGFt cD0nMjAxMS0wMy0yMycKLSAjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCi0gIwotICMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLS0jIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0tIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG cmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQQotLSMgMDIxMTAtMTMwMSwg VVNBLgotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KLSAjCi0gIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgaWYgeW91Ci0gIyBkaXN0cmlidXRlIHRoaXMg ZmlsZSBhcyBwYXJ0IG9mIGEgcHJvZ3JhbSB0aGF0IGNvbnRhaW5zIGEKLUBAIC03Niw4ICs3NCw4 IEBAIHZlcnNpb249IlwKLSBHTlUgY29uZmlnLnN1YiAoJHRpbWVzdGFtcCkKLSAKLSBDb3B5cmln aHQgKEMpIDE5OTIsIDE5OTMsIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTksIDIw MDAsCi0tMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAw OSwgMjAxMCwgMjAxMSBGcmVlCi0tU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKzIwMDEsIDIw MDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEs IDIwMTIKLStGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSAKLSBUaGlzIGlzIGZyZWUg c29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBp cyBOTwotIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiIKLUBAIC0xMzIsNiArMTMwLDEwIEBAIGNhc2UgJG1h eWJlX29zIGluCi0gICAgIG9zPS0kbWF5YmVfb3MKLSAgICAgYmFzaWNfbWFjaGluZT1gZWNobyAk MSB8IHNlZCAncy9eXCguKlwpLVwoW14tXSotW14tXSpcKSQvXDEvJ2AKLSAgICAgOzsKLSsgIGFu ZHJvaWQtbGludXgpCi0rICAgIG9zPS1saW51eC1hbmRyb2lkCi0rICAgIGJhc2ljX21hY2hpbmU9 YGVjaG8gJDEgfCBzZWQgJ3MvXlwoLipcKS1cKFteLV0qLVteLV0qXCkkL1wxLydgLXVua25vd24K LSsgICAgOzsKLSAgICopCi0gICAgIGJhc2ljX21hY2hpbmU9YGVjaG8gJDEgfCBzZWQgJ3MvLVte LV0qJC8vJ2AKLSAgICAgaWYgWyAkYmFzaWNfbWFjaGluZSAhPSAkMSBdCi1AQCAtMjIzLDYgKzIy NSwxMiBAQCBjYXNlICRvcyBpbgotIAktaXNjKikKLSAJCWJhc2ljX21hY2hpbmU9YGVjaG8gJDEg fCBzZWQgLWUgJ3MvODYtLiovODYtcGMvJ2AKLSAJCTs7Ci0rCS1seW54KjE3OCkKLSsJCW9zPS1s eW54b3MxNzgKLSsJCTs7Ci0rCS1seW54KjUpCi0rCQlvcz0tbHlueG9zNQotKwkJOzsKLSAJLWx5 bngqKQotIAkJb3M9LWx5bnhvcwotIAkJOzsKLUBAIC0yNDcsMTcgKzI1NSwyMiBAQCBjYXNlICRi YXNpY19tYWNoaW5lIGluCi0gCSMgU29tZSBhcmUgb21pdHRlZCBoZXJlIGJlY2F1c2UgdGhleSBo YXZlIHNwZWNpYWwgbWVhbmluZ3MgYmVsb3cuCi0gCTE3NTBhIHwgNTgwIFwKLSAJfCBhMjlrIFwK LSsJfCBhYXJjaDY0IHwgYWFyY2g2NF9iZSBcCi0gCXwgYWxwaGEgfCBhbHBoYWV2WzQtOF0gfCBh bHBoYWV2NTYgfCBhbHBoYWV2Nls3OF0gfCBhbHBoYXBjYTVbNjddIFwKLSAJfCBhbHBoYTY0IHwg YWxwaGE2NGV2WzQtOF0gfCBhbHBoYTY0ZXY1NiB8IGFscGhhNjRldjZbNzhdIHwgYWxwaGE2NHBj YTVbNjddIFwKLSAJfCBhbTMzXzIuMCBcCi0gCXwgYXJjIHwgYXJtIHwgYXJtW2JsXWUgfCBhcm1l W2xiXSB8IGFybXZbMjM0NV0gfCBhcm12WzM0NV1bbGJdIHwgYXZyIHwgYXZyMzIgXAotKyAgICAg ICAgfCBiZTMyIHwgYmU2NCBcCi0gCXwgYmZpbiBcCi0gCXwgYzR4IHwgY2xpcHBlciBcCi0gCXwg ZDEwdiB8IGQzMHYgfCBkbHggfCBkc3AxNnh4IFwKLSsJfCBlcGlwaGFueSBcCi0gCXwgZmlkbyB8 IGZyMzAgfCBmcnYgXAotIAl8IGg4MzAwIHwgaDg1MDAgfCBocHBhIHwgaHBwYTEuWzAxXSB8IGhw cGEyLjAgfCBocHBhMi4wW253XSB8IGhwcGE2NCBcCi0rCXwgaGV4YWdvbiBcCi0gCXwgaTM3MCB8 IGk4NjAgfCBpOTYwIHwgaWE2NCBcCi0gCXwgaXAyayB8IGlxMjAwMCBcCi0rCXwgbGUzMiB8IGxl NjQgXAotIAl8IGxtMzIgXAotIAl8IG0zMmMgfCBtMzJyIHwgbTMycmxlIHwgbTY4MDAwIHwgbTY4 ayB8IG04OGsgXAotIAl8IG1heHEgfCBtYiB8IG1pY3JvYmxhemUgfCBtY29yZSB8IG1lcCB8IG1l dGFnIFwKLUBAIC0yOTEsNyArMzA0LDcgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgotIAl8IHBk cDEwIHwgcGRwMTEgfCBwaiB8IHBqbCBcCi0gCXwgcG93ZXJwYyB8IHBvd2VycGM2NCB8IHBvd2Vy cGM2NGxlIHwgcG93ZXJwY2xlIFwKLSAJfCBweXJhbWlkIFwKLS0JfCByeCBcCi0rCXwgcmw3OCB8 IHJ4IFwKLSAJfCBzY29yZSBcCi0gCXwgc2ggfCBzaFsxMjM0XSB8IHNoWzI0XWEgfCBzaFsyNF1h ZWIgfCBzaFsyM11lIHwgc2hbMzRdZWIgfCBzaGViIHwgc2hiZSB8IHNobGUgfCBzaFsxMjM0XWxl IHwgc2gzZWxlIFwKLSAJfCBzaDY0IHwgc2g2NGxlIFwKLUBAIC0zMDAsNyArMzEzLDcgQEAgY2Fz ZSAkYmFzaWNfbWFjaGluZSBpbgotIAl8IHNwdSBcCi0gCXwgdGFob2UgfCB0aWM0eCB8IHRpYzU0 eCB8IHRpYzU1eCB8IHRpYzZ4IHwgdGljODAgfCB0cm9uIFwKLSAJfCB1Ymljb20zMiBcCi0tCXwg djg1MCB8IHY4NTBlIFwKLSsJfCB2ODUwIHwgdjg1MGUgfCB2ODUwZTEgfCB2ODUwZTIgfCB2ODUw ZXMgfCB2ODUwZTJ2MyBcCi0gCXwgd2UzMmsgXAotIAl8IHg4NiB8IHhjMTZ4IHwgeHN0b3JteTE2 IHwgeHRlbnNhIFwKLSAJfCB6OGsgfCB6ODApCi1AQCAtMzE1LDggKzMyOCw3IEBAIGNhc2UgJGJh c2ljX21hY2hpbmUgaW4KLSAJYzZ4KQotIAkJYmFzaWNfbWFjaGluZT10aWM2eC11bmtub3duCi0g CQk7OwotLQltNjgxMSB8IG02OGhjMTEgfCBtNjgxMiB8IG02OGhjMTIgfCBwaWNvY2hpcCkKLS0J CSMgTW90b3JvbGEgNjhIQzExLzEyLgotKwltNjgxMSB8IG02OGhjMTEgfCBtNjgxMiB8IG02OGhj MTIgfCBtNjhoY3MxMnggfCBwaWNvY2hpcCkKLSAJCWJhc2ljX21hY2hpbmU9JGJhc2ljX21hY2hp bmUtdW5rbm93bgotIAkJb3M9LW5vbmUKLSAJCTs7Ci1AQCAtMzI5LDcgKzM0MSwxMCBAQCBjYXNl ICRiYXNpY19tYWNoaW5lIGluCi0gCXN0cm9uZ2FybSB8IHRodW1iIHwgeHNjYWxlKQotIAkJYmFz aWNfbWFjaGluZT1hcm0tdW5rbm93bgotIAkJOzsKLS0KLSsJeGdhdGUpCi0rCQliYXNpY19tYWNo aW5lPSRiYXNpY19tYWNoaW5lLXVua25vd24KLSsJCW9zPS1ub25lCi0rCQk7OwotIAl4c2NhbGVl YikKLSAJCWJhc2ljX21hY2hpbmU9YXJtZWItdW5rbm93bgotIAkJOzsKLUBAIC0zNTIsMTEgKzM2 NywxMyBAQCBjYXNlICRiYXNpY19tYWNoaW5lIGluCi0gCSMgUmVjb2duaXplIHRoZSBiYXNpYyBD UFUgdHlwZXMgd2l0aCBjb21wYW55IG5hbWUuCi0gCTU4MC0qIFwKLSAJfCBhMjlrLSogXAotKwl8 IGFhcmNoNjQtKiB8IGFhcmNoNjRfYmUtKiBcCi0gCXwgYWxwaGEtKiB8IGFscGhhZXZbNC04XS0q IHwgYWxwaGFldjU2LSogfCBhbHBoYWV2Nls3OF0tKiBcCi0gCXwgYWxwaGE2NC0qIHwgYWxwaGE2 NGV2WzQtOF0tKiB8IGFscGhhNjRldjU2LSogfCBhbHBoYTY0ZXY2Wzc4XS0qIFwKLSAJfCBhbHBo YXBjYTVbNjddLSogfCBhbHBoYTY0cGNhNVs2N10tKiB8IGFyYy0qIFwKLSAJfCBhcm0tKiAgfCBh cm1iZS0qIHwgYXJtbGUtKiB8IGFybWViLSogfCBhcm12Ki0qIFwKLSAJfCBhdnItKiB8IGF2cjMy LSogXAotKwl8IGJlMzItKiB8IGJlNjQtKiBcCi0gCXwgYmZpbi0qIHwgYnMyMDAwLSogXAotIAl8 IGNbMTIzXSogfCBjMzAtKiB8IFtjanRdOTAtKiB8IGM0eC0qIFwKLSAJfCBjbGlwcGVyLSogfCBj cmF5bnYtKiB8IGN5ZHJhLSogXAotQEAgLTM2NSw4ICszODIsMTAgQEAgY2FzZSAkYmFzaWNfbWFj aGluZSBpbgotIAl8IGYzMFswMV0tKiB8IGY3MDAtKiB8IGZpZG8tKiB8IGZyMzAtKiB8IGZydi0q IHwgZng4MC0qIFwKLSAJfCBoODMwMC0qIHwgaDg1MDAtKiBcCi0gCXwgaHBwYS0qIHwgaHBwYTEu WzAxXS0qIHwgaHBwYTIuMC0qIHwgaHBwYTIuMFtud10tKiB8IGhwcGE2NC0qIFwKLSsJfCBoZXhh Z29uLSogXAotIAl8IGkqODYtKiB8IGk4NjAtKiB8IGk5NjAtKiB8IGlhNjQtKiBcCi0gCXwgaXAy ay0qIHwgaXEyMDAwLSogXAotKwl8IGxlMzItKiB8IGxlNjQtKiBcCi0gCXwgbG0zMi0qIFwKLSAJ fCBtMzJjLSogfCBtMzJyLSogfCBtMzJybGUtKiBcCi0gCXwgbTY4MDAwLSogfCBtNjgwWzAxMjM0 Nl0wLSogfCBtNjgzNjAtKiB8IG02ODM/Mi0qIHwgbTY4ay0qIFwKLUBAIC00MDAsNyArNDE5LDcg QEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgotIAl8IHBkcDEwLSogfCBwZHAxMS0qIHwgcGotKiB8 IHBqbC0qIHwgcG4tKiB8IHBvd2VyLSogXAotIAl8IHBvd2VycGMtKiB8IHBvd2VycGM2NC0qIHwg cG93ZXJwYzY0bGUtKiB8IHBvd2VycGNsZS0qIFwKLSAJfCBweXJhbWlkLSogXAotLQl8IHJvbXAt KiB8IHJzNjAwMC0qIHwgcngtKiBcCi0rCXwgcmw3OC0qIHwgcm9tcC0qIHwgcnM2MDAwLSogfCBy eC0qIFwKLSAJfCBzaC0qIHwgc2hbMTIzNF0tKiB8IHNoWzI0XWEtKiB8IHNoWzI0XWFlYi0qIHwg c2hbMjNdZS0qIHwgc2hbMzRdZWItKiB8IHNoZWItKiB8IHNoYmUtKiBcCi0gCXwgc2hsZS0qIHwg c2hbMTIzNF1sZS0qIHwgc2gzZWxlLSogfCBzaDY0LSogfCBzaDY0bGUtKiBcCi0gCXwgc3BhcmMt KiB8IHNwYXJjNjQtKiB8IHNwYXJjNjRiLSogfCBzcGFyYzY0di0qIHwgc3BhcmM4NngtKiB8IHNw YXJjbGV0LSogXAotQEAgLTQwOCwxMCArNDI3LDExIEBAIGNhc2UgJGJhc2ljX21hY2hpbmUgaW4K LSAJfCBzcGFyY3Y4LSogfCBzcGFyY3Y5LSogfCBzcGFyY3Y5Yi0qIHwgc3BhcmN2OXYtKiB8IHN2 MS0qIHwgc3g/LSogXAotIAl8IHRhaG9lLSogXAotIAl8IHRpYzMwLSogfCB0aWM0eC0qIHwgdGlj NTR4LSogfCB0aWM1NXgtKiB8IHRpYzZ4LSogfCB0aWM4MC0qIFwKLS0JfCB0aWxlLSogfCB0aWxl Z3gtKiBcCi0rCXwgdGlsZSotKiBcCi0gCXwgdHJvbi0qIFwKLSAJfCB1Ymljb20zMi0qIFwKLS0J fCB2ODUwLSogfCB2ODUwZS0qIHwgdmF4LSogXAotKwl8IHY4NTAtKiB8IHY4NTBlLSogfCB2ODUw ZTEtKiB8IHY4NTBlcy0qIHwgdjg1MGUyLSogfCB2ODUwZTJ2My0qIFwKLSsJfCB2YXgtKiBcCi0g CXwgd2UzMmstKiBcCi0gCXwgeDg2LSogfCB4ODZfNjQtKiB8IHhjMTZ4LSogfCB4cHMxMDAtKiBc Ci0gCXwgeHN0b3JteTE2LSogfCB4dGVuc2EqLSogXAotQEAgLTcxMSw3ICs3MzEsNiBAQCBjYXNl ICRiYXNpY19tYWNoaW5lIGluCi0gCWkzNzAtaWJtKiB8IGlibSopCi0gCQliYXNpY19tYWNoaW5l PWkzNzAtaWJtCi0gCQk7OwotLSMgSSdtIG5vdCBzdXJlIHdoYXQgIlN5c3YzMiIgbWVhbnMuICBT aG91bGQgdGhpcyBiZSBzeXN2My4yPwotIAlpKjg2djMyKQotIAkJYmFzaWNfbWFjaGluZT1gZWNo byAkMSB8IHNlZCAtZSAncy84Ni4qLzg2LXBjLydgCi0gCQlvcz0tc3lzdjMyCi1AQCAtODA4LDEw ICs4MjcsMTggQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgotIAltczEtKikKLSAJCWJhc2ljX21h Y2hpbmU9YGVjaG8gJGJhc2ljX21hY2hpbmUgfCBzZWQgLWUgJ3MvbXMxLS9tdC0vJ2AKLSAJCTs7 Ci0rCW1zeXMpCi0rCQliYXNpY19tYWNoaW5lPWkzODYtcGMKLSsJCW9zPS1tc3lzCi0rCQk7Owot IAltdnMpCi0gCQliYXNpY19tYWNoaW5lPWkzNzAtaWJtCi0gCQlvcz0tbXZzCi0gCQk7OwotKwlu YWNsKQotKwkJYmFzaWNfbWFjaGluZT1sZTMyLXVua25vd24KLSsJCW9zPS1uYWNsCi0rCQk7Owot IAluY3IzMDAwKQotIAkJYmFzaWNfbWFjaGluZT1pNDg2LW5jcgotIAkJb3M9LXN5c3Y0Ci1AQCAt MTEyMCwxMyArMTE0Nyw4IEBAIGNhc2UgJGJhc2ljX21hY2hpbmUgaW4KLSAJCWJhc2ljX21hY2hp bmU9dDkwLWNyYXkKLSAJCW9zPS11bmljb3MKLSAJCTs7Ci0tCSMgVGhpcyBtdXN0IGJlIG1hdGNo ZWQgYmVmb3JlIHRpbGUqLgotLQl0aWxlZ3gqKQotLQkJYmFzaWNfbWFjaGluZT10aWxlZ3gtdW5r bm93bgotLQkJb3M9LWxpbnV4LWdudQotLQkJOzsKLSAJdGlsZSopCi0tCQliYXNpY19tYWNoaW5l PXRpbGUtdW5rbm93bgotKwkJYmFzaWNfbWFjaGluZT0kYmFzaWNfbWFjaGluZS11bmtub3duCi0g CQlvcz0tbGludXgtZ251Ci0gCQk7OwotIAl0eDM5KQotQEAgLTEzMzYsNyArMTM1OCw3IEBAIGNh c2UgJG9zIGluCi0gCSAgICAgIHwgLXB0eCogfCAtY29mZiogfCAtZWNvZmYqIHwgLXdpbm50KiB8 IC1kb21haW4qIHwgLXZzdGEqIFwKLSAJICAgICAgfCAtdWRpKiB8IC1lYWJpKiB8IC1saXRlcyog fCAtaWVlZSogfCAtZ28zMiogfCAtYXV4KiBcCi0gCSAgICAgIHwgLWNob3J1c29zKiB8IC1jaG9y dXNyZGIqIHwgLWNlZ2NjKiBcCi0tCSAgICAgIHwgLWN5Z3dpbiogfCAtcGUqIHwgLXBzb3MqIHwg LW1vc3MqIHwgLXByb2VsZiogfCAtcnRlbXMqIFwKLSsJICAgICAgfCAtY3lnd2luKiB8IC1tc3lz KiB8IC1wZSogfCAtcHNvcyogfCAtbW9zcyogfCAtcHJvZWxmKiB8IC1ydGVtcyogXAotIAkgICAg ICB8IC1taW5ndzMyKiB8IC1saW51eC1nbnUqIHwgLWxpbnV4LWFuZHJvaWQqIFwKLSAJICAgICAg fCAtbGludXgtbmV3bGliKiB8IC1saW51eC11Y2xpYmMqIFwKLSAJICAgICAgfCAtdXhwdiogfCAt YmVvcyogfCAtbXBlaXgqIHwgLXVkayogXAotQEAgLTE1MjEsNiArMTU0Myw5IEBAIGNhc2UgJGJh c2ljX21hY2hpbmUgaW4KLSAJYzR4LSogfCB0aWM0eC0qKQotIAkJb3M9LWNvZmYKLSAJCTs7Ci0r CWhleGFnb24tKikKLSsJCW9zPS1lbGYKLSsJCTs7Ci0gCXRpYzU0eC0qKQotIAkJb3M9LWNvZmYK LSAJCTs7Ci1AQCAtMTU0OCw5ICsxNTczLDYgQEAgY2FzZSAkYmFzaWNfbWFjaGluZSBpbgotIAkJ OzsKLSAJbTY4MDAwLXN1bikKLSAJCW9zPS1zdW5vczMKLS0JCSMgVGhpcyBhbHNvIGV4aXN0cyBp biB0aGUgY29uZmlndXJlIHByb2dyYW0sIGJ1dCB3YXMgbm90IHRoZQotLQkJIyBkZWZhdWx0Lgot LQkJIyBvcz0tc3Vub3M0Ci0gCQk7OwotIAltNjgqLWNpc2NvKQotIAkJb3M9LWFvdXQKCmRpZmYg LS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA2YTllY2ZmLi5lMTcxZTY4IDEwMDY0NAot LS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsNCArMSw0IEBACi1iZTc4YTQ3YmQ4MjUy MzI1MGViM2U5MTY0NmRiNWIzZCAgY2xvb2ctMC4xOC4wLnRhci5negorZTM0ZmNhMDU0MGQ4NDBl NWQwZjY0MjdlOThjOTIyNTIgIGNsb29nLTAuMTguMS50YXIuZ3oKIDI2NTlmMDljMmU0M2VmOGI3 ZDQ0MDYzMjE3NTNmMWIyICBmYXN0amFyLTAuOTcudGFyLmd6Ci05ZjY5OWI0MjM5NGJkMjc1NGQ5 Zjc3NDI3NTUzZDkyMyAgZ2NjLTQuOC4yLTIwMTQwMTIwLnRhci5iejIKLWJjZTE1ODYzODRkODYz NWE3NmQyZjAxN2ZiMDY3Y2QyICBpc2wtMC4xMS4xLnRhci5iejIKKzAyMzRmMDI2ZjY5NGJjNTgz N2E1YWJiODkwZjA0NWE2ICBnY2MtNC45LjAtMjAxNDA0MDkudGFyLmJ6MgorZTAzOWJmY2ZiNmMy YWIwMzliOGVlNjliZjg4M2U4MjQgIGlzbC0wLjEyLjIudGFyLmJ6Mgo=