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: Tomas Mraz To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: Merge branch 'master' into f21 Date: Tue, 09 Jun 2026 12:43:24 GMT Message-ID: <178100900448.1.14569778850530208754.rpms-openssl-638098da51cb@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 638098da51cbb698684d48bce20a135d828293e6 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDYzODA5OGRhNTFjYmI2OTg2ODRkNDhiY2UyMGExMzVkODI4Mjkz ZTYKICAgICAgICAgICAgQXV0aG9yIDogVG9tYXMgTXJheiA8dG1yYXpAZmVkb3JhcHJvamVjdC5v cmc+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTQtMDgtMDdUMTY6MTY6MTkrMDI6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzE5NTQvLTI1NjIgaW4gMTcgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy82MzgwOThk YTUxY2JiNjk4Njg0ZDQ4YmNlMjBhMTM1ZDgyODI5M2U2P2JyYW5jaD1yZWJhc2VfNDBiZXRhCgog ICAgICAgICAgICBMb2c6CiAgICAgICAgICAgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIGYy MQoKQ29uZmxpY3RzOgoJb3BlbnNzbC5zcGVjCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUg Yi8uZ2l0aWdub3JlCmluZGV4IGRlZDQyMzAuLjgwY2E5OWEgMTAwNjQ0Ci0tLSBhLy5naXRpZ25v cmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMTUsMyArMTUsNCBAQCBvcGVuc3NsLTEuMC4wYS11c2Eu dGFyLmJ6MgogL29wZW5zc2wtMS4wLjFlLWhvYmJsZWQudGFyLnh6CiAvb3BlbnNzbC0xLjAuMWct aG9iYmxlZC50YXIueHoKIC9vcGVuc3NsLTEuMC4xaC1ob2JibGVkLnRhci54egorL29wZW5zc2wt MS4wLjFpLWhvYmJsZWQudGFyLnh6CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMGMtZmlwcy1t ZDUtYWxsb3cucGF0Y2ggYi9vcGVuc3NsLTEuMC4wYy1maXBzLW1kNS1hbGxvdy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjlmNWU1ZC4uMDAwMDAwMAotLS0gYS9vcGVuc3Ns LTEuMC4wYy1maXBzLW1kNS1hbGxvdy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAg QEAKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYy5tZDUtYWxs b3cgb3BlbnNzbC0xLjAuMGMvY3J5cHRvL21kNS9tZDVfZGdzdC5jCi0tLS0gb3BlbnNzbC0xLjAu MGMvY3J5cHRvL21kNS9tZDVfZGdzdC5jLm1kNS1hbGxvdwkyMDExLTAyLTAzIDE5OjUzOjI4LjAw MDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjBjL2NyeXB0by9tZDUvbWQ1X2Rnc3QuYwky MDExLTAyLTAzIDIwOjMzOjE0LjAwMDAwMDAwMCArMDEwMAotQEAgLTc1LDcgKzc1LDE1IEBAIGNv bnN0IGNoYXIgTUQ1X3ZlcnNpb25bXT0iTUQ1IiBPUEVOU1NMX1YKLSAjZGVmaW5lIElOSVRfREFU QV9DICh1bnNpZ25lZCBsb25nKTB4OThiYWRjZmVMCi0gI2RlZmluZSBJTklUX0RBVEFfRCAodW5z aWduZWQgbG9uZykweDEwMzI1NDc2TAotIAotLUZJUFNfTk9OX0ZJUFNfTURfSW5pdChNRDUpCi0r aW50IE1ENV9Jbml0KE1ENV9DVFggKmMpCi0rI2lmZGVmIE9QRU5TU0xfRklQUwotKwl7Ci0rCWlm IChGSVBTX21vZGUoKSAmJiBnZXRlbnYoIk9QRU5TU0xfRklQU19OT05fQVBQUk9WRURfTUQ1X0FM TE9XIikgPT0gTlVMTCkKLSsJCUZJUFNfQkFEX0FMR09SSVRITShhbGcpCi0rCXJldHVybiBwcml2 YXRlX01ENV9Jbml0KGMpOwotKwl9Ci0raW50IHByaXZhdGVfTUQ1X0luaXQoTUQ1X0NUWCAqYykK LSsjZW5kaWYKLSAJewotIAltZW1zZXQgKGMsMCxzaXplb2YoKmMpKTsKLSAJYy0+QT1JTklUX0RB VEFfQTsKCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4wZS1kb2Mtbm9lb2YucGF0Y2ggYi9vcGVu c3NsLTEuMC4wZS1kb2Mtbm9lb2YucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDk2ODY1NzUuLjAwMDAwMDAKLS0tIGEvb3BlbnNzbC0xLjAuMGUtZG9jLW5vZW9mLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMGUvZG9j L2FwcHMvc19jbGllbnQucG9kLmRvYy1ub2VvZiBvcGVuc3NsLTEuMC4wZS9kb2MvYXBwcy9zX2Ns aWVudC5wb2QKLS0tLSBvcGVuc3NsLTEuMC4wZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QuZG9jLW5v ZW9mCTIwMDktMDYtMjYgMTM6Mjg6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAu MGUvZG9jL2FwcHMvc19jbGllbnQucG9kCTIwMTEtMTEtMDMgMDg6MzA6MzUuMDAwMDAwMDAwICsw MTAwCi1AQCAtMjcsNiArMjcsNyBAQCBCPG9wZW5zc2w+IEI8c19jbGllbnQ+Ci0gW0I8LW5iaW8+ XQotIFtCPC1jcmxmPl0KLSBbQjwtaWduX2VvZj5dCi0rW0I8LW5vX2lnbl9lb2Y+XQotIFtCPC1x dWlldD5dCi0gW0I8LXNzbDI+XQotIFtCPC1zc2wzPl0KLUBAIC0xNjEsNiArMTYyLDExIEBAIGJ5 IHNvbWUgc2VydmVycy4KLSBpbmhpYml0IHNodXR0aW5nIGRvd24gdGhlIGNvbm5lY3Rpb24gd2hl biBlbmQgb2YgZmlsZSBpcyByZWFjaGVkIGluIHRoZQotIGlucHV0LgotIAotKz1pdGVtIEI8LW5v X2lnbl9lb2Y+Ci0rCi0rc2h1dCBkb3duIHRoZSBjb25uZWN0aW9uIHdoZW4gZW5kIG9mIGZpbGUg aXMgcmVhY2hlZCBpbiB0aGUKLStpbnB1dC4gQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGlt cGxpY2l0IEI8LWlnbl9lb2Y+IGFmdGVyIEI8LXF1aWV0Pi4KLSsKLSA9aXRlbSBCPC1xdWlldD4K LSAKLSBpbmhpYml0IHByaW50aW5nIG9mIHNlc3Npb24gYW5kIGNlcnRpZmljYXRlIGluZm9ybWF0 aW9uLiAgVGhpcyBpbXBsaWNpdGx5CgpkaWZmIC0tZ2l0IGEvb3BlbnNzbC0xLjAuMWEtYWxnby1k b2MucGF0Y2ggYi9vcGVuc3NsLTEuMC4xYS1hbGdvLWRvYy5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggYzRhYWE4OS4uMDAwMDAwMAotLS0gYS9vcGVuc3NsLTEuMC4xYS1hbGdv LWRvYy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLWRpZmYgLXVwIG9wZW5z c2wtMS4wLjFhL2RvYy9jcnlwdG8vRVZQX0RpZ2VzdEluaXQucG9kLmFsZ28tZG9jIG9wZW5zc2wt MS4wLjFhL2RvYy9jcnlwdG8vRVZQX0RpZ2VzdEluaXQucG9kCi0tLS0gb3BlbnNzbC0xLjAuMWEv ZG9jL2NyeXB0by9FVlBfRGlnZXN0SW5pdC5wb2QuYWxnby1kb2MJMjAxMi0wNC0xMSAwMDoyODoy Mi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xYS9kb2MvY3J5cHRvL0VWUF9EaWdl c3RJbml0LnBvZAkyMDEyLTA0LTIwIDA5OjE0OjAxLjg2NTE2NzAxMSArMDIwMAotQEAgLTc1LDcg Kzc1LDcgQEAgRVZQX01EX0NUWF9jcmVhdGUoKSBhbGxvY2F0ZXMsIGluaXRpYWxpegotIAotIEVW UF9EaWdlc3RJbml0X2V4KCkgc2V0cyB1cCBkaWdlc3QgY29udGV4dCBCPGN0eD4gdG8gdXNlIGEg ZGlnZXN0Ci0gQjx0eXBlPiBmcm9tIEVOR0lORSBCPGltcGw+LiBCPGN0eD4gbXVzdCBiZSBpbml0 aWFsaXplZCBiZWZvcmUgY2FsbGluZyB0aGlzCi0tZnVuY3Rpb24uIEI8dHlwZT4gd2lsbCB0eXBp Y2FsbHkgYmUgc3VwcGxpZWQgYnkgYSBmdW5jdGlvbnN1Y2ggYXMgRVZQX3NoYTEoKS4KLStmdW5j dGlvbi4gQjx0eXBlPiB3aWxsIHR5cGljYWxseSBiZSBzdXBwbGllZCBieSBhIGZ1bmN0aW9uIHN1 Y2ggYXMgRVZQX3NoYTEoKS4KLSBJZiBCPGltcGw+IGlzIE5VTEwgdGhlbiB0aGUgZGVmYXVsdCBp bXBsZW1lbnRhdGlvbiBvZiBkaWdlc3QgQjx0eXBlPiBpcyB1c2VkLgotIAotIEVWUF9EaWdlc3RV cGRhdGUoKSBoYXNoZXMgQjxjbnQ+IGJ5dGVzIG9mIGRhdGEgYXQgQjxkPiBpbnRvIHRoZQotQEAg LTE2NSw3ICsxNjUsOCBAQCBFVlBfTURfc2l6ZSgpLCBFVlBfTURfYmxvY2tfc2l6ZSgpLCBFVlBf Ci0gRVZQX01EX0NUWF9ibG9ja19zaXplKCkJYW5kIEVWUF9NRF9ibG9ja19zaXplKCkgcmV0dXJu IHRoZSBkaWdlc3Qgb3IgYmxvY2sKLSBzaXplIGluIGJ5dGVzLgotIAotLUVWUF9tZF9udWxsKCks IEVWUF9tZDIoKSwgRVZQX21kNSgpLCBFVlBfc2hhKCksIEVWUF9zaGExKCksIEVWUF9kc3MoKSwK LStFVlBfbWRfbnVsbCgpLCBFVlBfbWQyKCksIEVWUF9tZDUoKSwgRVZQX3NoYSgpLCBFVlBfc2hh MSgpLAotK0VWUF9zaGEyMjQoKSwgRVZQX3NoYTI1NigpLCBFVlBfc2hhMzg0KCksIEVWUF9zaGE1 MTIoKSwgRVZQX2RzcygpLAotIEVWUF9kc3MxKCksIEVWUF9tZGMyKCkgYW5kIEVWUF9yaXBlbWQx NjAoKSByZXR1cm4gcG9pbnRlcnMgdG8gdGhlCi0gY29ycmVzcG9uZGluZyBFVlBfTUQgc3RydWN0 dXJlcy4KLSAKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFhL2RvYy9jcnlwdG8vRVZQX0VuY3J5cHRJ bml0LnBvZC5hbGdvLWRvYyBvcGVuc3NsLTEuMC4xYS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5p dC5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xYS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5pdC5wb2Qu YWxnby1kb2MJMjAwNS0wNC0xNSAxODowMTozNS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xYS9kb2MvY3J5cHRvL0VWUF9FbmNyeXB0SW5pdC5wb2QJMjAxMi0wNC0yMCAwOToxMDo1 OS4xMTQ3MzY0NjUgKzAyMDAKLUBAIC05MSw2ICs5MSwzMiBAQCBFVlBfQ0lQSEVSX0NUWF9zZXRf cGFkZGluZyAtIEVWUCBjaXBoZXIKLSAgaW50IEVWUF9DSVBIRVJfcGFyYW1fdG9fYXNuMShFVlBf Q0lQSEVSX0NUWCAqYywgQVNOMV9UWVBFICp0eXBlKTsKLSAgaW50IEVWUF9DSVBIRVJfYXNuMV90 b19wYXJhbShFVlBfQ0lQSEVSX0NUWCAqYywgQVNOMV9UWVBFICp0eXBlKTsKLSAKLSsgY29uc3Qg RVZQX0NJUEhFUiAqRVZQX2Rlc19lZGUzKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBf ZGVzX2VkZTNfZWNiKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTNfY2Zi NjQodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9kZXNfZWRlM19jZmIxKHZvaWQpOwot KyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTNfY2ZiOCh2b2lkKTsKLSsgY29uc3QgRVZQ X0NJUEhFUiAqRVZQX2Rlc19lZGUzX29mYih2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQ X2Rlc19lZGUzX2NiYyh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfZWNi KHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzEyOF9jYmModm9pZCk7Ci0rIGNv bnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTI4X2NmYjEodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBI RVIgKkVWUF9hZXNfMTI4X2NmYjgodm9pZCk7Ci0rIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNf MTI4X2NmYjEyOCh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfb2ZiKHZv aWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzE5Ml9lY2Iodm9pZCk7Ci0rIGNvbnN0 IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTkyX2NiYyh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAq RVZQX2Flc18xOTJfY2ZiMSh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xOTJf Y2ZiOCh2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xOTJfY2ZiMTI4KHZvaWQp OwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzE5Ml9vZmIodm9pZCk7Ci0rIGNvbnN0IEVW UF9DSVBIRVIgKkVWUF9hZXNfMjU2X2VjYih2b2lkKTsKLSsgY29uc3QgRVZQX0NJUEhFUiAqRVZQ X2Flc18yNTZfY2JjKHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzI1Nl9jZmIx KHZvaWQpOwotKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzI1Nl9jZmI4KHZvaWQpOwotKyBj b25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzI1Nl9jZmIxMjgodm9pZCk7Ci0rIGNvbnN0IEVWUF9D SVBIRVIgKkVWUF9hZXNfMjU2X29mYih2b2lkKTsKLSsKLSA9aGVhZDEgREVTQ1JJUFRJT04KLSAK LSBUaGUgRVZQIGNpcGhlciByb3V0aW5lcyBhcmUgYSBoaWdoIGxldmVsIGludGVyZmFjZSB0byBj ZXJ0YWluCi1AQCAtMjk3LDYgKzMyMywxOCBAQCBUaHJlZSBrZXkgdHJpcGxlIERFUyBpbiBDQkMs IEVDQiwgQ0ZCIGFuCi0gCi0gREVTWCBhbGdvcml0aG0gaW4gQ0JDIG1vZGUuCi0gCi0rPWl0ZW0g RVZQX2Flc18xMjhfY2JjKHZvaWQpLCBFVlBfYWVzXzEyOF9lY2IoKSwgRVZQX2Flc18xMjhfb2Zi KHZvaWQpLCBFVlBfYWVzXzEyOF9jZmIxKHZvaWQpLCBFVlBfYWVzXzEyOF9jZmI4KHZvaWQpLCBF VlBfYWVzXzEyOF9jZmIxMjgodm9pZCkKLSsKLStBRVMgd2l0aCAxMjggYml0IGtleSBsZW5ndGgg aW4gQ0JDLCBFQ0IsIE9GQiBhbmQgQ0ZCIG1vZGVzIHJlc3BlY3RpdmVseS4KLSsKLSs9aXRlbSBF VlBfYWVzXzE5Ml9jYmModm9pZCksIEVWUF9hZXNfMTkyX2VjYigpLCBFVlBfYWVzXzE5Ml9vZmIo dm9pZCksIEVWUF9hZXNfMTkyX2NmYjEodm9pZCksIEVWUF9hZXNfMTkyX2NmYjgodm9pZCksIEVW UF9hZXNfMTkyX2NmYjEyOCh2b2lkKQotKwotK0FFUyB3aXRoIDE5MiBiaXQga2V5IGxlbmd0aCBp biBDQkMsIEVDQiwgT0ZCIGFuZCBDRkIgbW9kZXMgcmVzcGVjdGl2ZWx5LgotKwotKz1pdGVtIEVW UF9hZXNfMjU2X2NiYyh2b2lkKSwgRVZQX2Flc18yNTZfZWNiKCksIEVWUF9hZXNfMjU2X29mYih2 b2lkKSwgRVZQX2Flc18yNTZfY2ZiMSh2b2lkKSwgRVZQX2Flc18yNTZfY2ZiOCh2b2lkKSwgRVZQ X2Flc18yNTZfY2ZiMTI4KHZvaWQpCi0rCi0rQUVTIHdpdGggMjU2IGJpdCBrZXkgbGVuZ3RoIGlu IENCQywgRUNCLCBPRkIgYW5kIENGQiBtb2RlcyByZXNwZWN0aXZlbHkuCi0rCi0gPWl0ZW0gRVZQ X3JjNCh2b2lkKQotIAotIFJDNCBzdHJlYW0gY2lwaGVyLiBUaGlzIGlzIGEgdmFyaWFibGUga2V5 IGxlbmd0aCBjaXBoZXIgd2l0aCBkZWZhdWx0IGtleSBsZW5ndGggMTI4IGJpdHMuCgpkaWZmIC0t Z2l0IGEvb3BlbnNzbC0xLjAuMWUtc3NsMi1uby1lYy5wYXRjaCBiL29wZW5zc2wtMS4wLjFlLXNz bDItbm8tZWMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxYWQ0NzIuLjAw MDAwMDAKLS0tIGEvb3BlbnNzbC0xLjAuMWUtc3NsMi1uby1lYy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDE3ICswLDAgQEAKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL3NzbC9zMjNfbGliLmMu c3NsMm5vZWMgb3BlbnNzbC0xLjAuMWUvc3NsL3MyM19saWIuYwotLS0tIG9wZW5zc2wtMS4wLjFl L3NzbC9zMjNfbGliLmMuc3NsMm5vZWMJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9zc2wvczIzX2xpYi5jCTIwMTQtMDUtMDYgMTU6NTE6NTQu MDUzMjkzNjc0ICswMjAwCi1AQCAtMTA3LDYgKzEwNywxMyBAQCBpbnQgc3NsMjNfcHV0X2NpcGhl cl9ieV9jaGFyKGNvbnN0IFNTTF9DCi0gCWxvbmcgbDsKLSAKLSAJLyogV2UgY2FuIHdyaXRlIFNT THYyIGFuZCBTU0x2MyBjaXBoZXJzICovCi0rCS8qIGJ1dCBubyBFQ0MgY2lwaGVycyAqLwotKwlp ZiAoYy0+YWxnb3JpdGhtX21rZXkgPT0gU1NMX2tFQ0RIciB8fAotKwkJYy0+YWxnb3JpdGhtX21r ZXkgPT0gU1NMX2tFQ0RIZSB8fAotKwkJYy0+YWxnb3JpdGhtX21rZXkgPT0gU1NMX2tFRUNESCB8 fAotKwkJYy0+YWxnb3JpdGhtX2F1dGggPT0gU1NMX2FFQ0RIIHx8Ci0rCQljLT5hbGdvcml0aG1f YXV0aCA9PSBTU0xfYUVDRFNBKQotKwkJcmV0dXJuIDA7Ci0gCWlmIChwICE9IE5VTEwpCi0gCQl7 Ci0gCQlsPWMtPmlkOwoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFlLXRydXN0ZWQtZmlyc3Qu cGF0Y2ggYi9vcGVuc3NsLTEuMC4xZS10cnVzdGVkLWZpcnN0LnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwOGFiNjM5Li4wMDAwMDAwCi0tLSBhL29wZW5zc2wtMS4wLjFlLXRy dXN0ZWQtZmlyc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMzAgKzAsMCBAQAotZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWUvYXBwcy9hcHBzLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4x ZS9hcHBzL2FwcHMuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvYXBwcy5jLnRydXN0ZWQtZmly c3QJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9hcHBzL2FwcHMuYwkyMDEzLTA4LTE2IDE1OjQyOjM5LjkyMDUzNDc2OSArMDIwMAotQEAgLTIz NjEsNiArMjM2MSw4IEBAIGludCBhcmdzX3ZlcmlmeShjaGFyICoqKnBhcmdzLCBpbnQgKnBhcmcK LSAJCWZsYWdzIHw9IFg1MDlfVl9GTEFHX05PVElGWV9QT0xJQ1k7Ci0gCWVsc2UgaWYgKCFzdHJj bXAoYXJnLCAiLWNoZWNrX3NzX3NpZyIpKQotIAkJZmxhZ3MgfD0gWDUwOV9WX0ZMQUdfQ0hFQ0tf U1NfU0lHTkFUVVJFOwotKwllbHNlIGlmICghc3RyY21wKGFyZywgIi10cnVzdGVkX2ZpcnN0Iikp Ci0rCQlmbGFncyB8PSBYNTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUOwotIAllbHNlCi0gCQlyZXR1 cm4gMDsKLSAKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvY21zLmMudHJ1c3RlZC1maXJz dCBvcGVuc3NsLTEuMC4xZS9hcHBzL2Ntcy5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy9jbXMu Yy50cnVzdGVkLWZpcnN0CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysg b3BlbnNzbC0xLjAuMWUvYXBwcy9jbXMuYwkyMDEzLTA4LTE2IDE1OjQzOjU2LjY3MTIxMzg3OSAr MDIwMAotQEAgLTY0Miw2ICs2NDIsNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRleHQgICAgICAgICAgaW5jbHVkZSBvciBkZWxl dGUgdGV4dCBNSU1FIGhlYWRlcnNcbiIpOwotIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1DQXBh dGggZGlyICAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGRpcmVjdG9yeVxuIik7Ci0gCQlCSU9fcHJp bnRmIChiaW9fZXJyLCAiLUNBZmlsZSBmaWxlICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZmlsZVxu Iik7Ci0rCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRydXN0ZWRfZmlyc3QgdXNlIHRydXN0ZWQg Y2VydGlmaWNhdGVzIGZpcnN0IHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsKLSAJ CUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrICAgICBjaGVjayByZXZvY2F0aW9uIHN0 YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSB1c2luZyBDUkxzXG4iKTsKLSAJCUJJT19wcmlu dGYgKGJpb19lcnIsICItY3JsX2NoZWNrX2FsbCBjaGVjayByZXZvY2F0aW9uIHN0YXR1cyBvZiBz aWduZXIncyBjZXJ0aWZpY2F0ZSBjaGFpbiB1c2luZyBDUkxzXG4iKTsKLSAjaWZuZGVmIE9QRU5T U0xfTk9fRU5HSU5FCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL29jc3AuYy50cnVzdGVk LWZpcnN0IG9wZW5zc2wtMS4wLjFlL2FwcHMvb2NzcC5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvYXBw cy9vY3NwLmMudHJ1c3RlZC1maXJzdAkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAwMCArMDEw MAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvb2NzcC5jCTIwMTMtMDgtMTYgMTU6NDk6NDcuNDc3 NTcyNDE0ICswMjAwCi1AQCAtNTk1LDYgKzU5NSw3IEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFy ICoqYXJndikKLSAJCUJJT19wcmludGYgKGJpb19lcnIsICItcGF0aCAgICAgICAgICAgICAgcGF0 aCB0byB1c2UgaW4gT0NTUCByZXF1ZXN0XG4iKTsKLSAJCUJJT19wcmludGYgKGJpb19lcnIsICIt Q0FwYXRoIGRpciAgICAgICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZGlyZWN0b3J5XG4iKTsKLSAJ CUJJT19wcmludGYgKGJpb19lcnIsICItQ0FmaWxlIGZpbGUgICAgICAgdHJ1c3RlZCBjZXJ0aWZp Y2F0ZXMgZmlsZVxuIik7Ci0rCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRydXN0ZWRfZmlyc3Qg ICAgIHVzZSB0cnVzdGVkIGNlcnRpZmljYXRlcyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVz dCBjaGFpblxuIik7Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLVZBZmlsZSBmaWxlICAgICAg IHZhbGlkYXRvciBjZXJ0aWZpY2F0ZXMgZmlsZVxuIik7Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJy LCAiLXZhbGlkaXR5X3BlcmlvZCBuIG1heGltdW0gdmFsaWRpdHkgZGlzY3JlcGFuY3kgaW4gc2Vj b25kc1xuIik7Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXN0YXR1c19hZ2UgbiAgICAgIG1h eGltdW0gc3RhdHVzIGFnZSBpbiBzZWNvbmRzXG4iKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFl L2FwcHMvc19jbGllbnQuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFlL2FwcHMvc19jbGll bnQuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2FwcHMvc19jbGllbnQuYy50cnVzdGVkLWZpcnN0CTIw MTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvYXBw cy9zX2NsaWVudC5jCTIwMTMtMDgtMTYgMTU6NDk6MDAuNzI3NTQyOTk0ICswMjAwCi1AQCAtMjk4 LDYgKzI5OCw3IEBAIHN0YXRpYyB2b2lkIHNjX3VzYWdlKHZvaWQpCi0gCUJJT19wcmludGYoYmlv X2VyciwiIC1wYXNzIGFyZyAgICAgLSBwcml2YXRlIGtleSBmaWxlIHBhc3MgcGhyYXNlIHNvdXJj ZVxuIik7Ci0gCUJJT19wcmludGYoYmlvX2VyciwiIC1DQXBhdGggYXJnICAgLSBQRU0gZm9ybWF0 IGRpcmVjdG9yeSBvZiBDQSdzXG4iKTsKLSAJQklPX3ByaW50ZihiaW9fZXJyLCIgLUNBZmlsZSBh cmcgICAtIFBFTSBmb3JtYXQgZmlsZSBvZiBDQSdzXG4iKTsKLSsJQklPX3ByaW50ZihiaW9fZXJy LCIgLXRydXN0ZWRfZmlyc3QgLSBVc2UgdHJ1c3RlZCBDQSdzIGZpcnN0IHdoZW4gYnVpbGRpbmcg dGhlIHRydXN0IGNoYWluXG4iKTsKLSAJQklPX3ByaW50ZihiaW9fZXJyLCIgLXJlY29ubmVjdCAg ICAtIERyb3AgYW5kIHJlLW1ha2UgdGhlIGNvbm5lY3Rpb24gd2l0aCB0aGUgc2FtZSBTZXNzaW9u LUlEXG4iKTsKLSAJQklPX3ByaW50ZihiaW9fZXJyLCIgLXBhdXNlICAgICAgICAtIHNsZWVwKDEp IGFmdGVyIGVhY2ggcmVhZCgyKSBhbmQgd3JpdGUoMikgc3lzdGVtIGNhbGxcbiIpOwotIAlCSU9f cHJpbnRmKGJpb19lcnIsIiAtc2hvd2NlcnRzICAgIC0gc2hvdyBhbGwgY2VydGlmaWNhdGVzIGlu IHRoZSBjaGFpblxuIik7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NtaW1lLmMudHJ1 c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NtaW1lLmMKLS0tLSBvcGVuc3NsLTEuMC4x ZS9hcHBzL3NtaW1lLmMudHJ1c3RlZC1maXJzdAkyMDEzLTAyLTExIDE2OjI2OjA0LjAwMDAwMDAw MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc21pbWUuYwkyMDEzLTA4LTE2IDE1OjQ2 OjQ0LjAyNDg3NTE1MCArMDIwMAotQEAgLTQ3OSw2ICs0NzksNyBAQCBpbnQgTUFJTihpbnQgYXJn YywgY2hhciAqKmFyZ3YpCi0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRleHQgICAgICAgICAg aW5jbHVkZSBvciBkZWxldGUgdGV4dCBNSU1FIGhlYWRlcnNcbiIpOwotIAkJQklPX3ByaW50ZiAo YmlvX2VyciwgIi1DQXBhdGggZGlyICAgIHRydXN0ZWQgY2VydGlmaWNhdGVzIGRpcmVjdG9yeVxu Iik7Ci0gCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLUNBZmlsZSBmaWxlICAgdHJ1c3RlZCBjZXJ0 aWZpY2F0ZXMgZmlsZVxuIik7Ci0rCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLXRydXN0ZWRfZmly c3QgdXNlIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpcnN0IHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0 IGNoYWluXG4iKTsKLSAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrICAgICBjaGVj ayByZXZvY2F0aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSB1c2luZyBDUkxzXG4i KTsKLSAJCUJJT19wcmludGYgKGJpb19lcnIsICItY3JsX2NoZWNrX2FsbCBjaGVjayByZXZvY2F0 aW9uIHN0YXR1cyBvZiBzaWduZXIncyBjZXJ0aWZpY2F0ZSBjaGFpbiB1c2luZyBDUkxzXG4iKTsK LSAjaWZuZGVmIE9QRU5TU0xfTk9fRU5HSU5FCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9hcHBz L3Nfc2VydmVyLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3Nfc2VydmVyLmMK LS0tLSBvcGVuc3NsLTEuMC4xZS9hcHBzL3Nfc2VydmVyLmMudHJ1c3RlZC1maXJzdAkyMDEzLTA4 LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvc19z ZXJ2ZXIuYwkyMDEzLTA4LTE2IDE1OjQ4OjE5LjQ2OTYzNDQzMCArMDIwMAotQEAgLTUwMSw2ICs1 MDEsNyBAQCBzdGF0aWMgdm9pZCBzdl91c2FnZSh2b2lkKQotIAlCSU9fcHJpbnRmKGJpb19lcnIs IiAtc3RhdGUgICAgICAgIC0gUHJpbnQgdGhlIFNTTCBzdGF0ZXNcbiIpOwotIAlCSU9fcHJpbnRm KGJpb19lcnIsIiAtQ0FwYXRoIGFyZyAgIC0gUEVNIGZvcm1hdCBkaXJlY3Rvcnkgb2YgQ0Enc1xu Iik7Ci0gCUJJT19wcmludGYoYmlvX2VyciwiIC1DQWZpbGUgYXJnICAgLSBQRU0gZm9ybWF0IGZp bGUgb2YgQ0Enc1xuIik7Ci0rCUJJT19wcmludGYoYmlvX2VyciwiIC10cnVzdGVkX2ZpcnN0IC0g VXNlIHRydXN0ZWQgQ0EncyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpblxuIik7 Ci0gCUJJT19wcmludGYoYmlvX2VyciwiIC1ub2NlcnQgICAgICAgLSBEb24ndCB1c2UgYW55IGNl cnRpZmljYXRlcyAoQW5vbi1ESClcbiIpOwotIAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtY2lwaGVy IGFyZyAgIC0gcGxheSB3aXRoICdvcGVuc3NsIGNpcGhlcnMnIHRvIHNlZSB3aGF0IGdvZXMgaGVy ZVxuIik7Ci0gCUJJT19wcmludGYoYmlvX2VyciwiIC1zZXJ2ZXJwcmVmICAgLSBVc2Ugc2VydmVy J3MgY2lwaGVyIHByZWZlcmVuY2VzXG4iKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMv c190aW1lLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3NfdGltZS5jCi0tLS0g b3BlbnNzbC0xLjAuMWUvYXBwcy9zX3RpbWUuYy50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6 NDI6MzkuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvYXBwcy9zX3RpbWUuYwky MDEzLTA4LTE2IDE1OjQ3OjM1Ljg2MjY3NDE4OCArMDIwMAotQEAgLTE3OSw2ICsxNzksNyBAQCBz dGF0aWMgdm9pZCBzX3RpbWVfdXNhZ2Uodm9pZCkKLSAgICAgICAgICAgICAgICAgZmlsZSBpZiBu b3Qgc3BlY2lmaWVkIGJ5IHRoaXMgb3B0aW9uXG5cCi0gLUNBcGF0aCBhcmcgICAtIFBFTSBmb3Jt YXQgZGlyZWN0b3J5IG9mIENBJ3NcblwKLSAtQ0FmaWxlIGFyZyAgIC0gUEVNIGZvcm1hdCBmaWxl IG9mIENBJ3NcblwKLSstdHJ1c3RlZF9maXJzdCAtIFVzZSB0cnVzdGVkIENBJ3MgZmlyc3Qgd2hl biBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cblwKLSAtY2lwaGVyICAgICAgIC0gcHJlZmVycmVk IGNpcGhlciB0byB1c2UsIHBsYXkgd2l0aCAnb3BlbnNzbCBjaXBoZXJzJ1xuXG4iOwotIAotIAlw cmludGYoICJ1c2FnZTogc190aW1lIDxhcmdzPlxuXG4iICk7Ci1kaWZmIC11cCBvcGVuc3NsLTEu MC4xZS9hcHBzL3RzLmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9hcHBzL3RzLmMKLS0t LSBvcGVuc3NsLTEuMC4xZS9hcHBzL3RzLmMudHJ1c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQy OjM5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2FwcHMvdHMuYwkyMDEzLTA4 LTE2IDE1OjQ1OjI3Ljc2NjIwNjgxMiArMDIwMAotQEAgLTM4Myw3ICszODMsNyBAQCBpbnQgTUFJ TihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCQkgICAidHMgLXZlcmlmeSBbLWRhdGEgZmlsZV90 b19oYXNoXSBbLWRpZ2VzdCBkaWdlc3RfYnl0ZXNdICIKLSAJCSAgICJbLXF1ZXJ5ZmlsZSByZXF1 ZXN0LnRzcV0gIgotIAkJICAgIi1pbiByZXNwb25zZS50c3IgWy10b2tlbl9pbl0gIgotLQkJICAg Ii1DQXBhdGggY2FfcGF0aCAtQ0FmaWxlIGNhX2ZpbGUucGVtICIKLSsJCSAgICItQ0FwYXRoIGNh X3BhdGggLUNBZmlsZSBjYV9maWxlLnBlbSAtdHJ1c3RlZF9maXJzdCIKLSAJCSAgICItdW50cnVz dGVkIGNlcnRfZmlsZS5wZW1cbiIpOwotICBjbGVhbnVwOgotIAkvKiBDbGVhbiB1cC4gKi8KLWRp ZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2FwcHMvdmVyaWZ5LmMudHJ1c3RlZC1maXJzdCBvcGVuc3Ns LTEuMC4xZS9hcHBzL3ZlcmlmeS5jCi0tLS0gb3BlbnNzbC0xLjAuMWUvYXBwcy92ZXJpZnkuYy50 cnVzdGVkLWZpcnN0CTIwMTMtMDItMTEgMTY6MjY6MDQuMDAwMDAwMDAwICswMTAwCi0rKysgb3Bl bnNzbC0xLjAuMWUvYXBwcy92ZXJpZnkuYwkyMDEzLTA4LTE2IDE1OjQ2OjA5LjcyMDEyNDY1NCAr MDIwMAotQEAgLTIzNyw3ICsyMzcsNyBAQCBpbnQgTUFJTihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp Ci0gCi0gZW5kOgotIAlpZiAocmV0ID09IDEpIHsKLS0JCUJJT19wcmludGYoYmlvX2VyciwidXNh Z2U6IHZlcmlmeSBbLXZlcmJvc2VdIFstQ0FwYXRoIHBhdGhdIFstQ0FmaWxlIGZpbGVdIFstcHVy cG9zZSBwdXJwb3NlXSBbLWNybF9jaGVja10iKTsKLSsJCUJJT19wcmludGYoYmlvX2VyciwidXNh Z2U6IHZlcmlmeSBbLXZlcmJvc2VdIFstQ0FwYXRoIHBhdGhdIFstQ0FmaWxlIGZpbGVdIFstdHJ1 c3RlZF9maXJzdF0gWy1wdXJwb3NlIHB1cnBvc2VdIFstY3JsX2NoZWNrXSIpOwotIAkJQklPX3By aW50ZihiaW9fZXJyLCIgWy1hdHRpbWUgdGltZXN0YW1wXSIpOwotICNpZm5kZWYgT1BFTlNTTF9O T19FTkdJTkUKLSAJCUJJT19wcmludGYoYmlvX2VyciwiIFstZW5naW5lIGVdIik7Ci1kaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jLnRydXN0ZWQtZmlyc3Qgb3Bl bnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV92ZnkuYwotLS0tIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by94NTA5L3g1MDlfdmZ5LmMudHJ1c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5Ljg2 NDUzMzU0NSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMJ MjAxMy0wOC0xNiAxNTo0MjozOS45MjE1MzQ3OTEgKzAyMDAKLUBAIC0yMDcsNiArMjA3LDIxIEBA IGludCBYNTA5X3ZlcmlmeV9jZXJ0KFg1MDlfU1RPUkVfQ1RYICpjdHgKLSAKLSAJCS8qIElmIHdl IGFyZSBzZWxmIHNpZ25lZCwgd2UgYnJlYWsgKi8KLSAJCWlmIChjdHgtPmNoZWNrX2lzc3VlZChj dHgsIHgseCkpIGJyZWFrOwotKwkJLyogSWYgYXNrZWQgc2VlIGlmIHdlIGNhbiBmaW5kIGlzc3Vl ciBpbiB0cnVzdGVkIHN0b3JlIGZpcnN0ICovCi0rCQlpZiAoY3R4LT5wYXJhbS0+ZmxhZ3MgJiBY NTA5X1ZfRkxBR19UUlVTVEVEX0ZJUlNUKQotKwkJCXsKLSsJCQlvayA9IGN0eC0+Z2V0X2lzc3Vl cigmeHRtcCwgY3R4LCB4KTsKLSsJCQlpZiAob2sgPCAwKQotKwkJCQlyZXR1cm4gb2s7Ci0rCQkJ LyogSWYgc3VjY2Vzc2Z1bCBmb3Igbm93IGZyZWUgdXAgY2VydCBzbyBpdAotKwkJCSAqIHdpbGwg YmUgcGlja2VkIHVwIGFnYWluIGxhdGVyLgotKwkJCSAqLwotKwkJCWlmIChvayA+IDApCi0rCQkJ CXsKLSsJCQkJWDUwOV9mcmVlKHh0bXApOwotKwkJCQlicmVhazsKLSsJCQkJfQotKwkJCX0KLSAK LSAJCS8qIElmIHdlIHdlcmUgcGFzc2VkIGEgY2VydCBjaGFpbiwgdXNlIGl0IGZpcnN0ICovCi0g CQlpZiAoY3R4LT51bnRydXN0ZWQgIT0gTlVMTCkKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFlL2Ny eXB0by94NTA5L3g1MDlfdmZ5LmgudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9jcnlwdG8v eDUwOS94NTA5X3ZmeS5oCi0tLS0gb3BlbnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV92Znku aC50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMzU2NTIyNDMyICswMjAwCi0rKysg b3BlbnNzbC0xLjAuMWUvY3J5cHRvL3g1MDkveDUwOV92ZnkuaAkyMDEzLTA4LTE2IDE1OjQyOjM5 LjkyMjUzNDgxMyArMDIwMAotQEAgLTM4OSw2ICszODksOCBAQCB2b2lkIFg1MDlfU1RPUkVfQ1RY X3NldF9kZXB0aChYNTA5X1NUT1JFCi0gI2RlZmluZSBYNTA5X1ZfRkxBR19VU0VfREVMVEFTCQkJ MHgyMDAwCi0gLyogQ2hlY2sgc2VsZnNpZ25lZCBDQSBzaWduYXR1cmUgKi8KLSAjZGVmaW5lIFg1 MDlfVl9GTEFHX0NIRUNLX1NTX1NJR05BVFVSRQkJMHg0MDAwCi0rLyogVXNlIHRydXN0ZWQgc3Rv cmUgZmlyc3QgKi8KLSsjZGVmaW5lIFg1MDlfVl9GTEFHX1RSVVNURURfRklSU1QJCTB4ODAwMAot IAotIAotICNkZWZpbmUgWDUwOV9WUF9GTEFHX0RFRkFVTFQJCQkweDEKLWRpZmYgLXVwIG9wZW5z c2wtMS4wLjFlL2RvYy9hcHBzL2Ntcy5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9k b2MvYXBwcy9jbXMucG9kCi0tLS0gb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvY21zLnBvZC50cnVz dGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAwICswMjAwCi0rKysgb3BlbnNz bC0xLjAuMWUvZG9jL2FwcHMvY21zLnBvZAkyMDEzLTA4LTE2IDE1OjUwOjQ4LjcyMzkyMTExNyAr MDIwMAotQEAgLTM1LDYgKzM1LDcgQEAgQjxvcGVuc3NsPiBCPGNtcz4KLSBbQjwtcHJpbnQ+XQot IFtCPC1DQWZpbGUgZmlsZT5dCi0gW0I8LUNBcGF0aCBkaXI+XQotK1tCPC10cnVzdGVkX2ZpcnN0 Pl0KLSBbQjwtbWQgZGlnZXN0Pl0KLSBbQjwtW2NpcGhlcl0+XQotIFtCPC1ub2ludGVybj5dCi1A QCAtMjM4LDYgKzIzOSwxMiBAQCBCPC12ZXJpZnk+LiBUaGlzIGRpcmVjdG9yeSBtdXN0IGJlIGEg c3RhCi0gaXMgYSBoYXNoIG9mIGVhY2ggc3ViamVjdCBuYW1lICh1c2luZyBCPHg1MDkgLWhhc2g+ KSBzaG91bGQgYmUgbGlua2VkCi0gdG8gZWFjaCBjZXJ0aWZpY2F0ZS4KLSAKLSs9aXRlbSBCPC10 cnVzdGVkX2ZpcnN0PgotKwotK1VzZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJl Y3RvcnkgYmVmb3JlIHVudHJ1c3RlZCBjZXJ0aWZpY2F0ZXMKLStmcm9tIHRoZSBtZXNzYWdlIHdo ZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBjZXJ0aWZpY2F0ZXMuCi0rVGhp cyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9z cy1DZXJ0aWZpZWQgQ0FzLgotKwotID1pdGVtIEI8LW1kIGRpZ2VzdD4KLSAKLSBkaWdlc3QgYWxn b3JpdGhtIHRvIHVzZSB3aGVuIHNpZ25pbmcgb3IgcmVzaWduaW5nLiBJZiBub3QgcHJlc2VudCB0 aGVuIHRoZQotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvb2NzcC5wb2QudHJ1c3Rl ZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9vY3NwLnBvZAotLS0tIG9wZW5zc2wtMS4w LjFlL2RvYy9hcHBzL29jc3AucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wOC0xNiAxNTo0MjozOS4w MDAwMDAwMDAgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9vY3NwLnBvZAkyMDEz LTA4LTE2IDE1OjUyOjIwLjEwNjkzMzQwMyArMDIwMAotQEAgLTI5LDYgKzI5LDcgQEAgQjxvcGVu c3NsPiBCPG9jc3A+Ci0gW0I8LXBhdGg+XQotIFtCPC1DQXBhdGggZGlyPl0KLSBbQjwtQ0FmaWxl IGZpbGU+XQotK1tCPC10cnVzdGVkX2ZpcnN0Pl0KLSBbQjwtVkFmaWxlIGZpbGU+XQotIFtCPC12 YWxpZGl0eV9wZXJpb2Qgbj5dCi0gW0I8LXN0YXR1c19hZ2Ugbj5dCi1AQCAtMTM4LDYgKzEzOSwx MyBAQCBvciAiLyIgYnkgZGVmYXVsdC4KLSBmaWxlIG9yIHBhdGhuYW1lIGNvbnRhaW5pbmcgdHJ1 c3RlZCBDQSBjZXJ0aWZpY2F0ZXMuIFRoZXNlIGFyZSB1c2VkIHRvIHZlcmlmeQotIHRoZSBzaWdu YXR1cmUgb24gdGhlIE9DU1AgcmVzcG9uc2UuCi0gCi0rPWl0ZW0gQjwtdHJ1c3RlZF9maXJzdD4K LSsKLStVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5IG92ZXIgY2Vy dGlmaWNhdGVzIHByb3ZpZGVkCi0raW4gdGhlIHJlc3BvbnNlIG9yIHJlc2lkaW5nIGluIG90aGVy IGNlcnRpZmljYXRlcyBmaWxlIHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0Ci0rY2hhaW4gdG8gdmVy aWZ5IHJlc3BvbmRlciBjZXJ0aWZpY2F0ZS4KLStUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52 aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCi0rCi0gPWl0 ZW0gQjwtdmVyaWZ5X290aGVyIGZpbGU+Ci0gCi0gZmlsZSBjb250YWluaW5nIGFkZGl0aW9uYWwg Y2VydGlmaWNhdGVzIHRvIHNlYXJjaCB3aGVuIGF0dGVtcHRpbmcgdG8gbG9jYXRlCi1kaWZmIC11 cCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QudHJ1c3RlZC1maXJzdCBvcGVu c3NsLTEuMC4xZS9kb2MvYXBwcy9zX2NsaWVudC5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xZS9kb2Mv YXBwcy9zX2NsaWVudC5wb2QudHJ1c3RlZC1maXJzdAkyMDEzLTA4LTE2IDE1OjQyOjM5LjAwMDAw MDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NfY2xpZW50LnBvZAkyMDEz LTA4LTE2IDE1OjUzOjE3LjM2NDE5NDE1OSArMDIwMAotQEAgLTE3LDYgKzE3LDcgQEAgQjxvcGVu c3NsPiBCPHNfY2xpZW50PgotIFtCPC1wYXNzIGFyZz5dCi0gW0I8LUNBcGF0aCBkaXJlY3Rvcnk+ XQotIFtCPC1DQWZpbGUgZmlsZW5hbWU+XQotK1tCPC10cnVzdGVkX2ZpcnN0Pl0KLSBbQjwtcmVj b25uZWN0Pl0KLSBbQjwtcGF1c2U+XQotIFtCPC1zaG93Y2VydHM+XQotQEAgLTEwNyw3ICsxMDgs NyBAQCBhbHNvIHVzZWQgd2hlbiBidWlsZGluZyB0aGUgY2xpZW50IGNlcnRpCi0gQSBmaWxlIGNv bnRhaW5pbmcgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgdG8gdXNlIGR1cmluZyBzZXJ2ZXIgYXV0aGVu dGljYXRpb24KLSBhbmQgdG8gdXNlIHdoZW4gYXR0ZW1wdGluZyB0byBidWlsZCB0aGUgY2xpZW50 IGNlcnRpZmljYXRlIGNoYWluLgotIAotLT1pdGVtIEI8LXB1cnBvc2UsIC1pZ25vcmVfY3JpdGlj YWwsIC1pc3N1ZXJfY2hlY2tzLCAtY3JsX2NoZWNrLCAtY3JsX2NoZWNrX2FsbCwgLXBvbGljeV9j aGVjaywgLWV4dGVuZGVkX2NybCwgLXg1MDlfc3RyaWN0LCAtcG9saWN5IC1jaGVja19zc19zaWc+ Ci0rPWl0ZW0gQjwtcHVycG9zZSwgLWlnbm9yZV9jcml0aWNhbCwgLWlzc3Vlcl9jaGVja3MsIC1j cmxfY2hlY2ssIC1jcmxfY2hlY2tfYWxsLCAtcG9saWN5X2NoZWNrLCAtZXh0ZW5kZWRfY3JsLCAt eDUwOV9zdHJpY3QsIC1wb2xpY3kgLWNoZWNrX3NzX3NpZywgLXRydXN0ZWRfZmlyc3Q+Ci0gCi0g U2V0IHZhcmlvdXMgY2VydGlmaWNhdGUgY2hhaW4gdmFsaWFkaXRpb24gb3B0aW9uLiBTZWUgdGhl Ci0gTDxCPHZlcmlmeT58dmVyaWZ5KDEpPiBtYW51YWwgcGFnZSBmb3IgZGV0YWlscy4KLWRpZmYg LXVwIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5z c2wtMS4wLjFlL2RvYy9hcHBzL3NtaW1lLnBvZAotLS0tIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBz L3NtaW1lLnBvZC50cnVzdGVkLWZpcnN0CTIwMTMtMDgtMTYgMTU6NDI6MzkuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvc21pbWUucG9kCTIwMTMtMDgtMTYgMTU6 NTY6MTIuNDk3MDUwNzY3ICswMjAwCi1AQCAtMTUsNiArMTUsOSBAQCBCPG9wZW5zc2w+IEI8c21p bWU+Ci0gW0I8LXBrN291dD5dCi0gW0I8LVtjaXBoZXJdPl0KLSBbQjwtaW4gZmlsZT5dCi0rW0I8 LUNBZmlsZSBmaWxlPl0KLStbQjwtQ0FwYXRoIGRpcj5dCi0rW0I8LXRydXN0ZWRfZmlyc3Q+XQot IFtCPC1jZXJ0ZmlsZSBmaWxlPl0KLSBbQjwtc2lnbmVyIGZpbGU+XQotIFtCPC1yZWNpcCAgZmls ZT5dCi1AQCAtMTQ2LDYgKzE0OSwxMiBAQCBCPC12ZXJpZnk+LiBUaGlzIGRpcmVjdG9yeSBtdXN0 IGJlIGEgc3RhCi0gaXMgYSBoYXNoIG9mIGVhY2ggc3ViamVjdCBuYW1lICh1c2luZyBCPHg1MDkg LWhhc2g+KSBzaG91bGQgYmUgbGlua2VkCi0gdG8gZWFjaCBjZXJ0aWZpY2F0ZS4KLSAKLSs9aXRl bSBCPC10cnVzdGVkX2ZpcnN0PgotKwotK1VzZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBD QSBkaXJlY3Rvcnkgb3ZlciBjZXJ0aWZpY2F0ZXMgcHJvdmlkZWQKLStpbiB0aGUgbWVzc2FnZSB3 aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgYSBjZXJ0aWZpY2F0ZS4KLStU aGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENy b3NzLUNlcnRpZmllZCBDQXMuCi0rCi0gPWl0ZW0gQjwtbWQgZGlnZXN0PgotIAotIGRpZ2VzdCBh bGdvcml0aG0gdG8gdXNlIHdoZW4gc2lnbmluZyBvciByZXNpZ25pbmcuIElmIG5vdCBwcmVzZW50 IHRoZW4gdGhlCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3NlcnZlci5wb2Qu dHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3NlcnZlci5wb2QKLS0tLSBv cGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3NlcnZlci5wb2QudHJ1c3RlZC1maXJzdAkyMDEzLTA4 LTE2IDE1OjQyOjM5LjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBz L3Nfc2VydmVyLnBvZAkyMDEzLTA4LTE2IDE1OjU0OjMzLjYwOTg3MzIxNCArMDIwMAotQEAgLTMz LDYgKzMzLDcgQEAgQjxvcGVuc3NsPiBCPHNfc2VydmVyPgotIFtCPC1zdGF0ZT5dCi0gW0I8LUNB cGF0aCBkaXJlY3Rvcnk+XQotIFtCPC1DQWZpbGUgZmlsZW5hbWU+XQotK1tCPC10cnVzdGVkX2Zp cnN0Pl0KLSBbQjwtbm9jZXJ0Pl0KLSBbQjwtY2lwaGVyIGNpcGhlcmxpc3Q+XQotIFtCPC1xdWll dD5dCi1AQCAtMTY4LDYgKzE2OSwxMiBAQCBhbmQgdG8gdXNlIHdoZW4gYXR0ZW1wdGluZyB0byBi dWlsZCB0aGUKLSBpcyBhbHNvIHVzZWQgaW4gdGhlIGxpc3Qgb2YgYWNjZXB0YWJsZSBjbGllbnQg Q0FzIHBhc3NlZCB0byB0aGUgY2xpZW50IHdoZW4KLSBhIGNlcnRpZmljYXRlIGlzIHJlcXVlc3Rl ZC4KLSAKLSs9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgotKwotK1VzZSBjZXJ0aWZpY2F0ZXMgaW4g Q0EgZmlsZSBvciBDQSBkaXJlY3RvcnkgYmVmb3JlIG90aGVyIGNlcnRpZmljYXRlcyAKLSt3aGVu IGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgY2xpZW50IGNlcnRpZmljYXRlcy4K LStUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9y IENyb3NzLUNlcnRpZmllZCBDQXMuCi0rCi0gPWl0ZW0gQjwtc3RhdGU+Ci0gCi0gcHJpbnRzIG91 dCB0aGUgU1NMIHNlc3Npb24gc3RhdGVzLgotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2Fw cHMvc190aW1lLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFlL2RvYy9hcHBzL3NfdGlt ZS5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy9zX3RpbWUucG9kLnRydXN0ZWQtZmly c3QJMjAxMy0wMi0xMSAxNjowMjo0OC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4x ZS9kb2MvYXBwcy9zX3RpbWUucG9kCTIwMTMtMDgtMTYgMTU6NTU6MTIuNjUxNzMyOTM4ICswMjAw Ci1AQCAtMTQsNiArMTQsNyBAQCBCPG9wZW5zc2w+IEI8c190aW1lPgotIFtCPC1rZXkgZmlsZW5h bWU+XQotIFtCPC1DQXBhdGggZGlyZWN0b3J5Pl0KLSBbQjwtQ0FmaWxlIGZpbGVuYW1lPl0KLStb QjwtdHJ1c3RlZF9maXJzdD5dCi0gW0I8LXJldXNlPl0KLSBbQjwtbmV3Pl0KLSBbQjwtdmVyaWZ5 IGRlcHRoPl0KLUBAIC03Niw2ICs3NywxMiBAQCBhbHNvIHVzZWQgd2hlbiBidWlsZGluZyB0aGUg Y2xpZW50IGNlcnRpCi0gQSBmaWxlIGNvbnRhaW5pbmcgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgdG8g dXNlIGR1cmluZyBzZXJ2ZXIgYXV0aGVudGljYXRpb24KLSBhbmQgdG8gdXNlIHdoZW4gYXR0ZW1w dGluZyB0byBidWlsZCB0aGUgY2xpZW50IGNlcnRpZmljYXRlIGNoYWluLgotIAotKz1pdGVtIEI8 LXRydXN0ZWRfZmlyc3Q+Ci0rCi0rVXNlIGNlcnRpZmljYXRlcyBpbiBDQSBmaWxlIG9yIENBIGRp cmVjdG9yeSBvdmVyIHRoZSBjZXJ0aWZpY2F0ZXMgcHJvdmlkZWQKLStieSB0aGUgc2VydmVyIHdo ZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBzZXJ2ZXIgY2VydGlmaWNhdGUu Ci0rVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBDQSBv ciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgotKwotID1pdGVtIEI8LW5ldz4KLSAKLSBwZXJmb3JtcyB0 aGUgdGltaW5nIHRlc3QgdXNpbmcgYSBuZXcgc2Vzc2lvbiBJRCBmb3IgZWFjaCBjb25uZWN0aW9u LgotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdHMucG9kLnRydXN0ZWQtZmlyc3Qg b3BlbnNzbC0xLjAuMWUvZG9jL2FwcHMvdHMucG9kCi0tLS0gb3BlbnNzbC0xLjAuMWUvZG9jL2Fw cHMvdHMucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAx MDAKLSsrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy90cy5wb2QJMjAxMy0wOC0xNiAxNTo1Nzox Ny4zOTk0Nzk5NTcgKzAyMDAKLUBAIC00Niw2ICs0Niw3IEBAIEI8LXZlcmlmeT4KLSBbQjwtdG9r ZW5faW4+XQotIFtCPC1DQXBhdGg+IHRydXN0ZWRfY2VydF9wYXRoXQotIFtCPC1DQWZpbGU+IHRy dXN0ZWRfY2VydHMucGVtXQotK1tCPC10cnVzdGVkX2ZpcnN0Pl0KLSBbQjwtdW50cnVzdGVkPiBj ZXJ0X2ZpbGUucGVtXQotIAotID1oZWFkMSBERVNDUklQVElPTgotQEAgLTMyNCw2ICszMjUsMTIg QEAgTDx2ZXJpZnkoMSl8dmVyaWZ5KDEpPiBmb3IgYWRkaXRpb25hbCBkZQotIG9yIEI8LUNBcGF0 aD4gbXVzdCBiZSBzcGVjaWZpZWQuCi0gKE9wdGlvbmFsKQotIAotKz1pdGVtIEI8LXRydXN0ZWRf Zmlyc3Q+Ci0rCi0rVXNlIGNlcnRpZmljYXRlcyBpbiBDQSBmaWxlIG9yIENBIGRpcmVjdG9yeSBi ZWZvcmUgb3RoZXIgY2VydGlmaWNhdGVzCi0rd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW4g dG8gdmVyaWZ5IGNlcnRpZmljYXRlcy4KLStUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52aXJv bm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCi0rCi0gPWl0ZW0g QjwtdW50cnVzdGVkPiBjZXJ0X2ZpbGUucGVtCi0gCi0gU2V0IG9mIGFkZGl0aW9uYWwgdW50cnVz dGVkIGNlcnRpZmljYXRlcyBpbiBQRU0gZm9ybWF0IHdoaWNoIG1heSBiZQotZGlmZiAtdXAgb3Bl bnNzbC0xLjAuMWUvZG9jL2FwcHMvdmVyaWZ5LnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4w LjFlL2RvYy9hcHBzL3ZlcmlmeS5wb2QKLS0tLSBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy92ZXJp ZnkucG9kLnRydXN0ZWQtZmlyc3QJMjAxMy0wMi0xMSAxNjoyNjowNC4wMDAwMDAwMDAgKzAxMDAK LSsrKyBvcGVuc3NsLTEuMC4xZS9kb2MvYXBwcy92ZXJpZnkucG9kCTIwMTMtMDgtMTYgMTU6NTg6 MDAuMjY3NDIzOTI1ICswMjAwCi1AQCAtOSw2ICs5LDcgQEAgdmVyaWZ5IC0gVXRpbGl0eSB0byB2 ZXJpZnkgY2VydGlmaWNhdGVzLgotIEI8b3BlbnNzbD4gQjx2ZXJpZnk+Ci0gW0I8LUNBcGF0aCBk aXJlY3Rvcnk+XQotIFtCPC1DQWZpbGUgZmlsZT5dCi0rW0I8LXRydXN0ZWRfZmlyc3Q+XQotIFtC PC1wdXJwb3NlIHB1cnBvc2U+XQotIFtCPC1wb2xpY3kgYXJnPl0KLSBbQjwtaWdub3JlX2NyaXRp Y2FsPl0KLUBAIC01Niw2ICs1NywxMiBAQCBpbiBQRU0gZm9ybWF0IGNvbmNhdGVuYXRlZCB0b2dl dGhlci4KLSBBIGZpbGUgb2YgdW50cnVzdGVkIGNlcnRpZmljYXRlcy4gVGhlIGZpbGUgc2hvdWxk IGNvbnRhaW4gbXVsdGlwbGUgY2VydGlmaWNhdGVzCi0gaW4gUEVNIGZvcm1hdCBjb25jYXRlbmF0 ZWQgdG9nZXRoZXIuCi0gCi0rPWl0ZW0gQjwtdHJ1c3RlZF9maXJzdD4KLSsKLStVc2UgY2VydGlm aWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0b3J5IGJlZm9yZSB0aGUgY2VydGlmaWNhdGVz IGluIHRoZSB1bnRydXN0ZWQKLStmaWxlIHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRv IHZlcmlmeSBjZXJ0aWZpY2F0ZXMuCi0rVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25t ZW50cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgotKwotID1pdGVtIEI8 LXB1cnBvc2UgcHVycG9zZT4KLSAKLSBUaGUgaW50ZW5kZWQgdXNlIGZvciB0aGUgY2VydGlmaWNh dGUuIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsCgpkaWZmIC0tZ2l0IGEvb3BlbnNz bC0xLjAuMWctM2Rlcy1zdHJlbmd0aC5wYXRjaCBiL29wZW5zc2wtMS4wLjFnLTNkZXMtc3RyZW5n dGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlYzA1NGQuLjAwMDAwMDAK LS0tIGEvb3BlbnNzbC0xLjAuMWctM2Rlcy1zdHJlbmd0aC5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE2OCArMCwwIEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9zc2wvczJfbGliLmMuM2Rl cy1zdHJlbmd0aCBvcGVuc3NsLTEuMC4xZy9zc2wvczJfbGliLmMKLS0tLSBvcGVuc3NsLTEuMC4x Zy9zc2wvczJfbGliLmMuM2Rlcy1zdHJlbmd0aAkyMDE0LTAzLTE3IDE3OjE0OjIwLjAwMDAwMDAw MCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFnL3NzbC9zMl9saWIuYwkyMDE0LTA1LTA2IDE2OjMz OjQ1LjY0NjM1ODQxOCArMDIwMAotQEAgLTI1MCw3ICsyNTAsNyBAQCBPUEVOU1NMX0dMT0JBTCBj b25zdCBTU0xfQ0lQSEVSIHNzbDJfY2lwCi0gCVNTTF9TU0xWMiwKLSAJU1NMX05PVF9FWFB8U1NM X0hJR0gsCi0gCTAsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1kaWZmIC11cCBv cGVuc3NsLTEuMC4xZy9zc2wvczNfbGliLmMuM2Rlcy1zdHJlbmd0aCBvcGVuc3NsLTEuMC4xZy9z c2wvczNfbGliLmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9zc2wvczNfbGliLmMuM2Rlcy1zdHJlbmd0 aAkyMDE0LTAzLTE3IDE3OjE0OjIwLjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFn L3NzbC9zM19saWIuYwkyMDE0LTA1LTA2IDE2OjM4OjA1Ljg4NzM3NDg3MiArMDIwMAotQEAgLTMy OCw3ICszMjgsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0g CVNTTF9TU0xWMywKLSAJU1NMX05PVF9FWFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0gCVNTTF9IQU5E U0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0s Ci0gCi1AQCAtMzc3LDcgKzM3Nyw3IEBAIE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19j aXBoZXJzW10KLSAJU1NMX1NTTFYzLAotIAlTU0xfTk9UX0VYUHxTU0xfSElHSHxTU0xfRklQUywK LSAJU1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0g CTE2OCwKLSAJfSwKLSAKLUBAIC00MjUsNyArNDI1LDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJ UEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfU1NMVjMsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdI fFNTTF9GSVBTLAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgs Ci0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTQ3NCw3ICs0NzQsNyBAQCBPUEVOU1NMX0dM T0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9TU0xWMywKLSAJU1NMX05PVF9F WFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9Q UkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1AQCAtNTIyLDcgKzUyMiw3IEBA IE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1NTTFYzLAot IAlTU0xfTk9UX0VYUHxTU0xfSElHSHxTU0xfRklQUywKLSAJU1NMX0hBTkRTSEFLRV9NQUNfREVG QVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKLUBAIC02MDIs NyArNjAyLDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlT U0xfU1NMVjMsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdIfFNTTF9GSVBTLAotIAlTU0xfSEFORFNI QUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAot IAotQEAgLTY4Nyw3ICs2ODcsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lw aGVyc1tdCi0gCVNTTF9TU0xWMywKLSAJU1NMX05PVF9FWFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0g CVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkx NjgsCi0gCX0sCi0gCi1AQCAtNzUxLDcgKzc1MSw3IEBAIE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBI RVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1NTTFYzLAotIAlTU0xfTk9UX0VYUHxTU0xfSElHSCwK LSAJU1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0g CTE2OCwKLSAJfSwKLSAKLUBAIC0xNjg1LDcgKzE2ODUsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xf Q0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9UTFNWMSwKLSAJU1NMX05PVF9FWFB8U1NMX0hJ R0h8U1NMX0ZJUFMsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2 OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1AQCAtMjA2Miw3ICsyMDYyLDcgQEAgT1BFTlNT TF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfVExTVjEsCi0gCVNTTF9O T1RfRVhQfFNTTF9ISUdIfFNTTF9GSVBTLAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxUfFRM UzFfUFJGLAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTIxNDIsNyArMjE0 Miw3IEBAIE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1RM U1YxLAotIAlTU0xfTk9UX0VYUHxTU0xfSElHSHxTU0xfRklQUywKLSAJU1NMX0hBTkRTSEFLRV9N QUNfREVGQVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKLUBA IC0yMjIyLDcgKzIyMjIsNyBAQCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVy c1tdCi0gCVNTTF9UTFNWMSwKLSAJU1NMX05PVF9FWFB8U1NMX0hJR0h8U1NMX0ZJUFMsCi0gCVNT TF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExTMV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgs Ci0gCX0sCi0gCi1AQCAtMjMwMiw3ICsyMzAyLDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhF UiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfVExTVjEsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdIfFNT TF9GSVBTLAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxUfFRMUzFfUFJGLAotLQkxNjgsCi0r CTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTIzODIsNyArMjM4Miw3IEBAIE9QRU5TU0xfR0xP QkFMIFNTTF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NMX1RMU1YxLAotIAlTU0xfTk9UX0VY UHxTU0xfSElHSHxTU0xfRklQUywKLSAJU1NMX0hBTkRTSEFLRV9NQUNfREVGQVVMVHxUTFMxX1BS RiwKLS0JMTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKLUBAIC0yNDMyLDcgKzI0MzIsNyBA QCBPUEVOU1NMX0dMT0JBTCBTU0xfQ0lQSEVSIHNzbDNfY2lwaGVyc1tdCi0gCVNTTF9UTFNWMSwK LSAJU1NMX05PVF9FWFB8U1NMX0hJR0gsCi0gCVNTTF9IQU5EU0hBS0VfTUFDX0RFRkFVTFR8VExT MV9QUkYsCi0tCTE2OCwKLSsJMTI4LAotIAkxNjgsCi0gCX0sCi0gCi1AQCAtMjQ0OCw3ICsyNDQ4 LDcgQEAgT1BFTlNTTF9HTE9CQUwgU1NMX0NJUEhFUiBzc2wzX2NpcGhlcnNbXQotIAlTU0xfVExT VjEsCi0gCVNTTF9OT1RfRVhQfFNTTF9ISUdILAotIAlTU0xfSEFORFNIQUtFX01BQ19ERUZBVUxU fFRMUzFfUFJGLAotLQkxNjgsCi0rCTEyOCwKLSAJMTY4LAotIAl9LAotIAotQEAgLTI0NjQsNyAr MjQ2NCw3IEBAIE9QRU5TU0xfR0xPQkFMIFNTTF9DSVBIRVIgc3NsM19jaXBoZXJzW10KLSAJU1NM X1RMU1YxLAotIAlTU0xfTk9UX0VYUHxTU0xfSElHSCwKLSAJU1NMX0hBTkRTSEFLRV9NQUNfREVG QVVMVHxUTFMxX1BSRiwKLS0JMTY4LAotKwkxMjgsCi0gCTE2OCwKLSAJfSwKLSAKCmRpZmYgLS1n aXQgYS9vcGVuc3NsLTEuMC4xZy1uZXctZmlwcy1yZXFzLnBhdGNoIGIvb3BlbnNzbC0xLjAuMWct bmV3LWZpcHMtcmVxcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM1Y2Y0 My4uMDAwMDAwMAotLS0gYS9vcGVuc3NsLTEuMC4xZy1uZXctZmlwcy1yZXFzLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTc2NCArMCwwIEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlw dG8vYm4vYm5fcmFuZC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vYm4vYm5fcmFu ZC5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2JuL2JuX3JhbmQuYy5maXBzLXJlcXMJMjAx NC0wMy0xNyAxNzoxNDoyMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlw dG8vYm4vYm5fcmFuZC5jCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMyNTQwMjgzICswMjAwCi1AQCAt MTM4LDkgKzEzOCwxMiBAQCBzdGF0aWMgaW50IGJucmFuZChpbnQgcHNldWRvcmFuZCwgQklHTlVN Ci0gCQlnb3RvIGVycjsKLSAJCX0KLSAKLS0JLyogbWFrZSBhIHJhbmRvbSBudW1iZXIgYW5kIHNl dCB0aGUgdG9wIGFuZCBib3R0b20gYml0cyAqLwotLQl0aW1lKCZ0aW0pOwotLQlSQU5EX2FkZCgm dGltLHNpemVvZih0aW0pLDAuMCk7Ci0rCWlmICghRklQU19tb2RlKCkpIC8qIGluIEZJUFMgbW9k ZSB0aGUgUk5HIGlzIGFsd2F5cyBwcm9wZXJseSBzZWVkZWQgb3IgdGhlIG1vZHVsZSBmYWlscyAq LwotKwkJewotKwkJLyogbWFrZSBhIHJhbmRvbSBudW1iZXIgYW5kIHNldCB0aGUgdG9wIGFuZCBi b3R0b20gYml0cyAqLwotKwkJdGltZSgmdGltKTsKLSsJCVJBTkRfYWRkKCZ0aW0sc2l6ZW9mKHRp bSksMC4wKTsKLSsJCX0KLSAKLSAJaWYgKHBzZXVkb3JhbmQpCi0gCQl7Ci1kaWZmIC11cCBvcGVu c3NsLTEuMC4xZy9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcy1yZXFzIG9wZW5zc2wtMS4wLjFnL2Ny eXB0by9kaC9kaF9nZW4uYwotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9kaF9nZW4uYy5m aXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNTM1MzYxNDUgKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vZGgvZGhfZ2VuLmMJMjAxNC0wNS0wNiAxNjoyMjoyMS40MzI1NDAyODMg KzAyMDAKLUBAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIGludCBkaF9idWlsdGluX2dlbnBhcmFt cyhESCAqcmV0LAotIAkJcmV0dXJuIDA7Ci0gCQl9Ci0gCi0tCWlmIChGSVBTX21vZGUoKSAmJiAo cHJpbWVfbGVuIDwgT1BFTlNTTF9ESF9GSVBTX01JTl9NT0RVTFVTX0JJVFMpKQotKwlpZiAoRklQ U19tb2RlKCkgJiYgKHByaW1lX2xlbiA8IE9QRU5TU0xfREhfRklQU19NSU5fTU9EVUxVU19CSVRT X0dFTikpCi0gCQl7Ci0gCQlESGVycihESF9GX0RIX0JVSUxUSU5fR0VOUEFSQU1TLCBESF9SX0tF WV9TSVpFX1RPT19TTUFMTCk7Ci0gCQlnb3RvIGVycjsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFn L2NyeXB0by9kaC9kaC5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZGgvZGguaAot LS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9kaC5oLmZpcHMtcmVxcwkyMDE0LTA1LTA2IDE2 OjIyOjIxLjI1MzUzNjE0NSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9kaC5o CTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMyNTQwMjgzICswMjAwCi1AQCAtNzgsNiArNzgsNyBAQAot ICNlbmRpZgotIAotICNkZWZpbmUgT1BFTlNTTF9ESF9GSVBTX01JTl9NT0RVTFVTX0JJVFMgMTAy NAotKyNkZWZpbmUgT1BFTlNTTF9ESF9GSVBTX01JTl9NT0RVTFVTX0JJVFNfR0VOIDIwNDgKLSAK LSAjZGVmaW5lIERIX0ZMQUdfQ0FDSEVfTU9OVF9QICAgICAweDAxCi0gI2RlZmluZSBESF9GTEFH X05PX0VYUF9DT05TVFRJTUUgMHgwMiAvKiBuZXcgd2l0aCAwLjkuN2g7IHRoZSBidWlsdC1pbiBE SAotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2RoL2RoX2NoZWNrLmMuZmlwcy1yZXFz IG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kaC9kaF9jaGVjay5jCi0tLS0gb3BlbnNzbC0xLjAuMWcv Y3J5cHRvL2RoL2RoX2NoZWNrLmMuZmlwcy1yZXFzCTIwMTQtMDMtMTcgMTc6MTQ6MjAuMDAwMDAw MDAwICswMTAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2RoL2RoX2NoZWNrLmMJMjAxNC0w NS0wNiAxNjoyMjoyMS40MzI1NDAyODMgKzAyMDAKLUBAIC0xMzQsNyArMTM0LDMzIEBAIGludCBE SF9jaGVja19wdWJfa2V5KGNvbnN0IERIICpkaCwgY29uc3QKLSAJQk5fc3ViX3dvcmQocSwxKTsK LSAJaWYgKEJOX2NtcChwdWJfa2V5LHEpPj0wKQotIAkJKnJldHw9REhfQ0hFQ0tfUFVCS0VZX1RP T19MQVJHRTsKLSsjaWZkZWYgT1BFTlNTTF9GSVBTCi0rCWlmIChGSVBTX21vZGUoKSAmJiBkaC0+ cSAhPSBOVUxMKQotKwkJewotKwkJQk5fQ1RYICpjdHggPSBOVUxMOwotIAotKwkJY3R4ID0gQk5f Q1RYX25ldygpOwotKwkJaWYgKGN0eCA9PSBOVUxMKQotKwkJCWdvdG8gZXJyOwotKwotKwkJaWYg KEJOX21vZF9leHBfbW9udChxLCBwdWJfa2V5LCBkaC0+cSwgZGgtPnAsIGN0eCwgTlVMTCkgPD0g MCkKLSsJCQl7Ci0rCQkJQk5fQ1RYX2ZyZWUoY3R4KTsKLSsJCQlnb3RvIGVycjsKLSsJCQl9Ci0r CQlpZiAoIUJOX2lzX29uZShxKSkKLSsJCQl7Ci0rCQkJLyogaXQgd291bGQgYmUgbW9yZSBjb3Jy ZWN0IHRvIGFkZCBuZXcgcmV0dXJuIGZsYWcgCi0rCQkJICogZm9yIHRoaXMgdGVzdCwgYnV0IHdl IGRvIG5vdCB3YW50IHRvIGRvIGl0Ci0rCQkJICogc28ganVzdCBlcnJvciBvdXQKLSsJCQkgKi8K LSsJCQlCTl9DVFhfZnJlZShjdHgpOwotKwkJCWdvdG8gZXJyOwotKwkJCX0KLSsJCQotKwkJQk5f Q1RYX2ZyZWUoY3R4KTsKLSsJCX0KLSsjZW5kaWYKLSAJb2sgPSAxOwotIGVycjoKLSAJaWYgKHEg IT0gTlVMTCkgQk5fZnJlZShxKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kc2Ev ZHNhX2dlbi5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9nZW4uYwot LS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMtcmVxcwkyMDE0LTA1 LTA2IDE2OjIyOjIxLjI1NDUzNjE2OCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9k c2EvZHNhX2dlbi5jCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMyNTQwMjgzICswMjAwCi1AQCAtMTU5 LDcgKzE1OSw3IEBAIGludCBkc2FfYnVpbHRpbl9wYXJhbWdlbihEU0EgKnJldCwgc2l6ZV8KLSAJ ICAgIH0KLSAKLSAJaWYgKEZJUFNfbW9kdWxlX21vZGUoKSAmJgotLQkgICAgKGJpdHMgIT0gMTAy NCB8fCBxYml0cyAhPSAxNjApICYmCi0rCSAgICAoZ2V0ZW52KCJPUEVOU1NMX0VORk9SQ0VfTU9E VUxVU19CSVRTIikgfHwgYml0cyAhPSAxMDI0IHx8IHFiaXRzICE9IDE2MCkgJiYKLSAJICAgIChi aXRzICE9IDIwNDggfHwgcWJpdHMgIT0gMjI0KSAmJgotIAkgICAgKGJpdHMgIT0gMjA0OCB8fCBx Yml0cyAhPSAyNTYpICYmCi0gCSAgICAoYml0cyAhPSAzMDcyIHx8IHFiaXRzICE9IDI1NikpCi1k aWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYS5oLmZpcHMtcmVxcyBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vZHNhL2RzYS5oCi0tLS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2RzYS9k c2EuaC5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNTQ1MzYxNjggKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYS5oCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMyNTQw MjgzICswMjAwCi1AQCAtODksNiArODksNyBAQAotICNlbmRpZgotIAotICNkZWZpbmUgT1BFTlNT TF9EU0FfRklQU19NSU5fTU9EVUxVU19CSVRTIDEwMjQKLSsjZGVmaW5lIE9QRU5TU0xfRFNBX0ZJ UFNfTUlOX01PRFVMVVNfQklUU19HRU4gKGdldGVudigiT1BFTlNTTF9FTkZPUkNFX01PRFVMVVNf QklUUyIpPzIwNDg6MTAyNCkKLSAKLSAjZGVmaW5lIERTQV9GTEFHX0NBQ0hFX01PTlRfUAkweDAx Ci0gI2RlZmluZSBEU0FfRkxBR19OT19FWFBfQ09OU1RUSU1FICAgICAgIDB4MDIgLyogbmV3IHdp dGggMC45LjdoOyB0aGUgYnVpbHQtaW4gRFNBCi1AQCAtMjU0LDkgKzI1NSw5IEBAIGludAlEU0Fw YXJhbXNfcHJpbnRfZnAoRklMRSAqZnAsIGNvbnN0IEQKLSBpbnQJRFNBX3ByaW50X2ZwKEZJTEUg KmJwLCBjb25zdCBEU0EgKngsIGludCBvZmYpOwotICNlbmRpZgotIAotLSNkZWZpbmUgRFNTX3By aW1lX2NoZWNrcyA1MAotLS8qIFByaW1hbGl0eSB0ZXN0IGFjY29yZGluZyB0byBGSVBTIFBVQiAx ODZbLTFdLCBBcHBlbmRpeCAyLjE6Ci0tICogNTAgcm91bmRzIG9mIFJhYmluLU1pbGxlciAqLwot KyNkZWZpbmUgRFNTX3ByaW1lX2NoZWNrcyA2NAotKy8qIFByaW1hbGl0eSB0ZXN0IGFjY29yZGlu ZyB0byBGSVBTIFBVQiAxODZbLTRdLCBBcHBlbmRpeCAyLjE6Ci0rICogNjQgcm91bmRzIG9mIFJh YmluLU1pbGxlciAqLwotICNkZWZpbmUgRFNBX2lzX3ByaW1lKG4sIGNhbGxiYWNrLCBjYl9hcmcp IFwKLSAJQk5faXNfcHJpbWUobiwgRFNTX3ByaW1lX2NoZWNrcywgY2FsbGJhY2ssIE5VTEwsIGNi X2FyZykKLSAKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kc2EvZHNhX2tleS5jLmZp cHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZHNhL2RzYV9rZXkuYwotLS0tIG9wZW5zc2wt MS4wLjFnL2NyeXB0by9kc2EvZHNhX2tleS5jLmZpcHMtcmVxcwkyMDE0LTA1LTA2IDE2OjIyOjIx LjQyNzU0MDE2OSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9kc2EvZHNhX2tleS5j CTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMzNTQwMzA3ICswMjAwCi1AQCAtMTI3LDcgKzEyNyw3IEBA IHN0YXRpYyBpbnQgZHNhX2J1aWx0aW5fa2V5Z2VuKERTQSAqZHNhKQotIAotICNpZmRlZiBPUEVO U1NMX0ZJUFMKLSAJaWYgKEZJUFNfbW9kZSgpICYmICEoZHNhLT5mbGFncyAmIERTQV9GTEFHX05P Tl9GSVBTX0FMTE9XKQotLQkJJiYgKEJOX251bV9iaXRzKGRzYS0+cCkgPCBPUEVOU1NMX0RTQV9G SVBTX01JTl9NT0RVTFVTX0JJVFMpKQotKwkJJiYgKEJOX251bV9iaXRzKGRzYS0+cCkgPCBPUEVO U1NMX0RTQV9GSVBTX01JTl9NT0RVTFVTX0JJVFNfR0VOKSkKLSAJCXsKLSAJCURTQWVycihEU0Ff Rl9EU0FfQlVJTFRJTl9LRVlHRU4sIERTQV9SX0tFWV9TSVpFX1RPT19TTUFMTCk7Ci0gCQlnb3Rv IGVycjsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRl c3QuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVz dC5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jLmZp cHMtcmVxcwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzMzU0MDMwNyArMDIwMAotKysrIG9wZW5zc2wt MS4wLjFnL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYwkyMDE0LTA1LTA2IDE2OjIyOjIx LjQzMzU0MDMwNyArMDIwMAotQEAgLTAsMCArMSwxNjIgQEAKLSsvKiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotKyAq IENvcHlyaWdodCAoYykgMjAxMSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNl cnZlZC4KLSsgKiBDb3B5cmlnaHQgKGMpIDIwMTMgUmVkIEhhdCwgSW5jLgotKyAqCi0rICogUmVk aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3 aXRob3V0Ci0rICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl IGZvbGxvd2luZyBjb25kaXRpb25zCi0rICogYXJlIG1ldDoKLSsgKgotKyAqIDEuIFJlZGlzdHJp YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0r ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk aXNjbGFpbWVyLiAKLSsgKgotKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0rICogICAgbm90aWNlLCB0aGlzIGxp c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCi0rICogICAg dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo ZQotKyAqICAgIGRpc3RyaWJ1dGlvbi4KLSsgKgotKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRl cmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcwotKyAqICAgIHNvZnR3YXJl IG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdtZW50OgotKyAqICAgICJUaGlz IHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2pl Y3QKLSsgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQuIChodHRwOi8vd3d3Lm9w ZW5zc2wub3JnLykiCi0rICoKLSsgKiA0LiBUaGUgbmFtZXMgIk9wZW5TU0wgVG9vbGtpdCIgYW5k ICJPcGVuU1NMIFByb2plY3QiIG11c3Qgbm90IGJlIHVzZWQgdG8KLSsgKiAgICBlbmRvcnNlIG9y IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dAotKyAq ICAgIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gRm9yIHdyaXR0ZW4gcGVybWlzc2lvbiwgcGxl YXNlIGNvbnRhY3QKLSsgKiAgICBvcGVuc3NsLWNvcmVAb3BlbnNzbC5vcmcuCi0rICoKLSsgKiA1 LiBQcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAi T3BlblNTTCIKLSsgKiAgICBub3IgbWF5ICJPcGVuU1NMIiBhcHBlYXIgaW4gdGhlaXIgbmFtZXMg d2l0aG91dCBwcmlvciB3cml0dGVuCi0rICogICAgcGVybWlzc2lvbiBvZiB0aGUgT3BlblNTTCBQ cm9qZWN0LgotKyAqCi0rICogNi4gUmVkaXN0cmlidXRpb25zIG9mIGFueSBmb3JtIHdoYXRzb2V2 ZXIgbXVzdCByZXRhaW4gdGhlIGZvbGxvd2luZwotKyAqICAgIGFja25vd2xlZGdtZW50OgotKyAq ICAgICJUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVu U1NMIFByb2plY3QKLSsgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQgKGh0dHA6 Ly93d3cub3BlbnNzbC5vcmcvKSIKLSsgKgotKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg QlkgVEhFIE9wZW5TU0wgUFJPSkVDVCBgYEFTIElTJycgQU5EIEFOWQotKyAqIEVYUFJFU1NFRCBP UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK LSsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIKLSsgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg U0hBTEwgVEhFIE9wZW5TU0wgUFJPSkVDVCBPUgotKyAqIElUUyBDT05UUklCVVRPUlMgQkUgTElB QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSsgKiBTUEVDSUFMLCBF WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKLSsgKiBO T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF UzsKLSsgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS VVBUSU9OKQotKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwKLSsgKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0rICogQVJJU0lORyBJTiBBTlkgV0FZ IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRAotKyAqIE9G IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSsgKgotKyAqLwotKwotKyNpbmNsdWRl IDxzdHJpbmcuaD4KLSsjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8uaD4KLSsjaW5jbHVkZSA8b3Bl bnNzbC9kaC5oPgotKyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KLSsjaW5jbHVkZSA8b3BlbnNz bC9lcnIuaD4KLSsjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KLSsjaW5jbHVkZSA8b3BlbnNzbC9i bi5oPgotKyNpbmNsdWRlICJmaXBzX2xvY2wuaCIKLSsKLSsjaWZkZWYgT1BFTlNTTF9GSVBTCi0r Ci0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X3BbXSA9IHsKLSsJMHhB RSwweEVDLDB4RUUsMHgyMiwweEZBLDB4M0EsMHhBNSwweDIyLDB4QzAsMHhERSwweDBGLDB4MDks Ci0rCTB4N0UsMHgxNywweEMwLDB4MDUsMHhGOSwweEYxLDB4RTcsMHhDNiwweDg3LDB4MTQsMHg2 RCwweDExLAotKwkweEU3LDB4QUUsMHhFRCwweDJGLDB4NzIsMHg1OSwweEM1LDB4QTksMHg5Qiww eEI4LDB4MDIsMHhBNSwKLSsJMHhGMywweDY5LDB4NzAsMHhENiwweERELDB4OTAsMHhGOSwweDE5 LDB4NzksMHhCRSwweDYwLDB4OEYsCi0rCTB4MjUsMHg5MiwweDMwLDB4MUMsMHg1MSwweDUxLDB4 MzgsMHgyNiwweDgyLDB4MjUsMHhFNiwweEZDLAotKwkweEVELDB4NjUsMHg5NiwweDhGLDB4NTcs MHhFNSwweDUzLDB4OEIsMHgzOCwweDYzLDB4QzcsMHhDRSwKLSsJMHhCQywweDFCLDB4NEQsMHgx OCwweDJBLDB4NUIsMHgwNCwweDNGLDB4NkEsMHgzQywweDk0LDB4MzksCi0rCTB4QUUsMHgzNiww eEQ2LDB4NUUsMHgwRiwweEEyLDB4Q0MsMHhEMCwweEQ0LDB4RDUsMHhDNiwweDFFLAotKwkweEY2 LDB4QTAsMHhGNSwweDg5LDB4NEUsMHhCNCwweDBCLDB4QTQsMHhCMywweDJCLDB4M0QsMHhFMiwK LSsJMHg0RSwweEUxLDB4NDksMHgyNSwweDk5LDB4NUYsMHgzMiwweDE2LDB4MzMsMHgzMiwweDFC LDB4N0EsCi0rCTB4QTUsMHg1QywweDZCLDB4MzQsMHgwRCwweDM5LDB4OTksMHhEQywweEYwLDB4 NzYsMHhFNSwweDVBLAotKwkweEQ0LDB4NzEsMHgwMCwweEVELDB4NUEsMHg3MywweEZCLDB4Qzgs MHgwMSwweEFELDB4OTksMHhDRiwKLSsJMHg5OSwweDUyLDB4N0MsMHg5QywweDY0LDB4QzYsMHg3 NiwweDQwLDB4NTcsMHhBRiwweDU5LDB4RDcsCi0rCTB4MzgsMHgwQiwweDQwLDB4REUsMHgzMyww eDBELDB4QjgsMHg3NiwweEVDLDB4QTksMHhEOCwweDczLAotKwkweEY4LDB4RUYsMHgyNiwweDY2 LDB4MDYsMHgyNywweERELDB4N0MsMHhBNCwweDEwLDB4OUMsMHhBNiwKLSsJMHhBQSwweEY5LDB4 NTMsMHg2MiwweDczLDB4MUQsMHhCQSwweDFDLDB4RjEsMHg2NywweEY0LDB4MzUsCi0rCTB4RUQs MHg2RiwweDM3LDB4OTIsMHhFOCwweDRGLDB4NkMsMHhCQSwweDUyLDB4NkUsMHhBMSwweEVELAot KwkweERBLDB4OUYsMHg4NSwweDExLDB4ODIsMHg1MiwweDYyLDB4MDgsMHg0NCwweEYxLDB4MzAs MHgwMywKLSsJMHhDMywweDM4LDB4MkMsMHg3OSwweEJELDB4RDQsMHg0MywweDQ1LDB4RUUsMHg4 RSwweDUwLDB4RkMsCi0rCTB4MjksMHg0NiwweDlBLDB4RkUsMHg1NCwweDFBLDB4MTksMHg4Riww eDRCLDB4ODQsMHgwOCwweERFLAotKwkweDIwLDB4NjIsMHg3MywweENDLDB4REQsMHg3RSwweEYw LDB4RUYsMHhBMiwweEZELDB4ODYsMHg1OCwKLSsJMHg0QiwweEQ4LDB4MzcsMHhFQgotK307Ci0r Ci0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X2dbXSA9IHsKLSsJMHgw MgotK307Ci0rCi0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X3B1Yl9r ZXlbXSA9IHsKLSsJMHhBMCwweDM5LDB4MTEsMHg3NywweDlBLDB4QzEsMHgzMCwweDFGLDB4QkUs MHg0OCwweEE3LDB4QUEsCi0rCTB4QTAsMHg4NCwweDU0LDB4NjQsMHhBRCwweDFCLDB4NzAsMHhG QSwweDEzLDB4NTUsMHg2MywweEQyLAotKwkweDFGLDB4NjIsMHgzMiwweDkzLDB4OEUsMHhDOSww eDNFLDB4MDksMHhBNywweDY0LDB4RTQsMHgxMiwKLSsJMHg2RSwweDFCLDB4RjIsMHg5MiwweDNC LDB4QjksMHhDQiwweDU2LDB4RUEsMHgwNywweDg4LDB4QjUsCi0rCTB4QTYsMHhCQywweDE2LDB4 MUYsMHgyNywweEZFLDB4RDgsMHhBQSwweDQwLDB4QjIsMHhCMCwweDJELAotKwkweDM3LDB4NzYs MHhBNiwweEE0LDB4ODIsMHgyQywweDBFLDB4MjIsMHg2NCwweDlELDB4Q0IsMHhEMSwKLSsJMHgw MCwweEI3LDB4ODksMHgxNCwweDcyLDB4NEUsMHhCRSwweDQ4LDB4NDEsMHhGOCwweEIyLDB4NTEs Ci0rCTB4MTEsMHgwOSwweDRCLDB4MjIsMHgwMSwweDIzLDB4MzksMHg5NiwweEUwLDB4MTUsMHhE NywweDlGLAotKwkweDYwLDB4RDEsMHhCNywweEFFLDB4RkUsMHg1RiwweERCLDB4RTcsMHgwMyww eDE3LDB4OTcsMHhBNiwKLSsJMHgxNiwweDc0LDB4QkQsMHg1MywweDgxLDB4MTksMHhDNSwweDQ3 LDB4NUUsMHhDRSwweDhELDB4RUQsCi0rCTB4NDUsMHg1RCwweDNDLDB4MDAsMHhBMCwweDBBLDB4 NjgsMHg2QSwweEUwLDB4OEUsMHgwNiwweDQ2LAotKwkweDZGLDB4RDcsMHhGOSwweERGLDB4MzEs MHg3RSwweDc3LDB4NDQsMHgwRCwweDk4LDB4RTAsMHhDQSwKLSsJMHg5OCwweDA5LDB4NTIsMHgw NCwweDkwLDB4RUEsMHg2RCwweEY0LDB4MzAsMHg2OSwweDhGLDB4QjEsCi0rCTB4OUIsMHhDMSww eDQzLDB4REIsMHhENSwweDhELDB4QzgsMHg4RSwweEI2LDB4MEIsMHgwNSwweEJFLAotKwkweDBF LDB4QzUsMHg5OSwweEM4LDB4NkUsMHg0RSwweEYzLDB4Q0IsMHhDMywweDVFLDB4OUIsMHg1MywK LSsJMHhGNywweDA2LDB4MUMsMHg0RiwweEM3LDB4QjgsMHg2RSwweDMwLDB4MTgsMHhDQSwweDlC LDB4QjksCi0rCTB4QkMsMHg1RiwweDE3LDB4NzIsMHgyOSwweDVBLDB4RTUsMHhEOSwweDk2LDB4 QjcsMHgwQiwweEYzLAotKwkweDJELDB4OEMsMHhGMSwweEUxLDB4MEUsMHgwRCwweDc0LDB4RDUs MHg5RCwweEYwLDB4MDYsMHhBOSwKLSsJMHhCNCwweDk1LDB4NjMsMHg3NiwweDQ2LDB4NTUsMHg0 OCwweDgyLDB4MzksMHg5MCwweEVGLDB4NTYsCi0rCTB4NzUsMHgzNCwweEI4LDB4MzQsMHhDMyww eDE4LDB4NkUsMHgxRSwweEFELDB4RTMsMHg0OCwweDdFLAotKwkweDkzLDB4MkMsMHgyMywweEU3 LDB4RjgsMHg5MCwweDczLDB4QjEsMHg3NywweDgwLDB4NjcsMHhBOSwKLSsJMHgzNiwweDlFLDB4 REEsMHhEMgotK307Ci0rCi0rc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4 X3ByaXZfa2V5W10gPSB7Ci0rCTB4MEMsMHg0QiwweDMwLDB4ODksMHhEMSwweEI4LDB4NjIsMHhD QiwweDNDLDB4NDMsMHg2NCwweDkxLAotKwkweEYwLDB4OTEsMHg1NCwweDcwLDB4QzUsMHgyNyww eDk2LDB4RTMsMHhBQywweEJFLDB4RTgsMHgwMCwKLSsJMHhFQywweDU1LDB4RjYsMHhDQwotK307 Ci0rCi0raW50IEZJUFNfc2VsZnRlc3RfZGgoKQotKwl7Ci0rCURIICpkaCA9IE5VTEw7Ci0rCWlu dCByZXQgPSAwOwotKwl2b2lkICpwdWJfa2V5ID0gTlVMTDsKLSsJaW50IGxlbjsKLSsKLSsJZGgg PSBESF9uZXcoKTsKLSsKLSsJaWYoZGggPT0gTlVMTCkKLSsJCWdvdG8gZXJyOwotKwotKwlmaXBz X2xvYWRfa2V5X2NvbXBvbmVudChkaCwgcCwgZGhfdGVzdF8yMDQ4KTsKLSsJZmlwc19sb2FkX2tl eV9jb21wb25lbnQoZGgsIGcsIGRoX3Rlc3RfMjA0OCk7Ci0rCS8qIG5vdGUgdGhhdCB0aGUgcHJp dmF0ZSBrZXkgaXMgbXVjaCBzaG9ydGVyIHRoYW4gbm9ybWFsbHkgdXNlZAotKwkgKiBidXQgc3Rp bGwgZyAqKiBwcml2X2tleSA+IHAKLSsJICovCi0rCWZpcHNfbG9hZF9rZXlfY29tcG9uZW50KGRo LCBwcml2X2tleSwgZGhfdGVzdF8yMDQ4KTsKLSsKLSsJaWYgKERIX2dlbmVyYXRlX2tleShkaCkg PD0gMCkKLSsJCWdvdG8gZXJyOwotKwotKwlsZW4gPSBCTl9udW1fYnl0ZXMoZGgtPnB1Yl9rZXkp OwotKwlpZiAoKHB1Yl9rZXkgPSBPUEVOU1NMX21hbGxvYyhsZW4pKSA9PSBOVUxMKQotKwkJZ290 byBlcnI7Ci0rCUJOX2JuMmJpbihkaC0+cHViX2tleSwgcHViX2tleSk7Ci0rCi0rCWlmIChsZW4g IT0gc2l6ZW9mKGRoX3Rlc3RfMjA0OF9wdWJfa2V5KSB8fAotKwkJbWVtY21wKHB1Yl9rZXksIGRo X3Rlc3RfMjA0OF9wdWJfa2V5LCBsZW4pICE9IDApCi0rCQlnb3RvIGVycjsKLSsKLSsJcmV0ID0g MTsKLSsKLSsJZXJyOgotKwlpZiAoZGgpCi0rCQlESF9mcmVlKGRoKTsKLSsKLSsJT1BFTlNTTF9m cmVlKHB1Yl9rZXkpOwotKwlyZXR1cm4gcmV0OwotKwl9Ci0rI2VuZGlmCi1kaWZmIC11cCBvcGVu c3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5jLmZpcHMtcmVxcyBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX2RyYmdfcmFuZC5jCi0tLS0gb3BlbnNzbC0xLjAuMWcv Y3J5cHRvL2ZpcHMvZmlwc19kcmJnX3JhbmQuYy5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoy MS4yNjM1MzYzNzYgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX2Ry YmdfcmFuZC5jCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMzNTQwMzA3ICswMjAwCi1AQCAtNzcsNyAr NzcsOCBAQCBzdGF0aWMgaW50IGZpcHNfZHJiZ19ieXRlcyh1bnNpZ25lZCBjaGFyCi0gCWludCBy diA9IDA7Ci0gCXVuc2lnbmVkIGNoYXIgKmFkaW4gPSBOVUxMOwotIAlzaXplX3QgYWRpbmxlbiA9 IDA7Ci0tCUNSWVBUT193X2xvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0rCWludCBsb2NrZWQ7Ci0r CWxvY2tlZCA9IHByaXZhdGVfUkFORF9sb2NrKDEpOwotIAlkbyAKLSAJCXsKLSAJCXNpemVfdCBy Y250OwotQEAgLTEwOSw3ICsxMTAsOCBAQCBzdGF0aWMgaW50IGZpcHNfZHJiZ19ieXRlcyh1bnNp Z25lZCBjaGFyCi0gCXdoaWxlIChjb3VudCk7Ci0gCXJ2ID0gMTsKLSAJZXJyOgotLQlDUllQVE9f d191bmxvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0rCWlmIChsb2NrZWQpCi0rCQlwcml2YXRlX1JB TkRfbG9jaygwKTsKLSAJcmV0dXJuIHJ2OwotIAl9Ci0gCi1AQCAtMTI0LDM1ICsxMjYsNTEgQEAg c3RhdGljIGludCBmaXBzX2RyYmdfc3RhdHVzKHZvaWQpCi0gCXsKLSAJRFJCR19DVFggKmRjdHgg PSAmb3NzbF9kY3R4OwotIAlpbnQgcnY7Ci0tCUNSWVBUT19yX2xvY2soQ1JZUFRPX0xPQ0tfUkFO RCk7Ci0rCWludCBsb2NrZWQ7Ci0rCWxvY2tlZCA9IHByaXZhdGVfUkFORF9sb2NrKDEpOwotIAly diA9IGRjdHgtPnN0YXR1cyA9PSBEUkJHX1NUQVRVU19SRUFEWSA/IDEgOiAwOwotLQlDUllQVE9f cl91bmxvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0rCWlmIChsb2NrZWQpCi0rCQlwcml2YXRlX1JB TkRfbG9jaygwKTsKLSAJcmV0dXJuIHJ2OwotIAl9Ci0gCi0gc3RhdGljIHZvaWQgZmlwc19kcmJn X2NsZWFudXAodm9pZCkKLSAJewotIAlEUkJHX0NUWCAqZGN0eCA9ICZvc3NsX2RjdHg7Ci0tCUNS WVBUT193X2xvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0rCWludCBsb2NrZWQ7Ci0rCWxvY2tlZCA9 IHByaXZhdGVfUkFORF9sb2NrKDEpOwotIAlGSVBTX2RyYmdfdW5pbnN0YW50aWF0ZShkY3R4KTsK LS0JQ1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwlpZiAobG9ja2VkKQotKwkJ cHJpdmF0ZV9SQU5EX2xvY2soMCk7Ci0gCX0KLSAKLSBzdGF0aWMgaW50IGZpcHNfZHJiZ19zZWVk KGNvbnN0IHZvaWQgKnNlZWQsIGludCBzZWVkbGVuKQotIAl7Ci0gCURSQkdfQ1RYICpkY3R4ID0g Jm9zc2xfZGN0eDsKLSsJaW50IGxvY2tlZDsKLSsJaW50IHJldCA9IDE7Ci0rCi0rCWxvY2tlZCA9 IHByaXZhdGVfUkFORF9sb2NrKDEpOwotIAlpZiAoZGN0eC0+cmFuZF9zZWVkX2NiKQotLQkJcmV0 dXJuIGRjdHgtPnJhbmRfc2VlZF9jYihkY3R4LCBzZWVkLCBzZWVkbGVuKTsKLS0JcmV0dXJuIDE7 Ci0rCQlyZXQgPSBkY3R4LT5yYW5kX3NlZWRfY2IoZGN0eCwgc2VlZCwgc2VlZGxlbik7Ci0rCWlm IChsb2NrZWQpCi0rCQlwcml2YXRlX1JBTkRfbG9jaygwKTsKLSsJcmV0dXJuIHJldDsKLSAJfQot IAotIHN0YXRpYyBpbnQgZmlwc19kcmJnX2FkZChjb25zdCB2b2lkICpzZWVkLCBpbnQgc2VlZGxl biwKLSAJCQkJCWRvdWJsZSBhZGRfZW50cm9weSkKLSAJewotIAlEUkJHX0NUWCAqZGN0eCA9ICZv c3NsX2RjdHg7Ci0rCWludCBsb2NrZWQ7Ci0rCWludCByZXQgPSAxOwotKwotKwlsb2NrZWQgPSBw cml2YXRlX1JBTkRfbG9jaygxKTsKLSAJaWYgKGRjdHgtPnJhbmRfYWRkX2NiKQotLQkJcmV0dXJu IGRjdHgtPnJhbmRfYWRkX2NiKGRjdHgsIHNlZWQsIHNlZWRsZW4sIGFkZF9lbnRyb3B5KTsKLS0J cmV0dXJuIDE7Ci0rCQlyZXQgPSBkY3R4LT5yYW5kX2FkZF9jYihkY3R4LCBzZWVkLCBzZWVkbGVu LCBhZGRfZW50cm9weSk7Ci0rCWlmIChsb2NrZWQpCi0rCQlwcml2YXRlX1JBTkRfbG9jaygwKTsK LSsJcmV0dXJuIHJldDsKLSAJfQotIAotIHN0YXRpYyBjb25zdCBSQU5EX01FVEhPRCByYW5kX2Ry YmdfbWV0aCA9Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzLmguZmlw cy1yZXFzIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL2ZpcHMuaAotLS0tIG9wZW5zc2wtMS4w LjFnL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS40MjE1 NDAwMzEgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzLmgJMjAxNC0w NS0wNiAxNjoyMjoyMS40MzM1NDAzMDcgKzAyMDAKLUBAIC05Niw2ICs5Niw3IEBAIHZvaWQgRklQ U19jb3JydXB0X2RzYV9rZXlnZW4odm9pZCk7Ci0gaW50IEZJUFNfc2VsZnRlc3RfZHNhKHZvaWQp OwotIGludCBGSVBTX3NlbGZ0ZXN0X2VjZHNhKHZvaWQpOwotIGludCBGSVBTX3NlbGZ0ZXN0X2Vj ZGgodm9pZCk7Ci0raW50IEZJUFNfc2VsZnRlc3RfZGgodm9pZCk7Ci0gdm9pZCBGSVBTX2NvcnJ1 cHRfcm5nKHZvaWQpOwotIHZvaWQgRklQU19ybmdfc3RpY2sodm9pZCk7Ci0gdm9pZCBGSVBTX3g5 MzFfc3RpY2soaW50IG9ub2ZmKTsKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBz L2ZpcHNfcG9zdC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX3Bv c3QuYwotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMtcmVx cwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQyMDU0MDAwOCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFn L2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDMzNTQwMzA3ICsw MjAwCi1AQCAtOTksNiArOTksOCBAQCBpbnQgRklQU19zZWxmdGVzdCh2b2lkKQotIAkJcnYgPSAw OwotIAlpZiAoIUZJUFNfc2VsZnRlc3RfZHNhKCkpCi0gCQlydiA9IDA7Ci0rCWlmICghRklQU19z ZWxmdGVzdF9kaCgpKQotKwkJcnYgPSAwOwotIAlpZiAoIUZJUFNfc2VsZnRlc3RfZWNkaCgpKQot IAkJcnYgPSAwOwotIAlyZXR1cm4gcnY7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8v Zmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8v Zmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvY3J5cHRvL2ZpcHMv Zmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNjc1MzY0 NjkgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVz dC5jCTIwMTQtMDUtMDYgMTY6MjI6MjEuNDM0NTQwMzMwICswMjAwCi1AQCAtNjAsNjkgKzYwLDEx MyBAQAotICNpZmRlZiBPUEVOU1NMX0ZJUFMKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hh ciBuW10gPQotLSJceDAwXHhCQlx4RjhceDJGXHgwOVx4MDZceDgyXHhDRVx4OUNceDIzXHgzOFx4 QUNceDJCXHg5RFx4QThceDcxIgotLSJceEY3XHgzNlx4OERceDA3XHhFRVx4RDRceDEwXHg0M1x4 QTRceDQwXHhENlx4QjZceEYwXHg3NFx4NTRceEY1IgotLSJceDFGXHhCOFx4REZceEJBXHhBRlx4 MDNceDVDXHgwMlx4QUJceDYxXHhFQVx4NDhceENFXHhFQlx4NkZceENEIgotLSJceDQ4XHg3Nlx4 RURceDUyXHgwRFx4NjBceEUxXHhFQ1x4NDZceDE5XHg3MVx4OURceDhBXHg1Qlx4OEJceDgwIgot LSJceDdGXHhBRlx4QjhceEUwXHhBM1x4REZceEM3XHgzN1x4NzJceDNFXHhFNlx4QjRceEI3XHhE OVx4M0FceDI1IgotLSJceDg0XHhFRVx4NkFceDY0XHg5RFx4MDZceDA5XHg1M1x4NzRceDg4XHgz NFx4QjJceDQ1XHg0NVx4OThceDM5IgotLSJceDRFXHhFMFx4QUFceEIxXHgyRFx4N0JceDYxXHhB NVx4MUZceDUyXHg3QVx4OUFceDQxXHhGNlx4QzFceDY4IgotLSJceDdGXHhFMlx4NTNceDcyXHg5 OFx4Q0FceDJBXHg4Rlx4NTlceDQ2XHhGOFx4RTVceEZEXHgwOVx4MURceEJEIgotLSJceENCIjsK LSsiXHgwMFx4YzlceGQ1XHg2ZFx4OWRceDkwXHhkYlx4NDNceGQ2XHgwMlx4ZWRceDk2XHg4OFx4 MTNceDhhIgotKyJceGIyXHhiZlx4NmVceGExXHgwNlx4MTBceGIyXHg3OFx4MzdceGE3XHgxNFx4 YThceGZmXHhkZFx4MDAiCi0rIlx4ZGRceGI0XHg5M1x4YTBceDQ1XHhjY1x4OTZceDkwXHhlZFx4 YWRceGE5XHhkZFx4YzRceGQ2XHhjYSIKLSsiXHgwY1x4ZjBceGVkXHg0Zlx4NzJceDVlXHgyMVx4 NDlceDlhXHgxOFx4MTJceDE1XHg4Zlx4OTBceDVhIgotKyJceGRiXHhiNlx4MzNceDk5XHhhM1x4 ZTZceGI0XHhmMFx4YzRceDk3XHgyMVx4MjZceGJiXHhlM1x4YmEiCi0rIlx4ZjJceGZmXHhhMFx4 NzJceGRhXHg4OVx4NjNceDhlXHg4Ylx4M2VceDA4XHg5ZFx4OTJceDJhXHhiZSIKLSsiXHgxNlx4 ZTFceDQzXHgxNVx4ZmNceDU3XHhjN1x4MWZceDA5XHgxMVx4NjdceDFjXHhhOVx4OTZceGQxIgot KyJceDhiXHgzZVx4ODBceDkzXHhjMVx4NTlceGQwXHg2ZFx4MzlceGYyXHhhY1x4OTVceGNjXHgx MFx4NzUiCi0rIlx4ZTlceDMxXHgyNFx4ZDFceDQzXHhhZlx4NjhceDUyXHg0Ylx4ZTdceDE2XHhk N1x4NDlceDY1XHg2ZiIKLSsiXHgyNlx4YzBceDg2XHhhZFx4YzBceDA3XHgwYVx4YzFceGUxXHgy Zlx4ODdceDg1XHg4Nlx4M2JceGRjIgotKyJceDVhXHg5OVx4YmVceGU5XHhmOVx4YjlceGU5XHg4 Mlx4MjdceDUxXHgwNFx4MTVceGFiXHgwNlx4MGUiCi0rIlx4NzZceDVhXHgyOFx4OGRceDkyXHhi ZFx4YzVceGI1XHg3Ylx4YThceGRmXHg0ZVx4NDdceGEyXHhjMSIKLSsiXHhlN1x4NTJceGJmXHg0 N1x4ZjdceDYyXHhlMFx4M2FceDZmXHg0ZFx4NmFceDRkXHg0ZVx4ZDRceGI5IgotKyJceDU5XHg2 OVx4ZmFceGIyXHgxNFx4YzFceGVlXHhlNlx4MmZceDk1XHhjZFx4OTRceDcyXHhhZVx4ZTQiCi0r Ilx4ZGJceDE4XHg5YVx4YzRceGNkXHg3MFx4YmRceGVlXHgzMVx4MTZceGI3XHg0OVx4NjVceGFj XHg0MCIKLSsiXHgxOVx4MGVceGI1XHg2ZFx4ODNceGYxXHgzNlx4YmJceDA4XHgyZlx4MmVceDRl XHg5Mlx4NjJceGE0IgotKyJceGZmXHg1MFx4ZGJceDIwXHg0NVx4YTJceGViXHgxNlx4N2FceGYy XHhkNVx4MjhceGMxXHhmZFx4NGUiCi0rIlx4MDNceDcxIjsKLSsKLSAKLSBzdGF0aWMgaW50IGNv cnJ1cHRfcnNhOwotIAotIHN0YXRpYyBpbnQgc2V0cnNha2V5KFJTQSAqa2V5KQotICAgICB7Ci0t ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGVbXSA9ICJceDExIjsKLSsgICAgc3RhdGlj IGNvbnN0IHVuc2lnbmVkIGNoYXIgZVtdID0gIlx4MDFceDAwXHgwMSI7Ci0gCi0gICAgIHN0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyIGRbXSA9Ci0tIlx4MDBceEE1XHhEQVx4RkNceDUzXHg0MVx4 RkFceEYyXHg4OVx4QzRceEI5XHg4OFx4REJceDMwXHhDMVx4Q0QiCi0tIlx4RjhceDNGXHgzMVx4 MjVceDFFXHgwNlx4NjhceEI0XHgyN1x4ODRceDgxXHgzOFx4MDFceDU3XHg5Nlx4NDEiCi0tIlx4 QjJceDk0XHgxMFx4QjNceEM3XHg5OVx4OERceDZCXHhDNFx4NjVceDc0XHg1RVx4NUNceDM5XHgy Nlx4NjkiCi0tIlx4RDZceDg3XHgwRFx4QTJceEMwXHg4Mlx4QTlceDM5XHhFM1x4N0ZceERDXHhC OFx4MkVceEM5XHgzRVx4REEiCi0tIlx4QzlceDdGXHhGM1x4QURceDU5XHg1MFx4QUNceENGXHhC Q1x4MTFceDFDXHg3Nlx4RjFceEE5XHg1Mlx4OTQiCi0tIlx4NDRceEU1XHg2QVx4QUZceDY4XHhD NVx4NkNceDA5XHgyQ1x4RDNceDhEXHhDM1x4QkVceEY1XHhEMlx4MEEiCi0tIlx4OTNceDk5XHgy Nlx4RURceDRGXHg3NFx4QTFceDNFXHhERFx4RkJceEUxXHhBMVx4Q0VceENDXHg0OFx4OTQiCi0t Ilx4QUZceDk0XHgyOFx4QzJceEI3XHhCOFx4ODhceDNGXHhFNFx4NDZceDNBXHg0Qlx4QzhceDVC XHgxQ1x4QjMiCi0tIlx4QzEiOwotKyJceDM2XHgyN1x4M2RceGIxXHhmOVx4MWJceGRiXHhhN1x4 YTBceDQxXHg3Zlx4MTJceDIzXHhhY1x4MjMiCi0rIlx4MjlceDk5XHhkNVx4M2FceDdiXHg2MFx4 NjdceDQxXHgwN1x4NjNceDUzXHhiNFx4ZDJceGU3XHg1OCIKLSsiXHg5NVx4MGFceGM3XHgwNVx4 ZjNceDRlXHhiMlx4YjRceDEyXHhkNFx4NzBceGRjXHg0Zlx4ODVceDA2IgotKyJceGQzXHhkZFx4 ZDhceDYzXHgyN1x4M2VceDY3XHgzMVx4MjFceDI0XHgzOVx4MDRceGJjXHgwNlx4YTQiCi0rIlx4 Y2NceGNlXHgyYlx4N2FceGZlXHg3Ylx4YWRceGRlXHgxMVx4NmVceGEzXHhhNVx4ZTZceDA0XHg1 MyIKLSsiXHgwZVx4YTNceDRlXHgyZFx4YjRceDhmXHgzMVx4YmZceGNhXHg3NVx4MjVceDUyXHgw Mlx4ODVceGRlIgotKyJceDNkXHhiMlx4NzJceDQzXHhiMlx4ODlceDhhXHg5YVx4MzRceDQxXHgy Nlx4M2ZceDlhXHg2N1x4YmUiCi0rIlx4YTRceDk2XHg3Ylx4MGVceDc1XHhiYVx4YTZceDkzXHhk NVx4YjhceGQ4XHhiOFx4NTdceGYyXHg0YiIKLSsiXHgwZlx4MTRceDgxXHhkMVx4NTdceDRlXHhm Nlx4NDVceDRjXHhhNlx4M2JceGQwXHg3MFx4Y2FceGQzIgotKyJceDlkXHg1NVx4ZGVceDIyXHgw NVx4ZTdceDhlXHgyOFx4NGRceGVlXHgxMVx4Y2ZceGI2XHg2N1x4NzYiCi0rIlx4MDlceGQzXHhl M1x4M2NceDEzXHhmOVx4OTlceDM0XHgxMFx4N2JceGVjXHg4MVx4MzhceGYwXHhiNiIKLSsiXHgz NFx4OWNceDliXHg1MFx4NmZceDBiXHg5MVx4ODFceDRkXHg4OVx4OTRceDA0XHg3Ylx4ZjBceDNj IgotKyJceGY0XHhiMVx4YjJceDAwXHg0OFx4OGRceDVhXHg4Zlx4ODhceDllXHhjNVx4YWJceDNh XHg5ZVx4NDQiCi0rIlx4M2ZceDU0XHhlN1x4ZDlceDZlXHg0N1x4YWFceGExXHhiZFx4NDBceDQ2 XHgzMVx4ZjlceGYwXHgzNCIKLSsiXHhiNlx4MDRceGUxXHgyYlx4NWJceDczXHg4Nlx4ZGRceDNh XHg5Mlx4MWJceDcxXHhjN1x4M2ZceDMyIgotKyJceGU1XHhjM1x4YzJceGFiXHhhMVx4N2VceGJm XHhhNFx4NTJceGEwXHhiMFx4NjhceDkwXHhkMVx4MjAiCi0rIlx4MTJceDc5XHhlOVx4ZDdceGM5 XHg0MFx4YmFceGYyXHgxOVx4YzdceGE1XHgwMFx4OTJceDg2XHgwZCIKLSsiXHgwMSI7Ci0gCi0g ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBbXSA9Ci0tIlx4MDBceEVFXHhDRlx4QUVc eDgxXHhCMVx4QjlceEIzXHhDOVx4MDhceDgxXHgwQlx4MTBceEExXHhCNVx4NjAiCi0tIlx4MDFc eDk5XHhFQlx4OUZceDQ0XHhBRVx4RjRceEZEXHhBNFx4OTNceEI4XHgxQVx4OUVceDNEXHg4NFx4 RjYiCi0tIlx4MzJceDEyXHg0RVx4RjBceDIzXHg2RVx4NURceDFFXHgzQlx4N0VceDI4XHhGQVx4 RTdceEFBXHgwNFx4MEEiCi0tIlx4MkRceDVCXHgyNVx4MjFceDc2XHg0NVx4OURceDFGXHgzOVx4 NzVceDQxXHhCQVx4MkFceDU4XHhGQlx4NjUiCi0tIlx4OTkiOwotKyJceDAwXHhmY1x4NWNceDZl XHgxNlx4Y2VceDFmXHgwM1x4N2JceGNkXHhmN1x4YjNceDcyXHhiMlx4OGYiCi0rIlx4MTZceDcy XHhiOFx4NTZceGFlXHhmN1x4Y2RceDY3XHhkOFx4NGVceDdkXHgwN1x4YWZceGQ1XHg0MyIKLSsi XHgyNlx4YzNceDM1XHhiZVx4NDNceDhmXHg0ZVx4MmZceDFjXHg0M1x4NGVceDZiXHhkMlx4YjJc eGVjIgotKyJceDUyXHg2ZFx4OTdceDUyXHgyYlx4Y2NceDVjXHgzYVx4NmJceGY0XHgxNFx4YzZc eDc0XHhkYVx4NjYiCi0rIlx4MzhceDFjXHg3YVx4M2ZceDg0XHgyZlx4ZTNceGY5XHg1YVx4Yjhc eDY1XHg2OVx4NDZceDA2XHhhMyIKLSsiXHgzN1x4NzlceGIyXHhhMVx4NWJceDU4XHhlZFx4NWVc eGE3XHg1Zlx4OGNceDY1XHg2Nlx4YmJceGQxIgotKyJceDI0XHgzNlx4ZTZceDM3XHhhN1x4M2Rc eDQ5XHg3N1x4OGFceDhjXHgzNFx4ZDhceDY5XHgyOVx4ZjMiCi0rIlx4NGRceDU4XHgyMlx4YjBc eDUxXHgyNFx4YjZceDQwXHhhOFx4ODZceDU5XHgwYVx4YjdceGJhXHg1YyIKLSsiXHg5N1x4ZGFc eDU3XHhlOFx4MzZceGRhXHg3YVx4OWNceGFkIjsKLSAKLSAgICAgc3RhdGljIGNvbnN0IHVuc2ln bmVkIGNoYXIgcVtdID0KLS0iXHgwMFx4QzlceDdGXHhCMVx4RjBceDI3XHhGNFx4NTNceEY2XHgz NFx4MTJceDMzXHhFQVx4QUFceEQxXHhEOSIKLS0iXHgzNVx4M0ZceDZDXHg0Mlx4RDBceDg4XHg2 Nlx4QjFceEQwXHg1QVx4MEZceDIwXHgzNVx4MDJceDhCXHg5RCIKLS0iXHg4Nlx4OThceDQwXHhC NFx4MTZceDY2XHhCNFx4MkVceDkyXHhFQVx4MERceEEzXHhCNFx4MzJceDA0XHhCNSIKLS0iXHhD Rlx4Q0VceDMzXHg1Mlx4NTJceDREXHgwNFx4MTZceEE1XHhBNFx4NDFceEU3XHgwMFx4QUZceDQ2 XHgxNSIKLS0iXHgwMyI7Ci0rIlx4MDBceGNjXHhiZVx4N2JceDA5XHg2OVx4MDZceGVlXHg0NVx4 YmZceDg4XHg0N1x4MzhceGE4XHhmOCIKLSsiXHgxN1x4ZTVceGI2XHhiYVx4NjdceDU1XHhlM1x4 ZThceDA1XHg4Ylx4YjhceGUyXHg1M1x4ZDZceDhlIgotKyJceGVmXHgyY1x4ZTdceDRmXHg0YVx4 ZjdceDRlXHgyNlx4OGRceDg1XHgwYlx4M2ZceGVjXHhjM1x4MWMiCi0rIlx4ZDRceGViXHhlY1x4 NmFceGM4XHg3Mlx4MmFceDI1XHg3ZFx4ZmRceGE2XHg3N1x4OTZceGYwXHgxZSIKLSsiXHhjZFx4 MjhceDU3XHhmOFx4MzdceDMwXHg3NVx4NmJceGJkXHhkNFx4N2JceDBjXHg4N1x4YzVceDZjIgot KyJceDg3XHg0MFx4YTVceGJiXHgyN1x4MmNceDc4XHhjOVx4NzRceDVhXHg1NFx4NWJceDBiXHgz MFx4NmYiCi0rIlx4NDRceDRhXHhmYVx4NzFceGU0XHgyMVx4NjFceDY2XHhmOVx4ZWVceDY1XHhk ZVx4N2NceDA0XHhkNyIKLSsiXHhmZFx4YTlceDE1XHg1Ylx4N2ZceGUyXHg3YVx4YmFceDY5XHg4 Nlx4NzJceGE2XHgwNlx4OGRceDliIgotKyJceDkwXHg1NVx4NjBceDllXHg0Y1x4NWRceGE5XHhi Nlx4NTUiOwotKwotIAotICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBkbXAxW10gPQot LSJceDU0XHg0OVx4NENceEE2XHgzRVx4QkFceDAzXHgzN1x4RTRceEUyXHg0MFx4MjNceEZDXHhE Nlx4OUFceDVBIgotLSJceEVCXHgwN1x4RERceERDXHgwMVx4ODNceEE0XHhEMFx4QUNceDlCXHg1 NFx4QjBceDUxXHhGMlx4QjFceDNFIgotLSJceEQ5XHg0OVx4MDlceDc1XHhFQVx4QjdceDc0XHgx NFx4RkZceDU5XHhDMVx4RjdceDY5XHgyRVx4OUFceDJFIgotLSJceDIwXHgyQlx4MzhceEZDXHg5 MVx4MEFceDQ3XHg0MVx4NzRceEFEXHhDOVx4M0NceDFGXHg2N1x4QzlceDgxIjsKLSsiXHg3YVx4 ZDZceDEyXHhkMFx4MGVceGVjXHg5MVx4YTlceDg1XHg4Ylx4ZjhceDUwXHhmMFx4MTFceDJlIgot KyJceDAwXHgxMVx4MzJceDQwXHg2MFx4NjZceDFmXHgxMVx4ZWVceGMyXHg3NVx4MjdceDY1XHg0 Ylx4MTYiCi0rIlx4NjdceDE2XHg5NVx4ZDJceDE0XHhjM1x4MWRceGIzXHg0OFx4MWZceGI3XHhl NFx4MGJceDJiXHg3NCIKLSsiXHhjM1x4ZGJceDUwXHgyN1x4ZjlceDg1XHgzYVx4ZmFceGE5XHgw OFx4MjNceGMxXHg2NVx4M2RceDM0IgotKyJceDNhXHhjOFx4NTZceDdhXHg2NVx4NDVceDM2XHg2 ZVx4YWVceDJhXHhjZVx4OWZceDQzXHg0M1x4ZDciCi0rIlx4MTBceGU5XHg5ZVx4MThceGY0XHhh NFx4MzVceGRhXHg4YVx4NmJceGIwXHgzZlx4ZGRceDUzXHhlMyIKLSsiXHhhOFx4YzVceDRlXHg3 OVx4OWRceDFmXHg1MVx4OGNceGEyXHhjYVx4NjZceDNjXHg2YVx4MmFceGZmIgotKyJceDhlXHhk Mlx4ZjNceGI3XHhjYlx4ODJceGRhXHhkZVx4MmNceGU2XHhkMlx4OGNceGIzXHhhZFx4YjYiCi0r Ilx4NGNceDk1XHg1NVx4NzZceGJkXHhjOVx4YzhceGQxIjsKLSsKLSAKLSAgICAgc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIgZG1xMVtdID0KLS0iXHg0N1x4MUVceDAyXHg5MFx4RkZceDBBXHhG MFx4NzVceDAzXHg1MVx4QjdceEY4XHg3OFx4ODZceDRDXHhBOSIKLS0iXHg2MVx4QURceEJEXHgz QVx4OEFceDdFXHg5OVx4MUNceDVDXHgwNVx4NTZceEE5XHg0Q1x4MzFceDQ2XHhBNyIKLS0iXHhG OVx4ODBceDNGXHg4Rlx4NkZceDhBXHhFM1x4NDJceEU5XHgzMVx4RkRceDhBXHhFNFx4N0FceDIy XHgwRCIKLS0iXHgxQlx4OTlceEE0XHg5NVx4ODRceDk4XHgwN1x4RkVceDM5XHhGOVx4MjRceDVB XHg5OFx4MzZceERBXHgzRCI7Ci0tICAgIAotKyJceDAwXHg4M1x4MjNceDFkXHhiYlx4MTFceDQy XHgxN1x4MmJceDI1XHg1YVx4MmNceDAzXHhlNlx4NzUiCi0rIlx4YzFceDE4XHhhOFx4YzlceDBi XHg5Nlx4YmZceGJhXHhjNFx4OTJceDkxXHg4MFx4YTVceDIyXHgyZiIKLSsiXHhiYVx4OTFceDkw XHgzNlx4MDFceDU2XHgxNVx4MDBceDJjXHg3NFx4YTJceDk3XHhmN1x4MTVceGExIgotKyJceDQ5 XHhkZlx4MzJceDM1XHhkMlx4ZGRceDBjXHg5MVx4YTZceGY4XHhlN1x4YmVceDgxXHgzNlx4OWIi Ci0rIlx4MDNceGRjXHg2Ylx4M2JceGQ4XHg1ZFx4NzlceDU3XHhlMFx4ZTZceDRmXHg0OVx4ZGZc eDRjXHg1YyIKLSsiXHgwZVx4ZTVceDIxXHg0MVx4OTVceGZkXHhhZFx4ZmZceDlhXHgzZVx4YTBc eGY5XHgwZlx4NTlceDllIgotKyJceDZhXHhhN1x4N2JceDcxXHhhN1x4MjRceDlhXHgzNlx4NTJc eGFlXHg5N1x4MjBceGMxXHg1ZVx4NzgiCi0rIlx4ZDlceDQ3XHg4Ylx4MWVceDY3XHhmMlx4YWZc eDk4XHhlNlx4MmRceGVmXHgxMFx4ZDdceGYxXHhhYiIKLSsiXHg0OVx4ZWVceGU1XHg0Ylx4N2Vc eGFlXHgxZlx4MWRceDYxIjsKLSsKLSsKLSAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg aXFtcFtdID0KLS0iXHgwMFx4QjBceDZDXHg0Rlx4REFceEJCXHg2M1x4MDFceDE5XHg4RFx4MjZc eDVCXHhEQlx4QUVceDk0XHgyMyIKLS0iXHhCM1x4ODBceEYyXHg3MVx4RjdceDM0XHg1M1x4ODhc eDUwXHg5M1x4MDdceDdGXHhDRFx4MzlceEUyXHgxMSIKLS0iXHg5Rlx4QzlceDg2XHgzMlx4MTVc eDRGXHg1OFx4ODNceEIxXHg2N1x4QTlceDY3XHhCRlx4NDBceDJCXHg0RSIKLS0iXHg5RVx4MkVc eDBGXHg5Nlx4NTZceEU2XHg5OFx4RUFceDM2XHg2Nlx4RURceEZCXHgyNVx4NzlceDgwXHgzOSIK LS0iXHhGNyI7Ci0rIlx4MjNceDk2XHhjMVx4OTFceDE3XHg1ZVx4MGFceDgzXHhkMlx4ZGNceDdi XHg2OVx4YjJceDU5XHgxZCIKLSsiXHgzM1x4NThceDUyXHgzZlx4MThceGM3XHgwOVx4NTBceDFj XHhiOVx4YTFceGJiXHg0Y1x4YTJceDM4IgotKyJceDQwXHg0Y1x4OWFceDhlXHhmZVx4OWNceDkw XHg5Mlx4ZDBceDcxXHg5Zlx4ODlceDk5XHg1MFx4OTEiCi0rIlx4MWZceDM0XHg4Ylx4NzRceDUz XHgxMVx4MTFceDRhXHg3MFx4ZTJceGY3XHgzMFx4ZDhceDhjXHg4MCIKLSsiXHhlMVx4Y2NceDlm XHhmMVx4NjNceDE3XHgxYVx4N2RceDY3XHgyOVx4NGNceGNiXHg0ZVx4NzRceDdiIgotKyJceGUw XHgzZVx4OWVceDJmXHhmNFx4NjdceDhmXHhlY1x4YjlceDVjXHgwMFx4MWVceDdlXHhhMlx4N2Ii Ci0rIlx4OTJceGM5XHg2Zlx4NGNceGU0XHgwZVx4ZjlceDQ4XHg2M1x4Y2RceDUwXHgyMlx4NWRc eGJmXHhiNiIKLSsiXHg5ZFx4MDFceDMzXHg2YVx4ZjRceDUwXHhiZVx4ODZceDk4XHg0Zlx4Y2Fc eDNmXHgzYVx4ZmFceGNmIgotKyJceDA3XHg0MFx4YzRceGFhXHhhZFx4YWVceGJlXHhiZiI7Ci0g Ci0gICAgIGtleS0+biA9IEJOX2JpbjJibihuLCBzaXplb2YobiktMSwga2V5LT5uKTsKLSAgICAg aWYgKGNvcnJ1cHRfcnNhKQotLQlCTl9zZXRfYml0KGtleS0+biwgMTAyNCk7Ci0rCUJOX3NldF9i aXQoa2V5LT5uLCAyMDQ4KTsKLSAgICAga2V5LT5lID0gQk5fYmluMmJuKGUsIHNpemVvZihlKS0x LCBrZXktPmUpOwotICAgICBrZXktPmQgPSBCTl9iaW4yYm4oZCwgc2l6ZW9mKGQpLTEsIGtleS0+ ZCk7Ci0gICAgIGtleS0+cCA9IEJOX2JpbjJibihwLCBzaXplb2YocCktMSwga2V5LT5wKTsKLUBA IC0xNDUsMjAxICsxODksMzkxIEBAIHZvaWQgRklQU19jb3JydXB0X3JzYSgpCi0gc3RhdGljIGNv bnN0IHVuc2lnbmVkIGNoYXIga2F0X3Ric1tdID0gIk9wZW5TU0wgRklQUyAxNDAtMiBQdWJsaWMg S2V5IFJTQSBLQVQiOwotIAotIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNT X1NIQTFbXSA9IHsKLS0gIDB4MkQsIDB4QUYsIDB4NkUsIDB4QzIsIDB4OTgsIDB4RkIsIDB4OEEs IDB4QTEsIDB4QjksIDB4NDYsIDB4REEsIDB4MEYsCi0tICAweDAxLCAweDFFLCAweDM3LCAweDkz LCAweEMyLCAweDU1LCAweDI3LCAweEU0LCAweDFELCAweEQyLCAweDkwLCAweEJCLAotLSAgMHhG NCwgMHhCRiwgMHg0QSwgMHg3NCwgMHgzOSwgMHg1MSwgMHhCQiwgMHhFOCwgMHgwQywgMHhCNywg MHhGOCwgMHhEMywKLS0gIDB4RDEsIDB4REYsIDB4RTcsIDB4QkUsIDB4ODAsIDB4MDUsIDB4QzMs IDB4QjUsIDB4QzcsIDB4ODMsIDB4RDUsIDB4NEMsCi0tICAweDdGLCAweDQ5LCAweEZCLCAweDNG LCAweDI5LCAweDlCLCAweEUxLCAweDEyLCAweDUxLCAweDYwLCAweEQwLCAweEE3LAotLSAgMHgw RCwgMHhBOSwgMHgyOCwgMHg1NiwgMHg3MywgMHhEOSwgMHgwNywgMHhFMywgMHg1RSwgMHgzRiwg MHg5QiwgMHhGNSwKLS0gIDB4QjYsIDB4RjMsIDB4RjIsIDB4NUUsIDB4NzQsIDB4QzksIDB4ODMs IDB4ODEsIDB4NDcsIDB4RjAsIDB4QzUsIDB4NDUsCi0tICAweDBBLCAweEU5LCAweDhFLCAweDM4 LCAweEQ3LCAweDE4LCAweEM2LCAweDJBLCAweDBGLCAweEY4LCAweEI3LCAweDMxLAotLSAgMHhE NiwgMHg1NSwgMHhFNCwgMHg2NiwgMHg3OCwgMHg4MSwgMHhENCwgMHhFNiwgMHhEQiwgMHg5Riwg MHhCQSwgMHhFOCwKLS0gIDB4MjMsIDB4QjUsIDB4N0YsIDB4REMsIDB4MDgsIDB4RUEsIDB4RDUs IDB4MjYsIDB4MUUsIDB4MjAsIDB4MjUsIDB4ODQsCi0tICAweDI2LCAweEM2LCAweDc5LCAweEM5 LCAweDlCLCAweDNELCAweDdFLCAweEE5Ci0rIDB4QzIsIDB4ODAsIDB4ODIsIDB4NTYsIDB4RDgs IDB4QTcsIDB4QjIsIDB4OUMsIDB4RjUsIDB4RDYsIDB4M0MsIDB4RTMsCi0rIDB4QkYsIDB4RTks IDB4M0EsIDB4NTMsIDB4NDAsIDB4QUUsIDB4RjIsIDB4QTksIDB4NkEsIDB4MzksIDB4NDksIDB4 NUIsCi0rIDB4MDUsIDB4N0YsIDB4NjcsIDB4MzgsIDB4MkUsIDB4MUQsIDB4RTEsIDB4OTMsIDB4 MjIsIDB4NjUsIDB4NzksIDB4ODQsCi0rIDB4NjgsIDB4RkEsIDB4RDgsIDB4QUYsIDB4QTEsIDB4 OTgsIDB4NjEsIDB4NkYsIDB4NDQsIDB4MjcsIDB4QTYsIDB4OEIsCi0rIDB4Q0YsIDB4MEUsIDB4 MTMsIDB4QTksIDB4Q0UsIDB4RDcsIDB4NkMsIDB4RDIsIDB4MzgsIDB4QjUsIDB4MTYsIDB4Qjks Ci0rIDB4NjYsIDB4OTQsIDB4NDgsIDB4REUsIDB4OUUsIDB4MTksIDB4M0QsIDB4NkYsIDB4QjMs IDB4QTEsIDB4OUEsIDB4MTksCi0rIDB4REYsIDB4RkIsIDB4QUIsIDB4QTUsIDB4OUYsIDB4Mzgs IDB4REEsIDB4QzksIDB4MjEsIDB4OEYsIDB4Q0UsIDB4OTgsCi0rIDB4MDEsIDB4M0EsIDB4Qzgs IDB4RTAsIDB4REYsIDB4REEsIDB4RkMsIDB4RjAsIDB4QTYsIDB4ODYsIDB4MjksIDB4QjUsCi0r IDB4N0YsIDB4NjEsIDB4RkIsIDB4QkEsIDB4QzUsIDB4NDksIDB4QjIsIDB4N0MsIDB4NkEsIDB4 MjYsIDB4ODIsIDB4QzQsCi0rIDB4OEYsIDB4QUEsIDB4NUIsIDB4MTAsIDB4RDUsIDB4RUUsIDB4 QTAsIDB4NTUsIDB4NDIsIDB4RUYsIDB4MzIsIDB4NUEsCi0rIDB4M0YsIDB4NTUsIDB4QjMsIDB4 MkMsIDB4MjIsIDB4RTksIDB4NjUsIDB4REEsIDB4OEQsIDB4MEEsIDB4QjksIDB4NzAsCi0rIDB4 NDMsIDB4Q0MsIDB4M0YsIDB4NjQsIDB4OUMsIDB4QjUsIDB4NjUsIDB4NDksIDB4QkQsIDB4N0Ys IDB4MzUsIDB4QzEsCi0rIDB4MjAsIDB4ODUsIDB4MjQsIDB4RkUsIDB4QUEsIDB4NkIsIDB4Mzcs IDB4MDQsIDB4QTEsIDB4MEUsIDB4OUQsIDB4NUMsCi0rIDB4QkEsIDB4N0YsIDB4MTQsIDB4Njks IDB4QzUsIDB4OTMsIDB4QjIsIDB4MzMsIDB4QzIsIDB4QzAsIDB4QzcsIDB4REYsCi0rIDB4N0Us IDB4OUUsIDB4QTQsIDB4QjAsIDB4QTAsIDB4NjQsIDB4RDIsIDB4QUMsIDB4RkMsIDB4RkQsIDB4 RkQsIDB4OTksCi0rIDB4OEYsIDB4NkEsIDB4NDAsIDB4MjYsIDB4QzEsIDB4MkUsIDB4NEUsIDB4 OEIsIDB4MzMsIDB4QkUsIDB4RjEsIDB4NDUsCi0rIDB4NTksIDB4OEYsIDB4MzMsIDB4NDAsIDB4 MUQsIDB4MkEsIDB4RDIsIDB4RjcsIDB4NTAsIDB4ODMsIDB4ODksIDB4Q0YsCi0rIDB4OTQsIDB4 QzYsIDB4RjgsIDB4MzYsIDB4RjAsIDB4ODQsIDB4MEIsIDB4ODUsIDB4QTUsIDB4MDIsIDB4QTks IDB4MEYsCi0rIDB4NDEsIDB4N0EsIDB4NzcsIDB4QTMsIDB4MkYsIDB4NDcsIDB4MUUsIDB4MUQs IDB4RUMsIDB4RTYsIDB4RDMsIDB4MDEsCi0rIDB4MUUsIDB4NkYsIDB4N0EsIDB4OTYsIDB4NTAs IDB4MzcsIDB4MzcsIDB4NEIsIDB4MjcsIDB4NTIsIDB4MEIsIDB4REMsCi0rIDB4REIsIDB4Qzcs IDB4QTksIDB4MzEsIDB4QjIsIDB4NDAsIDB4RUUsIDB4NjAsIDB4NDEsIDB4MjYsIDB4NkEsIDB4 MDUsCi0rIDB4Q0UsIDB4MDgsIDB4MUQsIDB4ODkKLSB9OwotIAotIHN0YXRpYyBjb25zdCB1bnNp Z25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTIyNFtdID0gewotLSAgMHgzOSwgMHg0QSwgMHg2QSwg MHgyMCwgMHhCQywgMHhFOSwgMHgzMywgMHhFRCwgMHhFRiwgMHhDNSwgMHg1OCwgMHhBNywKLS0g IDB4RkUsIDB4ODEsIDB4QzQsIDB4MzYsIDB4NTAsIDB4OUEsIDB4MkMsIDB4ODIsIDB4OTgsIDB4 MDgsIDB4OTUsIDB4RkEsCi0tICAweEIxLCAweDlFLCAweEQyLCAweDU1LCAweDYxLCAweDg3LCAw eDIxLCAweDU5LCAweDg3LCAweDdCLCAweDFGLCAweDU3LAotLSAgMHgzMCwgMHg5RCwgMHgwRCwg MHg0QSwgMHgwNiwgMHhFQiwgMHg1MiwgMHgzNywgMHg1NSwgMHg1NCwgMHgxQywgMHg4OSwKLS0g IDB4ODMsIDB4NzUsIDB4NTksIDB4NjUsIDB4NjQsIDB4OTAsIDB4MkUsIDB4MTYsIDB4Q0MsIDB4 ODYsIDB4MDUsIDB4RUUsCi0tICAweEIxLCAweEU2LCAweDdCLCAweEJBLCAweDE2LCAweDc1LCAw eDBELCAweDBDLCAweDY0LCAweDBCLCAweEFCLCAweDIyLAotLSAgMHgxNSwgMHg3OCwgMHg2Qiwg MHg2RiwgMHhBNCwgMHhGQiwgMHg3NywgMHg0MCwgMHg2NCwgMHg2MiwgMHhEMSwgMHhCNSwKLS0g IDB4MzcsIDB4MUUsIDB4RTAsIDB4M0QsIDB4QTgsIDB4RjksIDB4RDIsIDB4QkQsIDB4QUEsIDB4 MzgsIDB4MjQsIDB4NDksCi0tICAweDU4LCAweEQyLCAweDc0LCAweDg1LCAweEY0LCAweEI1LCAw eDkzLCAweDhFLCAweEY1LCAweDAzLCAweEVBLCAweDJELAotLSAgMHhDOCwgMHg1MiwgMHhGQSwg MHhDRiwgMHg3RSwgMHgzNSwgMHhCMCwgMHg2QSwgMHhBRiwgMHg5NSwgMHhDMCwgMHgwMCwKLS0g IDB4NTQsIDB4NzYsIDB4M0QsIDB4MEMsIDB4OUMsIDB4QjIsIDB4RUUsIDB4QzAKLSsgMHhCNCwg MHgwMSwgMHg5MywgMHgxNiwgMHgwNSwgMHhGNiwgMHhFQiwgMHhFMiwgMHhBNCwgMHhFQiwgMHg0 OCwgMHhBQSwKLSsgMHgwMCwgMHhGNCwgMHhBMSwgMHg5OSwgMHgwQSwgMHhCNCwgMHhCNiwgMHg2 MywgMHhFOSwgMHg2OCwgMHhDQSwgMHhCMywKLSsgMHgxMywgMHhENywgMHg2NiwgMHg2QSwgMHhD RCwgMHhDQiwgMHgzMywgMHg5RiwgMHhFNSwgMHg4NCwgMHhFMiwgMHhDMywKLSsgMHgwQiwgMHg1 MywgMHhFNSwgMHg4QiwgMHg5NiwgMHg0QiwgMHhEQiwgMHgyRCwgMHg4MCwgMHhBNCwgMHgxRCwg MHhFMywKLSsgMHg4MSwgMHhEQywgMHg1MiwgMHg5OSwgMHhCQSwgMHg5QiwgMHg2QSwgMHg5RCwg MHg0OCwgMHgxRiwgMHg3MywgMHhGNywKLSsgMHhBQywgMHgwOSwgMHgxMywgMHhBMSwgMHgxNiwg MHgyQywgMHg2MCwgMHhGQiwgMHhCQywgMHgyNSwgMHhGNywgMHg1MywKLSsgMHhEMSwgMHgwNCwg MHg1QSwgMHgzRiwgMHg5NSwgMHgwOSwgMHg1RSwgMHhFNSwgMHhBMiwgMHg3RCwgMHhGQywgMHgy QSwKLSsgMHg1MSwgMHgxRCwgMHgyMSwgMHhDRSwgMHgyQiwgMHg0RSwgMHgxQiwgMHhCOCwgMHhD QiwgMHhERCwgMHgyNCwgMHhFRSwKLSsgMHg5OSwgMHgxRCwgMHgzNywgMHhEQywgMHhFRCwgMHg1 RiwgMHgyRiwgMHg0OCwgMHg1RSwgMHgzMywgMHg5NCwgMHgwNiwKLSsgMHgxOSwgMHhDRCwgMHg1 QSwgMHgyNiwgMHg4NSwgMHg3NywgMHg5RCwgMHhBRiwgMHg4NiwgMHg5NywgMHhDOSwgMHgwOCwK LSsgMHhENSwgMHg4MSwgMHgwRSwgMHhCOCwgMHg5RiwgMHhCNiwgMHhBRiwgMHgyMCwgMHg3Miwg MHhEQywgMHgxMywgMHg0RCwKLSsgMHg3QSwgMHhFNCwgMHg1QywgMHg4MSwgMHhERSwgMHhDMCwg MHgzRCwgMHgxOSwgMHg5QywgMHgzMywgMHgxMSwgMHgwNywKLSsgMHhENSwgMHhBOSwgMHg1MSwg MHg2NywgMHhDRCwgMHhGRCwgMHgzNywgMHg2MSwgMHgxNCwgMHg5RiwgMHhFNywgMHg3MCwKLSsg MHgxOCwgMHgzMiwgMHhDMywgMHgzNCwgMHg1NCwgMHgwRCwgMHg0RiwgMHhCNCwgMHhBRSwgMHg5 RiwgMHhFQywgMHg2NCwKLSsgMHhEOCwgMHhCMiwgMHgxNiwgMHhBNCwgMHhCMiwgMHg5OSwgMHg5 MiwgMHhDQiwgMHg3RiwgMHgxRiwgMHgwNiwgMHgxNywKLSsgMHg1RiwgMHhBMSwgMHgwNywgMHg2 OCwgMHhBRSwgMHhBNywgMHgyRCwgMHgwMywgMHg5MSwgMHgyQSwgMHg5RCwgMHg2OSwKLSsgMHhD MiwgMHg5RCwgMHg5MCwgMHhGNywgMHhGOSwgMHg2NiwgMHg1RCwgMHgxMywgMHhCNywgMHg3Riwg MHhEMywgMHg5NywKLSsgMHg0NSwgMHg5NywgMHg0MywgMHhEOCwgMHhDRSwgMHgzQywgMHhGMiwg MHg5OCwgMHg5OCwgMHhERCwgMHhFMiwgMHgyRCwKLSsgMHhDRiwgMHhBMSwgMHhDNCwgMHgyNSwg MHg0NiwgMHgyRSwgMHhEMiwgMHhFNSwgMHg1RiwgMHhDNiwgMHgwMSwgMHhDNSwKLSsgMHg0Riwg MHg0MiwgMHgyQiwgMHhERSwgMHgwRiwgMHhFQSwgMHg0QSwgMHg0RiwgMHhDMywgMHg1QiwgMHhE RiwgMHg5QiwKLSsgMHg1RCwgMHgzMCwgMHgxOCwgMHg5MywgMHhEMCwgMHhERSwgMHhDNSwgMHgw OSwgMHhBQSwgMHg1NywgMHg1NywgMHhCRCwKLSsgMHgyRCwgMHg4NCwgMHgwMywgMHhCNwotIH07 Ci0gCi0gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9QU1NfU0hBMjU2W10gPSB7 Ci0tICAweDZELCAweDNELCAweEJFLCAweDhGLCAweDYwLCAweDZELCAweDI1LCAweDE0LCAweEYw LCAweDMxLCAweEUzLCAweDg5LAotLSAgMHgwMCwgMHg5NywgMHhGQSwgMHg5OSwgMHg3MSwgMHgy OCwgMHhFNSwgMHgxMCwgMHgyNSwgMHg5QSwgMHhGMywgMHg4RiwKLS0gIDB4N0IsIDB4QzUsIDB4 QTgsIDB4NEEsIDB4NzQsIDB4NTEsIDB4MzYsIDB4RTIsIDB4OEQsIDB4N0QsIDB4NzMsIDB4Mjgs Ci0tICAweEMxLCAweDc3LCAweEM2LCAweDI3LCAweDk3LCAweDAwLCAweDhCLCAweDAwLCAweEEz LCAweDk2LCAweDczLCAweDRFLAotLSAgMHg3RCwgMHgyRSwgMHgyQywgMHgzNCwgMHg2OCwgMHg4 QywgMHg4RSwgMHhERiwgMHg5RCwgMHg0OSwgMHg0NywgMHgwNSwKLS0gIDB4QUIsIDB4RjUsIDB4 MDEsIDB4RDYsIDB4ODEsIDB4NDcsIDB4NzAsIDB4RjUsIDB4MUQsIDB4NkQsIDB4MjYsIDB4QkEs Ci0tICAweDJGLCAweDdBLCAweDU0LCAweDUzLCAweDRFLCAweEVELCAweDcxLCAweEQ5LCAweDVB LCAweEYzLCAweERBLCAweEI2LAotLSAgMHgwQiwgMHg0NywgMHgzNCwgMHhBRiwgMHg5MCwgMHhE QywgMHhDOCwgMHhEOSwgMHg2RiwgMHg1NiwgMHhDRCwgMHg5RiwKLS0gIDB4MjEsIDB4QjcsIDB4 N0UsIDB4QUQsIDB4N0MsIDB4MkYsIDB4NzUsIDB4NTAsIDB4NDcsIDB4MTIsIDB4RTQsIDB4NkQs Ci0tICAweDVGLCAweEI3LCAweDAxLCAweERGLCAweEMzLCAweDExLCAweDZDLCAweEE5LCAweDlF LCAweDQ5LCAweEI5LCAweEY2LAotLSAgMHg3MiwgMHhGNCwgMHhGNiwgMHhFRiwgMHg4OCwgMHgx RSwgMHgyRCwgMHgxQwotKyAweDM4LCAweERBLCAweDk5LCAweDUxLCAweDI2LCAweDM4LCAweEM2 LCAweDdGLCAweEM0LCAweDgxLCAweDU3LCAweDE5LAotKyAweDM1LCAweEM2LCAweEY2LCAweDFF LCAweDkwLCAweDQ3LCAweDIwLCAweDU1LCAweDQ3LCAweDU2LCAweDI2LCAweEU5LAotKyAweEYy LCAweEE4LCAweDM5LCAweDZDLCAweEQ1LCAweENELCAweENCLCAweDU1LCAweEZDLCAweDBDLCAw eEM1LCAweENCLAotKyAweEY3LCAweDQwLCAweDE3LCAweDNCLCAweENGLCAweEU0LCAweDA1LCAw eDAzLCAweDNCLCAweEEwLCAweEIyLCAweEM5LAotKyAweDBELCAweDVFLCAweDQ4LCAweDNBLCAw eEU5LCAweEFELCAweDI4LCAweDcxLCAweDdELCAweDhGLCAweDg5LCAweDE2LAotKyAweDU5LCAw eDkzLCAweDM1LCAweERDLCAweDRELCAweDdCLCAweERGLCAweDg0LCAweEU0LCAweDY4LCAweEFB LCAweDMzLAotKyAweEFBLCAweERDLCAweDY2LCAweDUwLCAweEM4LCAweEE5LCAweDMyLCAweDEy LCAweERDLCAweEM2LCAweDkwLCAweDQ5LAotKyAweDBCLCAweDc1LCAweEZGLCAweDlCLCAweDk1 LCAweDAwLCAweDlBLCAweDkwLCAweEUwLCAweEQ0LCAweDBFLCAweDY3LAotKyAweEFCLCAweDND LCAweDQ3LCAweDM2LCAweEM1LCAweDJFLCAweDFDLCAweDQ2LCAweEYwLCAweDJELCAweEQzLCAw eDhCLAotKyAweDQyLCAweDA4LCAweERFLCAweDBELCAweEI2LCAweDJDLCAweDg2LCAweEIwLCAw eDM1LCAweDcxLCAweDE4LCAweDZCLAotKyAweDg5LCAweDY3LCAweEMwLCAweDA1LCAweEFELCAw eEY0LCAweDFELCAweDYyLCAweDRFLCAweDc1LCAweEVDLCAweEQ2LAotKyAweEMyLCAweERCLCAw eDA3LCAweEIwLCAweEI2LCAweDhELCAweDE1LCAweEFELCAweENELCAweEJGLCAweEY1LCAweDYw LAotKyAweDc2LCAweEFFLCAweDQ4LCAweEI4LCAweDc3LCAweDdGLCAweEM1LCAweDAxLCAweEQ5 LCAweDI5LCAweEJCLCAweEQ2LAotKyAweDE3LCAweEEyLCAweDIwLCAweDVBLCAweEMwLCAweDRB LCAweDNCLCAweDM0LCAweEM4LCAweEI5LCAweDM5LCAweENGLAotKyAweDA2LCAweDg5LCAweDk1 LCAweDZGLCAweEM3LCAweENBLCAweEM0LCAweEU0LCAweDQzLCAweERGLCAweDVBLCAweDIzLAot KyAweEUyLCAweDg5LCAweEEzLCAweDM4LCAweDc4LCAweDMxLCAweDM4LCAweEM2LCAweEE0LCAw eDZGLCAweDVGLCAweDczLAotKyAweDVBLCAweEU1LCAweDlFLCAweDA5LCAweEU3LCAweDZGLCAw eEQ0LCAweEY4LCAweDNFLCAweEI3LCAweEIwLCAweDU2LAotKyAweDlBLCAweEYzLCAweDY1LCAw eEYwLCAweEMyLCAweEE2LCAweDhBLCAweDA4LCAweEJBLCAweDQ0LCAweEFDLCAweDk3LAotKyAw eERFLCAweEI0LCAweDE2LCAweDgzLCAweERGLCAweEUzLCAweEVFLCAweDcxLCAweEZBLCAweEY5 LCAweDUxLCAweDUwLAotKyAweDE0LCAweERDLCAweEZELCAweDZBLCAweDgyLCAweDIwLCAweDY4 LCAweDY0LCAweDdELCAweDRFLCAweDgyLCAweDY4LAotKyAweEQ3LCAweDQ1LCAweEZBLCAweDZB LCAweEU0LCAweEU1LCAweDI5LCAweDNBLCAweDcwLCAweEZCLCAweEU0LCAweDYyLAotKyAweDJC LCAweDMxLCAweEI5LCAweDdECi0gfTsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBr YXRfUlNBX1BTU19TSEEzODRbXSA9IHsKLS0gIDB4NDAsIDB4RkIsIDB4QTEsIDB4MjEsIDB4RjQs IDB4QjIsIDB4NDAsIDB4OUEsIDB4QjQsIDB4MzEsIDB4QTgsIDB4RjIsCi0tICAweEVDLCAweDFD LCAweEM0LCAweEM4LCAweDdDLCAweDIyLCAweDY1LCAweDlDLCAweDU3LCAweDQ1LCAweENELCAw eDVFLAotLSAgMHg4NiwgMHgwMCwgMHhGNywgMHgyNSwgMHg3OCwgMHhERSwgMHhEQywgMHg3QSwg MHg3MSwgMHg0NCwgMHg5QSwgMHhDRCwKLS0gIDB4QUEsIDB4MjUsIDB4RjQsIDB4QjIsIDB4RkMs IDB4RjAsIDB4NzUsIDB4RDksIDB4MkYsIDB4NzgsIDB4MjMsIDB4N0YsCi0tICAweDZGLCAweDAy LCAweEVGLCAweEMxLCAweEFGLCAweEE2LCAweDI4LCAweDE2LCAweDMxLCAweERDLCAweDQyLCAw eDZDLAotLSAgMHhCMiwgMHg0NCwgMHhFNSwgMHg0RCwgMHg2NiwgMHhBMiwgMHhFNiwgMHg3MSwg MHhGMywgMHhBQywgMHg0RiwgMHhGQiwKLS0gIDB4OTEsIDB4Q0EsIDB4RjUsIDB4NzAsIDB4RUYs IDB4NkIsIDB4OUQsIDB4QTQsIDB4RUYsIDB4RDksIDB4M0QsIDB4MkYsCi0tICAweDNBLCAweEJF LCAweDg5LCAweDM4LCAweDU5LCAweDAxLCAweEJBLCAweERBLCAweDMyLCAweEFELCAweDQyLCAw eDg5LAotLSAgMHg5OCwgMHg4QiwgMHgzOSwgMHg0NCwgMHhGMCwgMHhGQywgMHgzOCwgMHhBQywg MHg4NywgMHgxRiwgMHhDQSwgMHg2RiwKLS0gIDB4NDgsIDB4RjYsIDB4QUUsIDB4RDcsIDB4NDUs IDB4RUUsIDB4QUUsIDB4ODgsIDB4MEUsIDB4NjAsIDB4RjQsIDB4NTUsCi0tICAweDQ4LCAweDQ0 LCAweEVFLCAweDFGLCAweDkwLCAweDE4LCAweDRCLCAweEYxCi0rIDB4OTksIDB4MDIsIDB4Qzks IDB4MUUsIDB4MzEsIDB4ODIsIDB4QjQsIDB4RTYsIDB4MUIsIDB4MzIsIDB4Q0UsIDB4NUQsCi0r IDB4NDEsIDB4MUQsIDB4MDAsIDB4MkYsIDB4MDQsIDB4OEIsIDB4QkQsIDB4MzcsIDB4NzksIDB4 Q0YsIDB4NzcsIDB4MDMsCi0rIDB4MDUsIDB4NkEsIDB4MjEsIDB4QzcsIDB4OEQsIDB4MjQsIDB4 NjAsIDB4NDksIDB4MzksIDB4NTgsIDB4QzUsIDB4MjcsCi0rIDB4OEYsIDB4QzUsIDB4OTcsIDB4 NEEsIDB4QjIsIDB4RTEsIDB4RDQsIDB4MzYsIDB4NTcsIDB4QkQsIDB4NDMsIDB4Q0MsCi0rIDB4 N0IsIDB4Q0UsIDB4RjIsIDB4QTUsIDB4MzAsIDB4RjgsIDB4NzIsIDB4MTQsIDB4QkIsIDB4RDAs IDB4OUYsIDB4QzEsCi0rIDB4NDksIDB4QzgsIDB4MUMsIDB4QUYsIDB4Q0QsIDB4OTUsIDB4Nzgs IDB4NzIsIDB4MjUsIDB4RjksIDB4NDUsIDB4QzYsCi0rIDB4NUIsIDB4NjIsIDB4NUUsIDB4MDEs IDB4RDcsIDB4NDAsIDB4NUUsIDB4QzgsIDB4Q0EsIDB4MEEsIDB4RjMsIDB4QkEsCi0rIDB4MDgs IDB4MDcsIDB4ODgsIDB4Q0EsIDB4NDksIDB4MzYsIDB4ODQsIDB4N0QsIDB4RjYsIDB4RkMsIDB4 NUEsIDB4REIsCi0rIDB4RkMsIDB4NTAsIDB4RDMsIDB4RUIsIDB4M0QsIDB4ODMsIDB4QjAsIDB4 RjUsIDB4OTQsIDB4NUUsIDB4ODgsIDB4QzMsCi0rIDB4ODIsIDB4Q0QsIDB4NTMsIDB4NDAsIDB4 OTYsIDB4MTgsIDB4NkIsIDB4NEEsIDB4NkMsIDB4OUMsIDB4RkUsIDB4RTUsCi0rIDB4M0IsIDB4 NzUsIDB4RjksIDB4RUIsIDB4QTUsIDB4NzcsIDB4MTEsIDB4RUYsIDB4ODgsIDB4MUMsIDB4MjUs IDB4NzAsCi0rIDB4N0QsIDB4ODgsIDB4NUQsIDB4QzMsIDB4Q0EsIDB4RTEsIDB4NDksIDB4MTQs IDB4OTAsIDB4QUQsIDB4RjIsIDB4NUUsCi0rIDB4NDksIDB4RDcsIDB4OTksIDB4QTUsIDB4N0Is IDB4NzcsIDB4M0IsIDB4OEUsIDB4QjgsIDB4REIsIDB4RjEsIDB4NEMsCi0rIDB4RDYsIDB4OUEs IDB4REMsIDB4RTUsIDB4N0EsIDB4MUMsIDB4RTEsIDB4Q0UsIDB4OUQsIDB4RjEsIDB4RjMsIDB4 QTAsCi0rIDB4MEEsIDB4MzUsIDB4NTIsIDB4OUQsIDB4QjksIDB4NDYsIDB4OTQsIDB4ODIsIDB4 MEYsIDB4RjcsIDB4QjIsIDB4NjIsCi0rIDB4NTEsIDB4NzAsIDB4NzUsIDB4RDIsIDB4MzcsIDB4 OTYsIDB4NjcsIDB4MkYsIDB4RDAsIDB4MjIsIDB4RDgsIDB4MDcsCi0rIDB4OEQsIDB4NjksIDB4 OUUsIDB4NkQsIDB4MEIsIDB4NDAsIDB4NEYsIDB4NzAsIDB4RUMsIDB4MEIsIDB4Q0EsIDB4ODgs Ci0rIDB4ODAsIDB4OEQsIDB4OUEsIDB4RjQsIDB4RjksIDB4MTgsIDB4NTAsIDB4MjcsIDB4MDgs IDB4RkEsIDB4Q0MsIDB4QzcsCi0rIDB4M0YsIDB4RTQsIDB4ODQsIDB4ODMsIDB4QTEsIDB4QjYs IDB4MUQsIDB4MjMsIDB4MzQsIDB4RkUsIDB4NDgsIDB4RTUsCi0rIDB4RTMsIDB4QUUsIDB4NEQs IDB4OTgsIDB4QkMsIDB4QTYsIDB4OEEsIDB4OUYsIDB4RkQsIDB4NEQsIDB4REIsIDB4OUQsCi0r IDB4RjcsIDB4RUIsIDB4NEUsIDB4QjYsIDB4NkYsIDB4MjUsIDB4RUEsIDB4N0EsIDB4RTksIDB4 ODUsIDB4QjIsIDB4RUYsCi0rIDB4OTAsIDB4RDIsIDB4QTYsIDB4MkIKLSB9OwotIAotIHN0YXRp YyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTUxMltdID0gewotLSAgMHgwNywg MHgxRSwgMHhEOCwgMHhENSwgMHgwNSwgMHhFOCwgMHhFNiwgMHhFNiwgMHg1NywgMHhBRSwgMHg2 MywgMHg4QywKLS0gIDB4QzYsIDB4ODMsIDB4QjcsIDB4QTAsIDB4NTksIDB4QkIsIDB4RjIsIDB4 QzYsIDB4OEYsIDB4MTIsIDB4NTMsIDB4OUEsCi0tICAweDlCLCAweDU0LCAweDlFLCAweEIzLCAw eEMxLCAweDFELCAweDIzLCAweDRELCAweDUxLCAweEVELCAweDlFLCAweERELAotLSAgMHg0Qiwg MHhGMywgMHg0NiwgMHg5QiwgMHg2QiwgMHhGNiwgMHg3QywgMHgyNCwgMHg2MCwgMHg3OSwgMHgy MywgMHgzOSwKLS0gIDB4MDEsIDB4MUMsIDB4NTEsIDB4Q0IsIDB4RDgsIDB4RTksIDB4OUEsIDB4 MDEsIDB4NjcsIDB4NUYsIDB4RkUsIDB4RDcsCi0tICAweDdDLCAweEUzLCAweDdGLCAweEVELCAw eERCLCAweDg3LCAweEJCLCAweEYwLCAweDNELCAweDc4LCAweDU1LCAweDYxLAotLSAgMHg1Nywg MHhFMywgMHgwRiwgMHhFMywgMHhEMiwgMHg5RCwgMHgwQywgMHgyQSwgMHgyMCwgMHhCMCwgMHg4 NSwgMHgxMywKLS0gIDB4QzUsIDB4NDcsIDB4MzQsIDB4MEQsIDB4MzIsIDB4MTUsIDB4QzgsIDB4 QUUsIDB4OUEsIDB4NkEsIDB4MzksIDB4NjMsCi0tICAweDJELCAweDYwLCAweEY1LCAweDRDLCAw eERGLCAweDhBLCAweDQ4LCAweDRCLCAweEJGLCAweEY0LCAweEE4LCAweEZFLAotLSAgMHg3Niwg MHhGMiwgMHgzMiwgMHgxQiwgMHg5QywgMHg3QywgMHhDQSwgMHhGRSwgMHg3RiwgMHg4MCwgMHhD MiwgMHg4OCwKLS0gIDB4NUMsIDB4OTcsIDB4NzAsIDB4QjQsIDB4MjYsIDB4QzksIDB4MTQsIDB4 OEIKLSsgMHgzRiwgMHg4MywgMHg0MywgMHg3OCwgMHgyNSwgMHhCRSwgMHg4MSwgMHhCMiwgMHg2 RSwgMHg3OCwgMHgxMSwgMHgzMiwKLSsgMHhEMCwgMHg4OCwgMHgwNSwgMHg1MywgMHg5NSwgMHhF RCwgMHg4MSwgMHgxMiwgMHhDRSwgMHg1MCwgMHhEOSwgMHgwNiwKLSsgMHg0MiwgMHg4OSwgMHhB MCwgMHg1NSwgMHg3QSwgMHgwNSwgMHgxMywgMHg5NCwgMHgzNSwgMHg5QiwgMHhDQSwgMHg1RCwK LSsgMHhDQiwgMHhCMiwgMHgzMiwgMHhFMSwgMHgwNCwgMHg5OSwgMHhFQywgMHhFNywgMHhBNiwg MHg2OSwgMHg0RCwgMHgyQiwKLSsgMHhDMSwgMHg1NywgMHgxMywgMHg0OCwgMHgwRCwgMHg2Qiwg MHg0RCwgMHg4MywgMHgyOCwgMHgwNiwgMHg3OSwgMHg5RCwKLSsgMHhCNCwgMHg3MCwgMHhDRSwg MHhDMCwgMHhGQywgMHgzQiwgMHg2OSwgMHhCMywgMHg5MSwgMHg1NCwgMHhBOSwgMHg0NCwKLSsg MHgyRSwgMHhEQSwgMHg0QSwgMHhDNSwgMHhDMiwgMHg5OSwgMHhGMCwgMHhERSwgMHhDQSwgMHg3 NywgMHg5OSwgMHg2QiwKLSsgMHgwQywgMHg3OSwgMHhFNSwgMHgyOSwgMHg3NCwgMHg4MywgMHg2 OSwgMHhFQSwgMHhCOCwgMHg3MiwgMHgzMCwgMHgzRCwKLSsgMHg3QSwgMHgzMCwgMHhFMSwgMHgw MywgMHg3QiwgMHgwOSwgMHhFNiwgMHgxMSwgMHhDMCwgMHhEQywgMHhGRiwgMHhGRCwKLSsgMHhC RCwgMHhFQywgMHg5QywgMHhDQywgMHg0NiwgMHg3QiwgMHg0QywgMHg0QywgMHg1OSwgMHhCRSwg MHg4MiwgMHg3QywKLSsgMHhGNSwgMHg2MCwgMHg1QSwgMHhDMywgMHhFOCwgMHhBOCwgMHg4QSwg MHgzOCwgMHg5RSwgMHgwMSwgMHg1NywgMHhGMSwKLSsgMHg3OSwgMHgzQSwgMHg3QywgMHhBMywg MHg5RiwgMHgxMiwgMHgxQSwgMHg0RiwgMHgyRSwgMHhBMiwgMHhFNSwgMHgwQSwKLSsgMHhBQiwg MHhDMCwgMHhGNCwgMHhBNSwgMHhFMywgMHg1RiwgMHg4OSwgMHgxQywgMHg4RiwgMHhBNCwgMHg1 RSwgMHhDRSwKLSsgMHgwRCwgMHg5MSwgMHgwNSwgMHgxQiwgMHgxNywgMHg2MiwgMHg0OCwgMHhG RSwgMHhBNSwgMHg0QywgMHhFRiwgMHgyRCwKLSsgMHgyOCwgMHhGMSwgMHg1RSwgMHhFNiwgMHhE MSwgMHgzMCwgMHg4OSwgMHgwQSwgMHhBRCwgMHgxOCwgMHhBRiwgMHg2RiwKLSsgMHgwNCwgMHgw OSwgMHgzNiwgMHg5QSwgMHhGRiwgMHhDQSwgMHhBMSwgMHhBNywgMHgwNSwgMHg3RiwgMHhENCwg MHhCRiwKLSsgMHgzQSwgMHhCNSwgMHg0MiwgMHg2RCwgMHhFOSwgMHgwNywgMHgyOSwgMHg2NSwg MHg4QiwgMHhBRCwgMHg0RCwgMHgwRiwKLSsgMHgyMiwgMHhFMSwgMHg1OSwgMHg0MywgMHg2OCwg MHg4NywgMHhBOCwgMHg4QiwgMHhCQywgMHg2OSwgMHhBMSwgMHg5NCwKLSsgMHgyMiwgMHgzRSwg MHg4QSwgMHg0OSwgMHhFOCwgMHhBMywgMHg2RiwgMHhDMiwgMHg5MywgMHg1OCwgMHhFNywgMHhB RSwKLSsgMHhDOSwgMHgxRiwgMHhDRiwgMHg2MSwgMHg5MywgMHhGQywgMHhDMSwgMHhGNiwgMHhG MywgMHgyNywgMHg3RiwgMHgwQSwKLSsgMHg5MCwgMHhFMCwgMHg2NSwgMHgzMiwgMHg1NywgMHg0 NywgMHhFMiwgMHhFRCwgMHgwOCwgMHg1OSwgMHhBNiwgMHhGMCwKLSsgMHgxNywgMHgyQywgMHgx MywgMHhFMAotIH07Ci0gCi0gc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9TSEEx W10gPSB7Ci0tICAweDcxLCAweEVFLCAweDFBLCAweEMwLCAweEZFLCAweDAxLCAweDkzLCAweDU0 LCAweDc5LCAweDVDLCAweEYyLCAweDRDLAotLSAgMHg0QSwgMHhGRCwgMHgxQSwgMHgwNSwgMHg4 RiwgMHg2NCwgMHhCMSwgMHg2RCwgMHg2MSwgMHgzMywgMHg4RCwgMHg5QiwKLS0gIDB4RTcsIDB4 RkQsIDB4NjAsIDB4QTMsIDB4ODMsIDB4QjUsIDB4QTMsIDB4NTEsIDB4NTUsIDB4NzcsIDB4OTAs IDB4Q0YsCi0tICAweERDLCAweDIyLCAweDM3LCAweDhFLCAweEQwLCAweEUxLCAweEFFLCAweDA5 LCAweEUzLCAweDNELCAweDFFLCAweEY4LAotLSAgMHg4MCwgMHhEMSwgMHg4QiwgMHhDMiwgMHhF QywgMHgwQSwgMHhENywgMHg2QiwgMHg4OCwgMHg4QiwgMHg4QiwgMHhBMSwKLS0gIDB4MjAsIDB4 MjIsIDB4QkUsIDB4NTksIDB4NUIsIDB4RTAsIDB4MjMsIDB4MjQsIDB4QTEsIDB4NDksIDB4MzAs IDB4QkEsCi0tICAweEE5LCAweDlFLCAweEU4LCAweEIxLCAweDhBLCAweDYyLCAweDE2LCAweEJG LCAweDRFLCAweENBLCAweDJFLCAweDRFLAotLSAgMHhCQywgMHgyOSwgMHhBOCwgMHg2NywgMHgx MywgMHhCNywgMHg5RiwgMHgxRCwgMHgwNCwgMHg0NCwgMHhFNSwgMHg1RiwKLS0gIDB4MzUsIDB4 MDcsIDB4MTEsIDB4QkMsIDB4RUQsIDB4MTksIDB4MzcsIDB4MjEsIDB4Q0YsIDB4MjMsIDB4NDgs IDB4MUYsCi0tICAweDcyLCAweDA1LCAweERFLCAweEU2LCAweEU4LCAweDdGLCAweDMzLCAweDhB LCAweDc2LCAweDRCLCAweDJGLCAweDk1LAotLSAgMHhERiwgMHhGMSwgMHg1RiwgMHg4NCwgMHg4 MCwgMHhEOSwgMHg0NiwgMHhCNAotKyAweDNCLCAweDYwLCAweDRCLCAweEZDLCAweDU0LCAweDI4 LCAweDIzLCAweEU2LCAweDJGLCAweDA1LCAweDA0LCAweEJBLAotKyAweDlELCAweEU0LCAweDND LCAweEI4LCAweDVCLCAweDYwLCAweDVDLCAweENELCAweDlELCAweEVBLCAweEMzLCAweDRDLAot KyAweEMyLCAweDMzLCAweEU2LCAweEM2LCAweDIxLCAweDQ4LCAweDc2LCAweEVDLCAweEIyLCAw eEY1LCAweDExLCAweERFLAotKyAweDQ0LCAweEI0LCAweEFGLCAweDE2LCAweDExLCAweEMzLCAw eDE4LCAweDE2LCAweEIzLCAweDY5LCAweEJCLCAweDk0LAotKyAweEVELCAweEU4LCAweEIzLCAw eDlFLCAweEIxLCAweDQzLCAweDhFLCAweENFLCAweEI0LCAweDM0LCAweDlCLCAweDA4LAotKyAw eDIyLCAweEFGLCAweDMxLCAweDczLCAweEI1LCAweEZBLCAweDExLCAweDdFLCAweDhGLCAweDEz LCAweDUyLCAweEVDLAotKyAweEM5LCAweDAzLCAweEVFLCAweDBELCAweDJCLCAweDkxLCAweDMy LCAweEYyLCAweDhFLCAweERGLCAweDAyLCAweEUwLAotKyAweDBBLCAweDQ3LCAweEQyLCAweDBB LCAweDUxLCAweDAwLCAweDFBLCAweDMwLCAweDZGLCAweDBDLCAweEIzLCAweDU0LAotKyAweDY0 LCAweDIwLCAweDkwLCAweDBDLCAweDAxLCAweEJFLCAweEMwLCAweDQyLCAweDhDLCAweDVELCAw eDE4LCAweDZGLAotKyAweDMyLCAweDc1LCAweDQ1LCAweDdCLCAweDFDLCAweDA0LCAweEEyLCAw eDlGLCAweDg0LCAweEQ3LCAweEY1LCAweDNBLAotKyAweDk1LCAweEQ0LCAweEU4LCAweDhELCAw eEVDLCAweDk5LCAweEVGLCAweDE4LCAweDVFLCAweDY0LCAweEQzLCAweEFGLAotKyAweEY4LCAw eEQ0LCAweEZGLCAweDNDLCAweDg3LCAweEEwLCAweDNGLCAweEM3LCAweDIyLCAweDA1LCAweEZE LCAweEZELAotKyAweDI5LCAweDhBLCAweDI4LCAweERBLCAweEE5LCAweDhBLCAweDhCLCAweDIz LCAweDYyLCAweDlELCAweDQyLCAweEI4LAotKyAweDRBLCAweDc2LCAweDBELCAweDlGLCAweDlB LCAweEUwLCAweEU2LCAweERELCAweEFELCAweDVFLCAweDVGLCAweEQ1LAotKyAweDMyLCAweEU5 LCAweDRCLCAweDk3LCAweDdELCAweDYyLCAweDBBLCAweEIzLCAweEJFLCAweEYyLCAweDhDLCAw eDFGLAotKyAweDJCLCAweDIyLCAweDA2LCAweDE1LCAweDMzLCAweDcxLCAweEVELCAweDlCLCAw eEEwLCAweDgyLCAweENFLCAweEJGLAotKyAweDNCLCAweDA4LCAweDVGLCAweEE3LCAweDIwLCAw eDk0LCAweDA5LCAweEVCLCAweDgyLCAweEE1LCAweDQxLCAweDYwLAotKyAweEYxLCAweDA4LCAw eEVCLCAweDhELCAweENDLCAweDhELCAweEM5LCAweDUyLCAweDBBLCAweEFGLCAweEY0LCAweEY5 LAotKyAweDlGLCAweDgyLCAweEQ4LCAweDBCLCAweDc1LCAweDVFLCAweEU0LCAweEFGLCAweDY1 LCAweDk2LCAweEFGLCAweEZDLAotKyAweDMzLCAweEJGLCAweDlGLCAweDNFLCAweEE0LCAweDdC LCAweDg2LCAweEM3LCAweEY3LCAweDQ3LCAweEFCLCAweDM3LAotKyAweDA1LCAweEQ2LCAweDBE LCAweDMxLCAweDcyLCAweDhDLCAweDgwLCAweDFFLCAweEE5LCAweDU0LCAweEZDLCAweERGLAot KyAweDI3LCAweDkwLCAweEUyLCAweDAxCi0gfTsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQg Y2hhciBrYXRfUlNBX1NIQTIyNFtdID0gewotLSAgMHg2MiwgMHhBQSwgMHg3OSwgMHhBOSwgMHgx OCwgMHgwRSwgMHg1RiwgMHg4QywgMHhCQiwgMHhCNywgMHgxNSwgMHhGOSwKLS0gIDB4MjUsIDB4 QkIsIDB4RkEsIDB4RDQsIDB4M0EsIDB4MzQsIDB4RUQsIDB4OUUsIDB4QTAsIDB4QTksIDB4MTgs IDB4OEQsCi0tICAweDVCLCAweDU1LCAweDlBLCAweDdFLCAweDFFLCAweDA4LCAweDA4LCAweDYw LCAweEM1LCAweDFBLCAweEM1LCAweDg5LAotLSAgMHgwOCwgMHhFMiwgMHgxQiwgMHhCRCwgMHg2 MiwgMHg1MCwgMHgxNywgMHg3NiwgMHgzMCwgMHgyQywgMHg5RSwgMHhDRCwKLS0gIDB4QTQsIDB4 MDIsIDB4QUQsIDB4QjEsIDB4NkQsIDB4NDQsIDB4NkQsIDB4RDUsIDB4QzYsIDB4NDUsIDB4NDEs IDB4RTUsCi0tICAweEVFLCAweDFGLCAweDhELCAweDdFLCAweDA4LCAweDE2LCAweEE2LCAweEUx LCAweDVFLCAweDBCLCAweEE5LCAweENDLAotLSAgMHhEQiwgMHg1OSwgMHg1NSwgMHg4NywgMHgw OSwgMHgyNSwgMHg3MCwgMHg4NiwgMHg4NCwgMHgwMiwgMHhDNiwgMHgzQiwKLS0gIDB4MEIsIDB4 NDQsIDB4NEMsIDB4NDYsIDB4OTUsIDB4RjQsIDB4RjgsIDB4NUEsIDB4OTEsIDB4MjgsIDB4M0Us IDB4QjIsCi0tICAweDU4LCAweDJFLCAweDA2LCAweDQ1LCAweDQ5LCAweEUwLCAweDkyLCAweEUy LCAweEMwLCAweDY2LCAweEU2LCAweDM1LAotLSAgMHhEOSwgMHg3OSwgMHg3RiwgMHgxNywgMHg1 RSwgMHgwMiwgMHg3MywgMHgwNCwgMHg3NywgMHg4MiwgMHhFNiwgMHhEQywKLS0gIDB4NDAsIDB4 MjEsIDB4ODksIDB4OEIsIDB4MzcsIDB4M0UsIDB4MUUsIDB4OEQKLSsgMHhBMiwgMHhEOCwgMHg0 MiwgMHg1MywgMHhERCwgMHhCRiwgMHgxRiwgMHg2QiwgMHgwNywgMHhFMCwgMHg2MCwgMHg4NiwK LSsgMHg1QSwgMHg2MCwgMHgwNiwgMHg4RiwgMHg0NCwgMHhEOSwgMHhCMCwgMHg0QSwgMHhBQSwg MHg5MCwgMHg3MSwgMHhCOCwKLSsgMHhCMiwgMHhCQywgMHgzMCwgMHg0MSwgMHg1MCwgMHhCQiwg MHhGRCwgMHg0NiwgMHg5OCwgMHg0RCwgMHhDMCwgMHg4OSwKLSsgMHg1NywgMHg4NSwgMHg4QSwg MHg5NywgMHg0OSwgMHgyNSwgMHhBOCwgMHgwQywgMHg2OSwgMHg3MCwgMHgxOSwgMHgzOSwKLSsg MHg2NiwgMHgyNCwgMHhCNCwgMHg2OSwgMHg0NywgMHhEMiwgMHg3QywgMHhERSwgMHgyRCwgMHgz NywgMHg1OSwgMHhCMywKLSsgMHhFMywgMHhDNywgMHg2QiwgMHhERCwgMHhCRSwgMHhFMSwgMHhF NiwgMHgyOCwgMHg5QSwgMHg4RCwgMHg0MiwgMHgzRSwKLSsgMHgyOCwgMHgwMSwgMHhENywgMHgw MywgMHhDOSwgMHg3MywgMHhDMywgMHg2QiwgMHgwMywgMHhFQywgMHgxRSwgMHhGOCwKLSsgMHg1 MywgMHg4QiwgMHg1MiwgMHg0MiwgMHg4OSwgMHg1NSwgMHhCNywgMHg4NywgMHhBOSwgMHg5NCwg MHhDMiwgMHhCNCwKLSsgMHg0QiwgMHg3NiwgMHhGNSwgMHg2MSwgMHg0NywgMHhFMSwgMHg0NCwg MHg3QiwgMHhFQywgMHhCNCwgMHgyNSwgMHg2NiwKLSsgMHhDMCwgMHhGRiwgMHhFQiwgMHg4Niwg MHgyNCwgMHhBQSwgMHhBOCwgMHg3MiwgMHhDNywgMHhGQiwgMHhGQiwgMHhGNiwKLSsgMHg4NCwg MHhBNywgMHg1QiwgMHhENCwgMHg4NywgMHhFNSwgMHg4NCwgMHg1NiwgMHgxRSwgMHg0QywgMHhF NSwgMHhCQywKLSsgMHg4NywgMHg5NCwgMHhBQywgMHg5QywgMHgxQiwgMHgzRCwgMHhGNywgMHhE NCwgMHgzNiwgMHg4NSwgMHg5RiwgMHhDOSwKLSsgMHhGNiwgMHg0MywgMHgzRiwgMHhCNiwgMHgy NSwgMHgzMywgMHg0OCwgMHgwRiwgMHhFNSwgMHg3QywgMHhDRCwgMHg1MywKLSsgMHg0OCwgMHhF QiwgMHgwMiwgMHgxMSwgMHhCOSwgMHg5RSwgMHhDMywgMHhCNCwgMHhFMSwgMHg1NCwgMHhENiwg MHhBQSwKLSsgMHgxQSwgMHg5RSwgMHgxMCwgMHhFMSwgMHgyNywgMHgyNSwgMHhGMiwgMHhFMSwg MHhBQiwgMHhBQiwgMHg2QywgMHg0NSwKLSsgMHg2MSwgMHhENSwgMHhBMywgMHg2QywgMHhCNiwg MHgzMywgMHg1MiwgMHhBRSwgMHgzRCwgMHhGRCwgMHgyMiwgMHhGQywKLSsgMHgzQSwgMHhBQiwg MHg2MywgMHg5NCwgMHhCNSwgMHgzQSwgMHg2OSwgMHgxMSwgMHhBQywgMHg5OSwgMHg0RiwgMHgz MywKLSsgMHg2NywgMHgwQSwgMHgxQSwgMHg3MCwgMHgxRSwgMHhCOSwgMHhFMiwgMHgyNiwgMHgy NywgMHg2OCwgMHhFQSwgMHhGNSwKLSsgMHg5NywgMHg1NSwgMHhBQywgMHg4MywgMHg2QSwgMHg0 MCwgMHgzQiwgMHg1NiwgMHhBRSwgMHgxMywgMHg4OCwgMHhFOCwKLSsgMHg5OCwgMHg3MiwgMHg1 MiwgMHg5MSwgMHg3RiwgMHg3OCwgMHgwQSwgMHgxOCwgMHhENCwgMHg0NCwgMHg3OCwgMHg4MywK LSsgMHgwRCwgMHg0NCwgMHg3NywgMHhBNiwgMHhGMywgMHgwNCwgMHhGMSwgMHg4QywgMHhCQywg MHgyRiwgMHhGOSwgMHg1QiwKLSsgMHhEQiwgMHg3MCwgMHgwMCwgMHhGNgotIH07Ci0gCi0gc3Rh dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9TSEEyNTZbXSA9IHsKLS0gIDB4MEQsIDB4 NTUsIDB4RTIsIDB4QUEsIDB4ODEsIDB4REIsIDB4OEUsIDB4ODIsIDB4MDUsIDB4MTcsIDB4QTUs IDB4MjMsCi0tICAweEU3LCAweDNCLCAweDFELCAweEFGLCAweEZCLCAweDhDLCAweEQwLCAweDgx LCAweDIwLCAweDdCLCAweEFBLCAweDIzLAotLSAgMHg5MiwgMHg4NywgMHg4QywgMHhEMSwgMHg1 MywgMHg4NSwgMHgxNiwgMHhEQywgMHhCRSwgMHhBRCwgMHg2RiwgMHgzNSwKLS0gIDB4OTgsIDB4 MkQsIDB4NjksIDB4ODQsIDB4QkYsIDB4RDksIDB4OEEsIDB4MDEsIDB4MTcsIDB4NTgsIDB4QjIs IDB4NkUsCi0tICAweDJDLCAweDQ0LCAweDlCLCAweDkwLCAweEYxLCAweEZCLCAweDUxLCAweEU4 LCAweDZBLCAweDkwLCAweDJELCAweDE4LAotLSAgMHgwRSwgMHhDMCwgMHg5MCwgMHgxMCwgMHgy NCwgMHhBOSwgMHgxRCwgMHhCMywgMHg1OCwgMHg3QSwgMHg5MSwgMHgzMCwKLS0gIDB4QkUsIDB4 MjIsIDB4QzcsIDB4RDMsIDB4RUMsIDB4QzMsIDB4MDksIDB4NUQsIDB4QkYsIDB4RTIsIDB4ODAs IDB4M0EsCi0tICAweDdDLCAweDg1LCAweEI0LCAweEJDLCAweEQxLCAweEU5LCAweEYwLCAweDVD LCAweERFLCAweDgxLCAweEE2LCAweDM4LAotLSAgMHhCOCwgMHg0MiwgMHhCQiwgMHg4NiwgMHhD NSwgMHg5RCwgMHhDRSwgMHg3QywgMHgyQywgMHhFRSwgMHhEMSwgMHhEQSwKLS0gIDB4MjcsIDB4 NDgsIDB4MkIsIDB4RjUsIDB4QUIsIDB4QjksIDB4RjcsIDB4ODAsIDB4RDEsIDB4OTAsIDB4Mjcs IDB4OTAsCi0tICAweEJELCAweDQ0LCAweDk3LCAweDYwLCAweENELCAweDU3LCAweEMwLCAweDdB Ci0rIDB4QzIsIDB4QjEsIDB4OTcsIDB4MDAsIDB4OUEsIDB4RTUsIDB4ODAsIDB4NkEsIDB4RTIs IDB4NTEsIDB4NjgsIDB4QjksCi0rIDB4N0EsIDB4MEMsIDB4RjIsIDB4QjQsIDB4NzcsIDB4RUQs IDB4MTUsIDB4MEMsIDB4NEUsIDB4RTEsIDB4REMsIDB4RkYsCi0rIDB4OEUsIDB4QkMsIDB4REUs IDB4QzcsIDB4OUEsIDB4OTYsIDB4RjEsIDB4NDcsIDB4NDUsIDB4MjQsIDB4OUQsIDB4NkYsCi0r IDB4QTYsIDB4RjMsIDB4MUQsIDB4MEQsIDB4MzUsIDB4NEMsIDB4MUEsIDB4RjMsIDB4NTgsIDB4 MkMsIDB4NkMsIDB4MDYsCi0rIDB4RDYsIDB4MjIsIDB4MzcsIDB4NzcsIDB4OEMsIDB4MzMsIDB4 RTUsIDB4MDcsIDB4NTMsIDB4OTMsIDB4MjgsIDB4Q0YsCi0rIDB4NjcsIDB4RkEsIDB4QzQsIDB4 MUYsIDB4MUIsIDB4MjQsIDB4REIsIDB4NEMsIDB4QzUsIDB4MkEsIDB4NTEsIDB4QTIsCi0rIDB4 NjAsIDB4MTUsIDB4OEMsIDB4NTQsIDB4QjQsIDB4MzAsIDB4RTIsIDB4MjQsIDB4NDcsIDB4ODYs IDB4RjIsIDB4RjgsCi0rIDB4NkMsIDB4RDYsIDB4MTIsIDB4NTksIDB4MkMsIDB4NzQsIDB4OUEs IDB4MzcsIDB4RjMsIDB4QzQsIDB4QTIsIDB4RDUsCi0rIDB4NEUsIDB4MUYsIDB4NzcsIDB4RjAs IDB4MjcsIDB4Q0UsIDB4NzcsIDB4RjgsIDB4NEEsIDB4NzksIDB4MDMsIDB4QkUsCi0rIDB4Qzgs IDB4MDYsIDB4MkQsIDB4QTcsIDB4QTYsIDB4NDYsIDB4RjUsIDB4NTUsIDB4NzksIDB4RDcsIDB4 NUMsIDB4QzYsCi0rIDB4NUIsIDB4QjEsIDB4MDAsIDB4NEUsIDB4N0MsIDB4RDksIDB4MTEsIDB4 ODUsIDB4RTAsIDB4QjEsIDB4NEQsIDB4MkQsCi0rIDB4MTMsIDB4RDcsIDB4QUMsIDB4RUEsIDB4 NjQsIDB4RDEsIDB4QUMsIDB4OEYsIDB4OEQsIDB4OEYsIDB4RUEsIDB4NDIsCi0rIDB4N0YsIDB4 RjksIDB4QjcsIDB4N0QsIDB4MkMsIDB4NjgsIDB4NDksIDB4MDcsIDB4N0EsIDB4NzQsIDB4RUYs IDB4QjQsCi0rIDB4QzksIDB4OTcsIDB4MTYsIDB4NUMsIDB4NkMsIDB4NkUsIDB4NUMsIDB4MDks IDB4MkUsIDB4OEUsIDB4MTMsIDB4MkUsCi0rIDB4MUEsIDB4OEQsIDB4QTYsIDB4MEMsIDB4NkUs IDB4MEMsIDB4MUMsIDB4MEYsIDB4Q0MsIDB4QjIsIDB4NzgsIDB4OEEsCi0rIDB4MDcsIDB4RkMs IDB4NUMsIDB4QzIsIDB4RjUsIDB4NjUsIDB4RUMsIDB4QUIsIDB4OEIsIDB4M0MsIDB4Q0EsIDB4 OTEsCi0rIDB4NkYsIDB4ODQsIDB4N0MsIDB4MjEsIDB4MEUsIDB4QjgsIDB4REEsIDB4N0IsIDB4 NkMsIDB4RjcsIDB4REYsIDB4QUIsCi0rIDB4N0UsIDB4MTUsIDB4RkQsIDB4ODUsIDB4MEIsIDB4 MzMsIDB4OUIsIDB4NkEsIDB4M0EsIDB4QzMsIDB4RUYsIDB4NjUsCi0rIDB4MDQsIDB4NkUsIDB4 QjIsIDB4QUMsIDB4OTgsIDB4RkQsIDB4RUIsIDB4MDIsIDB4RjUsIDB4QzAsIDB4MEIsIDB4NUUs Ci0rIDB4Q0IsIDB4RDQsIDB4ODMsIDB4ODIsIDB4MTgsIDB4MUIsIDB4REEsIDB4QjQsIDB4Q0Qs IDB4RTgsIDB4NzEsIDB4NkIsCi0rIDB4MUQsIDB4QjUsIDB4NEYsIDB4RTksIDB4RDYsIDB4NDMs IDB4QTAsIDB4MEEsIDB4MTQsIDB4QTAsIDB4RTcsIDB4NUQsCi0rIDB4NDcsIDB4OUQsIDB4MTgs IDB4RDcKLSB9OwotIAotIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfU0hBMzg0 W10gPSB7Ci0tICAweDFELCAweEUzLCAweDZBLCAweERELCAweDI3LCAweDRDLCAweEMwLCAweEE1 LCAweDI3LCAweEVGLCAweEU2LCAweDFGLAotLSAgMHhEMiwgMHg5MSwgMHg2OCwgMHg1OSwgMHgw NCwgMHhBRSwgMHhCRCwgMHg5OSwgMHg2MywgMHg1NiwgMHg0NywgMHhDNywKLS0gIDB4NkYsIDB4 MjIsIDB4MTYsIDB4NDgsIDB4RDAsIDB4RjksIDB4MTgsIDB4QTksIDB4Q0EsIDB4RkEsIDB4NUQs IDB4NUMsCi0tICAweEE3LCAweDY1LCAweDUyLCAweDhBLCAweEM4LCAweDQ0LCAweDdFLCAweDg2 LCAweDVELCAweEE5LCAweEE2LCAweDU1LAotLSAgMHg2NSwgMHgzRSwgMHhEOSwgMHgyRCwgMHgw MiwgMHgzOCwgMHhBOCwgMHg3OSwgMHgyOCwgMHg3RiwgMHhCNiwgMHhDRiwKLS0gIDB4ODIsIDB4 REQsIDB4N0UsIDB4NTUsIDB4RTEsIDB4QjEsIDB4QkMsIDB4RTIsIDB4MTksIDB4MkIsIDB4MzAs IDB4QzIsCi0tICAweDFCLCAweDJCLCAweEIwLCAweDgyLCAweDQ2LCAweEFDLCAweDRCLCAweEQx LCAweEUyLCAweDdELCAweEVCLCAweDhDLAotLSAgMHhGRiwgMHg5NSwgMHhFOSwgMHg2QSwgMHgx QywgMHgzRCwgMHg0RCwgMHhCRiwgMHg4RiwgMHg4QiwgMHg5QywgMHhDRCwKLS0gIDB4RUEsIDB4 ODUsIDB4RUUsIDB4MDAsIDB4REMsIDB4MUMsIDB4QTcsIDB4RUIsIDB4RDAsIDB4OEYsIDB4OTks IDB4RjEsCi0tICAweDE2LCAweDI4LCAweDI0LCAweDY0LCAweDA0LCAweDM5LCAweDJELCAweDU4 LCAweDFFLCAweDM3LCAweERDLCAweDA0LAotLSAgMHhCRCwgMHgzMSwgMHhBMiwgMHgyRiwgMHhC MywgMHgzNSwgMHg1NiwgMHhCRgotKyAweDExLCAweDVFLCAweDYzLCAweEZFLCAweDQ3LCAweEFB LCAweDZBLCAweDg0LCAweEVCLCAweDQ0LCAweDlBLCAweDAwLAotKyAweDk2LCAweDRBLCAweEVE LCAweEQyLCAweEE3LCAweDY3LCAweDNBLCAweDY0LCAweDgyLCAweDMwLCAweDYxLCAweDJELAot KyAweEUzLCAweEY1LCAweDQ5LCAweDY4LCAweDVFLCAweDYwLCAweEQyLCAweDRELCAweEVGLCAw eEYyLCAweEE0LCAweEIyLAotKyAweDlBLCAweDgxLCAweDFELCAweDQxLCAweEE1LCAweDczLCAw eDU5LCAweEVCLCAweEJCLCAweEM0LCAweDlFLCAweDJCLAotKyAweEVCLCAweEMzLCAweERFLCAw eDNBLCAweEVBLCAweEY1LCAweEFELCAweERBLCAweDg3LCAweDA4LCAweDY4LCAweENGLAotKyAw eDEyLCAweDlCLCAweEMxLCAweEU0LCAweEE3LCAweDcxLCAweEY4LCAweEJELCAweDZCLCAweDZG LCAweDUwLCAweEYxLAotKyAweEQxLCAweEZGLCAweENFLCAweDZDLCAweEQ5LCAweEJFLCAweERB LCAweDc2LCAweEYzLCAweEVCLCAweEFCLCAweDlDLAotKyAweDQxLCAweDZFLCAweDRGLCAweDM1 LCAweDdBLCAweDYxLCAweDI3LCAweEJDLCAweDAzLCAweDNFLCAweEFFLCAweDNFLAotKyAweDFC LCAweERELCAweEFDLCAweEQ5LCAweDFBLCAweEZGLCAweEQzLCAweEY1LCAweDY2LCAweDQzLCAw eDA3LCAweDc2LAotKyAweDhBLCAweDY5LCAweDJELCAweDE0LCAweEIxLCAweEJFLCAweDU1LCAw eDQ5LCAweDkwLCAweDg5LCAweDRCLCAweEM0LAotKyAweDExLCAweDY3LCAweEQ1LCAweDlELCAw eEIwLCAweEIyLCAweEVFLCAweDhELCAweDBBLCAweDQ3LCAweDRBLCAweEQ5LAotKyAweDBFLCAw eEQxLCAweDI0LCAweEYwLCAweDMwLCAweDJCLCAweEYyLCAweDc5LCAweDQ3LCAweERCLCAweDcw LCAweEI0LAotKyAweDQ2LCAweEYyLCAweEY4LCAweEI3LCAweEI0LCAweEY2LCAweDM0LCAweDc5 LCAweEE4LCAweDJELCAweDNELCAweDU2LAotKyAweEQ1LCAweDlBLCAweDYwLCAweDdBLCAweDA0 LCAweEM3LCAweDY2LCAweDFELCAweENELCAweDNDLCAweEQ1LCAweDM5LAotKyAweDM3LCAweDEy LCAweDUxLCAweDVFLCAweDlGLCAweEY4LCAweDFBLCAweEFGLCAweDEzLCAweEMxLCAweDEzLCAw eDAwLAotKyAweDM1LCAweEQ1LCAweDhELCAweDE3LCAweEUzLCAweDAyLCAweDI4LCAweEQ5LCAw eEVDLCAweERFLCAweEQxLCAweDJGLAotKyAweDkzLCAweDQ5LCAweDAzLCAweDExLCAweDNFLCAw eDU2LCAweDlELCAweEMyLCAweDMxLCAweEY4LCAweEFGLCAweDJELAotKyAweEQ5LCAweDk5LCAw eEI3LCAweDhBLCAweEFDLCAweDVBLCAweDg2LCAweDIwLCAweDNBLCAweDgzLCAweDI5LCAweDI2 LAotKyAweDlELCAweDAzLCAweDUyLCAweDJCLCAweDM0LCAweDU2LCAweDQwLCAweDE2LCAweDUz LCAweDUwLCAweDgyLCAweEM5LAotKyAweEM3LCAweEQ1LCAweDUxLCAweDRDLCAweEVELCAweEIz LCAweEUyLCAweEUxLCAweENGLCAweEE4LCAweENFLCAweEJELAotKyAweEIxLCAweDQ4LCAweEE2 LCAweDhBLCAweDc5LCAweDE3LCAweDU1LCAweDExLCAweEVGLCAweEU4LCAweDE0LCAweEY0LAot KyAweDdFLCAweDM3LCAweDFELCAweDk2Ci0gfTsKLSAKLSBzdGF0aWMgY29uc3QgdW5zaWduZWQg Y2hhciBrYXRfUlNBX1NIQTUxMltdID0gewotLSAgMHg2OSwgMHg1MiwgMHgxQiwgMHg1MSwgMHg1 RSwgMHgwNiwgMHhDQSwgMHg5QiwgMHgxNiwgMHg1MSwgMHg1RCwgMHhDRiwKLS0gIDB4NDksIDB4 MjUsIDB4NEEsIDB4QTEsIDB4NkEsIDB4NzcsIDB4NEMsIDB4MzYsIDB4NDAsIDB4RjgsIDB4QjIs IDB4OUEsCi0tICAweDE1LCAweEVBLCAweDVDLCAweEU1LCAweEU2LCAweDgyLCAweEUwLCAweDg2 LCAweDgyLCAweDZCLCAweDMyLCAweEYxLAotLSAgMHgwNCwgMHhDMSwgMHg1QSwgMHgxQSwgMHhF RCwgMHgxRSwgMHg5QSwgMHhCNiwgMHg0QywgMHg1NCwgMHg5RiwgMHhEOCwKLS0gIDB4OEQsIDB4 Q0MsIDB4QUMsIDB4OEEsIDB4QkIsIDB4OUMsIDB4ODIsIDB4M0YsIDB4QTYsIDB4NTMsIDB4NjIs IDB4QjUsCi0tICAweDgwLCAweEUyLCAweEJDLCAweERELCAweDY3LCAweDJCLCAweEQ5LCAweDNG LCAweEU0LCAweDc1LCAweDkyLCAweDZCLAotLSAgMHhBRiwgMHg2MiwgMHg3QywgMHg1MiwgMHhG MCwgMHhFRSwgMHgzMywgMHhERiwgMHgxQiwgMHgxRCwgMHg0NywgMHhFNiwKLS0gIDB4NTksIDB4 NTYsIDB4QTUsIDB4QjksIDB4NUMsIDB4RTYsIDB4NzcsIDB4NzgsIDB4MTYsIDB4NjMsIDB4ODQs IDB4MDUsCi0tICAweDZGLCAweDBFLCAweDJCLCAweDMxLCAweDlELCAweEY3LCAweDdGLCAweEIy LCAweDY0LCAweDcxLCAweEUwLCAweDJELAotLSAgMHgzRSwgMHg2MiwgMHhDRSwgMHhCNSwgMHgz RiwgMHg4OCwgMHhERiwgMHgyRCwgMHhBQiwgMHg5OCwgMHg2NSwgMHg5MSwKLS0gIDB4REYsIDB4 NzAsIDB4MTQsIDB4QTUsIDB4M0YsIDB4MzYsIDB4QUIsIDB4ODQKLSsgMHgzNSwgMHg2RCwgMHhG MSwgMHg5RSwgMHhDRiwgMHhCMSwgMHhGNiwgMHgwQywgMHgwNCwgMHgyMSwgMHgxNywgMHhCMywK LSsgMHhDNCwgMHg5RCwgMHhGRSwgMHg2MiwgMHgxQywgMHgxQSwgMHg0NSwgMHgwMCwgMHgyRSwg MHg2QiwgMHhCNiwgMHg5RiwKLSsgMHg1QywgMHhCMSwgMHhDQiwgMHhDRiwgMHhGOSwgMHg2Nywg MHhFQSwgMHg2MiwgMHg4QSwgMHhFQiwgMHg3NywgMHgwMiwKLSsgMHg0MiwgMHgzMCwgMHg4OCwg MHhCMSwgMHg0OCwgMHhERiwgMHgxMiwgMHg2MCwgMHg2RSwgMHg5MiwgMHhCQiwgMHg0QiwKLSsg MHgwOSwgMHg2OCwgMHhEMSwgMHg3MCwgMHgyQiwgMHg1OSwgMHhFRSwgMHg1NywgMHg5NiwgMHhG OSwgMHhFQSwgMHhBMywKLSsgMHg0QywgMHhFOSwgMHhDOSwgMHhCRCwgMHgyNSwgMHgzNCwgMHg2 NiwgMHgxNSwgMHg2QywgMHhDOSwgMHg4MSwgMHhEMSwKLSsgMHg0OCwgMHgwRiwgMHgzMywgMHg1 RiwgMHgwNSwgMHg0RiwgMHhDMiwgMHhDNCwgMHhERCwgMHgwOSwgMHg1NCwgMHg3OSwKLSsgMHhB MSwgMHg1NywgMHgwNywgMHg3MCwgMHhBMCwgMHgzMywgMHgwMiwgMHg0RCwgMHg1RCwgMHhFOSwg MHgyNCwgMHhEMSwKLSsgMHhFRiwgMHhGMCwgMHg2MSwgMHhEMCwgMHgxRCwgMHg0MSwgMHhFMiwg MHg5QiwgMHgyQiwgMHg3QywgMHhEMCwgMHg0RSwKLSsgMHg1NSwgMHhEOSwgMHg2RCwgMHhBMSwg MHgxNiwgMHg5RiwgMHhEQSwgMHhDMywgMHgzQiwgMHhGMSwgMHg3NCwgMHhEMSwKLSsgMHg5OSwg MHhGMSwgMHg2MywgMHg1NywgMHhBRCwgMHhDNywgMHg1NSwgMHhGNCwgMHg5NywgMHg0MywgMHgx QywgMHhFRCwKLSsgMHgxQiwgMHg3QSwgMHgzMiwgMHhDQiwgMHgyNCwgMHhBNiwgMHgzRCwgMHg5 MywgMHgzNywgMHg5MCwgMHg3NCwgMHhFRSwKLSsgMHhEMiwgMHg4RCwgMHg0QiwgMHhCQywgMHg3 MiwgMHhEQSwgMHgyNSwgMHgyQiwgMHg2NCwgMHhFOSwgMHhDQSwgMHg2OSwKLSsgMHgzNiwgMHhC NiwgMHhFQywgMHg2RSwgMHg4RiwgMHgzMywgMHgwRSwgMHg3NCwgMHg0MCwgMHg0OCwgMHg1MSwg MHhFMiwKLSsgMHg1NCwgMHg2RiwgMHhBRiwgMHg2RSwgMHgzNiwgMHg1NCwgMHgzQSwgMHhFQywg MHg3OCwgMHgzNywgMHhFNiwgMHgxRiwKLSsgMHg3NiwgMHhBNSwgMHg0RCwgMHhBNiwgMHhEOSwg MHhCMywgMHg2QiwgMHgxNywgMHg2RCwgMHg2MSwgMHhGQywgMHhBMywKLSsgMHg4NSwgMHg0QSwg MHhDQywgMHhEQSwgMHg1MiwgMHhBQywgMHg1QiwgMHhEQSwgMHg1MSwgMHhFNSwgMHg3RiwgMHg1 QiwKLSsgMHg1MiwgMHg4QiwgMHg3NCwgMHg3NSwgMHg5OSwgMHg1QywgMHgwMSwgMHhGRCwgMHgy NSwgMHgzRSwgMHhDRCwgMHg4NiwKLSsgMHg2RiwgMHg3QSwgMHhDMCwgMHhEOCwgMHgxNywgMHg2 RiwgMHhEMSwgMHhEMiwgMHg2QiwgMHhBQiwgMHgxNCwgMHgxRiwKLSsgMHgzQiwgMHhCOCwgMHgx NSwgMHgwNSwgMHg4NiwgMHg0MCwgMHgzNiwgMHhDRiwgMHhEQSwgMHg1OSwgMHgyQiwgMHg5QSwK LSsgMHhFOSwgMHgxRSwgMHg2RSwgMHhEMywgMHg2QiwgMHhBMSwgMHgxOSwgMHhDNSwgMHhFNiwg MHgzRiwgMHhFOSwgMHgyRSwKLSsgMHg0MywgMHhBOCwgMHgzNCwgMHgwQQotIH07Ci0gCi0gc3Rh dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9YOTMxX1NIQTFbXSA9IHsKLS0gIDB4ODYs IDB4QjQsIDB4MTgsIDB4QkEsIDB4RDEsIDB4ODAsIDB4QjYsIDB4N0MsIDB4NDIsIDB4NDUsIDB4 NEQsIDB4REYsCi0tICAweEU5LCAweDJELCAweEUxLCAweDgzLCAweDVGLCAweEI1LCAweDJGLCAw eEM5LCAweENELCAweEM0LCAweEIyLCAweDc1LAotLSAgMHg4MCwgMHhBNCwgMHhGMSwgMHg0QSwg MHhFNywgMHg4MywgMHgxMiwgMHgxRSwgMHgxRSwgMHgxNCwgMHhCOCwgMHhBQywKLS0gIDB4MzUs IDB4RTIsIDB4QUEsIDB4MEIsIDB4NUMsIDB4RjgsIDB4MzgsIDB4NEQsIDB4MDQsIDB4RUUsIDB4 QTksIDB4OTcsCi0tICAweDcwLCAweEZCLCAweDVFLCAweEU3LCAweEI3LCAweEUzLCAweDYyLCAw eDIzLCAweDRCLCAweDM4LCAweEJFLCAweEQ2LAotLSAgMHg1MywgMHgxNSwgMHhGNywgMHhERiwg MHg4NywgMHhCNCwgMHgwRSwgMHhDQywgMHhCMSwgMHgxQSwgMHgxMSwgMHgxOSwKLS0gIDB4RUUs IDB4NTEsIDB4Q0MsIDB4OTIsIDB4REQsIDB4QkMsIDB4NjMsIDB4MjksIDB4NjMsIDB4MEMsIDB4 NTksIDB4RDcsCi0tICAweDZGLCAweDRDLCAweDNDLCAweDM3LCAweDVCLCAweDM3LCAweDAzLCAw eDYxLCAweDdELCAweDI0LCAweDFDLCAweDk5LAotLSAgMHg0OCwgMHhBRiwgMHg4MiwgMHhGRSwg MHgzMiwgMHg0MSwgMHg5QiwgMHhCMiwgMHhEQiwgMHhFQSwgMHhFRCwgMHg3NiwKLS0gIDB4OEUs IDB4NkUsIDB4Q0EsIDB4N0UsIDB4NEUsIDB4MTQsIDB4QkEsIDB4MzAsIDB4ODQsIDB4MUMsIDB4 QjMsIDB4NjcsCi0tICAweEEzLCAweDI5LCAweDgwLCAweDcwLCAweDU0LCAweDY4LCAweDdELCAw eDQ5Ci0rIDB4QjEsIDB4MEUsIDB4NEYsIDB4QzYsIDB4RTAsIDB4OTUsIDB4ODUsIDB4N0IsIDB4 QkUsIDB4REUsIDB4QzQsIDB4RTYsCi0rIDB4MUYsIDB4MTIsIDB4MkUsIDB4OUIsIDB4M0UsIDB4 MTEsIDB4QTMsIDB4RjAsIDB4RjAsIDB4QTgsIDB4MjMsIDB4MUEsCi0rIDB4OTYsIDB4NkUsIDB4 OTksIDB4QjUsIDB4NUYsIDB4ODIsIDB4QzUsIDB4ODcsIDB4NzUsIDB4RTksIDB4RDQsIDB4QkYs Ci0rIDB4OUYsIDB4RTAsIDB4QTQsIDB4RUQsIDB4QzcsIDB4MDEsIDB4MkEsIDB4M0YsIDB4NkYs IDB4NDMsIDB4MUQsIDB4NEYsCi0rIDB4RTgsIDB4MDUsIDB4MzQsIDB4MzIsIDB4MjAsIDB4MzYs IDB4OTQsIDB4QTAsIDB4NkQsIDB4Q0MsIDB4RjYsIDB4NDEsCi0rIDB4NDksIDB4NTYsIDB4OTYs IDB4RUMsIDB4OUMsIDB4N0MsIDB4RDEsIDB4MEUsIDB4OUUsIDB4RDgsIDB4MUIsIDB4NDgsCi0r IDB4RDksIDB4REYsIDB4OTksIDB4OUYsIDB4OTIsIDB4MTcsIDB4OTYsIDB4QTQsIDB4RjEsIDB4 ODcsIDB4NjQsIDB4NjEsCi0rIDB4M0MsIDB4QUYsIDB4MDAsIDB4MjQsIDB4QjMsIDB4NjQsIDB4 ODgsIDB4OEUsIDB4NDEsIDB4QkYsIDB4MjksIDB4MUYsCi0rIDB4QTMsIDB4MjgsIDB4QUQsIDB4 MjEsIDB4MUUsIDB4QTMsIDB4OTYsIDB4NDAsIDB4MEEsIDB4MEIsIDB4ODIsIDB4Q0QsCi0rIDB4 OTcsIDB4NTgsIDB4MzMsIDB4QjYsIDB4NTIsIDB4QUMsIDB4QzUsIDB4M0IsIDB4MTQsIDB4RTcs IDB4MUUsIDB4NUQsCi0rIDB4MDksIDB4QzksIDB4NzYsIDB4QjUsIDB4ODksIDB4QzYsIDB4OUIs IDB4NEMsIDB4QzIsIDB4QzIsIDB4MzEsIDB4MEUsCi0rIDB4QkEsIDB4MUUsIDB4QjUsIDB4MTEs IDB4RDAsIDB4RkQsIDB4QzEsIDB4REEsIDB4NjQsIDB4MTcsIDB4QTgsIDB4Q0IsCi0rIDB4RjAs IDB4OTQsIDB4RjQsIDB4REQsIDB4ODQsIDB4QjcsIDB4RUYsIDB4OUMsIDB4MTMsIDB4NEYsIDB4 REQsIDB4MDYsCi0rIDB4MEMsIDB4RTQsIDB4QzcsIDB4RkQsIDB4NjksIDB4MTAsIDB4MjAsIDB4 RDMsIDB4OTMsIDB4NUUsIDB4RjgsIDB4QkEsCi0rIDB4MjEsIDB4RkIsIDB4NjIsIDB4QzQsIDB4 NjMsIDB4NzYsIDB4NDMsIDB4QUEsIDB4N0UsIDB4M0MsIDB4NTYsIDB4NUUsCi0rIDB4QjQsIDB4 NDcsIDB4M0EsIDB4MDUsIDB4MEQsIDB4QkIsIDB4MTMsIDB4QzQsIDB4OTMsIDB4RkIsIDB4Mjks IDB4QTgsCi0rIDB4M0UsIDB4NzYsIDB4NDEsIDB4NTQsIDB4OUUsIDB4N0IsIDB4RTIsIDB4RTAs IDB4MDcsIDB4MUQsIDB4QTcsIDB4OUMsCi0rIDB4ODUsIDB4MTEsIDB4QjUsIDB4QTUsIDB4ODgs IDB4NTgsIDB4MDIsIDB4RDgsIDB4QzAsIDB4NEIsIDB4ODEsIDB4QkYsCi0rIDB4MkIsIDB4Mzgs IDB4RTIsIDB4MkYsIDB4NDIsIDB4Q0EsIDB4NjMsIDB4OEEsIDB4MEEsIDB4NzgsIDB4QkEsIDB4 NTAsCi0rIDB4RTUsIDB4ODQsIDB4MzUsIDB4RDMsIDB4NkEsIDB4MUUsIDB4OTYsIDB4MEIsIDB4 OTEsIDB4QjEsIDB4MEUsIDB4ODUsCi0rIDB4QTgsIDB4NUMsIDB4NkUsIDB4NDYsIDB4NUMsIDB4 NjEsIDB4OEMsIDB4NEYsIDB4NUIsIDB4NjEsIDB4QjYsIDB4M0MsCi0rIDB4QjcsIDB4MkMsIDB4 QTUsIDB4MUEKLSB9OwotIAotIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkz MV9TSEEyNTZbXSA9IHsKLS0gIDB4N0UsIDB4QTIsIDB4NzcsIDB4RkUsIDB4QjgsIDB4NTQsIDB4 OEEsIDB4QzcsIDB4N0YsIDB4NjQsIDB4NTQsIDB4ODksCi0tICAweEU1LCAweDUyLCAweDE1LCAw eDhFLCAweDUyLCAweDk2LCAweDRFLCAweEE2LCAweDU4LCAweDkyLCAweDFDLCAweERELAotLSAg MHhFQSwgMHhBMiwgMHgyRCwgMHg1QywgMHhEMSwgMHg2MiwgMHgwMCwgMHg0OSwgMHgwNSwgMHg5 NSwgMHg3MywgMHhDRiwKLS0gIDB4MTYsIDB4NzYsIDB4NjgsIDB4RjYsIDB4QzYsIDB4NUUsIDB4 ODAsIDB4QjgsIDB4QjgsIDB4N0IsIDB4QzgsIDB4OUIsCi0tICAweEM2LCAweDUzLCAweDg4LCAw eDI2LCAweDIwLCAweDg4LCAweDczLCAweEI2LCAweDEzLCAweEI4LCAweEYwLCAweDRCLAotLSAg MHgwMCwgMHg4NSwgMHhGMywgMHhERCwgMHgwNywgMHg1MCwgMHhFQiwgMHgyMCwgMHhDNCwgMHgz OCwgMHgwRSwgMHg5OCwKLS0gIDB4QUQsIDB4NEUsIDB4NDksIDB4MkMsIDB4RDcsIDB4NjUsIDB4 QTUsIDB4MTksIDB4MEUsIDB4NTksIDB4MDEsIDB4RUMsCi0tICAweDdFLCAweDc1LCAweDg5LCAw eDY5LCAweDJFLCAweDYzLCAweDc2LCAweDg1LCAweDQ2LCAweDhELCAweEEwLCAweDhDLAotLSAg MHgzMywgMHgxRCwgMHg4MiwgMHg4QywgMHgwMywgMHhFQSwgMHg2OSwgMHg4OCwgMHgzNSwgMHhB MSwgMHg0MiwgMHhCRCwKLS0gIDB4MjEsIDB4RUQsIDB4OEQsIDB4QkMsIDB4QkMsIDB4REIsIDB4 MzAsIDB4RkYsIDB4ODYsIDB4RjAsIDB4NUIsIDB4REMsCi0tICAweEUzLCAweEUyLCAweEU4LCAw eDBBLCAweDBBLCAweDI5LCAweDk0LCAweDgwCi0rIDB4QzYsIDB4NkMsIDB4MDEsIDB4N0YsIDB4 QjYsIDB4OEMsIDB4RDQsIDB4NjEsIDB4ODMsIDB4QzUsIDB4QkMsIDB4NzUsCi0rIDB4MzksIDB4 MjIsIDB4REQsIDB4MTcsIDB4NUIsIDB4OTUsIDB4NEIsIDB4NEMsIDB4NDYsIDB4MzksIDB4Mzcs IDB4QTcsCi0rIDB4NTQsIDB4NkMsIDB4NDksIDB4NUEsIDB4NjcsIDB4OTAsIDB4NDcsIDB4RjYs IDB4NTksIDB4QUUsIDB4RkMsIDB4REQsCi0rIDB4REYsIDB4REIsIDB4QzcsIDB4OTEsIDB4Qjks IDB4QjYsIDB4Q0UsIDB4RDgsIDB4RkEsIDB4MzAsIDB4MDEsIDB4OUYsCi0rIDB4Q0EsIDB4RTUs IDB4NEEsIDB4NTEsIDB4QjcsIDB4QkUsIDB4QkQsIDB4NEUsIDB4NTYsIDB4MjUsIDB4MEIsIDB4 NDksCi0rIDB4RTAsIDB4NDYsIDB4QkIsIDB4ODEsIDB4MEUsIDB4MTQsIDB4NDcsIDB4RkYsIDB4 Q0IsIDB4QkIsIDB4QTEsIDB4NkQsCi0rIDB4NDQsIDB4OUIsIDB4RjcsIDB4RUUsIDB4ODEsIDB4 RUIsIDB4RjYsIDB4NjIsIDB4RUEsIDB4MEQsIDB4NzYsIDB4NzYsCi0rIDB4NEUsIDB4MjUsIDB4 RDcsIDB4OUEsIDB4MkIsIDB4QjEsIDB4OTIsIDB4RUQsIDB4NUMsIDB4N0YsIDB4OUQsIDB4OTks Ci0rIDB4MDcsIDB4OUUsIDB4QkYsIDB4NjIsIDB4ODMsIDB4MTIsIDB4NjEsIDB4OTksIDB4M0Us IDB4RjUsIDB4NkEsIDB4NEMsCi0rIDB4NTgsIDB4QjAsIDB4MkEsIDB4MTUsIDB4MUMsIDB4QTAs IDB4RDIsIDB4OTEsIDB4ODcsIDB4OUMsIDB4N0QsIDB4NEYsCi0rIDB4RUYsIDB4M0IsIDB4MEYs IDB4NjAsIDB4RDcsIDB4MUUsIDB4RUYsIDB4N0MsIDB4QkUsIDB4NjgsIDB4OTUsIDB4RTYsCi0r IDB4QkEsIDB4RkEsIDB4RjYsIDB4RDEsIDB4NjcsIDB4M0QsIDB4OUQsIDB4MzksIDB4QUUsIDB4 QzIsIDB4ODUsIDB4RDIsCi0rIDB4REUsIDB4QTUsIDB4ODUsIDB4MUUsIDB4NEQsIDB4MkIsIDB4 MkMsIDB4MDYsIDB4NDQsIDB4OTgsIDB4MTcsIDB4NDYsCi0rIDB4ODksIDB4NDEsIDB4MTMsIDB4 RkMsIDB4OTksIDB4RDYsIDB4NkMsIDB4Q0YsIDB4MjYsIDB4QTIsIDB4NzcsIDB4OEEsCi0rIDB4 M0YsIDB4MTAsIDB4RjgsIDB4QzUsIDB4QzksIDB4NEEsIDB4QjYsIDB4OTMsIDB4RjUsIDB4Mzgs IDB4ODksIDB4QkQsCi0rIDB4RkYsIDB4QUUsIDB4NDIsIDB4MDYsIDB4MkQsIDB4Q0QsIDB4MUIs IDB4M0QsIDB4NUEsIDB4Q0QsIDB4RjIsIDB4OEEsCi0rIDB4NjUsIDB4QTQsIDB4QjcsIDB4QjYs IDB4RjYsIDB4NUIsIDB4RTgsIDB4QTQsIDB4NjgsIDB4QjQsIDB4MjcsIDB4REEsCi0rIDB4RjEs IDB4NTksIDB4MzcsIDB4MjQsIDB4MTgsIDB4QjUsIDB4NUIsIDB4MTUsIDB4NjIsIDB4NjQsIDB4 NkYsIDB4NzgsCi0rIDB4QkIsIDB4MTcsIDB4OTQsIDB4NDIsIDB4QUQsIDB4QjMsIDB4MEQsIDB4 MTgsIDB4QjAsIDB4MUIsIDB4MjgsIDB4MjksCi0rIDB4M0IsIDB4MTUsIDB4QkYsIDB4RDEsIDB4 QzgsIDB4MjgsIDB4NEYsIDB4REYsIDB4N0YsIDB4MzQsIDB4NDksIDB4MkEsCi0rIDB4NDQsIDB4 RDUsIDB4NEMsIDB4NTksIDB4OTAsIDB4ODMsIDB4OEQsIDB4RkMsIDB4NTgsIDB4N0UsIDB4RUMs IDB4NEIsCi0rIDB4NTQsIDB4RjAsIDB4QjUsIDB4QkQKLSB9OwotIAotIHN0YXRpYyBjb25zdCB1 bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkzMV9TSEEzODRbXSA9IHsKLS0gIDB4NUMsIDB4N0QsIDB4 OTYsIDB4MzUsIDB4RUMsIDB4N0UsIDB4MTEsIDB4MzgsIDB4QkIsIDB4N0IsIDB4RUMsIDB4N0Is Ci0tICAweEYyLCAweDgyLCAweDhFLCAweDk5LCAweEJELCAweEVGLCAweEQ4LCAweEFFLCAweEQ3 LCAweDM5LCAweDM3LCAweENCLAotLSAgMHhFNiwgMHg0RiwgMHg1RSwgMHgwQSwgMHgxMywgMHhF NCwgMHgyRSwgMHg0MCwgMHhCOSwgMHhCRSwgMHgyRSwgMHhFMywKLS0gIDB4RUYsIDB4NzgsIDB4 ODMsIDB4MTgsIDB4NDQsIDB4MzUsIDB4OUMsIDB4OEUsIDB4RDcsIDB4NEEsIDB4NjMsIDB4RjYs Ci0tICAweDU3LCAweEMyLCAweEIwLCAweDA4LCAweDUxLCAweDczLCAweENGLCAweENBLCAweDk5 LCAweDY2LCAweEVFLCAweDMxLAotLSAgMHhEOCwgMHg2OSwgMHhFOSwgMHhBQiwgMHgxMywgMHgy NywgMHg3QiwgMHg0MSwgMHgxRSwgMHg2RCwgMHg4RCwgMHhGMSwKLS0gIDB4M0UsIDB4OUMsIDB4 MzUsIDB4OTUsIDB4NTgsIDB4REQsIDB4MkIsIDB4RDUsIDB4QTAsIDB4NjAsIDB4NDEsIDB4Nzks Ci0tICAweDI0LCAweDIyLCAweEU0LCAweEI3LCAweEJGLCAweDQ3LCAweDUzLCAweEY2LCAweDM0 LCAweEQ1LCAweDdDLCAweEZGLAotLSAgMHgwRSwgMHgwOSwgMHhFRSwgMHgyRSwgMHhFMiwgMHgz NywgMHhCOSwgMHhERSwgMHhDNSwgMHgxMiwgMHg0NCwgMHgzNSwKLS0gIDB4RUYsIDB4MDEsIDB4 RTYsIDB4NUUsIDB4MzksIDB4MzEsIDB4MkQsIDB4NzEsIDB4QTUsIDB4REMsIDB4QzYsIDB4NkQs Ci0tICAweEUyLCAweENELCAweDg1LCAweERCLCAweDczLCAweDgyLCAweDY1LCAweDI4Ci0rIDB4 ODgsIDB4ODUsIDB4RTEsIDB4QzEsIDB4RTIsIDB4RTUsIDB4MEIsIDB4NkMsIDB4MDMsIDB4Mjcs IDB4QUMsIDB4QzgsCi0rIDB4M0EsIDB4NzIsIDB4QjQsIDB4OUEsIDB4RjMsIDB4QUUsIDB4OUMs IDB4ODgsIDB4OEMsIDB4QkUsIDB4MjgsIDB4MEQsCi0rIDB4ODksIDB4NUYsIDB4MDYsIDB4MEYs IDB4NUYsIDB4MDgsIDB4RTMsIDB4OUMsIDB4RjksIDB4MjgsIDB4NEYsIDB4QkIsCi0rIDB4MjQs IDB4REQsIDB4MjEsIDB4NEMsIDB4NDQsIDB4OTYsIDB4NTAsIDB4QjUsIDB4RDQsIDB4OEUsIDB4 MTMsIDB4NjAsCi0rIDB4N0MsIDB4Q0IsIDB4RDksIDB4NUUsIDB4N0MsIDB4QjYsIDB4QUQsIDB4 QTUsIDB4NkEsIDB4NDEsIDB4MDQsIDB4QTcsCi0rIDB4OEUsIDB4RjAsIDB4MzksIDB4MDgsIDB4 N0UsIDB4MTgsIDB4OTEsIDB4RjksIDB4NDYsIDB4OTcsIDB4RUYsIDB4RjIsCi0rIDB4MTQsIDB4 QjIsIDB4MDEsIDB4RkQsIDB4QjIsIDB4MkIsIDB4M0EsIDB4RjgsIDB4NEEsIDB4NTksIDB4RDEs IDB4MzYsCi0rIDB4MUEsIDB4N0QsIDB4MkQsIDB4QjksIDB4QzYsIDB4N0YsIDB4REUsIDB4NjIs IDB4QjYsIDB4NTYsIDB4QkEsIDB4RkEsCi0rIDB4NUEsIDB4QTEsIDB4NUIsIDB4OEMsIDB4NUYs IDB4OTgsIDB4RUMsIDB4RjgsIDB4OTMsIDB4MTMsIDB4MTEsIDB4NDIsCi0rIDB4RUUsIDB4QzQs IDB4NkMsIDB4NEEsIDB4ODcsIDB4NEUsIDB4OTgsIDB4MjIsIDB4QjYsIDB4QkIsIDB4QjAsIDB4 M0EsCi0rIDB4NzAsIDB4QTksIDB4Q0MsIDB4QkMsIDB4MzEsIDB4MjcsIDB4RTcsIDB4QkMsIDB4 Q0EsIDB4RUMsIDB4NTIsIDB4ODEsCi0rIDB4NzYsIDB4OUEsIDB4M0YsIDB4MTgsIDB4QzEsIDB4 MUMsIDB4NEEsIDB4QzcsIDB4NTYsIDB4RTMsIDB4RjAsIDB4NkYsCi0rIDB4MzYsIDB4QkIsIDB4 OUIsIDB4RjksIDB4NDMsIDB4OTAsIDB4QkUsIDB4NzksIDB4NTksIDB4NjMsIDB4MUMsIDB4RkUs Ci0rIDB4QjYsIDB4NDYsIDB4OEIsIDB4QkEsIDB4QkQsIDB4QUEsIDB4MjgsIDB4NzEsIDB4OUIs IDB4RDYsIDB4REQsIDB4MDUsCi0rIDB4MDAsIDB4M0IsIDB4QkMsIDB4MkQsIDB4NDgsIDB4RTcs IDB4NkUsIDB4NkUsIDB4NDIsIDB4OTUsIDB4MjcsIDB4QUUsCi0rIDB4OTMsIDB4OTIsIDB4NkQs IDB4NTksIDB4NDcsIDB4MTAsIDB4NTksIDB4QUMsIDB4REQsIDB4OTUsIDB4MjksIDB4QzMsCi0r IDB4MUIsIDB4ODYsIDB4NjcsIDB4MTIsIDB4OTgsIDB4NDgsIDB4MTAsIDB4QTYsIDB4OTAsIDB4 QTMsIDB4NTksIDB4OUQsCi0rIDB4MTAsIDB4NEUsIDB4RUEsIDB4RDgsIDB4Q0IsIDB4RTMsIDB4 ODEsIDB4QkEsIDB4QTEsIDB4NTIsIDB4NTUsIDB4NzgsCi0rIDB4RkYsIDB4OTUsIDB4NDAsIDB4 RTAsIDB4QUUsIDB4OTMsIDB4MzgsIDB4NUQsIDB4MjEsIDB4MTMsIDB4OEEsIDB4RkMsCi0rIDB4 NzIsIDB4QzcsIDB4RkIsIDB4NzAsIDB4MUMsIDB4RUUsIDB4NUQsIDB4QjAsIDB4RTUsIDB4RkEs IDB4NDQsIDB4ODYsCi0rIDB4NjcsIDB4OTcsIDB4NjYsIDB4NjQsIDB4QTQsIDB4MUUsIDB4Rjgs IDB4M0EsIDB4MTYsIDB4RjgsIDB4QzksIDB4RTAsCi0rIDB4MDksIDB4RjMsIDB4NjEsIDB4NEYK LSB9OwotIAotIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkzMV9TSEE1MTJb XSA9IHsKLS0gIDB4QTYsIDB4NjUsIDB4QTIsIDB4NzcsIDB4NEYsIDB4QjMsIDB4ODYsIDB4Q0Is IDB4NjQsIDB4M0EsIDB4QzEsIDB4NjMsCi0tICAweEZDLCAweEExLCAweEFBLCAweENCLCAweDlC LCAweDc5LCAweERELCAweDRCLCAweEUxLCAweEQ5LCAweERBLCAweEFDLAotLSAgMHhFNywgMHg0 NywgMHgwOSwgMHhCMiwgMHgxMSwgMHg0QiwgMHg4QSwgMHhBQSwgMHgwNSwgMHg5RSwgMHg3Nywg MHhENywKLS0gIDB4M0EsIDB4QkQsIDB4NUUsIDB4NTMsIDB4MDksIDB4NEEsIDB4RTYsIDB4MEYs IDB4NUUsIDB4RjksIDB4MTQsIDB4MjgsCi0tICAweEEwLCAweDk5LCAweDc0LCAweDY0LCAweDcw LCAweDRFLCAweEYyLCAweEUzLCAweEZBLCAweEM3LCAweEY4LCAweEM1LAotLSAgMHg2RSwgMHgy QiwgMHg3OSwgMHg5NiwgMHgwRCwgMHgwQywgMHhDOCwgMHgxMCwgMHgzNCwgMHg1MywgMHhEMiwg MHhBRiwKLS0gIDB4MTcsIDB4MEUsIDB4RTAsIDB4QkYsIDB4NzksIDB4RjYsIDB4MDQsIDB4NzIs IDB4MTAsIDB4RTAsIDB4RjYsIDB4RDAsCi0tICAweENFLCAweDhBLCAweDZGLCAweEExLCAweDk1 LCAweDg5LCAweEJGLCAweDU4LCAweDhGLCAweDQ2LCAweDVGLCAweDA5LAotLSAgMHg5RiwgMHgw OSwgMHhDQSwgMHg4NCwgMHgxNSwgMHg4NSwgMHhFMCwgMHhFRCwgMHgwNCwgMHgyRCwgMHhGQiwg MHg3QywKLS0gIDB4MzYsIDB4MzUsIDB4MjEsIDB4MzEsIDB4QzMsIDB4RkQsIDB4OTIsIDB4NDIs IDB4MTEsIDB4MzAsIDB4NzEsIDB4MUIsCi0tICAweDYwLCAweDgzLCAweDE4LCAweDg4LCAweEEz LCAweEY1LCAweDU5LCAweEMzCi0rIDB4QzksIDB4MkIsIDB4NkQsIDB4NTAsIDB4QkIsIDB4RDgs IDB4MEIsIDB4MzUsIDB4RTgsIDB4NzgsIDB4RjUsIDB4RkMsCi0rIDB4QkIsIDB4NkEsIDB4QjQs IDB4MzIsIDB4NjMsIDB4OUMsIDB4NzUsIDB4MTksIDB4MUQsIDB4RkIsIDB4NjgsIDB4QzAsCi0r IDB4RkMsIDB4MzQsIDB4Q0UsIDB4MDksIDB4RkQsIDB4RjQsIDB4MzMsIDB4NDIsIDB4NzAsIDB4 MjQsIDB4NTcsIDB4QkMsCi0rIDB4QjMsIDB4QkQsIDB4MjQsIDB4MzMsIDB4OUUsIDB4NEIsIDB4 MDAsIDB4Q0UsIDB4MTUsIDB4QjMsIDB4MjcsIDB4QzYsCi0rIDB4MzksIDB4N0MsIDB4QzEsIDB4 MjgsIDB4NzUsIDB4RkUsIDB4N0IsIDB4NzYsIDB4NEYsIDB4RkIsIDB4NjAsIDB4QTAsCi0rIDB4 MzAsIDB4QkYsIDB4NzQsIDB4MkMsIDB4OUQsIDB4RTQsIDB4QzgsIDB4MDMsIDB4QTgsIDB4REUs IDB4QjksIDB4MkEsCi0rIDB4RDksIDB4MjMsIDB4MjQsIDB4REMsIDB4RUUsIDB4RjAsIDB4QzEs IDB4OEIsIDB4NEQsIDB4MTIsIDB4NEEsIDB4NDEsCi0rIDB4MzMsIDB4M0IsIDB4MjMsIDB4RkUs IDB4REQsIDB4RTksIDB4RTgsIDB4NTUsIDB4MkIsIDB4M0UsIDB4QTQsIDB4MUIsCi0rIDB4OTUs IDB4MjEsIDB4MkEsIDB4RUYsIDB4ODQsIDB4MkUsIDB4MTMsIDB4M0QsIDB4OTcsIDB4N0MsIDB4 MDgsIDB4ODYsCi0rIDB4QjEsIDB4NjAsIDB4QTQsIDB4QjksIDB4QzQsIDB4NUEsIDB4NUIsIDB4 MkQsIDB4M0YsIDB4RDcsIDB4MEQsIDB4QjIsCi0rIDB4NDEsIDB4NzIsIDB4N0EsIDB4N0YsIDB4 QTMsIDB4MTIsIDB4QjAsIDB4QUQsIDB4ODAsIDB4MkUsIDB4RDYsIDB4RDMsCi0rIDB4OEEsIDB4 NzEsIDB4NzIsIDB4NjcsIDB4OTQsIDB4NkYsIDB4NTEsIDB4MDUsIDB4MzksIDB4RkQsIDB4QkUs IDB4OTEsCi0rIDB4REUsIDB4MUQsIDB4NjUsIDB4RTQsIDB4QTcsIDB4QTYsIDB4MEYsIDB4QTUs IDB4MDgsIDB4MUYsIDB4RkMsIDB4NTMsCi0rIDB4NDgsIDB4N0IsIDB4QjgsIDB4Q0UsIDB4Nzks IDB4REEsIDB4REMsIDB4MTgsIDB4RDEsIDB4RDMsIDB4OEEsIDB4NzMsCi0rIDB4Q0UsIDB4NUEs IDB4NjIsIDB4MUUsIDB4MzMsIDB4RDAsIDB4MjEsIDB4OUMsIDB4RjksIDB4REUsIDB4OUUsIDB4 N0UsCi0rIDB4NEQsIDB4MEUsIDB4MjQsIDB4MzAsIDB4OTQsIDB4QjgsIDB4REMsIDB4OEIsIDB4 NTcsIDB4N0UsIDB4M0IsIDB4QzYsCi0rIDB4RDcsIDB4MEYsIDB4RkMsIDB4QTYsIDB4MUYsIDB4 RUIsIDB4QUYsIDB4MTksIDB4RDAsIDB4RkYsIDB4M0QsIDB4NjMsCi0rIDB4MDMsIDB4MUQsIDB4 QUIsIDB4MTEsIDB4MEMsIDB4QUQsIDB4NDUsIDB4NDYsIDB4NjcsIDB4NzYsIDB4QzgsIDB4MjYs Ci0rIDB4RDQsIDB4RDQsIDB4NzAsIDB4MUYsIDB4REYsIDB4RUIsIDB4RTUsIDB4N0QsIDB4NzUs IDB4RDgsIDB4M0IsIDB4NTIsCi0rIDB4NkMsIDB4RTcsIDB4MjMsIDB4Q0IsIDB4QjksIDB4MUIs IDB4QTQsIDB4MkUsIDB4NUIsIDB4RUMsIDB4QjQsIDB4QjYsCi0rIDB4QjYsIDB4MkQsIDB4MEIs IDB4NjAsIDB4RTMsIDB4N0IsIDB4MDUsIDB4RTgsIDB4MUUsIDB4QUQsIDB4QzcsIDB4RTcsCi0r IDB4QkUsIDB4RjQsIDB4NzEsIDB4QUUKLSB9OwotIAotK3N0YXRpYyBpbnQgZmlwc19yc2FfZW5j cnlwdF90ZXN0KFJTQSAqcnNhLCBjb25zdCB1bnNpZ25lZCBjaGFyICpwbGFpbnRleHQsIGludCBw dGxlbikKLSsJewotKwl1bnNpZ25lZCBjaGFyICpjdGJ1ZiA9IE5VTEwsICpwdGJ1ZiA9IE5VTEw7 Ci0rCWludCByZXQgPSAwOwotKwlpbnQgbGVuOwotKwotKwljdGJ1ZiA9IE9QRU5TU0xfbWFsbG9j KFJTQV9zaXplKHJzYSkpOwotKwlpZiAoIWN0YnVmKQotKwkJZ290byBlcnI7Ci0rCi0rCWxlbiA9 IFJTQV9wdWJsaWNfZW5jcnlwdChwdGxlbiwgcGxhaW50ZXh0LCBjdGJ1ZiwgcnNhLCBSU0FfUEtD UzFfUEFERElORyk7Ci0rCWlmIChsZW4gPD0gMCkKLSsJCWdvdG8gZXJyOwotKwkvKiBDaGVjayBj aXBoZXJ0ZXh0IGRvZXNuJ3QgbWF0Y2ggcGxhaW50ZXh0ICovCi0rCWlmIChsZW4gPj0gcHRsZW4g JiYgIW1lbWNtcChwbGFpbnRleHQsIGN0YnVmLCBwdGxlbikpCi0rCQlnb3RvIGVycjsKLSsKLSsJ cHRidWYgPSBPUEVOU1NMX21hbGxvYyhSU0Ffc2l6ZShyc2EpKTsKLSsJaWYgKCFwdGJ1ZikKLSsJ CWdvdG8gZXJyOwotKwotKwlsZW4gPSBSU0FfcHJpdmF0ZV9kZWNyeXB0KGxlbiwgY3RidWYsIHB0 YnVmLCByc2EsIFJTQV9QS0NTMV9QQURESU5HKTsKLSsJaWYgKGxlbiAhPSBwdGxlbikKLSsJCWdv dG8gZXJyOwotKwlpZiAobWVtY21wKHB0YnVmLCBwbGFpbnRleHQsIGxlbikpCi0rCQlnb3RvIGVy cjsKLSsKLSsJcmV0ID0gMTsKLSsKLSsJZXJyOgotKwlpZiAoY3RidWYpCi0rCQlPUEVOU1NMX2Zy ZWUoY3RidWYpOwotKwlpZiAocHRidWYpCi0rCQlPUEVOU1NMX2ZyZWUocHRidWYpOwotKwlyZXR1 cm4gcmV0OwotKwl9Ci0gCi0gaW50IEZJUFNfc2VsZnRlc3RfcnNhKCkKLSAJewotQEAgLTM1Myw3 ICs1ODcsNyBAQCBpbnQgRklQU19zZWxmdGVzdF9yc2EoKQotIAlpZiAoKHBrPUVWUF9QS0VZX25l dygpKSA9PSBOVUxMKQotIAkJZ290byBlcnI7Ci0gCi0tCUVWUF9QS0VZX2Fzc2lnbl9SU0EocGss IGtleSk7Ci0rCUVWUF9QS0VZX3NldDFfUlNBKHBrLCBrZXkpOwotIAotIAlpZiAoIWZpcHNfcGtl eV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6ZW9mKGthdF90YnMpIC0gMSwKLSAJCQkJ a2F0X1JTQV9TSEExLCBzaXplb2Yoa2F0X1JTQV9TSEExKSwKLUBAIC00MzAsMTMgKzY2NCwxNSBA QCBpbnQgRklQU19zZWxmdGVzdF9yc2EoKQotIAkJCSJSU0EgU0hBNTEyIFg5MzEiKSkKLSAJCWdv dG8gZXJyOwotIAotKwlpZiAoIWZpcHNfcnNhX2VuY3J5cHRfdGVzdChrZXksIGthdF90YnMsIHNp emVvZihrYXRfdGJzKSAtIDEpKQotKwkJZ290byBlcnI7Ci0gCi0gCXJldCA9IDE7Ci0gCi0gCWVy cjoKLSAJaWYgKHBrKQotIAkJRVZQX1BLRVlfZnJlZShwayk7Ci0tCWVsc2UgaWYgKGtleSkKLSsJ aWYgKGtleSkKLSAJCVJTQV9mcmVlKGtleSk7Ci0gCXJldHVybiByZXQ7Ci0gCX0KLWRpZmYgLXVw IG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL01ha2VmaWxlLmZpcHMtcmVxcyBvcGVuc3NsLTEu MC4xZy9jcnlwdG8vZmlwcy9NYWtlZmlsZQotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBz L01ha2VmaWxlLmZpcHMtcmVxcwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQyMDU0MDAwOCArMDIwMAot KysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9maXBzL01ha2VmaWxlCTIwMTQtMDUtMDYgMTY6MjI6 MjEuNDM0NTQwMzMwICswMjAwCi1AQCAtMjQsMTMgKzI0LDE1IEBAIExJQlNSQz1maXBzX2Flc19z ZWxmdGVzdC5jIGZpcHNfZGVzX3NlbGYKLSAgICAgZmlwc19yc2Ffc2VsZnRlc3QuYyBmaXBzX3No YV9zZWxmdGVzdC5jIGZpcHMuYyBmaXBzX2RzYV9zZWxmdGVzdC5jICBmaXBzX3JhbmQuYyBcCi0g ICAgIGZpcHNfcnNhX3g5MzFnLmMgZmlwc19wb3N0LmMgZmlwc19kcmJnX2N0ci5jIGZpcHNfZHJi Z19oYXNoLmMgZmlwc19kcmJnX2htYWMuYyBcCi0gICAgIGZpcHNfZHJiZ19saWIuYyBmaXBzX2Ry YmdfcmFuZC5jIGZpcHNfZHJiZ19zZWxmdGVzdC5jIGZpcHNfcmFuZF9saWIuYyBcCi0tICAgIGZp cHNfY21hY19zZWxmdGVzdC5jIGZpcHNfZWNkaF9zZWxmdGVzdC5jIGZpcHNfZWNkc2Ffc2VsZnRl c3QuYyBmaXBzX2VuYy5jIGZpcHNfbWQuYwotKyAgICBmaXBzX2NtYWNfc2VsZnRlc3QuYyBmaXBz X2VjZGhfc2VsZnRlc3QuYyBmaXBzX2VjZHNhX3NlbGZ0ZXN0LmMgZmlwc19lbmMuYyBmaXBzX21k LmMgXAotKyAgICBmaXBzX2RoX3NlbGZ0ZXN0LmMKLSAKLSBMSUJPQko9Zmlwc19hZXNfc2VsZnRl c3QubyBmaXBzX2Rlc19zZWxmdGVzdC5vIGZpcHNfaG1hY19zZWxmdGVzdC5vIGZpcHNfcmFuZF9z ZWxmdGVzdC5vIFwKLSAgICAgZmlwc19yc2Ffc2VsZnRlc3QubyBmaXBzX3NoYV9zZWxmdGVzdC5v IGZpcHMubyBmaXBzX2RzYV9zZWxmdGVzdC5vICBmaXBzX3JhbmQubyBcCi0gICAgIGZpcHNfcnNh X3g5MzFnLm8gZmlwc19wb3N0Lm8gZmlwc19kcmJnX2N0ci5vIGZpcHNfZHJiZ19oYXNoLm8gZmlw c19kcmJnX2htYWMubyBcCi0gICAgIGZpcHNfZHJiZ19saWIubyBmaXBzX2RyYmdfcmFuZC5vIGZp cHNfZHJiZ19zZWxmdGVzdC5vIGZpcHNfcmFuZF9saWIubyBcCi0tICAgIGZpcHNfY21hY19zZWxm dGVzdC5vIGZpcHNfZWNkaF9zZWxmdGVzdC5vIGZpcHNfZWNkc2Ffc2VsZnRlc3QubyBmaXBzX2Vu Yy5vIGZpcHNfbWQubwotKyAgICBmaXBzX2NtYWNfc2VsZnRlc3QubyBmaXBzX2VjZGhfc2VsZnRl c3QubyBmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm8gZmlwc19lbmMubyBmaXBzX21kLm8gXAotKyAgICBm aXBzX2RoX3NlbGZ0ZXN0Lm8KLSAKLSBMSUJDUllQVE89LUwuLiAtbGNyeXB0bwotIAotZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL21vZGVzL2djbTEyOC5jLmZpcHMtcmVxcyBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vbW9kZXMvZ2NtMTI4LmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8v bW9kZXMvZ2NtMTI4LmMuZmlwcy1yZXFzCTIwMTQtMDQtMDYgMTc6NTU6MDEuMDAwMDAwMDAwICsw MjAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL21vZGVzL2djbTEyOC5jCTIwMTQtMDUtMDYg MTY6MjI6MjEuNDM0NTQwMzMwICswMjAwCi1AQCAtOTA2LDYgKzkwNiwxMCBAQCBpbnQgQ1JZUFRP X2djbTEyOF9lbmNyeXB0KEdDTTEyOF9DT05URVhUCi0gIyBlbmRpZgotICNlbmRpZgotIAotKwlj dHgtPnRvdGxlbiArPSBsZW47Ci0rCWlmIChjdHgtPnRvdGxlbj4oVTY0KDEpPDwzNikgfHwgKHNp emVvZihsZW4pPT04ICYmIGN0eC0+dG90bGVuPGxlbikpCi0rCQlyZXR1cm4gLTE7Ci0rCi0gI2lm IDAKLSAJbiA9ICh1bnNpZ25lZCBpbnQpbWxlbiUxNjsgLyogYWx0ZXJuYXRpdmUgdG8gY3R4LT5t cmVzICovCi0gI2VuZGlmCi1AQCAtMTI2OSw2ICsxMjczLDEwIEBAIGludCBDUllQVE9fZ2NtMTI4 X2VuY3J5cHRfY3RyMzIoR0NNMTI4X0MKLSAjIGVuZGlmCi0gI2VuZGlmCi0gCi0rCWN0eC0+dG90 bGVuICs9IGxlbjsKLSsJaWYgKGN0eC0+dG90bGVuPihVNjQoMSk8PDM2KSB8fCAoc2l6ZW9mKGxl bik9PTggJiYgY3R4LT50b3RsZW48bGVuKSkKLSsJCXJldHVybiAtMTsKLSsKLSAJbWxlbiArPSBs ZW47Ci0gCWlmIChtbGVuPigoVTY0KDEpPDwzNiktMzIpIHx8IChzaXplb2YobGVuKT09OCAmJiBt bGVuPGxlbikpCi0gCQlyZXR1cm4gLTE7Ci1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8v bW9kZXMvbW9kZXNfbGNsLmguZmlwcy1yZXFzIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9tb2Rlcy9t b2Rlc19sY2wuaAotLS0tIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9tb2Rlcy9tb2Rlc19sY2wuaC5m aXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMC45MDM1MjgwNTQgKzAyMDAKLSsrKyBvcGVuc3Ns LTEuMC4xZy9jcnlwdG8vbW9kZXMvbW9kZXNfbGNsLmgJMjAxNC0wNS0wNiAxNjoyMjoyMS40MzU1 NDAzNTMgKzAyMDAKLUBAIC0xMTIsNiArMTEyLDcgQEAgc3RydWN0IGdjbTEyOF9jb250ZXh0IHsK LSAJdW5zaWduZWQgaW50IG1yZXMsIGFyZXM7Ci0gCWJsb2NrMTI4X2YgYmxvY2s7Ci0gCXZvaWQg KmtleTsKLSsJdTY0IHRvdGxlbjsKLSB9OwotIAotIHN0cnVjdCB4dHMxMjhfY29udGV4dCB7Ci1k aWZmIC11cCBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vcmFuZC9tZF9yYW5kLmMuZmlwcy1yZXFzIG9w ZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL21kX3JhbmQuYwotLS0tIG9wZW5zc2wtMS4wLjFnL2Ny eXB0by9yYW5kL21kX3JhbmQuYy5maXBzLXJlcXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNjk1MzY1 MTUgKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vcmFuZC9tZF9yYW5kLmMJMjAxNC0w NS0wNiAxNjoyNjo1My43NzY4MzY1MzUgKzAyMDAKLUBAIC0xNDMsMTIgKzE0Myw2IEBAIHN0YXRp YyBsb25nIG1kX2NvdW50WzJdPXswLDB9OwotIHN0YXRpYyBkb3VibGUgZW50cm9weT0wOwotIHN0 YXRpYyBpbnQgaW5pdGlhbGl6ZWQ9MDsKLSAKLS1zdGF0aWMgdW5zaWduZWQgaW50IGNyeXB0b19s b2NrX3JhbmQgPSAwOyAvKiBtYXkgYmUgc2V0IG9ubHkgd2hlbiBhIHRocmVhZAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGhvbGRzIENSWVBUT19MT0NLX1JB TkQKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiAodG8gcHJl dmVudCBkb3VibGUgbG9ja2luZykgKi8KLS0vKiBhY2Nlc3MgdG8gbG9ja2luX3RocmVhZCBpcyBz eW5jaHJvbml6ZWQgYnkgQ1JZUFRPX0xPQ0tfUkFORDIgKi8KLS1zdGF0aWMgQ1JZUFRPX1RIUkVB RElEIGxvY2tpbmdfdGhyZWFkaWQ7IC8qIHZhbGlkIGlmZiBjcnlwdG9fbG9ja19yYW5kIGlzIHNl dCAqLwotLQotIAotICNpZmRlZiBQUkVESUNUCi0gaW50IHJhbmRfcHJlZGljdGFibGU9MDsKLUBA IC0xOTYsNyArMTkwLDcgQEAgc3RhdGljIHZvaWQgc3NsZWF5X3JhbmRfYWRkKGNvbnN0IHZvaWQg KgotIAlsb25nIG1kX2NbMl07Ci0gCXVuc2lnbmVkIGNoYXIgbG9jYWxfbWRbTURfRElHRVNUX0xF TkdUSF07Ci0gCUVWUF9NRF9DVFggbTsKLS0JaW50IGRvX25vdF9sb2NrOwotKwlpbnQgbG9ja2Vk OwotIAotIAlpZiAoIW51bSkKLSAJCXJldHVybjsKLUBAIC0yMTYsMTkgKzIxMCw4IEBAIHN0YXRp YyB2b2lkIHNzbGVheV9yYW5kX2FkZChjb25zdCB2b2lkICoKLSAgICAgICAgICAqIGhhc2ggZnVu Y3Rpb24uCi0gCSAqLwotIAotLQkvKiBjaGVjayBpZiB3ZSBhbHJlYWR5IGhhdmUgdGhlIGxvY2sg Ki8KLS0JaWYgKGNyeXB0b19sb2NrX3JhbmQpCi0tCQl7Ci0tCQlDUllQVE9fVEhSRUFESUQgY3Vy OwotLQkJQ1JZUFRPX1RIUkVBRElEX2N1cnJlbnQoJmN1cik7Ci0tCQlDUllQVE9fcl9sb2NrKENS WVBUT19MT0NLX1JBTkQyKTsKLS0JCWRvX25vdF9sb2NrID0gIUNSWVBUT19USFJFQURJRF9jbXAo JmxvY2tpbmdfdGhyZWFkaWQsICZjdXIpOwotLQkJQ1JZUFRPX3JfdW5sb2NrKENSWVBUT19MT0NL X1JBTkQyKTsKLS0JCX0KLS0JZWxzZQotLQkJZG9fbm90X2xvY2sgPSAwOwotKwlsb2NrZWQgPSBw cml2YXRlX1JBTkRfbG9jaygxKTsKLSAKLS0JaWYgKCFkb19ub3RfbG9jaykgQ1JZUFRPX3dfbG9j ayhDUllQVE9fTE9DS19SQU5EKTsKLSAJc3RfaWR4PXN0YXRlX2luZGV4OwotIAotIAkvKiB1c2Ug b3VyIG93biBjb3BpZXMgb2YgdGhlIGNvdW50ZXJzIHNvIHRoYXQgZXZlbgotQEAgLTI2MCw3ICsy NDMsOCBAQCBzdGF0aWMgdm9pZCBzc2xlYXlfcmFuZF9hZGQoY29uc3Qgdm9pZCAqCi0gCi0gCW1k X2NvdW50WzFdICs9IChudW0gLyBNRF9ESUdFU1RfTEVOR1RIKSArIChudW0gJSBNRF9ESUdFU1Rf TEVOR1RIID4gMCk7Ci0gCi0tCWlmICghZG9fbm90X2xvY2spIENSWVBUT193X3VubG9jayhDUllQ VE9fTE9DS19SQU5EKTsKLSsJaWYgKGxvY2tlZCkKLSsJCXByaXZhdGVfUkFORF9sb2NrKDApOwot IAotIAlFVlBfTURfQ1RYX2luaXQoJm0pOwotIAlmb3IgKGk9MDsgaTxudW07IGkrPU1EX0RJR0VT VF9MRU5HVEgpCi1AQCAtMzExLDcgKzI5NSw3IEBAIHN0YXRpYyB2b2lkIHNzbGVheV9yYW5kX2Fk ZChjb25zdCB2b2lkICoKLSAJCX0KLSAJRVZQX01EX0NUWF9jbGVhbnVwKCZtKTsKLSAKLS0JaWYg KCFkb19ub3RfbG9jaykgQ1JZUFRPX3dfbG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSsJbG9ja2Vk ID0gcHJpdmF0ZV9SQU5EX2xvY2soMSk7Ci0gCS8qIERvbid0IGp1c3QgY29weSBiYWNrIGxvY2Fs X21kIGludG8gbWQgLS0gdGhpcyBjb3VsZCBtZWFuIHRoYXQKLSAJICogb3RoZXIgdGhyZWFkJ3Mg c2VlZGluZyByZW1haW5zIHdpdGhvdXQgZWZmZWN0IChleGNlcHQgZm9yCi0gCSAqIHRoZSBpbmNy ZW1lbnRlZCBjb3VudGVyKS4gIEJ5IFhPUmluZyBpdCB3ZSBrZWVwIGF0IGxlYXN0IGFzCi1AQCAt MzIyLDcgKzMwNiw4IEBAIHN0YXRpYyB2b2lkIHNzbGVheV9yYW5kX2FkZChjb25zdCB2b2lkICoK LSAJCX0KLSAJaWYgKGVudHJvcHkgPCBFTlRST1BZX05FRURFRCkgLyogc3RvcCBjb3VudGluZyB3 aGVuIHdlIGhhdmUgZW5vdWdoICovCi0gCSAgICBlbnRyb3B5ICs9IGFkZDsKLS0JaWYgKCFkb19u b3RfbG9jaykgQ1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwlpZiAobG9ja2Vk KQotKwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7Ci0gCQotICNpZiAhZGVmaW5lZChPUEVOU1NMX1RI UkVBRFMpICYmICFkZWZpbmVkKE9QRU5TU0xfU1lTX1dJTjMyKQotIAlhc3NlcnQobWRfY1sxXSA9 PSBtZF9jb3VudFsxXSk7Ci1AQCAtMzQ3LDYgKzMzMiw3IEBAIHN0YXRpYyBpbnQgc3NsZWF5X3Jh bmRfYnl0ZXModW5zaWduZWQgY2gKLSAJcGlkX3QgY3Vycl9waWQgPSBnZXRwaWQoKTsKLSAjZW5k aWYKLSAJaW50IGRvX3N0aXJfcG9vbCA9IDA7Ci0rCWludCBsb2NrZWQ7Ci0gCi0gI2lmZGVmIFBS RURJQ1QKLSAJaWYgKHJhbmRfcHJlZGljdGFibGUpCi1AQCAtMzgzLDE3ICszNjksOCBAQCBzdGF0 aWMgaW50IHNzbGVheV9yYW5kX2J5dGVzKHVuc2lnbmVkIGNoCi0gCSAqIGFyZSBmZWQgaW50byB0 aGUgaGFzaCBmdW5jdGlvbiBhbmQgdGhlIHJlc3VsdHMgYXJlIGtlcHQgaW4gdGhlCi0gCSAqIGds b2JhbCAnbWQnLgotIAkgKi8KLS0jaWZkZWYgT1BFTlNTTF9GSVBTCi0tCS8qIE5COiBpbiBGSVBT IG1vZGUgd2UgYXJlIGFscmVhZHkgdW5kZXIgYSBsb2NrICovCi0tCWlmICghRklQU19tb2RlKCkp Ci0tI2VuZGlmCi0tCQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotIAotLQkvKiBw cmV2ZW50IHNzbGVheV9yYW5kX2J5dGVzKCkgZnJvbSB0cnlpbmcgdG8gb2J0YWluIHRoZSBsb2Nr IGFnYWluICovCi0tCUNSWVBUT193X2xvY2soQ1JZUFRPX0xPQ0tfUkFORDIpOwotLQlDUllQVE9f VEhSRUFESURfY3VycmVudCgmbG9ja2luZ190aHJlYWRpZCk7Ci0tCUNSWVBUT193X3VubG9jayhD UllQVE9fTE9DS19SQU5EMik7Ci0tCWNyeXB0b19sb2NrX3JhbmQgPSAxOwotKwlsb2NrZWQgPSBw cml2YXRlX1JBTkRfbG9jaygxKTsKLSAKLSAJLyogYWx3YXlzIHBvbGwgZm9yIGV4dGVybmFsIGVu dHJvcHkgaW4gRklQUyBtb2RlLCBkcmJnIHByb3ZpZGVzIHRoZSAKLSAJICogZXhwYW5zaW9uCi1A QCAtNDY3LDEyICs0NDQsOCBAQCBzdGF0aWMgaW50IHNzbGVheV9yYW5kX2J5dGVzKHVuc2lnbmVk IGNoCi0gCi0gCW1kX2NvdW50WzBdICs9IDE7Ci0gCi0tCS8qIGJlZm9yZSB1bmxvY2tpbmcsIHdl IG11c3QgY2xlYXIgJ2NyeXB0b19sb2NrX3JhbmQnICovCi0tCWNyeXB0b19sb2NrX3JhbmQgPSAw OwotLSNpZmRlZiBPUEVOU1NMX0ZJUFMKLS0JaWYgKCFGSVBTX21vZGUoKSkKLS0jZW5kaWYKLS0J CUNSWVBUT193X3VubG9jayhDUllQVE9fTE9DS19SQU5EKTsKLSsJaWYgKGxvY2tlZCkKLSsJCXBy aXZhdGVfUkFORF9sb2NrKDApOwotIAotIAl3aGlsZSAobnVtID4gMCkKLSAJCXsKLUBAIC01MjQs MTYgKzQ5NywxMSBAQCBzdGF0aWMgaW50IHNzbGVheV9yYW5kX2J5dGVzKHVuc2lnbmVkIGNoCi0g CU1EX0luaXQoJm0pOwotIAlNRF9VcGRhdGUoJm0sKHVuc2lnbmVkIGNoYXIgKikmKG1kX2NbMF0p LHNpemVvZihtZF9jKSk7Ci0gCU1EX1VwZGF0ZSgmbSxsb2NhbF9tZCxNRF9ESUdFU1RfTEVOR1RI KTsKLS0jaWZkZWYgT1BFTlNTTF9GSVBTCi0tCWlmICghRklQU19tb2RlKCkpCi0tI2VuZGlmCi0t CQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwlsb2NrZWQgPSBwcml2YXRlX1JB TkRfbG9jaygxKTsKLSAJTURfVXBkYXRlKCZtLG1kLE1EX0RJR0VTVF9MRU5HVEgpOwotIAlNRF9G aW5hbCgmbSxtZCk7Ci0tI2lmZGVmIE9QRU5TU0xfRklQUwotLQlpZiAoIUZJUFNfbW9kZSgpKQot LSNlbmRpZgotLQkJQ1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwlpZiAobG9j a2VkKQotKwkJcHJpdmF0ZV9SQU5EX2xvY2soMCk7Ci0gCi0gCUVWUF9NRF9DVFhfY2xlYW51cCgm bSk7Ci0gCWlmIChvaykKLUBAIC01NjMsMzIgKzUzMSwxMCBAQCBzdGF0aWMgaW50IHNzbGVheV9y YW5kX3BzZXVkb19ieXRlcyh1bnNpCi0gCi0gc3RhdGljIGludCBzc2xlYXlfcmFuZF9zdGF0dXMo dm9pZCkKLSAJewotLQlDUllQVE9fVEhSRUFESUQgY3VyOwotIAlpbnQgcmV0OwotLQlpbnQgZG9f bm90X2xvY2s7Ci0rCWludCBsb2NrZWQ7Ci0gCi0tCUNSWVBUT19USFJFQURJRF9jdXJyZW50KCZj dXIpOwotLQkvKiBjaGVjayBpZiB3ZSBhbHJlYWR5IGhhdmUgdGhlIGxvY2sKLS0JICogKGNvdWxk IGhhcHBlbiBpZiBhIFJBTkRfcG9sbCgpIGltcGxlbWVudGF0aW9uIGNhbGxzIFJBTkRfc3RhdHVz KCkpICovCi0tCWlmIChjcnlwdG9fbG9ja19yYW5kKQotLQkJewotLQkJQ1JZUFRPX3JfbG9jayhD UllQVE9fTE9DS19SQU5EMik7Ci0tCQlkb19ub3RfbG9jayA9ICFDUllQVE9fVEhSRUFESURfY21w KCZsb2NraW5nX3RocmVhZGlkLCAmY3VyKTsKLS0JCUNSWVBUT19yX3VubG9jayhDUllQVE9fTE9D S19SQU5EMik7Ci0tCQl9Ci0tCWVsc2UKLS0JCWRvX25vdF9sb2NrID0gMDsKLS0JCi0tCWlmICgh ZG9fbm90X2xvY2spCi0tCQl7Ci0tCQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NLX1JBTkQpOwot LQkJCi0tCQkvKiBwcmV2ZW50IHNzbGVheV9yYW5kX2J5dGVzKCkgZnJvbSB0cnlpbmcgdG8gb2J0 YWluIHRoZSBsb2NrIGFnYWluICovCi0tCQlDUllQVE9fd19sb2NrKENSWVBUT19MT0NLX1JBTkQy KTsKLS0JCUNSWVBUT19USFJFQURJRF9jcHkoJmxvY2tpbmdfdGhyZWFkaWQsICZjdXIpOwotLQkJ Q1JZUFRPX3dfdW5sb2NrKENSWVBUT19MT0NLX1JBTkQyKTsKLS0JCWNyeXB0b19sb2NrX3JhbmQg PSAxOwotLQkJfQotKwlsb2NrZWQgPSBwcml2YXRlX1JBTkRfbG9jaygxKTsKLSAJCi0gCWlmICgh aW5pdGlhbGl6ZWQpCi0gCQl7Ci1AQCAtNTk4LDEzICs1NDQsOCBAQCBzdGF0aWMgaW50IHNzbGVh eV9yYW5kX3N0YXR1cyh2b2lkKQotIAotIAlyZXQgPSBlbnRyb3B5ID49IEVOVFJPUFlfTkVFREVE OwotIAotLQlpZiAoIWRvX25vdF9sb2NrKQotLQkJewotLQkJLyogYmVmb3JlIHVubG9ja2luZywg d2UgbXVzdCBjbGVhciAnY3J5cHRvX2xvY2tfcmFuZCcgKi8KLS0JCWNyeXB0b19sb2NrX3JhbmQg PSAwOwotLQkJCi0tCQlDUllQVE9fd191bmxvY2soQ1JZUFRPX0xPQ0tfUkFORCk7Ci0tCQl9Ci0r CWlmIChsb2NrZWQpCi0rCQlwcml2YXRlX1JBTkRfbG9jaygwKTsKLSAJCi0gCXJldHVybiByZXQ7 Ci0gCX0KLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmQuaC5maXBzLXJl cXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvcmFuZC5oCi0tLS0gb3BlbnNzbC0xLjAuMWcv Y3J5cHRvL3JhbmQvcmFuZC5oLmZpcHMtcmVxcwkyMDE0LTA1LTA2IDE2OjIyOjIxLjI2OTUzNjUx NSArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmQuaAkyMDE0LTA1LTA2 IDE2OjIyOjIxLjQzNTU0MDM1MyArMDIwMAotQEAgLTEyNCw2ICsxMjQsOCBAQCB2b2lkIFJBTkRf c2V0X2ZpcHNfZHJiZ190eXBlKGludCB0eXBlLCBpCi0gaW50IFJBTkRfaW5pdF9maXBzKHZvaWQp OwotICNlbmRpZgotIAotK2ludCBwcml2YXRlX1JBTkRfbG9jayhpbnQgbG9jayk7Ci0rCi0gLyog QkVHSU4gRVJST1IgQ09ERVMgKi8KLSAvKiBUaGUgZm9sbG93aW5nIGxpbmVzIGFyZSBhdXRvIGdl bmVyYXRlZCBieSB0aGUgc2NyaXB0IG1rZXJyLnBsLiBBbnkgY2hhbmdlcwotICAqIG1hZGUgYWZ0 ZXIgdGhpcyBwb2ludCBtYXkgYmUgb3ZlcndyaXR0ZW4gd2hlbiB0aGUgc2NyaXB0IGlzIG5leHQg cnVuLgotZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvcmFuZF9sY2wuaC5maXBz LXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvcmFuZF9sY2wuaAotLS0tIG9wZW5zc2wt MS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGNsLmguZmlwcy1yZXFzCTIwMTQtMDUtMDYgMTY6MjI6 MjEuMDIxNTMwNzgyICswMjAwCi0rKysgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JhbmQvcmFuZF9s Y2wuaAkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzNTU0MDM1MyArMDIwMAotQEAgLTExMiw3ICsxMTIs NyBAQAotICNpZm5kZWYgSEVBREVSX1JBTkRfTENMX0gKLSAjZGVmaW5lIEhFQURFUl9SQU5EX0xD TF9ICi0gCi0tI2RlZmluZSBFTlRST1BZX05FRURFRCAzMiAgLyogcmVxdWlyZSAyNTYgYml0cyA9 IDMyIGJ5dGVzIG9mIHJhbmRvbW5lc3MgKi8KLSsjZGVmaW5lIEVOVFJPUFlfTkVFREVEIDQ4ICAv KiByZXF1aXJlIDM4NCBiaXRzID0gNDggYnl0ZXMgb2YgcmFuZG9tbmVzcyAqLwotIAotIAotICNp ZiAhZGVmaW5lZChVU0VfTUQ1X1JBTkQpICYmICFkZWZpbmVkKFVTRV9TSEExX1JBTkQpICYmICFk ZWZpbmVkKFVTRV9NREMyX1JBTkQpICYmICFkZWZpbmVkKFVTRV9NRDJfUkFORCkKLWRpZmYgLXVw IG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGliLmMuZmlwcy1yZXFzIG9wZW5zc2wt MS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGliLmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8v cmFuZC9yYW5kX2xpYi5jLmZpcHMtcmVxcwkyMDE0LTAzLTE3IDE3OjE0OjIwLjAwMDAwMDAwMCAr MDEwMAotKysrIG9wZW5zc2wtMS4wLjFnL2NyeXB0by9yYW5kL3JhbmRfbGliLmMJMjAxNC0wNS0w NiAxNjoyMjoyMS40MzU1NDAzNTMgKzAyMDAKLUBAIC0xODEsNiArMTgxLDQxIEBAIGludCBSQU5E X3N0YXR1cyh2b2lkKQotIAlyZXR1cm4gMDsKLSAJfQotIAotK2ludCBwcml2YXRlX1JBTkRfbG9j ayhpbnQgbG9jaykKLSsJewotKwlzdGF0aWMgaW50IGNyeXB0b19sb2NrX3JhbmQ7Ci0rCXN0YXRp YyBDUllQVE9fVEhSRUFESUQgbG9ja2luZ190aHJlYWRpZDsKLSsJaW50IGRvX2xvY2s7Ci0rCi0r CWlmICghbG9jaykKLSsJCXsKLSsJCWNyeXB0b19sb2NrX3JhbmQgPSAwOwotKwkJQ1JZUFRPX3df dW5sb2NrKENSWVBUT19MT0NLX1JBTkQpOwotKwkJcmV0dXJuIDA7Ci0rCQl9Ci0rCi0rCS8qIGNo ZWNrIGlmIHdlIGFscmVhZHkgaGF2ZSB0aGUgbG9jayAqLwotKwlpZiAoY3J5cHRvX2xvY2tfcmFu ZCkKLSsJCXsKLSsJCUNSWVBUT19USFJFQURJRCBjdXI7Ci0rCQlDUllQVE9fVEhSRUFESURfY3Vy cmVudCgmY3VyKTsKLSsJCUNSWVBUT19yX2xvY2soQ1JZUFRPX0xPQ0tfUkFORDIpOwotKwkJZG9f bG9jayA9ICEhQ1JZUFRPX1RIUkVBRElEX2NtcCgmbG9ja2luZ190aHJlYWRpZCwgJmN1cik7Ci0r CQlDUllQVE9fcl91bmxvY2soQ1JZUFRPX0xPQ0tfUkFORDIpOwotKwkJfQotKyAgICAgICAgZWxz ZQotKwkJZG9fbG9jayA9IDE7Ci0rCWlmIChkb19sb2NrKQotKwkJewotKwkJQ1JZUFRPX3dfbG9j ayhDUllQVE9fTE9DS19SQU5EKTsKLSsJCWNyeXB0b19sb2NrX3JhbmQgPSAxOwotKwkJQ1JZUFRP X3dfbG9jayhDUllQVE9fTE9DS19SQU5EMik7Ci0rCQlDUllQVE9fVEhSRUFESURfY3VycmVudCgm bG9ja2luZ190aHJlYWRpZCk7Ci0rCQlDUllQVE9fd191bmxvY2soQ1JZUFRPX0xPQ0tfUkFORDIp OwotKwkJfQotKwlyZXR1cm4gZG9fbG9jazsKLSsJfQotKwotICNpZmRlZiBPUEVOU1NMX0ZJUFMK LSAKLSAvKiBGSVBTIERSQkcgaW5pdGlhbGlzYXRpb24gY29kZS4gVGhpcyBzZXRzIHVwIHRoZSBE UkJHIGZvciB1c2UgYnkgdGhlCi1AQCAtMjM5LDEyICsyNzQsMTYgQEAgc3RhdGljIGludCBkcmJn X3JhbmRfYWRkKERSQkdfQ1RYICpjdHgsCi0gCQkJCWRvdWJsZSBlbnRyb3B5KQotIAl7Ci0gCVJB TkRfU1NMZWF5KCktPmFkZChpbiwgaW5sZW4sIGVudHJvcHkpOwotKwlpZiAoRklQU19yYW5kX3N0 YXR1cygpKQotKwkJRklQU19kcmJnX3Jlc2VlZChjdHgsIE5VTEwsIDApOwotIAlyZXR1cm4gMTsK LSAJfQotIAotIHN0YXRpYyBpbnQgZHJiZ19yYW5kX3NlZWQoRFJCR19DVFggKmN0eCwgY29uc3Qg dm9pZCAqaW4sIGludCBpbmxlbikKLSAJewotIAlSQU5EX1NTTGVheSgpLT5zZWVkKGluLCBpbmxl bik7Ci0rCWlmIChGSVBTX3JhbmRfc3RhdHVzKCkpCi0rCQlGSVBTX2RyYmdfcmVzZWVkKGN0eCwg TlVMTCwgMCk7Ci0gCXJldHVybiAxOwotIAl9Ci0gCi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xZy9j cnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvY3J5cHRvL3JzYS9y c2FfZ2VuLmMKLS0tLSBvcGVuc3NsLTEuMC4xZy9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzLXJl cXMJMjAxNC0wNS0wNiAxNjoyMjoyMS4yNzA1MzY1MzggKzAyMDAKLSsrKyBvcGVuc3NsLTEuMC4x Zy9jcnlwdG8vcnNhL3JzYV9nZW4uYwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzNjU0MDM3NiArMDIw MAotQEAgLTEsNSArMSw2IEBACi0gLyogY3J5cHRvL3JzYS9yc2FfZ2VuLmMgKi8KLSAvKiBDb3B5 cmlnaHQgKEMpIDE5OTUtMTk5OCBFcmljIFlvdW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKLSsgKiBD b3B5cmlnaHQgKEMpIDIwMTMgUmVkIEhhdCwgSW5jLgotICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQu Ci0gICoKLSAgKiBUaGlzIHBhY2thZ2UgaXMgYW4gU1NMIGltcGxlbWVudGF0aW9uIHdyaXR0ZW4K LUBAIC0xNjUsNiArMTY2LDIyMiBAQCBpbnQgUlNBX2dlbmVyYXRlX2tleV9leChSU0EgKnJzYSwg aW50IGJpCi0gCXJldHVybiByc2FfYnVpbHRpbl9rZXlnZW4ocnNhLCBiaXRzLCBlX3ZhbHVlLCBj Yik7Ci0gCX0KLSAKLSsjaWZkZWYgT1BFTlNTTF9GSVBTCi0rc3RhdGljIGludCBGSVBTX3JzYV9i dWlsdGluX2tleWdlbihSU0EgKnJzYSwgaW50IGJpdHMsIEJJR05VTSAqZV92YWx1ZSwgQk5fR0VO Q0IgKmNiKQotKwl7Ci0rCUJJR05VTSAqcjAgPSBOVUxMLCAqcjEgPSBOVUxMLCAqcjIgPSBOVUxM LCAqcjMgPSBOVUxMLCAqdG1wOwotKwlCSUdOVU0gbG9jYWxfcjAsIGxvY2FsX2QsIGxvY2FsX3A7 Ci0rCUJJR05VTSAqcHIwLCAqZCwgKnA7Ci0rCUJOX0NUWCAqY3R4ID0gTlVMTDsKLSsJaW50IG9r ID0gLTE7Ci0rCWludCBpOwotKyAgICAgICAgaW50IG4gPSAwOwotKwlpbnQgdGVzdCA9IDA7Ci0r ICAgICAgICBpbnQgcGJpdHMgPSBiaXRzLzI7Ci0rCi0rCWlmKEZJUFNfc2VsZnRlc3RfZmFpbGVk KCkpCi0rCQl7Ci0rCQlGSVBTZXJyKEZJUFNfRl9SU0FfQlVJTFRJTl9LRVlHRU4sIEZJUFNfUl9G SVBTX1NFTEZURVNUX0ZBSUxFRCk7Ci0rCSAgICAJcmV0dXJuIDA7Ci0rCSAgICAJfQotKwotKwlp ZiAoKHBiaXRzICYgMHhGRikgfHwgKGdldGVudigiT1BFTlNTTF9FTkZPUkNFX01PRFVMVVNfQklU UyIpICYmIGJpdHMgIT0gMjA0OCAmJiBiaXRzICE9IDMwNzIpKQotKwkJewotKwkJRklQU2VycihG SVBTX0ZfUlNBX0JVSUxUSU5fS0VZR0VOLCBGSVBTX1JfSU5WQUxJRF9LRVlfTEVOR1RIKTsKLSsJ CXJldHVybiAwOwotKwkJfQotKwotKwljdHggPSBCTl9DVFhfbmV3KCk7Ci0rCWlmIChjdHggPT0g TlVMTCkgZ290byBlcnI7Ci0rCUJOX0NUWF9zdGFydChjdHgpOwotKwlyMCA9IEJOX0NUWF9nZXQo Y3R4KTsKLSsJcjEgPSBCTl9DVFhfZ2V0KGN0eCk7Ci0rCXIyID0gQk5fQ1RYX2dldChjdHgpOwot KwlyMyA9IEJOX0NUWF9nZXQoY3R4KTsKLSsKLSsJaWYgKHIzID09IE5VTEwpIGdvdG8gZXJyOwot KwotKwkvKiBXZSBuZWVkIHRoZSBSU0EgY29tcG9uZW50cyBub24tTlVMTCAqLwotKwlpZiAoIXJz YS0+biAmJiAoKHJzYS0+bj1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOwotKwlpZiAoIXJz YS0+ZCAmJiAoKHJzYS0+ZD1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOwotKwlpZiAoIXJz YS0+ZSAmJiAoKHJzYS0+ZT1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOwotKwlpZiAoIXJz YS0+cCAmJiAoKHJzYS0+cD1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOwotKwlpZiAoIXJz YS0+cSAmJiAoKHJzYS0+cT1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOwotKwlpZiAoIXJz YS0+ZG1wMSAmJiAoKHJzYS0+ZG1wMT1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOwotKwlp ZiAoIXJzYS0+ZG1xMSAmJiAoKHJzYS0+ZG1xMT1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJy OwotKwlpZiAoIXJzYS0+aXFtcCAmJiAoKHJzYS0+aXFtcD1CTl9uZXcoKSkgPT0gTlVMTCkpIGdv dG8gZXJyOwotKwotKwlpZiAoIUJOX3NldF93b3JkKHIwLCBSU0FfRjQpKSBnb3RvIGVycjsKLSsJ aWYgKEJOX2NtcChlX3ZhbHVlLCByMCkgPCAwIHx8IEJOX251bV9iaXRzKGVfdmFsdWUpID4gMjU2 KQotKwkJewotKwkJb2sgPSAwOyAvKiB3ZSBzZXQgb3VyIG93biBlcnIgKi8KLSsJCVJTQWVycihS U0FfRl9SU0FfQlVJTFRJTl9LRVlHRU4sUlNBX1JfQkFEX0VfVkFMVUUpOwotKwkJZ290byBlcnI7 Ci0rCQl9Ci0rCi0rCS8qIHByZXBhcmUgYXBwcm94aW1hdGUgbWluaW11bSBwIGFuZCBxICovCi0r CWlmICghQk5fc2V0X3dvcmQocjAsIDB4QjUwNEYzMzQpKSBnb3RvIGVycjsKLSsJaWYgKCFCTl9s c2hpZnQocjAsIHIwLCBwYml0cyAtIDMyKSkgZ290byBlcnI7Ci0rCi0rCS8qIHByZXBhcmUgbWlu aW11bSBwIGFuZCBxIGRpZmZlcmVuY2UgKi8KLSsJaWYgKCFCTl9vbmUocjMpKSBnb3RvIGVycjsK LSsJaWYgKCFCTl9sc2hpZnQocjMsIHIzLCBwYml0cyAtIDEwMCkpIGdvdG8gZXJyOwotKwotKwlC Tl9jb3B5KHJzYS0+ZSwgZV92YWx1ZSk7Ci0rCi0rCWlmICghQk5faXNfemVybyhyc2EtPnApICYm ICFCTl9pc196ZXJvKHJzYS0+cSkpCi0rCQl0ZXN0ID0gMTsKLSsKLSsJLyogZ2VuZXJhdGUgcCBh bmQgcSAqLwotKwlmb3IgKGkgPSAwOyBpIDwgNSAqIHBiaXRzOyBpKyspCi0rCQl7Ci0rICAgICAg ICBwbG9vcDoKLSsgICAgICAgICAgICAgICAgaWYgKCF0ZXN0KQotKyAgICAgICAgICAgICAgICAg ICAgICAgIGlmICghQk5fcmFuZChyc2EtPnAsIHBiaXRzLCAwLCAxKSkgZ290byBlcnI7Ci0rICAg ICAgICAgICAgICAgIGlmIChCTl9jbXAocnNhLT5wLCByMCkgPCAwKQotKyAgICAgICAgICAgICAg ICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdCkgZ290byBlcnI7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgZ290byBwbG9vcDsKLSsgICAgICAgICAgICAgICAg ICAgICAgICB9Ci0rCi0rCQlpZiAoIUJOX3N1YihyMiwgcnNhLT5wLCBCTl92YWx1ZV9vbmUoKSkp IGdvdG8gZXJyOwotKwkJaWYgKCFCTl9nY2QocjEsIHIyLCByc2EtPmUsIGN0eCkpIGdvdG8gZXJy OwotKwkJaWYgKEJOX2lzX29uZShyMSkpCi0rICAgICAgICAgICAgICAgICAgICAgICAgewotKyAg ICAgICAgICAgICAgICAgICAgICAgIGludCByOwotKyAgICAgICAgICAgICAgICAgICAgICAgIHIg PSBCTl9pc19wcmltZV9mYXN0dGVzdF9leChyc2EtPnAsIHBiaXRzPjEwMjQ/NDo1LCBjdHgsIDAs IGNiKTsKLSsgICAgICAgIAkJaWYgKHIgPT0gLTEgfHwgKHRlc3QgJiYgciA8PSAwKSkgZ290byBl cnI7Ci0rICAgICAgICAJCWlmIChyID4gMCkgYnJlYWs7Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgfSAKLSsKLSsJCWlmKCFCTl9HRU5DQl9jYWxsKGNiLCAyLCBuKyspKQotKwkJCWdvdG8gZXJy OwotKwkJfQotKwotKwlpZighQk5fR0VOQ0JfY2FsbChjYiwgMywgMCkpCi0rCQlnb3RvIGVycjsK LSsKLSsgICAgICAgIGlmKGkgPj0gNSpwYml0cykKLSsgICAgICAgICAgICAgICAgLyogcHJpbWUg bm90IGZvdW5kICovCi0rICAgICAgICAgICAgICAgIGdvdG8gZXJyOwotKwotKwlmb3IgKGkgPSAw OyBpIDwgNSAqIHBiaXRzOyBpKyspCi0rCQl7Ci0rICAgICAgICBxbG9vcDoKLSsgICAgICAgICAg ICAgICAgaWYgKCF0ZXN0KQotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghQk5fcmFuZChy c2EtPnEsIHBiaXRzLCAwLCAxKSkgZ290byBlcnI7Ci0rICAgICAgICAgICAgICAgIGlmIChCTl9j bXAocnNhLT5xLCByMCkgPCAwKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHsKLSsgICAgICAg ICAgICAgICAgICAgICAgICBpZiAodGVzdCkgZ290byBlcnI7Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgZ290byBxbG9vcDsKLSsgICAgICAgICAgICAgICAgICAgICAgICB9Ci0rICAgICAgIAkJ aWYgKCFCTl9zdWIocjIsIHJzYS0+cSwgcnNhLT5wKSkgZ290byBlcnI7Ci0rICAgICAgICAgICAg ICAgIGlmIChCTl91Y21wKHIyLCByMykgPD0gMCkKLSsgICAgICAgICAgICAgICAgICAgICAgICB7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRlc3QpIGdvdG8gZXJyOwotKyAgICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gcWxvb3A7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgfQot KwotKwkJaWYgKCFCTl9zdWIocjIsIHJzYS0+cSwgQk5fdmFsdWVfb25lKCkpKSBnb3RvIGVycjsK LSsJCWlmICghQk5fZ2NkKHIxLCByMiwgcnNhLT5lLCBjdHgpKSBnb3RvIGVycjsKLSsJCWlmIChC Tl9pc19vbmUocjEpKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgcjsKLSsgICAgICAgICAgICAgICAgICAgICAgICByID0gQk5faXNfcHJp bWVfZmFzdHRlc3RfZXgocnNhLT5xLCBwYml0cz4xMDI0PzQ6NSwgY3R4LCAwLCBjYik7Ci0rICAg ICAgICAJCWlmIChyID09IC0xIHx8ICh0ZXN0ICYmIHIgPD0gMCkpIGdvdG8gZXJyOwotKyAgICAg ICAgCQlpZiAociA+IDApIGJyZWFrOwotKyAgICAgICAgICAgICAgICAgICAgICAgIH0gCi0rCi0r CQlpZighQk5fR0VOQ0JfY2FsbChjYiwgMiwgbisrKSkKLSsJCQlnb3RvIGVycjsKLSsJCX0KLSsK LSsJaWYoIUJOX0dFTkNCX2NhbGwoY2IsIDMsIDEpKQotKwkJZ290byBlcnI7Ci0rCi0rICAgICAg ICBpZihpID49IDUqcGJpdHMpCi0rICAgICAgICAgICAgICAgIC8qIHByaW1lIG5vdCBmb3VuZCAq LwotKyAgICAgICAgICAgICAgICBnb3RvIGVycjsKLSsKLSsgICAgICAgIGlmICh0ZXN0KQotKyAg ICAgICAgICAgICAgICB7Ci0rICAgICAgICAgICAgICAgIC8qIGRvIG5vdCB0cnkgdG8gY2FsY3Vs YXRlIHRoZSByZW1haW5pbmcga2V5IHZhbHVlcyAqLwotKyAgICAgICAgICAgICAgICBCTl9jbGVh cihyc2EtPm4pOwotKyAgICAgICAgICAgICAgICBvayA9IDE7Ci0rICAgICAgICAgICAgICAgIGdv dG8gZXJyOwotKyAgICAgICAgICAgICAgICB9Ci0rCi0rCWlmIChCTl9jbXAocnNhLT5wLHJzYS0+ cSkgPCAwKQotKwkJewotKwkJdG1wPXJzYS0+cDsKLSsJCXJzYS0+cD1yc2EtPnE7Ci0rCQlyc2Et PnE9dG1wOwotKwkJfQotKwotKwkvKiBjYWxjdWxhdGUgbiAqLwotKwlpZiAoIUJOX211bChyc2Et Pm4scnNhLT5wLHJzYS0+cSxjdHgpKSBnb3RvIGVycjsKLSsKLSsJLyogY2FsY3VsYXRlIGQgKi8K LSsJaWYgKCFCTl9zdWIocjEscnNhLT5wLEJOX3ZhbHVlX29uZSgpKSkgZ290byBlcnI7CS8qIHAt MSAqLwotKwlpZiAoIUJOX3N1YihyMixyc2EtPnEsQk5fdmFsdWVfb25lKCkpKSBnb3RvIGVycjsJ LyogcS0xICovCi0rCWlmICghQk5fbXVsKHIwLHIxLHIyLGN0eCkpIGdvdG8gZXJyOwkvKiAocC0x KShxLTEpICovCi0rCWlmICghKHJzYS0+ZmxhZ3MgJiBSU0FfRkxBR19OT19DT05TVFRJTUUpKQot KwkJewotKwkJICBwcjAgPSAmbG9jYWxfcjA7Ci0rCQkgIEJOX3dpdGhfZmxhZ3MocHIwLCByMCwg Qk5fRkxHX0NPTlNUVElNRSk7Ci0rCQl9Ci0rCWVsc2UKLSsJICBwcjAgPSByMDsKLSsJaWYgKCFC Tl9tb2RfaW52ZXJzZShyc2EtPmQscnNhLT5lLHByMCxjdHgpKSBnb3RvIGVycjsJLyogZCAqLwot KwotKwkvKiBzZXQgdXAgZCBmb3IgY29ycmVjdCBCTl9GTEdfQ09OU1RUSU1FIGZsYWcgKi8KLSsJ aWYgKCEocnNhLT5mbGFncyAmIFJTQV9GTEFHX05PX0NPTlNUVElNRSkpCi0rCQl7Ci0rCQlkID0g JmxvY2FsX2Q7Ci0rCQlCTl93aXRoX2ZsYWdzKGQsIHJzYS0+ZCwgQk5fRkxHX0NPTlNUVElNRSk7 Ci0rCQl9Ci0rCWVsc2UKLSsJCWQgPSByc2EtPmQ7Ci0rCi0rCS8qIGNhbGN1bGF0ZSBkIG1vZCAo cC0xKSAqLwotKwlpZiAoIUJOX21vZChyc2EtPmRtcDEsZCxyMSxjdHgpKSBnb3RvIGVycjsKLSsK LSsJLyogY2FsY3VsYXRlIGQgbW9kIChxLTEpICovCi0rCWlmICghQk5fbW9kKHJzYS0+ZG1xMSxk LHIyLGN0eCkpIGdvdG8gZXJyOwotKwotKwkvKiBjYWxjdWxhdGUgaW52ZXJzZSBvZiBxIG1vZCBw ICovCi0rCWlmICghKHJzYS0+ZmxhZ3MgJiBSU0FfRkxBR19OT19DT05TVFRJTUUpKQotKwkJewot KwkJcCA9ICZsb2NhbF9wOwotKwkJQk5fd2l0aF9mbGFncyhwLCByc2EtPnAsIEJOX0ZMR19DT05T VFRJTUUpOwotKwkJfQotKwllbHNlCi0rCQlwID0gcnNhLT5wOwotKwlpZiAoIUJOX21vZF9pbnZl cnNlKHJzYS0+aXFtcCxyc2EtPnEscCxjdHgpKSBnb3RvIGVycjsKLSsKLSsJaWYgKGZpcHNfcnNh X3BhaXJ3aXNlX2ZhaWwpCi0rCQlCTl9hZGRfd29yZChyc2EtPm4sIDEpOwotKwotKwlpZighZmlw c19jaGVja19yc2EocnNhKSkKLSsJICAgIGdvdG8gZXJyOwotKwotKwlvaz0xOwotK2VycjoKLSsJ aWYgKG9rID09IC0xKQotKwkJewotKwkJUlNBZXJyKFJTQV9GX1JTQV9CVUlMVElOX0tFWUdFTixF UlJfTElCX0JOKTsKLSsJCW9rID0gMDsKLSsJCX0KLSsJaWYgKGN0eCAhPSBOVUxMKQotKwkJewot KwkJQk5fQ1RYX2VuZChjdHgpOwotKwkJQk5fQ1RYX2ZyZWUoY3R4KTsKLSsJCX0KLSsKLSsJcmV0 dXJuIG9rOwotKwl9Ci0rI2VuZGlmCi0rCi0gc3RhdGljIGludCByc2FfYnVpbHRpbl9rZXlnZW4o UlNBICpyc2EsIGludCBiaXRzLCBCSUdOVU0gKmVfdmFsdWUsIEJOX0dFTkNCICpjYikKLSAJewot IAlCSUdOVU0gKnIwPU5VTEwsKnIxPU5VTEwsKnIyPU5VTEwsKnIzPU5VTEwsKnRtcDsKLUBAIC0x NzYsMTcgKzM5MywxMiBAQCBzdGF0aWMgaW50IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwK LSAjaWZkZWYgT1BFTlNTTF9GSVBTCi0gCWlmIChGSVBTX21vZHVsZV9tb2RlKCkpCi0gCQl7Ci0t CQlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgpKQotLQkgICAgCXsKLS0JCSAgICBGSVBTZXJyKEZJ UFNfRl9SU0FfQlVJTFRJTl9LRVlHRU4sRklQU19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVEKTsKLS0J ICAgIAlyZXR1cm4gMDsKLS0JICAgIAl9Ci0tCi0gCQlpZiAoYml0cyA8IE9QRU5TU0xfUlNBX0ZJ UFNfTUlOX01PRFVMVVNfQklUUykKLSAJCSAgICB7Ci0gCQkgICAgRklQU2VycihGSVBTX0ZfUlNB X0JVSUxUSU5fS0VZR0VOLEZJUFNfUl9LRVlfVE9PX1NIT1JUKTsKLSAJCSAgICByZXR1cm4gMDsK LSAJCSAgICB9Ci0rCQlyZXR1cm4gRklQU19yc2FfYnVpbHRpbl9rZXlnZW4ocnNhLCBiaXRzLCBl X3ZhbHVlLCBjYik7Ci0gCQl9Ci0gI2VuZGlmCi0gCi1AQCAtMzAxLDE3ICs1MjAsNiBAQCBzdGF0 aWMgaW50IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwKLSAJCXAgPSByc2EtPnA7Ci0gCWlm ICghQk5fbW9kX2ludmVyc2UocnNhLT5pcW1wLHJzYS0+cSxwLGN0eCkpIGdvdG8gZXJyOwotIAot LSNpZmRlZiBPUEVOU1NMX0ZJUFMKLS0JaWYgKEZJUFNfbW9kdWxlX21vZGUoKSkKLS0JCXsKLS0J CWlmIChmaXBzX3JzYV9wYWlyd2lzZV9mYWlsKQotLQkJCUJOX2FkZF93b3JkKHJzYS0+biwgMSk7 Ci0tCi0tCQlpZighZmlwc19jaGVja19yc2EocnNhKSkKLS0JCSAgICBnb3RvIGVycjsKLS0JCX0K LS0jZW5kaWYKLS0KLSAJb2s9MTsKLSBlcnI6Ci0gCWlmIChvayA9PSAtMSkKLWRpZmYgLXVwIG9w ZW5zc2wtMS4wLjFnL3NzbC90MV9lbmMuYy5maXBzLXJlcXMgb3BlbnNzbC0xLjAuMWcvc3NsL3Qx X2VuYy5jCi0tLS0gb3BlbnNzbC0xLjAuMWcvc3NsL3QxX2VuYy5jLmZpcHMtcmVxcwkyMDE0LTAz LTE3IDE3OjE0OjIwLjAwMDAwMDAwMCArMDEwMAotKysrIG9wZW5zc2wtMS4wLjFnL3NzbC90MV9l bmMuYwkyMDE0LTA1LTA2IDE2OjIyOjIxLjQzNjU0MDM3NiArMDIwMAotQEAgLTI5MSw2ICsyOTEs MjcgQEAgc3RhdGljIGludCB0bHMxX1BSRihsb25nIGRpZ2VzdF9tYXNrLAotIGVycjoKLSAJcmV0 dXJuIHJldDsKLSB9Ci0rCi0raW50IHByaXZhdGVfdGxzMV9QUkYobG9uZyBkaWdlc3RfbWFzaywK LSsJCSAgICAgY29uc3Qgdm9pZCAqc2VlZDEsIGludCBzZWVkMV9sZW4sCi0rCQkgICAgIGNvbnN0 IHZvaWQgKnNlZWQyLCBpbnQgc2VlZDJfbGVuLAotKwkJICAgICBjb25zdCB2b2lkICpzZWVkMywg aW50IHNlZWQzX2xlbiwKLSsJCSAgICAgY29uc3Qgdm9pZCAqc2VlZDQsIGludCBzZWVkNF9sZW4s Ci0rCQkgICAgIGNvbnN0IHZvaWQgKnNlZWQ1LCBpbnQgc2VlZDVfbGVuLAotKwkJICAgICBjb25z dCB1bnNpZ25lZCBjaGFyICpzZWMsIGludCBzbGVuLAotKwkJICAgICB1bnNpZ25lZCBjaGFyICpv dXQxLAotKwkJICAgICB1bnNpZ25lZCBjaGFyICpvdXQyLCBpbnQgb2xlbikKLSsJewotKwlyZXR1 cm4gdGxzMV9QUkYoZGlnZXN0X21hc2ssCi0rCQlzZWVkMSwgc2VlZDFfbGVuLAotKwkJc2VlZDIs IHNlZWQyX2xlbiwKLSsJCXNlZWQzLCBzZWVkM19sZW4sCi0rCQlzZWVkNCwgc2VlZDRfbGVuLAot KwkJc2VlZDUsIHNlZWQ1X2xlbiwKLSsJCXNlYywgc2xlbiwKLSsJCW91dDEsIG91dDIsIG9sZW4p OwotKwl9Ci0rCi0gc3RhdGljIGludCB0bHMxX2dlbmVyYXRlX2tleV9ibG9jayhTU0wgKnMsIHVu c2lnbmVkIGNoYXIgKmttLAotIAkgICAgIHVuc2lnbmVkIGNoYXIgKnRtcCwgaW50IG51bSkKLSAJ ewoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFoLWRpc2FibGUtc3NsdjJ2My5wYXRjaCBiL29w ZW5zc2wtMS4wLjFoLWRpc2FibGUtc3NsdjJ2My5wYXRjaAppbmRleCA4M2FmZGEwLi43YTAyOGFh IDEwMDY0NAotLS0gYS9vcGVuc3NsLTEuMC4xaC1kaXNhYmxlLXNzbHYydjMucGF0Y2gKKysrIGIv b3BlbnNzbC0xLjAuMWgtZGlzYWJsZS1zc2x2MnYzLnBhdGNoCkBAIC01LDggKzUsOCBAQCBkaWZm IC11cCBvcGVuc3NsLTEuMC4xaC9zc2wvc3NsX2xpYi5jLnYydjMgb3BlbnNzbC0xLjAuMWgvc3Ns L3NzbF9saWIuYwogIAkgKi8KICAJcmV0LT5vcHRpb25zIHw9IFNTTF9PUF9MRUdBQ1lfU0VSVkVS X0NPTk5FQ1Q7CiAgCi0rCS8qIERpc2FibGUgU1NMdjIgYW5kIFNTTHYzIGJ5IGRlZmF1bHQgKGFm ZmVjdHMgdGhlIFNTTHYyM19tZXRob2QoKSBvbmx5KSAqLwotKwlyZXQtPm9wdGlvbnMgfD0gU1NM X09QX05PX1NTTHYyIHwgU1NMX09QX05PX1NTTHYzOworKwkvKiBEaXNhYmxlIFNTTHYyIGJ5IGRl ZmF1bHQgKGFmZmVjdHMgdGhlIFNTTHYyM19tZXRob2QoKSBvbmx5KSAqLworKwlyZXQtPm9wdGlv bnMgfD0gU1NMX09QX05PX1NTTHYyOwogKwogIAlyZXR1cm4ocmV0KTsKICBlcnI6CgpkaWZmIC0t Z2l0IGEvb3BlbnNzbC0xLjAuMWgtbWFuZml4LnBhdGNoIGIvb3BlbnNzbC0xLjAuMWgtbWFuZml4 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MzZmNThmLi4wMDAwMDAwCi0t LSBhL29wZW5zc2wtMS4wLjFoLW1hbmZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEzNSAr MCwwIEBACi1kaWZmIC11cCBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9lYy5wb2QubWFuZml4IG9w ZW5zc2wtMS4wLjFoL2RvYy9hcHBzL2VjLnBvZAotLS0tIG9wZW5zc2wtMS4wLjFoL2RvYy9hcHBz L2VjLnBvZC5tYW5maXgJMjAxNC0wNi0wNSAxMTo0MTozMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBv cGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9lYy5wb2QJMjAxNC0wNi0wNSAxNDo0MToxMS41MDEyNzQ5 MTUgKzAyMDAKLUBAIC05MywxMCArOTMsNiBAQCBwcmludHMgb3V0IHRoZSBwdWJsaWMsIHByaXZh dGUga2V5IGNvbXBvCi0gCi0gdGhpcyBvcHRpb24gcHJldmVudHMgb3V0cHV0IG9mIHRoZSBlbmNv ZGVkIHZlcnNpb24gb2YgdGhlIGtleS4KLSAKLS09aXRlbSBCPC1tb2R1bHVzPgotLQotLXRoaXMg b3B0aW9uIHByaW50cyBvdXQgdGhlIHZhbHVlIG9mIHRoZSBwdWJsaWMga2V5IGNvbXBvbmVudCBv ZiB0aGUga2V5LgotLQotID1pdGVtIEI8LXB1YmluPgotIAotIGJ5IGRlZmF1bHQgYSBwcml2YXRl IGtleSBpcyByZWFkIGZyb20gdGhlIGlucHV0IGZpbGU6IHdpdGggdGhpcyBvcHRpb24gYQotZGlm ZiAtdXAgb3BlbnNzbC0xLjAuMWgvZG9jL2FwcHMvb3BlbnNzbC5wb2QubWFuZml4IG9wZW5zc2wt MS4wLjFoL2RvYy9hcHBzL29wZW5zc2wucG9kCi0tLS0gb3BlbnNzbC0xLjAuMWgvZG9jL2FwcHMv b3BlbnNzbC5wb2QubWFuZml4CTIwMTQtMDYtMDUgMTE6NDE6MzEuMDAwMDAwMDAwICswMjAwCi0r Kysgb3BlbnNzbC0xLjAuMWgvZG9jL2FwcHMvb3BlbnNzbC5wb2QJMjAxNC0wNi0wNSAxNDo0MTox MS41MDEyNzQ5MTUgKzAyMDAKLUBAIC0xNjMsNyArMTYzLDcgQEAgQ3JlYXRlIG9yIGV4YW1pbmUg YSBuZXRzY2FwZSBjZXJ0aWZpY2F0ZQotIAotIE9ubGluZSBDZXJ0aWZpY2F0ZSBTdGF0dXMgUHJv dG9jb2wgdXRpbGl0eS4KLSAKLS09aXRlbSBMPEI8cGFzc3dkPnxwYXNzd2QoMSk+Ci0rPWl0ZW0g TDxCPHBhc3N3ZD58c3NscGFzc3dkKDEpPgotIAotIEdlbmVyYXRpb24gb2YgaGFzaGVkIHBhc3N3 b3Jkcy4KLSAKLUBAIC0xODcsNyArMTg3LDcgQEAgUHVibGljIGtleSBhbGdvcml0aG0gcGFyYW1l dGVyIG1hbmFnZW1lbgotIAotIFB1YmxpYyBrZXkgYWxnb3JpdGhtIGNyeXB0b2dyYXBoaWMgb3Bl cmF0aW9uIHV0aWxpdHkuCi0gCi0tPWl0ZW0gTDxCPHJhbmQ+fHJhbmQoMSk+Ci0rPWl0ZW0gTDxC PHJhbmQ+fHNzbHJhbmQoMSk+Ci0gCi0gR2VuZXJhdGUgcHNldWRvLXJhbmRvbSBieXRlcy4KLSAK LUBAIC00MDEsOSArNDAxLDkgQEAgTDxjcmwoMSl8Y3JsKDEpPiwgTDxjcmwycGtjczcoMSl8Y3Js MnBrYwotIEw8ZGhwYXJhbSgxKXxkaHBhcmFtKDEpPiwgTDxkc2EoMSl8ZHNhKDEpPiwgTDxkc2Fw YXJhbSgxKXxkc2FwYXJhbSgxKT4sCi0gTDxlbmMoMSl8ZW5jKDEpPiwgTDxnZW5kc2EoMSl8Z2Vu ZHNhKDEpPiwgTDxnZW5wa2V5KDEpfGdlbnBrZXkoMSk+LAotIEw8Z2VucnNhKDEpfGdlbnJzYSgx KT4sIEw8bnNlcSgxKXxuc2VxKDEpPiwgTDxvcGVuc3NsKDEpfG9wZW5zc2woMSk+LAotLUw8cGFz c3dkKDEpfHBhc3N3ZCgxKT4sCi0rTDxzc2xwYXNzd2QoMSl8c3NscGFzc3dkKDEpPiwKLSBMPHBr Y3MxMigxKXxwa2NzMTIoMSk+LCBMPHBrY3M3KDEpfHBrY3M3KDEpPiwgTDxwa2NzOCgxKXxwa2Nz OCgxKT4sCi0tTDxyYW5kKDEpfHJhbmQoMSk+LCBMPHJlcSgxKXxyZXEoMSk+LCBMPHJzYSgxKXxy c2EoMSk+LAotK0w8c3NscmFuZCgxKXxzc2xyYW5kKDEpPiwgTDxyZXEoMSl8cmVxKDEpPiwgTDxy c2EoMSl8cnNhKDEpPiwKLSBMPHJzYXV0bCgxKXxyc2F1dGwoMSk+LCBMPHNfY2xpZW50KDEpfHNf Y2xpZW50KDEpPiwKLSBMPHNfc2VydmVyKDEpfHNfc2VydmVyKDEpPiwgTDxzX3RpbWUoMSl8c190 aW1lKDEpPiwKLSBMPHNtaW1lKDEpfHNtaW1lKDEpPiwgTDxzcGthYygxKXxzcGthYygxKT4sCi1k aWZmIC11cCBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9zX2NsaWVudC5wb2QubWFuZml4IG9wZW5z c2wtMS4wLjFoL2RvYy9hcHBzL3NfY2xpZW50LnBvZAotLS0tIG9wZW5zc2wtMS4wLjFoL2RvYy9h cHBzL3NfY2xpZW50LnBvZC5tYW5maXgJMjAxNC0wNi0wNSAxNDo0MToxMS40NDUyNzM2MDUgKzAy MDAKLSsrKyBvcGVuc3NsLTEuMC4xaC9kb2MvYXBwcy9zX2NsaWVudC5wb2QJMjAxNC0wNi0wNSAx NDo0MToxMS41MDEyNzQ5MTUgKzAyMDAKLUBAIC0zMyw5ICszMywxNCBAQCBCPG9wZW5zc2w+IEI8 c19jbGllbnQ+Ci0gW0I8LXNzbDI+XQotIFtCPC1zc2wzPl0KLSBbQjwtdGxzMT5dCi0rW0I8LXRs czFfMT5dCi0rW0I8LXRsczFfMj5dCi0rW0I8LWR0bHMxPl0KLSBbQjwtbm9fc3NsMj5dCi0gW0I8 LW5vX3NzbDM+XQotIFtCPC1ub190bHMxPl0KLStbQjwtbm9fdGxzMV8xPl0KLStbQjwtbm9fdGxz MV8yPl0KLSBbQjwtYnVncz5dCi0gW0I8LWNpcGhlciBjaXBoZXJsaXN0Pl0KLSBbQjwtc3RhcnR0 bHMgcHJvdG9jb2w+XQotQEAgLTQ1LDYgKzUwLDcgQEAgQjxvcGVuc3NsPiBCPHNfY2xpZW50Pgot IFtCPC1zZXNzX291dCBmaWxlbmFtZT5dCi0gW0I8LXNlc3NfaW4gZmlsZW5hbWU+XQotIFtCPC1y YW5kIGZpbGUocyk+XQotK1tCPC1uZXh0cHJvdG9uZWcgcHJvdG9jb2xzPl0KLSAKLSA9aGVhZDEg REVTQ1JJUFRJT04KLSAKLUBAIC0xODgsNyArMTk0LDcgQEAgVXNlIHRoZSBQU0sga2V5IEI8a2V5 PiB3aGVuIHVzaW5nIGEgUFNLCi0gZ2l2ZW4gYXMgYSBoZXhhZGVjaW1hbCBudW1iZXIgd2l0aG91 dCBsZWFkaW5nIDB4LCBmb3IgZXhhbXBsZSAtcHNrCi0gMWEyYjNjNGQuCi0gCi0tPWl0ZW0gQjwt c3NsMj4sIEI8LXNzbDM+LCBCPC10bHMxPiwgQjwtbm9fc3NsMj4sIEI8LW5vX3NzbDM+LCBCPC1u b190bHMxPgotKz1pdGVtIEI8LXNzbDI+LCBCPC1zc2wzPiwgQjwtdGxzMT4sIEI8LXRsczFfMT4s IEI8LXRsczFfMj4sIEI8LWR0bHMxPiwgQjwtbm9fc3NsMj4sIEI8LW5vX3NzbDM+LCBCPC1ub190 bHMxPiwgQjwtbm9fdGxzMV8xPiwgQjwtbm9fdGxzMV8yPgotIAotIHRoZXNlIG9wdGlvbnMgZGlz YWJsZSB0aGUgdXNlIG9mIGNlcnRhaW4gU1NMIG9yIFRMUyBwcm90b2NvbHMuIEJ5IGRlZmF1bHQK LSB0aGUgaW5pdGlhbCBoYW5kc2hha2UgdXNlcyBhIG1ldGhvZCB3aGljaCBzaG91bGQgYmUgY29t cGF0aWJsZSB3aXRoIGFsbAotQEAgLTI0OSw2ICsyNTUsMTcgQEAgTXVsdGlwbGUgZmlsZXMgY2Fu IGJlIHNwZWNpZmllZCBzZXBhcmF0ZQotIFRoZSBzZXBhcmF0b3IgaXMgQjw7PiBmb3IgTVMtV2lu ZG93cywgQjwsPiBmb3IgT3BlblZNUywgYW5kIEI8Oj4gZm9yCi0gYWxsIG90aGVycy4KLSAKLSs9 aXRlbSBCPC1uZXh0cHJvdG9uZWcgcHJvdG9jb2xzPgotKwotK2VuYWJsZSBOZXh0IFByb3RvY29s IE5lZ290aWF0aW9uIFRMUyBleHRlbnNpb24gYW5kIHByb3ZpZGUgYSBsaXN0IG9mCi0rY29tbWEt c2VwYXJhdGVkIHByb3RvY29sIG5hbWVzIHRoYXQgdGhlIGNsaWVudCBzaG91bGQgYWR2ZXJ0aXNl Ci0rc3VwcG9ydCBmb3IuIFRoZSBsaXN0IHNob3VsZCBjb250YWluIG1vc3Qgd2FudGVkIHByb3Rv Y29scyBmaXJzdC4KLStQcm90b2NvbCBuYW1lcyBhcmUgcHJpbnRhYmxlIEFTQ0lJIHN0cmluZ3Ms IGZvciBleGFtcGxlICJodHRwLzEuMSIgb3IKLSsic3BkeS8zIi4KLStFbXB0eSBsaXN0IG9mIHBy b3RvY29scyBpcyB0cmVhdGVkIHNwZWNpYWxseSBhbmQgd2lsbCBjYXVzZSB0aGUgY2xpZW50IHRv Ci0rYWR2ZXJ0aXNlIHN1cHBvcnQgZm9yIHRoZSBUTFMgZXh0ZW5zaW9uIGJ1dCBkaXNjb25uZWN0 IGp1c3QgYWZ0ZXIKLStyZWNpdmluZyBTZXJ2ZXJIZWxsbyB3aXRoIGEgbGlzdCBvZiBzZXJ2ZXIg c3VwcG9ydGVkIHByb3RvY29scy4KLSsKLSA9YmFjawotIAotID1oZWFkMSBDT05ORUNURUQgQ09N TUFORFMKLWRpZmYgLXVwIG9wZW5zc2wtMS4wLjFoL2RvYy9hcHBzL3Nfc2VydmVyLnBvZC5tYW5m aXggb3BlbnNzbC0xLjAuMWgvZG9jL2FwcHMvc19zZXJ2ZXIucG9kCi0tLS0gb3BlbnNzbC0xLjAu MWgvZG9jL2FwcHMvc19zZXJ2ZXIucG9kLm1hbmZpeAkyMDE0LTA2LTA1IDExOjQxOjMxLjAwMDAw MDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFoL2RvYy9hcHBzL3Nfc2VydmVyLnBvZAkyMDE0 LTA2LTA1IDE0OjQxOjExLjUwMjI3NDkzOSArMDIwMAotQEAgLTU1LDYgKzU1LDcgQEAgQjxvcGVu c3NsPiBCPHNfc2VydmVyPgotIFtCPC1ub190aWNrZXQ+XQotIFtCPC1pZF9wcmVmaXggYXJnPl0K LSBbQjwtcmFuZCBmaWxlKHMpPl0KLStbQjwtbmV4dHByb3RvbmVnIHByb3RvY29scz5dCi0gCi0g PWhlYWQxIERFU0NSSVBUSU9OCi0gCi1AQCAtMjA3LDcgKzIwOCw3IEBAIFVzZSB0aGUgUFNLIGtl eSBCPGtleT4gd2hlbiB1c2luZyBhIFBTSwotIGdpdmVuIGFzIGEgaGV4YWRlY2ltYWwgbnVtYmVy IHdpdGhvdXQgbGVhZGluZyAweCwgZm9yIGV4YW1wbGUgLXBzawotIDFhMmIzYzRkLgotIAotLT1p dGVtIEI8LXNzbDI+LCBCPC1zc2wzPiwgQjwtdGxzMT4sIEI8LW5vX3NzbDI+LCBCPC1ub19zc2wz PiwgQjwtbm9fdGxzMT4KLSs9aXRlbSBCPC1zc2wyPiwgQjwtc3NsMz4sIEI8LXRsczE+LCBCPC10 bHMxXzE+LCBCPC10bHMxXzI+LCBCPC1kdGxzMT4sIEI8LW5vX3NzbDI+LCBCPC1ub19zc2wzPiwg Qjwtbm9fdGxzMT4sIEI8LW5vX3RsczFfMT4sIEI8LW5vX3RsczFfMj4KLSAKLSB0aGVzZSBvcHRp b25zIGRpc2FibGUgdGhlIHVzZSBvZiBjZXJ0YWluIFNTTCBvciBUTFMgcHJvdG9jb2xzLiBCeSBk ZWZhdWx0Ci0gdGhlIGluaXRpYWwgaGFuZHNoYWtlIHVzZXMgYSBtZXRob2Qgd2hpY2ggc2hvdWxk IGJlIGNvbXBhdGlibGUgd2l0aCBhbGwKLUBAIC0yODIsNiArMjgzLDE0IEBAIE11bHRpcGxlIGZp bGVzIGNhbiBiZSBzcGVjaWZpZWQgc2VwYXJhdGUKLSBUaGUgc2VwYXJhdG9yIGlzIEI8Oz4gZm9y IE1TLVdpbmRvd3MsIEI8LD4gZm9yIE9wZW5WTVMsIGFuZCBCPDo+IGZvcgotIGFsbCBvdGhlcnMu Ci0gCi0rPWl0ZW0gQjwtbmV4dHByb3RvbmVnIHByb3RvY29scz4KLSsKLStlbmFibGUgTmV4dCBQ cm90b2NvbCBOZWdvdGlhdGlvbiBUTFMgZXh0ZW5zaW9uIGFuZCBwcm92aWRlIGEKLStjb21tYS1z ZXBhcmF0ZWQgbGlzdCBvZiBzdXBwb3J0ZWQgcHJvdG9jb2wgbmFtZXMuCi0rVGhlIGxpc3Qgc2hv dWxkIGNvbnRhaW4gbW9zdCB3YW50ZWQgcHJvdG9jb2xzIGZpcnN0LgotK1Byb3RvY29sIG5hbWVz IGFyZSBwcmludGFibGUgQVNDSUkgc3RyaW5ncywgZm9yIGV4YW1wbGUgImh0dHAvMS4xIiBvcgot KyJzcGR5LzMiLgotKwotID1iYWNrCi0gCi0gPWhlYWQxIENPTk5FQ1RFRCBDT01NQU5EUwoKZGlm ZiAtLWdpdCBhL29wZW5zc2wtMS4wLjFoLXNlc3Npb24tcmVzdW1wdGlvbi5wYXRjaCBiL29wZW5z c2wtMS4wLjFoLXNlc3Npb24tcmVzdW1wdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMWQwNjI2Zi4uMDAwMDAwMAotLS0gYS9vcGVuc3NsLTEuMC4xaC1zZXNzaW9uLXJl c3VtcHRpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1kaWZmIC11cCBv cGVuc3NsLTEuMC4xaC9zc2wvczNfY2xudC5jLnJlc3VtcHRpb24gb3BlbnNzbC0xLjAuMWgvc3Ns L3MzX2NsbnQuYwotLS0tIG9wZW5zc2wtMS4wLjFoL3NzbC9zM19jbG50LmMucmVzdW1wdGlvbgky MDE0LTA2LTA1IDExOjQ0OjMzLjAwMDAwMDAwMCArMDIwMAotKysrIG9wZW5zc2wtMS4wLjFoL3Nz bC9zM19jbG50LmMJMjAxNC0wNi0xMCAxNjozNToxMi44OTUwOTY2NzAgKzAyMDAKLUBAIC05MDEs NiArOTAxLDcgQEAgaW50IHNzbDNfZ2V0X3NlcnZlcl9oZWxsbyhTU0wgKnMpCi0gCQkJewotIAkJ CXMtPnNlc3Npb24tPmNpcGhlciA9IHByZWZfY2lwaGVyID8KLSAJCQkJcHJlZl9jaXBoZXIgOiBz c2xfZ2V0X2NpcGhlcl9ieV9jaGFyKHMsIHAraik7Ci0rCQkJcy0+czMtPmZsYWdzIHw9IFNTTDNf RkxBR1NfQ0NTX09LOwotIAkJCX0KLSAJCX0KLSAjZW5kaWYgLyogT1BFTlNTTF9OT19UTFNFWFQg Ki8KCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xaS1hbGdvLWRvYy5wYXRjaCBiL29wZW5zc2wt MS4wLjFpLWFsZ28tZG9jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmExOTg3N2QKLS0tIC9kZXYvbnVsbAorKysgYi9vcGVuc3NsLTEuMC4xaS1hbGdvLWRvYy5wYXRj aApAQCAtMCwwICsxLDc3IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvY3J5cHRvL0VW UF9EaWdlc3RJbml0LnBvZC5hbGdvLWRvYyBvcGVuc3NsLTEuMC4xaS9kb2MvY3J5cHRvL0VWUF9E aWdlc3RJbml0LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9jcnlwdG8vRVZQX0RpZ2VzdElu aXQucG9kLmFsZ28tZG9jCTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWkvZG9jL2NyeXB0by9FVlBfRGlnZXN0SW5pdC5wb2QJMjAxNC0wOC0wNyAx MToxODowMS4yOTA3NzM5NzAgKzAyMDAKK0BAIC03NSw3ICs3NSw3IEBAIEVWUF9NRF9DVFhfY3Jl YXRlKCkgYWxsb2NhdGVzLCBpbml0aWFsaXoKKyAKKyBFVlBfRGlnZXN0SW5pdF9leCgpIHNldHMg dXAgZGlnZXN0IGNvbnRleHQgQjxjdHg+IHRvIHVzZSBhIGRpZ2VzdAorIEI8dHlwZT4gZnJvbSBF TkdJTkUgQjxpbXBsPi4gQjxjdHg+IG11c3QgYmUgaW5pdGlhbGl6ZWQgYmVmb3JlIGNhbGxpbmcg dGhpcworLWZ1bmN0aW9uLiBCPHR5cGU+IHdpbGwgdHlwaWNhbGx5IGJlIHN1cHBsaWVkIGJ5IGEg ZnVuY3Rpb25zdWNoIGFzIEVWUF9zaGExKCkuCisrZnVuY3Rpb24uIEI8dHlwZT4gd2lsbCB0eXBp Y2FsbHkgYmUgc3VwcGxpZWQgYnkgYSBmdW5jdGlvbiBzdWNoIGFzIEVWUF9zaGExKCkuCisgSWYg QjxpbXBsPiBpcyBOVUxMIHRoZW4gdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgZGlnZXN0 IEI8dHlwZT4gaXMgdXNlZC4KKyAKKyBFVlBfRGlnZXN0VXBkYXRlKCkgaGFzaGVzIEI8Y250PiBi eXRlcyBvZiBkYXRhIGF0IEI8ZD4gaW50byB0aGUKK0BAIC0xNjQsNyArMTY0LDggQEAgY29ycmVz cG9uZGluZyBPQkpFQ1QgSURFTlRJRklFUiBvciBOSURfdQorIEVWUF9NRF9zaXplKCksIEVWUF9N RF9ibG9ja19zaXplKCksIEVWUF9NRF9DVFhfc2l6ZSgpIGFuZAorIEVWUF9NRF9DVFhfYmxvY2tf c2l6ZSgpIHJldHVybiB0aGUgZGlnZXN0IG9yIGJsb2NrIHNpemUgaW4gYnl0ZXMuCisgCistRVZQ X21kX251bGwoKSwgRVZQX21kMigpLCBFVlBfbWQ1KCksIEVWUF9zaGEoKSwgRVZQX3NoYTEoKSwg RVZQX2RzcygpLAorK0VWUF9tZF9udWxsKCksIEVWUF9tZDIoKSwgRVZQX21kNSgpLCBFVlBfc2hh KCksIEVWUF9zaGExKCksCisrRVZQX3NoYTIyNCgpLCBFVlBfc2hhMjU2KCksIEVWUF9zaGEzODQo KSwgRVZQX3NoYTUxMigpLCBFVlBfZHNzKCksCisgRVZQX2RzczEoKSwgRVZQX21kYzIoKSBhbmQg RVZQX3JpcGVtZDE2MCgpIHJldHVybiBwb2ludGVycyB0byB0aGUKKyBjb3JyZXNwb25kaW5nIEVW UF9NRCBzdHJ1Y3R1cmVzLgorIAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9jL2NyeXB0by9F VlBfRW5jcnlwdEluaXQucG9kLmFsZ28tZG9jIG9wZW5zc2wtMS4wLjFpL2RvYy9jcnlwdG8vRVZQ X0VuY3J5cHRJbml0LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9jcnlwdG8vRVZQX0VuY3J5 cHRJbml0LnBvZC5hbGdvLWRvYwkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIwMAor KysrIG9wZW5zc2wtMS4wLjFpL2RvYy9jcnlwdG8vRVZQX0VuY3J5cHRJbml0LnBvZAkyMDE0LTA4 LTA3IDEwOjU1OjI1LjEwMDYzODI1MiArMDIwMAorQEAgLTkxLDYgKzkxLDMyIEBAIEVWUF9DSVBI RVJfQ1RYX3NldF9wYWRkaW5nIC0gRVZQIGNpcGhlcgorICBpbnQgRVZQX0NJUEhFUl9wYXJhbV90 b19hc24xKEVWUF9DSVBIRVJfQ1RYICpjLCBBU04xX1RZUEUgKnR5cGUpOworICBpbnQgRVZQX0NJ UEhFUl9hc24xX3RvX3BhcmFtKEVWUF9DSVBIRVJfQ1RYICpjLCBBU04xX1RZUEUgKnR5cGUpOwor IAorKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTModm9pZCk7CisrIGNvbnN0IEVWUF9D SVBIRVIgKkVWUF9kZXNfZWRlM19lY2Iodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9k ZXNfZWRlM19jZmI2NCh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Rlc19lZGUzX2Nm YjEodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9kZXNfZWRlM19jZmI4KHZvaWQpOwor KyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfZGVzX2VkZTNfb2ZiKHZvaWQpOworKyBjb25zdCBFVlBf Q0lQSEVSICpFVlBfZGVzX2VkZTNfY2JjKHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBf YWVzXzEyOF9lY2Iodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTI4X2NiYyh2 b2lkKTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfY2ZiMSh2b2lkKTsKKysgY29u c3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xMjhfY2ZiOCh2b2lkKTsKKysgY29uc3QgRVZQX0NJUEhF UiAqRVZQX2Flc18xMjhfY2ZiMTI4KHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVz XzEyOF9vZmIodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTkyX2VjYih2b2lk KTsKKysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18xOTJfY2JjKHZvaWQpOworKyBjb25zdCBF VlBfQ0lQSEVSICpFVlBfYWVzXzE5Ml9jZmIxKHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpF VlBfYWVzXzE5Ml9jZmI4KHZvaWQpOworKyBjb25zdCBFVlBfQ0lQSEVSICpFVlBfYWVzXzE5Ml9j ZmIxMjgodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMTkyX29mYih2b2lkKTsK KysgY29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18yNTZfZWNiKHZvaWQpOworKyBjb25zdCBFVlBf Q0lQSEVSICpFVlBfYWVzXzI1Nl9jYmModm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9h ZXNfMjU2X2NmYjEodm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMjU2X2NmYjgo dm9pZCk7CisrIGNvbnN0IEVWUF9DSVBIRVIgKkVWUF9hZXNfMjU2X2NmYjEyOCh2b2lkKTsKKysg Y29uc3QgRVZQX0NJUEhFUiAqRVZQX2Flc18yNTZfb2ZiKHZvaWQpOworKworID1oZWFkMSBERVND UklQVElPTgorIAorIFRoZSBFVlAgY2lwaGVyIHJvdXRpbmVzIGFyZSBhIGhpZ2ggbGV2ZWwgaW50 ZXJmYWNlIHRvIGNlcnRhaW4KK0BAIC0yOTcsNiArMzIzLDE4IEBAIFRocmVlIGtleSB0cmlwbGUg REVTIGluIENCQywgRUNCLCBDRkIgYW4KKyAKKyBERVNYIGFsZ29yaXRobSBpbiBDQkMgbW9kZS4K KyAKKys9aXRlbSBFVlBfYWVzXzEyOF9jYmModm9pZCksIEVWUF9hZXNfMTI4X2VjYigpLCBFVlBf YWVzXzEyOF9vZmIodm9pZCksIEVWUF9hZXNfMTI4X2NmYjEodm9pZCksIEVWUF9hZXNfMTI4X2Nm Yjgodm9pZCksIEVWUF9hZXNfMTI4X2NmYjEyOCh2b2lkKQorKworK0FFUyB3aXRoIDEyOCBiaXQg a2V5IGxlbmd0aCBpbiBDQkMsIEVDQiwgT0ZCIGFuZCBDRkIgbW9kZXMgcmVzcGVjdGl2ZWx5Lgor KworKz1pdGVtIEVWUF9hZXNfMTkyX2NiYyh2b2lkKSwgRVZQX2Flc18xOTJfZWNiKCksIEVWUF9h ZXNfMTkyX29mYih2b2lkKSwgRVZQX2Flc18xOTJfY2ZiMSh2b2lkKSwgRVZQX2Flc18xOTJfY2Zi OCh2b2lkKSwgRVZQX2Flc18xOTJfY2ZiMTI4KHZvaWQpCisrCisrQUVTIHdpdGggMTkyIGJpdCBr ZXkgbGVuZ3RoIGluIENCQywgRUNCLCBPRkIgYW5kIENGQiBtb2RlcyByZXNwZWN0aXZlbHkuCisr CisrPWl0ZW0gRVZQX2Flc18yNTZfY2JjKHZvaWQpLCBFVlBfYWVzXzI1Nl9lY2IoKSwgRVZQX2Fl c18yNTZfb2ZiKHZvaWQpLCBFVlBfYWVzXzI1Nl9jZmIxKHZvaWQpLCBFVlBfYWVzXzI1Nl9jZmI4 KHZvaWQpLCBFVlBfYWVzXzI1Nl9jZmIxMjgodm9pZCkKKysKKytBRVMgd2l0aCAyNTYgYml0IGtl eSBsZW5ndGggaW4gQ0JDLCBFQ0IsIE9GQiBhbmQgQ0ZCIG1vZGVzIHJlc3BlY3RpdmVseS4KKysK KyA9aXRlbSBFVlBfcmM0KHZvaWQpCisgCisgUkM0IHN0cmVhbSBjaXBoZXIuIFRoaXMgaXMgYSB2 YXJpYWJsZSBrZXkgbGVuZ3RoIGNpcGhlciB3aXRoIGRlZmF1bHQga2V5IGxlbmd0aCAxMjggYml0 cy4KCmRpZmYgLS1naXQgYS9vcGVuc3NsLTEuMC4xaS1tYW5maXgucGF0Y2ggYi9vcGVuc3NsLTEu MC4xaS1tYW5maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJm OGJlNwotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2wtMS4wLjFpLW1hbmZpeC5wYXRjaApAQCAt MCwwICsxLDg2IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9lYy5wb2QubWFu Zml4IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL2VjLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2Rv Yy9hcHBzL2VjLnBvZC5tYW5maXgJMjAxNC0wNy0yMiAyMTo0MToyMy4wMDAwMDAwMDAgKzAyMDAK KysrKyBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9lYy5wb2QJMjAxNC0wOC0wNyAxMToyMTo1Ny4y NTg4ODc3NDEgKzAyMDAKK0BAIC05MywxMCArOTMsNiBAQCBwcmludHMgb3V0IHRoZSBwdWJsaWMs IHByaXZhdGUga2V5IGNvbXBvCisgCisgdGhpcyBvcHRpb24gcHJldmVudHMgb3V0cHV0IG9mIHRo ZSBlbmNvZGVkIHZlcnNpb24gb2YgdGhlIGtleS4KKyAKKy09aXRlbSBCPC1tb2R1bHVzPgorLQor LXRoaXMgb3B0aW9uIHByaW50cyBvdXQgdGhlIHZhbHVlIG9mIHRoZSBwdWJsaWMga2V5IGNvbXBv bmVudCBvZiB0aGUga2V5LgorLQorID1pdGVtIEI8LXB1YmluPgorIAorIGJ5IGRlZmF1bHQgYSBw cml2YXRlIGtleSBpcyByZWFkIGZyb20gdGhlIGlucHV0IGZpbGU6IHdpdGggdGhpcyBvcHRpb24g YQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvb3BlbnNzbC5wb2QubWFuZml4IG9w ZW5zc2wtMS4wLjFpL2RvYy9hcHBzL29wZW5zc2wucG9kCistLS0gb3BlbnNzbC0xLjAuMWkvZG9j L2FwcHMvb3BlbnNzbC5wb2QubWFuZml4CTIwMTQtMDctMjIgMjE6NDM6MTEuMDAwMDAwMDAwICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvb3BlbnNzbC5wb2QJMjAxNC0wOC0wNyAx MToyMTo1Ny4yNTk4ODc3NDYgKzAyMDAKK0BAIC0xNjMsNyArMTYzLDcgQEAgQ3JlYXRlIG9yIGV4 YW1pbmUgYSBuZXRzY2FwZSBjZXJ0aWZpY2F0ZQorIAorIE9ubGluZSBDZXJ0aWZpY2F0ZSBTdGF0 dXMgUHJvdG9jb2wgdXRpbGl0eS4KKyAKKy09aXRlbSBMPEI8cGFzc3dkPnxwYXNzd2QoMSk+Cisr PWl0ZW0gTDxCPHBhc3N3ZD58c3NscGFzc3dkKDEpPgorIAorIEdlbmVyYXRpb24gb2YgaGFzaGVk IHBhc3N3b3Jkcy4KKyAKK0BAIC0xODcsNyArMTg3LDcgQEAgUHVibGljIGtleSBhbGdvcml0aG0g cGFyYW1ldGVyIG1hbmFnZW1lbgorIAorIFB1YmxpYyBrZXkgYWxnb3JpdGhtIGNyeXB0b2dyYXBo aWMgb3BlcmF0aW9uIHV0aWxpdHkuCisgCistPWl0ZW0gTDxCPHJhbmQ+fHJhbmQoMSk+CisrPWl0 ZW0gTDxCPHJhbmQ+fHNzbHJhbmQoMSk+CisgCisgR2VuZXJhdGUgcHNldWRvLXJhbmRvbSBieXRl cy4KKyAKK0BAIC00MDEsOSArNDAxLDkgQEAgTDxjcmwoMSl8Y3JsKDEpPiwgTDxjcmwycGtjczco MSl8Y3JsMnBrYworIEw8ZGhwYXJhbSgxKXxkaHBhcmFtKDEpPiwgTDxkc2EoMSl8ZHNhKDEpPiwg TDxkc2FwYXJhbSgxKXxkc2FwYXJhbSgxKT4sCisgTDxlbmMoMSl8ZW5jKDEpPiwgTDxnZW5kc2Eo MSl8Z2VuZHNhKDEpPiwgTDxnZW5wa2V5KDEpfGdlbnBrZXkoMSk+LAorIEw8Z2VucnNhKDEpfGdl bnJzYSgxKT4sIEw8bnNlcSgxKXxuc2VxKDEpPiwgTDxvcGVuc3NsKDEpfG9wZW5zc2woMSk+LAor LUw8cGFzc3dkKDEpfHBhc3N3ZCgxKT4sCisrTDxzc2xwYXNzd2QoMSl8c3NscGFzc3dkKDEpPiwK KyBMPHBrY3MxMigxKXxwa2NzMTIoMSk+LCBMPHBrY3M3KDEpfHBrY3M3KDEpPiwgTDxwa2NzOCgx KXxwa2NzOCgxKT4sCistTDxyYW5kKDEpfHJhbmQoMSk+LCBMPHJlcSgxKXxyZXEoMSk+LCBMPHJz YSgxKXxyc2EoMSk+LAorK0w8c3NscmFuZCgxKXxzc2xyYW5kKDEpPiwgTDxyZXEoMSl8cmVxKDEp PiwgTDxyc2EoMSl8cnNhKDEpPiwKKyBMPHJzYXV0bCgxKXxyc2F1dGwoMSk+LCBMPHNfY2xpZW50 KDEpfHNfY2xpZW50KDEpPiwKKyBMPHNfc2VydmVyKDEpfHNfc2VydmVyKDEpPiwgTDxzX3RpbWUo MSl8c190aW1lKDEpPiwKKyBMPHNtaW1lKDEpfHNtaW1lKDEpPiwgTDxzcGthYygxKXxzcGthYygx KT4sCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX2NsaWVudC5wb2QubWFuZml4 IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NfY2xpZW50LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFp L2RvYy9hcHBzL3NfY2xpZW50LnBvZC5tYW5maXgJMjAxNC0wOC0wNiAyMzoxMDo1Ni4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX2NsaWVudC5wb2QJMjAxNC0w OC0wNyAxMToyNDoyOC43MzY2MDQ0NDMgKzAyMDAKK0BAIC0zNCw5ICszNCwxNCBAQCBCPG9wZW5z c2w+IEI8c19jbGllbnQ+CisgW0I8LXNzbDI+XQorIFtCPC1zc2wzPl0KKyBbQjwtdGxzMT5dCisr W0I8LXRsczFfMT5dCisrW0I8LXRsczFfMj5dCisrW0I8LWR0bHMxPl0KKyBbQjwtbm9fc3NsMj5d CisgW0I8LW5vX3NzbDM+XQorIFtCPC1ub190bHMxPl0KKytbQjwtbm9fdGxzMV8xPl0KKytbQjwt bm9fdGxzMV8yPl0KKyBbQjwtYnVncz5dCisgW0I8LWNpcGhlciBjaXBoZXJsaXN0Pl0KKyBbQjwt c2VydmVycHJlZj5dCitAQCAtMTk2LDcgKzIwMSw3IEBAIFVzZSB0aGUgUFNLIGtleSBCPGtleT4g d2hlbiB1c2luZyBhIFBTSworIGdpdmVuIGFzIGEgaGV4YWRlY2ltYWwgbnVtYmVyIHdpdGhvdXQg bGVhZGluZyAweCwgZm9yIGV4YW1wbGUgLXBzaworIDFhMmIzYzRkLgorIAorLT1pdGVtIEI8LXNz bDI+LCBCPC1zc2wzPiwgQjwtdGxzMT4sIEI8LW5vX3NzbDI+LCBCPC1ub19zc2wzPiwgQjwtbm9f dGxzMT4KKys9aXRlbSBCPC1zc2wyPiwgQjwtc3NsMz4sIEI8LXRsczE+LCBCPC10bHMxXzE+LCBC PC10bHMxXzI+LCBCPC1kdGxzMT4sIEI8LW5vX3NzbDI+LCBCPC1ub19zc2wzPiwgQjwtbm9fdGxz MT4sIEI8LW5vX3RsczFfMT4sIEI8LW5vX3RsczFfMj4KKyAKKyB0aGVzZSBvcHRpb25zIGRpc2Fi bGUgdGhlIHVzZSBvZiBjZXJ0YWluIFNTTCBvciBUTFMgcHJvdG9jb2xzLiBCeSBkZWZhdWx0Cisg dGhlIGluaXRpYWwgaGFuZHNoYWtlIHVzZXMgYSBtZXRob2Qgd2hpY2ggc2hvdWxkIGJlIGNvbXBh dGlibGUgd2l0aCBhbGwKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3Nfc2VydmVy LnBvZC5tYW5maXggb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc19zZXJ2ZXIucG9kCistLS0gb3Bl bnNzbC0xLjAuMWkvZG9jL2FwcHMvc19zZXJ2ZXIucG9kLm1hbmZpeAkyMDE0LTA4LTA2IDIzOjEw OjU2LjAwMDAwMDAwMCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3Nfc2VydmVy LnBvZAkyMDE0LTA4LTA3IDExOjIxOjU3LjI1OTg4Nzc0NiArMDIwMAorQEAgLTIxNiw3ICsyMTYs NyBAQCBVc2UgdGhlIFBTSyBrZXkgQjxrZXk+IHdoZW4gdXNpbmcgYSBQU0sKKyBnaXZlbiBhcyBh IGhleGFkZWNpbWFsIG51bWJlciB3aXRob3V0IGxlYWRpbmcgMHgsIGZvciBleGFtcGxlIC1wc2sK KyAxYTJiM2M0ZC4KKyAKKy09aXRlbSBCPC1zc2wyPiwgQjwtc3NsMz4sIEI8LXRsczE+LCBCPC1u b19zc2wyPiwgQjwtbm9fc3NsMz4sIEI8LW5vX3RsczE+CisrPWl0ZW0gQjwtc3NsMj4sIEI8LXNz bDM+LCBCPC10bHMxPiwgQjwtdGxzMV8xPiwgQjwtdGxzMV8yPiwgQjwtZHRsczE+LCBCPC1ub19z c2wyPiwgQjwtbm9fc3NsMz4sIEI8LW5vX3RsczE+LCBCPC1ub190bHMxXzE+LCBCPC1ub190bHMx XzI+CisgCisgdGhlc2Ugb3B0aW9ucyBkaXNhYmxlIHRoZSB1c2Ugb2YgY2VydGFpbiBTU0wgb3Ig VExTIHByb3RvY29scy4gQnkgZGVmYXVsdAorIHRoZSBpbml0aWFsIGhhbmRzaGFrZSB1c2VzIGEg bWV0aG9kIHdoaWNoIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGggYWxsCgpkaWZmIC0tZ2l0IGEv b3BlbnNzbC0xLjAuMWktbmV3LWZpcHMtcmVxcy5wYXRjaCBiL29wZW5zc2wtMS4wLjFpLW5ldy1m aXBzLXJlcXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU3NzE3 NwotLS0gL2Rldi9udWxsCisrKyBiL29wZW5zc2wtMS4wLjFpLW5ldy1maXBzLXJlcXMucGF0Y2gK QEAgLTAsMCArMSwxNDQ3IEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vYm4vYm5f cmFuZC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vYm4vYm5fcmFuZC5jCistLS0g b3BlbnNzbC0xLjAuMWkvY3J5cHRvL2JuL2JuX3JhbmQuYy5maXBzLXJlcXMJMjAxNC0wNy0yMiAy MTo0MzoxMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vYm4vYm5f cmFuZC5jCTIwMTQtMDgtMDcgMTE6MjU6MjguODM1ODg5MTQ1ICswMjAwCitAQCAtMTM4LDkgKzEz OCwxMiBAQCBzdGF0aWMgaW50IGJucmFuZChpbnQgcHNldWRvcmFuZCwgQklHTlVNCisgCQlnb3Rv IGVycjsKKyAJCX0KKyAKKy0JLyogbWFrZSBhIHJhbmRvbSBudW1iZXIgYW5kIHNldCB0aGUgdG9w IGFuZCBib3R0b20gYml0cyAqLworLQl0aW1lKCZ0aW0pOworLQlSQU5EX2FkZCgmdGltLHNpemVv Zih0aW0pLDAuMCk7CisrCWlmICghRklQU19tb2RlKCkpIC8qIGluIEZJUFMgbW9kZSB0aGUgUk5H IGlzIGFsd2F5cyBwcm9wZXJseSBzZWVkZWQgb3IgdGhlIG1vZHVsZSBmYWlscyAqLworKwkJewor KwkJLyogbWFrZSBhIHJhbmRvbSBudW1iZXIgYW5kIHNldCB0aGUgdG9wIGFuZCBib3R0b20gYml0 cyAqLworKwkJdGltZSgmdGltKTsKKysJCVJBTkRfYWRkKCZ0aW0sc2l6ZW9mKHRpbSksMC4wKTsK KysJCX0KKyAKKyAJaWYgKHBzZXVkb3JhbmQpCisgCQl7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4x aS9jcnlwdG8vZGgvZGhfZ2VuLmMuZmlwcy1yZXFzIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kaC9k aF9nZW4uYworLS0tIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kaC9kaF9nZW4uYy5maXBzLXJlcXMJ MjAxNC0wOC0wNyAxMToyNToyOC41ODY4ODc5NjUgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vZGgvZGhfZ2VuLmMJMjAxNC0wOC0wNyAxMToyNToyOC44MzU4ODkxNDUgKzAyMDAKK0BA IC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIGludCBkaF9idWlsdGluX2dlbnBhcmFtcyhESCAqcmV0 LAorIAkJcmV0dXJuIDA7CisgCQl9CisgCistCWlmIChGSVBTX21vZGUoKSAmJiAocHJpbWVfbGVu IDwgT1BFTlNTTF9ESF9GSVBTX01JTl9NT0RVTFVTX0JJVFMpKQorKwlpZiAoRklQU19tb2RlKCkg JiYgKHByaW1lX2xlbiA8IE9QRU5TU0xfREhfRklQU19NSU5fTU9EVUxVU19CSVRTX0dFTikpCisg CQl7CisgCQlESGVycihESF9GX0RIX0JVSUxUSU5fR0VOUEFSQU1TLCBESF9SX0tFWV9TSVpFX1RP T19TTUFMTCk7CisgCQlnb3RvIGVycjsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9k aC9kaC5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZGgvZGguaAorLS0tIG9wZW5z c2wtMS4wLjFpL2NyeXB0by9kaC9kaC5oLmZpcHMtcmVxcwkyMDE0LTA4LTA3IDExOjI1OjI4LjU4 Njg4Nzk2NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kaC9kaC5oCTIwMTQtMDgt MDcgMTE6MjU6MjguODM2ODg5MTUwICswMjAwCitAQCAtNzgsNiArNzgsNyBAQAorICNlbmRpZgor IAorICNkZWZpbmUgT1BFTlNTTF9ESF9GSVBTX01JTl9NT0RVTFVTX0JJVFMgMTAyNAorKyNkZWZp bmUgT1BFTlNTTF9ESF9GSVBTX01JTl9NT0RVTFVTX0JJVFNfR0VOIDIwNDgKKyAKKyAjZGVmaW5l IERIX0ZMQUdfQ0FDSEVfTU9OVF9QICAgICAweDAxCisgI2RlZmluZSBESF9GTEFHX05PX0VYUF9D T05TVFRJTUUgMHgwMiAvKiBuZXcgd2l0aCAwLjkuN2g7IHRoZSBidWlsdC1pbiBESAorZGlmZiAt dXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RoL2RoX2NoZWNrLmMuZmlwcy1yZXFzIG9wZW5zc2wt MS4wLjFpL2NyeXB0by9kaC9kaF9jaGVjay5jCistLS0gb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2Ro L2RoX2NoZWNrLmMuZmlwcy1yZXFzCTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAw CisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RoL2RoX2NoZWNrLmMJMjAxNC0wOC0wNyAxMToy NToyOC44MzY4ODkxNTAgKzAyMDAKK0BAIC0xMzQsNyArMTM0LDMzIEBAIGludCBESF9jaGVja19w dWJfa2V5KGNvbnN0IERIICpkaCwgY29uc3QKKyAJQk5fc3ViX3dvcmQocSwxKTsKKyAJaWYgKEJO X2NtcChwdWJfa2V5LHEpPj0wKQorIAkJKnJldHw9REhfQ0hFQ0tfUFVCS0VZX1RPT19MQVJHRTsK KysjaWZkZWYgT1BFTlNTTF9GSVBTCisrCWlmIChGSVBTX21vZGUoKSAmJiBkaC0+cSAhPSBOVUxM KQorKwkJeworKwkJQk5fQ1RYICpjdHggPSBOVUxMOworIAorKwkJY3R4ID0gQk5fQ1RYX25ldygp OworKwkJaWYgKGN0eCA9PSBOVUxMKQorKwkJCWdvdG8gZXJyOworKworKwkJaWYgKEJOX21vZF9l eHBfbW9udChxLCBwdWJfa2V5LCBkaC0+cSwgZGgtPnAsIGN0eCwgTlVMTCkgPD0gMCkKKysJCQl7 CisrCQkJQk5fQ1RYX2ZyZWUoY3R4KTsKKysJCQlnb3RvIGVycjsKKysJCQl9CisrCQlpZiAoIUJO X2lzX29uZShxKSkKKysJCQl7CisrCQkJLyogaXQgd291bGQgYmUgbW9yZSBjb3JyZWN0IHRvIGFk ZCBuZXcgcmV0dXJuIGZsYWcgCisrCQkJICogZm9yIHRoaXMgdGVzdCwgYnV0IHdlIGRvIG5vdCB3 YW50IHRvIGRvIGl0CisrCQkJICogc28ganVzdCBlcnJvciBvdXQKKysJCQkgKi8KKysJCQlCTl9D VFhfZnJlZShjdHgpOworKwkJCWdvdG8gZXJyOworKwkJCX0KKysJCQorKwkJQk5fQ1RYX2ZyZWUo Y3R4KTsKKysJCX0KKysjZW5kaWYKKyAJb2sgPSAxOworIGVycjoKKyAJaWYgKHEgIT0gTlVMTCkg Qk5fZnJlZShxKTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kc2EvZHNhX2dlbi5j LmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYV9nZW4uYworLS0tIG9wZW5z c2wtMS4wLjFpL2NyeXB0by9kc2EvZHNhX2dlbi5jLmZpcHMtcmVxcwkyMDE0LTA4LTA3IDExOjI1 OjI4LjU4Nzg4Nzk2OSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kc2EvZHNhX2dl bi5jCTIwMTQtMDgtMDcgMTE6MjU6MjguODM2ODg5MTUwICswMjAwCitAQCAtMTU5LDcgKzE1OSw3 IEBAIGludCBkc2FfYnVpbHRpbl9wYXJhbWdlbihEU0EgKnJldCwgc2l6ZV8KKyAJICAgIH0KKyAK KyAJaWYgKEZJUFNfbW9kdWxlX21vZGUoKSAmJgorLQkgICAgKGJpdHMgIT0gMTAyNCB8fCBxYml0 cyAhPSAxNjApICYmCisrCSAgICAoZ2V0ZW52KCJPUEVOU1NMX0VORk9SQ0VfTU9EVUxVU19CSVRT IikgfHwgYml0cyAhPSAxMDI0IHx8IHFiaXRzICE9IDE2MCkgJiYKKyAJICAgIChiaXRzICE9IDIw NDggfHwgcWJpdHMgIT0gMjI0KSAmJgorIAkgICAgKGJpdHMgIT0gMjA0OCB8fCBxYml0cyAhPSAy NTYpICYmCisgCSAgICAoYml0cyAhPSAzMDcyIHx8IHFiaXRzICE9IDI1NikpCitkaWZmIC11cCBv cGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYS5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vZHNhL2RzYS5oCistLS0gb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2RzYS9kc2EuaC5maXBz LXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC41ODg4ODc5NzQgKzAyMDAKKysrKyBvcGVuc3NsLTEu MC4xaS9jcnlwdG8vZHNhL2RzYS5oCTIwMTQtMDgtMDcgMTE6MjU6MjguODM3ODg5MTU0ICswMjAw CitAQCAtODksNiArODksNyBAQAorICNlbmRpZgorIAorICNkZWZpbmUgT1BFTlNTTF9EU0FfRklQ U19NSU5fTU9EVUxVU19CSVRTIDEwMjQKKysjZGVmaW5lIE9QRU5TU0xfRFNBX0ZJUFNfTUlOX01P RFVMVVNfQklUU19HRU4gKGdldGVudigiT1BFTlNTTF9FTkZPUkNFX01PRFVMVVNfQklUUyIpPzIw NDg6MTAyNCkKKyAKKyAjZGVmaW5lIERTQV9GTEFHX0NBQ0hFX01PTlRfUAkweDAxCisgI2RlZmlu ZSBEU0FfRkxBR19OT19FWFBfQ09OU1RUSU1FICAgICAgIDB4MDIgLyogbmV3IHdpdGggMC45Ljdo OyB0aGUgYnVpbHQtaW4gRFNBCitAQCAtMjU0LDkgKzI1NSw5IEBAIGludAlEU0FwYXJhbXNfcHJp bnRfZnAoRklMRSAqZnAsIGNvbnN0IEQKKyBpbnQJRFNBX3ByaW50X2ZwKEZJTEUgKmJwLCBjb25z dCBEU0EgKngsIGludCBvZmYpOworICNlbmRpZgorIAorLSNkZWZpbmUgRFNTX3ByaW1lX2NoZWNr cyA1MAorLS8qIFByaW1hbGl0eSB0ZXN0IGFjY29yZGluZyB0byBGSVBTIFBVQiAxODZbLTFdLCBB cHBlbmRpeCAyLjE6CistICogNTAgcm91bmRzIG9mIFJhYmluLU1pbGxlciAqLworKyNkZWZpbmUg RFNTX3ByaW1lX2NoZWNrcyA2NAorKy8qIFByaW1hbGl0eSB0ZXN0IGFjY29yZGluZyB0byBGSVBT IFBVQiAxODZbLTRdLCBBcHBlbmRpeCAyLjE6CisrICogNjQgcm91bmRzIG9mIFJhYmluLU1pbGxl ciAqLworICNkZWZpbmUgRFNBX2lzX3ByaW1lKG4sIGNhbGxiYWNrLCBjYl9hcmcpIFwKKyAJQk5f aXNfcHJpbWUobiwgRFNTX3ByaW1lX2NoZWNrcywgY2FsbGJhY2ssIE5VTEwsIGNiX2FyZykKKyAK K2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kc2EvZHNhX2tleS5jLmZpcHMtcmVxcyBv cGVuc3NsLTEuMC4xaS9jcnlwdG8vZHNhL2RzYV9rZXkuYworLS0tIG9wZW5zc2wtMS4wLjFpL2Ny eXB0by9kc2EvZHNhX2tleS5jLmZpcHMtcmVxcwkyMDE0LTA4LTA3IDExOjI1OjI4LjgzMzg4OTEz NSArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9kc2EvZHNhX2tleS5jCTIwMTQtMDgt MDcgMTE6MjU6MjguODM3ODg5MTU0ICswMjAwCitAQCAtMTI3LDcgKzEyNyw3IEBAIHN0YXRpYyBp bnQgZHNhX2J1aWx0aW5fa2V5Z2VuKERTQSAqZHNhKQorIAorICNpZmRlZiBPUEVOU1NMX0ZJUFMK KyAJaWYgKEZJUFNfbW9kZSgpICYmICEoZHNhLT5mbGFncyAmIERTQV9GTEFHX05PTl9GSVBTX0FM TE9XKQorLQkJJiYgKEJOX251bV9iaXRzKGRzYS0+cCkgPCBPUEVOU1NMX0RTQV9GSVBTX01JTl9N T0RVTFVTX0JJVFMpKQorKwkJJiYgKEJOX251bV9iaXRzKGRzYS0+cCkgPCBPUEVOU1NMX0RTQV9G SVBTX01JTl9NT0RVTFVTX0JJVFNfR0VOKSkKKyAJCXsKKyAJCURTQWVycihEU0FfRl9EU0FfQlVJ TFRJTl9LRVlHRU4sIERTQV9SX0tFWV9TSVpFX1RPT19TTUFMTCk7CisgCQlnb3RvIGVycjsKK2Rp ZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYy5maXBz LXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jCistLS0g b3BlbnNzbC0xLjAuMWkvY3J5cHRvL2ZpcHMvZmlwc19kaF9zZWxmdGVzdC5jLmZpcHMtcmVxcwky MDE0LTA4LTA3IDExOjI1OjI4LjgzNzg4OTE1NCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2Ny eXB0by9maXBzL2ZpcHNfZGhfc2VsZnRlc3QuYwkyMDE0LTA4LTA3IDExOjI1OjI4LjgzNzg4OTE1 NCArMDIwMAorQEAgLTAsMCArMSwxNjIgQEAKKysvKiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorKyAqIENvcHlyaWdo dCAoYykgMjAxMSBUaGUgT3BlblNTTCBQcm9qZWN0LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysg KiBDb3B5cmlnaHQgKGMpIDIwMTMgUmVkIEhhdCwgSW5jLgorKyAqCisrICogUmVkaXN0cmlidXRp b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisr ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu ZyBjb25kaXRpb25zCisrICogYXJlIG1ldDoKKysgKgorKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisrICogICAgbm90 aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy LiAKKysgKgorKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisrICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisrICogICAgdGhlIGRvY3Vt ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorKyAqICAg IGRpc3RyaWJ1dGlvbi4KKysgKgorKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVu dGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcworKyAqICAgIHNvZnR3YXJlIG11c3QgZGlz cGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdtZW50OgorKyAqICAgICJUaGlzIHByb2R1Y3Qg aW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2plY3QKKysgKiAg ICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQuIChodHRwOi8vd3d3Lm9wZW5zc2wub3Jn LykiCisrICoKKysgKiA0LiBUaGUgbmFtZXMgIk9wZW5TU0wgVG9vbGtpdCIgYW5kICJPcGVuU1NM IFByb2plY3QiIG11c3Qgbm90IGJlIHVzZWQgdG8KKysgKiAgICBlbmRvcnNlIG9yIHByb21vdGUg cHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dAorKyAqICAgIHByaW9y IHdyaXR0ZW4gcGVybWlzc2lvbi4gRm9yIHdyaXR0ZW4gcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRh Y3QKKysgKiAgICBvcGVuc3NsLWNvcmVAb3BlbnNzbC5vcmcuCisrICoKKysgKiA1LiBQcm9kdWN0 cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSBtYXkgbm90IGJlIGNhbGxlZCAiT3BlblNTTCIK KysgKiAgICBub3IgbWF5ICJPcGVuU1NMIiBhcHBlYXIgaW4gdGhlaXIgbmFtZXMgd2l0aG91dCBw cmlvciB3cml0dGVuCisrICogICAgcGVybWlzc2lvbiBvZiB0aGUgT3BlblNTTCBQcm9qZWN0Lgor KyAqCisrICogNi4gUmVkaXN0cmlidXRpb25zIG9mIGFueSBmb3JtIHdoYXRzb2V2ZXIgbXVzdCBy ZXRhaW4gdGhlIGZvbGxvd2luZworKyAqICAgIGFja25vd2xlZGdtZW50OgorKyAqICAgICJUaGlz IHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBPcGVuU1NMIFByb2pl Y3QKKysgKiAgICBmb3IgdXNlIGluIHRoZSBPcGVuU1NMIFRvb2xraXQgKGh0dHA6Ly93d3cub3Bl bnNzbC5vcmcvKSIKKysgKgorKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIE9w ZW5TU0wgUFJPSkVDVCBgYEFTIElTJycgQU5EIEFOWQorKyAqIEVYUFJFU1NFRCBPUiBJTVBMSUVE IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKysgKiBJTVBM SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIKKysgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhF IE9wZW5TU0wgUFJPSkVDVCBPUgorKyAqIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKysgKiBTUEVDSUFMLCBFWEVNUExBUlks IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQKKysgKiBOT1QgTElNSVRF RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKysgKiBM T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQor KyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF UiBJTiBDT05UUkFDVCwKKysgKiBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisrICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRAorKyAqIE9GIFRIRSBQT1NT SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKysgKgorKyAqLworKworKyNpbmNsdWRlIDxzdHJpbmcu aD4KKysjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8uaD4KKysjaW5jbHVkZSA8b3BlbnNzbC9kaC5o PgorKyNpbmNsdWRlIDxvcGVuc3NsL2ZpcHMuaD4KKysjaW5jbHVkZSA8b3BlbnNzbC9lcnIuaD4K KysjaW5jbHVkZSA8b3BlbnNzbC9ldnAuaD4KKysjaW5jbHVkZSA8b3BlbnNzbC9ibi5oPgorKyNp bmNsdWRlICJmaXBzX2xvY2wuaCIKKysKKysjaWZkZWYgT1BFTlNTTF9GSVBTCisrCisrc3RhdGlj IGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X3BbXSA9IHsKKysJMHhBRSwweEVDLDB4 RUUsMHgyMiwweEZBLDB4M0EsMHhBNSwweDIyLDB4QzAsMHhERSwweDBGLDB4MDksCisrCTB4N0Us MHgxNywweEMwLDB4MDUsMHhGOSwweEYxLDB4RTcsMHhDNiwweDg3LDB4MTQsMHg2RCwweDExLAor KwkweEU3LDB4QUUsMHhFRCwweDJGLDB4NzIsMHg1OSwweEM1LDB4QTksMHg5QiwweEI4LDB4MDIs MHhBNSwKKysJMHhGMywweDY5LDB4NzAsMHhENiwweERELDB4OTAsMHhGOSwweDE5LDB4NzksMHhC RSwweDYwLDB4OEYsCisrCTB4MjUsMHg5MiwweDMwLDB4MUMsMHg1MSwweDUxLDB4MzgsMHgyNiww eDgyLDB4MjUsMHhFNiwweEZDLAorKwkweEVELDB4NjUsMHg5NiwweDhGLDB4NTcsMHhFNSwweDUz LDB4OEIsMHgzOCwweDYzLDB4QzcsMHhDRSwKKysJMHhCQywweDFCLDB4NEQsMHgxOCwweDJBLDB4 NUIsMHgwNCwweDNGLDB4NkEsMHgzQywweDk0LDB4MzksCisrCTB4QUUsMHgzNiwweEQ2LDB4NUUs MHgwRiwweEEyLDB4Q0MsMHhEMCwweEQ0LDB4RDUsMHhDNiwweDFFLAorKwkweEY2LDB4QTAsMHhG NSwweDg5LDB4NEUsMHhCNCwweDBCLDB4QTQsMHhCMywweDJCLDB4M0QsMHhFMiwKKysJMHg0RSww eEUxLDB4NDksMHgyNSwweDk5LDB4NUYsMHgzMiwweDE2LDB4MzMsMHgzMiwweDFCLDB4N0EsCisr CTB4QTUsMHg1QywweDZCLDB4MzQsMHgwRCwweDM5LDB4OTksMHhEQywweEYwLDB4NzYsMHhFNSww eDVBLAorKwkweEQ0LDB4NzEsMHgwMCwweEVELDB4NUEsMHg3MywweEZCLDB4QzgsMHgwMSwweEFE LDB4OTksMHhDRiwKKysJMHg5OSwweDUyLDB4N0MsMHg5QywweDY0LDB4QzYsMHg3NiwweDQwLDB4 NTcsMHhBRiwweDU5LDB4RDcsCisrCTB4MzgsMHgwQiwweDQwLDB4REUsMHgzMywweDBELDB4Qjgs MHg3NiwweEVDLDB4QTksMHhEOCwweDczLAorKwkweEY4LDB4RUYsMHgyNiwweDY2LDB4MDYsMHgy NywweERELDB4N0MsMHhBNCwweDEwLDB4OUMsMHhBNiwKKysJMHhBQSwweEY5LDB4NTMsMHg2Miww eDczLDB4MUQsMHhCQSwweDFDLDB4RjEsMHg2NywweEY0LDB4MzUsCisrCTB4RUQsMHg2RiwweDM3 LDB4OTIsMHhFOCwweDRGLDB4NkMsMHhCQSwweDUyLDB4NkUsMHhBMSwweEVELAorKwkweERBLDB4 OUYsMHg4NSwweDExLDB4ODIsMHg1MiwweDYyLDB4MDgsMHg0NCwweEYxLDB4MzAsMHgwMywKKysJ MHhDMywweDM4LDB4MkMsMHg3OSwweEJELDB4RDQsMHg0MywweDQ1LDB4RUUsMHg4RSwweDUwLDB4 RkMsCisrCTB4MjksMHg0NiwweDlBLDB4RkUsMHg1NCwweDFBLDB4MTksMHg4RiwweDRCLDB4ODQs MHgwOCwweERFLAorKwkweDIwLDB4NjIsMHg3MywweENDLDB4REQsMHg3RSwweEYwLDB4RUYsMHhB MiwweEZELDB4ODYsMHg1OCwKKysJMHg0QiwweEQ4LDB4MzcsMHhFQgorK307CisrCisrc3RhdGlj IGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X2dbXSA9IHsKKysJMHgwMgorK307Cisr Cisrc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X3B1Yl9rZXlbXSA9IHsK KysJMHhBMCwweDM5LDB4MTEsMHg3NywweDlBLDB4QzEsMHgzMCwweDFGLDB4QkUsMHg0OCwweEE3 LDB4QUEsCisrCTB4QTAsMHg4NCwweDU0LDB4NjQsMHhBRCwweDFCLDB4NzAsMHhGQSwweDEzLDB4 NTUsMHg2MywweEQyLAorKwkweDFGLDB4NjIsMHgzMiwweDkzLDB4OEUsMHhDOSwweDNFLDB4MDks MHhBNywweDY0LDB4RTQsMHgxMiwKKysJMHg2RSwweDFCLDB4RjIsMHg5MiwweDNCLDB4QjksMHhD QiwweDU2LDB4RUEsMHgwNywweDg4LDB4QjUsCisrCTB4QTYsMHhCQywweDE2LDB4MUYsMHgyNyww eEZFLDB4RDgsMHhBQSwweDQwLDB4QjIsMHhCMCwweDJELAorKwkweDM3LDB4NzYsMHhBNiwweEE0 LDB4ODIsMHgyQywweDBFLDB4MjIsMHg2NCwweDlELDB4Q0IsMHhEMSwKKysJMHgwMCwweEI3LDB4 ODksMHgxNCwweDcyLDB4NEUsMHhCRSwweDQ4LDB4NDEsMHhGOCwweEIyLDB4NTEsCisrCTB4MTEs MHgwOSwweDRCLDB4MjIsMHgwMSwweDIzLDB4MzksMHg5NiwweEUwLDB4MTUsMHhENywweDlGLAor KwkweDYwLDB4RDEsMHhCNywweEFFLDB4RkUsMHg1RiwweERCLDB4RTcsMHgwMywweDE3LDB4OTcs MHhBNiwKKysJMHgxNiwweDc0LDB4QkQsMHg1MywweDgxLDB4MTksMHhDNSwweDQ3LDB4NUUsMHhD RSwweDhELDB4RUQsCisrCTB4NDUsMHg1RCwweDNDLDB4MDAsMHhBMCwweDBBLDB4NjgsMHg2QSww eEUwLDB4OEUsMHgwNiwweDQ2LAorKwkweDZGLDB4RDcsMHhGOSwweERGLDB4MzEsMHg3RSwweDc3 LDB4NDQsMHgwRCwweDk4LDB4RTAsMHhDQSwKKysJMHg5OCwweDA5LDB4NTIsMHgwNCwweDkwLDB4 RUEsMHg2RCwweEY0LDB4MzAsMHg2OSwweDhGLDB4QjEsCisrCTB4OUIsMHhDMSwweDQzLDB4REIs MHhENSwweDhELDB4QzgsMHg4RSwweEI2LDB4MEIsMHgwNSwweEJFLAorKwkweDBFLDB4QzUsMHg5 OSwweEM4LDB4NkUsMHg0RSwweEYzLDB4Q0IsMHhDMywweDVFLDB4OUIsMHg1MywKKysJMHhGNyww eDA2LDB4MUMsMHg0RiwweEM3LDB4QjgsMHg2RSwweDMwLDB4MTgsMHhDQSwweDlCLDB4QjksCisr CTB4QkMsMHg1RiwweDE3LDB4NzIsMHgyOSwweDVBLDB4RTUsMHhEOSwweDk2LDB4QjcsMHgwQiww eEYzLAorKwkweDJELDB4OEMsMHhGMSwweEUxLDB4MEUsMHgwRCwweDc0LDB4RDUsMHg5RCwweEYw LDB4MDYsMHhBOSwKKysJMHhCNCwweDk1LDB4NjMsMHg3NiwweDQ2LDB4NTUsMHg0OCwweDgyLDB4 MzksMHg5MCwweEVGLDB4NTYsCisrCTB4NzUsMHgzNCwweEI4LDB4MzQsMHhDMywweDE4LDB4NkUs MHgxRSwweEFELDB4RTMsMHg0OCwweDdFLAorKwkweDkzLDB4MkMsMHgyMywweEU3LDB4RjgsMHg5 MCwweDczLDB4QjEsMHg3NywweDgwLDB4NjcsMHhBOSwKKysJMHgzNiwweDlFLDB4REEsMHhEMgor K307CisrCisrc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZGhfdGVzdF8yMDQ4X3ByaXZfa2V5 W10gPSB7CisrCTB4MEMsMHg0QiwweDMwLDB4ODksMHhEMSwweEI4LDB4NjIsMHhDQiwweDNDLDB4 NDMsMHg2NCwweDkxLAorKwkweEYwLDB4OTEsMHg1NCwweDcwLDB4QzUsMHgyNywweDk2LDB4RTMs MHhBQywweEJFLDB4RTgsMHgwMCwKKysJMHhFQywweDU1LDB4RjYsMHhDQworK307CisrCisraW50 IEZJUFNfc2VsZnRlc3RfZGgoKQorKwl7CisrCURIICpkaCA9IE5VTEw7CisrCWludCByZXQgPSAw OworKwl2b2lkICpwdWJfa2V5ID0gTlVMTDsKKysJaW50IGxlbjsKKysKKysJZGggPSBESF9uZXco KTsKKysKKysJaWYoZGggPT0gTlVMTCkKKysJCWdvdG8gZXJyOworKworKwlmaXBzX2xvYWRfa2V5 X2NvbXBvbmVudChkaCwgcCwgZGhfdGVzdF8yMDQ4KTsKKysJZmlwc19sb2FkX2tleV9jb21wb25l bnQoZGgsIGcsIGRoX3Rlc3RfMjA0OCk7CisrCS8qIG5vdGUgdGhhdCB0aGUgcHJpdmF0ZSBrZXkg aXMgbXVjaCBzaG9ydGVyIHRoYW4gbm9ybWFsbHkgdXNlZAorKwkgKiBidXQgc3RpbGwgZyAqKiBw cml2X2tleSA+IHAKKysJICovCisrCWZpcHNfbG9hZF9rZXlfY29tcG9uZW50KGRoLCBwcml2X2tl eSwgZGhfdGVzdF8yMDQ4KTsKKysKKysJaWYgKERIX2dlbmVyYXRlX2tleShkaCkgPD0gMCkKKysJ CWdvdG8gZXJyOworKworKwlsZW4gPSBCTl9udW1fYnl0ZXMoZGgtPnB1Yl9rZXkpOworKwlpZiAo KHB1Yl9rZXkgPSBPUEVOU1NMX21hbGxvYyhsZW4pKSA9PSBOVUxMKQorKwkJZ290byBlcnI7Cisr CUJOX2JuMmJpbihkaC0+cHViX2tleSwgcHViX2tleSk7CisrCisrCWlmIChsZW4gIT0gc2l6ZW9m KGRoX3Rlc3RfMjA0OF9wdWJfa2V5KSB8fAorKwkJbWVtY21wKHB1Yl9rZXksIGRoX3Rlc3RfMjA0 OF9wdWJfa2V5LCBsZW4pICE9IDApCisrCQlnb3RvIGVycjsKKysKKysJcmV0ID0gMTsKKysKKysJ ZXJyOgorKwlpZiAoZGgpCisrCQlESF9mcmVlKGRoKTsKKysKKysJT1BFTlNTTF9mcmVlKHB1Yl9r ZXkpOworKwlyZXR1cm4gcmV0OworKwl9CisrI2VuZGlmCitkaWZmIC11cCBvcGVuc3NsLTEuMC4x aS9jcnlwdG8vZmlwcy9maXBzLmguZmlwcy1yZXFzIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9maXBz L2ZpcHMuaAorLS0tIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL2ZpcHMuaC5maXBzLXJlcXMJ MjAxNC0wOC0wNyAxMToyNToyOC44Mjg4ODkxMTEgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vZmlwcy9maXBzLmgJMjAxNC0wOC0wNyAxMToyNToyOC44Mzg4ODkxNTkgKzAyMDAKK0BA IC05Niw2ICs5Niw3IEBAIHZvaWQgRklQU19jb3JydXB0X2RzYV9rZXlnZW4odm9pZCk7CisgaW50 IEZJUFNfc2VsZnRlc3RfZHNhKHZvaWQpOworIGludCBGSVBTX3NlbGZ0ZXN0X2VjZHNhKHZvaWQp OworIGludCBGSVBTX3NlbGZ0ZXN0X2VjZGgodm9pZCk7CisraW50IEZJUFNfc2VsZnRlc3RfZGgo dm9pZCk7Cisgdm9pZCBGSVBTX2NvcnJ1cHRfcm5nKHZvaWQpOworIHZvaWQgRklQU19ybmdfc3Rp Y2sodm9pZCk7Cisgdm9pZCBGSVBTX3g5MzFfc3RpY2soaW50IG9ub2ZmKTsKK2RpZmYgLXVwIG9w ZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEu MC4xaS9jcnlwdG8vZmlwcy9maXBzX3Bvc3QuYworLS0tIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9m aXBzL2ZpcHNfcG9zdC5jLmZpcHMtcmVxcwkyMDE0LTA4LTA3IDExOjI1OjI4LjgyMjg4OTA4MyAr MDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL2ZpcHNfcG9zdC5jCTIwMTQtMDgt MDcgMTE6MjU6MjguODM4ODg5MTU5ICswMjAwCitAQCAtOTksNiArOTksOCBAQCBpbnQgRklQU19z ZWxmdGVzdCh2b2lkKQorIAkJcnYgPSAwOworIAlpZiAoIUZJUFNfc2VsZnRlc3RfZHNhKCkpCisg CQlydiA9IDA7CisrCWlmICghRklQU19zZWxmdGVzdF9kaCgpKQorKwkJcnYgPSAwOworIAlpZiAo IUZJUFNfc2VsZnRlc3RfZWNkaCgpKQorIAkJcnYgPSAwOworIAlyZXR1cm4gcnY7CitkaWZmIC11 cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jLmZpcHMtcmVx cyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCistLS0gb3Bl bnNzbC0xLjAuMWkvY3J5cHRvL2ZpcHMvZmlwc19yc2Ffc2VsZnRlc3QuYy5maXBzLXJlcXMJMjAx NC0wOC0wNyAxMToyNToyOC43ODM4ODg4OTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlw dG8vZmlwcy9maXBzX3JzYV9zZWxmdGVzdC5jCTIwMTQtMDgtMDcgMTE6MjU6MjguODM4ODg5MTU5 ICswMjAwCitAQCAtNjAsNjkgKzYwLDExMyBAQAorICNpZmRlZiBPUEVOU1NMX0ZJUFMKKyAKKyBz dGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBuW10gPQorLSJceDAwXHhCQlx4RjhceDJGXHgwOVx4 MDZceDgyXHhDRVx4OUNceDIzXHgzOFx4QUNceDJCXHg5RFx4QThceDcxIgorLSJceEY3XHgzNlx4 OERceDA3XHhFRVx4RDRceDEwXHg0M1x4QTRceDQwXHhENlx4QjZceEYwXHg3NFx4NTRceEY1Igor LSJceDFGXHhCOFx4REZceEJBXHhBRlx4MDNceDVDXHgwMlx4QUJceDYxXHhFQVx4NDhceENFXHhF Qlx4NkZceENEIgorLSJceDQ4XHg3Nlx4RURceDUyXHgwRFx4NjBceEUxXHhFQ1x4NDZceDE5XHg3 MVx4OURceDhBXHg1Qlx4OEJceDgwIgorLSJceDdGXHhBRlx4QjhceEUwXHhBM1x4REZceEM3XHgz N1x4NzJceDNFXHhFNlx4QjRceEI3XHhEOVx4M0FceDI1IgorLSJceDg0XHhFRVx4NkFceDY0XHg5 RFx4MDZceDA5XHg1M1x4NzRceDg4XHgzNFx4QjJceDQ1XHg0NVx4OThceDM5IgorLSJceDRFXHhF MFx4QUFceEIxXHgyRFx4N0JceDYxXHhBNVx4MUZceDUyXHg3QVx4OUFceDQxXHhGNlx4QzFceDY4 IgorLSJceDdGXHhFMlx4NTNceDcyXHg5OFx4Q0FceDJBXHg4Rlx4NTlceDQ2XHhGOFx4RTVceEZE XHgwOVx4MURceEJEIgorLSJceENCIjsKKysiXHgwMFx4YzlceGQ1XHg2ZFx4OWRceDkwXHhkYlx4 NDNceGQ2XHgwMlx4ZWRceDk2XHg4OFx4MTNceDhhIgorKyJceGIyXHhiZlx4NmVceGExXHgwNlx4 MTBceGIyXHg3OFx4MzdceGE3XHgxNFx4YThceGZmXHhkZFx4MDAiCisrIlx4ZGRceGI0XHg5M1x4 YTBceDQ1XHhjY1x4OTZceDkwXHhlZFx4YWRceGE5XHhkZFx4YzRceGQ2XHhjYSIKKysiXHgwY1x4 ZjBceGVkXHg0Zlx4NzJceDVlXHgyMVx4NDlceDlhXHgxOFx4MTJceDE1XHg4Zlx4OTBceDVhIgor KyJceGRiXHhiNlx4MzNceDk5XHhhM1x4ZTZceGI0XHhmMFx4YzRceDk3XHgyMVx4MjZceGJiXHhl M1x4YmEiCisrIlx4ZjJceGZmXHhhMFx4NzJceGRhXHg4OVx4NjNceDhlXHg4Ylx4M2VceDA4XHg5 ZFx4OTJceDJhXHhiZSIKKysiXHgxNlx4ZTFceDQzXHgxNVx4ZmNceDU3XHhjN1x4MWZceDA5XHgx MVx4NjdceDFjXHhhOVx4OTZceGQxIgorKyJceDhiXHgzZVx4ODBceDkzXHhjMVx4NTlceGQwXHg2 ZFx4MzlceGYyXHhhY1x4OTVceGNjXHgxMFx4NzUiCisrIlx4ZTlceDMxXHgyNFx4ZDFceDQzXHhh Zlx4NjhceDUyXHg0Ylx4ZTdceDE2XHhkN1x4NDlceDY1XHg2ZiIKKysiXHgyNlx4YzBceDg2XHhh ZFx4YzBceDA3XHgwYVx4YzFceGUxXHgyZlx4ODdceDg1XHg4Nlx4M2JceGRjIgorKyJceDVhXHg5 OVx4YmVceGU5XHhmOVx4YjlceGU5XHg4Mlx4MjdceDUxXHgwNFx4MTVceGFiXHgwNlx4MGUiCisr Ilx4NzZceDVhXHgyOFx4OGRceDkyXHhiZFx4YzVceGI1XHg3Ylx4YThceGRmXHg0ZVx4NDdceGEy XHhjMSIKKysiXHhlN1x4NTJceGJmXHg0N1x4ZjdceDYyXHhlMFx4M2FceDZmXHg0ZFx4NmFceDRk XHg0ZVx4ZDRceGI5IgorKyJceDU5XHg2OVx4ZmFceGIyXHgxNFx4YzFceGVlXHhlNlx4MmZceDk1 XHhjZFx4OTRceDcyXHhhZVx4ZTQiCisrIlx4ZGJceDE4XHg5YVx4YzRceGNkXHg3MFx4YmRceGVl XHgzMVx4MTZceGI3XHg0OVx4NjVceGFjXHg0MCIKKysiXHgxOVx4MGVceGI1XHg2ZFx4ODNceGYx XHgzNlx4YmJceDA4XHgyZlx4MmVceDRlXHg5Mlx4NjJceGE0IgorKyJceGZmXHg1MFx4ZGJceDIw XHg0NVx4YTJceGViXHgxNlx4N2FceGYyXHhkNVx4MjhceGMxXHhmZFx4NGUiCisrIlx4MDNceDcx IjsKKysKKyAKKyBzdGF0aWMgaW50IGNvcnJ1cHRfcnNhOworIAorIHN0YXRpYyBpbnQgc2V0cnNh a2V5KFJTQSAqa2V5KQorICAgICB7CistICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGVb XSA9ICJceDExIjsKKysgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZVtdID0gIlx4MDFc eDAwXHgwMSI7CisgCisgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGRbXSA9CistIlx4 MDBceEE1XHhEQVx4RkNceDUzXHg0MVx4RkFceEYyXHg4OVx4QzRceEI5XHg4OFx4REJceDMwXHhD MVx4Q0QiCistIlx4RjhceDNGXHgzMVx4MjVceDFFXHgwNlx4NjhceEI0XHgyN1x4ODRceDgxXHgz OFx4MDFceDU3XHg5Nlx4NDEiCistIlx4QjJceDk0XHgxMFx4QjNceEM3XHg5OVx4OERceDZCXHhD NFx4NjVceDc0XHg1RVx4NUNceDM5XHgyNlx4NjkiCistIlx4RDZceDg3XHgwRFx4QTJceEMwXHg4 Mlx4QTlceDM5XHhFM1x4N0ZceERDXHhCOFx4MkVceEM5XHgzRVx4REEiCistIlx4QzlceDdGXHhG M1x4QURceDU5XHg1MFx4QUNceENGXHhCQ1x4MTFceDFDXHg3Nlx4RjFceEE5XHg1Mlx4OTQiCist Ilx4NDRceEU1XHg2QVx4QUZceDY4XHhDNVx4NkNceDA5XHgyQ1x4RDNceDhEXHhDM1x4QkVceEY1 XHhEMlx4MEEiCistIlx4OTNceDk5XHgyNlx4RURceDRGXHg3NFx4QTFceDNFXHhERFx4RkJceEUx XHhBMVx4Q0VceENDXHg0OFx4OTQiCistIlx4QUZceDk0XHgyOFx4QzJceEI3XHhCOFx4ODhceDNG XHhFNFx4NDZceDNBXHg0Qlx4QzhceDVCXHgxQ1x4QjMiCistIlx4QzEiOworKyJceDM2XHgyN1x4 M2RceGIxXHhmOVx4MWJceGRiXHhhN1x4YTBceDQxXHg3Zlx4MTJceDIzXHhhY1x4MjMiCisrIlx4 MjlceDk5XHhkNVx4M2FceDdiXHg2MFx4NjdceDQxXHgwN1x4NjNceDUzXHhiNFx4ZDJceGU3XHg1 OCIKKysiXHg5NVx4MGFceGM3XHgwNVx4ZjNceDRlXHhiMlx4YjRceDEyXHhkNFx4NzBceGRjXHg0 Zlx4ODVceDA2IgorKyJceGQzXHhkZFx4ZDhceDYzXHgyN1x4M2VceDY3XHgzMVx4MjFceDI0XHgz OVx4MDRceGJjXHgwNlx4YTQiCisrIlx4Y2NceGNlXHgyYlx4N2FceGZlXHg3Ylx4YWRceGRlXHgx MVx4NmVceGEzXHhhNVx4ZTZceDA0XHg1MyIKKysiXHgwZVx4YTNceDRlXHgyZFx4YjRceDhmXHgz MVx4YmZceGNhXHg3NVx4MjVceDUyXHgwMlx4ODVceGRlIgorKyJceDNkXHhiMlx4NzJceDQzXHhi Mlx4ODlceDhhXHg5YVx4MzRceDQxXHgyNlx4M2ZceDlhXHg2N1x4YmUiCisrIlx4YTRceDk2XHg3 Ylx4MGVceDc1XHhiYVx4YTZceDkzXHhkNVx4YjhceGQ4XHhiOFx4NTdceGYyXHg0YiIKKysiXHgw Zlx4MTRceDgxXHhkMVx4NTdceDRlXHhmNlx4NDVceDRjXHhhNlx4M2JceGQwXHg3MFx4Y2FceGQz IgorKyJceDlkXHg1NVx4ZGVceDIyXHgwNVx4ZTdceDhlXHgyOFx4NGRceGVlXHgxMVx4Y2ZceGI2 XHg2N1x4NzYiCisrIlx4MDlceGQzXHhlM1x4M2NceDEzXHhmOVx4OTlceDM0XHgxMFx4N2JceGVj XHg4MVx4MzhceGYwXHhiNiIKKysiXHgzNFx4OWNceDliXHg1MFx4NmZceDBiXHg5MVx4ODFceDRk XHg4OVx4OTRceDA0XHg3Ylx4ZjBceDNjIgorKyJceGY0XHhiMVx4YjJceDAwXHg0OFx4OGRceDVh XHg4Zlx4ODhceDllXHhjNVx4YWJceDNhXHg5ZVx4NDQiCisrIlx4M2ZceDU0XHhlN1x4ZDlceDZl XHg0N1x4YWFceGExXHhiZFx4NDBceDQ2XHgzMVx4ZjlceGYwXHgzNCIKKysiXHhiNlx4MDRceGUx XHgyYlx4NWJceDczXHg4Nlx4ZGRceDNhXHg5Mlx4MWJceDcxXHhjN1x4M2ZceDMyIgorKyJceGU1 XHhjM1x4YzJceGFiXHhhMVx4N2VceGJmXHhhNFx4NTJceGEwXHhiMFx4NjhceDkwXHhkMVx4MjAi CisrIlx4MTJceDc5XHhlOVx4ZDdceGM5XHg0MFx4YmFceGYyXHgxOVx4YzdceGE1XHgwMFx4OTJc eDg2XHgwZCIKKysiXHgwMSI7CisgCisgICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHBb XSA9CistIlx4MDBceEVFXHhDRlx4QUVceDgxXHhCMVx4QjlceEIzXHhDOVx4MDhceDgxXHgwQlx4 MTBceEExXHhCNVx4NjAiCistIlx4MDFceDk5XHhFQlx4OUZceDQ0XHhBRVx4RjRceEZEXHhBNFx4 OTNceEI4XHgxQVx4OUVceDNEXHg4NFx4RjYiCistIlx4MzJceDEyXHg0RVx4RjBceDIzXHg2RVx4 NURceDFFXHgzQlx4N0VceDI4XHhGQVx4RTdceEFBXHgwNFx4MEEiCistIlx4MkRceDVCXHgyNVx4 MjFceDc2XHg0NVx4OURceDFGXHgzOVx4NzVceDQxXHhCQVx4MkFceDU4XHhGQlx4NjUiCistIlx4 OTkiOworKyJceDAwXHhmY1x4NWNceDZlXHgxNlx4Y2VceDFmXHgwM1x4N2JceGNkXHhmN1x4YjNc eDcyXHhiMlx4OGYiCisrIlx4MTZceDcyXHhiOFx4NTZceGFlXHhmN1x4Y2RceDY3XHhkOFx4NGVc eDdkXHgwN1x4YWZceGQ1XHg0MyIKKysiXHgyNlx4YzNceDM1XHhiZVx4NDNceDhmXHg0ZVx4MmZc eDFjXHg0M1x4NGVceDZiXHhkMlx4YjJceGVjIgorKyJceDUyXHg2ZFx4OTdceDUyXHgyYlx4Y2Nc eDVjXHgzYVx4NmJceGY0XHgxNFx4YzZceDc0XHhkYVx4NjYiCisrIlx4MzhceDFjXHg3YVx4M2Zc eDg0XHgyZlx4ZTNceGY5XHg1YVx4YjhceDY1XHg2OVx4NDZceDA2XHhhMyIKKysiXHgzN1x4Nzlc eGIyXHhhMVx4NWJceDU4XHhlZFx4NWVceGE3XHg1Zlx4OGNceDY1XHg2Nlx4YmJceGQxIgorKyJc eDI0XHgzNlx4ZTZceDM3XHhhN1x4M2RceDQ5XHg3N1x4OGFceDhjXHgzNFx4ZDhceDY5XHgyOVx4 ZjMiCisrIlx4NGRceDU4XHgyMlx4YjBceDUxXHgyNFx4YjZceDQwXHhhOFx4ODZceDU5XHgwYVx4 YjdceGJhXHg1YyIKKysiXHg5N1x4ZGFceDU3XHhlOFx4MzZceGRhXHg3YVx4OWNceGFkIjsKKyAK KyAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgcVtdID0KKy0iXHgwMFx4QzlceDdGXHhC MVx4RjBceDI3XHhGNFx4NTNceEY2XHgzNFx4MTJceDMzXHhFQVx4QUFceEQxXHhEOSIKKy0iXHgz NVx4M0ZceDZDXHg0Mlx4RDBceDg4XHg2Nlx4QjFceEQwXHg1QVx4MEZceDIwXHgzNVx4MDJceDhC XHg5RCIKKy0iXHg4Nlx4OThceDQwXHhCNFx4MTZceDY2XHhCNFx4MkVceDkyXHhFQVx4MERceEEz XHhCNFx4MzJceDA0XHhCNSIKKy0iXHhDRlx4Q0VceDMzXHg1Mlx4NTJceDREXHgwNFx4MTZceEE1 XHhBNFx4NDFceEU3XHgwMFx4QUZceDQ2XHgxNSIKKy0iXHgwMyI7CisrIlx4MDBceGNjXHhiZVx4 N2JceDA5XHg2OVx4MDZceGVlXHg0NVx4YmZceDg4XHg0N1x4MzhceGE4XHhmOCIKKysiXHgxN1x4 ZTVceGI2XHhiYVx4NjdceDU1XHhlM1x4ZThceDA1XHg4Ylx4YjhceGUyXHg1M1x4ZDZceDhlIgor KyJceGVmXHgyY1x4ZTdceDRmXHg0YVx4ZjdceDRlXHgyNlx4OGRceDg1XHgwYlx4M2ZceGVjXHhj M1x4MWMiCisrIlx4ZDRceGViXHhlY1x4NmFceGM4XHg3Mlx4MmFceDI1XHg3ZFx4ZmRceGE2XHg3 N1x4OTZceGYwXHgxZSIKKysiXHhjZFx4MjhceDU3XHhmOFx4MzdceDMwXHg3NVx4NmJceGJkXHhk NFx4N2JceDBjXHg4N1x4YzVceDZjIgorKyJceDg3XHg0MFx4YTVceGJiXHgyN1x4MmNceDc4XHhj OVx4NzRceDVhXHg1NFx4NWJceDBiXHgzMFx4NmYiCisrIlx4NDRceDRhXHhmYVx4NzFceGU0XHgy MVx4NjFceDY2XHhmOVx4ZWVceDY1XHhkZVx4N2NceDA0XHhkNyIKKysiXHhmZFx4YTlceDE1XHg1 Ylx4N2ZceGUyXHg3YVx4YmFceDY5XHg4Nlx4NzJceGE2XHgwNlx4OGRceDliIgorKyJceDkwXHg1 NVx4NjBceDllXHg0Y1x4NWRceGE5XHhiNlx4NTUiOworKworIAorICAgICBzdGF0aWMgY29uc3Qg dW5zaWduZWQgY2hhciBkbXAxW10gPQorLSJceDU0XHg0OVx4NENceEE2XHgzRVx4QkFceDAzXHgz N1x4RTRceEUyXHg0MFx4MjNceEZDXHhENlx4OUFceDVBIgorLSJceEVCXHgwN1x4RERceERDXHgw MVx4ODNceEE0XHhEMFx4QUNceDlCXHg1NFx4QjBceDUxXHhGMlx4QjFceDNFIgorLSJceEQ5XHg0 OVx4MDlceDc1XHhFQVx4QjdceDc0XHgxNFx4RkZceDU5XHhDMVx4RjdceDY5XHgyRVx4OUFceDJF IgorLSJceDIwXHgyQlx4MzhceEZDXHg5MVx4MEFceDQ3XHg0MVx4NzRceEFEXHhDOVx4M0NceDFG XHg2N1x4QzlceDgxIjsKKysiXHg3YVx4ZDZceDEyXHhkMFx4MGVceGVjXHg5MVx4YTlceDg1XHg4 Ylx4ZjhceDUwXHhmMFx4MTFceDJlIgorKyJceDAwXHgxMVx4MzJceDQwXHg2MFx4NjZceDFmXHgx MVx4ZWVceGMyXHg3NVx4MjdceDY1XHg0Ylx4MTYiCisrIlx4NjdceDE2XHg5NVx4ZDJceDE0XHhj M1x4MWRceGIzXHg0OFx4MWZceGI3XHhlNFx4MGJceDJiXHg3NCIKKysiXHhjM1x4ZGJceDUwXHgy N1x4ZjlceDg1XHgzYVx4ZmFceGE5XHgwOFx4MjNceGMxXHg2NVx4M2RceDM0IgorKyJceDNhXHhj OFx4NTZceDdhXHg2NVx4NDVceDM2XHg2ZVx4YWVceDJhXHhjZVx4OWZceDQzXHg0M1x4ZDciCisr Ilx4MTBceGU5XHg5ZVx4MThceGY0XHhhNFx4MzVceGRhXHg4YVx4NmJceGIwXHgzZlx4ZGRceDUz XHhlMyIKKysiXHhhOFx4YzVceDRlXHg3OVx4OWRceDFmXHg1MVx4OGNceGEyXHhjYVx4NjZceDNj XHg2YVx4MmFceGZmIgorKyJceDhlXHhkMlx4ZjNceGI3XHhjYlx4ODJceGRhXHhkZVx4MmNceGU2 XHhkMlx4OGNceGIzXHhhZFx4YjYiCisrIlx4NGNceDk1XHg1NVx4NzZceGJkXHhjOVx4YzhceGQx IjsKKysKKyAKKyAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZG1xMVtdID0KKy0iXHg0 N1x4MUVceDAyXHg5MFx4RkZceDBBXHhGMFx4NzVceDAzXHg1MVx4QjdceEY4XHg3OFx4ODZceDRD XHhBOSIKKy0iXHg2MVx4QURceEJEXHgzQVx4OEFceDdFXHg5OVx4MUNceDVDXHgwNVx4NTZceEE5 XHg0Q1x4MzFceDQ2XHhBNyIKKy0iXHhGOVx4ODBceDNGXHg4Rlx4NkZceDhBXHhFM1x4NDJceEU5 XHgzMVx4RkRceDhBXHhFNFx4N0FceDIyXHgwRCIKKy0iXHgxQlx4OTlceEE0XHg5NVx4ODRceDk4 XHgwN1x4RkVceDM5XHhGOVx4MjRceDVBXHg5OFx4MzZceERBXHgzRCI7CistICAgIAorKyJceDAw XHg4M1x4MjNceDFkXHhiYlx4MTFceDQyXHgxN1x4MmJceDI1XHg1YVx4MmNceDAzXHhlNlx4NzUi CisrIlx4YzFceDE4XHhhOFx4YzlceDBiXHg5Nlx4YmZceGJhXHhjNFx4OTJceDkxXHg4MFx4YTVc eDIyXHgyZiIKKysiXHhiYVx4OTFceDkwXHgzNlx4MDFceDU2XHgxNVx4MDBceDJjXHg3NFx4YTJc eDk3XHhmN1x4MTVceGExIgorKyJceDQ5XHhkZlx4MzJceDM1XHhkMlx4ZGRceDBjXHg5MVx4YTZc eGY4XHhlN1x4YmVceDgxXHgzNlx4OWIiCisrIlx4MDNceGRjXHg2Ylx4M2JceGQ4XHg1ZFx4Nzlc eDU3XHhlMFx4ZTZceDRmXHg0OVx4ZGZceDRjXHg1YyIKKysiXHgwZVx4ZTVceDIxXHg0MVx4OTVc eGZkXHhhZFx4ZmZceDlhXHgzZVx4YTBceGY5XHgwZlx4NTlceDllIgorKyJceDZhXHhhN1x4N2Jc eDcxXHhhN1x4MjRceDlhXHgzNlx4NTJceGFlXHg5N1x4MjBceGMxXHg1ZVx4NzgiCisrIlx4ZDlc eDQ3XHg4Ylx4MWVceDY3XHhmMlx4YWZceDk4XHhlNlx4MmRceGVmXHgxMFx4ZDdceGYxXHhhYiIK KysiXHg0OVx4ZWVceGU1XHg0Ylx4N2VceGFlXHgxZlx4MWRceDYxIjsKKysKKysKKyAgICAgc3Rh dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgaXFtcFtdID0KKy0iXHgwMFx4QjBceDZDXHg0Rlx4REFc eEJCXHg2M1x4MDFceDE5XHg4RFx4MjZceDVCXHhEQlx4QUVceDk0XHgyMyIKKy0iXHhCM1x4ODBc eEYyXHg3MVx4RjdceDM0XHg1M1x4ODhceDUwXHg5M1x4MDdceDdGXHhDRFx4MzlceEUyXHgxMSIK Ky0iXHg5Rlx4QzlceDg2XHgzMlx4MTVceDRGXHg1OFx4ODNceEIxXHg2N1x4QTlceDY3XHhCRlx4 NDBceDJCXHg0RSIKKy0iXHg5RVx4MkVceDBGXHg5Nlx4NTZceEU2XHg5OFx4RUFceDM2XHg2Nlx4 RURceEZCXHgyNVx4NzlceDgwXHgzOSIKKy0iXHhGNyI7CisrIlx4MjNceDk2XHhjMVx4OTFceDE3 XHg1ZVx4MGFceDgzXHhkMlx4ZGNceDdiXHg2OVx4YjJceDU5XHgxZCIKKysiXHgzM1x4NThceDUy XHgzZlx4MThceGM3XHgwOVx4NTBceDFjXHhiOVx4YTFceGJiXHg0Y1x4YTJceDM4IgorKyJceDQw XHg0Y1x4OWFceDhlXHhmZVx4OWNceDkwXHg5Mlx4ZDBceDcxXHg5Zlx4ODlceDk5XHg1MFx4OTEi CisrIlx4MWZceDM0XHg4Ylx4NzRceDUzXHgxMVx4MTFceDRhXHg3MFx4ZTJceGY3XHgzMFx4ZDhc eDhjXHg4MCIKKysiXHhlMVx4Y2NceDlmXHhmMVx4NjNceDE3XHgxYVx4N2RceDY3XHgyOVx4NGNc eGNiXHg0ZVx4NzRceDdiIgorKyJceGUwXHgzZVx4OWVceDJmXHhmNFx4NjdceDhmXHhlY1x4Yjlc eDVjXHgwMFx4MWVceDdlXHhhMlx4N2IiCisrIlx4OTJceGM5XHg2Zlx4NGNceGU0XHgwZVx4Zjlc eDQ4XHg2M1x4Y2RceDUwXHgyMlx4NWRceGJmXHhiNiIKKysiXHg5ZFx4MDFceDMzXHg2YVx4ZjRc eDUwXHhiZVx4ODZceDk4XHg0Zlx4Y2FceDNmXHgzYVx4ZmFceGNmIgorKyJceDA3XHg0MFx4YzRc eGFhXHhhZFx4YWVceGJlXHhiZiI7CisgCisgICAgIGtleS0+biA9IEJOX2JpbjJibihuLCBzaXpl b2YobiktMSwga2V5LT5uKTsKKyAgICAgaWYgKGNvcnJ1cHRfcnNhKQorLQlCTl9zZXRfYml0KGtl eS0+biwgMTAyNCk7CisrCUJOX3NldF9iaXQoa2V5LT5uLCAyMDQ4KTsKKyAgICAga2V5LT5lID0g Qk5fYmluMmJuKGUsIHNpemVvZihlKS0xLCBrZXktPmUpOworICAgICBrZXktPmQgPSBCTl9iaW4y Ym4oZCwgc2l6ZW9mKGQpLTEsIGtleS0+ZCk7CisgICAgIGtleS0+cCA9IEJOX2JpbjJibihwLCBz aXplb2YocCktMSwga2V5LT5wKTsKK0BAIC0xNDUsMjAxICsxODksMzkxIEBAIHZvaWQgRklQU19j b3JydXB0X3JzYSgpCisgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X3Ric1tdID0gIk9w ZW5TU0wgRklQUyAxNDAtMiBQdWJsaWMgS2V5IFJTQSBLQVQiOworIAorIHN0YXRpYyBjb25zdCB1 bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTFbXSA9IHsKKy0gIDB4MkQsIDB4QUYsIDB4NkUs IDB4QzIsIDB4OTgsIDB4RkIsIDB4OEEsIDB4QTEsIDB4QjksIDB4NDYsIDB4REEsIDB4MEYsCist ICAweDAxLCAweDFFLCAweDM3LCAweDkzLCAweEMyLCAweDU1LCAweDI3LCAweEU0LCAweDFELCAw eEQyLCAweDkwLCAweEJCLAorLSAgMHhGNCwgMHhCRiwgMHg0QSwgMHg3NCwgMHgzOSwgMHg1MSwg MHhCQiwgMHhFOCwgMHgwQywgMHhCNywgMHhGOCwgMHhEMywKKy0gIDB4RDEsIDB4REYsIDB4RTcs IDB4QkUsIDB4ODAsIDB4MDUsIDB4QzMsIDB4QjUsIDB4QzcsIDB4ODMsIDB4RDUsIDB4NEMsCist ICAweDdGLCAweDQ5LCAweEZCLCAweDNGLCAweDI5LCAweDlCLCAweEUxLCAweDEyLCAweDUxLCAw eDYwLCAweEQwLCAweEE3LAorLSAgMHgwRCwgMHhBOSwgMHgyOCwgMHg1NiwgMHg3MywgMHhEOSwg MHgwNywgMHhFMywgMHg1RSwgMHgzRiwgMHg5QiwgMHhGNSwKKy0gIDB4QjYsIDB4RjMsIDB4RjIs IDB4NUUsIDB4NzQsIDB4QzksIDB4ODMsIDB4ODEsIDB4NDcsIDB4RjAsIDB4QzUsIDB4NDUsCist ICAweDBBLCAweEU5LCAweDhFLCAweDM4LCAweEQ3LCAweDE4LCAweEM2LCAweDJBLCAweDBGLCAw eEY4LCAweEI3LCAweDMxLAorLSAgMHhENiwgMHg1NSwgMHhFNCwgMHg2NiwgMHg3OCwgMHg4MSwg MHhENCwgMHhFNiwgMHhEQiwgMHg5RiwgMHhCQSwgMHhFOCwKKy0gIDB4MjMsIDB4QjUsIDB4N0Ys IDB4REMsIDB4MDgsIDB4RUEsIDB4RDUsIDB4MjYsIDB4MUUsIDB4MjAsIDB4MjUsIDB4ODQsCist ICAweDI2LCAweEM2LCAweDc5LCAweEM5LCAweDlCLCAweDNELCAweDdFLCAweEE5CisrIDB4QzIs IDB4ODAsIDB4ODIsIDB4NTYsIDB4RDgsIDB4QTcsIDB4QjIsIDB4OUMsIDB4RjUsIDB4RDYsIDB4 M0MsIDB4RTMsCisrIDB4QkYsIDB4RTksIDB4M0EsIDB4NTMsIDB4NDAsIDB4QUUsIDB4RjIsIDB4 QTksIDB4NkEsIDB4MzksIDB4NDksIDB4NUIsCisrIDB4MDUsIDB4N0YsIDB4NjcsIDB4MzgsIDB4 MkUsIDB4MUQsIDB4RTEsIDB4OTMsIDB4MjIsIDB4NjUsIDB4NzksIDB4ODQsCisrIDB4NjgsIDB4 RkEsIDB4RDgsIDB4QUYsIDB4QTEsIDB4OTgsIDB4NjEsIDB4NkYsIDB4NDQsIDB4MjcsIDB4QTYs IDB4OEIsCisrIDB4Q0YsIDB4MEUsIDB4MTMsIDB4QTksIDB4Q0UsIDB4RDcsIDB4NkMsIDB4RDIs IDB4MzgsIDB4QjUsIDB4MTYsIDB4QjksCisrIDB4NjYsIDB4OTQsIDB4NDgsIDB4REUsIDB4OUUs IDB4MTksIDB4M0QsIDB4NkYsIDB4QjMsIDB4QTEsIDB4OUEsIDB4MTksCisrIDB4REYsIDB4RkIs IDB4QUIsIDB4QTUsIDB4OUYsIDB4MzgsIDB4REEsIDB4QzksIDB4MjEsIDB4OEYsIDB4Q0UsIDB4 OTgsCisrIDB4MDEsIDB4M0EsIDB4QzgsIDB4RTAsIDB4REYsIDB4REEsIDB4RkMsIDB4RjAsIDB4 QTYsIDB4ODYsIDB4MjksIDB4QjUsCisrIDB4N0YsIDB4NjEsIDB4RkIsIDB4QkEsIDB4QzUsIDB4 NDksIDB4QjIsIDB4N0MsIDB4NkEsIDB4MjYsIDB4ODIsIDB4QzQsCisrIDB4OEYsIDB4QUEsIDB4 NUIsIDB4MTAsIDB4RDUsIDB4RUUsIDB4QTAsIDB4NTUsIDB4NDIsIDB4RUYsIDB4MzIsIDB4NUEs CisrIDB4M0YsIDB4NTUsIDB4QjMsIDB4MkMsIDB4MjIsIDB4RTksIDB4NjUsIDB4REEsIDB4OEQs IDB4MEEsIDB4QjksIDB4NzAsCisrIDB4NDMsIDB4Q0MsIDB4M0YsIDB4NjQsIDB4OUMsIDB4QjUs IDB4NjUsIDB4NDksIDB4QkQsIDB4N0YsIDB4MzUsIDB4QzEsCisrIDB4MjAsIDB4ODUsIDB4MjQs IDB4RkUsIDB4QUEsIDB4NkIsIDB4MzcsIDB4MDQsIDB4QTEsIDB4MEUsIDB4OUQsIDB4NUMsCisr IDB4QkEsIDB4N0YsIDB4MTQsIDB4NjksIDB4QzUsIDB4OTMsIDB4QjIsIDB4MzMsIDB4QzIsIDB4 QzAsIDB4QzcsIDB4REYsCisrIDB4N0UsIDB4OUUsIDB4QTQsIDB4QjAsIDB4QTAsIDB4NjQsIDB4 RDIsIDB4QUMsIDB4RkMsIDB4RkQsIDB4RkQsIDB4OTksCisrIDB4OEYsIDB4NkEsIDB4NDAsIDB4 MjYsIDB4QzEsIDB4MkUsIDB4NEUsIDB4OEIsIDB4MzMsIDB4QkUsIDB4RjEsIDB4NDUsCisrIDB4 NTksIDB4OEYsIDB4MzMsIDB4NDAsIDB4MUQsIDB4MkEsIDB4RDIsIDB4RjcsIDB4NTAsIDB4ODMs IDB4ODksIDB4Q0YsCisrIDB4OTQsIDB4QzYsIDB4RjgsIDB4MzYsIDB4RjAsIDB4ODQsIDB4MEIs IDB4ODUsIDB4QTUsIDB4MDIsIDB4QTksIDB4MEYsCisrIDB4NDEsIDB4N0EsIDB4NzcsIDB4QTMs IDB4MkYsIDB4NDcsIDB4MUUsIDB4MUQsIDB4RUMsIDB4RTYsIDB4RDMsIDB4MDEsCisrIDB4MUUs IDB4NkYsIDB4N0EsIDB4OTYsIDB4NTAsIDB4MzcsIDB4MzcsIDB4NEIsIDB4MjcsIDB4NTIsIDB4 MEIsIDB4REMsCisrIDB4REIsIDB4QzcsIDB4QTksIDB4MzEsIDB4QjIsIDB4NDAsIDB4RUUsIDB4 NjAsIDB4NDEsIDB4MjYsIDB4NkEsIDB4MDUsCisrIDB4Q0UsIDB4MDgsIDB4MUQsIDB4ODkKKyB9 OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNTX1NIQTIyNFtdID0g eworLSAgMHgzOSwgMHg0QSwgMHg2QSwgMHgyMCwgMHhCQywgMHhFOSwgMHgzMywgMHhFRCwgMHhF RiwgMHhDNSwgMHg1OCwgMHhBNywKKy0gIDB4RkUsIDB4ODEsIDB4QzQsIDB4MzYsIDB4NTAsIDB4 OUEsIDB4MkMsIDB4ODIsIDB4OTgsIDB4MDgsIDB4OTUsIDB4RkEsCistICAweEIxLCAweDlFLCAw eEQyLCAweDU1LCAweDYxLCAweDg3LCAweDIxLCAweDU5LCAweDg3LCAweDdCLCAweDFGLCAweDU3 LAorLSAgMHgzMCwgMHg5RCwgMHgwRCwgMHg0QSwgMHgwNiwgMHhFQiwgMHg1MiwgMHgzNywgMHg1 NSwgMHg1NCwgMHgxQywgMHg4OSwKKy0gIDB4ODMsIDB4NzUsIDB4NTksIDB4NjUsIDB4NjQsIDB4 OTAsIDB4MkUsIDB4MTYsIDB4Q0MsIDB4ODYsIDB4MDUsIDB4RUUsCistICAweEIxLCAweEU2LCAw eDdCLCAweEJBLCAweDE2LCAweDc1LCAweDBELCAweDBDLCAweDY0LCAweDBCLCAweEFCLCAweDIy LAorLSAgMHgxNSwgMHg3OCwgMHg2QiwgMHg2RiwgMHhBNCwgMHhGQiwgMHg3NywgMHg0MCwgMHg2 NCwgMHg2MiwgMHhEMSwgMHhCNSwKKy0gIDB4MzcsIDB4MUUsIDB4RTAsIDB4M0QsIDB4QTgsIDB4 RjksIDB4RDIsIDB4QkQsIDB4QUEsIDB4MzgsIDB4MjQsIDB4NDksCistICAweDU4LCAweEQyLCAw eDc0LCAweDg1LCAweEY0LCAweEI1LCAweDkzLCAweDhFLCAweEY1LCAweDAzLCAweEVBLCAweDJE LAorLSAgMHhDOCwgMHg1MiwgMHhGQSwgMHhDRiwgMHg3RSwgMHgzNSwgMHhCMCwgMHg2QSwgMHhB RiwgMHg5NSwgMHhDMCwgMHgwMCwKKy0gIDB4NTQsIDB4NzYsIDB4M0QsIDB4MEMsIDB4OUMsIDB4 QjIsIDB4RUUsIDB4QzAKKysgMHhCNCwgMHgwMSwgMHg5MywgMHgxNiwgMHgwNSwgMHhGNiwgMHhF QiwgMHhFMiwgMHhBNCwgMHhFQiwgMHg0OCwgMHhBQSwKKysgMHgwMCwgMHhGNCwgMHhBMSwgMHg5 OSwgMHgwQSwgMHhCNCwgMHhCNiwgMHg2MywgMHhFOSwgMHg2OCwgMHhDQSwgMHhCMywKKysgMHgx MywgMHhENywgMHg2NiwgMHg2QSwgMHhDRCwgMHhDQiwgMHgzMywgMHg5RiwgMHhFNSwgMHg4NCwg MHhFMiwgMHhDMywKKysgMHgwQiwgMHg1MywgMHhFNSwgMHg4QiwgMHg5NiwgMHg0QiwgMHhEQiwg MHgyRCwgMHg4MCwgMHhBNCwgMHgxRCwgMHhFMywKKysgMHg4MSwgMHhEQywgMHg1MiwgMHg5OSwg MHhCQSwgMHg5QiwgMHg2QSwgMHg5RCwgMHg0OCwgMHgxRiwgMHg3MywgMHhGNywKKysgMHhBQywg MHgwOSwgMHgxMywgMHhBMSwgMHgxNiwgMHgyQywgMHg2MCwgMHhGQiwgMHhCQywgMHgyNSwgMHhG NywgMHg1MywKKysgMHhEMSwgMHgwNCwgMHg1QSwgMHgzRiwgMHg5NSwgMHgwOSwgMHg1RSwgMHhF NSwgMHhBMiwgMHg3RCwgMHhGQywgMHgyQSwKKysgMHg1MSwgMHgxRCwgMHgyMSwgMHhDRSwgMHgy QiwgMHg0RSwgMHgxQiwgMHhCOCwgMHhDQiwgMHhERCwgMHgyNCwgMHhFRSwKKysgMHg5OSwgMHgx RCwgMHgzNywgMHhEQywgMHhFRCwgMHg1RiwgMHgyRiwgMHg0OCwgMHg1RSwgMHgzMywgMHg5NCwg MHgwNiwKKysgMHgxOSwgMHhDRCwgMHg1QSwgMHgyNiwgMHg4NSwgMHg3NywgMHg5RCwgMHhBRiwg MHg4NiwgMHg5NywgMHhDOSwgMHgwOCwKKysgMHhENSwgMHg4MSwgMHgwRSwgMHhCOCwgMHg5Riwg MHhCNiwgMHhBRiwgMHgyMCwgMHg3MiwgMHhEQywgMHgxMywgMHg0RCwKKysgMHg3QSwgMHhFNCwg MHg1QywgMHg4MSwgMHhERSwgMHhDMCwgMHgzRCwgMHgxOSwgMHg5QywgMHgzMywgMHgxMSwgMHgw NywKKysgMHhENSwgMHhBOSwgMHg1MSwgMHg2NywgMHhDRCwgMHhGRCwgMHgzNywgMHg2MSwgMHgx NCwgMHg5RiwgMHhFNywgMHg3MCwKKysgMHgxOCwgMHgzMiwgMHhDMywgMHgzNCwgMHg1NCwgMHgw RCwgMHg0RiwgMHhCNCwgMHhBRSwgMHg5RiwgMHhFQywgMHg2NCwKKysgMHhEOCwgMHhCMiwgMHgx NiwgMHhBNCwgMHhCMiwgMHg5OSwgMHg5MiwgMHhDQiwgMHg3RiwgMHgxRiwgMHgwNiwgMHgxNywK KysgMHg1RiwgMHhBMSwgMHgwNywgMHg2OCwgMHhBRSwgMHhBNywgMHgyRCwgMHgwMywgMHg5MSwg MHgyQSwgMHg5RCwgMHg2OSwKKysgMHhDMiwgMHg5RCwgMHg5MCwgMHhGNywgMHhGOSwgMHg2Niwg MHg1RCwgMHgxMywgMHhCNywgMHg3RiwgMHhEMywgMHg5NywKKysgMHg0NSwgMHg5NywgMHg0Mywg MHhEOCwgMHhDRSwgMHgzQywgMHhGMiwgMHg5OCwgMHg5OCwgMHhERCwgMHhFMiwgMHgyRCwKKysg MHhDRiwgMHhBMSwgMHhDNCwgMHgyNSwgMHg0NiwgMHgyRSwgMHhEMiwgMHhFNSwgMHg1RiwgMHhD NiwgMHgwMSwgMHhDNSwKKysgMHg0RiwgMHg0MiwgMHgyQiwgMHhERSwgMHgwRiwgMHhFQSwgMHg0 QSwgMHg0RiwgMHhDMywgMHg1QiwgMHhERiwgMHg5QiwKKysgMHg1RCwgMHgzMCwgMHgxOCwgMHg5 MywgMHhEMCwgMHhERSwgMHhDNSwgMHgwOSwgMHhBQSwgMHg1NywgMHg1NywgMHhCRCwKKysgMHgy RCwgMHg4NCwgMHgwMywgMHhCNworIH07CisgCisgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg a2F0X1JTQV9QU1NfU0hBMjU2W10gPSB7CistICAweDZELCAweDNELCAweEJFLCAweDhGLCAweDYw LCAweDZELCAweDI1LCAweDE0LCAweEYwLCAweDMxLCAweEUzLCAweDg5LAorLSAgMHgwMCwgMHg5 NywgMHhGQSwgMHg5OSwgMHg3MSwgMHgyOCwgMHhFNSwgMHgxMCwgMHgyNSwgMHg5QSwgMHhGMywg MHg4RiwKKy0gIDB4N0IsIDB4QzUsIDB4QTgsIDB4NEEsIDB4NzQsIDB4NTEsIDB4MzYsIDB4RTIs IDB4OEQsIDB4N0QsIDB4NzMsIDB4MjgsCistICAweEMxLCAweDc3LCAweEM2LCAweDI3LCAweDk3 LCAweDAwLCAweDhCLCAweDAwLCAweEEzLCAweDk2LCAweDczLCAweDRFLAorLSAgMHg3RCwgMHgy RSwgMHgyQywgMHgzNCwgMHg2OCwgMHg4QywgMHg4RSwgMHhERiwgMHg5RCwgMHg0OSwgMHg0Nywg MHgwNSwKKy0gIDB4QUIsIDB4RjUsIDB4MDEsIDB4RDYsIDB4ODEsIDB4NDcsIDB4NzAsIDB4RjUs IDB4MUQsIDB4NkQsIDB4MjYsIDB4QkEsCistICAweDJGLCAweDdBLCAweDU0LCAweDUzLCAweDRF LCAweEVELCAweDcxLCAweEQ5LCAweDVBLCAweEYzLCAweERBLCAweEI2LAorLSAgMHgwQiwgMHg0 NywgMHgzNCwgMHhBRiwgMHg5MCwgMHhEQywgMHhDOCwgMHhEOSwgMHg2RiwgMHg1NiwgMHhDRCwg MHg5RiwKKy0gIDB4MjEsIDB4QjcsIDB4N0UsIDB4QUQsIDB4N0MsIDB4MkYsIDB4NzUsIDB4NTAs IDB4NDcsIDB4MTIsIDB4RTQsIDB4NkQsCistICAweDVGLCAweEI3LCAweDAxLCAweERGLCAweEMz LCAweDExLCAweDZDLCAweEE5LCAweDlFLCAweDQ5LCAweEI5LCAweEY2LAorLSAgMHg3MiwgMHhG NCwgMHhGNiwgMHhFRiwgMHg4OCwgMHgxRSwgMHgyRCwgMHgxQworKyAweDM4LCAweERBLCAweDk5 LCAweDUxLCAweDI2LCAweDM4LCAweEM2LCAweDdGLCAweEM0LCAweDgxLCAweDU3LCAweDE5LAor KyAweDM1LCAweEM2LCAweEY2LCAweDFFLCAweDkwLCAweDQ3LCAweDIwLCAweDU1LCAweDQ3LCAw eDU2LCAweDI2LCAweEU5LAorKyAweEYyLCAweEE4LCAweDM5LCAweDZDLCAweEQ1LCAweENELCAw eENCLCAweDU1LCAweEZDLCAweDBDLCAweEM1LCAweENCLAorKyAweEY3LCAweDQwLCAweDE3LCAw eDNCLCAweENGLCAweEU0LCAweDA1LCAweDAzLCAweDNCLCAweEEwLCAweEIyLCAweEM5LAorKyAw eDBELCAweDVFLCAweDQ4LCAweDNBLCAweEU5LCAweEFELCAweDI4LCAweDcxLCAweDdELCAweDhG LCAweDg5LCAweDE2LAorKyAweDU5LCAweDkzLCAweDM1LCAweERDLCAweDRELCAweDdCLCAweERG LCAweDg0LCAweEU0LCAweDY4LCAweEFBLCAweDMzLAorKyAweEFBLCAweERDLCAweDY2LCAweDUw LCAweEM4LCAweEE5LCAweDMyLCAweDEyLCAweERDLCAweEM2LCAweDkwLCAweDQ5LAorKyAweDBC LCAweDc1LCAweEZGLCAweDlCLCAweDk1LCAweDAwLCAweDlBLCAweDkwLCAweEUwLCAweEQ0LCAw eDBFLCAweDY3LAorKyAweEFCLCAweDNDLCAweDQ3LCAweDM2LCAweEM1LCAweDJFLCAweDFDLCAw eDQ2LCAweEYwLCAweDJELCAweEQzLCAweDhCLAorKyAweDQyLCAweDA4LCAweERFLCAweDBELCAw eEI2LCAweDJDLCAweDg2LCAweEIwLCAweDM1LCAweDcxLCAweDE4LCAweDZCLAorKyAweDg5LCAw eDY3LCAweEMwLCAweDA1LCAweEFELCAweEY0LCAweDFELCAweDYyLCAweDRFLCAweDc1LCAweEVD LCAweEQ2LAorKyAweEMyLCAweERCLCAweDA3LCAweEIwLCAweEI2LCAweDhELCAweDE1LCAweEFE LCAweENELCAweEJGLCAweEY1LCAweDYwLAorKyAweDc2LCAweEFFLCAweDQ4LCAweEI4LCAweDc3 LCAweDdGLCAweEM1LCAweDAxLCAweEQ5LCAweDI5LCAweEJCLCAweEQ2LAorKyAweDE3LCAweEEy LCAweDIwLCAweDVBLCAweEMwLCAweDRBLCAweDNCLCAweDM0LCAweEM4LCAweEI5LCAweDM5LCAw eENGLAorKyAweDA2LCAweDg5LCAweDk1LCAweDZGLCAweEM3LCAweENBLCAweEM0LCAweEU0LCAw eDQzLCAweERGLCAweDVBLCAweDIzLAorKyAweEUyLCAweDg5LCAweEEzLCAweDM4LCAweDc4LCAw eDMxLCAweDM4LCAweEM2LCAweEE0LCAweDZGLCAweDVGLCAweDczLAorKyAweDVBLCAweEU1LCAw eDlFLCAweDA5LCAweEU3LCAweDZGLCAweEQ0LCAweEY4LCAweDNFLCAweEI3LCAweEIwLCAweDU2 LAorKyAweDlBLCAweEYzLCAweDY1LCAweEYwLCAweEMyLCAweEE2LCAweDhBLCAweDA4LCAweEJB LCAweDQ0LCAweEFDLCAweDk3LAorKyAweERFLCAweEI0LCAweDE2LCAweDgzLCAweERGLCAweEUz LCAweEVFLCAweDcxLCAweEZBLCAweEY5LCAweDUxLCAweDUwLAorKyAweDE0LCAweERDLCAweEZE LCAweDZBLCAweDgyLCAweDIwLCAweDY4LCAweDY0LCAweDdELCAweDRFLCAweDgyLCAweDY4LAor KyAweEQ3LCAweDQ1LCAweEZBLCAweDZBLCAweEU0LCAweEU1LCAweDI5LCAweDNBLCAweDcwLCAw eEZCLCAweEU0LCAweDYyLAorKyAweDJCLCAweDMxLCAweEI5LCAweDdECisgfTsKKyAKKyBzdGF0 aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1BTU19TSEEzODRbXSA9IHsKKy0gIDB4NDAs IDB4RkIsIDB4QTEsIDB4MjEsIDB4RjQsIDB4QjIsIDB4NDAsIDB4OUEsIDB4QjQsIDB4MzEsIDB4 QTgsIDB4RjIsCistICAweEVDLCAweDFDLCAweEM0LCAweEM4LCAweDdDLCAweDIyLCAweDY1LCAw eDlDLCAweDU3LCAweDQ1LCAweENELCAweDVFLAorLSAgMHg4NiwgMHgwMCwgMHhGNywgMHgyNSwg MHg3OCwgMHhERSwgMHhEQywgMHg3QSwgMHg3MSwgMHg0NCwgMHg5QSwgMHhDRCwKKy0gIDB4QUEs IDB4MjUsIDB4RjQsIDB4QjIsIDB4RkMsIDB4RjAsIDB4NzUsIDB4RDksIDB4MkYsIDB4NzgsIDB4 MjMsIDB4N0YsCistICAweDZGLCAweDAyLCAweEVGLCAweEMxLCAweEFGLCAweEE2LCAweDI4LCAw eDE2LCAweDMxLCAweERDLCAweDQyLCAweDZDLAorLSAgMHhCMiwgMHg0NCwgMHhFNSwgMHg0RCwg MHg2NiwgMHhBMiwgMHhFNiwgMHg3MSwgMHhGMywgMHhBQywgMHg0RiwgMHhGQiwKKy0gIDB4OTEs IDB4Q0EsIDB4RjUsIDB4NzAsIDB4RUYsIDB4NkIsIDB4OUQsIDB4QTQsIDB4RUYsIDB4RDksIDB4 M0QsIDB4MkYsCistICAweDNBLCAweEJFLCAweDg5LCAweDM4LCAweDU5LCAweDAxLCAweEJBLCAw eERBLCAweDMyLCAweEFELCAweDQyLCAweDg5LAorLSAgMHg5OCwgMHg4QiwgMHgzOSwgMHg0NCwg MHhGMCwgMHhGQywgMHgzOCwgMHhBQywgMHg4NywgMHgxRiwgMHhDQSwgMHg2RiwKKy0gIDB4NDgs IDB4RjYsIDB4QUUsIDB4RDcsIDB4NDUsIDB4RUUsIDB4QUUsIDB4ODgsIDB4MEUsIDB4NjAsIDB4 RjQsIDB4NTUsCistICAweDQ4LCAweDQ0LCAweEVFLCAweDFGLCAweDkwLCAweDE4LCAweDRCLCAw eEYxCisrIDB4OTksIDB4MDIsIDB4QzksIDB4MUUsIDB4MzEsIDB4ODIsIDB4QjQsIDB4RTYsIDB4 MUIsIDB4MzIsIDB4Q0UsIDB4NUQsCisrIDB4NDEsIDB4MUQsIDB4MDAsIDB4MkYsIDB4MDQsIDB4 OEIsIDB4QkQsIDB4MzcsIDB4NzksIDB4Q0YsIDB4NzcsIDB4MDMsCisrIDB4MDUsIDB4NkEsIDB4 MjEsIDB4QzcsIDB4OEQsIDB4MjQsIDB4NjAsIDB4NDksIDB4MzksIDB4NTgsIDB4QzUsIDB4Mjcs CisrIDB4OEYsIDB4QzUsIDB4OTcsIDB4NEEsIDB4QjIsIDB4RTEsIDB4RDQsIDB4MzYsIDB4NTcs IDB4QkQsIDB4NDMsIDB4Q0MsCisrIDB4N0IsIDB4Q0UsIDB4RjIsIDB4QTUsIDB4MzAsIDB4Rjgs IDB4NzIsIDB4MTQsIDB4QkIsIDB4RDAsIDB4OUYsIDB4QzEsCisrIDB4NDksIDB4QzgsIDB4MUMs IDB4QUYsIDB4Q0QsIDB4OTUsIDB4NzgsIDB4NzIsIDB4MjUsIDB4RjksIDB4NDUsIDB4QzYsCisr IDB4NUIsIDB4NjIsIDB4NUUsIDB4MDEsIDB4RDcsIDB4NDAsIDB4NUUsIDB4QzgsIDB4Q0EsIDB4 MEEsIDB4RjMsIDB4QkEsCisrIDB4MDgsIDB4MDcsIDB4ODgsIDB4Q0EsIDB4NDksIDB4MzYsIDB4 ODQsIDB4N0QsIDB4RjYsIDB4RkMsIDB4NUEsIDB4REIsCisrIDB4RkMsIDB4NTAsIDB4RDMsIDB4 RUIsIDB4M0QsIDB4ODMsIDB4QjAsIDB4RjUsIDB4OTQsIDB4NUUsIDB4ODgsIDB4QzMsCisrIDB4 ODIsIDB4Q0QsIDB4NTMsIDB4NDAsIDB4OTYsIDB4MTgsIDB4NkIsIDB4NEEsIDB4NkMsIDB4OUMs IDB4RkUsIDB4RTUsCisrIDB4M0IsIDB4NzUsIDB4RjksIDB4RUIsIDB4QTUsIDB4NzcsIDB4MTEs IDB4RUYsIDB4ODgsIDB4MUMsIDB4MjUsIDB4NzAsCisrIDB4N0QsIDB4ODgsIDB4NUQsIDB4QzMs IDB4Q0EsIDB4RTEsIDB4NDksIDB4MTQsIDB4OTAsIDB4QUQsIDB4RjIsIDB4NUUsCisrIDB4NDks IDB4RDcsIDB4OTksIDB4QTUsIDB4N0IsIDB4NzcsIDB4M0IsIDB4OEUsIDB4QjgsIDB4REIsIDB4 RjEsIDB4NEMsCisrIDB4RDYsIDB4OUEsIDB4REMsIDB4RTUsIDB4N0EsIDB4MUMsIDB4RTEsIDB4 Q0UsIDB4OUQsIDB4RjEsIDB4RjMsIDB4QTAsCisrIDB4MEEsIDB4MzUsIDB4NTIsIDB4OUQsIDB4 QjksIDB4NDYsIDB4OTQsIDB4ODIsIDB4MEYsIDB4RjcsIDB4QjIsIDB4NjIsCisrIDB4NTEsIDB4 NzAsIDB4NzUsIDB4RDIsIDB4MzcsIDB4OTYsIDB4NjcsIDB4MkYsIDB4RDAsIDB4MjIsIDB4RDgs IDB4MDcsCisrIDB4OEQsIDB4NjksIDB4OUUsIDB4NkQsIDB4MEIsIDB4NDAsIDB4NEYsIDB4NzAs IDB4RUMsIDB4MEIsIDB4Q0EsIDB4ODgsCisrIDB4ODAsIDB4OEQsIDB4OUEsIDB4RjQsIDB4Rjks IDB4MTgsIDB4NTAsIDB4MjcsIDB4MDgsIDB4RkEsIDB4Q0MsIDB4QzcsCisrIDB4M0YsIDB4RTQs IDB4ODQsIDB4ODMsIDB4QTEsIDB4QjYsIDB4MUQsIDB4MjMsIDB4MzQsIDB4RkUsIDB4NDgsIDB4 RTUsCisrIDB4RTMsIDB4QUUsIDB4NEQsIDB4OTgsIDB4QkMsIDB4QTYsIDB4OEEsIDB4OUYsIDB4 RkQsIDB4NEQsIDB4REIsIDB4OUQsCisrIDB4RjcsIDB4RUIsIDB4NEUsIDB4QjYsIDB4NkYsIDB4 MjUsIDB4RUEsIDB4N0EsIDB4RTksIDB4ODUsIDB4QjIsIDB4RUYsCisrIDB4OTAsIDB4RDIsIDB4 QTYsIDB4MkIKKyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfUFNT X1NIQTUxMltdID0geworLSAgMHgwNywgMHgxRSwgMHhEOCwgMHhENSwgMHgwNSwgMHhFOCwgMHhF NiwgMHhFNiwgMHg1NywgMHhBRSwgMHg2MywgMHg4QywKKy0gIDB4QzYsIDB4ODMsIDB4QjcsIDB4 QTAsIDB4NTksIDB4QkIsIDB4RjIsIDB4QzYsIDB4OEYsIDB4MTIsIDB4NTMsIDB4OUEsCistICAw eDlCLCAweDU0LCAweDlFLCAweEIzLCAweEMxLCAweDFELCAweDIzLCAweDRELCAweDUxLCAweEVE LCAweDlFLCAweERELAorLSAgMHg0QiwgMHhGMywgMHg0NiwgMHg5QiwgMHg2QiwgMHhGNiwgMHg3 QywgMHgyNCwgMHg2MCwgMHg3OSwgMHgyMywgMHgzOSwKKy0gIDB4MDEsIDB4MUMsIDB4NTEsIDB4 Q0IsIDB4RDgsIDB4RTksIDB4OUEsIDB4MDEsIDB4NjcsIDB4NUYsIDB4RkUsIDB4RDcsCistICAw eDdDLCAweEUzLCAweDdGLCAweEVELCAweERCLCAweDg3LCAweEJCLCAweEYwLCAweDNELCAweDc4 LCAweDU1LCAweDYxLAorLSAgMHg1NywgMHhFMywgMHgwRiwgMHhFMywgMHhEMiwgMHg5RCwgMHgw QywgMHgyQSwgMHgyMCwgMHhCMCwgMHg4NSwgMHgxMywKKy0gIDB4QzUsIDB4NDcsIDB4MzQsIDB4 MEQsIDB4MzIsIDB4MTUsIDB4QzgsIDB4QUUsIDB4OUEsIDB4NkEsIDB4MzksIDB4NjMsCistICAw eDJELCAweDYwLCAweEY1LCAweDRDLCAweERGLCAweDhBLCAweDQ4LCAweDRCLCAweEJGLCAweEY0 LCAweEE4LCAweEZFLAorLSAgMHg3NiwgMHhGMiwgMHgzMiwgMHgxQiwgMHg5QywgMHg3QywgMHhD QSwgMHhGRSwgMHg3RiwgMHg4MCwgMHhDMiwgMHg4OCwKKy0gIDB4NUMsIDB4OTcsIDB4NzAsIDB4 QjQsIDB4MjYsIDB4QzksIDB4MTQsIDB4OEIKKysgMHgzRiwgMHg4MywgMHg0MywgMHg3OCwgMHgy NSwgMHhCRSwgMHg4MSwgMHhCMiwgMHg2RSwgMHg3OCwgMHgxMSwgMHgzMiwKKysgMHhEMCwgMHg4 OCwgMHgwNSwgMHg1MywgMHg5NSwgMHhFRCwgMHg4MSwgMHgxMiwgMHhDRSwgMHg1MCwgMHhEOSwg MHgwNiwKKysgMHg0MiwgMHg4OSwgMHhBMCwgMHg1NSwgMHg3QSwgMHgwNSwgMHgxMywgMHg5NCwg MHgzNSwgMHg5QiwgMHhDQSwgMHg1RCwKKysgMHhDQiwgMHhCMiwgMHgzMiwgMHhFMSwgMHgwNCwg MHg5OSwgMHhFQywgMHhFNywgMHhBNiwgMHg2OSwgMHg0RCwgMHgyQiwKKysgMHhDMSwgMHg1Nywg MHgxMywgMHg0OCwgMHgwRCwgMHg2QiwgMHg0RCwgMHg4MywgMHgyOCwgMHgwNiwgMHg3OSwgMHg5 RCwKKysgMHhCNCwgMHg3MCwgMHhDRSwgMHhDMCwgMHhGQywgMHgzQiwgMHg2OSwgMHhCMywgMHg5 MSwgMHg1NCwgMHhBOSwgMHg0NCwKKysgMHgyRSwgMHhEQSwgMHg0QSwgMHhDNSwgMHhDMiwgMHg5 OSwgMHhGMCwgMHhERSwgMHhDQSwgMHg3NywgMHg5OSwgMHg2QiwKKysgMHgwQywgMHg3OSwgMHhF NSwgMHgyOSwgMHg3NCwgMHg4MywgMHg2OSwgMHhFQSwgMHhCOCwgMHg3MiwgMHgzMCwgMHgzRCwK KysgMHg3QSwgMHgzMCwgMHhFMSwgMHgwMywgMHg3QiwgMHgwOSwgMHhFNiwgMHgxMSwgMHhDMCwg MHhEQywgMHhGRiwgMHhGRCwKKysgMHhCRCwgMHhFQywgMHg5QywgMHhDQywgMHg0NiwgMHg3Qiwg MHg0QywgMHg0QywgMHg1OSwgMHhCRSwgMHg4MiwgMHg3QywKKysgMHhGNSwgMHg2MCwgMHg1QSwg MHhDMywgMHhFOCwgMHhBOCwgMHg4QSwgMHgzOCwgMHg5RSwgMHgwMSwgMHg1NywgMHhGMSwKKysg MHg3OSwgMHgzQSwgMHg3QywgMHhBMywgMHg5RiwgMHgxMiwgMHgxQSwgMHg0RiwgMHgyRSwgMHhB MiwgMHhFNSwgMHgwQSwKKysgMHhBQiwgMHhDMCwgMHhGNCwgMHhBNSwgMHhFMywgMHg1RiwgMHg4 OSwgMHgxQywgMHg4RiwgMHhBNCwgMHg1RSwgMHhDRSwKKysgMHgwRCwgMHg5MSwgMHgwNSwgMHgx QiwgMHgxNywgMHg2MiwgMHg0OCwgMHhGRSwgMHhBNSwgMHg0QywgMHhFRiwgMHgyRCwKKysgMHgy OCwgMHhGMSwgMHg1RSwgMHhFNiwgMHhEMSwgMHgzMCwgMHg4OSwgMHgwQSwgMHhBRCwgMHgxOCwg MHhBRiwgMHg2RiwKKysgMHgwNCwgMHgwOSwgMHgzNiwgMHg5QSwgMHhGRiwgMHhDQSwgMHhBMSwg MHhBNywgMHgwNSwgMHg3RiwgMHhENCwgMHhCRiwKKysgMHgzQSwgMHhCNSwgMHg0MiwgMHg2RCwg MHhFOSwgMHgwNywgMHgyOSwgMHg2NSwgMHg4QiwgMHhBRCwgMHg0RCwgMHgwRiwKKysgMHgyMiwg MHhFMSwgMHg1OSwgMHg0MywgMHg2OCwgMHg4NywgMHhBOCwgMHg4QiwgMHhCQywgMHg2OSwgMHhB MSwgMHg5NCwKKysgMHgyMiwgMHgzRSwgMHg4QSwgMHg0OSwgMHhFOCwgMHhBMywgMHg2RiwgMHhD MiwgMHg5MywgMHg1OCwgMHhFNywgMHhBRSwKKysgMHhDOSwgMHgxRiwgMHhDRiwgMHg2MSwgMHg5 MywgMHhGQywgMHhDMSwgMHhGNiwgMHhGMywgMHgyNywgMHg3RiwgMHgwQSwKKysgMHg5MCwgMHhF MCwgMHg2NSwgMHgzMiwgMHg1NywgMHg0NywgMHhFMiwgMHhFRCwgMHgwOCwgMHg1OSwgMHhBNiwg MHhGMCwKKysgMHgxNywgMHgyQywgMHgxMywgMHhFMAorIH07CisgCisgc3RhdGljIGNvbnN0IHVu c2lnbmVkIGNoYXIga2F0X1JTQV9TSEExW10gPSB7CistICAweDcxLCAweEVFLCAweDFBLCAweEMw LCAweEZFLCAweDAxLCAweDkzLCAweDU0LCAweDc5LCAweDVDLCAweEYyLCAweDRDLAorLSAgMHg0 QSwgMHhGRCwgMHgxQSwgMHgwNSwgMHg4RiwgMHg2NCwgMHhCMSwgMHg2RCwgMHg2MSwgMHgzMywg MHg4RCwgMHg5QiwKKy0gIDB4RTcsIDB4RkQsIDB4NjAsIDB4QTMsIDB4ODMsIDB4QjUsIDB4QTMs IDB4NTEsIDB4NTUsIDB4NzcsIDB4OTAsIDB4Q0YsCistICAweERDLCAweDIyLCAweDM3LCAweDhF LCAweEQwLCAweEUxLCAweEFFLCAweDA5LCAweEUzLCAweDNELCAweDFFLCAweEY4LAorLSAgMHg4 MCwgMHhEMSwgMHg4QiwgMHhDMiwgMHhFQywgMHgwQSwgMHhENywgMHg2QiwgMHg4OCwgMHg4Qiwg MHg4QiwgMHhBMSwKKy0gIDB4MjAsIDB4MjIsIDB4QkUsIDB4NTksIDB4NUIsIDB4RTAsIDB4MjMs IDB4MjQsIDB4QTEsIDB4NDksIDB4MzAsIDB4QkEsCistICAweEE5LCAweDlFLCAweEU4LCAweEIx LCAweDhBLCAweDYyLCAweDE2LCAweEJGLCAweDRFLCAweENBLCAweDJFLCAweDRFLAorLSAgMHhC QywgMHgyOSwgMHhBOCwgMHg2NywgMHgxMywgMHhCNywgMHg5RiwgMHgxRCwgMHgwNCwgMHg0NCwg MHhFNSwgMHg1RiwKKy0gIDB4MzUsIDB4MDcsIDB4MTEsIDB4QkMsIDB4RUQsIDB4MTksIDB4Mzcs IDB4MjEsIDB4Q0YsIDB4MjMsIDB4NDgsIDB4MUYsCistICAweDcyLCAweDA1LCAweERFLCAweEU2 LCAweEU4LCAweDdGLCAweDMzLCAweDhBLCAweDc2LCAweDRCLCAweDJGLCAweDk1LAorLSAgMHhE RiwgMHhGMSwgMHg1RiwgMHg4NCwgMHg4MCwgMHhEOSwgMHg0NiwgMHhCNAorKyAweDNCLCAweDYw LCAweDRCLCAweEZDLCAweDU0LCAweDI4LCAweDIzLCAweEU2LCAweDJGLCAweDA1LCAweDA0LCAw eEJBLAorKyAweDlELCAweEU0LCAweDNDLCAweEI4LCAweDVCLCAweDYwLCAweDVDLCAweENELCAw eDlELCAweEVBLCAweEMzLCAweDRDLAorKyAweEMyLCAweDMzLCAweEU2LCAweEM2LCAweDIxLCAw eDQ4LCAweDc2LCAweEVDLCAweEIyLCAweEY1LCAweDExLCAweERFLAorKyAweDQ0LCAweEI0LCAw eEFGLCAweDE2LCAweDExLCAweEMzLCAweDE4LCAweDE2LCAweEIzLCAweDY5LCAweEJCLCAweDk0 LAorKyAweEVELCAweEU4LCAweEIzLCAweDlFLCAweEIxLCAweDQzLCAweDhFLCAweENFLCAweEI0 LCAweDM0LCAweDlCLCAweDA4LAorKyAweDIyLCAweEFGLCAweDMxLCAweDczLCAweEI1LCAweEZB LCAweDExLCAweDdFLCAweDhGLCAweDEzLCAweDUyLCAweEVDLAorKyAweEM5LCAweDAzLCAweEVF LCAweDBELCAweDJCLCAweDkxLCAweDMyLCAweEYyLCAweDhFLCAweERGLCAweDAyLCAweEUwLAor KyAweDBBLCAweDQ3LCAweEQyLCAweDBBLCAweDUxLCAweDAwLCAweDFBLCAweDMwLCAweDZGLCAw eDBDLCAweEIzLCAweDU0LAorKyAweDY0LCAweDIwLCAweDkwLCAweDBDLCAweDAxLCAweEJFLCAw eEMwLCAweDQyLCAweDhDLCAweDVELCAweDE4LCAweDZGLAorKyAweDMyLCAweDc1LCAweDQ1LCAw eDdCLCAweDFDLCAweDA0LCAweEEyLCAweDlGLCAweDg0LCAweEQ3LCAweEY1LCAweDNBLAorKyAw eDk1LCAweEQ0LCAweEU4LCAweDhELCAweEVDLCAweDk5LCAweEVGLCAweDE4LCAweDVFLCAweDY0 LCAweEQzLCAweEFGLAorKyAweEY4LCAweEQ0LCAweEZGLCAweDNDLCAweDg3LCAweEEwLCAweDNG LCAweEM3LCAweDIyLCAweDA1LCAweEZELCAweEZELAorKyAweDI5LCAweDhBLCAweDI4LCAweERB LCAweEE5LCAweDhBLCAweDhCLCAweDIzLCAweDYyLCAweDlELCAweDQyLCAweEI4LAorKyAweDRB LCAweDc2LCAweDBELCAweDlGLCAweDlBLCAweEUwLCAweEU2LCAweERELCAweEFELCAweDVFLCAw eDVGLCAweEQ1LAorKyAweDMyLCAweEU5LCAweDRCLCAweDk3LCAweDdELCAweDYyLCAweDBBLCAw eEIzLCAweEJFLCAweEYyLCAweDhDLCAweDFGLAorKyAweDJCLCAweDIyLCAweDA2LCAweDE1LCAw eDMzLCAweDcxLCAweEVELCAweDlCLCAweEEwLCAweDgyLCAweENFLCAweEJGLAorKyAweDNCLCAw eDA4LCAweDVGLCAweEE3LCAweDIwLCAweDk0LCAweDA5LCAweEVCLCAweDgyLCAweEE1LCAweDQx LCAweDYwLAorKyAweEYxLCAweDA4LCAweEVCLCAweDhELCAweENDLCAweDhELCAweEM5LCAweDUy LCAweDBBLCAweEFGLCAweEY0LCAweEY5LAorKyAweDlGLCAweDgyLCAweEQ4LCAweDBCLCAweDc1 LCAweDVFLCAweEU0LCAweEFGLCAweDY1LCAweDk2LCAweEFGLCAweEZDLAorKyAweDMzLCAweEJG LCAweDlGLCAweDNFLCAweEE0LCAweDdCLCAweDg2LCAweEM3LCAweEY3LCAweDQ3LCAweEFCLCAw eDM3LAorKyAweDA1LCAweEQ2LCAweDBELCAweDMxLCAweDcyLCAweDhDLCAweDgwLCAweDFFLCAw eEE5LCAweDU0LCAweEZDLCAweERGLAorKyAweDI3LCAweDkwLCAweEUyLCAweDAxCisgfTsKKyAK KyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1NIQTIyNFtdID0geworLSAgMHg2 MiwgMHhBQSwgMHg3OSwgMHhBOSwgMHgxOCwgMHgwRSwgMHg1RiwgMHg4QywgMHhCQiwgMHhCNywg MHgxNSwgMHhGOSwKKy0gIDB4MjUsIDB4QkIsIDB4RkEsIDB4RDQsIDB4M0EsIDB4MzQsIDB4RUQs IDB4OUUsIDB4QTAsIDB4QTksIDB4MTgsIDB4OEQsCistICAweDVCLCAweDU1LCAweDlBLCAweDdF LCAweDFFLCAweDA4LCAweDA4LCAweDYwLCAweEM1LCAweDFBLCAweEM1LCAweDg5LAorLSAgMHgw OCwgMHhFMiwgMHgxQiwgMHhCRCwgMHg2MiwgMHg1MCwgMHgxNywgMHg3NiwgMHgzMCwgMHgyQywg MHg5RSwgMHhDRCwKKy0gIDB4QTQsIDB4MDIsIDB4QUQsIDB4QjEsIDB4NkQsIDB4NDQsIDB4NkQs IDB4RDUsIDB4QzYsIDB4NDUsIDB4NDEsIDB4RTUsCistICAweEVFLCAweDFGLCAweDhELCAweDdF LCAweDA4LCAweDE2LCAweEE2LCAweEUxLCAweDVFLCAweDBCLCAweEE5LCAweENDLAorLSAgMHhE QiwgMHg1OSwgMHg1NSwgMHg4NywgMHgwOSwgMHgyNSwgMHg3MCwgMHg4NiwgMHg4NCwgMHgwMiwg MHhDNiwgMHgzQiwKKy0gIDB4MEIsIDB4NDQsIDB4NEMsIDB4NDYsIDB4OTUsIDB4RjQsIDB4Rjgs IDB4NUEsIDB4OTEsIDB4MjgsIDB4M0UsIDB4QjIsCistICAweDU4LCAweDJFLCAweDA2LCAweDQ1 LCAweDQ5LCAweEUwLCAweDkyLCAweEUyLCAweEMwLCAweDY2LCAweEU2LCAweDM1LAorLSAgMHhE OSwgMHg3OSwgMHg3RiwgMHgxNywgMHg1RSwgMHgwMiwgMHg3MywgMHgwNCwgMHg3NywgMHg4Miwg MHhFNiwgMHhEQywKKy0gIDB4NDAsIDB4MjEsIDB4ODksIDB4OEIsIDB4MzcsIDB4M0UsIDB4MUUs IDB4OEQKKysgMHhBMiwgMHhEOCwgMHg0MiwgMHg1MywgMHhERCwgMHhCRiwgMHgxRiwgMHg2Qiwg MHgwNywgMHhFMCwgMHg2MCwgMHg4NiwKKysgMHg1QSwgMHg2MCwgMHgwNiwgMHg4RiwgMHg0NCwg MHhEOSwgMHhCMCwgMHg0QSwgMHhBQSwgMHg5MCwgMHg3MSwgMHhCOCwKKysgMHhCMiwgMHhCQywg MHgzMCwgMHg0MSwgMHg1MCwgMHhCQiwgMHhGRCwgMHg0NiwgMHg5OCwgMHg0RCwgMHhDMCwgMHg4 OSwKKysgMHg1NywgMHg4NSwgMHg4QSwgMHg5NywgMHg0OSwgMHgyNSwgMHhBOCwgMHgwQywgMHg2 OSwgMHg3MCwgMHgxOSwgMHgzOSwKKysgMHg2NiwgMHgyNCwgMHhCNCwgMHg2OSwgMHg0NywgMHhE MiwgMHg3QywgMHhERSwgMHgyRCwgMHgzNywgMHg1OSwgMHhCMywKKysgMHhFMywgMHhDNywgMHg2 QiwgMHhERCwgMHhCRSwgMHhFMSwgMHhFNiwgMHgyOCwgMHg5QSwgMHg4RCwgMHg0MiwgMHgzRSwK KysgMHgyOCwgMHgwMSwgMHhENywgMHgwMywgMHhDOSwgMHg3MywgMHhDMywgMHg2QiwgMHgwMywg MHhFQywgMHgxRSwgMHhGOCwKKysgMHg1MywgMHg4QiwgMHg1MiwgMHg0MiwgMHg4OSwgMHg1NSwg MHhCNywgMHg4NywgMHhBOSwgMHg5NCwgMHhDMiwgMHhCNCwKKysgMHg0QiwgMHg3NiwgMHhGNSwg MHg2MSwgMHg0NywgMHhFMSwgMHg0NCwgMHg3QiwgMHhFQywgMHhCNCwgMHgyNSwgMHg2NiwKKysg MHhDMCwgMHhGRiwgMHhFQiwgMHg4NiwgMHgyNCwgMHhBQSwgMHhBOCwgMHg3MiwgMHhDNywgMHhG QiwgMHhGQiwgMHhGNiwKKysgMHg4NCwgMHhBNywgMHg1QiwgMHhENCwgMHg4NywgMHhFNSwgMHg4 NCwgMHg1NiwgMHgxRSwgMHg0QywgMHhFNSwgMHhCQywKKysgMHg4NywgMHg5NCwgMHhBQywgMHg5 QywgMHgxQiwgMHgzRCwgMHhGNywgMHhENCwgMHgzNiwgMHg4NSwgMHg5RiwgMHhDOSwKKysgMHhG NiwgMHg0MywgMHgzRiwgMHhCNiwgMHgyNSwgMHgzMywgMHg0OCwgMHgwRiwgMHhFNSwgMHg3Qywg MHhDRCwgMHg1MywKKysgMHg0OCwgMHhFQiwgMHgwMiwgMHgxMSwgMHhCOSwgMHg5RSwgMHhDMywg MHhCNCwgMHhFMSwgMHg1NCwgMHhENiwgMHhBQSwKKysgMHgxQSwgMHg5RSwgMHgxMCwgMHhFMSwg MHgyNywgMHgyNSwgMHhGMiwgMHhFMSwgMHhBQiwgMHhBQiwgMHg2QywgMHg0NSwKKysgMHg2MSwg MHhENSwgMHhBMywgMHg2QywgMHhCNiwgMHgzMywgMHg1MiwgMHhBRSwgMHgzRCwgMHhGRCwgMHgy MiwgMHhGQywKKysgMHgzQSwgMHhBQiwgMHg2MywgMHg5NCwgMHhCNSwgMHgzQSwgMHg2OSwgMHgx MSwgMHhBQywgMHg5OSwgMHg0RiwgMHgzMywKKysgMHg2NywgMHgwQSwgMHgxQSwgMHg3MCwgMHgx RSwgMHhCOSwgMHhFMiwgMHgyNiwgMHgyNywgMHg2OCwgMHhFQSwgMHhGNSwKKysgMHg5NywgMHg1 NSwgMHhBQywgMHg4MywgMHg2QSwgMHg0MCwgMHgzQiwgMHg1NiwgMHhBRSwgMHgxMywgMHg4OCwg MHhFOCwKKysgMHg5OCwgMHg3MiwgMHg1MiwgMHg5MSwgMHg3RiwgMHg3OCwgMHgwQSwgMHgxOCwg MHhENCwgMHg0NCwgMHg3OCwgMHg4MywKKysgMHgwRCwgMHg0NCwgMHg3NywgMHhBNiwgMHhGMywg MHgwNCwgMHhGMSwgMHg4QywgMHhCQywgMHgyRiwgMHhGOSwgMHg1QiwKKysgMHhEQiwgMHg3MCwg MHgwMCwgMHhGNgorIH07CisgCisgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9T SEEyNTZbXSA9IHsKKy0gIDB4MEQsIDB4NTUsIDB4RTIsIDB4QUEsIDB4ODEsIDB4REIsIDB4OEUs IDB4ODIsIDB4MDUsIDB4MTcsIDB4QTUsIDB4MjMsCistICAweEU3LCAweDNCLCAweDFELCAweEFG LCAweEZCLCAweDhDLCAweEQwLCAweDgxLCAweDIwLCAweDdCLCAweEFBLCAweDIzLAorLSAgMHg5 MiwgMHg4NywgMHg4QywgMHhEMSwgMHg1MywgMHg4NSwgMHgxNiwgMHhEQywgMHhCRSwgMHhBRCwg MHg2RiwgMHgzNSwKKy0gIDB4OTgsIDB4MkQsIDB4NjksIDB4ODQsIDB4QkYsIDB4RDksIDB4OEEs IDB4MDEsIDB4MTcsIDB4NTgsIDB4QjIsIDB4NkUsCistICAweDJDLCAweDQ0LCAweDlCLCAweDkw LCAweEYxLCAweEZCLCAweDUxLCAweEU4LCAweDZBLCAweDkwLCAweDJELCAweDE4LAorLSAgMHgw RSwgMHhDMCwgMHg5MCwgMHgxMCwgMHgyNCwgMHhBOSwgMHgxRCwgMHhCMywgMHg1OCwgMHg3QSwg MHg5MSwgMHgzMCwKKy0gIDB4QkUsIDB4MjIsIDB4QzcsIDB4RDMsIDB4RUMsIDB4QzMsIDB4MDks IDB4NUQsIDB4QkYsIDB4RTIsIDB4ODAsIDB4M0EsCistICAweDdDLCAweDg1LCAweEI0LCAweEJD LCAweEQxLCAweEU5LCAweEYwLCAweDVDLCAweERFLCAweDgxLCAweEE2LCAweDM4LAorLSAgMHhC OCwgMHg0MiwgMHhCQiwgMHg4NiwgMHhDNSwgMHg5RCwgMHhDRSwgMHg3QywgMHgyQywgMHhFRSwg MHhEMSwgMHhEQSwKKy0gIDB4MjcsIDB4NDgsIDB4MkIsIDB4RjUsIDB4QUIsIDB4QjksIDB4Rjcs IDB4ODAsIDB4RDEsIDB4OTAsIDB4MjcsIDB4OTAsCistICAweEJELCAweDQ0LCAweDk3LCAweDYw LCAweENELCAweDU3LCAweEMwLCAweDdBCisrIDB4QzIsIDB4QjEsIDB4OTcsIDB4MDAsIDB4OUEs IDB4RTUsIDB4ODAsIDB4NkEsIDB4RTIsIDB4NTEsIDB4NjgsIDB4QjksCisrIDB4N0EsIDB4MEMs IDB4RjIsIDB4QjQsIDB4NzcsIDB4RUQsIDB4MTUsIDB4MEMsIDB4NEUsIDB4RTEsIDB4REMsIDB4 RkYsCisrIDB4OEUsIDB4QkMsIDB4REUsIDB4QzcsIDB4OUEsIDB4OTYsIDB4RjEsIDB4NDcsIDB4 NDUsIDB4MjQsIDB4OUQsIDB4NkYsCisrIDB4QTYsIDB4RjMsIDB4MUQsIDB4MEQsIDB4MzUsIDB4 NEMsIDB4MUEsIDB4RjMsIDB4NTgsIDB4MkMsIDB4NkMsIDB4MDYsCisrIDB4RDYsIDB4MjIsIDB4 MzcsIDB4NzcsIDB4OEMsIDB4MzMsIDB4RTUsIDB4MDcsIDB4NTMsIDB4OTMsIDB4MjgsIDB4Q0Ys CisrIDB4NjcsIDB4RkEsIDB4QzQsIDB4MUYsIDB4MUIsIDB4MjQsIDB4REIsIDB4NEMsIDB4QzUs IDB4MkEsIDB4NTEsIDB4QTIsCisrIDB4NjAsIDB4MTUsIDB4OEMsIDB4NTQsIDB4QjQsIDB4MzAs IDB4RTIsIDB4MjQsIDB4NDcsIDB4ODYsIDB4RjIsIDB4RjgsCisrIDB4NkMsIDB4RDYsIDB4MTIs IDB4NTksIDB4MkMsIDB4NzQsIDB4OUEsIDB4MzcsIDB4RjMsIDB4QzQsIDB4QTIsIDB4RDUsCisr IDB4NEUsIDB4MUYsIDB4NzcsIDB4RjAsIDB4MjcsIDB4Q0UsIDB4NzcsIDB4RjgsIDB4NEEsIDB4 NzksIDB4MDMsIDB4QkUsCisrIDB4QzgsIDB4MDYsIDB4MkQsIDB4QTcsIDB4QTYsIDB4NDYsIDB4 RjUsIDB4NTUsIDB4NzksIDB4RDcsIDB4NUMsIDB4QzYsCisrIDB4NUIsIDB4QjEsIDB4MDAsIDB4 NEUsIDB4N0MsIDB4RDksIDB4MTEsIDB4ODUsIDB4RTAsIDB4QjEsIDB4NEQsIDB4MkQsCisrIDB4 MTMsIDB4RDcsIDB4QUMsIDB4RUEsIDB4NjQsIDB4RDEsIDB4QUMsIDB4OEYsIDB4OEQsIDB4OEYs IDB4RUEsIDB4NDIsCisrIDB4N0YsIDB4RjksIDB4QjcsIDB4N0QsIDB4MkMsIDB4NjgsIDB4NDks IDB4MDcsIDB4N0EsIDB4NzQsIDB4RUYsIDB4QjQsCisrIDB4QzksIDB4OTcsIDB4MTYsIDB4NUMs IDB4NkMsIDB4NkUsIDB4NUMsIDB4MDksIDB4MkUsIDB4OEUsIDB4MTMsIDB4MkUsCisrIDB4MUEs IDB4OEQsIDB4QTYsIDB4MEMsIDB4NkUsIDB4MEMsIDB4MUMsIDB4MEYsIDB4Q0MsIDB4QjIsIDB4 NzgsIDB4OEEsCisrIDB4MDcsIDB4RkMsIDB4NUMsIDB4QzIsIDB4RjUsIDB4NjUsIDB4RUMsIDB4 QUIsIDB4OEIsIDB4M0MsIDB4Q0EsIDB4OTEsCisrIDB4NkYsIDB4ODQsIDB4N0MsIDB4MjEsIDB4 MEUsIDB4QjgsIDB4REEsIDB4N0IsIDB4NkMsIDB4RjcsIDB4REYsIDB4QUIsCisrIDB4N0UsIDB4 MTUsIDB4RkQsIDB4ODUsIDB4MEIsIDB4MzMsIDB4OUIsIDB4NkEsIDB4M0EsIDB4QzMsIDB4RUYs IDB4NjUsCisrIDB4MDQsIDB4NkUsIDB4QjIsIDB4QUMsIDB4OTgsIDB4RkQsIDB4RUIsIDB4MDIs IDB4RjUsIDB4QzAsIDB4MEIsIDB4NUUsCisrIDB4Q0IsIDB4RDQsIDB4ODMsIDB4ODIsIDB4MTgs IDB4MUIsIDB4REEsIDB4QjQsIDB4Q0QsIDB4RTgsIDB4NzEsIDB4NkIsCisrIDB4MUQsIDB4QjUs IDB4NEYsIDB4RTksIDB4RDYsIDB4NDMsIDB4QTAsIDB4MEEsIDB4MTQsIDB4QTAsIDB4RTcsIDB4 NUQsCisrIDB4NDcsIDB4OUQsIDB4MTgsIDB4RDcKKyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNp Z25lZCBjaGFyIGthdF9SU0FfU0hBMzg0W10gPSB7CistICAweDFELCAweEUzLCAweDZBLCAweERE LCAweDI3LCAweDRDLCAweEMwLCAweEE1LCAweDI3LCAweEVGLCAweEU2LCAweDFGLAorLSAgMHhE MiwgMHg5MSwgMHg2OCwgMHg1OSwgMHgwNCwgMHhBRSwgMHhCRCwgMHg5OSwgMHg2MywgMHg1Niwg MHg0NywgMHhDNywKKy0gIDB4NkYsIDB4MjIsIDB4MTYsIDB4NDgsIDB4RDAsIDB4RjksIDB4MTgs IDB4QTksIDB4Q0EsIDB4RkEsIDB4NUQsIDB4NUMsCistICAweEE3LCAweDY1LCAweDUyLCAweDhB LCAweEM4LCAweDQ0LCAweDdFLCAweDg2LCAweDVELCAweEE5LCAweEE2LCAweDU1LAorLSAgMHg2 NSwgMHgzRSwgMHhEOSwgMHgyRCwgMHgwMiwgMHgzOCwgMHhBOCwgMHg3OSwgMHgyOCwgMHg3Riwg MHhCNiwgMHhDRiwKKy0gIDB4ODIsIDB4REQsIDB4N0UsIDB4NTUsIDB4RTEsIDB4QjEsIDB4QkMs IDB4RTIsIDB4MTksIDB4MkIsIDB4MzAsIDB4QzIsCistICAweDFCLCAweDJCLCAweEIwLCAweDgy LCAweDQ2LCAweEFDLCAweDRCLCAweEQxLCAweEUyLCAweDdELCAweEVCLCAweDhDLAorLSAgMHhG RiwgMHg5NSwgMHhFOSwgMHg2QSwgMHgxQywgMHgzRCwgMHg0RCwgMHhCRiwgMHg4RiwgMHg4Qiwg MHg5QywgMHhDRCwKKy0gIDB4RUEsIDB4ODUsIDB4RUUsIDB4MDAsIDB4REMsIDB4MUMsIDB4QTcs IDB4RUIsIDB4RDAsIDB4OEYsIDB4OTksIDB4RjEsCistICAweDE2LCAweDI4LCAweDI0LCAweDY0 LCAweDA0LCAweDM5LCAweDJELCAweDU4LCAweDFFLCAweDM3LCAweERDLCAweDA0LAorLSAgMHhC RCwgMHgzMSwgMHhBMiwgMHgyRiwgMHhCMywgMHgzNSwgMHg1NiwgMHhCRgorKyAweDExLCAweDVF LCAweDYzLCAweEZFLCAweDQ3LCAweEFBLCAweDZBLCAweDg0LCAweEVCLCAweDQ0LCAweDlBLCAw eDAwLAorKyAweDk2LCAweDRBLCAweEVELCAweEQyLCAweEE3LCAweDY3LCAweDNBLCAweDY0LCAw eDgyLCAweDMwLCAweDYxLCAweDJELAorKyAweEUzLCAweEY1LCAweDQ5LCAweDY4LCAweDVFLCAw eDYwLCAweEQyLCAweDRELCAweEVGLCAweEYyLCAweEE0LCAweEIyLAorKyAweDlBLCAweDgxLCAw eDFELCAweDQxLCAweEE1LCAweDczLCAweDU5LCAweEVCLCAweEJCLCAweEM0LCAweDlFLCAweDJC LAorKyAweEVCLCAweEMzLCAweERFLCAweDNBLCAweEVBLCAweEY1LCAweEFELCAweERBLCAweDg3 LCAweDA4LCAweDY4LCAweENGLAorKyAweDEyLCAweDlCLCAweEMxLCAweEU0LCAweEE3LCAweDcx LCAweEY4LCAweEJELCAweDZCLCAweDZGLCAweDUwLCAweEYxLAorKyAweEQxLCAweEZGLCAweENF LCAweDZDLCAweEQ5LCAweEJFLCAweERBLCAweDc2LCAweEYzLCAweEVCLCAweEFCLCAweDlDLAor KyAweDQxLCAweDZFLCAweDRGLCAweDM1LCAweDdBLCAweDYxLCAweDI3LCAweEJDLCAweDAzLCAw eDNFLCAweEFFLCAweDNFLAorKyAweDFCLCAweERELCAweEFDLCAweEQ5LCAweDFBLCAweEZGLCAw eEQzLCAweEY1LCAweDY2LCAweDQzLCAweDA3LCAweDc2LAorKyAweDhBLCAweDY5LCAweDJELCAw eDE0LCAweEIxLCAweEJFLCAweDU1LCAweDQ5LCAweDkwLCAweDg5LCAweDRCLCAweEM0LAorKyAw eDExLCAweDY3LCAweEQ1LCAweDlELCAweEIwLCAweEIyLCAweEVFLCAweDhELCAweDBBLCAweDQ3 LCAweDRBLCAweEQ5LAorKyAweDBFLCAweEQxLCAweDI0LCAweEYwLCAweDMwLCAweDJCLCAweEYy LCAweDc5LCAweDQ3LCAweERCLCAweDcwLCAweEI0LAorKyAweDQ2LCAweEYyLCAweEY4LCAweEI3 LCAweEI0LCAweEY2LCAweDM0LCAweDc5LCAweEE4LCAweDJELCAweDNELCAweDU2LAorKyAweEQ1 LCAweDlBLCAweDYwLCAweDdBLCAweDA0LCAweEM3LCAweDY2LCAweDFELCAweENELCAweDNDLCAw eEQ1LCAweDM5LAorKyAweDM3LCAweDEyLCAweDUxLCAweDVFLCAweDlGLCAweEY4LCAweDFBLCAw eEFGLCAweDEzLCAweEMxLCAweDEzLCAweDAwLAorKyAweDM1LCAweEQ1LCAweDhELCAweDE3LCAw eEUzLCAweDAyLCAweDI4LCAweEQ5LCAweEVDLCAweERFLCAweEQxLCAweDJGLAorKyAweDkzLCAw eDQ5LCAweDAzLCAweDExLCAweDNFLCAweDU2LCAweDlELCAweEMyLCAweDMxLCAweEY4LCAweEFG LCAweDJELAorKyAweEQ5LCAweDk5LCAweEI3LCAweDhBLCAweEFDLCAweDVBLCAweDg2LCAweDIw LCAweDNBLCAweDgzLCAweDI5LCAweDI2LAorKyAweDlELCAweDAzLCAweDUyLCAweDJCLCAweDM0 LCAweDU2LCAweDQwLCAweDE2LCAweDUzLCAweDUwLCAweDgyLCAweEM5LAorKyAweEM3LCAweEQ1 LCAweDUxLCAweDRDLCAweEVELCAweEIzLCAweEUyLCAweEUxLCAweENGLCAweEE4LCAweENFLCAw eEJELAorKyAweEIxLCAweDQ4LCAweEE2LCAweDhBLCAweDc5LCAweDE3LCAweDU1LCAweDExLCAw eEVGLCAweEU4LCAweDE0LCAweEY0LAorKyAweDdFLCAweDM3LCAweDFELCAweDk2CisgfTsKKyAK KyBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrYXRfUlNBX1NIQTUxMltdID0geworLSAgMHg2 OSwgMHg1MiwgMHgxQiwgMHg1MSwgMHg1RSwgMHgwNiwgMHhDQSwgMHg5QiwgMHgxNiwgMHg1MSwg MHg1RCwgMHhDRiwKKy0gIDB4NDksIDB4MjUsIDB4NEEsIDB4QTEsIDB4NkEsIDB4NzcsIDB4NEMs IDB4MzYsIDB4NDAsIDB4RjgsIDB4QjIsIDB4OUEsCistICAweDE1LCAweEVBLCAweDVDLCAweEU1 LCAweEU2LCAweDgyLCAweEUwLCAweDg2LCAweDgyLCAweDZCLCAweDMyLCAweEYxLAorLSAgMHgw NCwgMHhDMSwgMHg1QSwgMHgxQSwgMHhFRCwgMHgxRSwgMHg5QSwgMHhCNiwgMHg0QywgMHg1NCwg MHg5RiwgMHhEOCwKKy0gIDB4OEQsIDB4Q0MsIDB4QUMsIDB4OEEsIDB4QkIsIDB4OUMsIDB4ODIs IDB4M0YsIDB4QTYsIDB4NTMsIDB4NjIsIDB4QjUsCistICAweDgwLCAweEUyLCAweEJDLCAweERE LCAweDY3LCAweDJCLCAweEQ5LCAweDNGLCAweEU0LCAweDc1LCAweDkyLCAweDZCLAorLSAgMHhB RiwgMHg2MiwgMHg3QywgMHg1MiwgMHhGMCwgMHhFRSwgMHgzMywgMHhERiwgMHgxQiwgMHgxRCwg MHg0NywgMHhFNiwKKy0gIDB4NTksIDB4NTYsIDB4QTUsIDB4QjksIDB4NUMsIDB4RTYsIDB4Nzcs IDB4NzgsIDB4MTYsIDB4NjMsIDB4ODQsIDB4MDUsCistICAweDZGLCAweDBFLCAweDJCLCAweDMx LCAweDlELCAweEY3LCAweDdGLCAweEIyLCAweDY0LCAweDcxLCAweEUwLCAweDJELAorLSAgMHgz RSwgMHg2MiwgMHhDRSwgMHhCNSwgMHgzRiwgMHg4OCwgMHhERiwgMHgyRCwgMHhBQiwgMHg5OCwg MHg2NSwgMHg5MSwKKy0gIDB4REYsIDB4NzAsIDB4MTQsIDB4QTUsIDB4M0YsIDB4MzYsIDB4QUIs IDB4ODQKKysgMHgzNSwgMHg2RCwgMHhGMSwgMHg5RSwgMHhDRiwgMHhCMSwgMHhGNiwgMHgwQywg MHgwNCwgMHgyMSwgMHgxNywgMHhCMywKKysgMHhDNCwgMHg5RCwgMHhGRSwgMHg2MiwgMHgxQywg MHgxQSwgMHg0NSwgMHgwMCwgMHgyRSwgMHg2QiwgMHhCNiwgMHg5RiwKKysgMHg1QywgMHhCMSwg MHhDQiwgMHhDRiwgMHhGOSwgMHg2NywgMHhFQSwgMHg2MiwgMHg4QSwgMHhFQiwgMHg3NywgMHgw MiwKKysgMHg0MiwgMHgzMCwgMHg4OCwgMHhCMSwgMHg0OCwgMHhERiwgMHgxMiwgMHg2MCwgMHg2 RSwgMHg5MiwgMHhCQiwgMHg0QiwKKysgMHgwOSwgMHg2OCwgMHhEMSwgMHg3MCwgMHgyQiwgMHg1 OSwgMHhFRSwgMHg1NywgMHg5NiwgMHhGOSwgMHhFQSwgMHhBMywKKysgMHg0QywgMHhFOSwgMHhD OSwgMHhCRCwgMHgyNSwgMHgzNCwgMHg2NiwgMHgxNSwgMHg2QywgMHhDOSwgMHg4MSwgMHhEMSwK KysgMHg0OCwgMHgwRiwgMHgzMywgMHg1RiwgMHgwNSwgMHg0RiwgMHhDMiwgMHhDNCwgMHhERCwg MHgwOSwgMHg1NCwgMHg3OSwKKysgMHhBMSwgMHg1NywgMHgwNywgMHg3MCwgMHhBMCwgMHgzMywg MHgwMiwgMHg0RCwgMHg1RCwgMHhFOSwgMHgyNCwgMHhEMSwKKysgMHhFRiwgMHhGMCwgMHg2MSwg MHhEMCwgMHgxRCwgMHg0MSwgMHhFMiwgMHg5QiwgMHgyQiwgMHg3QywgMHhEMCwgMHg0RSwKKysg MHg1NSwgMHhEOSwgMHg2RCwgMHhBMSwgMHgxNiwgMHg5RiwgMHhEQSwgMHhDMywgMHgzQiwgMHhG MSwgMHg3NCwgMHhEMSwKKysgMHg5OSwgMHhGMSwgMHg2MywgMHg1NywgMHhBRCwgMHhDNywgMHg1 NSwgMHhGNCwgMHg5NywgMHg0MywgMHgxQywgMHhFRCwKKysgMHgxQiwgMHg3QSwgMHgzMiwgMHhD QiwgMHgyNCwgMHhBNiwgMHgzRCwgMHg5MywgMHgzNywgMHg5MCwgMHg3NCwgMHhFRSwKKysgMHhE MiwgMHg4RCwgMHg0QiwgMHhCQywgMHg3MiwgMHhEQSwgMHgyNSwgMHgyQiwgMHg2NCwgMHhFOSwg MHhDQSwgMHg2OSwKKysgMHgzNiwgMHhCNiwgMHhFQywgMHg2RSwgMHg4RiwgMHgzMywgMHgwRSwg MHg3NCwgMHg0MCwgMHg0OCwgMHg1MSwgMHhFMiwKKysgMHg1NCwgMHg2RiwgMHhBRiwgMHg2RSwg MHgzNiwgMHg1NCwgMHgzQSwgMHhFQywgMHg3OCwgMHgzNywgMHhFNiwgMHgxRiwKKysgMHg3Niwg MHhBNSwgMHg0RCwgMHhBNiwgMHhEOSwgMHhCMywgMHg2QiwgMHgxNywgMHg2RCwgMHg2MSwgMHhG QywgMHhBMywKKysgMHg4NSwgMHg0QSwgMHhDQywgMHhEQSwgMHg1MiwgMHhBQywgMHg1QiwgMHhE QSwgMHg1MSwgMHhFNSwgMHg3RiwgMHg1QiwKKysgMHg1MiwgMHg4QiwgMHg3NCwgMHg3NSwgMHg5 OSwgMHg1QywgMHgwMSwgMHhGRCwgMHgyNSwgMHgzRSwgMHhDRCwgMHg4NiwKKysgMHg2RiwgMHg3 QSwgMHhDMCwgMHhEOCwgMHgxNywgMHg2RiwgMHhEMSwgMHhEMiwgMHg2QiwgMHhBQiwgMHgxNCwg MHgxRiwKKysgMHgzQiwgMHhCOCwgMHgxNSwgMHgwNSwgMHg4NiwgMHg0MCwgMHgzNiwgMHhDRiwg MHhEQSwgMHg1OSwgMHgyQiwgMHg5QSwKKysgMHhFOSwgMHgxRSwgMHg2RSwgMHhEMywgMHg2Qiwg MHhBMSwgMHgxOSwgMHhDNSwgMHhFNiwgMHgzRiwgMHhFOSwgMHgyRSwKKysgMHg0MywgMHhBOCwg MHgzNCwgMHgwQQorIH07CisgCisgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga2F0X1JTQV9Y OTMxX1NIQTFbXSA9IHsKKy0gIDB4ODYsIDB4QjQsIDB4MTgsIDB4QkEsIDB4RDEsIDB4ODAsIDB4 QjYsIDB4N0MsIDB4NDIsIDB4NDUsIDB4NEQsIDB4REYsCistICAweEU5LCAweDJELCAweEUxLCAw eDgzLCAweDVGLCAweEI1LCAweDJGLCAweEM5LCAweENELCAweEM0LCAweEIyLCAweDc1LAorLSAg MHg4MCwgMHhBNCwgMHhGMSwgMHg0QSwgMHhFNywgMHg4MywgMHgxMiwgMHgxRSwgMHgxRSwgMHgx NCwgMHhCOCwgMHhBQywKKy0gIDB4MzUsIDB4RTIsIDB4QUEsIDB4MEIsIDB4NUMsIDB4RjgsIDB4 MzgsIDB4NEQsIDB4MDQsIDB4RUUsIDB4QTksIDB4OTcsCistICAweDcwLCAweEZCLCAweDVFLCAw eEU3LCAweEI3LCAweEUzLCAweDYyLCAweDIzLCAweDRCLCAweDM4LCAweEJFLCAweEQ2LAorLSAg MHg1MywgMHgxNSwgMHhGNywgMHhERiwgMHg4NywgMHhCNCwgMHgwRSwgMHhDQywgMHhCMSwgMHgx QSwgMHgxMSwgMHgxOSwKKy0gIDB4RUUsIDB4NTEsIDB4Q0MsIDB4OTIsIDB4REQsIDB4QkMsIDB4 NjMsIDB4MjksIDB4NjMsIDB4MEMsIDB4NTksIDB4RDcsCistICAweDZGLCAweDRDLCAweDNDLCAw eDM3LCAweDVCLCAweDM3LCAweDAzLCAweDYxLCAweDdELCAweDI0LCAweDFDLCAweDk5LAorLSAg MHg0OCwgMHhBRiwgMHg4MiwgMHhGRSwgMHgzMiwgMHg0MSwgMHg5QiwgMHhCMiwgMHhEQiwgMHhF QSwgMHhFRCwgMHg3NiwKKy0gIDB4OEUsIDB4NkUsIDB4Q0EsIDB4N0UsIDB4NEUsIDB4MTQsIDB4 QkEsIDB4MzAsIDB4ODQsIDB4MUMsIDB4QjMsIDB4NjcsCistICAweEEzLCAweDI5LCAweDgwLCAw eDcwLCAweDU0LCAweDY4LCAweDdELCAweDQ5CisrIDB4QjEsIDB4MEUsIDB4NEYsIDB4QzYsIDB4 RTAsIDB4OTUsIDB4ODUsIDB4N0IsIDB4QkUsIDB4REUsIDB4QzQsIDB4RTYsCisrIDB4MUYsIDB4 MTIsIDB4MkUsIDB4OUIsIDB4M0UsIDB4MTEsIDB4QTMsIDB4RjAsIDB4RjAsIDB4QTgsIDB4MjMs IDB4MUEsCisrIDB4OTYsIDB4NkUsIDB4OTksIDB4QjUsIDB4NUYsIDB4ODIsIDB4QzUsIDB4ODcs IDB4NzUsIDB4RTksIDB4RDQsIDB4QkYsCisrIDB4OUYsIDB4RTAsIDB4QTQsIDB4RUQsIDB4Qzcs IDB4MDEsIDB4MkEsIDB4M0YsIDB4NkYsIDB4NDMsIDB4MUQsIDB4NEYsCisrIDB4RTgsIDB4MDUs IDB4MzQsIDB4MzIsIDB4MjAsIDB4MzYsIDB4OTQsIDB4QTAsIDB4NkQsIDB4Q0MsIDB4RjYsIDB4 NDEsCisrIDB4NDksIDB4NTYsIDB4OTYsIDB4RUMsIDB4OUMsIDB4N0MsIDB4RDEsIDB4MEUsIDB4 OUUsIDB4RDgsIDB4MUIsIDB4NDgsCisrIDB4RDksIDB4REYsIDB4OTksIDB4OUYsIDB4OTIsIDB4 MTcsIDB4OTYsIDB4QTQsIDB4RjEsIDB4ODcsIDB4NjQsIDB4NjEsCisrIDB4M0MsIDB4QUYsIDB4 MDAsIDB4MjQsIDB4QjMsIDB4NjQsIDB4ODgsIDB4OEUsIDB4NDEsIDB4QkYsIDB4MjksIDB4MUYs CisrIDB4QTMsIDB4MjgsIDB4QUQsIDB4MjEsIDB4MUUsIDB4QTMsIDB4OTYsIDB4NDAsIDB4MEEs IDB4MEIsIDB4ODIsIDB4Q0QsCisrIDB4OTcsIDB4NTgsIDB4MzMsIDB4QjYsIDB4NTIsIDB4QUMs IDB4QzUsIDB4M0IsIDB4MTQsIDB4RTcsIDB4MUUsIDB4NUQsCisrIDB4MDksIDB4QzksIDB4NzYs IDB4QjUsIDB4ODksIDB4QzYsIDB4OUIsIDB4NEMsIDB4QzIsIDB4QzIsIDB4MzEsIDB4MEUsCisr IDB4QkEsIDB4MUUsIDB4QjUsIDB4MTEsIDB4RDAsIDB4RkQsIDB4QzEsIDB4REEsIDB4NjQsIDB4 MTcsIDB4QTgsIDB4Q0IsCisrIDB4RjAsIDB4OTQsIDB4RjQsIDB4REQsIDB4ODQsIDB4QjcsIDB4 RUYsIDB4OUMsIDB4MTMsIDB4NEYsIDB4REQsIDB4MDYsCisrIDB4MEMsIDB4RTQsIDB4QzcsIDB4 RkQsIDB4NjksIDB4MTAsIDB4MjAsIDB4RDMsIDB4OTMsIDB4NUUsIDB4RjgsIDB4QkEsCisrIDB4 MjEsIDB4RkIsIDB4NjIsIDB4QzQsIDB4NjMsIDB4NzYsIDB4NDMsIDB4QUEsIDB4N0UsIDB4M0Ms IDB4NTYsIDB4NUUsCisrIDB4QjQsIDB4NDcsIDB4M0EsIDB4MDUsIDB4MEQsIDB4QkIsIDB4MTMs IDB4QzQsIDB4OTMsIDB4RkIsIDB4MjksIDB4QTgsCisrIDB4M0UsIDB4NzYsIDB4NDEsIDB4NTQs IDB4OUUsIDB4N0IsIDB4RTIsIDB4RTAsIDB4MDcsIDB4MUQsIDB4QTcsIDB4OUMsCisrIDB4ODUs IDB4MTEsIDB4QjUsIDB4QTUsIDB4ODgsIDB4NTgsIDB4MDIsIDB4RDgsIDB4QzAsIDB4NEIsIDB4 ODEsIDB4QkYsCisrIDB4MkIsIDB4MzgsIDB4RTIsIDB4MkYsIDB4NDIsIDB4Q0EsIDB4NjMsIDB4 OEEsIDB4MEEsIDB4NzgsIDB4QkEsIDB4NTAsCisrIDB4RTUsIDB4ODQsIDB4MzUsIDB4RDMsIDB4 NkEsIDB4MUUsIDB4OTYsIDB4MEIsIDB4OTEsIDB4QjEsIDB4MEUsIDB4ODUsCisrIDB4QTgsIDB4 NUMsIDB4NkUsIDB4NDYsIDB4NUMsIDB4NjEsIDB4OEMsIDB4NEYsIDB4NUIsIDB4NjEsIDB4QjYs IDB4M0MsCisrIDB4QjcsIDB4MkMsIDB4QTUsIDB4MUEKKyB9OworIAorIHN0YXRpYyBjb25zdCB1 bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkzMV9TSEEyNTZbXSA9IHsKKy0gIDB4N0UsIDB4QTIsIDB4 NzcsIDB4RkUsIDB4QjgsIDB4NTQsIDB4OEEsIDB4QzcsIDB4N0YsIDB4NjQsIDB4NTQsIDB4ODks CistICAweEU1LCAweDUyLCAweDE1LCAweDhFLCAweDUyLCAweDk2LCAweDRFLCAweEE2LCAweDU4 LCAweDkyLCAweDFDLCAweERELAorLSAgMHhFQSwgMHhBMiwgMHgyRCwgMHg1QywgMHhEMSwgMHg2 MiwgMHgwMCwgMHg0OSwgMHgwNSwgMHg5NSwgMHg3MywgMHhDRiwKKy0gIDB4MTYsIDB4NzYsIDB4 NjgsIDB4RjYsIDB4QzYsIDB4NUUsIDB4ODAsIDB4QjgsIDB4QjgsIDB4N0IsIDB4QzgsIDB4OUIs CistICAweEM2LCAweDUzLCAweDg4LCAweDI2LCAweDIwLCAweDg4LCAweDczLCAweEI2LCAweDEz LCAweEI4LCAweEYwLCAweDRCLAorLSAgMHgwMCwgMHg4NSwgMHhGMywgMHhERCwgMHgwNywgMHg1 MCwgMHhFQiwgMHgyMCwgMHhDNCwgMHgzOCwgMHgwRSwgMHg5OCwKKy0gIDB4QUQsIDB4NEUsIDB4 NDksIDB4MkMsIDB4RDcsIDB4NjUsIDB4QTUsIDB4MTksIDB4MEUsIDB4NTksIDB4MDEsIDB4RUMs CistICAweDdFLCAweDc1LCAweDg5LCAweDY5LCAweDJFLCAweDYzLCAweDc2LCAweDg1LCAweDQ2 LCAweDhELCAweEEwLCAweDhDLAorLSAgMHgzMywgMHgxRCwgMHg4MiwgMHg4QywgMHgwMywgMHhF QSwgMHg2OSwgMHg4OCwgMHgzNSwgMHhBMSwgMHg0MiwgMHhCRCwKKy0gIDB4MjEsIDB4RUQsIDB4 OEQsIDB4QkMsIDB4QkMsIDB4REIsIDB4MzAsIDB4RkYsIDB4ODYsIDB4RjAsIDB4NUIsIDB4REMs CistICAweEUzLCAweEUyLCAweEU4LCAweDBBLCAweDBBLCAweDI5LCAweDk0LCAweDgwCisrIDB4 QzYsIDB4NkMsIDB4MDEsIDB4N0YsIDB4QjYsIDB4OEMsIDB4RDQsIDB4NjEsIDB4ODMsIDB4QzUs IDB4QkMsIDB4NzUsCisrIDB4MzksIDB4MjIsIDB4REQsIDB4MTcsIDB4NUIsIDB4OTUsIDB4NEIs IDB4NEMsIDB4NDYsIDB4MzksIDB4MzcsIDB4QTcsCisrIDB4NTQsIDB4NkMsIDB4NDksIDB4NUEs IDB4NjcsIDB4OTAsIDB4NDcsIDB4RjYsIDB4NTksIDB4QUUsIDB4RkMsIDB4REQsCisrIDB4REYs IDB4REIsIDB4QzcsIDB4OTEsIDB4QjksIDB4QjYsIDB4Q0UsIDB4RDgsIDB4RkEsIDB4MzAsIDB4 MDEsIDB4OUYsCisrIDB4Q0EsIDB4RTUsIDB4NEEsIDB4NTEsIDB4QjcsIDB4QkUsIDB4QkQsIDB4 NEUsIDB4NTYsIDB4MjUsIDB4MEIsIDB4NDksCisrIDB4RTAsIDB4NDYsIDB4QkIsIDB4ODEsIDB4 MEUsIDB4MTQsIDB4NDcsIDB4RkYsIDB4Q0IsIDB4QkIsIDB4QTEsIDB4NkQsCisrIDB4NDQsIDB4 OUIsIDB4RjcsIDB4RUUsIDB4ODEsIDB4RUIsIDB4RjYsIDB4NjIsIDB4RUEsIDB4MEQsIDB4NzYs IDB4NzYsCisrIDB4NEUsIDB4MjUsIDB4RDcsIDB4OUEsIDB4MkIsIDB4QjEsIDB4OTIsIDB4RUQs IDB4NUMsIDB4N0YsIDB4OUQsIDB4OTksCisrIDB4MDcsIDB4OUUsIDB4QkYsIDB4NjIsIDB4ODMs IDB4MTIsIDB4NjEsIDB4OTksIDB4M0UsIDB4RjUsIDB4NkEsIDB4NEMsCisrIDB4NTgsIDB4QjAs IDB4MkEsIDB4MTUsIDB4MUMsIDB4QTAsIDB4RDIsIDB4OTEsIDB4ODcsIDB4OUMsIDB4N0QsIDB4 NEYsCisrIDB4RUYsIDB4M0IsIDB4MEYsIDB4NjAsIDB4RDcsIDB4MUUsIDB4RUYsIDB4N0MsIDB4 QkUsIDB4NjgsIDB4OTUsIDB4RTYsCisrIDB4QkEsIDB4RkEsIDB4RjYsIDB4RDEsIDB4NjcsIDB4 M0QsIDB4OUQsIDB4MzksIDB4QUUsIDB4QzIsIDB4ODUsIDB4RDIsCisrIDB4REUsIDB4QTUsIDB4 ODUsIDB4MUUsIDB4NEQsIDB4MkIsIDB4MkMsIDB4MDYsIDB4NDQsIDB4OTgsIDB4MTcsIDB4NDYs CisrIDB4ODksIDB4NDEsIDB4MTMsIDB4RkMsIDB4OTksIDB4RDYsIDB4NkMsIDB4Q0YsIDB4MjYs IDB4QTIsIDB4NzcsIDB4OEEsCisrIDB4M0YsIDB4MTAsIDB4RjgsIDB4QzUsIDB4QzksIDB4NEEs IDB4QjYsIDB4OTMsIDB4RjUsIDB4MzgsIDB4ODksIDB4QkQsCisrIDB4RkYsIDB4QUUsIDB4NDIs IDB4MDYsIDB4MkQsIDB4Q0QsIDB4MUIsIDB4M0QsIDB4NUEsIDB4Q0QsIDB4RjIsIDB4OEEsCisr IDB4NjUsIDB4QTQsIDB4QjcsIDB4QjYsIDB4RjYsIDB4NUIsIDB4RTgsIDB4QTQsIDB4NjgsIDB4 QjQsIDB4MjcsIDB4REEsCisrIDB4RjEsIDB4NTksIDB4MzcsIDB4MjQsIDB4MTgsIDB4QjUsIDB4 NUIsIDB4MTUsIDB4NjIsIDB4NjQsIDB4NkYsIDB4NzgsCisrIDB4QkIsIDB4MTcsIDB4OTQsIDB4 NDIsIDB4QUQsIDB4QjMsIDB4MEQsIDB4MTgsIDB4QjAsIDB4MUIsIDB4MjgsIDB4MjksCisrIDB4 M0IsIDB4MTUsIDB4QkYsIDB4RDEsIDB4QzgsIDB4MjgsIDB4NEYsIDB4REYsIDB4N0YsIDB4MzQs IDB4NDksIDB4MkEsCisrIDB4NDQsIDB4RDUsIDB4NEMsIDB4NTksIDB4OTAsIDB4ODMsIDB4OEQs IDB4RkMsIDB4NTgsIDB4N0UsIDB4RUMsIDB4NEIsCisrIDB4NTQsIDB4RjAsIDB4QjUsIDB4QkQK KyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGthdF9SU0FfWDkzMV9TSEEzODRb XSA9IHsKKy0gIDB4NUMsIDB4N0QsIDB4OTYsIDB4MzUsIDB4RUMsIDB4N0UsIDB4MTEsIDB4Mzgs IDB4QkIsIDB4N0IsIDB4RUMsIDB4N0IsCistICAweEYyLCAweDgyLCAweDhFLCAweDk5LCAweEJE LCAweEVGLCAweEQ4LCAweEFFLCAweEQ3LCAweDM5LCAweDM3LCAweENCLAorLSAgMHhFNiwgMHg0 RiwgMHg1RSwgMHgwQSwgMHgxMywgMHhFNCwgMHgyRSwgMHg0MCwgMHhCOSwgMHhCRSwgMHgyRSwg MHhFMywKKy0gIDB4RUYsIDB4NzgsIDB4ODMsIDB4MTgsIDB4NDQsIDB4MzUsIDB4OUMsIDB4OEUs IDB4RDcsIDB4NEEsIDB4NjMsIDB4RjYsCistICAweDU3LCAweEMyLCAweEIwLCAweDA4LCAweDUx LCAweDczLCAweENGLCAweENBLCAweDk5LCAweDY2LCAweEVFLCAweDMxLAorLSAgMHhEOCwgMHg2 OSwgMHhFOSwgMHhBQiwgMHgxMywgMHgyNywgMHg3QiwgMHg0MSwgMHgxRSwgMHg2RCwgMHg4RCwg MHhGMSwKKy0gIDB4M0UsIDB4OUMsIDB4MzUsIDB4OTUsIDB4NTgsIDB4REQsIDB4MkIsIDB4RDUs IDB4QTAsIDB4NjAsIDB4NDEsIDB4NzksCistICAweDI0LCAweDIyLCAweEU0LCAweEI3LCAweEJG LCAweDQ3LCAweDUzLCAweEY2LCAweDM0LCAweEQ1LCAweDdDLCAweEZGLAorLSAgMHgwRSwgMHgw OSwgMHhFRSwgMHgyRSwgMHhFMiwgMHgzNywgMHhCOSwgMHhERSwgMHhDNSwgMHgxMiwgMHg0NCwg MHgzNSwKKy0gIDB4RUYsIDB4MDEsIDB4RTYsIDB4NUUsIDB4MzksIDB4MzEsIDB4MkQsIDB4NzEs IDB4QTUsIDB4REMsIDB4QzYsIDB4NkQsCistICAweEUyLCAweENELCAweDg1LCAweERCLCAweDcz LCAweDgyLCAweDY1LCAweDI4CisrIDB4ODgsIDB4ODUsIDB4RTEsIDB4QzEsIDB4RTIsIDB4RTUs IDB4MEIsIDB4NkMsIDB4MDMsIDB4MjcsIDB4QUMsIDB4QzgsCisrIDB4M0EsIDB4NzIsIDB4QjQs IDB4OUEsIDB4RjMsIDB4QUUsIDB4OUMsIDB4ODgsIDB4OEMsIDB4QkUsIDB4MjgsIDB4MEQsCisr IDB4ODksIDB4NUYsIDB4MDYsIDB4MEYsIDB4NUYsIDB4MDgsIDB4RTMsIDB4OUMsIDB4RjksIDB4 MjgsIDB4NEYsIDB4QkIsCisrIDB4MjQsIDB4REQsIDB4MjEsIDB4NEMsIDB4NDQsIDB4OTYsIDB4 NTAsIDB4QjUsIDB4RDQsIDB4OEUsIDB4MTMsIDB4NjAsCisrIDB4N0MsIDB4Q0IsIDB4RDksIDB4 NUUsIDB4N0MsIDB4QjYsIDB4QUQsIDB4QTUsIDB4NkEsIDB4NDEsIDB4MDQsIDB4QTcsCisrIDB4 OEUsIDB4RjAsIDB4MzksIDB4MDgsIDB4N0UsIDB4MTgsIDB4OTEsIDB4RjksIDB4NDYsIDB4OTcs IDB4RUYsIDB4RjIsCisrIDB4MTQsIDB4QjIsIDB4MDEsIDB4RkQsIDB4QjIsIDB4MkIsIDB4M0Es IDB4RjgsIDB4NEEsIDB4NTksIDB4RDEsIDB4MzYsCisrIDB4MUEsIDB4N0QsIDB4MkQsIDB4Qjks IDB4QzYsIDB4N0YsIDB4REUsIDB4NjIsIDB4QjYsIDB4NTYsIDB4QkEsIDB4RkEsCisrIDB4NUEs IDB4QTEsIDB4NUIsIDB4OEMsIDB4NUYsIDB4OTgsIDB4RUMsIDB4RjgsIDB4OTMsIDB4MTMsIDB4 MTEsIDB4NDIsCisrIDB4RUUsIDB4QzQsIDB4NkMsIDB4NEEsIDB4ODcsIDB4NEUsIDB4OTgsIDB4 MjIsIDB4QjYsIDB4QkIsIDB4QjAsIDB4M0EsCisrIDB4NzAsIDB4QTksIDB4Q0MsIDB4QkMsIDB4 MzEsIDB4MjcsIDB4RTcsIDB4QkMsIDB4Q0EsIDB4RUMsIDB4NTIsIDB4ODEsCisrIDB4NzYsIDB4 OUEsIDB4M0YsIDB4MTgsIDB4QzEsIDB4MUMsIDB4NEEsIDB4QzcsIDB4NTYsIDB4RTMsIDB4RjAs IDB4NkYsCisrIDB4MzYsIDB4QkIsIDB4OUIsIDB4RjksIDB4NDMsIDB4OTAsIDB4QkUsIDB4Nzks IDB4NTksIDB4NjMsIDB4MUMsIDB4RkUsCisrIDB4QjYsIDB4NDYsIDB4OEIsIDB4QkEsIDB4QkQs IDB4QUEsIDB4MjgsIDB4NzEsIDB4OUIsIDB4RDYsIDB4REQsIDB4MDUsCisrIDB4MDAsIDB4M0Is IDB4QkMsIDB4MkQsIDB4NDgsIDB4RTcsIDB4NkUsIDB4NkUsIDB4NDIsIDB4OTUsIDB4MjcsIDB4 QUUsCisrIDB4OTMsIDB4OTIsIDB4NkQsIDB4NTksIDB4NDcsIDB4MTAsIDB4NTksIDB4QUMsIDB4 REQsIDB4OTUsIDB4MjksIDB4QzMsCisrIDB4MUIsIDB4ODYsIDB4NjcsIDB4MTIsIDB4OTgsIDB4 NDgsIDB4MTAsIDB4QTYsIDB4OTAsIDB4QTMsIDB4NTksIDB4OUQsCisrIDB4MTAsIDB4NEUsIDB4 RUEsIDB4RDgsIDB4Q0IsIDB4RTMsIDB4ODEsIDB4QkEsIDB4QTEsIDB4NTIsIDB4NTUsIDB4Nzgs CisrIDB4RkYsIDB4OTUsIDB4NDAsIDB4RTAsIDB4QUUsIDB4OTMsIDB4MzgsIDB4NUQsIDB4MjEs IDB4MTMsIDB4OEEsIDB4RkMsCisrIDB4NzIsIDB4QzcsIDB4RkIsIDB4NzAsIDB4MUMsIDB4RUUs IDB4NUQsIDB4QjAsIDB4RTUsIDB4RkEsIDB4NDQsIDB4ODYsCisrIDB4NjcsIDB4OTcsIDB4NjYs IDB4NjQsIDB4QTQsIDB4MUUsIDB4RjgsIDB4M0EsIDB4MTYsIDB4RjgsIDB4QzksIDB4RTAsCisr IDB4MDksIDB4RjMsIDB4NjEsIDB4NEYKKyB9OworIAorIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBj aGFyIGthdF9SU0FfWDkzMV9TSEE1MTJbXSA9IHsKKy0gIDB4QTYsIDB4NjUsIDB4QTIsIDB4Nzcs IDB4NEYsIDB4QjMsIDB4ODYsIDB4Q0IsIDB4NjQsIDB4M0EsIDB4QzEsIDB4NjMsCistICAweEZD LCAweEExLCAweEFBLCAweENCLCAweDlCLCAweDc5LCAweERELCAweDRCLCAweEUxLCAweEQ5LCAw eERBLCAweEFDLAorLSAgMHhFNywgMHg0NywgMHgwOSwgMHhCMiwgMHgxMSwgMHg0QiwgMHg4QSwg MHhBQSwgMHgwNSwgMHg5RSwgMHg3NywgMHhENywKKy0gIDB4M0EsIDB4QkQsIDB4NUUsIDB4NTMs IDB4MDksIDB4NEEsIDB4RTYsIDB4MEYsIDB4NUUsIDB4RjksIDB4MTQsIDB4MjgsCistICAweEEw LCAweDk5LCAweDc0LCAweDY0LCAweDcwLCAweDRFLCAweEYyLCAweEUzLCAweEZBLCAweEM3LCAw eEY4LCAweEM1LAorLSAgMHg2RSwgMHgyQiwgMHg3OSwgMHg5NiwgMHgwRCwgMHgwQywgMHhDOCwg MHgxMCwgMHgzNCwgMHg1MywgMHhEMiwgMHhBRiwKKy0gIDB4MTcsIDB4MEUsIDB4RTAsIDB4QkYs IDB4NzksIDB4RjYsIDB4MDQsIDB4NzIsIDB4MTAsIDB4RTAsIDB4RjYsIDB4RDAsCistICAweENF LCAweDhBLCAweDZGLCAweEExLCAweDk1LCAweDg5LCAweEJGLCAweDU4LCAweDhGLCAweDQ2LCAw eDVGLCAweDA5LAorLSAgMHg5RiwgMHgwOSwgMHhDQSwgMHg4NCwgMHgxNSwgMHg4NSwgMHhFMCwg MHhFRCwgMHgwNCwgMHgyRCwgMHhGQiwgMHg3QywKKy0gIDB4MzYsIDB4MzUsIDB4MjEsIDB4MzEs IDB4QzMsIDB4RkQsIDB4OTIsIDB4NDIsIDB4MTEsIDB4MzAsIDB4NzEsIDB4MUIsCistICAweDYw LCAweDgzLCAweDE4LCAweDg4LCAweEEzLCAweEY1LCAweDU5LCAweEMzCisrIDB4QzksIDB4MkIs IDB4NkQsIDB4NTAsIDB4QkIsIDB4RDgsIDB4MEIsIDB4MzUsIDB4RTgsIDB4NzgsIDB4RjUsIDB4 RkMsCisrIDB4QkIsIDB4NkEsIDB4QjQsIDB4MzIsIDB4NjMsIDB4OUMsIDB4NzUsIDB4MTksIDB4 MUQsIDB4RkIsIDB4NjgsIDB4QzAsCisrIDB4RkMsIDB4MzQsIDB4Q0UsIDB4MDksIDB4RkQsIDB4 RjQsIDB4MzMsIDB4NDIsIDB4NzAsIDB4MjQsIDB4NTcsIDB4QkMsCisrIDB4QjMsIDB4QkQsIDB4 MjQsIDB4MzMsIDB4OUUsIDB4NEIsIDB4MDAsIDB4Q0UsIDB4MTUsIDB4QjMsIDB4MjcsIDB4QzYs CisrIDB4MzksIDB4N0MsIDB4QzEsIDB4MjgsIDB4NzUsIDB4RkUsIDB4N0IsIDB4NzYsIDB4NEYs IDB4RkIsIDB4NjAsIDB4QTAsCisrIDB4MzAsIDB4QkYsIDB4NzQsIDB4MkMsIDB4OUQsIDB4RTQs IDB4QzgsIDB4MDMsIDB4QTgsIDB4REUsIDB4QjksIDB4MkEsCisrIDB4RDksIDB4MjMsIDB4MjQs IDB4REMsIDB4RUUsIDB4RjAsIDB4QzEsIDB4OEIsIDB4NEQsIDB4MTIsIDB4NEEsIDB4NDEsCisr IDB4MzMsIDB4M0IsIDB4MjMsIDB4RkUsIDB4REQsIDB4RTksIDB4RTgsIDB4NTUsIDB4MkIsIDB4 M0UsIDB4QTQsIDB4MUIsCisrIDB4OTUsIDB4MjEsIDB4MkEsIDB4RUYsIDB4ODQsIDB4MkUsIDB4 MTMsIDB4M0QsIDB4OTcsIDB4N0MsIDB4MDgsIDB4ODYsCisrIDB4QjEsIDB4NjAsIDB4QTQsIDB4 QjksIDB4QzQsIDB4NUEsIDB4NUIsIDB4MkQsIDB4M0YsIDB4RDcsIDB4MEQsIDB4QjIsCisrIDB4 NDEsIDB4NzIsIDB4N0EsIDB4N0YsIDB4QTMsIDB4MTIsIDB4QjAsIDB4QUQsIDB4ODAsIDB4MkUs IDB4RDYsIDB4RDMsCisrIDB4OEEsIDB4NzEsIDB4NzIsIDB4NjcsIDB4OTQsIDB4NkYsIDB4NTEs IDB4MDUsIDB4MzksIDB4RkQsIDB4QkUsIDB4OTEsCisrIDB4REUsIDB4MUQsIDB4NjUsIDB4RTQs IDB4QTcsIDB4QTYsIDB4MEYsIDB4QTUsIDB4MDgsIDB4MUYsIDB4RkMsIDB4NTMsCisrIDB4NDgs IDB4N0IsIDB4QjgsIDB4Q0UsIDB4NzksIDB4REEsIDB4REMsIDB4MTgsIDB4RDEsIDB4RDMsIDB4 OEEsIDB4NzMsCisrIDB4Q0UsIDB4NUEsIDB4NjIsIDB4MUUsIDB4MzMsIDB4RDAsIDB4MjEsIDB4 OUMsIDB4RjksIDB4REUsIDB4OUUsIDB4N0UsCisrIDB4NEQsIDB4MEUsIDB4MjQsIDB4MzAsIDB4 OTQsIDB4QjgsIDB4REMsIDB4OEIsIDB4NTcsIDB4N0UsIDB4M0IsIDB4QzYsCisrIDB4RDcsIDB4 MEYsIDB4RkMsIDB4QTYsIDB4MUYsIDB4RUIsIDB4QUYsIDB4MTksIDB4RDAsIDB4RkYsIDB4M0Qs IDB4NjMsCisrIDB4MDMsIDB4MUQsIDB4QUIsIDB4MTEsIDB4MEMsIDB4QUQsIDB4NDUsIDB4NDYs IDB4NjcsIDB4NzYsIDB4QzgsIDB4MjYsCisrIDB4RDQsIDB4RDQsIDB4NzAsIDB4MUYsIDB4REYs IDB4RUIsIDB4RTUsIDB4N0QsIDB4NzUsIDB4RDgsIDB4M0IsIDB4NTIsCisrIDB4NkMsIDB4RTcs IDB4MjMsIDB4Q0IsIDB4QjksIDB4MUIsIDB4QTQsIDB4MkUsIDB4NUIsIDB4RUMsIDB4QjQsIDB4 QjYsCisrIDB4QjYsIDB4MkQsIDB4MEIsIDB4NjAsIDB4RTMsIDB4N0IsIDB4MDUsIDB4RTgsIDB4 MUUsIDB4QUQsIDB4QzcsIDB4RTcsCisrIDB4QkUsIDB4RjQsIDB4NzEsIDB4QUUKKyB9OworIAor K3N0YXRpYyBpbnQgZmlwc19yc2FfZW5jcnlwdF90ZXN0KFJTQSAqcnNhLCBjb25zdCB1bnNpZ25l ZCBjaGFyICpwbGFpbnRleHQsIGludCBwdGxlbikKKysJeworKwl1bnNpZ25lZCBjaGFyICpjdGJ1 ZiA9IE5VTEwsICpwdGJ1ZiA9IE5VTEw7CisrCWludCByZXQgPSAwOworKwlpbnQgbGVuOworKwor KwljdGJ1ZiA9IE9QRU5TU0xfbWFsbG9jKFJTQV9zaXplKHJzYSkpOworKwlpZiAoIWN0YnVmKQor KwkJZ290byBlcnI7CisrCisrCWxlbiA9IFJTQV9wdWJsaWNfZW5jcnlwdChwdGxlbiwgcGxhaW50 ZXh0LCBjdGJ1ZiwgcnNhLCBSU0FfUEtDUzFfUEFERElORyk7CisrCWlmIChsZW4gPD0gMCkKKysJ CWdvdG8gZXJyOworKwkvKiBDaGVjayBjaXBoZXJ0ZXh0IGRvZXNuJ3QgbWF0Y2ggcGxhaW50ZXh0 ICovCisrCWlmIChsZW4gPj0gcHRsZW4gJiYgIW1lbWNtcChwbGFpbnRleHQsIGN0YnVmLCBwdGxl bikpCisrCQlnb3RvIGVycjsKKysKKysJcHRidWYgPSBPUEVOU1NMX21hbGxvYyhSU0Ffc2l6ZShy c2EpKTsKKysJaWYgKCFwdGJ1ZikKKysJCWdvdG8gZXJyOworKworKwlsZW4gPSBSU0FfcHJpdmF0 ZV9kZWNyeXB0KGxlbiwgY3RidWYsIHB0YnVmLCByc2EsIFJTQV9QS0NTMV9QQURESU5HKTsKKysJ aWYgKGxlbiAhPSBwdGxlbikKKysJCWdvdG8gZXJyOworKwlpZiAobWVtY21wKHB0YnVmLCBwbGFp bnRleHQsIGxlbikpCisrCQlnb3RvIGVycjsKKysKKysJcmV0ID0gMTsKKysKKysJZXJyOgorKwlp ZiAoY3RidWYpCisrCQlPUEVOU1NMX2ZyZWUoY3RidWYpOworKwlpZiAocHRidWYpCisrCQlPUEVO U1NMX2ZyZWUocHRidWYpOworKwlyZXR1cm4gcmV0OworKwl9CisgCisgaW50IEZJUFNfc2VsZnRl c3RfcnNhKCkKKyAJeworQEAgLTM1Myw3ICs1ODcsNyBAQCBpbnQgRklQU19zZWxmdGVzdF9yc2Eo KQorIAlpZiAoKHBrPUVWUF9QS0VZX25ldygpKSA9PSBOVUxMKQorIAkJZ290byBlcnI7CisgCist CUVWUF9QS0VZX2Fzc2lnbl9SU0EocGssIGtleSk7CisrCUVWUF9QS0VZX3NldDFfUlNBKHBrLCBr ZXkpOworIAorIAlpZiAoIWZpcHNfcGtleV9zaWduYXR1cmVfdGVzdChwaywga2F0X3Ricywgc2l6 ZW9mKGthdF90YnMpIC0gMSwKKyAJCQkJa2F0X1JTQV9TSEExLCBzaXplb2Yoa2F0X1JTQV9TSEEx KSwKK0BAIC00MzAsMTMgKzY2NCwxNSBAQCBpbnQgRklQU19zZWxmdGVzdF9yc2EoKQorIAkJCSJS U0EgU0hBNTEyIFg5MzEiKSkKKyAJCWdvdG8gZXJyOworIAorKwlpZiAoIWZpcHNfcnNhX2VuY3J5 cHRfdGVzdChrZXksIGthdF90YnMsIHNpemVvZihrYXRfdGJzKSAtIDEpKQorKwkJZ290byBlcnI7 CisgCisgCXJldCA9IDE7CisgCisgCWVycjoKKyAJaWYgKHBrKQorIAkJRVZQX1BLRVlfZnJlZShw ayk7CistCWVsc2UgaWYgKGtleSkKKysJaWYgKGtleSkKKyAJCVJTQV9mcmVlKGtleSk7CisgCXJl dHVybiByZXQ7CisgCX0KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL01ha2Vm aWxlLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vZmlwcy9NYWtlZmlsZQorLS0tIG9w ZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL01ha2VmaWxlLmZpcHMtcmVxcwkyMDE0LTA4LTA3IDEx OjI1OjI4LjgyMzg4OTA4OCArMDIwMAorKysrIG9wZW5zc2wtMS4wLjFpL2NyeXB0by9maXBzL01h a2VmaWxlCTIwMTQtMDgtMDcgMTE6MjU6MjguODM4ODg5MTU5ICswMjAwCitAQCAtMjQsMTMgKzI0 LDE1IEBAIExJQlNSQz1maXBzX2Flc19zZWxmdGVzdC5jIGZpcHNfZGVzX3NlbGYKKyAgICAgZmlw c19yc2Ffc2VsZnRlc3QuYyBmaXBzX3NoYV9zZWxmdGVzdC5jIGZpcHMuYyBmaXBzX2RzYV9zZWxm dGVzdC5jICBmaXBzX3JhbmQuYyBcCisgICAgIGZpcHNfcnNhX3g5MzFnLmMgZmlwc19wb3N0LmMg Zmlwc19kcmJnX2N0ci5jIGZpcHNfZHJiZ19oYXNoLmMgZmlwc19kcmJnX2htYWMuYyBcCisgICAg IGZpcHNfZHJiZ19saWIuYyBmaXBzX2RyYmdfcmFuZC5jIGZpcHNfZHJiZ19zZWxmdGVzdC5jIGZp cHNfcmFuZF9saWIuYyBcCistICAgIGZpcHNfY21hY19zZWxmdGVzdC5jIGZpcHNfZWNkaF9zZWxm dGVzdC5jIGZpcHNfZWNkc2Ffc2VsZnRlc3QuYyBmaXBzX2VuYy5jIGZpcHNfbWQuYworKyAgICBm aXBzX2NtYWNfc2VsZnRlc3QuYyBmaXBzX2VjZGhfc2VsZnRlc3QuYyBmaXBzX2VjZHNhX3NlbGZ0 ZXN0LmMgZmlwc19lbmMuYyBmaXBzX21kLmMgXAorKyAgICBmaXBzX2RoX3NlbGZ0ZXN0LmMKKyAK KyBMSUJPQko9Zmlwc19hZXNfc2VsZnRlc3QubyBmaXBzX2Rlc19zZWxmdGVzdC5vIGZpcHNfaG1h Y19zZWxmdGVzdC5vIGZpcHNfcmFuZF9zZWxmdGVzdC5vIFwKKyAgICAgZmlwc19yc2Ffc2VsZnRl c3QubyBmaXBzX3NoYV9zZWxmdGVzdC5vIGZpcHMubyBmaXBzX2RzYV9zZWxmdGVzdC5vICBmaXBz X3JhbmQubyBcCisgICAgIGZpcHNfcnNhX3g5MzFnLm8gZmlwc19wb3N0Lm8gZmlwc19kcmJnX2N0 ci5vIGZpcHNfZHJiZ19oYXNoLm8gZmlwc19kcmJnX2htYWMubyBcCisgICAgIGZpcHNfZHJiZ19s aWIubyBmaXBzX2RyYmdfcmFuZC5vIGZpcHNfZHJiZ19zZWxmdGVzdC5vIGZpcHNfcmFuZF9saWIu byBcCistICAgIGZpcHNfY21hY19zZWxmdGVzdC5vIGZpcHNfZWNkaF9zZWxmdGVzdC5vIGZpcHNf ZWNkc2Ffc2VsZnRlc3QubyBmaXBzX2VuYy5vIGZpcHNfbWQubworKyAgICBmaXBzX2NtYWNfc2Vs ZnRlc3QubyBmaXBzX2VjZGhfc2VsZnRlc3QubyBmaXBzX2VjZHNhX3NlbGZ0ZXN0Lm8gZmlwc19l bmMubyBmaXBzX21kLm8gXAorKyAgICBmaXBzX2RoX3NlbGZ0ZXN0Lm8KKyAKKyBMSUJDUllQVE89 LUwuLiAtbGNyeXB0bworIAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL21vZGVzL2dj bTEyOC5jLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vbW9kZXMvZ2NtMTI4LmMKKy0t LSBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vbW9kZXMvZ2NtMTI4LmMuZmlwcy1yZXFzCTIwMTQtMDgt MDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL21v ZGVzL2djbTEyOC5jCTIwMTQtMDgtMDcgMTE6MjU6MjguODM5ODg5MTY0ICswMjAwCitAQCAtOTA2 LDYgKzkwNiwxMCBAQCBpbnQgQ1JZUFRPX2djbTEyOF9lbmNyeXB0KEdDTTEyOF9DT05URVhUCisg IyBlbmRpZgorICNlbmRpZgorIAorKwljdHgtPnRvdGxlbiArPSBsZW47CisrCWlmIChjdHgtPnRv dGxlbj4oVTY0KDEpPDwzNikgfHwgKHNpemVvZihsZW4pPT04ICYmIGN0eC0+dG90bGVuPGxlbikp CisrCQlyZXR1cm4gLTE7CisrCisgI2lmIDAKKyAJbiA9ICh1bnNpZ25lZCBpbnQpbWxlbiUxNjsg LyogYWx0ZXJuYXRpdmUgdG8gY3R4LT5tcmVzICovCisgI2VuZGlmCitAQCAtMTI2OSw2ICsxMjcz LDEwIEBAIGludCBDUllQVE9fZ2NtMTI4X2VuY3J5cHRfY3RyMzIoR0NNMTI4X0MKKyAjIGVuZGlm CisgI2VuZGlmCisgCisrCWN0eC0+dG90bGVuICs9IGxlbjsKKysJaWYgKGN0eC0+dG90bGVuPihV NjQoMSk8PDM2KSB8fCAoc2l6ZW9mKGxlbik9PTggJiYgY3R4LT50b3RsZW48bGVuKSkKKysJCXJl dHVybiAtMTsKKysKKyAJbWxlbiArPSBsZW47CisgCWlmIChtbGVuPigoVTY0KDEpPDwzNiktMzIp IHx8IChzaXplb2YobGVuKT09OCAmJiBtbGVuPGxlbikpCisgCQlyZXR1cm4gLTE7CitkaWZmIC11 cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vbW9kZXMvbW9kZXNfbGNsLmguZmlwcy1yZXFzIG9wZW5z c2wtMS4wLjFpL2NyeXB0by9tb2Rlcy9tb2Rlc19sY2wuaAorLS0tIG9wZW5zc2wtMS4wLjFpL2Ny eXB0by9tb2Rlcy9tb2Rlc19sY2wuaC5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC4zNjU4 ODY5MTggKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vbW9kZXMvbW9kZXNfbGNsLmgJ MjAxNC0wOC0wNyAxMToyNToyOC44Mzk4ODkxNjQgKzAyMDAKK0BAIC0xMTIsNiArMTEyLDcgQEAg c3RydWN0IGdjbTEyOF9jb250ZXh0IHsKKyAJdW5zaWduZWQgaW50IG1yZXMsIGFyZXM7CisgCWJs b2NrMTI4X2YgYmxvY2s7CisgCXZvaWQgKmtleTsKKysJdTY0IHRvdGxlbjsKKyB9OworIAorIHN0 cnVjdCB4dHMxMjhfY29udGV4dCB7CitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vcmFu ZC9yYW5kX2xjbC5oLmZpcHMtcmVxcyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vcmFuZC9yYW5kX2xj bC5oCistLS0gb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQvcmFuZF9sY2wuaC5maXBzLXJlcXMJ MjAxNC0wOC0wNyAxMToyNToyOC40MTg4ODcxNjkgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9j cnlwdG8vcmFuZC9yYW5kX2xjbC5oCTIwMTQtMDgtMDcgMTE6MjU6MjguODQwODg5MTY4ICswMjAw CitAQCAtMTEyLDcgKzExMiw3IEBACisgI2lmbmRlZiBIRUFERVJfUkFORF9MQ0xfSAorICNkZWZp bmUgSEVBREVSX1JBTkRfTENMX0gKKyAKKy0jZGVmaW5lIEVOVFJPUFlfTkVFREVEIDMyICAvKiBy ZXF1aXJlIDI1NiBiaXRzID0gMzIgYnl0ZXMgb2YgcmFuZG9tbmVzcyAqLworKyNkZWZpbmUgRU5U Uk9QWV9ORUVERUQgNDggIC8qIHJlcXVpcmUgMzg0IGJpdHMgPSA0OCBieXRlcyBvZiByYW5kb21u ZXNzICovCisgCisgCisgI2lmICFkZWZpbmVkKFVTRV9NRDVfUkFORCkgJiYgIWRlZmluZWQoVVNF X1NIQTFfUkFORCkgJiYgIWRlZmluZWQoVVNFX01EQzJfUkFORCkgJiYgIWRlZmluZWQoVVNFX01E Ml9SQU5EKQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQvcmFuZF9saWIuYy5m aXBzLXJlcXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQvcmFuZF9saWIuYworLS0tIG9wZW5z c2wtMS4wLjFpL2NyeXB0by9yYW5kL3JhbmRfbGliLmMuZmlwcy1yZXFzCTIwMTQtMDgtMDYgMjM6 MTA6NTYuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JhbmQvcmFu ZF9saWIuYwkyMDE0LTA4LTA3IDEzOjQ1OjUxLjI0MDUzNTQ0NiArMDIwMAorQEAgLTI0MCwxMiAr MjQwLDI0IEBAIHN0YXRpYyBpbnQgZHJiZ19yYW5kX2FkZChEUkJHX0NUWCAqY3R4LAorIAkJCQlk b3VibGUgZW50cm9weSkKKyAJeworIAlSQU5EX1NTTGVheSgpLT5hZGQoaW4sIGlubGVuLCBlbnRy b3B5KTsKKysJaWYgKEZJUFNfcmFuZF9zdGF0dXMoKSkKKysJCXsKKysJCUNSWVBUT193X2xvY2so Q1JZUFRPX0xPQ0tfUkFORCk7CisrCQlGSVBTX2RyYmdfcmVzZWVkKGN0eCwgTlVMTCwgMCk7Cisr CQlDUllQVE9fd191bmxvY2soQ1JZUFRPX0xPQ0tfUkFORCk7CisrCQl9CisgCXJldHVybiAxOwor IAl9CisgCisgc3RhdGljIGludCBkcmJnX3JhbmRfc2VlZChEUkJHX0NUWCAqY3R4LCBjb25zdCB2 b2lkICppbiwgaW50IGlubGVuKQorIAl7CisgCVJBTkRfU1NMZWF5KCktPnNlZWQoaW4sIGlubGVu KTsKKysJaWYgKEZJUFNfcmFuZF9zdGF0dXMoKSkKKysJCXsKKysJCUNSWVBUT193X2xvY2soQ1JZ UFRPX0xPQ0tfUkFORCk7CisrCQlGSVBTX2RyYmdfcmVzZWVkKGN0eCwgTlVMTCwgMCk7CisrCQlD UllQVE9fd191bmxvY2soQ1JZUFRPX0xPQ0tfUkFORCk7CisrCQl9CisgCXJldHVybiAxOworIAl9 CisgCitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzLXJl cXMgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3JzYS9yc2FfZ2VuLmMKKy0tLSBvcGVuc3NsLTEuMC4x aS9jcnlwdG8vcnNhL3JzYV9nZW4uYy5maXBzLXJlcXMJMjAxNC0wOC0wNyAxMToyNToyOC43ODg4 ODg5MjIgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8vcnNhL3JzYV9nZW4uYwkyMDE0 LTA4LTA3IDExOjI1OjI4Ljg0MDg4OTE2OCArMDIwMAorQEAgLTEsNSArMSw2IEBACisgLyogY3J5 cHRvL3JzYS9yc2FfZ2VuLmMgKi8KKyAvKiBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OCBFcmljIFlv dW5nIChlYXlAY3J5cHRzb2Z0LmNvbSkKKysgKiBDb3B5cmlnaHQgKEMpIDIwMTMgUmVkIEhhdCwg SW5jLgorICAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICoKKyAgKiBUaGlzIHBhY2thZ2UgaXMg YW4gU1NMIGltcGxlbWVudGF0aW9uIHdyaXR0ZW4KK0BAIC0xNjUsNiArMTY2LDIyMiBAQCBpbnQg UlNBX2dlbmVyYXRlX2tleV9leChSU0EgKnJzYSwgaW50IGJpCisgCXJldHVybiByc2FfYnVpbHRp bl9rZXlnZW4ocnNhLCBiaXRzLCBlX3ZhbHVlLCBjYik7CisgCX0KKyAKKysjaWZkZWYgT1BFTlNT TF9GSVBTCisrc3RhdGljIGludCBGSVBTX3JzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwgaW50 IGJpdHMsIEJJR05VTSAqZV92YWx1ZSwgQk5fR0VOQ0IgKmNiKQorKwl7CisrCUJJR05VTSAqcjAg PSBOVUxMLCAqcjEgPSBOVUxMLCAqcjIgPSBOVUxMLCAqcjMgPSBOVUxMLCAqdG1wOworKwlCSUdO VU0gbG9jYWxfcjAsIGxvY2FsX2QsIGxvY2FsX3A7CisrCUJJR05VTSAqcHIwLCAqZCwgKnA7Cisr CUJOX0NUWCAqY3R4ID0gTlVMTDsKKysJaW50IG9rID0gLTE7CisrCWludCBpOworKyAgICAgICAg aW50IG4gPSAwOworKwlpbnQgdGVzdCA9IDA7CisrICAgICAgICBpbnQgcGJpdHMgPSBiaXRzLzI7 CisrCisrCWlmKEZJUFNfc2VsZnRlc3RfZmFpbGVkKCkpCisrCQl7CisrCQlGSVBTZXJyKEZJUFNf Rl9SU0FfQlVJTFRJTl9LRVlHRU4sIEZJUFNfUl9GSVBTX1NFTEZURVNUX0ZBSUxFRCk7CisrCSAg ICAJcmV0dXJuIDA7CisrCSAgICAJfQorKworKwlpZiAoKHBiaXRzICYgMHhGRikgfHwgKGdldGVu digiT1BFTlNTTF9FTkZPUkNFX01PRFVMVVNfQklUUyIpICYmIGJpdHMgIT0gMjA0OCAmJiBiaXRz ICE9IDMwNzIpKQorKwkJeworKwkJRklQU2VycihGSVBTX0ZfUlNBX0JVSUxUSU5fS0VZR0VOLCBG SVBTX1JfSU5WQUxJRF9LRVlfTEVOR1RIKTsKKysJCXJldHVybiAwOworKwkJfQorKworKwljdHgg PSBCTl9DVFhfbmV3KCk7CisrCWlmIChjdHggPT0gTlVMTCkgZ290byBlcnI7CisrCUJOX0NUWF9z dGFydChjdHgpOworKwlyMCA9IEJOX0NUWF9nZXQoY3R4KTsKKysJcjEgPSBCTl9DVFhfZ2V0KGN0 eCk7CisrCXIyID0gQk5fQ1RYX2dldChjdHgpOworKwlyMyA9IEJOX0NUWF9nZXQoY3R4KTsKKysK KysJaWYgKHIzID09IE5VTEwpIGdvdG8gZXJyOworKworKwkvKiBXZSBuZWVkIHRoZSBSU0EgY29t cG9uZW50cyBub24tTlVMTCAqLworKwlpZiAoIXJzYS0+biAmJiAoKHJzYS0+bj1CTl9uZXcoKSkg PT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+ZCAmJiAoKHJzYS0+ZD1CTl9uZXcoKSkg PT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+ZSAmJiAoKHJzYS0+ZT1CTl9uZXcoKSkg PT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+cCAmJiAoKHJzYS0+cD1CTl9uZXcoKSkg PT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+cSAmJiAoKHJzYS0+cT1CTl9uZXcoKSkg PT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+ZG1wMSAmJiAoKHJzYS0+ZG1wMT1CTl9u ZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+ZG1xMSAmJiAoKHJzYS0+ZG1x MT1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOworKwlpZiAoIXJzYS0+aXFtcCAmJiAoKHJz YS0+aXFtcD1CTl9uZXcoKSkgPT0gTlVMTCkpIGdvdG8gZXJyOworKworKwlpZiAoIUJOX3NldF93 b3JkKHIwLCBSU0FfRjQpKSBnb3RvIGVycjsKKysJaWYgKEJOX2NtcChlX3ZhbHVlLCByMCkgPCAw IHx8IEJOX251bV9iaXRzKGVfdmFsdWUpID4gMjU2KQorKwkJeworKwkJb2sgPSAwOyAvKiB3ZSBz ZXQgb3VyIG93biBlcnIgKi8KKysJCVJTQWVycihSU0FfRl9SU0FfQlVJTFRJTl9LRVlHRU4sUlNB X1JfQkFEX0VfVkFMVUUpOworKwkJZ290byBlcnI7CisrCQl9CisrCisrCS8qIHByZXBhcmUgYXBw cm94aW1hdGUgbWluaW11bSBwIGFuZCBxICovCisrCWlmICghQk5fc2V0X3dvcmQocjAsIDB4QjUw NEYzMzQpKSBnb3RvIGVycjsKKysJaWYgKCFCTl9sc2hpZnQocjAsIHIwLCBwYml0cyAtIDMyKSkg Z290byBlcnI7CisrCisrCS8qIHByZXBhcmUgbWluaW11bSBwIGFuZCBxIGRpZmZlcmVuY2UgKi8K KysJaWYgKCFCTl9vbmUocjMpKSBnb3RvIGVycjsKKysJaWYgKCFCTl9sc2hpZnQocjMsIHIzLCBw Yml0cyAtIDEwMCkpIGdvdG8gZXJyOworKworKwlCTl9jb3B5KHJzYS0+ZSwgZV92YWx1ZSk7Cisr CisrCWlmICghQk5faXNfemVybyhyc2EtPnApICYmICFCTl9pc196ZXJvKHJzYS0+cSkpCisrCQl0 ZXN0ID0gMTsKKysKKysJLyogZ2VuZXJhdGUgcCBhbmQgcSAqLworKwlmb3IgKGkgPSAwOyBpIDwg NSAqIHBiaXRzOyBpKyspCisrCQl7CisrICAgICAgICBwbG9vcDoKKysgICAgICAgICAgICAgICAg aWYgKCF0ZXN0KQorKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghQk5fcmFuZChyc2EtPnAs IHBiaXRzLCAwLCAxKSkgZ290byBlcnI7CisrICAgICAgICAgICAgICAgIGlmIChCTl9jbXAocnNh LT5wLCByMCkgPCAwKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAg ICAgICAgICAgICBpZiAodGVzdCkgZ290byBlcnI7CisrICAgICAgICAgICAgICAgICAgICAgICAg Z290byBwbG9vcDsKKysgICAgICAgICAgICAgICAgICAgICAgICB9CisrCisrCQlpZiAoIUJOX3N1 YihyMiwgcnNhLT5wLCBCTl92YWx1ZV9vbmUoKSkpIGdvdG8gZXJyOworKwkJaWYgKCFCTl9nY2Qo cjEsIHIyLCByc2EtPmUsIGN0eCkpIGdvdG8gZXJyOworKwkJaWYgKEJOX2lzX29uZShyMSkpCisr ICAgICAgICAgICAgICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGludCBy OworKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSBCTl9pc19wcmltZV9mYXN0dGVzdF9leChy c2EtPnAsIHBiaXRzPjEwMjQ/NDo1LCBjdHgsIDAsIGNiKTsKKysgICAgICAgIAkJaWYgKHIgPT0g LTEgfHwgKHRlc3QgJiYgciA8PSAwKSkgZ290byBlcnI7CisrICAgICAgICAJCWlmIChyID4gMCkg YnJlYWs7CisrICAgICAgICAgICAgICAgICAgICAgICAgfSAKKysKKysJCWlmKCFCTl9HRU5DQl9j YWxsKGNiLCAyLCBuKyspKQorKwkJCWdvdG8gZXJyOworKwkJfQorKworKwlpZighQk5fR0VOQ0Jf Y2FsbChjYiwgMywgMCkpCisrCQlnb3RvIGVycjsKKysKKysgICAgICAgIGlmKGkgPj0gNSpwYml0 cykKKysgICAgICAgICAgICAgICAgLyogcHJpbWUgbm90IGZvdW5kICovCisrICAgICAgICAgICAg ICAgIGdvdG8gZXJyOworKworKwlmb3IgKGkgPSAwOyBpIDwgNSAqIHBiaXRzOyBpKyspCisrCQl7 CisrICAgICAgICBxbG9vcDoKKysgICAgICAgICAgICAgICAgaWYgKCF0ZXN0KQorKyAgICAgICAg ICAgICAgICAgICAgICAgIGlmICghQk5fcmFuZChyc2EtPnEsIHBiaXRzLCAwLCAxKSkgZ290byBl cnI7CisrICAgICAgICAgICAgICAgIGlmIChCTl9jbXAocnNhLT5xLCByMCkgPCAwKQorKyAgICAg ICAgICAgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGVzdCkg Z290byBlcnI7CisrICAgICAgICAgICAgICAgICAgICAgICAgZ290byBxbG9vcDsKKysgICAgICAg ICAgICAgICAgICAgICAgICB9CisrICAgICAgIAkJaWYgKCFCTl9zdWIocjIsIHJzYS0+cSwgcnNh LT5wKSkgZ290byBlcnI7CisrICAgICAgICAgICAgICAgIGlmIChCTl91Y21wKHIyLCByMykgPD0g MCkKKysgICAgICAgICAgICAgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgICAgICAgICAg aWYgKHRlc3QpIGdvdG8gZXJyOworKyAgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcWxvb3A7 CisrICAgICAgICAgICAgICAgICAgICAgICAgfQorKworKwkJaWYgKCFCTl9zdWIocjIsIHJzYS0+ cSwgQk5fdmFsdWVfb25lKCkpKSBnb3RvIGVycjsKKysJCWlmICghQk5fZ2NkKHIxLCByMiwgcnNh LT5lLCBjdHgpKSBnb3RvIGVycjsKKysJCWlmIChCTl9pc19vbmUocjEpKQorKyAgICAgICAgICAg ICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcjsKKysgICAgICAg ICAgICAgICAgICAgICAgICByID0gQk5faXNfcHJpbWVfZmFzdHRlc3RfZXgocnNhLT5xLCBwYml0 cz4xMDI0PzQ6NSwgY3R4LCAwLCBjYik7CisrICAgICAgICAJCWlmIChyID09IC0xIHx8ICh0ZXN0 ICYmIHIgPD0gMCkpIGdvdG8gZXJyOworKyAgICAgICAgCQlpZiAociA+IDApIGJyZWFrOworKyAg ICAgICAgICAgICAgICAgICAgICAgIH0gCisrCisrCQlpZighQk5fR0VOQ0JfY2FsbChjYiwgMiwg bisrKSkKKysJCQlnb3RvIGVycjsKKysJCX0KKysKKysJaWYoIUJOX0dFTkNCX2NhbGwoY2IsIDMs IDEpKQorKwkJZ290byBlcnI7CisrCisrICAgICAgICBpZihpID49IDUqcGJpdHMpCisrICAgICAg ICAgICAgICAgIC8qIHByaW1lIG5vdCBmb3VuZCAqLworKyAgICAgICAgICAgICAgICBnb3RvIGVy cjsKKysKKysgICAgICAgIGlmICh0ZXN0KQorKyAgICAgICAgICAgICAgICB7CisrICAgICAgICAg ICAgICAgIC8qIGRvIG5vdCB0cnkgdG8gY2FsY3VsYXRlIHRoZSByZW1haW5pbmcga2V5IHZhbHVl cyAqLworKyAgICAgICAgICAgICAgICBCTl9jbGVhcihyc2EtPm4pOworKyAgICAgICAgICAgICAg ICBvayA9IDE7CisrICAgICAgICAgICAgICAgIGdvdG8gZXJyOworKyAgICAgICAgICAgICAgICB9 CisrCisrCWlmIChCTl9jbXAocnNhLT5wLHJzYS0+cSkgPCAwKQorKwkJeworKwkJdG1wPXJzYS0+ cDsKKysJCXJzYS0+cD1yc2EtPnE7CisrCQlyc2EtPnE9dG1wOworKwkJfQorKworKwkvKiBjYWxj dWxhdGUgbiAqLworKwlpZiAoIUJOX211bChyc2EtPm4scnNhLT5wLHJzYS0+cSxjdHgpKSBnb3Rv IGVycjsKKysKKysJLyogY2FsY3VsYXRlIGQgKi8KKysJaWYgKCFCTl9zdWIocjEscnNhLT5wLEJO X3ZhbHVlX29uZSgpKSkgZ290byBlcnI7CS8qIHAtMSAqLworKwlpZiAoIUJOX3N1YihyMixyc2Et PnEsQk5fdmFsdWVfb25lKCkpKSBnb3RvIGVycjsJLyogcS0xICovCisrCWlmICghQk5fbXVsKHIw LHIxLHIyLGN0eCkpIGdvdG8gZXJyOwkvKiAocC0xKShxLTEpICovCisrCWlmICghKHJzYS0+Zmxh Z3MgJiBSU0FfRkxBR19OT19DT05TVFRJTUUpKQorKwkJeworKwkJICBwcjAgPSAmbG9jYWxfcjA7 CisrCQkgIEJOX3dpdGhfZmxhZ3MocHIwLCByMCwgQk5fRkxHX0NPTlNUVElNRSk7CisrCQl9Cisr CWVsc2UKKysJICBwcjAgPSByMDsKKysJaWYgKCFCTl9tb2RfaW52ZXJzZShyc2EtPmQscnNhLT5l LHByMCxjdHgpKSBnb3RvIGVycjsJLyogZCAqLworKworKwkvKiBzZXQgdXAgZCBmb3IgY29ycmVj dCBCTl9GTEdfQ09OU1RUSU1FIGZsYWcgKi8KKysJaWYgKCEocnNhLT5mbGFncyAmIFJTQV9GTEFH X05PX0NPTlNUVElNRSkpCisrCQl7CisrCQlkID0gJmxvY2FsX2Q7CisrCQlCTl93aXRoX2ZsYWdz KGQsIHJzYS0+ZCwgQk5fRkxHX0NPTlNUVElNRSk7CisrCQl9CisrCWVsc2UKKysJCWQgPSByc2Et PmQ7CisrCisrCS8qIGNhbGN1bGF0ZSBkIG1vZCAocC0xKSAqLworKwlpZiAoIUJOX21vZChyc2Et PmRtcDEsZCxyMSxjdHgpKSBnb3RvIGVycjsKKysKKysJLyogY2FsY3VsYXRlIGQgbW9kIChxLTEp ICovCisrCWlmICghQk5fbW9kKHJzYS0+ZG1xMSxkLHIyLGN0eCkpIGdvdG8gZXJyOworKworKwkv KiBjYWxjdWxhdGUgaW52ZXJzZSBvZiBxIG1vZCBwICovCisrCWlmICghKHJzYS0+ZmxhZ3MgJiBS U0FfRkxBR19OT19DT05TVFRJTUUpKQorKwkJeworKwkJcCA9ICZsb2NhbF9wOworKwkJQk5fd2l0 aF9mbGFncyhwLCByc2EtPnAsIEJOX0ZMR19DT05TVFRJTUUpOworKwkJfQorKwllbHNlCisrCQlw ID0gcnNhLT5wOworKwlpZiAoIUJOX21vZF9pbnZlcnNlKHJzYS0+aXFtcCxyc2EtPnEscCxjdHgp KSBnb3RvIGVycjsKKysKKysJaWYgKGZpcHNfcnNhX3BhaXJ3aXNlX2ZhaWwpCisrCQlCTl9hZGRf d29yZChyc2EtPm4sIDEpOworKworKwlpZighZmlwc19jaGVja19yc2EocnNhKSkKKysJICAgIGdv dG8gZXJyOworKworKwlvaz0xOworK2VycjoKKysJaWYgKG9rID09IC0xKQorKwkJeworKwkJUlNB ZXJyKFJTQV9GX1JTQV9CVUlMVElOX0tFWUdFTixFUlJfTElCX0JOKTsKKysJCW9rID0gMDsKKysJ CX0KKysJaWYgKGN0eCAhPSBOVUxMKQorKwkJeworKwkJQk5fQ1RYX2VuZChjdHgpOworKwkJQk5f Q1RYX2ZyZWUoY3R4KTsKKysJCX0KKysKKysJcmV0dXJuIG9rOworKwl9CisrI2VuZGlmCisrCisg c3RhdGljIGludCByc2FfYnVpbHRpbl9rZXlnZW4oUlNBICpyc2EsIGludCBiaXRzLCBCSUdOVU0g KmVfdmFsdWUsIEJOX0dFTkNCICpjYikKKyAJeworIAlCSUdOVU0gKnIwPU5VTEwsKnIxPU5VTEws KnIyPU5VTEwsKnIzPU5VTEwsKnRtcDsKK0BAIC0xNzYsMTcgKzM5MywxMiBAQCBzdGF0aWMgaW50 IHJzYV9idWlsdGluX2tleWdlbihSU0EgKnJzYSwKKyAjaWZkZWYgT1BFTlNTTF9GSVBTCisgCWlm IChGSVBTX21vZHVsZV9tb2RlKCkpCisgCQl7CistCQlpZihGSVBTX3NlbGZ0ZXN0X2ZhaWxlZCgp KQorLQkgICAgCXsKKy0JCSAgICBGSVBTZXJyKEZJUFNfRl9SU0FfQlVJTFRJTl9LRVlHRU4sRklQ U19SX0ZJUFNfU0VMRlRFU1RfRkFJTEVEKTsKKy0JICAgIAlyZXR1cm4gMDsKKy0JICAgIAl9Cist CisgCQlpZiAoYml0cyA8IE9QRU5TU0xfUlNBX0ZJUFNfTUlOX01PRFVMVVNfQklUUykKKyAJCSAg ICB7CisgCQkgICAgRklQU2VycihGSVBTX0ZfUlNBX0JVSUxUSU5fS0VZR0VOLEZJUFNfUl9LRVlf VE9PX1NIT1JUKTsKKyAJCSAgICByZXR1cm4gMDsKKyAJCSAgICB9CisrCQlyZXR1cm4gRklQU19y c2FfYnVpbHRpbl9rZXlnZW4ocnNhLCBiaXRzLCBlX3ZhbHVlLCBjYik7CisgCQl9CisgI2VuZGlm CisgCitAQCAtMzAxLDE3ICs1MTMsNiBAQCBzdGF0aWMgaW50IHJzYV9idWlsdGluX2tleWdlbihS U0EgKnJzYSwKKyAJCXAgPSByc2EtPnA7CisgCWlmICghQk5fbW9kX2ludmVyc2UocnNhLT5pcW1w LHJzYS0+cSxwLGN0eCkpIGdvdG8gZXJyOworIAorLSNpZmRlZiBPUEVOU1NMX0ZJUFMKKy0JaWYg KEZJUFNfbW9kdWxlX21vZGUoKSkKKy0JCXsKKy0JCWlmIChmaXBzX3JzYV9wYWlyd2lzZV9mYWls KQorLQkJCUJOX2FkZF93b3JkKHJzYS0+biwgMSk7CistCistCQlpZighZmlwc19jaGVja19yc2Eo cnNhKSkKKy0JCSAgICBnb3RvIGVycjsKKy0JCX0KKy0jZW5kaWYKKy0KKyAJb2s9MTsKKyBlcnI6 CisgCWlmIChvayA9PSAtMSkKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL3NzbC90MV9lbmMuYy5m aXBzLXJlcXMgb3BlbnNzbC0xLjAuMWkvc3NsL3QxX2VuYy5jCistLS0gb3BlbnNzbC0xLjAuMWkv c3NsL3QxX2VuYy5jLmZpcHMtcmVxcwkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIw MAorKysrIG9wZW5zc2wtMS4wLjFpL3NzbC90MV9lbmMuYwkyMDE0LTA4LTA3IDExOjI1OjI4Ljg0 MTg4OTE3MyArMDIwMAorQEAgLTI5MSw2ICsyOTEsMjcgQEAgc3RhdGljIGludCB0bHMxX1BSRihs b25nIGRpZ2VzdF9tYXNrLAorIGVycjoKKyAJcmV0dXJuIHJldDsKKyB9CisrCisraW50IHByaXZh dGVfdGxzMV9QUkYobG9uZyBkaWdlc3RfbWFzaywKKysJCSAgICAgY29uc3Qgdm9pZCAqc2VlZDEs IGludCBzZWVkMV9sZW4sCisrCQkgICAgIGNvbnN0IHZvaWQgKnNlZWQyLCBpbnQgc2VlZDJfbGVu LAorKwkJICAgICBjb25zdCB2b2lkICpzZWVkMywgaW50IHNlZWQzX2xlbiwKKysJCSAgICAgY29u c3Qgdm9pZCAqc2VlZDQsIGludCBzZWVkNF9sZW4sCisrCQkgICAgIGNvbnN0IHZvaWQgKnNlZWQ1 LCBpbnQgc2VlZDVfbGVuLAorKwkJICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpzZWMsIGludCBz bGVuLAorKwkJICAgICB1bnNpZ25lZCBjaGFyICpvdXQxLAorKwkJICAgICB1bnNpZ25lZCBjaGFy ICpvdXQyLCBpbnQgb2xlbikKKysJeworKwlyZXR1cm4gdGxzMV9QUkYoZGlnZXN0X21hc2ssCisr CQlzZWVkMSwgc2VlZDFfbGVuLAorKwkJc2VlZDIsIHNlZWQyX2xlbiwKKysJCXNlZWQzLCBzZWVk M19sZW4sCisrCQlzZWVkNCwgc2VlZDRfbGVuLAorKwkJc2VlZDUsIHNlZWQ1X2xlbiwKKysJCXNl Yywgc2xlbiwKKysJCW91dDEsIG91dDIsIG9sZW4pOworKwl9CisrCisgc3RhdGljIGludCB0bHMx X2dlbmVyYXRlX2tleV9ibG9jayhTU0wgKnMsIHVuc2lnbmVkIGNoYXIgKmttLAorIAkgICAgIHVu c2lnbmVkIGNoYXIgKnRtcCwgaW50IG51bSkKKyAJewoKZGlmZiAtLWdpdCBhL29wZW5zc2wtMS4w LjFpLXRydXN0ZWQtZmlyc3QucGF0Y2ggYi9vcGVuc3NsLTEuMC4xaS10cnVzdGVkLWZpcnN0LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMWYzNmQKLS0tIC9kZXYv bnVsbAorKysgYi9vcGVuc3NsLTEuMC4xaS10cnVzdGVkLWZpcnN0LnBhdGNoCkBAIC0wLDAgKzEs MzMwIEBACitkaWZmIC11cCBvcGVuc3NsLTEuMC4xaS9hcHBzL2FwcHMuYy50cnVzdGVkLWZpcnN0 IG9wZW5zc2wtMS4wLjFpL2FwcHMvYXBwcy5jCistLS0gb3BlbnNzbC0xLjAuMWkvYXBwcy9hcHBz LmMudHJ1c3RlZC1maXJzdAkyMDE0LTA4LTA2IDIzOjEwOjU2LjAwMDAwMDAwMCArMDIwMAorKysr IG9wZW5zc2wtMS4wLjFpL2FwcHMvYXBwcy5jCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzUxMTAzNDA1 ICswMjAwCitAQCAtMjM2NSw2ICsyMzY1LDggQEAgaW50IGFyZ3NfdmVyaWZ5KGNoYXIgKioqcGFy Z3MsIGludCAqcGFyZworIAkJZmxhZ3MgfD0gWDUwOV9WX0ZMQUdfTk9USUZZX1BPTElDWTsKKyAJ ZWxzZSBpZiAoIXN0cmNtcChhcmcsICItY2hlY2tfc3Nfc2lnIikpCisgCQlmbGFncyB8PSBYNTA5 X1ZfRkxBR19DSEVDS19TU19TSUdOQVRVUkU7CisrCWVsc2UgaWYgKCFzdHJjbXAoYXJnLCAiLXRy dXN0ZWRfZmlyc3QiKSkKKysJCWZsYWdzIHw9IFg1MDlfVl9GTEFHX1RSVVNURURfRklSU1Q7Cisg CWVsc2UKKyAJCXJldHVybiAwOworIAorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvYXBwcy9jbXMu Yy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2FwcHMvY21zLmMKKy0tLSBvcGVuc3NsLTEu MC4xaS9hcHBzL2Ntcy5jLnRydXN0ZWQtZmlyc3QJMjAxNC0wOC0wNiAyMzoxMDo1Ni4wMDAwMDAw MDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9hcHBzL2Ntcy5jCTIwMTQtMDgtMDcgMTM6NTQ6 MjcuNzUxMTAzNDA1ICswMjAwCitAQCAtNjQyLDYgKzY0Miw3IEBAIGludCBNQUlOKGludCBhcmdj LCBjaGFyICoqYXJndikKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItdGV4dCAgICAgICAgICBp bmNsdWRlIG9yIGRlbGV0ZSB0ZXh0IE1JTUUgaGVhZGVyc1xuIik7CisgCQlCSU9fcHJpbnRmIChi aW9fZXJyLCAiLUNBcGF0aCBkaXIgICAgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZGlyZWN0b3J5XG4i KTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItQ0FmaWxlIGZpbGUgICB0cnVzdGVkIGNlcnRp ZmljYXRlcyBmaWxlXG4iKTsKKysJCUJJT19wcmludGYgKGJpb19lcnIsICItdHJ1c3RlZF9maXJz dCB1c2UgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZmlyc3Qgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3Qg Y2hhaW5cbiIpOworIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1jcmxfY2hlY2sgICAgIGNoZWNr IHJldm9jYXRpb24gc3RhdHVzIG9mIHNpZ25lcidzIGNlcnRpZmljYXRlIHVzaW5nIENSTHNcbiIp OworIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1jcmxfY2hlY2tfYWxsIGNoZWNrIHJldm9jYXRp b24gc3RhdHVzIG9mIHNpZ25lcidzIGNlcnRpZmljYXRlIGNoYWluIHVzaW5nIENSTHNcbiIpOwor ICNpZm5kZWYgT1BFTlNTTF9OT19FTkdJTkUKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2FwcHMv b2NzcC5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWkvYXBwcy9vY3NwLmMKKy0tLSBvcGVu c3NsLTEuMC4xaS9hcHBzL29jc3AuYy50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDYgMjM6MTA6NTYu MDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvYXBwcy9vY3NwLmMJMjAxNC0wOC0w NyAxMzo1NDoyNy43NTIxMDM0MDkgKzAyMDAKK0BAIC02MDUsNiArNjA1LDcgQEAgaW50IE1BSU4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1wYXRoICAg ICAgICAgICAgICBwYXRoIHRvIHVzZSBpbiBPQ1NQIHJlcXVlc3RcbiIpOworIAkJQklPX3ByaW50 ZiAoYmlvX2VyciwgIi1DQXBhdGggZGlyICAgICAgICB0cnVzdGVkIGNlcnRpZmljYXRlcyBkaXJl Y3RvcnlcbiIpOworIAkJQklPX3ByaW50ZiAoYmlvX2VyciwgIi1DQWZpbGUgZmlsZSAgICAgICB0 cnVzdGVkIGNlcnRpZmljYXRlcyBmaWxlXG4iKTsKKysJCUJJT19wcmludGYgKGJpb19lcnIsICIt dHJ1c3RlZF9maXJzdCAgICAgdXNlIHRydXN0ZWQgY2VydGlmaWNhdGVzIGZpcnN0IHdoZW4gYnVp bGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItVkFm aWxlIGZpbGUgICAgICAgdmFsaWRhdG9yIGNlcnRpZmljYXRlcyBmaWxlXG4iKTsKKyAJCUJJT19w cmludGYgKGJpb19lcnIsICItdmFsaWRpdHlfcGVyaW9kIG4gbWF4aW11bSB2YWxpZGl0eSBkaXNj cmVwYW5jeSBpbiBzZWNvbmRzXG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19lcnIsICItc3RhdHVz X2FnZSBuICAgICAgbWF4aW11bSBzdGF0dXMgYWdlIGluIHNlY29uZHNcbiIpOworZGlmZiAtdXAg b3BlbnNzbC0xLjAuMWkvYXBwcy9zX2NsaWVudC5jLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAu MWkvYXBwcy9zX2NsaWVudC5jCistLS0gb3BlbnNzbC0xLjAuMWkvYXBwcy9zX2NsaWVudC5jLnRy dXN0ZWQtZmlyc3QJMjAxNC0wOC0wNyAxMzo1NDoyNy43NTIxMDM0MDkgKzAyMDAKKysrKyBvcGVu c3NsLTEuMC4xaS9hcHBzL3NfY2xpZW50LmMJMjAxNC0wOC0wNyAxNTowNjoyOC40NDM5MTgwNTUg KzAyMDAKK0BAIC0yOTksNiArMjk5LDcgQEAgc3RhdGljIHZvaWQgc2NfdXNhZ2Uodm9pZCkKKyAJ QklPX3ByaW50ZihiaW9fZXJyLCIgLXBhc3MgYXJnICAgICAtIHByaXZhdGUga2V5IGZpbGUgcGFz cyBwaHJhc2Ugc291cmNlXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJyLCIgLUNBcGF0aCBhcmcg ICAtIFBFTSBmb3JtYXQgZGlyZWN0b3J5IG9mIENBJ3NcbiIpOworIAlCSU9fcHJpbnRmKGJpb19l cnIsIiAtQ0FmaWxlIGFyZyAgIC0gUEVNIGZvcm1hdCBmaWxlIG9mIENBJ3NcbiIpOworKwlCSU9f cHJpbnRmKGJpb19lcnIsIiAtdHJ1c3RlZF9maXJzdCAtIFVzZSB0cnVzdGVkIENBJ3MgZmlyc3Qg d2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cbiIpOworIAlCSU9fcHJpbnRmKGJpb19lcnIs IiAtcmVjb25uZWN0ICAgIC0gRHJvcCBhbmQgcmUtbWFrZSB0aGUgY29ubmVjdGlvbiB3aXRoIHRo ZSBzYW1lIFNlc3Npb24tSURcbiIpOworIAlCSU9fcHJpbnRmKGJpb19lcnIsIiAtcGF1c2UgICAg ICAgIC0gc2xlZXAoMSkgYWZ0ZXIgZWFjaCByZWFkKDIpIGFuZCB3cml0ZSgyKSBzeXN0ZW0gY2Fs bFxuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1wcmV4aXQgICAgICAgLSBwcmludCBzZXNz aW9uIGluZm9ybWF0aW9uIGV2ZW4gb24gY29ubmVjdGlvbiBmYWlsdXJlXG4iKTsKK2RpZmYgLXVw IG9wZW5zc2wtMS4wLjFpL2FwcHMvc21pbWUuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFp L2FwcHMvc21pbWUuYworLS0tIG9wZW5zc2wtMS4wLjFpL2FwcHMvc21pbWUuYy50cnVzdGVkLWZp cnN0CTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWkvYXBwcy9zbWltZS5jCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzUzMTAzNDE0ICswMjAwCitAQCAt NDc5LDYgKzQ3OSw3IEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCUJJT19w cmludGYgKGJpb19lcnIsICItdGV4dCAgICAgICAgICBpbmNsdWRlIG9yIGRlbGV0ZSB0ZXh0IE1J TUUgaGVhZGVyc1xuIik7CisgCQlCSU9fcHJpbnRmIChiaW9fZXJyLCAiLUNBcGF0aCBkaXIgICAg dHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgZGlyZWN0b3J5XG4iKTsKKyAJCUJJT19wcmludGYgKGJpb19l cnIsICItQ0FmaWxlIGZpbGUgICB0cnVzdGVkIGNlcnRpZmljYXRlcyBmaWxlXG4iKTsKKysJCUJJ T19wcmludGYgKGJpb19lcnIsICItdHJ1c3RlZF9maXJzdCB1c2UgdHJ1c3RlZCBjZXJ0aWZpY2F0 ZXMgZmlyc3Qgd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hhaW5cbiIpOworIAkJQklPX3ByaW50 ZiAoYmlvX2VyciwgIi1jcmxfY2hlY2sgICAgIGNoZWNrIHJldm9jYXRpb24gc3RhdHVzIG9mIHNp Z25lcidzIGNlcnRpZmljYXRlIHVzaW5nIENSTHNcbiIpOworIAkJQklPX3ByaW50ZiAoYmlvX2Vy ciwgIi1jcmxfY2hlY2tfYWxsIGNoZWNrIHJldm9jYXRpb24gc3RhdHVzIG9mIHNpZ25lcidzIGNl cnRpZmljYXRlIGNoYWluIHVzaW5nIENSTHNcbiIpOworICNpZm5kZWYgT1BFTlNTTF9OT19FTkdJ TkUKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2FwcHMvc19zZXJ2ZXIuYy50cnVzdGVkLWZpcnN0 IG9wZW5zc2wtMS4wLjFpL2FwcHMvc19zZXJ2ZXIuYworLS0tIG9wZW5zc2wtMS4wLjFpL2FwcHMv c19zZXJ2ZXIuYy50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzE4MTAzMjQxICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWkvYXBwcy9zX3NlcnZlci5jCTIwMTQtMDgtMDcgMTM6NTQ6 MjcuNzUzMTAzNDE0ICswMjAwCitAQCAtNTAyLDYgKzUwMiw3IEBAIHN0YXRpYyB2b2lkIHN2X3Vz YWdlKHZvaWQpCisgCUJJT19wcmludGYoYmlvX2VyciwiIC1zdGF0ZSAgICAgICAgLSBQcmludCB0 aGUgU1NMIHN0YXRlc1xuIik7CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1DQXBhdGggYXJnICAg LSBQRU0gZm9ybWF0IGRpcmVjdG9yeSBvZiBDQSdzXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJy LCIgLUNBZmlsZSBhcmcgICAtIFBFTSBmb3JtYXQgZmlsZSBvZiBDQSdzXG4iKTsKKysJQklPX3By aW50ZihiaW9fZXJyLCIgLXRydXN0ZWRfZmlyc3QgLSBVc2UgdHJ1c3RlZCBDQSdzIGZpcnN0IHdo ZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluXG4iKTsKKyAJQklPX3ByaW50ZihiaW9fZXJyLCIg LW5vY2VydCAgICAgICAtIERvbid0IHVzZSBhbnkgY2VydGlmaWNhdGVzIChBbm9uLURIKVxuIik7 CisgCUJJT19wcmludGYoYmlvX2VyciwiIC1jaXBoZXIgYXJnICAgLSBwbGF5IHdpdGggJ29wZW5z c2wgY2lwaGVycycgdG8gc2VlIHdoYXQgZ29lcyBoZXJlXG4iKTsKKyAJQklPX3ByaW50ZihiaW9f ZXJyLCIgLXNlcnZlcnByZWYgICAtIFVzZSBzZXJ2ZXIncyBjaXBoZXIgcHJlZmVyZW5jZXNcbiIp OworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvYXBwcy9zX3RpbWUuYy50cnVzdGVkLWZpcnN0IG9w ZW5zc2wtMS4wLjFpL2FwcHMvc190aW1lLmMKKy0tLSBvcGVuc3NsLTEuMC4xaS9hcHBzL3NfdGlt ZS5jLnRydXN0ZWQtZmlyc3QJMjAxNC0wOC0wNyAxMzo1NDoyNy40MzIxMDE4MjMgKzAyMDAKKysr KyBvcGVuc3NsLTEuMC4xaS9hcHBzL3NfdGltZS5jCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzUzMTAz NDE0ICswMjAwCitAQCAtMTc5LDYgKzE3OSw3IEBAIHN0YXRpYyB2b2lkIHNfdGltZV91c2FnZSh2 b2lkKQorICAgICAgICAgICAgICAgICBmaWxlIGlmIG5vdCBzcGVjaWZpZWQgYnkgdGhpcyBvcHRp b25cblwKKyAtQ0FwYXRoIGFyZyAgIC0gUEVNIGZvcm1hdCBkaXJlY3Rvcnkgb2YgQ0Enc1xuXAor IC1DQWZpbGUgYXJnICAgLSBQRU0gZm9ybWF0IGZpbGUgb2YgQ0Enc1xuXAorKy10cnVzdGVkX2Zp cnN0IC0gVXNlIHRydXN0ZWQgQ0EncyBmaXJzdCB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFp blxuXAorIC1jaXBoZXIgICAgICAgLSBwcmVmZXJyZWQgY2lwaGVyIHRvIHVzZSwgcGxheSB3aXRo ICdvcGVuc3NsIGNpcGhlcnMnXG5cbiI7CisgCisgCXByaW50ZiggInVzYWdlOiBzX3RpbWUgPGFy Z3M+XG5cbiIgKTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2FwcHMvdHMuYy50cnVzdGVkLWZp cnN0IG9wZW5zc2wtMS4wLjFpL2FwcHMvdHMuYworLS0tIG9wZW5zc2wtMS4wLjFpL2FwcHMvdHMu Yy50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzA3MTAzMTg2ICswMjAwCisrKysg b3BlbnNzbC0xLjAuMWkvYXBwcy90cy5jCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzUzMTAzNDE0ICsw MjAwCitAQCAtMzgzLDcgKzM4Myw3IEBAIGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikK KyAJCSAgICJ0cyAtdmVyaWZ5IFstZGF0YSBmaWxlX3RvX2hhc2hdIFstZGlnZXN0IGRpZ2VzdF9i eXRlc10gIgorIAkJICAgIlstcXVlcnlmaWxlIHJlcXVlc3QudHNxXSAiCisgCQkgICAiLWluIHJl c3BvbnNlLnRzciBbLXRva2VuX2luXSAiCistCQkgICAiLUNBcGF0aCBjYV9wYXRoIC1DQWZpbGUg Y2FfZmlsZS5wZW0gIgorKwkJICAgIi1DQXBhdGggY2FfcGF0aCAtQ0FmaWxlIGNhX2ZpbGUucGVt IC10cnVzdGVkX2ZpcnN0IgorIAkJICAgIi11bnRydXN0ZWQgY2VydF9maWxlLnBlbVxuIik7Cisg IGNsZWFudXA6CisgCS8qIENsZWFuIHVwLiAqLworZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvYXBw cy92ZXJpZnkuYy50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2FwcHMvdmVyaWZ5LmMKKy0t LSBvcGVuc3NsLTEuMC4xaS9hcHBzL3ZlcmlmeS5jLnRydXN0ZWQtZmlyc3QJMjAxNC0wOC0wNiAy MzoxMDo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9hcHBzL3ZlcmlmeS5j CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU0MTAzNDE5ICswMjAwCitAQCAtMjM3LDcgKzIzNyw3IEBA IGludCBNQUlOKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAKKyBlbmQ6CisgCWlmIChyZXQgPT0g MSkgeworLQkJQklPX3ByaW50ZihiaW9fZXJyLCJ1c2FnZTogdmVyaWZ5IFstdmVyYm9zZV0gWy1D QXBhdGggcGF0aF0gWy1DQWZpbGUgZmlsZV0gWy1wdXJwb3NlIHB1cnBvc2VdIFstY3JsX2NoZWNr XSIpOworKwkJQklPX3ByaW50ZihiaW9fZXJyLCJ1c2FnZTogdmVyaWZ5IFstdmVyYm9zZV0gWy1D QXBhdGggcGF0aF0gWy1DQWZpbGUgZmlsZV0gWy10cnVzdGVkX2ZpcnN0XSBbLXB1cnBvc2UgcHVy cG9zZV0gWy1jcmxfY2hlY2tdIik7CisgCQlCSU9fcHJpbnRmKGJpb19lcnIsIiBbLWF0dGltZSB0 aW1lc3RhbXBdIik7CisgI2lmbmRlZiBPUEVOU1NMX05PX0VOR0lORQorIAkJQklPX3ByaW50Zihi aW9fZXJyLCIgWy1lbmdpbmUgZV0iKTsKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2NyeXB0by94 NTA5L3g1MDlfdmZ5LmMudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9jcnlwdG8veDUwOS94 NTA5X3ZmeS5jCistLS0gb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3g1MDkveDUwOV92ZnkuYy50cnVz dGVkLWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzE2MTAzMjMxICswMjAwCisrKysgb3BlbnNz bC0xLjAuMWkvY3J5cHRvL3g1MDkveDUwOV92ZnkuYwkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NDEw MzQxOSArMDIwMAorQEAgLTIwNyw2ICsyMDcsMjEgQEAgaW50IFg1MDlfdmVyaWZ5X2NlcnQoWDUw OV9TVE9SRV9DVFggKmN0eAorIAorIAkJLyogSWYgd2UgYXJlIHNlbGYgc2lnbmVkLCB3ZSBicmVh ayAqLworIAkJaWYgKGN0eC0+Y2hlY2tfaXNzdWVkKGN0eCwgeCx4KSkgYnJlYWs7CisrCQkvKiBJ ZiBhc2tlZCBzZWUgaWYgd2UgY2FuIGZpbmQgaXNzdWVyIGluIHRydXN0ZWQgc3RvcmUgZmlyc3Qg Ki8KKysJCWlmIChjdHgtPnBhcmFtLT5mbGFncyAmIFg1MDlfVl9GTEFHX1RSVVNURURfRklSU1Qp CisrCQkJeworKwkJCW9rID0gY3R4LT5nZXRfaXNzdWVyKCZ4dG1wLCBjdHgsIHgpOworKwkJCWlm IChvayA8IDApCisrCQkJCXJldHVybiBvazsKKysJCQkvKiBJZiBzdWNjZXNzZnVsIGZvciBub3cg ZnJlZSB1cCBjZXJ0IHNvIGl0CisrCQkJICogd2lsbCBiZSBwaWNrZWQgdXAgYWdhaW4gbGF0ZXIu CisrCQkJICovCisrCQkJaWYgKG9rID4gMCkKKysJCQkJeworKwkJCQlYNTA5X2ZyZWUoeHRtcCk7 CisrCQkJCWJyZWFrOworKwkJCQl9CisrCQkJfQorIAorIAkJLyogSWYgd2Ugd2VyZSBwYXNzZWQg YSBjZXJ0IGNoYWluLCB1c2UgaXQgZmlyc3QgKi8KKyAJCWlmIChjdHgtPnVudHJ1c3RlZCAhPSBO VUxMKQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvY3J5cHRvL3g1MDkveDUwOV92ZnkuaC50cnVz dGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2NyeXB0by94NTA5L3g1MDlfdmZ5LmgKKy0tLSBvcGVu c3NsLTEuMC4xaS9jcnlwdG8veDUwOS94NTA5X3ZmeS5oLnRydXN0ZWQtZmlyc3QJMjAxNC0wOC0w NyAxMzo1NDoyNy4zNjAxMDE0NjYgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9jcnlwdG8veDUw OS94NTA5X3ZmeS5oCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU0MTAzNDE5ICswMjAwCitAQCAtMzg5 LDYgKzM4OSw4IEBAIHZvaWQgWDUwOV9TVE9SRV9DVFhfc2V0X2RlcHRoKFg1MDlfU1RPUkUKKyAj ZGVmaW5lIFg1MDlfVl9GTEFHX1VTRV9ERUxUQVMJCQkweDIwMDAKKyAvKiBDaGVjayBzZWxmc2ln bmVkIENBIHNpZ25hdHVyZSAqLworICNkZWZpbmUgWDUwOV9WX0ZMQUdfQ0hFQ0tfU1NfU0lHTkFU VVJFCQkweDQwMDAKKysvKiBVc2UgdHJ1c3RlZCBzdG9yZSBmaXJzdCAqLworKyNkZWZpbmUgWDUw OV9WX0ZMQUdfVFJVU1RFRF9GSVJTVAkJMHg4MDAwCisgCisgCisgI2RlZmluZSBYNTA5X1ZQX0ZM QUdfREVGQVVMVAkJCTB4MQorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvY21zLnBv ZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL2Ntcy5wb2QKKy0tLSBvcGVu c3NsLTEuMC4xaS9kb2MvYXBwcy9jbXMucG9kLnRydXN0ZWQtZmlyc3QJMjAxNC0wOC0wNiAyMzox MDo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9jbXMucG9k CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU0MTAzNDE5ICswMjAwCitAQCAtMzUsNiArMzUsNyBAQCBC PG9wZW5zc2w+IEI8Y21zPgorIFtCPC1wcmludD5dCisgW0I8LUNBZmlsZSBmaWxlPl0KKyBbQjwt Q0FwYXRoIGRpcj5dCisrW0I8LXRydXN0ZWRfZmlyc3Q+XQorIFtCPC1tZCBkaWdlc3Q+XQorIFtC PC1bY2lwaGVyXT5dCisgW0I8LW5vaW50ZXJuPl0KK0BAIC0yNDMsNiArMjQ0LDEyIEBAIEI8LXZl cmlmeT4uIFRoaXMgZGlyZWN0b3J5IG11c3QgYmUgYSBzdGEKKyBpcyBhIGhhc2ggb2YgZWFjaCBz dWJqZWN0IG5hbWUgKHVzaW5nIEI8eDUwOSAtaGFzaD4pIHNob3VsZCBiZSBsaW5rZWQKKyB0byBl YWNoIGNlcnRpZmljYXRlLgorIAorKz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+CisrCisrVXNlIGNl cnRpZmljYXRlcyBpbiBDQSBmaWxlIG9yIENBIGRpcmVjdG9yeSBiZWZvcmUgdW50cnVzdGVkIGNl cnRpZmljYXRlcworK2Zyb20gdGhlIG1lc3NhZ2Ugd2hlbiBidWlsZGluZyB0aGUgdHJ1c3QgY2hh aW4gdG8gdmVyaWZ5IGNlcnRpZmljYXRlcy4KKytUaGlzIGlzIG1haW5seSB1c2VmdWwgaW4gZW52 aXJvbm1lbnRzIHdpdGggQnJpZGdlIENBIG9yIENyb3NzLUNlcnRpZmllZCBDQXMuCisrCisgPWl0 ZW0gQjwtbWQgZGlnZXN0PgorIAorIGRpZ2VzdCBhbGdvcml0aG0gdG8gdXNlIHdoZW4gc2lnbmlu ZyBvciByZXNpZ25pbmcuIElmIG5vdCBwcmVzZW50IHRoZW4gdGhlCitkaWZmIC11cCBvcGVuc3Ns LTEuMC4xaS9kb2MvYXBwcy9vY3NwLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2Rv Yy9hcHBzL29jc3AucG9kCistLS0gb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvb2NzcC5wb2QudHJ1 c3RlZC1maXJzdAkyMDE0LTA4LTA3IDEzOjU0OjI3LjcwODEwMzE5MSArMDIwMAorKysrIG9wZW5z c2wtMS4wLjFpL2RvYy9hcHBzL29jc3AucG9kCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU1MTAzNDI0 ICswMjAwCitAQCAtMjksNiArMjksNyBAQCBCPG9wZW5zc2w+IEI8b2NzcD4KKyBbQjwtcGF0aD5d CisgW0I8LUNBcGF0aCBkaXI+XQorIFtCPC1DQWZpbGUgZmlsZT5dCisrW0I8LXRydXN0ZWRfZmly c3Q+XQorIFtCPC1WQWZpbGUgZmlsZT5dCisgW0I8LXZhbGlkaXR5X3BlcmlvZCBuPl0KKyBbQjwt c3RhdHVzX2FnZSBuPl0KK0BAIC0xMzgsNiArMTM5LDEzIEBAIG9yICIvIiBieSBkZWZhdWx0Lgor IGZpbGUgb3IgcGF0aG5hbWUgY29udGFpbmluZyB0cnVzdGVkIENBIGNlcnRpZmljYXRlcy4gVGhl c2UgYXJlIHVzZWQgdG8gdmVyaWZ5CisgdGhlIHNpZ25hdHVyZSBvbiB0aGUgT0NTUCByZXNwb25z ZS4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0aWZpY2F0ZXMgaW4g Q0EgZmlsZSBvciBDQSBkaXJlY3Rvcnkgb3ZlciBjZXJ0aWZpY2F0ZXMgcHJvdmlkZWQKKytpbiB0 aGUgcmVzcG9uc2Ugb3IgcmVzaWRpbmcgaW4gb3RoZXIgY2VydGlmaWNhdGVzIGZpbGUgd2hlbiBi dWlsZGluZyB0aGUgdHJ1c3QKKytjaGFpbiB0byB2ZXJpZnkgcmVzcG9uZGVyIGNlcnRpZmljYXRl LgorK1RoaXMgaXMgbWFpbmx5IHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Eg b3IgQ3Jvc3MtQ2VydGlmaWVkIENBcy4KKysKKyA9aXRlbSBCPC12ZXJpZnlfb3RoZXIgZmlsZT4K KyAKKyBmaWxlIGNvbnRhaW5pbmcgYWRkaXRpb25hbCBjZXJ0aWZpY2F0ZXMgdG8gc2VhcmNoIHdo ZW4gYXR0ZW1wdGluZyB0byBsb2NhdGUKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBz L3NfY2xpZW50LnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NfY2xp ZW50LnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NfY2xpZW50LnBvZC50cnVzdGVk LWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzI2MTAzMjgxICswMjAwCisrKysgb3BlbnNzbC0x LjAuMWkvZG9jL2FwcHMvc19jbGllbnQucG9kCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU1MTAzNDI0 ICswMjAwCitAQCAtMTksNiArMTksNyBAQCBCPG9wZW5zc2w+IEI8c19jbGllbnQ+CisgW0I8LXBh c3MgYXJnPl0KKyBbQjwtQ0FwYXRoIGRpcmVjdG9yeT5dCisgW0I8LUNBZmlsZSBmaWxlbmFtZT5d CisrW0I8LXRydXN0ZWRfZmlyc3Q+XQorIFtCPC1yZWNvbm5lY3Q+XQorIFtCPC1wYXVzZT5dCisg W0I8LXNob3djZXJ0cz5dCitAQCAtMTIxLDcgKzEyMiw3IEBAIGFsc28gdXNlZCB3aGVuIGJ1aWxk aW5nIHRoZSBjbGllbnQgY2VydGkKKyBBIGZpbGUgY29udGFpbmluZyB0cnVzdGVkIGNlcnRpZmlj YXRlcyB0byB1c2UgZHVyaW5nIHNlcnZlciBhdXRoZW50aWNhdGlvbgorIGFuZCB0byB1c2Ugd2hl biBhdHRlbXB0aW5nIHRvIGJ1aWxkIHRoZSBjbGllbnQgY2VydGlmaWNhdGUgY2hhaW4uCisgCist PWl0ZW0gQjwtcHVycG9zZSwgLWlnbm9yZV9jcml0aWNhbCwgLWlzc3Vlcl9jaGVja3MsIC1jcmxf Y2hlY2ssIC1jcmxfY2hlY2tfYWxsLCAtcG9saWN5X2NoZWNrLCAtZXh0ZW5kZWRfY3JsLCAteDUw OV9zdHJpY3QsIC1wb2xpY3kgLWNoZWNrX3NzX3NpZz4KKys9aXRlbSBCPC1wdXJwb3NlLCAtaWdu b3JlX2NyaXRpY2FsLCAtaXNzdWVyX2NoZWNrcywgLWNybF9jaGVjaywgLWNybF9jaGVja19hbGws IC1wb2xpY3lfY2hlY2ssIC1leHRlbmRlZF9jcmwsIC14NTA5X3N0cmljdCwgLXBvbGljeSAtY2hl Y2tfc3Nfc2lnLCAtdHJ1c3RlZF9maXJzdD4KKyAKKyBTZXQgdmFyaW91cyBjZXJ0aWZpY2F0ZSBj aGFpbiB2YWxpYWRpdGlvbiBvcHRpb24uIFNlZSB0aGUKKyBMPEI8dmVyaWZ5Pnx2ZXJpZnkoMSk+ IG1hbnVhbCBwYWdlIGZvciBkZXRhaWxzLgorZGlmZiAtdXAgb3BlbnNzbC0xLjAuMWkvZG9jL2Fw cHMvc21pbWUucG9kLnRydXN0ZWQtZmlyc3Qgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc21pbWUu cG9kCistLS0gb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc21pbWUucG9kLnRydXN0ZWQtZmlyc3QJ MjAxNC0wNy0yMiAyMTo0MzoxMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBvcGVuc3NsLTEuMC4xaS9k b2MvYXBwcy9zbWltZS5wb2QJMjAxNC0wOC0wNyAxMzo1NDoyNy43NTUxMDM0MjQgKzAyMDAKK0BA IC0xNSw2ICsxNSw5IEBAIEI8b3BlbnNzbD4gQjxzbWltZT4KKyBbQjwtcGs3b3V0Pl0KKyBbQjwt W2NpcGhlcl0+XQorIFtCPC1pbiBmaWxlPl0KKytbQjwtQ0FmaWxlIGZpbGU+XQorK1tCPC1DQXBh dGggZGlyPl0KKytbQjwtdHJ1c3RlZF9maXJzdD5dCisgW0I8LWNlcnRmaWxlIGZpbGU+XQorIFtC PC1zaWduZXIgZmlsZT5dCisgW0I8LXJlY2lwICBmaWxlPl0KK0BAIC0xNDYsNiArMTQ5LDEyIEBA IEI8LXZlcmlmeT4uIFRoaXMgZGlyZWN0b3J5IG11c3QgYmUgYSBzdGEKKyBpcyBhIGhhc2ggb2Yg ZWFjaCBzdWJqZWN0IG5hbWUgKHVzaW5nIEI8eDUwOSAtaGFzaD4pIHNob3VsZCBiZSBsaW5rZWQK KyB0byBlYWNoIGNlcnRpZmljYXRlLgorIAorKz1pdGVtIEI8LXRydXN0ZWRfZmlyc3Q+CisrCisr VXNlIGNlcnRpZmljYXRlcyBpbiBDQSBmaWxlIG9yIENBIGRpcmVjdG9yeSBvdmVyIGNlcnRpZmlj YXRlcyBwcm92aWRlZAorK2luIHRoZSBtZXNzYWdlIHdoZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNo YWluIHRvIHZlcmlmeSBhIGNlcnRpZmljYXRlLgorK1RoaXMgaXMgbWFpbmx5IHVzZWZ1bCBpbiBl bnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Egb3IgQ3Jvc3MtQ2VydGlmaWVkIENBcy4KKysKKyA9 aXRlbSBCPC1tZCBkaWdlc3Q+CisgCisgZGlnZXN0IGFsZ29yaXRobSB0byB1c2Ugd2hlbiBzaWdu aW5nIG9yIHJlc2lnbmluZy4gSWYgbm90IHByZXNlbnQgdGhlbiB0aGUKK2RpZmYgLXVwIG9wZW5z c2wtMS4wLjFpL2RvYy9hcHBzL3Nfc2VydmVyLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4w LjFpL2RvYy9hcHBzL3Nfc2VydmVyLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3Nf c2VydmVyLnBvZC50cnVzdGVkLWZpcnN0CTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzI2MTAzMjgxICsw MjAwCisrKysgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc19zZXJ2ZXIucG9kCTIwMTQtMDgtMDcg MTU6MDc6MTIuMzE1MDk5NTc3ICswMjAwCitAQCAtMzMsNiArMzMsNyBAQCBCPG9wZW5zc2w+IEI8 c19zZXJ2ZXI+CisgW0I8LXN0YXRlPl0KKyBbQjwtQ0FwYXRoIGRpcmVjdG9yeT5dCisgW0I8LUNB ZmlsZSBmaWxlbmFtZT5dCisrW0I8LXRydXN0ZWRfZmlyc3Q+XQorIFtCPC1ub2NlcnQ+XQorIFtC PC1jaXBoZXIgY2lwaGVybGlzdD5dCisgW0I8LXNlcnZlcnByZWY+XQorQEAgLTE3OCw2ICsxNzks MTIgQEAgYW5kIHRvIHVzZSB3aGVuIGF0dGVtcHRpbmcgdG8gYnVpbGQgdGhlCisgaXMgYWxzbyB1 c2VkIGluIHRoZSBsaXN0IG9mIGFjY2VwdGFibGUgY2xpZW50IENBcyBwYXNzZWQgdG8gdGhlIGNs aWVudCB3aGVuCisgYSBjZXJ0aWZpY2F0ZSBpcyByZXF1ZXN0ZWQuCisgCisrPWl0ZW0gQjwtdHJ1 c3RlZF9maXJzdD4KKysKKytVc2UgY2VydGlmaWNhdGVzIGluIENBIGZpbGUgb3IgQ0EgZGlyZWN0 b3J5IGJlZm9yZSBvdGhlciBjZXJ0aWZpY2F0ZXMgCisrd2hlbiBidWlsZGluZyB0aGUgdHJ1c3Qg Y2hhaW4gdG8gdmVyaWZ5IGNsaWVudCBjZXJ0aWZpY2F0ZXMuCisrVGhpcyBpcyBtYWlubHkgdXNl ZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBDQSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0Fz LgorKworID1pdGVtIEI8LXN0YXRlPgorIAorIHByaW50cyBvdXQgdGhlIFNTTCBzZXNzaW9uIHN0 YXRlcy4KK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3NfdGltZS5wb2QudHJ1c3Rl ZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy9zX3RpbWUucG9kCistLS0gb3BlbnNzbC0x LjAuMWkvZG9jL2FwcHMvc190aW1lLnBvZC50cnVzdGVkLWZpcnN0CTIwMTQtMDctMjIgMjE6NDE6 MjMuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvc190aW1lLnBv ZAkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NTEwMzQyNCArMDIwMAorQEAgLTE0LDYgKzE0LDcgQEAg QjxvcGVuc3NsPiBCPHNfdGltZT4KKyBbQjwta2V5IGZpbGVuYW1lPl0KKyBbQjwtQ0FwYXRoIGRp cmVjdG9yeT5dCisgW0I8LUNBZmlsZSBmaWxlbmFtZT5dCisrW0I8LXRydXN0ZWRfZmlyc3Q+XQor IFtCPC1yZXVzZT5dCisgW0I8LW5ldz5dCisgW0I8LXZlcmlmeSBkZXB0aD5dCitAQCAtNzYsNiAr NzcsMTIgQEAgYWxzbyB1c2VkIHdoZW4gYnVpbGRpbmcgdGhlIGNsaWVudCBjZXJ0aQorIEEgZmls ZSBjb250YWluaW5nIHRydXN0ZWQgY2VydGlmaWNhdGVzIHRvIHVzZSBkdXJpbmcgc2VydmVyIGF1 dGhlbnRpY2F0aW9uCisgYW5kIHRvIHVzZSB3aGVuIGF0dGVtcHRpbmcgdG8gYnVpbGQgdGhlIGNs aWVudCBjZXJ0aWZpY2F0ZSBjaGFpbi4KKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKwor K1VzZSBjZXJ0aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3Rvcnkgb3ZlciB0aGUgY2Vy dGlmaWNhdGVzIHByb3ZpZGVkCisrYnkgdGhlIHNlcnZlciB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVz dCBjaGFpbiB0byB2ZXJpZnkgc2VydmVyIGNlcnRpZmljYXRlLgorK1RoaXMgaXMgbWFpbmx5IHVz ZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Egb3IgQ3Jvc3MtQ2VydGlmaWVkIENB cy4KKysKKyA9aXRlbSBCPC1uZXc+CisgCisgcGVyZm9ybXMgdGhlIHRpbWluZyB0ZXN0IHVzaW5n IGEgbmV3IHNlc3Npb24gSUQgZm9yIGVhY2ggY29ubmVjdGlvbi4KK2RpZmYgLXVwIG9wZW5zc2wt MS4wLjFpL2RvYy9hcHBzL3RzLnBvZC50cnVzdGVkLWZpcnN0IG9wZW5zc2wtMS4wLjFpL2RvYy9h cHBzL3RzLnBvZAorLS0tIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBzL3RzLnBvZC50cnVzdGVkLWZp cnN0CTIwMTQtMDctMjIgMjE6NDE6MjMuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAu MWkvZG9jL2FwcHMvdHMucG9kCTIwMTQtMDgtMDcgMTM6NTQ6MjcuNzU2MTAzNDI5ICswMjAwCitA QCAtNDYsNiArNDYsNyBAQCBCPC12ZXJpZnk+CisgW0I8LXRva2VuX2luPl0KKyBbQjwtQ0FwYXRo PiB0cnVzdGVkX2NlcnRfcGF0aF0KKyBbQjwtQ0FmaWxlPiB0cnVzdGVkX2NlcnRzLnBlbV0KKytb QjwtdHJ1c3RlZF9maXJzdD5dCisgW0I8LXVudHJ1c3RlZD4gY2VydF9maWxlLnBlbV0KKyAKKyA9 aGVhZDEgREVTQ1JJUFRJT04KK0BAIC0zMjQsNiArMzI1LDEyIEBAIEw8dmVyaWZ5KDEpfHZlcmlm eSgxKT4gZm9yIGFkZGl0aW9uYWwgZGUKKyBvciBCPC1DQXBhdGg+IG11c3QgYmUgc3BlY2lmaWVk LgorIChPcHRpb25hbCkKKyAKKys9aXRlbSBCPC10cnVzdGVkX2ZpcnN0PgorKworK1VzZSBjZXJ0 aWZpY2F0ZXMgaW4gQ0EgZmlsZSBvciBDQSBkaXJlY3RvcnkgYmVmb3JlIG90aGVyIGNlcnRpZmlj YXRlcworK3doZW4gYnVpbGRpbmcgdGhlIHRydXN0IGNoYWluIHRvIHZlcmlmeSBjZXJ0aWZpY2F0 ZXMuCisrVGhpcyBpcyBtYWlubHkgdXNlZnVsIGluIGVudmlyb25tZW50cyB3aXRoIEJyaWRnZSBD QSBvciBDcm9zcy1DZXJ0aWZpZWQgQ0FzLgorKworID1pdGVtIEI8LXVudHJ1c3RlZD4gY2VydF9m aWxlLnBlbQorIAorIFNldCBvZiBhZGRpdGlvbmFsIHVudHJ1c3RlZCBjZXJ0aWZpY2F0ZXMgaW4g UEVNIGZvcm1hdCB3aGljaCBtYXkgYmUKK2RpZmYgLXVwIG9wZW5zc2wtMS4wLjFpL2RvYy9hcHBz L3ZlcmlmeS5wb2QudHJ1c3RlZC1maXJzdCBvcGVuc3NsLTEuMC4xaS9kb2MvYXBwcy92ZXJpZnku cG9kCistLS0gb3BlbnNzbC0xLjAuMWkvZG9jL2FwcHMvdmVyaWZ5LnBvZC50cnVzdGVkLWZpcnN0 CTIwMTQtMDgtMDYgMjM6MTA6NTYuMDAwMDAwMDAwICswMjAwCisrKysgb3BlbnNzbC0xLjAuMWkv ZG9jL2FwcHMvdmVyaWZ5LnBvZAkyMDE0LTA4LTA3IDEzOjU0OjI3Ljc1NjEwMzQyOSArMDIwMAor QEAgLTksNiArOSw3IEBAIHZlcmlmeSAtIFV0aWxpdHkgdG8gdmVyaWZ5IGNlcnRpZmljYXRlcy4K KyBCPG9wZW5zc2w+IEI8dmVyaWZ5PgorIFtCPC1DQXBhdGggZGlyZWN0b3J5Pl0KKyBbQjwtQ0Fm aWxlIGZpbGU+XQorK1tCPC10cnVzdGVkX2ZpcnN0Pl0KKyBbQjwtcHVycG9zZSBwdXJwb3NlPl0K KyBbQjwtcG9saWN5IGFyZz5dCisgW0I8LWlnbm9yZV9jcml0aWNhbD5dCitAQCAtNTYsNiArNTcs MTIgQEAgaW4gUEVNIGZvcm1hdCBjb25jYXRlbmF0ZWQgdG9nZXRoZXIuCisgQSBmaWxlIG9mIHVu dHJ1c3RlZCBjZXJ0aWZpY2F0ZXMuIFRoZSBmaWxlIHNob3VsZCBjb250YWluIG11bHRpcGxlIGNl cnRpZmljYXRlcworIGluIFBFTSBmb3JtYXQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyLgorIAorKz1p dGVtIEI8LXRydXN0ZWRfZmlyc3Q+CisrCisrVXNlIGNlcnRpZmljYXRlcyBpbiBDQSBmaWxlIG9y IENBIGRpcmVjdG9yeSBiZWZvcmUgdGhlIGNlcnRpZmljYXRlcyBpbiB0aGUgdW50cnVzdGVkCisr ZmlsZSB3aGVuIGJ1aWxkaW5nIHRoZSB0cnVzdCBjaGFpbiB0byB2ZXJpZnkgY2VydGlmaWNhdGVz LgorK1RoaXMgaXMgbWFpbmx5IHVzZWZ1bCBpbiBlbnZpcm9ubWVudHMgd2l0aCBCcmlkZ2UgQ0Eg b3IgQ3Jvc3MtQ2VydGlmaWVkIENBcy4KKysKKyA9aXRlbSBCPC1wdXJwb3NlIHB1cnBvc2U+Cisg CisgVGhlIGludGVuZGVkIHVzZSBmb3IgdGhlIGNlcnRpZmljYXRlLiBJZiB0aGlzIG9wdGlvbiBp cyBub3Qgc3BlY2lmaWVkLAoKZGlmZiAtLWdpdCBhL29wZW5zc2wuc3BlYyBiL29wZW5zc2wuc3Bl YwppbmRleCA4OGZjYTMxLi5lNThiOWE3IDEwMDY0NAotLS0gYS9vcGVuc3NsLnNwZWMKKysrIGIv b3BlbnNzbC5zcGVjCkBAIC0yMiw4ICsyMiw4IEBACiAKIFN1bW1hcnk6IFV0aWxpdGllcyBmcm9t IHRoZSBnZW5lcmFsIHB1cnBvc2UgY3J5cHRvZ3JhcGh5IGxpYnJhcnkgd2l0aCBUTFMgaW1wbGVt ZW50YXRpb24KIE5hbWU6IG9wZW5zc2wKLVZlcnNpb246IDEuMC4xaAotUmVsZWFzZTogNiV7P2Rp c3R9CitWZXJzaW9uOiAxLjAuMWkKK1JlbGVhc2U6IDElez9kaXN0fQogRXBvY2g6IDEKICMgV2Ug aGF2ZSB0byByZW1vdmUgY2VydGFpbiBwYXRlbnRlZCBhbGdvcml0aG1zIGZyb20gdGhlIG9wZW5z c2wgc291cmNlCiAjIHRhcmJhbGwgd2l0aCB0aGUgaG9iYmxlLW9wZW5zc2wgc2NyaXB0IHdoaWNo IGlzIGluY2x1ZGVkIGJlbG93LgpAQCAtNTYsMTIgKzU2LDExIEBAIFBhdGNoMjQ6IG9wZW5zc2wt MS4wLjFlLWlzc3Vlci1oYXNoLnBhdGNoCiBQYXRjaDMzOiBvcGVuc3NsLTEuMC4wLWJldGE0LWNh LWRpci5wYXRjaAogUGF0Y2gzNDogb3BlbnNzbC0wLjkuNi14NTA5LnBhdGNoCiBQYXRjaDM1OiBv cGVuc3NsLTAuOS44ai12ZXJzaW9uLWFkZC1lbmdpbmVzLnBhdGNoCi1QYXRjaDM2OiBvcGVuc3Ns LTEuMC4wZS1kb2Mtbm9lb2YucGF0Y2gKIFBhdGNoMzk6IG9wZW5zc2wtMS4wLjFoLWlwdjYtYXBw cy5wYXRjaAogUGF0Y2g0MDogb3BlbnNzbC0xLjAuMWctZmlwcy5wYXRjaAogUGF0Y2g0NTogb3Bl bnNzbC0xLjAuMWUtZW52LXpsaWIucGF0Y2gKIFBhdGNoNDc6IG9wZW5zc2wtMS4wLjAtYmV0YTUt cmVhZG1lLXdhcm5pbmcucGF0Y2gKLVBhdGNoNDk6IG9wZW5zc2wtMS4wLjFhLWFsZ28tZG9jLnBh dGNoCitQYXRjaDQ5OiBvcGVuc3NsLTEuMC4xaS1hbGdvLWRvYy5wYXRjaAogUGF0Y2g1MDogb3Bl bnNzbC0xLjAuMS1iZXRhMi1kdGxzMS1hYmkucGF0Y2gKIFBhdGNoNTE6IG9wZW5zc2wtMS4wLjFl LXZlcnNpb24ucGF0Y2gKIFBhdGNoNTY6IG9wZW5zc2wtMS4wLjBjLXJzYS14OTMxLnBhdGNoCkBA IC03MywyMiArNzIsMTkgQEAgUGF0Y2g2Njogb3BlbnNzbC0xLjAuMS1wa2djb25maWcta3JiNS5w YXRjaAogUGF0Y2g2ODogb3BlbnNzbC0xLjAuMWUtc2VjdXJlLWdldGVudi5wYXRjaAogUGF0Y2g2 OTogb3BlbnNzbC0xLjAuMWMtZGgtMTAyNC5wYXRjaAogUGF0Y2g3MDogb3BlbnNzbC0xLjAuMWUt Zmlwcy1lYy5wYXRjaAotUGF0Y2g3MTogb3BlbnNzbC0xLjAuMWgtbWFuZml4LnBhdGNoCitQYXRj aDcxOiBvcGVuc3NsLTEuMC4xaS1tYW5maXgucGF0Y2gKIFBhdGNoNzI6IG9wZW5zc2wtMS4wLjFl LWZpcHMtY3Rvci5wYXRjaAogUGF0Y2g3Mzogb3BlbnNzbC0xLjAuMWUtZWNjLXN1aXRlYi5wYXRj aAogUGF0Y2g3NDogb3BlbnNzbC0xLjAuMWUtbm8tbWQ1LXZlcmlmeS5wYXRjaAogUGF0Y2g3NTog b3BlbnNzbC0xLjAuMWUtY29tcGF0LXN5bWJvbHMucGF0Y2gKLVBhdGNoNzY6IG9wZW5zc2wtMS4w LjFnLW5ldy1maXBzLXJlcXMucGF0Y2gKK1BhdGNoNzY6IG9wZW5zc2wtMS4wLjFpLW5ldy1maXBz LXJlcXMucGF0Y2gKIFBhdGNoNzc6IG9wZW5zc2wtMS4wLjFlLXdlYWstY2lwaGVycy5wYXRjaAot UGF0Y2g3ODogb3BlbnNzbC0xLjAuMWctM2Rlcy1zdHJlbmd0aC5wYXRjaAogUGF0Y2g5MDogb3Bl bnNzbC0xLjAuMWUtZW5jLWZhaWwucGF0Y2gKLVBhdGNoOTE6IG9wZW5zc2wtMS4wLjFlLXNzbDIt bm8tZWMucGF0Y2gKIFBhdGNoOTI6IG9wZW5zc2wtMS4wLjFoLXN5c3RlbS1jaXBoZXJsaXN0LnBh dGNoCiBQYXRjaDkzOiBvcGVuc3NsLTEuMC4xaC1kaXNhYmxlLXNzbHYydjMucGF0Y2gKICMgQmFj a3BvcnRlZCBmaXhlcyBpbmNsdWRpbmcgc2VjdXJpdHkgZml4ZXMKIFBhdGNoODE6IG9wZW5zc2wt MS4wLjEtYmV0YTItcGFkbG9jazY0LnBhdGNoCi1QYXRjaDgyOiBvcGVuc3NsLTEuMC4xaC1zZXNz aW9uLXJlc3VtcHRpb24ucGF0Y2gKLVBhdGNoODQ6IG9wZW5zc2wtMS4wLjFlLXRydXN0ZWQtZmly c3QucGF0Y2gKK1BhdGNoODQ6IG9wZW5zc2wtMS4wLjFpLXRydXN0ZWQtZmlyc3QucGF0Y2gKIFBh dGNoODU6IG9wZW5zc2wtMS4wLjFlLWFybS11c2UtZWxmLWF1eHYtY2Fwcy5wYXRjaAogUGF0Y2g4 OTogb3BlbnNzbC0xLjAuMWUtZXBoZW1lcmFsLWtleS1zaXplLnBhdGNoCiAKQEAgLTE4MSw3ICsx NzcsNiBAQCBjcCAle1NPVVJDRTEyfSAle1NPVVJDRTEzfSBjcnlwdG8vZWMvCiAlcGF0Y2gzMyAt cDEgLWIgLmNhLWRpcgogJXBhdGNoMzQgLXAxIC1iIC54NTA5CiAlcGF0Y2gzNSAtcDEgLWIgLnZl cnNpb24tYWRkLWVuZ2luZXMKLSVwYXRjaDM2IC1wMSAtYiAuZG9jLW5vZW9mCiAlcGF0Y2gzOSAt cDEgLWIgLmlwdjYtYXBwcwogJXBhdGNoNDAgLXAxIC1iIC5maXBzCiAlcGF0Y2g0NSAtcDEgLWIg LmVudi16bGliCkBAIC0yMDUsMTQgKzIwMCwxMSBAQCBjcCAle1NPVVJDRTEyfSAle1NPVVJDRTEz fSBjcnlwdG8vZWMvCiAlcGF0Y2g3NSAtcDEgLWIgLmNvbXBhdAogJXBhdGNoNzYgLXAxIC1iIC5m aXBzLXJlcXMKICVwYXRjaDc3IC1wMSAtYiAud2Vhay1jaXBoZXJzCi0lcGF0Y2g3OCAtcDEgLWIg LjNkZXMtc3RyZW5ndGgKICVwYXRjaDkwIC1wMSAtYiAuZW5jLWZhaWwKLSVwYXRjaDkxIC1wMSAt YiAuc3NsMm5vZWMKICVwYXRjaDkyIC1wMSAtYiAuc3lzdGVtCiAlcGF0Y2g5MyAtcDEgLWIgLnYy djMKIAogJXBhdGNoODEgLXAxIC1iIC5wYWRsb2NrNjQKLSVwYXRjaDgyIC1wMSAtYiAucmVzdW1w dGlvbgogJXBhdGNoODQgLXAxIC1iIC50cnVzdGVkLWZpcnN0CiAlcGF0Y2g4NSAtcDEgLWIgLmFy bWNhcAogJXBhdGNoODkgLXAxIC1iIC5lcGhlbWVyYWwKQEAgLTQ4Myw2ICs0NzUsMTAgQEAgcm0g LXJmICRSUE1fQlVJTERfUk9PVC8le19saWJkaXJ9L2ZpcHNjYW5pc3Rlci4qCiAlcG9zdHVuIGxp YnMgLXAgL3NiaW4vbGRjb25maWcKIAogJWNoYW5nZWxvZworKiBUaHUgQXVnICA3IDIwMTQgVG9t w6HFoSBNcsOheiA8dG1yYXpAcmVkaGF0LmNvbT4gMS4wLjFpLTEKKy0gbmV3IHVwc3RyZWFtIHJl bGVhc2UgZml4aW5nIG11bHRpcGxlIG1vZGVyYXRlIHNlY3VyaXR5IGlzc3VlcworLSBmb3Igbm93 IGRpc2FibGUgb25seSBTU0x2MiBieSBkZWZhdWx0CisKICogRnJpIEp1bCAxOCAyMDE0IFRvbSBD YWxsYXdheSA8c3BvdEBmZWRvcmFwcm9qZWN0Lm9yZz4gMS4wLjFoLTYKIC0gZml4IGxpY2Vuc2Ug aGFuZGxpbmcKIAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDVjMzc3ZmEu LmI5N2EyODggMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAot NGVhMGYyMzFjNjFiOWM2NjY0MjE3NmNkYzAzM2IzODYgIG9wZW5zc2wtMS4wLjFoLWhvYmJsZWQu dGFyLnh6CitjMTUyZTUyODQ3NjVjMzMyNTMwMWE2MmIwMWE0OGZjMCAgb3BlbnNzbC0xLjAuMWkt aG9iYmxlZC50YXIueHoK