From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 12.0.0-0.3 Date: Mon, 29 Jun 2026 12:29:32 GMT Message-ID: <178273617297.1.9271392077375959065.rpms-gcc-cdf92292afdc@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: cdf92292afdca58fae56c2e927cf4f3fa22d2789 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogY2RmOTIyOTJhZmRjYTU4ZmFlNTZjMmU5MjdjZjRmM2Zh MjJkMjc4OQpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDIyLTAxLTA4VDEyOjM1OjQ0KzAxOjAwClN0YXRzICA6ICs1NzA3Ly03MjgxIGluIDUyIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy9j ZGY5MjI5MmFmZGNhNThmYWU1NmMyZTkyN2NmNGYzZmEyMmQyNzg5P2JyYW5jaD1yaGVsLWY0MS1i YXNlCgpMb2c6CjEyLjAuMC0wLjMKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRp Z25vcmUKaW5kZXggZGJjY2M4YS4uMGNiOWViZCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysg Yi8uZ2l0aWdub3JlCkBAIC01NCwzICs1NCw0IEBACiAvZ2NjLTExLjIuMS0yMDIxMTAxOC50YXIu eHoKIC9nY2MtMTEuMi4xLTIwMjExMDE5LnRhci54egogL2djYy0xMS4yLjEtMjAyMTEyMDMudGFy Lnh6CisvZ2NjLTEyLjAuMC0yMDIyMDEwOC50YXIueHoKCmRpZmYgLS1naXQgYS9nY2Muc3BlYyBi L2djYy5zcGVjCmluZGV4IGEzMTBiY2YuLjZmZTU5ZWQgMTAwNjQ0Ci0tLSBhL2djYy5zcGVjCisr KyBiL2djYy5zcGVjCkBAIC0xLDEwICsxLDEwIEBACi0lZ2xvYmFsIERBVEUgMjAyMTEyMDMKLSVn bG9iYWwgZ2l0cmV2IGU0MTMwODI1MmU4MzVkZGVkY2FiZmQ0YTk4MjQwMDgwYzY1ODNhNDMKLSVn bG9iYWwgZ2NjX3ZlcnNpb24gMTEuMi4xCi0lZ2xvYmFsIGdjY19tYWpvciAxMQorJWdsb2JhbCBE QVRFIDIwMjIwMTA4CislZ2xvYmFsIGdpdHJldiA2YmQ2Zjg3ODIzNWVmZDFkMDc4Nzg5MmU3ZTJm NzNjNWVkZjUxNGNjCislZ2xvYmFsIGdjY192ZXJzaW9uIDEyLjAuMAorJWdsb2JhbCBnY2NfbWFq b3IgMTIKICMgTm90ZSwgZ2NjX3JlbGVhc2UgbXVzdCBiZSBpbnRlZ2VyLCBpZiB5b3Ugd2FudCB0 byBhZGQgc3VmZml4ZXMgdG8KICMgJSV7cmVsZWFzZX0sIGFwcGVuZCB0aGVtIGFmdGVyICUle2dj Y19yZWxlYXNlfSBvbiBSZWxlYXNlOiBsaW5lLgotJWdsb2JhbCBnY2NfcmVsZWFzZSA3CislZ2xv YmFsIGdjY19yZWxlYXNlIDAKICVnbG9iYWwgbnZwdHhfdG9vbHNfZ2l0cmV2IDVmNmYzNDNhMzAy ZDYyMGIwODY4ZWRhYjM3NmMwMGIxNTc0MWUzOWUKICVnbG9iYWwgbmV3bGliX2N5Z3dpbl9naXRy ZXYgNTBlMmE2M2IwNGJkZDAxODQ4NDYwNWZiYjk1NGZkMWJkNTE0N2ZhMAogJWdsb2JhbCBfdW5w YWNrYWdlZF9maWxlc190ZXJtaW5hdGVfYnVpbGQgMApAQCAtMTE5LDcgKzExOSw3IEBACiBTdW1t YXJ5OiBWYXJpb3VzIGNvbXBpbGVycyAoQywgQysrLCBPYmplY3RpdmUtQywgLi4uKQogTmFtZTog Z2NjCiBWZXJzaW9uOiAle2djY192ZXJzaW9ufQotUmVsZWFzZTogJXtnY2NfcmVsZWFzZX0lez9k aXN0fQorUmVsZWFzZTogJXtnY2NfcmVsZWFzZX0uMyV7P2Rpc3R9CiAjIGxpYmdjYywgbGliZ2Zv cnRyYW4sIGxpYmdvbXAsIGxpYnN0ZGMrKyBhbmQgY3J0c3R1ZmYgaGF2ZQogIyBHQ0MgUnVudGlt ZSBFeGNlcHRpb24uCiBMaWNlbnNlOiBHUEx2MysgYW5kIEdQTHYzKyB3aXRoIGV4Y2VwdGlvbnMg YW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIExHUEx2MisgYW5kIEJTRApAQCAtMTk5LDYg KzE5OSwxMCBAQCBCdWlsZFJlcXVpcmVzOiAvbGliL2xpYmMuc28uNiAvdXNyL2xpYi9saWJjLnNv IC9saWI2NC9saWJjLnNvLjYgL3Vzci9saWI2NC9saWJjLgogIyBBZGEgcmVxdWlyZXMgQWRhIHRv IGJ1aWxkCiBCdWlsZFJlcXVpcmVzOiBnY2MtZ25hdCA+PSAzLjEsIGxpYmduYXQgPj0gMy4xCiAl ZW5kaWYKKyVpZiAle2J1aWxkX2R9CisjIEQgcmVxdWlyZXMgRCB0byBidWlsZAorQnVpbGRSZXF1 aXJlczogZ2NjLWdkYyA+PSAxMS4wLjAsIGxpYmdwaG9ib3Mtc3RhdGljID49IDExLjAuMAorJWVu ZGlmCiAlaWZhcmNoIGlhNjQKIEJ1aWxkUmVxdWlyZXM6IGxpYnVud2luZCA+PSAwLjk4CiAlZW5k aWYKQEAgLTI1NCwzNCArMjU4LDI4IEBAIFByb3ZpZGVzOiBidW5kbGVkKGxpYmJhY2t0cmFjZSkK IFByb3ZpZGVzOiBidW5kbGVkKGxpYmZmaSkKIFByb3ZpZGVzOiBnY2MobWFqb3IpID0gJXtnY2Nf bWFqb3J9CiAKLVBhdGNoMDogZ2NjMTEtaGFjay5wYXRjaAotUGF0Y2gyOiBnY2MxMS1zcGFyYy1j b25maWctZGV0ZWN0aW9uLnBhdGNoCi1QYXRjaDM6IGdjYzExLWxpYmdvbXAtb21wX2gtbXVsdGls aWIucGF0Y2gKLVBhdGNoNDogZ2NjMTEtbGlidG9vbC1uby1ycGF0aC5wYXRjaAotUGF0Y2g1OiBn Y2MxMS1pc2wtZGwucGF0Y2gKLVBhdGNoNjogZ2NjMTEtaXNsLWRsMi5wYXRjaAotUGF0Y2g3OiBn Y2MxMS1saWJzdGRjKystZG9jcy5wYXRjaAotUGF0Y2g4OiBnY2MxMS1uby1hZGQtbmVlZGVkLnBh dGNoCi1QYXRjaDk6IGdjYzExLWZvZmZsb2FkLWRlZmF1bHQucGF0Y2gKLVBhdGNoMTA6IGdjYzEx LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKLVBhdGNoMTE6IGdjYzExLXJoMTU3NDkzNi5wYXRj aAotUGF0Y2gxMjogZ2NjMTEtZC1zaGFyZWQtbGlicGhvYm9zLnBhdGNoCi1QYXRjaDEzOiBnY2Mx MS1wcjk5MzQxLXJldmVydC5wYXRjaAotUGF0Y2gxNDogZ2NjMTEtbGliZ2NjLWxpbmsucGF0Y2gK LVBhdGNoMTU6IGdjYzExLXByMTAxNzg2LnBhdGNoCi1QYXRjaDE2OiBnY2MxMS1zdHJpbmdpZnkt X19WQV9PUFRfXy5wYXRjaAotUGF0Y2gxNzogZ2NjMTEtc3RyaW5naWZ5LV9fVkFfT1BUX18tMi5w YXRjaAotCi1QYXRjaDEwMDogZ2NjMTEtZm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXMucGF0Y2gKLVBh dGNoMTAxOiBnY2MxMS1mb3J0cmFuLWZsb2dpY2FsLWFzLWludGVnZXIucGF0Y2gKLVBhdGNoMTAy OiBnY2MxMS1mb3J0cmFuLWZkZWMtaWNoYXIucGF0Y2gKLVBhdGNoMTAzOiBnY2MxMS1mb3J0cmFu LWZkZWMtbm9uLWludGVnZXItaW5kZXgucGF0Y2gKLVBhdGNoMTA0OiBnY2MxMS1mb3J0cmFuLWZk ZWMtb2xkLWluaXQucGF0Y2gKLVBhdGNoMTA1OiBnY2MxMS1mb3J0cmFuLWZkZWMtb3ZlcnJpZGUt a2luZC5wYXRjaAotUGF0Y2gxMDY6IGdjYzExLWZvcnRyYW4tZmRlYy1ub24tbG9naWNhbC1pZi5w YXRjaAotUGF0Y2gxMDc6IGdjYzExLWZvcnRyYW4tZmRlYy1wcm9tb3Rpb24ucGF0Y2gKLVBhdGNo MTA4OiBnY2MxMS1mb3J0cmFuLWZkZWMtc2VxdWVuY2UucGF0Y2gKLVBhdGNoMTA5OiBnY2MxMS1m b3J0cmFuLWZkZWMtYWRkLW1pc3NpbmctaW5kZXhlcy5wYXRjaAorUGF0Y2gwOiBnY2MxMi1oYWNr LnBhdGNoCitQYXRjaDI6IGdjYzEyLXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKK1BhdGNo MzogZ2NjMTItbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaAorUGF0Y2g0OiBnY2MxMi1saWJ0 b29sLW5vLXJwYXRoLnBhdGNoCitQYXRjaDU6IGdjYzEyLWlzbC1kbC5wYXRjaAorUGF0Y2g2OiBn Y2MxMi1pc2wtZGwyLnBhdGNoCitQYXRjaDc6IGdjYzEyLWxpYnN0ZGMrKy1kb2NzLnBhdGNoCitQ YXRjaDg6IGdjYzEyLW5vLWFkZC1uZWVkZWQucGF0Y2gKK1BhdGNoOTogZ2NjMTItV25vLWZvcm1h dC1zZWN1cml0eS5wYXRjaAorUGF0Y2gxMDogZ2NjMTItcmgxNTc0OTM2LnBhdGNoCitQYXRjaDEx OiBnY2MxMi1kLXNoYXJlZC1saWJwaG9ib3MucGF0Y2gKKworUGF0Y2gxMDA6IGdjYzEyLWZvcnRy YW4tZmRlYy1kdXBsaWNhdGVzLnBhdGNoCitQYXRjaDEwMTogZ2NjMTItZm9ydHJhbi1mbG9naWNh bC1hcy1pbnRlZ2VyLnBhdGNoCitQYXRjaDEwMjogZ2NjMTItZm9ydHJhbi1mZGVjLWljaGFyLnBh dGNoCitQYXRjaDEwMzogZ2NjMTItZm9ydHJhbi1mZGVjLW5vbi1pbnRlZ2VyLWluZGV4LnBhdGNo CitQYXRjaDEwNDogZ2NjMTItZm9ydHJhbi1mZGVjLW9sZC1pbml0LnBhdGNoCitQYXRjaDEwNTog Z2NjMTItZm9ydHJhbi1mZGVjLW92ZXJyaWRlLWtpbmQucGF0Y2gKK1BhdGNoMTA2OiBnY2MxMi1m b3J0cmFuLWZkZWMtbm9uLWxvZ2ljYWwtaWYucGF0Y2gKK1BhdGNoMTA3OiBnY2MxMi1mb3J0cmFu LWZkZWMtcHJvbW90aW9uLnBhdGNoCitQYXRjaDEwODogZ2NjMTItZm9ydHJhbi1mZGVjLXNlcXVl bmNlLnBhdGNoCitQYXRjaDEwOTogZ2NjMTItZm9ydHJhbi1mZGVjLWFkZC1taXNzaW5nLWluZGV4 ZXMucGF0Y2gKIAogIyBPbiBBUk0gRUFCSSBzeXN0ZW1zLCB3ZSBkbyB3YW50IC1nbnVlYWJpIHRv IGJlIHBhcnQgb2YgdGhlCiAjIHRhcmdldCB0cmlwbGUuCkBAIC0zMDMsNyArMzAxLDcgQEAgUGF0 Y2gxMDk6IGdjYzExLWZvcnRyYW4tZmRlYy1hZGQtbWlzc2luZy1pbmRleGVzLnBhdGNoCiAlaWYg JXtidWlsZF9nb30KICMgQXZvaWQgc3RyaXBwaW5nIHRoZXNlIGxpYnJhcmllcyBhbmQgYmluYXJp ZXMuCiAlZ2xvYmFsIF9fb3NfaW5zdGFsbF9wb3N0IFwKLWNobW9kIDY0NCAle2J1aWxkcm9vdH0l e19wcmVmaXh9LyV7X2xpYn0vbGliZ28uc28uMTkuKiBcCitjaG1vZCA2NDQgJXtidWlsZHJvb3R9 JXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjIwLiogXAogY2htb2QgNjQ0ICV7YnVpbGRyb290 fSV7X3ByZWZpeH0vYmluL2dvLmdjYyBcCiBjaG1vZCA2NDQgJXtidWlsZHJvb3R9JXtfcHJlZml4 fS9iaW4vZ29mbXQuZ2NjIFwKIGNobW9kIDY0NCAle2J1aWxkcm9vdH0le19wcmVmaXh9L2xpYmV4 ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFqb3J9L2NnbyBcCkBAIC0zMTEs NyArMzA5LDcgQEAgY2htb2QgNjQ0ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vbGliZXhlYy9nY2Mv JXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY19tYWpvcn0KIGNobW9kIDY0NCAle2J1aWxkcm9v dH0le19wcmVmaXh9L2xpYmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFq b3J9L3Rlc3QyanNvbiBcCiBjaG1vZCA2NDQgJXtidWlsZHJvb3R9JXtfcHJlZml4fS9saWJleGVj L2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS92ZXQgXAogJV9fb3NfaW5z dGFsbF9wb3N0IFwKLWNobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGli Z28uc28uMTkuKiBcCitjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xp YmdvLnNvLjIwLiogXAogY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vYmluL2dvLmdj YyBcCiBjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS9iaW4vZ29mbXQuZ2NjIFwKIGNo bW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9L2xpYmV4ZWMvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0vJXtnY2NfbWFqb3J9L2NnbyBcCkBAIC0zMjIsMTEgKzMyMCwxMSBAQCBjaG1vZCA3 NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS9saWJleGVjL2djYy8le2djY190YXJnZXRfcGxhdGZv cm19LyV7Z2NjX21ham9yfQogJWVuZGlmCiAKICVkZXNjcmlwdGlvbgotVGhlIGdjYyBwYWNrYWdl IGNvbnRhaW5zIHRoZSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiB2ZXJzaW9uIDExLgorVGhlIGdj YyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBHTlUgQ29tcGlsZXIgQ29sbGVjdGlvbiB2ZXJzaW9uIDEy LgogWW91J2xsIG5lZWQgdGhpcyBwYWNrYWdlIGluIG9yZGVyIHRvIGNvbXBpbGUgQyBjb2RlLgog CiAlcGFja2FnZSAtbiBsaWJnY2MKLVN1bW1hcnk6IEdDQyB2ZXJzaW9uIDExIHNoYXJlZCBzdXBw b3J0IGxpYnJhcnkKK1N1bW1hcnk6IEdDQyB2ZXJzaW9uIDEyIHNoYXJlZCBzdXBwb3J0IGxpYnJh cnkKIEF1dG9yZXE6IGZhbHNlCiAlaWYgISV7YnVpbGRfYWRhfQogT2Jzb2xldGVzOiBsaWJnbmF0 IDwgJXt2ZXJzaW9ufS0le3JlbGVhc2V9CkBAIC03ODcsMTkgKzc4NSwxMSBAQCB0byBOVmlkaWEg UFRYIGNhcGFibGUgZGV2aWNlcyBpZiBhdmFpbGFibGUuCiAlcGF0Y2g3IC1wMCAtYiAubGlic3Rk YysrLWRvY3N+CiAlZW5kaWYKICVwYXRjaDggLXAwIC1iIC5uby1hZGQtbmVlZGVkfgotJXBhdGNo OSAtcDAgLWIgLmZvZmZsb2FkLWRlZmF1bHR+Ci0lcGF0Y2gxMCAtcDAgLWIgLlduby1mb3JtYXQt c2VjdXJpdHl+CislcGF0Y2g5IC1wMCAtYiAuV25vLWZvcm1hdC1zZWN1cml0eX4KICVpZiAwJXs/ ZmVkb3JhfSA+PSAyOSB8fCAwJXs/cmhlbH0gPiA3Ci0lcGF0Y2gxMSAtcDAgLWIgLnJoMTU3NDkz Nn4KLSVlbmRpZgotJXBhdGNoMTIgLXAwIC1iIC5kLXNoYXJlZC1saWJwaG9ib3N+Ci0laWYgMCV7 P2ZlZG9yYX0gPT0gMzQKLSVwYXRjaDEzIC1wMCAtYiAucHI5OTM0MS1yZXZlcnR+CislcGF0Y2gx MCAtcDAgLWIgLnJoMTU3NDkzNn4KICVlbmRpZgotJXBhdGNoMTQgLXAwIC1iIC5saWJnY2MtbGlu a34KLSVwYXRjaDE1IC1wMCAtYiAucHIxMDE3ODZ+Ci0lcGF0Y2gxNiAtcDAgLWIgLnN0cmluZ2lm eS1fX1ZBX09QVF9ffgotJXBhdGNoMTcgLXAwIC1iIC5zdHJpbmdpZnktX19WQV9PUFRfXy0yfgor JXBhdGNoMTEgLXAwIC1iIC5kLXNoYXJlZC1saWJwaG9ib3N+CiAKICVpZiAwJXs/cmhlbH0gPj0g OQogJXBhdGNoMTAwIC1wMSAtYiAuZm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXN+CkBAIC04MTcsNiAr ODA3LDggQEAgdG8gTlZpZGlhIFBUWCBjYXBhYmxlIGRldmljZXMgaWYgYXZhaWxhYmxlLgogJWlm YXJjaCAle2FybX0KIHJtIC1mIGdjYy90ZXN0c3VpdGUvZ28udGVzdC90ZXN0L2ZpeGVkYnVncy9p c3N1ZTE5MTgyLmdvCiAlZW5kaWYKK3JtIC1mIGxpYnBob2Jvcy90ZXN0c3VpdGUvbGlicGhvYm9z LmdjL2ZvcmtnYzIuZAorI3JtIC1yZiBsaWJwaG9ib3MvdGVzdHN1aXRlL2xpYnBob2Jvcy5nYwog CiBlY2hvICdSZWQgSGF0ICV7dmVyc2lvbn0tJXtnY2NfcmVsZWFzZX0nID4gZ2NjL0RFVi1QSEFT RQogCkBAIC05MjIsNyArOTE0LDcgQEAgSVNMX0ZMQUdfUElDPS1mUElDCiBJU0xfRkxBR19QSUM9 LWZwaWMKICVlbmRpZgogY2QgaXNsLWJ1aWxkCi1zZWQgLWkgJ3N8bGliaXNsfGxpYmdjYzExcHJp dmF0ZWlzbHxnJyBcCitzZWQgLWkgJ3N8bGliaXNsfGxpYmdjYzEycHJpdmF0ZWlzbHxnJyBcCiAg IC4uLy4uL2lzbC0le2lzbF92ZXJzaW9ufS9NYWtlZmlsZS57YW0saW59CiAuLi8uLi9pc2wtJXtp c2xfdmVyc2lvbn0vY29uZmlndXJlIFwKICAgQ0M9L3Vzci9iaW4vZ2NjIENYWD0vdXNyL2Jpbi9n KysgXApAQCAtOTMwLDggKzkyMiw4IEBAIHNlZCAtaSAnc3xsaWJpc2x8bGliZ2NjMTFwcml2YXRl aXNsfGcnIFwKIG1ha2UgJXs/X3NtcF9tZmxhZ3N9CiBtYWtlIGluc3RhbGwKIGNkIC4uL2lzbC1p bnN0YWxsL2xpYgotcm0gbGliZ2NjMTFwcml2YXRlaXNsLnNveywuMTV9Ci1tdiBsaWJnY2MxMXBy aXZhdGVpc2wuc28uMTUuMy4wIGxpYmlzbC5zby4xNQorcm0gbGliZ2NjMTJwcml2YXRlaXNsLnNv eywuMTV9CittdiBsaWJnY2MxMnByaXZhdGVpc2wuc28uMTUuMy4wIGxpYmlzbC5zby4xNQogbG4g LXNmIGxpYmlzbC5zby4xNSBsaWJpc2wuc28KIGNkIC4uLy4uCiAlZW5kaWYKQEAgLTk4NSw3ICs5 NzcsNyBAQCBDT05GSUdVUkVfT1BUUz0iXAogJWVuZGlmCiAlaWYgJXtidWlsZF9vZmZsb2FkX252 cHR4fQogCS0tZW5hYmxlLW9mZmxvYWQtdGFyZ2V0cz1udnB0eC1ub25lIFwKLQktLXdpdGhvdXQt Y3VkYS1kcml2ZXIgXAorCS0td2l0aG91dC1jdWRhLWRyaXZlciAtLWVuYWJsZS1vZmZsb2FkLWRl ZmF1bHRlZCBcCiAlZW5kaWYKICVpZiAwJXs/ZmVkb3JhfSA+PSAyMSB8fCAwJXs/cmhlbH0gPj0g NwogJWlmICV7YXR0cl9pZnVuY30KQEAgLTExODQsNyArMTE3Niw3IEBAIGRvbmUpCiAoY2QgbGli cGhvYm9zOyBmb3IgaSBpbiBDaGFuZ2VMb2cqOyBkbwogCWNwIC1wICRpIC4uL3JwbS5kb2MvbGli cGhvYm9zLyRpLmxpYnBob2JvcwogZG9uZQotY3AgLWEgc3JjL0xJQ0VOU0UqLnR4dCBsaWJkcnVu dGltZS9MSUNFTlNFIC4uL3JwbS5kb2MvbGlicGhvYm9zLykKK2NwIC1hIHNyYy9MSUNFTlNFKi50 eHQgbGliZHJ1bnRpbWUvTElDRU5TRS50eHQgLi4vcnBtLmRvYy9saWJwaG9ib3MvKQogJWVuZGlm CiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0KIChjZCBsaWJxdWFkbWF0aDsgZm9yIGkgaW4gQ2hh bmdlTG9nKiBDT1BZSU5HLkxJQjsgZG8KQEAgLTE0NjMsMTQgKzE0NTUsMTQgQEAgbG4gLXNmIC4u Ly4uLy4uL2xpYnN0ZGMrKy5zby42LipbMC05XSBsaWJzdGRjKysuc28KIGxuIC1zZiAuLi8uLi8u Li9saWJnZm9ydHJhbi5zby41LiogbGliZ2ZvcnRyYW4uc28KIGxuIC1zZiAuLi8uLi8uLi9saWJn b21wLnNvLjEuKiBsaWJnb21wLnNvCiAlaWYgJXtidWlsZF9nb30KLWxuIC1zZiAuLi8uLi8uLi9s aWJnby5zby4xOS4qIGxpYmdvLnNvCitsbiAtc2YgLi4vLi4vLi4vbGliZ28uc28uMjAuKiBsaWJn by5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0KIGxuIC1zZiAuLi8uLi8uLi9s aWJxdWFkbWF0aC5zby4wLiogbGlicXVhZG1hdGguc28KICVlbmRpZgogJWlmICV7YnVpbGRfZH0K LWxuIC1zZiAuLi8uLi8uLi9saWJnZHJ1bnRpbWUuc28uMi4qIGxpYmdkcnVudGltZS5zbwotbG4g LXNmIC4uLy4uLy4uL2xpYmdwaG9ib3Muc28uMi4qIGxpYmdwaG9ib3Muc28KK2xuIC1zZiAuLi8u Li8uLi9saWJnZHJ1bnRpbWUuc28uMy4qIGxpYmdkcnVudGltZS5zbworbG4gLXNmIC4uLy4uLy4u L2xpYmdwaG9ib3Muc28uMy4qIGxpYmdwaG9ib3Muc28KICVlbmRpZgogJWlmICV7YnVpbGRfbGli aXRtfQogbG4gLXNmIC4uLy4uLy4uL2xpYml0bS5zby4xLiogbGliaXRtLnNvCkBAIC0xNDc5LDcg KzE0NzEsNyBAQCBsbiAtc2YgLi4vLi4vLi4vbGliaXRtLnNvLjEuKiBsaWJpdG0uc28KIGxuIC1z ZiAuLi8uLi8uLi9saWJhdG9taWMuc28uMS4qIGxpYmF0b21pYy5zbwogJWVuZGlmCiAlaWYgJXti dWlsZF9saWJhc2FufQotbG4gLXNmIC4uLy4uLy4uL2xpYmFzYW4uc28uNi4qIGxpYmFzYW4uc28K K2xuIC1zZiAuLi8uLi8uLi9saWJhc2FuLnNvLjguKiBsaWJhc2FuLnNvCiBtdiAuLi8uLi8uLi9s aWJhc2FuX3ByZWluaXQubyBsaWJhc2FuX3ByZWluaXQubwogJWVuZGlmCiAlaWYgJXtidWlsZF9s aWJ1YnNhbn0KQEAgLTE0OTMsMTQgKzE0ODUsMTQgQEAgbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xp Yn0vbGlic3RkYysrLnNvLjYuKlswLTldIGxpYnN0ZGMrKy5zbwogbG4gLXNmIC4uLy4uLy4uLy4u LyV7X2xpYn0vbGliZ2ZvcnRyYW4uc28uNS4qIGxpYmdmb3J0cmFuLnNvCiBsbiAtc2YgLi4vLi4v Li4vLi4vJXtfbGlifS9saWJnb21wLnNvLjEuKiBsaWJnb21wLnNvCiAlaWYgJXtidWlsZF9nb30K LWxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdvLnNvLjE5LiogbGliZ28uc28KK2xuIC1z ZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdvLnNvLjIwLiogbGliZ28uc28KICVlbmRpZgogJWlm ICV7YnVpbGRfbGlicXVhZG1hdGh9CiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJxdWFk bWF0aC5zby4wLiogbGlicXVhZG1hdGguc28KICVlbmRpZgogJWlmICV7YnVpbGRfZH0KLWxuIC1z ZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdkcnVudGltZS5zby4yLiogbGliZ2RydW50aW1lLnNv Ci1sbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJncGhvYm9zLnNvLjIuKiBsaWJncGhvYm9z LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnZHJ1bnRpbWUuc28uMy4qIGxpYmdk cnVudGltZS5zbworbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ3Bob2Jvcy5zby4zLiog bGliZ3Bob2Jvcy5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJpdG19CiBsbiAtc2YgLi4vLi4v Li4vLi4vJXtfbGlifS9saWJpdG0uc28uMS4qIGxpYml0bS5zbwpAQCAtMTUwOSw3ICsxNTAxLDcg QEAgbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliaXRtLnNvLjEuKiBsaWJpdG0uc28KIGxu IC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmF0b21pYy5zby4xLiogbGliYXRvbWljLnNvCiAl ZW5kaWYKICVpZiAle2J1aWxkX2xpYmFzYW59Ci1sbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9s aWJhc2FuLnNvLjYuKiBsaWJhc2FuLnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJh c2FuLnNvLjguKiBsaWJhc2FuLnNvCiBtdiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmFzYW5fcHJl aW5pdC5vIGxpYmFzYW5fcHJlaW5pdC5vCiAlZW5kaWYKICVpZiAle2J1aWxkX2xpYnVic2FufQpA QCAtMTUxNyw3ICsxNTA5LDcgQEAgbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGlidWJzYW4u c28uMS4qIGxpYnVic2FuLnNvCiAlZW5kaWYKICVpZiAle2J1aWxkX2xpYnRzYW59CiBybSAtZiBs aWJ0c2FuLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vJXtfbGlifS8nYGVjaG8gLi4vLi4v Li4vLi4vJXtfbGlifS9saWJ0c2FuLnNvLjAuKiB8IHNlZCAncyxeLipsaWJ0LGxpYnQsJ2AnICkn ID4gbGlidHNhbi5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9LyV7X2xpYn0vJ2BlY2hvIC4u Ly4uLy4uLy4uLyV7X2xpYn0vbGlidHNhbi5zby4yLiogfCBzZWQgJ3MsXi4qbGlidCxsaWJ0LCdg JyApJyA+IGxpYnRzYW4uc28KIG12IC4uLy4uLy4uLy4uLyV7X2xpYn0vbGlidHNhbl9wcmVpbml0 Lm8gbGlidHNhbl9wcmVpbml0Lm8KICVlbmRpZgogJWlmICV7YnVpbGRfbGlibHNhbn0KQEAgLTE1 NzcsMjggKzE1NjksMjggQEAgbXYgLWYgJEZVTExQQVRIL2FkYXtpbmNsdWRlLGxpYn0gJEZVTExM UEFUSC8KIHB1c2hkICRGVUxMTFBBVEgvYWRhbGliCiBpZiBbICIle19saWJ9IiA9ICJsaWIiIF07 IHRoZW4KIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmFybC0qLnNvIGxpYmduYXJsLnNvCi1s biAtc2YgLi4vLi4vLi4vLi4vLi4vbGliZ25hcmwtKi5zbyBsaWJnbmFybC0xMS5zbworbG4gLXNm IC4uLy4uLy4uLy4uLy4uL2xpYmduYXJsLSouc28gbGliZ25hcmwtMTIuc28KIGxuIC1zZiAuLi8u Li8uLi8uLi8uLi9saWJnbmF0LSouc28gbGliZ25hdC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uLy4u L2xpYmduYXQtKi5zbyBsaWJnbmF0LTExLnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vLi4vbGliZ25h dC0qLnNvIGxpYmduYXQtMTIuc28KIGVsc2UKIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19s aWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8l e19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwtMTEuc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8u Li8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwtMTIuc28KIGxuIC1zZiAuLi8uLi8u Li8uLi8uLi8uLi8le19saWJ9L2xpYmduYXQtKi5zbyBsaWJnbmF0LnNvCi1sbiAtc2YgLi4vLi4v Li4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSouc28gbGliZ25hdC0xMS5zbworbG4gLXNmIC4u Ly4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hdC0qLnNvIGxpYmduYXQtMTIuc28KIGZpCiBw b3BkCiBlbHNlCiBwdXNoZCAkRlVMTFBBVEgvYWRhbGliCiBpZiBbICIle19saWJ9IiA9ICJsaWIi IF07IHRoZW4KIGxuIC1zZiAuLi8uLi8uLi8uLi9saWJnbmFybC0qLnNvIGxpYmduYXJsLnNvCi1s biAtc2YgLi4vLi4vLi4vLi4vbGliZ25hcmwtKi5zbyBsaWJnbmFybC0xMS5zbworbG4gLXNmIC4u Ly4uLy4uLy4uL2xpYmduYXJsLSouc28gbGliZ25hcmwtMTIuc28KIGxuIC1zZiAuLi8uLi8uLi8u Li9saWJnbmF0LSouc28gbGliZ25hdC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXQtKi5z byBsaWJnbmF0LTExLnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vbGliZ25hdC0qLnNvIGxpYmduYXQt MTIuc28KIGVsc2UKIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28g bGliZ25hcmwuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28g bGliZ25hcmwtMTEuc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSou c28gbGliZ25hcmwtMTIuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXQt Ki5zbyBsaWJnbmF0LnNvCi1sbiAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSou c28gbGliZ25hdC0xMS5zbworbG4gLXNmIC4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hdC0q LnNvIGxpYmduYXQtMTIuc28KIGZpCiBwb3BkCiBmaQpAQCAtMTYxMyw4ICsxNjA1LDggQEAgbG4g LXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnZm9ydHJhbi5zby41LiogfCBzZWQgc34v bGliL34vbGliNjQvfmAgNjQvbGkKIGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGli Z29tcC5zby4xLiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGliZ29tcC5zbwogJWlmICV7 YnVpbGRfZ299CiBybSAtZiBsaWJnby5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8n YGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdvLnNvLjE5LiogfCBzZWQgJ3MsXi4qbGliZyxsaWJn LCdgJyApJyA+IGxpYmdvLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hv IC4uLy4uLy4uLy4uL2xpYi9saWJnby5zby4xOS4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcg KScgPiA2NC9saWJnby5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4v Li4vLi4vLi4vbGliL2xpYmdvLnNvLjIwLiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+ IGxpYmdvLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4u Ly4uL2xpYi9saWJnby5zby4yMC4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcgKScgPiA2NC9s aWJnby5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJxdWFkbWF0aH0KIHJtIC1mIGxpYnF1YWRt YXRoLnNvCkBAIC0xNjIzLDEwICsxNjE1LDEwIEBAIGVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9s aWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYnF1YWRtYXRoLnNvLjAuKiB8IHNlZCAnCiAl ZW5kaWYKICVpZiAle2J1aWxkX2R9CiBybSAtZiBsaWJnZHJ1bnRpbWUuc28gbGliZ3Bob2Jvcy5z bwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xp YmdkcnVudGltZS5zby4yLiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IGxpYmdkcnVu dGltZS5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8u Li9saWIvbGliZ2RydW50aW1lLnNvLjIuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4g NjQvbGliZ2RydW50aW1lLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAu Li8uLi8uLi8uLi9saWIvbGliZ3Bob2Jvcy5zby4yLiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdg JyApJyA+IGxpYmdwaG9ib3Muc28KLWVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVj aG8gLi4vLi4vLi4vLi4vbGliL2xpYmdwaG9ib3Muc28uMi4qIHwgc2VkICdzLF4uKmxpYmcsbGli ZywnYCcgKScgPiA2NC9saWJncGhvYm9zLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGli LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ2RydW50aW1lLnNvLjMuKiB8IHNlZCAncyxeLips aWJnLGxpYmcsJ2AnICknID4gbGliZ2RydW50aW1lLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZp eH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnZHJ1bnRpbWUuc28uMy4qIHwgc2Vk ICdzLF4uKmxpYmcsbGliZywnYCcgKScgPiA2NC9saWJnZHJ1bnRpbWUuc28KK2VjaG8gJ0lOUFVU ICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJncGhvYm9zLnNvLjMu KiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gbGliZ3Bob2Jvcy5zbworZWNobyAnSU5Q VVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ3Bob2Jvcy5z by4zLiogfCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDY0L2xpYmdwaG9ib3Muc28KICVl bmRpZgogJWlmICV7YnVpbGRfbGliaXRtfQogcm0gLWYgbGliaXRtLnNvCkBAIC0xNjQwLDggKzE2 MzIsOCBAQCBlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4u L2xpYi9saWJhdG9taWMuc28uMS4qIHwgc2VkICdzLAogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJh c2FufQogcm0gLWYgbGliYXNhbi5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVj aG8gLi4vLi4vLi4vLi4vbGliL2xpYmFzYW4uc28uNi4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwn YCcgKScgPiBsaWJhc2FuLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hv IC4uLy4uLy4uLy4uL2xpYi9saWJhc2FuLnNvLjYuKiB8IHNlZCAncyxeLipsaWJhLGxpYmEsJ2An ICknID4gNjQvbGliYXNhbi5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8g Li4vLi4vLi4vLi4vbGliL2xpYmFzYW4uc28uOC4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcg KScgPiBsaWJhc2FuLnNvCitlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4u Ly4uLy4uLy4uL2xpYi9saWJhc2FuLnNvLjguKiB8IHNlZCAncyxeLipsaWJhLGxpYmEsJ2AnICkn ID4gNjQvbGliYXNhbi5zbwogbXYgLi4vLi4vLi4vLi4vbGliNjQvbGliYXNhbl9wcmVpbml0Lm8g NjQvbGliYXNhbl9wcmVpbml0Lm8KICVlbmRpZgogJWlmICV7YnVpbGRfbGlidWJzYW59CkBAIC0x NzEyLDggKzE3MDQsOCBAQCBsbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2Zv cnRyYW4uc28uNS4qIHwgc2VkIHN+Ly4uL2xpYjY0L34vfmAgMzIvbAogbG4gLXNmIC4uL2BlY2hv IC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvbXAuc28uMS4qIHwgc2VkIHN+Ly4uL2xpYjY0L34vfmAg MzIvbGliZ29tcC5zbwogJWlmICV7YnVpbGRfZ299CiBybSAtZiBsaWJnby5zbwotZWNobyAnSU5Q VVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJnby5zby4x OS4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcgKScgPiBsaWJnby5zbwotZWNobyAnSU5QVVQg KCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uMTkuKiB8 IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gMzIvbGliZ28uc28KK2VjaG8gJ0lOUFVUICgg JXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ28uc28uMjAuKiB8 IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gbGliZ28uc28KK2VjaG8gJ0lOUFVUICggJXtf cHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdvLnNvLjIwLiogfCBzZWQg J3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDMyL2xpYmdvLnNvCiAlZW5kaWYKICVpZiAle2J1aWxk X2xpYnF1YWRtYXRofQogcm0gLWYgbGlicXVhZG1hdGguc28KQEAgLTE3MjIsMTAgKzE3MTQsMTAg QEAgZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQv bGlicXVhZG1hdGguc28uMC4qIHwgc2VkICcKICVlbmRpZgogJWlmICV7YnVpbGRfZH0KIHJtIC1m IGxpYmdkcnVudGltZS5zbyBsaWJncGhvYm9zLnNvCi1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0v bGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdkcnVudGltZS5zby4yLiogfCBzZWQg J3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IGxpYmdkcnVudGltZS5zbwotZWNobyAnSU5QVVQgKCAl e19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2RydW50aW1lLnNvLjIu KiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gMzIvbGliZ2RydW50aW1lLnNvCi1lY2hv ICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdw aG9ib3Muc28uMi4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcgKScgPiBsaWJncGhvYm9zLnNv Ci1lY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9s aWJncGhvYm9zLnNvLjIuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gMzIvbGliZ3Bo b2Jvcy5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8u Li9saWI2NC9saWJnZHJ1bnRpbWUuc28uMy4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcgKScg PiBsaWJnZHJ1bnRpbWUuc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4u Ly4uLy4uLy4uL2xpYjY0L2xpYmdkcnVudGltZS5zby4zLiogfCBzZWQgJ3MsXi4qbGliZyxsaWJn LCdgJyApJyA+IDMyL2xpYmdkcnVudGltZS5zbworZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xp YjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJncGhvYm9zLnNvLjMuKiB8IHNlZCAncyxe LipsaWJnLGxpYmcsJ2AnICknID4gbGliZ3Bob2Jvcy5zbworZWNobyAnSU5QVVQgKCAle19wcmVm aXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ3Bob2Jvcy5zby4zLiogfCBzZWQg J3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDMyL2xpYmdwaG9ib3Muc28KICVlbmRpZgogJWlmICV7 YnVpbGRfbGliaXRtfQogcm0gLWYgbGliaXRtLnNvCkBAIC0xNzM5LDggKzE3MzEsOCBAQCBlY2hv ICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJhdG9t aWMuc28uMS4qIHwgc2VkICdzLAogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJhc2FufQogcm0gLWYg bGliYXNhbi5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8u Li8uLi9saWI2NC9saWJhc2FuLnNvLjYuKiB8IHNlZCAncyxeLipsaWJhLGxpYmEsJ2AnICknID4g bGliYXNhbi5zbwotZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4vLi4v Li4vbGliNjQvbGliYXNhbi5zby42LiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdgJyApJyA+IDMy L2xpYmFzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVjaG8gLi4vLi4v Li4vLi4vbGliNjQvbGliYXNhbi5zby44LiogfCBzZWQgJ3MsXi4qbGliYSxsaWJhLCdgJyApJyA+ IGxpYmFzYW4uc28KK2VjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4u Ly4uL2xpYjY0L2xpYmFzYW4uc28uOC4qIHwgc2VkICdzLF4uKmxpYmEsbGliYSwnYCcgKScgPiAz Mi9saWJhc2FuLnNvCiBtdiAuLi8uLi8uLi8uLi9saWIvbGliYXNhbl9wcmVpbml0Lm8gMzIvbGli YXNhbl9wcmVpbml0Lm8KICVlbmRpZgogJWlmICV7YnVpbGRfbGlidWJzYW59CkBAIC0xODc3LDgg KzE4NjksOCBAQCBjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmNj MS5zby4wLioKIGNobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlicXVh ZG1hdGguc28uMC4qCiAlZW5kaWYKICVpZiAle2J1aWxkX2R9Ci1jaG1vZCA3NTUgJXtidWlsZHJv b3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmdkcnVudGltZS5zby4yLioKLWNobW9kIDc1NSAle2J1 aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliZ3Bob2Jvcy5zby4yLioKK2NobW9kIDc1NSAl e2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliZ2RydW50aW1lLnNvLjMuKgorY2htb2Qg NzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJncGhvYm9zLnNvLjMuKgogJWVu ZGlmCiAlaWYgJXtidWlsZF9saWJpdG19CiBjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4 fS8le19saWJ9L2xpYml0bS5zby4xLioKQEAgLTE4ODcsMjAgKzE4NzksMjAgQEAgY2htb2QgNzU1 ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJpdG0uc28uMS4qCiBjaG1vZCA3NTUg JXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYmF0b21pYy5zby4xLioKICVlbmRpZgog JWlmICV7YnVpbGRfbGliYXNhbn0KLWNobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7 X2xpYn0vbGliYXNhbi5zby42LioKK2NobW9kIDc1NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7 X2xpYn0vbGliYXNhbi5zby44LioKICVlbmRpZgogJWlmICV7YnVpbGRfbGlidWJzYW59CiBjaG1v ZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9L2xpYnVic2FuLnNvLjEuKgogJWVu ZGlmCiAlaWYgJXtidWlsZF9saWJ0c2FufQotY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZp eH0vJXtfbGlifS9saWJ0c2FuLnNvLjAuKgorY2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZp eH0vJXtfbGlifS9saWJ0c2FuLnNvLjIuKgogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJsc2FufQog Y2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJsc2FuLnNvLjAuKgog JWVuZGlmCiAlaWYgJXtidWlsZF9nb30KICMgQXZvaWQgc3RyaXBwaW5nIHRoZXNlIGxpYnJhcmll cyBhbmQgYmluYXJpZXMuCi1jaG1vZCA2NDQgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19saWJ9 L2xpYmdvLnNvLjE5LioKK2NobW9kIDY0NCAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0v bGliZ28uc28uMjAuKgogY2htb2QgNjQ0ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vYmluL2dvLmdj YwogY2htb2QgNjQ0ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vYmluL2dvZm10LmdjYwogY2htb2Qg NjQ0ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vbGliZXhlYy9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRm b3JtfS8le2djY19tYWpvcn0vY2dvCkBAIC0yMjc2LDYgKzIyNjgsOCBAQCBlbmQKICV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS9pbmNsdWRlL2tl eWxvY2tlcmludHJpbi5oCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3Jt fS8le2djY19tYWpvcn0vaW5jbHVkZS9hdnh2bm5paW50cmluLmgKICV7X3ByZWZpeH0vbGliL2dj Yy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS9pbmNsdWRlL213YWl0aW50cmlu LmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9y fS9pbmNsdWRlL2F2eDUxMmZwMTZpbnRyaW4uaAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3Rh cmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFqb3J9L2luY2x1ZGUvYXZ4NTEyZnAxNnZsaW50cmluLmgK ICVlbmRpZgogJWlmYXJjaCBpYTY0CiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3Bs YXRmb3JtfS8le2djY19tYWpvcn0vaW5jbHVkZS9pYTY0aW50cmluLmgKQEAgLTIzMDAsNiArMjI5 NCw5IEBAIGVuZAogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtn Y2NfbWFqb3J9L2luY2x1ZGUvdG1taW50cmluLmgKICV7X3ByZWZpeH0vbGliL2djYy8le2djY190 YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS9pbmNsdWRlL3NtbWludHJpbi5oCiAle19wcmVm aXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY19tYWpvcn0vaW5jbHVkZS9h bW8uaAorJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFq b3J9L2luY2x1ZGUvbm1taW50cmluLmgKKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX21ham9yfS9pbmNsdWRlL2ltbWludHJpbi5oCisle19wcmVmaXh9L2xp Yi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2djY19tYWpvcn0vaW5jbHVkZS94ODZncHJp bnRyaW4uaAogJWVuZGlmCiAlaWZhcmNoICV7YXJtfQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2Nj X3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFqb3J9L2luY2x1ZGUvdW53aW5kLWFybS1jb21tb24u aApAQCAtMjcxNCw4ICsyNzExLDggQEAgZW5kCiAlZG9jIHJwbS5kb2MvZ2RjLyoKIAogJWZpbGVz IC1uIGxpYmdwaG9ib3MKLSV7X3ByZWZpeH0vJXtfbGlifS9saWJnZHJ1bnRpbWUuc28uMioKLSV7 X3ByZWZpeH0vJXtfbGlifS9saWJncGhvYm9zLnNvLjIqCisle19wcmVmaXh9LyV7X2xpYn0vbGli Z2RydW50aW1lLnNvLjMqCisle19wcmVmaXh9LyV7X2xpYn0vbGliZ3Bob2Jvcy5zby4zKgogJWRv YyBycG0uZG9jL2xpYnBob2Jvcy8qCiAKICVmaWxlcyAtbiBsaWJncGhvYm9zLXN0YXRpYwpAQCAt MjkyMCw3ICsyOTE3LDcgQEAgZW5kCiAKICVpZiAle2J1aWxkX2xpYmFzYW59CiAlZmlsZXMgLW4g bGliYXNhbgotJXtfcHJlZml4fS8le19saWJ9L2xpYmFzYW4uc28uNioKKyV7X3ByZWZpeH0vJXtf bGlifS9saWJhc2FuLnNvLjgqCiAKICVmaWxlcyAtbiBsaWJhc2FuLXN0YXRpYwogJWRpciAle19w cmVmaXh9L2xpYi9nY2MKQEAgLTI5NjgsNyArMjk2NSw3IEBAIGVuZAogCiAlaWYgJXtidWlsZF9s aWJ0c2FufQogJWZpbGVzIC1uIGxpYnRzYW4KLSV7X3ByZWZpeH0vJXtfbGlifS9saWJ0c2FuLnNv LjAqCisle19wcmVmaXh9LyV7X2xpYn0vbGlidHNhbi5zby4yKgogCiAlZmlsZXMgLW4gbGlidHNh bi1zdGF0aWMKICVkaXIgJXtfcHJlZml4fS9saWIvZ2NjCkBAIC0zMDQwLDcgKzMwMzcsNyBAQCBl bmQKICVkb2MgcnBtLmRvYy9nby8qCiAKICVmaWxlcyAtbiBsaWJnbwotJWF0dHIoNzU1LHJvb3Qs cm9vdCkgJXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjE5KgorJWF0dHIoNzU1LHJvb3Qscm9v dCkgJXtfcHJlZml4fS8le19saWJ9L2xpYmdvLnNvLjIwKgogJWRvYyBycG0uZG9jL2xpYmdvLyoK IAogJWZpbGVzIC1uIGxpYmdvLWRldmVsCkBAIC0zMTQ4LDY4OCArMzE0NSw1IEBAIGVuZAogJWVu ZGlmCiAKICVjaGFuZ2Vsb2cKLSogRnJpIERlYyAgMyAyMDIxIEpha3ViIEplbGluZWsgPGpha3Vi QHJlZGhhdC5jb20+IDExLjIuMS03Ci0tIHVwZGF0ZSBmcm9tIHJlbGVhc2VzL2djYy0xMS1icmFu Y2gKLSAgLSBQUnMgYWRhLzEwMDQ4NiwgYysrLzcwNzk2LCBjKysvOTI3NDYsIGMrKy85MzI4Niwg YysrLzk0NDkwLCBjKysvMTAyNjQyLAotCWMrKy8xMDI3ODYsIGRlYnVnLzEwMTM3OCwgZGVidWcv MTAzMDQ2LCBkZWJ1Zy8xMDMzMTUsIGZvcnRyYW4vODc3MTEsCi0JZm9ydHJhbi84Nzg1MSwgZm9y dHJhbi85Nzg5NiwgZm9ydHJhbi85OTA2MSwgZm9ydHJhbi85OTM0OCwKLQlmb3J0cmFuLzEwMjUy MSwgZm9ydHJhbi8xMDI2ODUsIGZvcnRyYW4vMTAyNzE1LCBmb3J0cmFuLzEwMjc0NSwKLQlmb3J0 cmFuLzEwMjgxNiwgZm9ydHJhbi8xMDI4MTcsIGZvcnRyYW4vMTAyOTE3LCBmb3J0cmFuLzEwMzEz NywKLQlmb3J0cmFuLzEwMzEzOCwgZm9ydHJhbi8xMDMzOTIsIGdjb3YtcHJvZmlsZS8xMDA1MjAs IGlwYS8xMDI3MTQsCi0JaXBhLzEwMjc2MiwgaXBhLzEwMzA1MiwgaXBhLzEwMzI0NiwgaXBhLzEw MzI2NywgbGlic3RkYysrLzk2NDE2LAotCWxpYnN0ZGMrKy85ODQyMSwgbGlic3RkYysrLzEwMDEx NywgbGlic3RkYysrLzEwMDE1MywgbGlic3RkYysrLzEwMDc0OCwKLQlsaWJzdGRjKysvMTAxNTcx LCBsaWJzdGRjKysvMTAxNjA4LCBsaWJzdGRjKysvMTAyODk0LAotCWxpYnN0ZGMrKy8xMDMwMjIs IGxpYnN0ZGMrKy8xMDMwODYsIGxpYnN0ZGMrKy8xMDMxMzMsCi0JbGlic3RkYysrLzEwMzI0MCwg bGlic3RkYysrLzEwMzM4MSwgbWlkZGxlLWVuZC82NDg4OCwKLQltaWRkbGUtZW5kLzEwMTQ4MCwg bWlkZGxlLWVuZC8xMDI0MzEsIG1pZGRsZS1lbmQvMTAyNTE4LAotCW1pZGRsZS1lbmQvMTAzMDU5 LCBtaWRkbGUtZW5kLzEwMzE4MSwgbWlkZGxlLWVuZC8xMDMyNDgsCi0JbWlkZGxlLWVuZC8xMDMz ODQsIHByZXByb2Nlc3Nvci8xMDMxMzAsIHJ0bC1vcHRpbWl6YXRpb24vMTAyMzU2LAotCXJ0bC1v cHRpbWl6YXRpb24vMTAyODQyLCB0YXJnZXQvMTAxOTg1LCB0YXJnZXQvMTAyOTc2LCB0YXJnZXQv MTAyOTkxLAotCXRhcmdldC8xMDMyMDUsIHRhcmdldC8xMDMyNzQsIHRhcmdldC8xMDMyNzUsIHRl c3RzdWl0ZS8xMDI2OTAsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAwMzkzLCB0cmVlLW9wdGltaXph dGlvbi8xMDIxMzksCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAyNTA1LCB0cmVlLW9wdGltaXphdGlv bi8xMDI1NzIsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAyNzg4LCB0cmVlLW9wdGltaXphdGlvbi8x MDI3ODksCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAyNzk4LCB0cmVlLW9wdGltaXphdGlvbi8xMDI5 NzAsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAzMTkyLCB0cmVlLW9wdGltaXphdGlvbi8xMDMyMDQs Ci0JdHJlZS1vcHRpbWl6YXRpb24vMTAzMjM3LCB0cmVlLW9wdGltaXphdGlvbi8xMDMyNTUsCi0J dHJlZS1vcHRpbWl6YXRpb24vMTAzNDM1Ci0tIGZpeCB1cCAjX19WQV9PUFRfXyBoYW5kbGluZyAo UFIgcHJlcHJvY2Vzc29yLzEwMzQxNSkKLQotKiBUdWUgT2N0IDE5IDIwMjEgSmFrdWIgSmVsaW5l ayA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMi4xLTYKLS0gdXBkYXRlIGZyb20gcmVsZWFzZXMvZ2Nj LTExLWJyYW5jaAotICAtIFBScyB0YXJnZXQvMTAwMjA4LCB0YXJnZXQvMTAwMzE2LCB0YXJnZXQv MTAyNzYxCi0tIGZpeCB1cCBsaWJzdGRjKysgZG9jcyBidWlsZAotCi0qIE1vbiBPY3QgMTggMjAy MSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4yLjEtNQotLSB1cGRhdGUgZnJv bSByZWxlYXNlcy9nY2MtMTEtYnJhbmNoCi0gIC0gUFJzIGZvcnRyYW4vMTAyNzE2LCBsaWJzdGRj KysvNjU4MTYsIGxpYnN0ZGMrKy85MDc4NywgbGlic3RkYysrLzk5ODc2LAotCWxpYnN0ZGMrKy8x MDAxODcsIGxpYnN0ZGMrKy8xMDAyMzcsIGxpYnN0ZGMrKy8xMDAyNDksCi0JbGlic3RkYysrLzEw MDI4NywgbGlic3RkYysrLzEwMDYwNiwgbGlic3RkYysrLzEwMDg2MywKLQlsaWJzdGRjKysvMTAx NDgzLCBsaWJzdGRjKysvMTAxNTgzLCBsaWJzdGRjKysvMTAxNTg5LAotCWxpYnN0ZGMrKy8xMDE1 OTksIGxpYnN0ZGMrKy8xMDE3NjEsIGxpYnN0ZGMrKy8xMDE4NzAsCi0JbGlic3RkYysrLzEwMTky MywgbGlic3RkYysrLzEwMTk2MCwgbGlic3RkYysrLzEwMjA0OCwKLQlsaWJzdGRjKysvMTAyMDc0 LCBsaWJzdGRjKysvMTAyMjcwLCBsaWJzdGRjKysvMTAyMjgwLAotCWxpYnN0ZGMrKy8xMDI0MjUs IGxpYnN0ZGMrKy8xMDI1OTIsIGxpYnN0ZGMrKy8xMDI2NjcsCi0JcnRsLW9wdGltaXphdGlvbi8x MDI2MjcsIHRhcmdldC8xMDAzNDAsIHRhcmdldC8xMDI1ODgKLS0gYWRkIG13YWl0aW50cmluLmgg b24geDg2ICgjMjAxMzg2MCkKLS0gZGlzYWJsZSBMVE8gYm9vdHN0cmFwIG9uIDMyLWJpdCBhcm0s IDYgZGF5cyBsb25nIGJ1aWxkIGFuZCBjb3VudGluZwotICBpc24ndCBhY2NlcHRhYmxlLCBidWls ZCBib3hlcyBkb24ndCBoYXZlIGVub3VnaCBtZW1vcnkgYW5kIGFyZSB0b28KLSAgc2xvdwotCi0q IFR1ZSBPY3QgMTIgMjAyMSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4yLjEt NAotLSB1cGRhdGUgZnJvbSByZWxlYXNlcy9nY2MtMTEtYnJhbmNoCi0gIC0gUFJzIGFkYS8xMDE5 NzAsIGMrKy82MDMxOCwgYysrLzY0Njk3LCBjKysvODg1NzgsIGMrKy85MTI5MiwgYysrLzk1NTY3 LAotCWMrKy85ODIxNiwgYysrLzk4NDg2LCBjKysvOTk5MDQsIGMrKy8xMDA0OTUsIGMrKy8xMDEz NDQsIGMrKy8xMDE1OTIsCi0JYysrLzEwMTgwMywgYysrLzEwMTg4MywgYysrLzEwMjE2MywgYysr LzEwMjI5NSwgYysrLzEwMjMwNSwKLQljKysvMTAyNDEyLCBjKysvMTAyNDU0LCBjKysvMTAyNDk2 LCBjKysvMTAyNTM1LCBjKysvMTAyNTQ3LAotCWMrKy8xMDI1NDgsIGMrKy8xMDI2NDAsIGQvMTAy MTg1LCBkLzEwMjU3NCwgZGVidWcvMTAyMzczLAotCWRlYnVnLzEwMjQ0MSwgZm9ydHJhbi80NjY5 MSwgZm9ydHJhbi84MjMxNCwgZm9ydHJhbi84NTEzMCwKLQlmb3J0cmFuLzg3NzM3LCBmb3J0cmFu Lzk4NDkwLCBmb3J0cmFuLzk5ODE5LCBmb3J0cmFuLzEwMDk1MCwKLQlmb3J0cmFuLzEwMTMyNywg Zm9ydHJhbi8xMDEzNDksIGZvcnRyYW4vMTAyMTEzLCBmb3J0cmFuLzEwMjI4NywKLQlmb3J0cmFu LzEwMjMxMSwgZm9ydHJhbi8xMDIzNjYsIGZvcnRyYW4vMTAyNDU4LCBmb3J0cmFuLzEwMjUyMCwK LQlpcGEvOTc1NjUsIGxpYmdvbXAvOTY2NjEsIGxpYnN0ZGMrKy8xMDAxODAsIGxpYnN0ZGMrKy8x MDAyODUsCi0JbGlic3RkYysrLzEwMDI4NiwgbGlic3RkYysrLzEwMDM1MSwgbGlic3RkYysrLzEw MDY4MiwKLQlsaWJzdGRjKysvMTAxOTY1LCBtaWRkbGUtZW5kLzEwMTgyNCwgbWlkZGxlLWVuZC8x MDE5NDksCi0JcnRsLW9wdGltaXphdGlvbi8xMDIzMDYsIHNhbml0aXplci8xMDI1MTUsIHRhcmdl dC85NDYzMCwgdGFyZ2V0Lzk3MTQyLAotCXRhcmdldC8xMDA3MzQsIHRhcmdldC8xMDE0NzEsIHRh cmdldC8xMDE0NzIsIHRhcmdldC8xMDE0OTIsCi0JdGFyZ2V0LzEwMTU0OSwgdGFyZ2V0LzEwMTg0 OSwgdGFyZ2V0LzEwMTkzNCwgdGFyZ2V0LzEwMjAzNSwKLQl0YXJnZXQvMTAyMTA3LCB0YXJnZXQv MTAyMTE1LCB0YXJnZXQvMTAyMTY2LCB0YXJnZXQvMTAyMjIyLAotCXRhcmdldC8xMDIyMjQsIHRh cmdldC8xMDI0OTgsIHRyZWUtb3B0aW1pemF0aW9uLzEwMTkyNSwKLQl0cmVlLW9wdGltaXphdGlv bi8xMDIwNDYsIHRyZWUtb3B0aW1pemF0aW9uLzEwMjEyNCwKLQl0cmVlLW9wdGltaXphdGlvbi8x MDI0MDAsIHRyZWUtb3B0aW1pemF0aW9uLzEwMjQ1MSwKLQl0cmVlLW9wdGltaXphdGlvbi8xMDI2 MjIKLS0gcmVtb3ZlIHRoZSBQUiBsaWJzdGRjKysvOTkzNDEgd29ya2Fyb3VuZCBmb3IgRmVkb3Jh IDM1IGFuZCBsYXRlciwKLSAgdGhlIHN0ZDo6b25jZV9mbGFnOjpfTV9hY3RpdmF0ZSgpIGFuZCBz dGQ6Om9uY2VfZmxhZzo6X01fZmluaXNoKGJvb2wpCi0gIHN5bWJvbHMgKG1hbmdsZWQgYXMgX1pO U3Q5b25jZV9mbGFnMTFfTV9hY3RpdmF0ZUV2IGFuZAotICBfWk5TdDlvbmNlX2ZsYWc5X01fZmlu aXNoRWIpIGFyZW4ndCBwYXJ0IG9mIHVwc3RyZWFtIEdDQyAxMSBhbmQgd2VyZQotICBwcmVzZW50 IG9ubHkgYmVjYXVzZSBub3QgYWxsIHBhY2thZ2VkIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgcmVi dWlsdAotICAoIzE5NjE1NDEpCi0KLSogTW9uIEF1ZyAyMyAyMDIxIEpha3ViIEplbGluZWsgPGph a3ViQHJlZGhhdC5jb20+IDExLjIuMS0zCi0tIHVwZGF0ZSBmcm9tIHJlbGVhc2VzL2djYy0xMS1i cmFuY2gKLSAgLSBQUnMgYysrLzEwMDgyOCwgYysrLzEwMTY2MywgYysrLzEwMTcyNSwgYysrLzEw MTc1OSwgYy8xMDAxNTAsIGMvMTAxNTEyLAotCWQvOTY0MzUsIGQvMTAxMTI3LCBkLzEwMTQ0MSwg ZC8xMDE0OTAsIGQvMTAxNjE5LCBkLzEwMTY0MCwgZC8xMDE2NjQsCi0JZGVidWcvMTAxOTA1LCBm b3J0cmFuLzk5MzUxLCBmb3J0cmFuLzEwMTA4NCwgZm9ydHJhbi8xMDE1MTQsCi0JZm9ydHJhbi8x MDE1MzYsIGZvcnRyYW4vMTAxNTY0LCBnY292LXByb2ZpbGUvODk5NjEsCi0JZ2Nvdi1wcm9maWxl LzEwMDc4OCwgaXBhLzEwMDYwMCwgaXBhLzEwMTI2MSwgaXBhLzEwMTcyNiwKLQlsaWJzdGRjKysv MTAwMTM5LCBsaWJzdGRjKysvMTAxMDU2LCBsaWJzdGRjKysvMTAxMjU4LAotCWxpYnN0ZGMrKy8x MDE1MTAsIGxpYnN0ZGMrKy8xMDE4NjYsIG1pZGRsZS1lbmQvMTAxNjI0LAotCXByZXByb2Nlc3Nv ci8xMDE2MzgsIHNhbml0aXplci8xMDE3NDksIHRhcmdldC85NDc4MCwgdGFyZ2V0LzEwMDk1MiwK LQl0YXJnZXQvMTAxMTMyLCB0YXJnZXQvMTAxNTMxLCB0YXJnZXQvMTAxNzIzLCB0ZXN0c3VpdGUv MTAxOTY5LAotCXRyZWUtb3B0aW1pemF0aW9uLzEwMTM3MywgdHJlZS1vcHRpbWl6YXRpb24vMTAx NTA1LAotCXRyZWUtb3B0aW1pemF0aW9uLzEwMTg2OAotLSBhZGQgYnVuZGxlZChsaWJiYWNrdHJh Y2UpIGFuZCBidW5kbGVkKGxpYmZmaSkgcHJvdmlkZXMKLS0gYnVpbGQgdGFyZ2V0IHNoYXJlZCBs aWJyYXJpZXMgd2l0aCAtV2wsLXoscmVscm8sLXosbm93Ci0tIGltcHJvdmUgZ2VuZXJhdGVkIGNv ZGUgd2l0aCBleHRlcm4gdGhyZWFkX2xvY2FsIGNvbnN0aW5pdCB2YXJzCi0gIHdpdGggdHJpdmlh bCBkdG9ycwotLSBhZGQgc3VwcG9ydCBmb3IgQysrMjAgI19fVkFfT1BUX18KLS0gZml4IHVwICUl bGRjb25maWdfc2NyaXB0bGV0cwotCi0qIEZyaSBKdWwgMzAgMjAyMSBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiAxMS4yLjEtMgotLSBlbmFibGUgTFRPIHByb2ZpbGVkYm9vdHN0cmFw IG9uIGFsbCBhcmNoZXMsIGFuZCBhbHNvIGZvciBSSEVMOSsKLQotKiBXZWQgSnVsIDI4IDIwMjEg SmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMi4xLTEKLS0gdXBkYXRlIGZyb20g cmVsZWFzZXMvZ2NjLTExLWJyYW5jaAotICAtIEdDQyAxMS4yIHJlbGVhc2UKLSAgLSBQUnMgbWlk ZGxlLWVuZC8xMDE1ODYsIHJ0bC1vcHRpbWl6YXRpb24vMTAxNTYyCi0tIGVuYWJsZSBMVE8gcHJv ZmlsZWRib290c3RyYXAgb24geDg2XzY0LCBpPzg2LCBwcGM2NGxlIGFuZCBzMzkweCBmb3IgZjM1 KwotCi0qIE1vbiBKdWwgMjYgMjAyMSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAx MS4xLjEtNwotLSB1cGRhdGUgZnJvbSByZWxlYXNlcy9nY2MtMTEtYnJhbmNoCi0gIC0gUFJzIGFk YS8xMDEwOTQsIGFuYWx5emVyLzEwMDI0NCwgYW5hbHl6ZXIvMTAwNjE1LCBhbmFseXplci8xMDEw ODIsCi0JYm9vdHN0cmFwLzEwMDI0NiwgYysrLzEwMDEzOCwgYysrLzEwMDc1MiwgYysrLzEwMDgz OCwgYysrLzEwMDkxOCwKLQljKysvMTAxMDQwLCBjKysvMTAxMDg3LCBjKysvMTAxMDk4LCBjKysv MTAxMTgxLCBjKysvMTAxMTgyLAotCWMrKy8xMDExOTQsIGMrKy8xMDEyMTAsIGMrKy8xMDEyMzMs IGMrKy8xMDEyNDcsIGMrKy8xMDEzNjEsCi0JYysrLzEwMTQ0MywgYysrLzEwMTUxNiwgYysrLzg2 MzU1LCBjKysvOTU1MjAsIGMrKy85NzQyMCwgYysrLzk4ODMyLAotCWMvMTAxMTcxLCBjLzEwMTE3 NiwgZC8xMDEyNzMsIGQvMTAxMjgyLCBkZWJ1Zy8xMDEyNjYsIGRyaXZlci8xMDEzODMsCi0JZm9y dHJhbi8xMDAyMjcsIGZvcnRyYW4vMTAwOTQ5LCBmb3J0cmFuLzkzNTI0LCBnby8xMDE0MDcsIGlw YS8xMDEwNjYsCi0JbGlic3RkYysrLzEwMDM4NywgbGlic3RkYysrLzEwMTQxMSwgbGlic3RkYysr LzEwMTQyNywKLQltaWRkbGUtZW5kLzEwMDY3MiwgbWlkZGxlLWVuZC8xMDExNTYsIG1pZGRsZS1l bmQvMTAxMTcyLAotCW1pZGRsZS1lbmQvMTAxMjkxLCBtaWRkbGUtZW5kLzEwMTQyMywgbWlkZGxl LWVuZC8xMDE1MzUsCi0JbWlkZGxlLWVuZC85NDM2NiwgdGFyZ2V0LzEwMDE1MiwgdGFyZ2V0LzEw MDgwOSwgdGFyZ2V0LzEwMTAyMywKLQl0YXJnZXQvMTAxMTI5LCB0YXJnZXQvMTAxMTQyLCB0YXJn ZXQvMTAxMTc1LCB0YXJnZXQvMTAxMTg1LAotCXRhcmdldC8xMDEyMzUsIHRhcmdldC8xMDEzNzcs IHRhcmdldC8xMDEzODQsIHRhcmdldC8xMDEzOTUsCi0JdGVzdHN1aXRlLzEwMDQyMiwgdHJlZS1v cHRpbWl6YXRpb24vMTAwMjk5LCB0cmVlLW9wdGltaXphdGlvbi8xMDA3NzgsCi0JdHJlZS1vcHRp bWl6YXRpb24vMTAwOTIzLCB0cmVlLW9wdGltaXphdGlvbi8xMDEwMTQsCi0JdHJlZS1vcHRpbWl6 YXRpb24vMTAxMDI1LCB0cmVlLW9wdGltaXphdGlvbi8xMDEwODgsCi0JdHJlZS1vcHRpbWl6YXRp b24vMTAxMTA1LCB0cmVlLW9wdGltaXphdGlvbi8xMDExNDgsCi0JdHJlZS1vcHRpbWl6YXRpb24v MTAxMTUxLCB0cmVlLW9wdGltaXphdGlvbi8xMDExNTgsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAx MTczLCB0cmVlLW9wdGltaXphdGlvbi8xMDEyMjMsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAxMjI5 LCB0cmVlLW9wdGltaXphdGlvbi8xMDEyODAsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAxMzk0LCB0 cmVlLW9wdGltaXphdGlvbi8xMDE0NDUKLQotKiBXZWQgSnVuIDIzIDIwMjEgSmFrdWIgSmVsaW5l ayA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMS4xLTYKLS0gdXBkYXRlIGZyb20gcmVsZWFzZXMvZ2Nj LTExLWJyYW5jaAotICAtIFBScyBjKysvMTAwODc2LCBjKysvMTAwODc5LCBjKysvMTAxMTA2LCBj LzEwMDYxOSwgYy8xMDA3ODMsIGZvcnRyYW4vOTU1MDEsCi0JZm9ydHJhbi85NTUwMiwgZm9ydHJh bi8xMDAyODMsIGZvcnRyYW4vMTAxMTIzLCBpbmxpbmUtYXNtLzEwMDc4NSwKLQlsaWJzdGRjKysv OTE0ODgsIGxpYnN0ZGMrKy85NTgzMywgbGlic3RkYysrLzEwMDgwNiwgbGlic3RkYysrLzEwMDk0 MCwKLQltaWRkbGUtZW5kLzEwMDI1MCwgbWlkZGxlLWVuZC8xMDAzMDcsIG1pZGRsZS1lbmQvMTAw NTc0LAotCW1pZGRsZS1lbmQvMTAwNjg0LCBtaWRkbGUtZW5kLzEwMDczMiwgbWlkZGxlLWVuZC8x MDA4NzYsCi0JbWlkZGxlLWVuZC8xMDEwNjIsIG1pZGRsZS1lbmQvMTAxMTY3LCB0YXJnZXQvOTk4 NDIsIHRhcmdldC85OTkzOSwKLQl0YXJnZXQvMTAwMzEwLCB0YXJnZXQvMTAwNzc3LCB0YXJnZXQv MTAwODU2LCB0YXJnZXQvMTAwODcxLAotCXRhcmdldC8xMDEwMTYKLQotKiBUaHUgSnVuIDE3IDIw MjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMS4xLTUKLS0gdXBkYXRlIGZy b20gcmVsZWFzZXMvZ2NjLTExLWJyYW5jaAotICAtIFBScyBib290c3RyYXAvMTAwNzMxLCBjKysv OTE3MDYsIGMrKy85MTg1OSwgYysrLzk1NzE5LCBjKysvMTAwMDY1LAotCWMrKy8xMDAxMDIsIGMr Ky8xMDA1ODAsIGMrKy8xMDA2NjYsIGMrKy8xMDA3OTYsIGMrKy8xMDA3OTcsCi0JYysrLzEwMDg2 MiwgYysrLzEwMDk0NiwgYysrLzEwMDk2MywgYysrLzEwMTAyOSwgYysrLzEwMTA3OCwgYy8xMDA5 MDIsCi0JYy8xMDA5MjAsIGQvMTAwODgyLCBkLzEwMDkzNSwgZC8xMDA5NjQsIGQvMTAwOTY3LCBk LzEwMDk5OSwKLQlkZWJ1Zy8xMDA4NTIsIGZvcnRyYW4vODIzNzYsIGZvcnRyYW4vOTgzMDEsIGZv cnRyYW4vOTk4MzksCi0JZm9ydHJhbi8xMDA5NjUsIGlwYS8xMDA3OTEsIGxpYnN0ZGMrKy85ODg0 MiwgbGlic3RkYysrLzEwMDQ3NSwKLQlsaWJzdGRjKysvMTAwNTc3LCBsaWJzdGRjKysvMTAwNjMx LCBsaWJzdGRjKysvMTAwNjM5LAotCWxpYnN0ZGMrKy8xMDA2NzYsIGxpYnN0ZGMrKy8xMDA2OTAs IGxpYnN0ZGMrKy8xMDA3NjgsCi0JbGlic3RkYysrLzEwMDc3MCwgbGlic3RkYysrLzEwMDgyNCwg bGlic3RkYysrLzEwMDgzMywKLQlsaWJzdGRjKysvMTAwODg5LCBsaWJzdGRjKysvMTAwODk0LCBs aWJzdGRjKysvMTAwOTAwLAotCWxpYnN0ZGMrKy8xMDA5ODIsIGxpYnN0ZGMrKy8xMDEwMzQsIGxp YnN0ZGMrKy8xMDEwNTUsCi0JbWlkZGxlLWVuZC8xMDA1NzYsIG1pZGRsZS1lbmQvMTAwODk4LCBt aWRkbGUtZW5kLzEwMTAwOSwKLQlwcmVwcm9jZXNzb3IvMTAwNjQ2LCBydGwtb3B0aW1pemF0aW9u LzEwMDM0MiwgcnRsLW9wdGltaXphdGlvbi8xMDA1OTAsCi0JcnRsLW9wdGltaXphdGlvbi8xMDEw MDgsIHRhcmdldC8xMDAzMzMsIHRhcmdldC8xMDA4ODUsIHRhcmdldC8xMDA4ODcsCi0JdGFyZ2V0 LzEwMTA0NiwgdGVzdHN1aXRlLzEwMDc1MCwgdHJlZS1vcHRpbWl6YXRpb24vMTAwOTM0LAotCXRy ZWUtb3B0aW1pemF0aW9uLzEwMDk4MQotCi0qIE1vbiBKdW4gMTQgMjAyMSBGbG9yaWFuIFdlaW1l ciA8ZndlaW1lckByZWRoYXQuY29tPiAxMS4xLjEtNAotLSBOVlIgYnVtcCB0byBlbmFibGUgcmVi dWlsZCBpbiBzaWRlIHRhZwotCi0qIE1vbiBNYXkgMzEgMjAyMSBKYWt1YiBKZWxpbmVrIDxqYWt1 YkByZWRoYXQuY29tPiAxMS4xLjEtMwotLSB1cGRhdGUgZnJvbSByZWxlYXNlcy9nY2MtMTEtYnJh bmNoCi0gIC0gUFJzIGJvb3RzdHJhcC8xMDA1NTIsIGMrKy8xMDAyMDUsIGMrKy8xMDAyNjEsIGMr Ky8xMDAyODEsIGMrKy8xMDAzNjcsCi0JYysrLzEwMDM3MiwgYysrLzEwMDQ4OSwgYysrLzEwMDUw MiwgYysrLzEwMDYzNCwgYysrLzEwMDY0NCwKLQljKysvMTAwNjU5LCBjLzEwMDU1MCwgZm9ydHJh bi85ODQxMSwgZm9ydHJhbi8xMDA1NTEsIGZvcnRyYW4vMTAwNjAyLAotCWZvcnRyYW4vMTAwNjMz LCBmb3J0cmFuLzEwMDY1NiwgaXBhLzEwMDUxMywgbGlic3RkYysrLzEwMDM2MSwKLQlsaWJzdGRj KysvMTAwNDc5LCBsaWJzdGRjKysvMTAwNjMwLCBtaWRkbGUtZW5kLzEwMDQ3MSwKLQltaWRkbGUt ZW5kLzEwMDUwOCwgbWlkZGxlLWVuZC8xMDA1MDksIHByZXByb2Nlc3Nvci8xMDAzOTIsCi0JdGFy Z2V0Lzk0MTc3LCB0YXJnZXQvOTk3MjUsIHRhcmdldC85OTk2MCwgdGFyZ2V0Lzk5OTc3LCB0YXJn ZXQvMTAwNDE5LAotCXRhcmdldC8xMDA1NjMsIHRhcmdldC8xMDA2MjYsIHRhcmdldC8xMDA3Njcs IHRlc3RzdWl0ZS85NjQ4OCwKLQl0cmVlLW9wdGltaXphdGlvbi8xMDA0OTIsIHRyZWUtb3B0aW1p emF0aW9uLzEwMDUxOQotCi0qIFdlZCBNYXkgMTIgMjAyMSBKYWt1YiBKZWxpbmVrIDxqYWt1YkBy ZWRoYXQuY29tPiAxMS4xLjEtMgotLSB1cGRhdGUgZnJvbSByZWxlYXNlcy9nY2MtMTEtYnJhbmNo Ci0gIC0gUFJzIGMrKy85ODAzMiwgYysrLzEwMDMxOSwgYysrLzEwMDM2MiwgYy8xMDA0NTAsIGZv cnRyYW4vMTAwMjc0LAotCWlwYS8xMDAzMDgsIGxpYmdvbXAvMTAwMzUyLCBsaWJzdGRjKysvOTkw MDYsIGxpYnN0ZGMrKy85OTQ1MywKLQlsaWJzdGRjKysvMTAwMjU5LCBsaWJzdGRjKysvMTAwMjk4 LCBsaWJzdGRjKysvMTAwMzg0LAotCXJ0bC1vcHRpbWl6YXRpb24vODQ4NzgsIHJ0bC1vcHRpbWl6 YXRpb24vMTAwMjI1LAotCXJ0bC1vcHRpbWl6YXRpb24vMTAwMjMwLCBydGwtb3B0aW1pemF0aW9u LzEwMDI2MywKLQlydGwtb3B0aW1pemF0aW9uLzEwMDQxMSwgdGFyZ2V0Lzk5OTg4LCB0YXJnZXQv MTAwMjE3LCB0YXJnZXQvMTAwMjMyLAotCXRhcmdldC8xMDAyMzYsIHRhcmdldC8xMDAyNzAsIHRh cmdldC8xMDAzMDUsIHRhcmdldC8xMDAzMTEsCi0JdGFyZ2V0LzEwMDM3NSwgdGFyZ2V0LzEwMDQw MiwgdHJlZS1vcHRpbWl6YXRpb24vOTY1MTMsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAwMjUzLCB0 cmVlLW9wdGltaXphdGlvbi8xMDAyNzgsCi0JdHJlZS1vcHRpbWl6YXRpb24vMTAwMzI5LCB0cmVl LW9wdGltaXphdGlvbi8xMDA0MTQKLS0gZml4IGJ1aWxkIHdpdGggcmVtb3ZlZCBsaW51eC9jeWNs YWRlcy5oIGhlYWRlciAoUFIgc2FuaXRpemVyLzEwMDM3OSkKLS0gZml4IHVwIG1hdXNlemFobiBt aXNjb21waWxhdGlvbiAoIzE5NTg4ODcsIFBSIHRyZWUtb3B0aW1pemF0aW9uLzEwMDU2NikKLQot KiBXZWQgQXByIDI4IDIwMjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMS4x LTEKLS0gdXBkYXRlIGZyb20gcmVsZWFzZXMvZ2NjLTExLWJyYW5jaAotICAtIEdDQyAxMS4xIHJl bGVhc2UKLSAgLSBQUnMgYysrLzkzMzgzLCBjKysvOTUyOTEsIGMrKy85NjM4MCwgYysrLzk5MjAw LCBjKysvOTk2ODMsIGMrKy8xMDAxNjEsCi0JZGVidWcvMTAwMjU1LCBmb3J0cmFuLzEwMDE1NCwg Zm9ydHJhbi8xMDAyMTgsIGxpYnN0ZGMrKy8xMDAyOTAsCi0JcnRsLW9wdGltaXphdGlvbi8xMDAy NTQsIHRhcmdldC85ODk1MiwgdGFyZ2V0LzEwMDIwMCwKLQl0cmVlLW9wdGltaXphdGlvbi8xMDAy MzkKLS0gZml4IElDRSBpbiBhYXJjaDY0X2FkZF9vZmZzZXRfMV90ZW1wb3JhcmllcyAoUFIgdGFy Z2V0LzEwMDMwMikKLQotKiBGcmkgQXByIDIzIDIwMjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVk aGF0LmNvbT4gMTEuMC4xLTAuNwotLSB1cGRhdGUgZnJvbSB0cnVuayBhbmQgcmVsZWFzZXMvZ2Nj LTExIGJyYW5jaAotICAtIEdDQyAxMS4xLXJjMgotICAtIFBScyBsaWJzdGRjKysvMTAwMTc5LCB0 YXJnZXQvMTAwMTgyCi0KLSogVGh1IEFwciAyMiAyMDIxIEpha3ViIEplbGluZWsgPGpha3ViQHJl ZGhhdC5jb20+IDExLjAuMS0wLjYKLS0gdXBkYXRlIGZyb20gdHJ1bmsgYW5kIHJlbGVhc2VzL2dj Yy0xMSBicmFuY2gKLSAgLSBHQ0MgMTEuMS1yYzEKLSAgLSBQUnMgYWRhLzk5MzYwLCBjKysvOTc1 MzYsIGMvMTAwMTQzLCBkLzk4MDU4LCBkLzk4NDU3LCBkLzk4NDk0LCBkLzk4NTg0LAotCWQvOTk3 OTQsIGRlbWFuZ2xlci8xMDAxNzcsIGZvcnRyYW4vMTAwMTEwLCBsaWJzdGRjKysvOTU5ODMsCi0J bGlic3RkYysrLzEwMDE0NiwgbGlic3RkYysrLzEwMDE2NCwgcHJlcHJvY2Vzc29yLzEwMDE0MiwK LQlydGwtb3B0aW1pemF0aW9uLzk5OTI3LCB0YXJnZXQvMTAwMTA4LCB0ZXN0c3VpdGUvMTAwMTc2 LAotCXRyZWUtb3B0aW1pemF0aW9uLzEwMDA4MQotLSBmaXggYSBjcHJvcCAtZmNvbXBhcmUtZGVi dWcgYnVnIChQUiBydGwtb3B0aW1pemF0aW9uLzEwMDE0OCkKLQotKiBTdW4gQXByIDE4IDIwMjEg SmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4xLTAuNQotLSB1cGRhdGUgZnJv bSB0cnVuawotICAtIFBScyBhbmFseXplci85ODU5OSwgYW5hbHl6ZXIvOTkwNDIsIGFuYWx5emVy Lzk5MjEyLCBhbmFseXplci85OTc3NCwKLQlhbmFseXplci85OTg4NiwgYW5hbHl6ZXIvOTk5MDYs IGFuYWx5emVyLzEwMDAxMSwgYysrLzQxNzIzLCBjKysvNDk5NTEsCi0JYysrLzUyMjAyLCBjKysv NTI2MjUsIGMrKy81ODEyMywgYysrLzgwNDU2LCBjKysvODM0NzYsIGMrKy84ODc0MiwKLQljKysv OTAyMTUsIGMrKy85MDQ3OSwgYysrLzkwNjc0LCBjKysvOTEyNDEsIGMrKy85MTg0OSwgYysrLzkx OTMzLAotCWMrKy85MjkxOCwgYysrLzkzMDg1LCBjKysvOTMyOTUsIGMrKy85MzMxNCwgYysrLzkz ODY3LCBjKysvOTQ1MjksCi0JYysrLzk1MzE3LCBjKysvOTU0ODYsIGMrKy85NTg3MCwgYysrLzk2 MzExLCBjKysvOTY2NzMsIGMrKy85Njg3MywKLQljKysvOTcxMjEsIGMrKy85NzEzNCwgYysrLzk3 Njc5LCBjKysvOTc5NzQsIGMrKy85ODQ0MCwgYysrLzk4ODAwLAotCWMrKy85ODg1MiwgYysrLzk5 MDA4LCBjKysvOTkwNjYsIGMrKy85OTExOCwgYysrLzk5MTgwLCBjKysvOTkyMDEsCi0JYysrLzk5 MzgwLCBjKysvOTk0NzgsIGMrKy85OTcwMCwgYysrLzk5ODAzLCBjKysvOTk4MDYsIGMrKy85OTgz MywKLQljKysvOTk4NDQsIGMrKy85OTg1MCwgYysrLzk5ODU5LCBjKysvOTk4NzQsIGMrKy85OTg4 NSwgYysrLzk5ODk5LAotCWMrKy85OTkwMSwgYysrLzk5OTYxLCBjKysvOTk5OTQsIGMrKy8xMDAw MDYsIGMrKy8xMDAwMzIsIGMrKy8xMDAwNTQsCi0JYysrLzEwMDA3OCwgYysrLzEwMDA3OSwgYysr LzEwMDA5MSwgYysrLzEwMDEwMSwgYysrLzEwMDExMSwgYy85ODg1MiwKLQljLzk5NDIwLCBjLzk5 OTcyLCBjLzk5OTkwLCBkLzk5ODEyLCBkLzk5OTE0LCBkLzk5OTE3LCBkZWJ1Zy85OTgzMCwKLQlm b3J0cmFuLzYzNzk3LCBmb3J0cmFuLzk5MzA3LCBmb3J0cmFuLzk5ODE3LCBmb3J0cmFuLzEwMDAx OCwKLQlmb3J0cmFuLzEwMDA5NCwgaml0LzEwMDA5NiwgbGliZm9ydHJhbi83ODMxNCwgbGliZ29t cC85OTk4NCwKLQlsaWJzdGRjKysvOTY2NTcsIGxpYnN0ZGMrKy85OTQwMiwgbGlic3RkYysrLzk5 NDMzLCBsaWJzdGRjKysvOTk4MDUsCi0JbGlic3RkYysrLzk5OTg1LCBsaWJzdGRjKysvOTk5OTUs IGxpYnN0ZGMrKy8xMDAwNDQsIGxpYnN0ZGMrKy8xMDAwNjAsCi0JbHRvLzk4NTk5LCBsdG8vOTk4 NDksIGx0by85OTg1NywgbWlkZGxlLWVuZC81NTI4OCwgbWlkZGxlLWVuZC84NDg3NywKLQltaWRk bGUtZW5kLzg0OTkxLCBtaWRkbGUtZW5kLzg0OTkyLCBtaWRkbGUtZW5kLzg2MDU4LAotCW1pZGRs ZS1lbmQvOTA3NzksIG1pZGRsZS1lbmQvOTgwODgsIG1pZGRsZS1lbmQvOTk4ODMsCi0JbWlkZGxl LWVuZC85OTk4OSwgcHJlcHJvY2Vzc29yLzk5NDQ2LCBydGwtb3B0aW1pemF0aW9uLzk4NjAxLAot CXJ0bC1vcHRpbWl6YXRpb24vOTg2ODksIHJ0bC1vcHRpbWl6YXRpb24vOTk1OTYsCi0JcnRsLW9w dGltaXphdGlvbi85OTkwNSwgcnRsLW9wdGltaXphdGlvbi85OTkyOSwKLQlydGwtb3B0aW1pemF0 aW9uLzEwMDA2Niwgc2FuaXRpemVyLzk5ODc3LCBzYW5pdGl6ZXIvMTAwMTE0LAotCXRhcmdldC84 Nzc2MywgdGFyZ2V0Lzk5MjQ2LCB0YXJnZXQvOTk2NDcsIHRhcmdldC85OTY0OCwgdGFyZ2V0Lzk5 NzQ4LAotCXRhcmdldC85OTc2NywgdGFyZ2V0Lzk5NzgxLCB0YXJnZXQvOTk4NzIsIHRhcmdldC8x MDAwMjgsCi0JdGFyZ2V0LzEwMDA0OCwgdGFyZ2V0LzEwMDA1NiwgdGFyZ2V0LzEwMDA2NywgdGFy Z2V0LzEwMDA3NSwKLQl0ZXN0c3VpdGUvOTk5NTUsIHRlc3RzdWl0ZS8xMDAwNzEsIHRlc3RzdWl0 ZS8xMDAwNzMsCi0JdHJlZS1vcHRpbWl6YXRpb24vODI4MDAsIHRyZWUtb3B0aW1pemF0aW9uLzk3 NTEzLAotCXRyZWUtb3B0aW1pemF0aW9uLzk4NzM2LCB0cmVlLW9wdGltaXphdGlvbi85OTg3MywK LQl0cmVlLW9wdGltaXphdGlvbi85OTg4MCwgdHJlZS1vcHRpbWl6YXRpb24vOTk5MjQsCi0JdHJl ZS1vcHRpbWl6YXRpb24vOTk5NDcsIHRyZWUtb3B0aW1pemF0aW9uLzk5OTU0LAotCXRyZWUtb3B0 aW1pemF0aW9uLzEwMDA1MwotLSBmb3IgJSV7cmhlbH0gPT0gOSwgZGVmYXVsdCB0byAtbWFyY2g9 ejE0IC1tdHVuZT16MTUgb24gczM5MHggYW5kCi0gIHRvIC1tY3B1PXBvd2VyOSAtbXR1bmU9cG93 ZXI5IG9uIHBwYzY0bGUKLQotKiBNb24gQXByICA1IDIwMjEgSmFrdWIgSmVsaW5layA8amFrdWJA cmVkaGF0LmNvbT4gMTEuMC4xLTAuNAotLSB1cGRhdGUgZnJvbSB0cnVuawotICAtIFBScyBhZGEv OTk4MDIsIGFuYWx5emVyLzkzNjk1LCBhbmFseXplci85OTA0NCwgYW5hbHl6ZXIvOTk3MTYsCi0J YW5hbHl6ZXIvOTk3NzEsIGJvb3RzdHJhcC85ODg2MCwgYysrLzkwNjY0LCBjKysvOTEyMTcsIGMr Ky85MTQxNiwKLQljKysvOTQ3NTEsIGMrKy85NzkwMCwgYysrLzk3OTM4LCBjKysvOTgzNTIsIGMr Ky85OTMzMSwgYysrLzk5NDQ1LAotCWMrKy85OTU2NSwgYysrLzk5NTgzLCBjKysvOTk1ODQsIGMr Ky85OTU4NiwgYysrLzk5NjQzLCBjKysvOTk2NzIsCi0JYysrLzk5NzA1LCBjKysvOTk3NDUsIGMr Ky85OTc5MCwgYysrLzk5ODE1LCBjKysvOTk4MzEsIGMrKy85OTg2OSwKLQlkLzkxNTk1LCBkLzk5 NjkxLCBkZWJ1Zy85OTMzNCwgZm9ydHJhbi85OTM2OSwgZm9ydHJhbi85OTYwMiwKLQlmb3J0cmFu Lzk5NjUxLCBmb3J0cmFuLzk5ODE4LCBmb3J0cmFuLzk5ODQwLCBpcGEvOTgyNjUsIGlwYS85OTEy MiwKLQlpcGEvOTk0NjYsIGlwYS85OTc1MSwgbGlic3RkYysrLzk5NTMzLCBsdG8vOTk0NDcsIG1p ZGRsZS1lbmQvNjUxODIsCi0JcnRsLW9wdGltaXphdGlvbi85NzE0MSwgcnRsLW9wdGltaXphdGlv bi85ODcyNiwKLQlydGwtb3B0aW1pemF0aW9uLzk5ODYzLCB0YXJnZXQvOTY5NzQsIHRhcmdldC85 NzY1MywgdGFyZ2V0Lzk4MTE5LAotCXRhcmdldC85ODEzNiwgdGFyZ2V0Lzk4MjA5LCB0YXJnZXQv OTkwMzcsIHRhcmdldC85OTEzMywgdGFyZ2V0Lzk5MjE2LAotCXRhcmdldC85OTU1NSwgdGFyZ2V0 Lzk5NzE4LCB0YXJnZXQvOTk3MjQsIHRhcmdldC85OTcyNywgdGFyZ2V0Lzk5NzQ0LAotCXRhcmdl dC85OTc1MywgdGFyZ2V0Lzk5NzY2LCB0YXJnZXQvOTk3NzMsIHRhcmdldC85OTc4NiwgdGFyZ2V0 Lzk5ODA4LAotCXRhcmdldC85OTgxMywgdGFyZ2V0Lzk5ODIwLCB0YXJnZXQvOTk4MjIsIHRlc3Rz dWl0ZS85ODEyNSwKLQl0cmVlLW9wdGltaXphdGlvbi80ODQ4MywgdHJlZS1vcHRpbWl6YXRpb24v NTUwNjAsCi0JdHJlZS1vcHRpbWl6YXRpb24vNTk5NzAsIHRyZWUtb3B0aW1pemF0aW9uLzYxMTEy LAotCXRyZWUtb3B0aW1pemF0aW9uLzYxNjc3LCB0cmVlLW9wdGltaXphdGlvbi82MTg2OSwKLQl0 cmVlLW9wdGltaXphdGlvbi85NjU3MywgdHJlZS1vcHRpbWl6YXRpb24vOTY5NzQsCi0JdHJlZS1v cHRpbWl6YXRpb24vOTcwMDksIHRyZWUtb3B0aW1pemF0aW9uLzk4MjY4LAotCXRyZWUtb3B0aW1p emF0aW9uLzk5NzI2LCB0cmVlLW9wdGltaXphdGlvbi85OTc0NiwKLQl0cmVlLW9wdGltaXphdGlv bi85OTc3NywgdHJlZS1vcHRpbWl6YXRpb24vOTk4MDcsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTk4 MjQsIHRyZWUtb3B0aW1pemF0aW9uLzk5ODI1LAotCXRyZWUtb3B0aW1pemF0aW9uLzk5ODU2LCB0 cmVlLW9wdGltaXphdGlvbi85OTg2MywKLQl0cmVlLW9wdGltaXphdGlvbi85OTg4MgotCi0qIFdl ZCBNYXIgMjQgMjAyMSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4wLjEtMC4z Ci0tIHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0gUFJzIGFuYWx5emVyLzk5NjE0LCBjKysvOTkyMzks IGMrKy85OTI4MywgYysrLzk5MzE4LCBjKysvOTk0MjUsIGMrKy85OTQ1NiwKLQljKysvOTk0ODAs IGMrKy85OTY4NywgYy85OTU4OCwgZm9ydHJhbi85MzY2MCwgZm9ydHJhbi85OTY4OCwKLQlydGwt b3B0aW1pemF0aW9uLzk5NjgwLCB0YXJnZXQvOTcyNTIsIHRhcmdldC85NzkyNiwgdGFyZ2V0Lzk4 OTE0LAotCXRhcmdldC85OTU0MCwgdGFyZ2V0Lzk5NTgxLCB0YXJnZXQvOTk2NTIsIHRhcmdldC85 OTY2MCwgdGFyZ2V0Lzk5NjYxLAotCXRhcmdldC85OTY2MywgdGFyZ2V0Lzk5Njc5LCB0YXJnZXQv OTk3MDIsIHRhcmdldC85OTcwNCwgdGFyZ2V0Lzk5NzMzLAotCXRyZWUtb3B0aW1pemF0aW9uLzk5 Mjk2LCB0cmVlLW9wdGltaXphdGlvbi85OTY1NiwKLQl0cmVlLW9wdGltaXphdGlvbi85OTY5NCwg dHJlZS1vcHRpbWl6YXRpb24vOTk3MjEKLQotKiBGcmkgTWFyIDE5IDIwMjEgSmFrdWIgSmVsaW5l ayA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4xLTAuMgotLSB1cGRhdGUgZnJvbSB0cnVuawotICAt IFBScyBjKysvOTA0NDgsIGMrKy85NjI2OCwgYysrLzk2NzQ5LCBjKysvOTc5NzMsIGMrKy85ODQ4 MCwgYysrLzk4NzA0LAotCWMrKy85OTA0NywgYysrLzk5MTA4LCBjKysvOTkyMzgsIGMrKy85OTI0 OCwgYysrLzk5Mjg1LCBjKysvOTk0MjMsCi0JYysrLzk5NDM2LCBjKysvOTk0NTksIGMrKy85OTQ3 MiwgYysrLzk5NDk2LCBjKysvOTk1MDAsIGMrKy85OTUwNywKLQljKysvOTk1MDgsIGMrKy85OTUw OSwgYysrLzk5NTI4LCBjKysvOTk2MDEsIGMrKy85OTYxMywgYysrLzk5NjE3LAotCWZvcnRyYW4v NDkyNzgsIGZvcnRyYW4vOTY5ODMsIGZvcnRyYW4vOTc5MjcsIGZvcnRyYW4vOTg4NTgsCi0JZm9y dHJhbi85OTEyNSwgZm9ydHJhbi85OTIwNSwgZm9ydHJhbi85OTM0NSwgZm9ydHJhbi85OTUxNCwK LQlmb3J0cmFuLzk5NTQ1LCBpcGEvOTk1MTcsIGxpYnN0ZGMrKy85OTE3MiwgbGlic3RkYysrLzk5 MzQxLAotCWxpYnN0ZGMrKy85OTQxMywgbGlic3RkYysrLzk5NTM2LCBsaWJzdGRjKysvOTk1Mzcs IG1pZGRsZS1lbmQvOTc2MzEsCi0JbWlkZGxlLWVuZC85ODI2NiwgbWlkZGxlLWVuZC85OTUwMiwg bWlkZGxlLWVuZC85OTY0MSwgb2JqYysrLzQ5MDcwLAotCXNhbml0aXplci85ODkyMCwgdGFyZ2V0 Lzk4MDkyLCB0YXJnZXQvOTg5NTksIHRhcmdldC85OTA3MCwKLQl0YXJnZXQvOTkwOTQsIHRhcmdl dC85OTEwMiwgdGFyZ2V0Lzk5NDIyLCB0YXJnZXQvOTk0MzcsIHRhcmdldC85OTQ1NCwKLQl0YXJn ZXQvOTk0NjMsIHRhcmdldC85OTQ2NCwgdGFyZ2V0Lzk5NDkyLCB0YXJnZXQvOTk1MDQsIHRhcmdl dC85OTU0MiwKLQl0YXJnZXQvOTk1NjMsIHRhcmdldC85OTU5MiwgdGFyZ2V0Lzk5NjAwLCB0ZXN0 c3VpdGUvOTc2ODAsCi0JdGVzdHN1aXRlLzk4MjQ1LCB0ZXN0c3VpdGUvOTkyOTIsIHRlc3RzdWl0 ZS85OTQ5OCwgdGVzdHN1aXRlLzk5NjI2LAotCXRlc3RzdWl0ZS85OTYzNiwgdHJlZS1vcHRpbWl6 YXRpb24vOTg4MzQsIHRyZWUtb3B0aW1pemF0aW9uLzk5MzA1LAotCXRyZWUtb3B0aW1pemF0aW9u Lzk5NDg5LCB0cmVlLW9wdGltaXphdGlvbi85OTUxMCwKLQl0cmVlLW9wdGltaXphdGlvbi85OTUy MywgdHJlZS1vcHRpbWl6YXRpb24vOTk1NDQKLSAgLSBmaXggQVJNIElDRSBpbiBuZW9uX291dHB1 dF9zaGlmdF9pbW1lZGlhdGUgKCMxOTIyNTk5LCBQUiB0YXJnZXQvOTk1OTMpCi0tIGF2b2lkIGZh bHNlIHBvc2l0aXZlIGFhcmNoNjQgLVdwc2FiaSBub3RlcyBpbiBzb21lIGNhc2VzIChQUiB0YXJn ZXQvOTE3MTApCi0tIGZpeCBhIC1mY29tcGFyZS1kZWJ1ZyBmYWlsdXJlIGNhdXNlZCBieSBDIEZF IGJ1ZyAoUFIgZGVidWcvOTkyMzApCi0tIGZpeCB1cCAtZ2R3YXJmLTUgLWdzcGxpdC1kd2FyZiBy YW5nZXMgaGFuZGxpbmcgKFBSIGRlYnVnLzk5NDkwKQotLSBmaXggdXAgaGFuZGxpbmcgb2YgPiA2 NCBiaXQgY29uc3RhbnRzIGluIGR3YXJmMm91dCAoUFIgZGVidWcvOTk1NjIsCi0gIFBSIGRlYnVn LzY2NzI4KQotLSByZWplY3QgaW52YWxpZCBDKysgc3RydWN0dXJlZCBiaW5kaW5ncyB0aGF0IG5l ZWQgcmVmZXJlbmNlIHRvIHZvaWQKLSAgKFBSIGMrKy85OTY1MCkKLS0gaW5jbHVkZSBwcml2YXRl IGlzbCAwLjE4IGluIHRoZSBwYWNrYWdlIGluc3RlYWQgb2YgcmVseWluZyBvbiBvbGQKLSAgZGlz dHJvIHZlcnNpb24KLQotKiBTdW4gTWFyICA3IDIwMjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVk aGF0LmNvbT4gMTEuMC4xLTAuMQotLSB1cGRhdGUgZnJvbSB0cnVuawotICAtIFBScyBhZGEvOTg5 OTYsIGFkYS85OTAyMCwgYWRhLzk5MDk1LCBhZGEvOTkyNjQsIGFuYWx5emVyLzk2Mzc0LAotCWFu YWx5emVyLzk5MTkzLCBib290c3RyYXAvOTIwMDIsIGJvb3RzdHJhcC85ODU5MCwgYysrLzgyOTU5 LAotCWMrKy84ODE0NiwgYysrLzkwMzMzLCBjKysvOTQ1MjEsIGMrKy85NTQ1MSwgYysrLzk1NjE1 LCBjKysvOTU2MTYsCi0JYysrLzk1Njc1LCBjKysvOTU4MjIsIGMrKy85NjA3OCwgYysrLzk2MzMw LCBjKysvOTY0NDMsIGMrKy85NjQ3NCwKLQljKysvOTY5NjAsIGMrKy85NzAzNCwgYysrLzk3NTg3 LCBjKysvOTgxMTgsIGMrKy85ODMxOCwgYysrLzk4ODEwLAotCWMrKy85ODk5MCwgYysrLzk5MDA5 LCBjKysvOTkxMDMsIGMrKy85OTEyMCwgYysrLzk5MTY2LCBjKysvOTkxNzAsCi0JYysrLzk5MTc2 LCBjKysvOTkyMTMsIGMrKy85OTI0NSwgYysrLzk5MjUxLCBjKysvOTkyODcsIGMrKy85OTI5NCwK LQljKysvOTkzNDQsIGMrKy85OTM2MiwgYysrLzk5MzY1LCBjKysvOTkzNzQsIGMrKy85OTM3Nywg YysrLzk5Mzg5LAotCWMvOTkxMzcsIGMvOTkyNzUsIGMvOTkzMDQsIGMvOTkzMjMsIGMvOTkzMjQs IGMvOTkzMjUsIGMvOTkzNjMsCi0JZC85OTMzNywgZGVidWcvNjY2NjgsIGRlYnVnLzk5MDkwLCBk ZWJ1Zy85OTMxOSwgZm9ydHJhbi81Nzg3MSwKLQlmb3J0cmFuLzk5MzAwLCBmb3J0cmFuLzk5MzAz LCBmb3J0cmFuLzk5MzU1LCBnY292LXByb2ZpbGUvOTc0NjEsCi0JZ2Nvdi1wcm9maWxlLzk5MTA1 LCBnY292LXByb2ZpbGUvOTkzODUsIGdjb3YtcHJvZmlsZS85OTQwNiwgaXBhLzk4MDc4LAotCWlw YS85ODMzOCwgbGliYmFja3RyYWNlLzk4ODE4LCBsaWJmb3J0cmFuLzgxOTg2LCBsaWJmb3J0cmFu Lzk5MjE4LAotCWxpYmdvbXAvOTg3MzgsIGxpYnN0ZGMrKy85OTI2NSwgbGlic3RkYysrLzk5Mjcw LCBsaWJzdGRjKysvOTkzMDEsCi0JbGlic3RkYysrLzk5MzgyLCBsaWJzdGRjKysvOTkzOTYsIG1p ZGRsZS1lbmQvOTMyMzUsIG1pZGRsZS1lbmQvOTQ2NTUsCi0JbWlkZGxlLWVuZC85NTc1NywgbWlk ZGxlLWVuZC85Njk2MywgbWlkZGxlLWVuZC85NzE3MiwKLQltaWRkbGUtZW5kLzk3ODU1LCBtaWRk bGUtZW5kLzk5Mjc2LCBtaWRkbGUtZW5kLzk5MjgxLAotCW1pZGRsZS1lbmQvOTkyOTUsIG1pZGRs ZS1lbmQvOTkzMjIsIG90aGVyLzk5Mjg4LAotCXJ0bC1vcHRpbWl6YXRpb24vOTkzNzYsIHRhcmdl dC80NDEwNywgdGFyZ2V0LzQ4MDk3LCB0YXJnZXQvOTU3OTgsCi0JdGFyZ2V0Lzk4OTk2LCB0YXJn ZXQvOTkwODUsIHRhcmdldC85OTIzNCwgdGFyZ2V0Lzk5MjcxLCB0YXJnZXQvOTkyNzksCi0JdGFy Z2V0Lzk5MzEzLCB0YXJnZXQvOTkzMjEsIHRhcmdldC85OTM4MSwgdGVzdHN1aXRlLzk5MjMzLAot CXRyZWUtb3B0aW1pemF0aW9uLzgwNjM1LCB0cmVlLW9wdGltaXphdGlvbi85OTI1MwotLSBmaXgg ZGVidWcgaW5mbyBmb3IgX19mcDE2IGNvbnN0YW50cyAoUFIgZGVidWcvOTkzODgpCi0KLSogVGh1 IEZlYiAyNSAyMDIxIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDExLjAuMC0wLjIw Ci0tIHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0gUFJzIGFuYWx5emVyLzk0NTk2LCBhbmFseXplci85 ODk2OSwgYW5hbHl6ZXIvOTkxOTYsIGMrKy85NDAzNCwgYysrLzk0NTQ2LAotCWMrKy85NTQ2OCwg YysrLzk1ODg4LCBjKysvOTYyNTEsIGMrKy85NjkyNiwgYysrLzk3MjQ2LCBjKysvOTc1ODIsCi0J YysrLzk3NzQyLCBjKysvOTg3MTgsIGMrKy85ODc0MSwgYysrLzk4OTg4LCBjKysvOTkwMjMsIGMr Ky85OTAzMCwKLQljKysvOTkwMzEsIGMrKy85OTAzMywgYysrLzk5MDM1LCBjKysvOTkwMzksIGMr Ky85OTA0MCwgYysrLzk5MDYyLAotCWMrKy85OTA2MywgYysrLzk5MDcxLCBjKysvOTkwNzIsIGMr Ky85OTA3NCwgYysrLzk5MTE2LCBjKysvOTkxMzIsCi0JYysrLzk5MTUwLCBjKysvOTkxNTMsIGMr Ky85OTE3NCwgYysrLzk5MjA4LCBjLzk3MTcyLCBjLzk5MDU1LCBjLzk5MTM2LAotCWMvOTkyMjQs IGRlYnVnLzk2OTk3LCBkZWJ1Zy85ODc1NSwgZm9ydHJhbi85ODM0MiwgZm9ydHJhbi85ODY4NiwK LQlmb3J0cmFuLzk4ODk3LCBmb3J0cmFuLzk4OTc5LCBmb3J0cmFuLzk5MDEwLCBmb3J0cmFuLzk5 MDI3LAotCWZvcnRyYW4vOTkwNDMsIGZvcnRyYW4vOTkwNjAsIGZvcnRyYW4vOTkxMTEsIGZvcnRy YW4vOTkxMjQsCi0JZm9ydHJhbi85OTE0NiwgZm9ydHJhbi85OTE3MSwgZm9ydHJhbi85OTIwNiwg Zm9ydHJhbi85OTIyNiwKLQlpbmxpbmUtYXNtLzk4MDk2LCBpbmxpbmUtYXNtLzk5MTIzLCBpcGEv OTczNDYsIGlwYS85OTAwMywgaXBhLzk5MDI5LAotCWlwYS85OTAzNCwgaml0Lzk5MTI2LCBsaWJm b3J0cmFuLzk1NjQ3LCBsaWJmb3J0cmFuLzk4ODI1LAotCWxpYmdjYy85OTIzNiwgbGlic3RkYysr Lzg4ODgxLCBsaWJzdGRjKysvOTc1NDksIGxpYnN0ZGMrKy85ODM4OSwKLQlsaWJzdGRjKysvOTkw NTgsIGxpYnN0ZGMrKy85OTA3NywgbGlic3RkYysrLzk5MDk2LCBsaWJzdGRjKysvOTkxODEsCi0J bGlic3RkYysrLzk5MjYxLCBtaWRkbGUtZW5kLzM4NDc0LCBtaWRkbGUtZW5kLzk5MDA3LCBtaWRk bGUtZW5kLzk5MTA5LAotCW1pZGRsZS1lbmQvOTkxMjIsIHByZXByb2Nlc3Nvci85NjM5MSwgcnRs LW9wdGltaXphdGlvbi85NjI2NCwKLQlydGwtb3B0aW1pemF0aW9uLzk4NDM5LCBydGwtb3B0aW1p emF0aW9uLzk4NzkxLAotCXJ0bC1vcHRpbWl6YXRpb24vOTg4NzIsIHJ0bC1vcHRpbWl6YXRpb24v OTkwNTQsIHNhbml0aXplci85OTEwNiwKLQlzYW5pdGl6ZXIvOTkxNjgsIHRhcmdldC84NTA3NCwg dGFyZ2V0Lzk2MTY2LCB0YXJnZXQvOTc0MTcsCi0JdGFyZ2V0Lzk4NDkxLCB0YXJnZXQvOTg2NTcs IHRhcmdldC85ODkzMSwgdGFyZ2V0Lzk4OTk4LCB0YXJnZXQvOTkwMjUsCi0JdGFyZ2V0Lzk5MDQx LCB0YXJnZXQvOTkxMDAsIHRhcmdldC85OTEwNCwgdGFyZ2V0Lzk5MTEzLCB0YXJnZXQvOTkxMzQs Ci0JdGFyZ2V0Lzk5MTU3LCB0ZXN0c3VpdGUvOTkxNzMsIHRyYW5zbGF0aW9uLzk5MTY3LAotCXRy ZWUtb3B0aW1pemF0aW9uLzM4NDc0LCB0cmVlLW9wdGltaXphdGlvbi85Mjg3OSwKLQl0cmVlLW9w dGltaXphdGlvbi85ODc3MiwgdHJlZS1vcHRpbWl6YXRpb24vOTkwMDIsCi0JdHJlZS1vcHRpbWl6 YXRpb24vOTkwMjQsIHRyZWUtb3B0aW1pemF0aW9uLzk5MDI2LAotCXRyZWUtb3B0aW1pemF0aW9u Lzk5MDc5LCB0cmVlLW9wdGltaXphdGlvbi85OTE0MiwKLQl0cmVlLW9wdGltaXphdGlvbi85OTE0 OSwgdHJlZS1vcHRpbWl6YXRpb24vOTkxNjUsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTkyMDQsIHRy ZWUtb3B0aW1pemF0aW9uLzk5MjIwLAotCXRyZWUtb3B0aW1pemF0aW9uLzk5MjI1Ci0KLSogV2Vk IEZlYiAxMCAyMDIxIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDExLjAuMC0wLjE5 Ci0tIHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0gUFJzIGFuYWx5emVyLzkzMzU1LCBhbmFseXplci85 NjM3NCwgYW5hbHl6ZXIvOTg1NzUsIGFuYWx5emVyLzk4OTE4LAotCWMrKy8yMDQwOCwgYysrLzg0 NDk0LCBjKysvOTA5MjYsIGMrKy85NTE5MiwgYysrLzk2MTk5LCBjKysvOTY0NjIsCi0JYysrLzk2 OTA1LCBjKysvOTc4MDQsIGMrKy85Nzg3OCwgYysrLzk4Mjk1LCBjKysvOTgzMjYsIGMrKy85ODM1 NSwKLQljKysvOTg1MzEsIGMrKy85ODU3MCwgYysrLzk4NzE3LCBjKysvOTg4MDIsIGMrKy85ODgz NSwgYysrLzk4ODk5LAotCWMrKy85ODkyNiwgYysrLzk4OTI5LCBjKysvOTg5NDQsIGMrKy85ODk0 NywgYysrLzk4OTUxLCBjKysvOTg5OTQsCi0JYy85Nzg4MiwgYy85NzkzMiwgZC85ODkxMCwgZC85 ODkyMSwgZGVidWcvOTg2NTYsIGRyaXZlci85ODk0MywKLQlmb3J0cmFuLzkxODYyLCBmb3J0cmFu Lzk4OTEzLCBsaWJzdGRjKysvNzAzMDMsIGxpYnN0ZGMrKy85OTAyMSwKLQlsdG8vOTY1OTEsIGx0 by85ODkxMiwgbHRvLzk4OTcxLCBtaWRkbGUtZW5kLzk3MTcyLCBtaWRkbGUtZW5kLzk3NDg3LAot CW1pZGRsZS1lbmQvOTc5NzEsIG1pZGRsZS1lbmQvOTg0NjUsIG1pZGRsZS1lbmQvOTg5NzQsCi0J bWlkZGxlLWVuZC85OTAwNCwgcHJlcHJvY2Vzc29yLzk4ODgyLCBydGwtb3B0aW1pemF0aW9uLzk2 MDE1LAotCXRhcmdldC85NzUxMCwgdGFyZ2V0Lzk4MTcyLCB0YXJnZXQvOTg1MzcsIHRhcmdldC85 ODc0MywgdGFyZ2V0Lzk4OTU3LAotCXRlc3RzdWl0ZS85ODI0MywgdGVzdHN1aXRlLzk4MzI1LCB0 cmVlLW9wdGltaXphdGlvbi85Nzk2MCwKLQl0cmVlLW9wdGltaXphdGlvbi85ODI4NywgdHJlZS1v cHRpbWl6YXRpb24vOTg0OTksCi0JdHJlZS1vcHRpbWl6YXRpb24vOTg4NDgsIHRyZWUtb3B0aW1p emF0aW9uLzk4ODU1LAotCXRyZWUtb3B0aW1pemF0aW9uLzk4ODYzLCB0cmVlLW9wdGltaXphdGlv bi85ODkyOCwKLQl0cmVlLW9wdGltaXphdGlvbi85ODkzNywgdHJlZS1vcHRpbWl6YXRpb24vOTkw MTcKLQotKiBTYXQgSmFuIDMwIDIwMjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4g MTEuMC4wLTAuMTgKLS0gdXBkYXRlIGZyb20gdHJ1bmsKLSAgLSBQUnMgYWRhLzk4MjI4LCBib290 c3RyYXAvOTg4MzksIGMrKy8zMzY2MSwgYysrLzg4NTQ4LCBjKysvOTQ3NzUsCi0JYysrLzk2MTM3 LCBjKysvOTc0NzQsIGMrKy85NzU2NiwgYysrLzk3ODc0LCBjKysvOTg0NjMsIGMrKy85ODY0NiwK LQljKysvOTg3NzAsIGMrKy85ODg0MSwgYysrLzk4ODQzLCBjKysvOTg4NDcsIGQvOTg4MDYsIGRl YnVnLzk4MzMxLAotCWRlYnVnLzk4ODExLCBmb3J0cmFuLzY3NTM5LCBmb3J0cmFuLzcwMDcwLCBm b3J0cmFuLzg2NDcwLAotCWZvcnRyYW4vOTM5MjQsIGZvcnRyYW4vOTM5MjUsIGZvcnRyYW4vOTY4 NDMsIGZvcnRyYW4vOTg0NzIsCi0JZm9ydHJhbi85ODUxNywgbGlic3RkYysrLzY2NDE0LCBsdG8v ODU1NzQsIG1pZGRsZS1lbmQvOTg3MjYsCi0JbWlkZGxlLWVuZC85ODgwNywgcnRsLW9wdGltaXph dGlvbi84MDk2MCwgcnRsLW9wdGltaXphdGlvbi85NzY4NCwKLQlydGwtb3B0aW1pemF0aW9uLzk4 MTQ0LCBydGwtb3B0aW1pemF0aW9uLzk4ODYzLCBzYW5pdGl6ZXIvOTg4MjgsCi0JdGFyZ2V0Lzk3 NzAxLCB0YXJnZXQvOTg3MzAsIHRhcmdldC85ODc5OSwgdGFyZ2V0Lzk4ODI3LCB0YXJnZXQvOTg4 MzMsCi0JdGFyZ2V0Lzk4ODQ5LCB0YXJnZXQvOTg4NTMsIHRlc3RzdWl0ZS85ODc3MSwgdGVzdHN1 aXRlLzk4ODcwLAotCXRyZWUtb3B0aW1pemF0aW9uLzk3MjYwLCB0cmVlLW9wdGltaXphdGlvbi85 NzYyNywKLQl0cmVlLW9wdGltaXphdGlvbi85ODg1NCwgdHJlZS1vcHRpbWl6YXRpb24vOTg4NjYK LQotKiBTYXQgSmFuIDIzIDIwMjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEu MC4wLTAuMTcKLS0gdXBkYXRlIGZyb20gdHJ1bmsKLSAgLSBQUnMgYWRhLzk4NzQwLCBjKysvNDE0 MzcsIGMrKy81ODk5MywgYysrLzcxODc5LCBjKysvODI2MTMsIGMrKy85NTQzNCwKLQljKysvOTY2 MjMsIGMrKy85NzM5OSwgYysrLzk3OTY2LCBjKysvOTgzMzMsIGMrKy85ODUzMCwgYysrLzk4NTQ1 LAotCWMrKy85ODYyNCwgYysrLzk4NjU5LCBjKysvOTg3NDQsIGZvcnRyYW4vOTYzMjAsIGZvcnRy YW4vOTg0NzYsCi0JZm9ydHJhbi85ODU2NSwgZm9ydHJhbi85ODc1NywgZm9ydHJhbi85ODc2Mywg Z2Nvdi1wcm9maWxlLzk4NzM5LAotCWlwYS85NzY3MywgaXBhLzk4MzMwLCBpcGEvOTg2OTAsIG1p ZGRsZS1lbmQvOTg2NjQsIG1pZGRsZS1lbmQvOTg3NzMsCi0JbWlkZGxlLWVuZC85ODc5MywgcnRs LW9wdGltaXphdGlvbi85MjI5NCwgcnRsLW9wdGltaXphdGlvbi85ODY5NCwKLQlydGwtb3B0aW1p emF0aW9uLzk4NzIyLCBydGwtb3B0aW1pemF0aW9uLzk4Nzc3LCBzYW5pdGl6ZXIvOTU2OTMsCi0J dGFyZ2V0Lzc5MjUxLCB0YXJnZXQvOTYzNzIsIHRhcmdldC85Njg5MSwgdGFyZ2V0Lzk4MDY1LCB0 YXJnZXQvOTgwOTMsCi0JdGFyZ2V0Lzk4MzQ4LCB0YXJnZXQvOTg2MzYsIHRlc3RzdWl0ZS85NzMw MSwgdGVzdHN1aXRlLzk4MjQxLAotCXRlc3RzdWl0ZS85ODc5NSwgdHJlZS1vcHRpbWl6YXRpb24v NDcwNTksIHRyZWUtb3B0aW1pemF0aW9uLzkwMjQ4LAotCXRyZWUtb3B0aW1pemF0aW9uLzk2Njc0 LCB0cmVlLW9wdGltaXphdGlvbi85ODI1NSwKLQl0cmVlLW9wdGltaXphdGlvbi85ODUzNSwgdHJl ZS1vcHRpbWl6YXRpb24vOTg3NTgsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTg3NjYsIHRyZWUtb3B0 aW1pemF0aW9uLzk4Nzg2Ci0gIC0gZW5zdXJlIGZvciBlbXB0eSBDVXMgLWdkd2FyZi01IGVtaXRz IGF0IGxlYXN0IHRoZSByZXF1aXJlZCAwdGggZGlyZWN0b3J5Ci0gICAgYW5kIGZpbGVuYW1lIGVu dHJ5IGluIHRoZSAuZGVidWdfbGluZSBzZWN0aW9uICgjMTkxOTI0MywgUFIgZGVidWcvOTg3OTYp Ci0tIGZpeCBhYXJjaDY0IGJ1ZyB3aGVyZSBlbWl0dGVkIHViZml4IGluc24gY2FuJ3QgYmUgYXNz ZW1ibGVkCi0gIChQUiB0YXJnZXQvOTg2ODEpCi0KLSogV2VkIEphbiAyMCAyMDIxIEpha3ViIEpl bGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDExLjAuMC0wLjE2Ci0tIGZpeCBEV0FSRjUgLWcgLWZs dG8gLWZmYXQtbHRvLW9iamVjdHMsIHNvIHRoYXQgTFRPIHNlY3Rpb25zIGNhbiBiZSBzdHJpcHBl ZAotICBvZmYgbGF0ZXIgKFBSIGRlYnVnLzk4NzY1KQotLSBmaXggR09NUF90YXNrIGNhbGxlciBz dGFjayBjb3JydXB0aW9uIG9uIHMzOTB4Ci0tIGxpYmdjY2ppdCBEV0FSRjUgZml4ZXMgKFBSIGRl YnVnLzk4NzUxKQotCi0qIFR1ZSBKYW4gMTkgMjAyMSBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRo YXQuY29tPiAxMS4wLjAtMC4xNQotLSB1cGRhdGUgZnJvbSB0cnVuawotICAtIFBScyBkZWJ1Zy85 ODcwOCwgZGVidWcvOTg3MTYsIGlwYS85ODIyMiwgbGlic3RkYysrLzk4NzI1LCB0YXJnZXQvOTc4 NDcsCi0JdGVzdHN1aXRlLzk3Mjk5LCB0ZXN0c3VpdGUvOTc0OTQsIHRlc3RzdWl0ZS85Nzk4NywK LQl0cmVlLW9wdGltaXphdGlvbi85NjI3MQotICAtIGZpeCBtaXNjb21waWxhdGlvbiBvZiBwb3J0 YWJsZSBzaWduZWQgbXVsdGlwbGljYXRpb24gb3ZlcmZsb3cgY2hlY2sKLSAgICAoIzE5MTY1NzYs IFBSIHRyZWUtb3B0aW1pemF0aW9uLzk4NzI3KQotICAtIHN3aXRjaCB0byBEV0FSRiA1IGJ5IGRl ZmF1bHQKLS0gZml4IFBScyBjKysvOTg2NzIsIGMrKy85ODY4NywgYysrLzk4NzQyLCBtaWRkbGUt ZW5kLzk4NjM4LAotCSAgdHJlZS1vcHRpbWl6YXRpb24vOTg3MjEKLQotKiBTYXQgSmFuIDE2IDIw MjEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4wLTAuMTQKLS0gdXBkYXRl IGZyb20gdHJ1bmsKLSAgLSBQUnMgYWRhLzk4NTk1LCBhbmFseXplci85ODY3OSwgYm9vdHN0cmFw Lzk4Njk2LCBjKysvNjM3MDcsIGMrKy85ODIzMSwKLQljKysvOTgzNzIsIGMrKy85ODUzOCwgYysr Lzk4NTkxLCBjKysvOTg2MjYsIGMrKy85ODY0MiwgZm9ydHJhbi85ODY2MSwKLQlpcGEvOTg2NTIs IGppdC85ODU4NiwgbGliZ29tcC82NTA5OSwgbGlic3RkYysrLzk4NDY2LCBsaWJzdGRjKysvOTg0 NzEsCi0JcHJlcHJvY2Vzc29yLzk1MjUzLCB0YXJnZXQvNzA0NTQsIHRhcmdldC83MTIzMywgdGFy Z2V0Lzg4ODM2LAotCXRhcmdldC85NTkwNSwgdGFyZ2V0Lzk2OTM4LCB0YXJnZXQvOTg2NjcsIHRh cmdldC85ODY3MSwgdGFyZ2V0Lzk4Njc2LAotCXRlc3RzdWl0ZS85NjA5OCwgdGVzdHN1aXRlLzk2 MTQ3LCB0cmVlLW9wdGltaXphdGlvbi85MjY0NSwKLQl0cmVlLW9wdGltaXphdGlvbi85NjM3Niwg dHJlZS1vcHRpbWl6YXRpb24vOTY2NjksCi0JdHJlZS1vcHRpbWl6YXRpb24vOTY2ODEsIHRyZWUt b3B0aW1pemF0aW9uLzk2Njg4LAotCXRyZWUtb3B0aW1pemF0aW9uLzk2NjkxLCB0cmVlLW9wdGlt aXphdGlvbi85ODQ1NSwKLQl0cmVlLW9wdGltaXphdGlvbi85ODU5NywgdHJlZS1vcHRpbWl6YXRp b24vOTg2NDAsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTg2NzQsIHRyZWUtb3B0aW1pemF0aW9uLzk4 Njg1Ci0gIC0gZml4IHVwIHBtb3Z6eCBwZXJtdXRhdGlvbiBTU0U0LjEgcGF0dGVybnMgKCMxOTE2 MjQwLCBQUiB0YXJnZXQvOTg2NzApCi0KLSogV2VkIEphbiAxMyAyMDIxIEpha3ViIEplbGluZWsg PGpha3ViQHJlZGhhdC5jb20+IDExLjAuMC0wLjEzCi0tIHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0g UFJzIGFuYWx5emVyLzk4NjI4LCBjKysvOTcyODQsIGMrKy85ODQ4MSwgYysrLzk4NTU2LCBjKysv OTg2MTEsIGMrKy85ODYyMCwKLQljLzk4NTkyLCBkZWJ1Zy85NzcxNCwgaml0Lzk4NjE1LCBsaWJz dGRjKysvOTg2MTMsCi0JcnRsLW9wdGltaXphdGlvbi85ODYwMywgdGFyZ2V0Lzk3ODc1LCB0YXJn ZXQvOTc5NjksIHRhcmdldC85ODYxMiwKLQl0ZXN0c3VpdGUvOTgyMjUsIHRlc3RzdWl0ZS85ODYw MiwgdHJlZS1vcHRpbWl6YXRpb24vOTE0MDMsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTU3MzEsIHRy ZWUtb3B0aW1pemF0aW9uLzk1ODUyLAotCXRyZWUtb3B0aW1pemF0aW9uLzk1ODY3LCB0cmVlLW9w dGltaXphdGlvbi85ODUyNiwKLQl0cmVlLW9wdGltaXphdGlvbi85ODU1MCwgdHJlZS1vcHRpbWl6 YXRpb24vOTg2MjkKLSAgLSBmaXggSUNFcyBpbiBwcmludF9tZW1fcmVmICgjMTkxNTQwMCwgIzE5 MTU0MzcsICMxOTE1NzgxLCBQUiBjLzk4NTk3KQotCi0qIFNhdCBKYW4gIDkgMjAyMSBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4wLjAtMC4xMgotLSB1cGRhdGUgZnJvbSB0cnVu awotICAtIFBScyBhbmFseXplci85NzA3MiwgYW5hbHl6ZXIvOTcwNzQsIGFuYWx5emVyLzk4MDcz LCBhbmFseXplci85ODIyMywKLQlhbmFseXplci85ODI5MywgYW5hbHl6ZXIvOTg1NjQsIGFuYWx5 emVyLzk4NTgwLCBib290c3RyYXAvOTgzMjQsCi0JYm9vdHN0cmFwLzk4NTA2LCBjKysvODIwOTks IGMrKy85NTc2OCwgYysrLzk2MDQ1LCBjKysvOTY1MDQsCi0JYysrLzk3NTk3LCBjKysvOTgyMDYs IGMrKy85ODMwNSwgYysrLzk4MzE2LCBjKysvOTgzMjksIGMrKy85ODMzMiwKLQljKysvOTgzNTMs IGMrKy85ODQxMywgYysrLzk4NDQxLCBjKysvOTg0NjksIGMrKy85ODUxNSwgYysrLzk4NTUxLAot CWMvOTgwMjksIGQvOTg0MjcsIGZvcnRyYW4vODMxMTgsIGZvcnRyYW4vOTM3MDEsIGZvcnRyYW4v OTM3OTQsCi0JZm9ydHJhbi85MzgzMywgZm9ydHJhbi85NzYxMiwgZm9ydHJhbi85NzY5NCwgZm9y dHJhbi85NzcyMywKLQlmb3J0cmFuLzk4MDIyLCBmb3J0cmFuLzk4NDU4LCBsaWJzdGRjKysvOTgz ODQsIG1pZGRsZS1lbmQvOTgxNjAsCi0JbWlkZGxlLWVuZC85ODU3OCwgb3RoZXIvOTg0MzcsIHJ0 bC1vcHRpbWl6YXRpb24vOTcxNDQsCi0JcnRsLW9wdGltaXphdGlvbi85Nzk3OCwgcnRsLW9wdGlt aXphdGlvbi85ODIxNCwKLQlydGwtb3B0aW1pemF0aW9uLzk4MzM0LCBydGwtb3B0aW1pemF0aW9u Lzk4NDAzLCB0YXJnZXQvODkwNTcsCi0JdGFyZ2V0Lzk2NzkzLCB0YXJnZXQvOTcyNjksIHRhcmdl dC85ODQ2MSwgdGFyZ2V0Lzk4NDgyLCB0YXJnZXQvOTg0OTUsCi0JdGFyZ2V0Lzk4NTIxLCB0YXJn ZXQvOTg1MjIsIHRhcmdldC85ODU2NywgdGFyZ2V0Lzk4NTg1LAotCXRlc3RzdWl0ZS85ODQ4OSwg dGVzdHN1aXRlLzk4NTY2LCB0cmVlLW9wdGltaXphdGlvbi81NjcxOSwKLQl0cmVlLW9wdGltaXph dGlvbi85NDc4NSwgdHJlZS1vcHRpbWl6YXRpb24vOTQ4MDIsCi0JdHJlZS1vcHRpbWl6YXRpb24v OTQ5OTQsIHRyZWUtb3B0aW1pemF0aW9uLzk1NDAxLAotCXRyZWUtb3B0aW1pemF0aW9uLzk1NTgy LCB0cmVlLW9wdGltaXphdGlvbi85NTc3MSwKLQl0cmVlLW9wdGltaXphdGlvbi85NjIzOSwgdHJl ZS1vcHRpbWl6YXRpb24vOTY3ODIsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTY5MjgsIHRyZWUtb3B0 aW1pemF0aW9uLzk2OTMwLAotCXRyZWUtb3B0aW1pemF0aW9uLzk4MjgyLCB0cmVlLW9wdGltaXph dGlvbi85ODI5MSwKLQl0cmVlLW9wdGltaXphdGlvbi85ODMwMiwgdHJlZS1vcHRpbWl6YXRpb24v OTgzMDgsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTgzNzEsIHRyZWUtb3B0aW1pemF0aW9uLzk4Mzgx LAotCXRyZWUtb3B0aW1pemF0aW9uLzk4MzkzLCB0cmVlLW9wdGltaXphdGlvbi85ODQyOCwKLQl0 cmVlLW9wdGltaXphdGlvbi85ODQ2NCwgdHJlZS1vcHRpbWl6YXRpb24vOTg0NzQsCi0JdHJlZS1v cHRpbWl6YXRpb24vOTg1MTMsIHRyZWUtb3B0aW1pemF0aW9uLzk4NTE0LAotCXRyZWUtb3B0aW1p emF0aW9uLzk4NTE2LCB0cmVlLW9wdGltaXphdGlvbi85ODU0NCwKLQl0cmVlLW9wdGltaXphdGlv bi85ODU2MCwgdHJlZS1vcHRpbWl6YXRpb24vOTg1NjgKLQotKiBXZWQgRGVjIDIzIDIwMjAgSmFr dWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4wLTAuMTEKLS0gdXBkYXRlIGZyb20g dHJ1bmsKLSAgLSBQUnMgYm9vdHN0cmFwLzk4MzAwLCBib290c3RyYXAvOTgzODAsIGJvb3RzdHJh cC85ODQxMiwgYysrLzY3MzQzLAotCWMrKy85MzQ4MCwgYysrLzk2ODQwLCBjKysvOTgzNDAsIGMr Ky85ODM0MywgYysrLzk4MzUzLCBjKysvOTgzODMsCi0JYy85ODA0NywgYy85ODI2MCwgZC85ODA2 NywgZm9ydHJhbi84MzExOCwgZm9ydHJhbi85MjU4NywKLQlmb3J0cmFuLzk2MDEyLCBmb3J0cmFu Lzk4Mjg0LCBmb3J0cmFuLzk4MzA3LCBnby85ODQwMiwKLQlsaWJzdGRjKysvNDY0NDcsIGxpYnN0 ZGMrKy85MzE1MSwgbGlic3RkYysrLzk2MDgzLCBsaWJzdGRjKysvOTgzMTksCi0JbGlic3RkYysr Lzk4MzQ0LCBsaWJzdGRjKysvOTgzNzAsIGxpYnN0ZGMrKy85ODM3NCwgbGlic3RkYysrLzk4Mzc3 LAotCW1pZGRsZS1lbmQvOTgzNjYsIG90aGVyLzk4NDAwLCBvdGhlci85ODQwOSwgcnRsLW9wdGlt aXphdGlvbi85ODI3MSwKLQlydGwtb3B0aW1pemF0aW9uLzk4Mjc2LCBydGwtb3B0aW1pemF0aW9u Lzk4Mjg5LAotCXJ0bC1vcHRpbWl6YXRpb24vOTgzNDcsIHNhbml0aXplci85Nzg2OCwgdGFyZ2V0 Lzk2NzkzLCB0YXJnZXQvOTgxNDYsCi0JdGFyZ2V0Lzk4MTc3LCB0YXJnZXQvOTgyODAsIHRyZWUt b3B0aW1pemF0aW9uLzk2MjM5LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NzUwLCB0cmVlLW9wdGlt aXphdGlvbi85ODI3MiwKLQl0cmVlLW9wdGltaXphdGlvbi85ODI3OSwgdHJlZS1vcHRpbWl6YXRp b24vOTgzNzgsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTg0MDcKLQotKiBUaHUgRGVjIDE3IDIwMjAg SmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4wLTAuMTAKLS0gYXBwbHkgd29y a2Fyb3VuZCBmb3IgcHJvZmlsZWRib290c3RyYXAgeDg2XzY0IGZhaWx1cmUKLS0gcHV0IGcrKy1t YXBwZXItc2VydmVyIGludG8gdGhlIHJpZ2h0IGRpcmVjdG9yeQotCi0qIFdlZCBEZWMgMTYgMjAy MCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4wLjAtMC44Ci0tIHVwZGF0ZSBm cm9tIHRydW5rCi0gIC0gUFJzIGFkYS85ODIzMCwgYm9vdHN0cmFwLzk4MTg4LCBjKysvNTcxMTEs IGMrKy81OTIzOCwgYysrLzY4NDUxLAotCWMrKy83ODE3MywgYysrLzkxNTA2LCBjKysvOTMwODMs IGMrKy85NjI5OSwgYysrLzk3MDkzLCBjKysvOTc1MTcsCi0JYysrLzk4MDQzLCBjKysvOTgxMDMs IGMrKy85ODEyMiwgYysrLzk4MTI2LCBjKysvOTgxMzAsIGMrKy85ODE4NywKLQljKysvOTgxOTMs IGMvOTc5ODEsIGMvOTgyMDAsIGQvOTgyNzcsIGZvcnRyYW4vOTAyMDcsIGZvcnRyYW4vOTgwMTYs Ci0JZm9ydHJhbi85ODAyMiwgZ2Nvdi1wcm9maWxlLzk4MjczLCBsaWJzdGRjKysvOTgxMDgsIGxp YnN0ZGMrKy85ODIyNiwKLQlsdG8vOTgyNzUsIG1pZGRsZS1lbmQvOTQ2MDAsIG1pZGRsZS1lbmQv OTgxNjAsIG1pZGRsZS1lbmQvOTgxNjYsCi0JbWlkZGxlLWVuZC85ODE4MywgbWlkZGxlLWVuZC85 ODE5MCwgbWlkZGxlLWVuZC85ODIwNSwKLQltaWRkbGUtZW5kLzk4MjY0LCBydGwtb3B0aW1pemF0 aW9uLzk3MDkyLCBydGwtb3B0aW1pemF0aW9uLzk3NDIxLAotCXJ0bC1vcHRpbWl6YXRpb24vOTgy MTIsIHJ0bC1vcHRpbWl6YXRpb24vOTgyMjksIHNhbml0aXplci85ODIwNCwKLQl0YXJnZXQvNTg5 MDEsIHRhcmdldC82Njc5MSwgdGFyZ2V0LzkyNDY5LCB0YXJnZXQvOTQ0NDAsIHRhcmdldC85NTI5 NCwKLQl0YXJnZXQvOTYyMjYsIHRhcmdldC85NjQ3MCwgdGFyZ2V0Lzk3ODY1LCB0YXJnZXQvOTc4 NzIsIHRhcmdldC85ODEwMCwKLQl0YXJnZXQvOTgxNDcsIHRhcmdldC85ODE1MiwgdGFyZ2V0Lzk4 MTYxLCB0YXJnZXQvOTgxNjIsIHRhcmdldC85ODIxOSwKLQl0YXJnZXQvOTgyNzQsIHRlc3RzdWl0 ZS85NTkwMCwgdGVzdHN1aXRlLzk4MTIzLCB0ZXN0c3VpdGUvOTgxNTYsCi0JdGVzdHN1aXRlLzk4 MjM5LCB0ZXN0c3VpdGUvOTgyNDAsIHRlc3RzdWl0ZS85ODI0MiwgdGVzdHN1aXRlLzk4MjQ0LAot CXRyZWUtb3B0aW1pemF0aW9uLzk1NTgyLCB0cmVlLW9wdGltaXphdGlvbi85NjA5NCwKLQl0cmVl LW9wdGltaXphdGlvbi85NjIzMiwgdHJlZS1vcHRpbWl6YXRpb24vOTYyNzIsCi0JdHJlZS1vcHRp bWl6YXRpb24vOTYzNDQsIHRyZWUtb3B0aW1pemF0aW9uLzk2Njg1LAotCXRyZWUtb3B0aW1pemF0 aW9uLzk3NTU5LCB0cmVlLW9wdGltaXphdGlvbi85NzkyOSwKLQl0cmVlLW9wdGltaXphdGlvbi85 ODA2OSwgdHJlZS1vcHRpbWl6YXRpb24vOTgxMTMsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTgxMTcs IHRyZWUtb3B0aW1pemF0aW9uLzk4MTM3LAotCXRyZWUtb3B0aW1pemF0aW9uLzk4MTY5LCB0cmVl LW9wdGltaXphdGlvbi85ODE3NCwKLQl0cmVlLW9wdGltaXphdGlvbi85ODE4MCwgdHJlZS1vcHRp bWl6YXRpb24vOTgxODIsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTgxOTEsIHRyZWUtb3B0aW1pemF0 aW9uLzk4MTkyLAotCXRyZWUtb3B0aW1pemF0aW9uLzk4MTk5LCB0cmVlLW9wdGltaXphdGlvbi85 ODIxMSwKLQl0cmVlLW9wdGltaXphdGlvbi85ODIxMywgdHJlZS1vcHRpbWl6YXRpb24vOTgyMzUs Ci0JdHJlZS1vcHRpbWl6YXRpb24vOTgyNTYKLSAgLSBDKysyMCBtb2R1bGVzIHN1cHBvcnQKLSAg LSBmaXggdXAgX19wYXRjaGFibGVfZnVuY3Rpb25fZW50cmllcyBoYW5kbGluZyB3aGVuIGdjYyBp cyBjb25maWd1cmVkCi0gICAgYWdhaW5zdCByZWNlbnQgYmludXRpbHMgKCMxOTA3OTQ1KQotLSBm aXggdXAgaGFuZGxpbmcgb2Ygbm9uLW1lbW9yeSBWSUVXX0NPTlZFUlRfRVhQUnMgaW4gUFJFCi0g IChQUiB0cmVlLW9wdGltaXphdGlvbi85ODI4MikKLQotKiBGcmkgRGVjICA0IDIwMjAgSmFrdWIg SmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4wLTAuNwotLSB1cGRhdGUgZnJvbSB0cnVu awotICAtIFBScyBib290c3RyYXAvOTc5ODMsIGMrKy84MDc4MCwgYysrLzkwNjI5LCBjKysvOTMw OTMsIGMrKy85NzE4NywKLQljKysvOTc5NDcsIGMrKy85Nzk3NSwgYysrLzk3OTkzLCBjKysvOTgw MTksIGMrKy85ODA1NCwgYysrLzk4MDcyLAotCWMrKy85ODEwNCwgYysrLzk4MTA3LCBjKysvOTgx MTUsIGMrKy85ODExNiwgYy82NTQ1NSwgYy85MjkzNSwgYy85Nzg4MCwKLQljLzk4MDg3LCBkLzg3 Nzg4LCBkLzg3ODE4LCBkLzk4MDI1LCBkZWJ1Zy85Nzk4OSwgZm9ydHJhbi85NTM0MiwKLQlmb3J0 cmFuLzk4MDEwLCBmb3J0cmFuLzk4MDExLCBmb3J0cmFuLzk4MDEzLCBpcGEvODg3MDIsIGlwYS85 ODA1NywKLQlpcGEvOTgwNzUsIGppdC85Nzg2NywgbGliZ2NjLzk3NTQzLCBsaWJnY2MvOTc2NDMs IGxpYnN0ZGMrKy82NTQ4MCwKLQlsaWJzdGRjKysvNjg3MzUsIGxpYnN0ZGMrKy85MzEyMSwgbGli c3RkYysrLzk4MDAxLCBsaWJzdGRjKysvOTgwMDMsCi0JbWlkZGxlLWVuZC84OTQyOCwgbWlkZGxl LWVuZC85MjkzNiwgbWlkZGxlLWVuZC85Mjk0MCwKLQltaWRkbGUtZW5kLzkzMTk1LCBtaWRkbGUt ZW5kLzkzMTk3LCBtaWRkbGUtZW5kLzk0NTI3LAotCW1pZGRsZS1lbmQvOTczNzMsIG1pZGRsZS1l bmQvOTc1OTUsIG1pZGRsZS1lbmQvOTgwNzAsCi0JbWlkZGxlLWVuZC85ODA4MiwgbWlkZGxlLWVu ZC85ODA5OSwgb3RoZXIvOTgwMjcsIHBsdWdpbnMvOTgwNTksCi0JcHJlcHJvY2Vzc29yLzk3NjAy LCBydGwtb3B0aW1pemF0aW9uLzk3NDU5LCBydGwtb3B0aW1pemF0aW9uLzk3Nzc3LAotCXJ0bC1v cHRpbWl6YXRpb24vOTc5NTQsIHJ0bC1vcHRpbWl6YXRpb24vOTgwMzcsIHRhcmdldC85NjYwNywK LQl0YXJnZXQvOTY5MDYsIHRhcmdldC85NzY0MiwgdGFyZ2V0Lzk3NzcwLCB0YXJnZXQvOTc5Mzks IHRhcmdldC85ODA2MywKLQl0YXJnZXQvOTgwNzksIHRhcmdldC85ODA4NiwgdGVzdHN1aXRlLzk4 MDAyLCB0ZXN0c3VpdGUvOTgwMzYsCi0JdGVzdHN1aXRlLzk4MDg1LCB0cmVlLW9wdGltaXphdGlv bi8xNDc5OSwgdHJlZS1vcHRpbWl6YXRpb24vODg3MDIsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTY2 NzksIHRyZWUtb3B0aW1pemF0aW9uLzk2NzA4LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NjMwLCB0 cmVlLW9wdGltaXphdGlvbi85Nzk1MywKLQl0cmVlLW9wdGltaXphdGlvbi85Nzk3OSwgdHJlZS1v cHRpbWl6YXRpb24vOTc5OTcsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTgwMjQsIHRyZWUtb3B0aW1p emF0aW9uLzk4MDQ4LAotCXRyZWUtb3B0aW1pemF0aW9uLzk4MDY0LCB0cmVlLW9wdGltaXphdGlv bi85ODA2NiwKLQl0cmVlLW9wdGltaXphdGlvbi85ODA4NAotCi0qIFRodSBOb3YgMjYgMjAyMCBK YWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4wLjAtMC42Ci0tIHVwZGF0ZSBmcm9t IHRydW5rCi0gIC0gUFJzIGJvb3RzdHJhcC85NDk4MiwgYm9vdHN0cmFwLzk3NjIyLCBib290c3Ry YXAvOTc5MzMsIGMrKy85Nzg5OSwgYy85Nzk1OCwKLQlmb3J0cmFuLzg1Nzk2LCBsaWJzdGRjKysv Njc3OTEsIGxpYnN0ZGMrKy85NzkzNSwgbGlic3RkYysrLzk3OTM2LAotCWxpYnN0ZGMrKy85Nzk0 NCwgbWlkZGxlLWVuZC85Nzk0MywgbWlkZGxlLWVuZC85Nzk1NiwKLQlydGwtb3B0aW1pemF0aW9u Lzk1ODYyLCB0YXJnZXQvOTE4MTYsIHRhcmdldC85NzUzNCwgdGFyZ2V0Lzk3OTUwLAotCXRyZWUt b3B0aW1pemF0aW9uLzk2OTI5LCB0cmVlLW9wdGltaXphdGlvbi85Nzg0OSwKLQl0cmVlLW9wdGlt aXphdGlvbi85Nzk2NAotCi0qIFR1ZSBOb3YgMjQgMjAyMCBKYWt1YiBKZWxpbmVrIDxqYWt1YkBy ZWRoYXQuY29tPiAxMS4wLjAtMC41Ci0tIHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0gUFJzIGMrKy85 NDY5NSwgYysrLzk3NDI3LCBjKysvOTc4MzksIGMrKy85Nzg0NiwgYysrLzk3ODgxLCBjKysvOTc5 MDQsCi0JYy85NTYzMCwgZC85Nzg4OSwgbGlic3RkYysrLzk3OTQ4LCB0cmVlLW9wdGltaXphdGlv bi85NTg1MwotCi0qIFNhdCBOb3YgMjEgMjAyMCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQu Y29tPiAxMS4wLjAtMC40Ci0tIHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0gUFJzIGFkYS85NzgwNSwg YWRhLzk3ODU5LCBhbmFseXplci85NzY2OCwgYW5hbHl6ZXIvOTc4OTMsIGJvb3RzdHJhcC81NzA3 NiwKLQlib290c3RyYXAvOTc2NjYsIGJvb3RzdHJhcC85Nzg1NywgYysrLzI1ODE0LCBjKysvNTI4 MzAsIGMrKy82MzI4NywKLQljKysvNjc0NTMsIGMrKy83ODIwOSwgYysrLzgxNjYwLCBjKysvODc3 NjUsIGMrKy84ODExNSwgYysrLzg4OTgyLAotCWMrKy84OTU2NSwgYysrLzkwNzk5LCBjKysvOTEz MTgsIGMrKy85MzEwNywgYysrLzkzOTA3LCBjKysvOTU4MDgsCi0JYysrLzk3Mzg4LCBjKysvOTc0 MTIsIGMrKy85NzQ1MywgYysrLzk3NDc5LCBjKysvOTc1MTgsIGMrKy85NzUyMywKLQljKysvOTc2 MzIsIGMrKy85NzY2MywgYysrLzk3NjcwLCBjKysvOTc2NzUsIGMrKy85Nzc2MiwgYysrLzk3Nzkw LAotCWMrKy85Nzg3MSwgYysrLzk3ODc3LCBjKysvOTc4OTUsIGMrKy85NzkwNSwgYysrLzk3OTE4 LCBjLzkwNjI4LAotCWMvOTc3NDgsIGMvOTc4NjAsIGQvOTc2NDQsIGQvOTc4NDIsIGQvOTc4NDMs IGRlYnVnLzk3MDYwLCBkZWJ1Zy85NzU5OSwKLQlkZWJ1Zy85NzcxOCwgZHJpdmVyLzk3NTc0LCBm b3J0cmFuLzkwMTExLCBmb3J0cmFuLzkyNzkzLAotCWZvcnRyYW4vOTQzNTgsIGZvcnRyYW4vOTU4 NDcsIGZvcnRyYW4vOTc2NTIsIGZvcnRyYW4vOTc2NTUsCi0JZm9ydHJhbi85Nzc2OCwgZm9ydHJh bi85Nzc4MiwgaXBhLzk3NTc4LCBpcGEvOTc2NjAsIGlwYS85NzY5NSwKLQlpcGEvOTc2OTgsIGlw YS85NzgxNiwgaml0Lzg3MjkxLCBsaWJzdGRjKysvNTUzOTQsIGxpYnN0ZGMrKy82NjE0NiwKLQls aWJzdGRjKysvODM5MzgsIGxpYnN0ZGMrKy84NDMyMywgbGlic3RkYysrLzg4MTAxLCBsaWJzdGRj KysvOTIyODUsCi0JbGlic3RkYysrLzkyNTQ2LCBsaWJzdGRjKysvOTM0MjEsIGxpYnN0ZGMrKy85 MzQ1NiwgbGlic3RkYysrLzk0OTcxLAotCWxpYnN0ZGMrKy85NTk4OSwgbGlic3RkYysrLzk2MjY5 LCBsaWJzdGRjKysvOTY5NTgsIGxpYnN0ZGMrKy85NzQxNSwKLQlsaWJzdGRjKysvOTc2MDAsIGxp YnN0ZGMrKy85NzYxMywgbGlic3RkYysrLzk3NzE5LCBsaWJzdGRjKysvOTc3MjksCi0JbGlic3Rk YysrLzk3NzMxLCBsaWJzdGRjKysvOTc3NTgsIGxpYnN0ZGMrKy85Nzc5OCwgbGlic3RkYysrLzk3 ODI4LAotCWxpYnN0ZGMrKy85Nzg2OSwgbHRvLzk3MjkwLCBsdG8vOTc1MDgsIG1pZGRsZS1lbmQv ODU4MTEsCi0JbWlkZGxlLWVuZC85NTY3MywgbWlkZGxlLWVuZC85NzI2NywgbWlkZGxlLWVuZC85 NzU1NiwKLQltaWRkbGUtZW5kLzk3NTc5LCBtaWRkbGUtZW5kLzk3ODQwLCBtaWRkbGUtZW5kLzk3 ODYyLAotCW1pZGRsZS1lbmQvOTc4NzksIG9iamMvNzc0MDQsIG9iamMvOTA3MDcsIG9iamMvOTc4 NTQsIG90aGVyLzk3OTExLAotCXBjaC84NjY3NCwgcGNoLzk3NTkzLCBwcmVwcm9jZXNzb3IvOTc4 NTgsIHJ0bC1vcHRpbWl6YXRpb24vOTIxODAsCi0JcnRsLW9wdGltaXphdGlvbi85NzcwNSwgc2Fu aXRpemVyLzk1NjM0LCB0YXJnZXQvMzE3OTksIHRhcmdldC84NTQ4NiwKLQl0YXJnZXQvOTE0ODks IHRhcmdldC85MzQ0OSwgdGFyZ2V0Lzk2MzA3LCB0YXJnZXQvOTY3NzAsIHRhcmdldC85Njc5MSwK LQl0YXJnZXQvOTY5MzMsIHRhcmdldC85Njk2NywgdGFyZ2V0Lzk2OTk4LCB0YXJnZXQvOTcxNDAs IHRhcmdldC85NzE5NCwKLQl0YXJnZXQvOTcyMDUsIHRhcmdldC85NzMyNiwgdGFyZ2V0Lzk3NTI4 LCB0YXJnZXQvOTc1MzIsIHRhcmdldC85NzU0MCwKLQl0YXJnZXQvOTc2MzgsIHRhcmdldC85NzY4 MiwgdGFyZ2V0Lzk3Njg1LCB0YXJnZXQvOTc3MTUsIHRhcmdldC85NzcyNiwKLQl0YXJnZXQvOTc3 MjcsIHRhcmdldC85NzczMCwgdGFyZ2V0Lzk3ODcwLCB0YXJnZXQvOTc4NzMsCi0JdGVzdHN1aXRl LzgwMjE5LCB0ZXN0c3VpdGUvODUzMDMsIHRlc3RzdWl0ZS85NzExNywgdGVzdHN1aXRlLzk3Njg4 LAotCXRlc3RzdWl0ZS85Nzc4OCwgdGVzdHN1aXRlLzk3Nzk3LCB0ZXN0c3VpdGUvOTc4MDMsCi0J dHJlZS1vcHRpbWl6YXRpb24vODA5MjgsIHRyZWUtb3B0aW1pemF0aW9uLzgzMDcyLAotCXRyZWUt b3B0aW1pemF0aW9uLzkxMDI5LCB0cmVlLW9wdGltaXphdGlvbi85Mzc4MSwKLQl0cmVlLW9wdGlt aXphdGlvbi85NDQwNiwgdHJlZS1vcHRpbWl6YXRpb24vOTY2NzEsCi0JdHJlZS1vcHRpbWl6YXRp b24vOTY3ODksIHRyZWUtb3B0aW1pemF0aW9uLzk3MjIzLAotCXRyZWUtb3B0aW1pemF0aW9uLzk3 NDI0LCB0cmVlLW9wdGltaXphdGlvbi85NzU1OCwKLQl0cmVlLW9wdGltaXphdGlvbi85NzYwOSwg dHJlZS1vcHRpbWl6YXRpb24vOTc2MjMsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTc2MjYsIHRyZWUt b3B0aW1pemF0aW9uLzk3NjMzLAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NjUwLCB0cmVlLW9wdGlt aXphdGlvbi85NzY3OCwKLQl0cmVlLW9wdGltaXphdGlvbi85NzY5MCwgdHJlZS1vcHRpbWl6YXRp b24vOTc2OTMsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTc3MDYsIHRyZWUtb3B0aW1pemF0aW9uLzk3 NzA5LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NzIxLCB0cmVlLW9wdGltaXphdGlvbi85NzcyNSwK LQl0cmVlLW9wdGltaXphdGlvbi85NzczMiwgdHJlZS1vcHRpbWl6YXRpb24vOTc3MzMsCi0JdHJl ZS1vcHRpbWl6YXRpb24vOTc3MzYsIHRyZWUtb3B0aW1pemF0aW9uLzk3NzM3LAotCXRyZWUtb3B0 aW1pemF0aW9uLzk3NzQxLCB0cmVlLW9wdGltaXphdGlvbi85Nzc0NiwKLQl0cmVlLW9wdGltaXph dGlvbi85Nzc1MywgdHJlZS1vcHRpbWl6YXRpb24vOTc3NjAsCi0JdHJlZS1vcHRpbWl6YXRpb24v OTc3NjEsIHRyZWUtb3B0aW1pemF0aW9uLzk3NzY0LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NzY1 LCB0cmVlLW9wdGltaXphdGlvbi85Nzc2NywKLQl0cmVlLW9wdGltaXphdGlvbi85Nzc2OSwgdHJl ZS1vcHRpbWl6YXRpb24vOTc3ODAsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTc4MDYsIHRyZWUtb3B0 aW1pemF0aW9uLzk3ODEyLAotCXRyZWUtb3B0aW1pemF0aW9uLzk3ODMwLCB0cmVlLW9wdGltaXph dGlvbi85NzgzNSwKLQl0cmVlLW9wdGltaXphdGlvbi85NzgzOCwgdHJlZS1vcHRpbWl6YXRpb24v OTc4ODYsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTc4ODgsIHRyZWUtb3B0aW1pemF0aW9uLzk3ODk3 LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3OTAxCi0tIGFkZCBCdWlsZFJlcXVpcmVzOiBtYWtlIGFu ZCBSZXF1aXJlczogbWFrZSwgdGhlIGxhdHRlciBmb3IgLWZsdG8gcmVhc29ucwotCi0qIFRodSBP Y3QgMjkgMjAyMCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxMS4wLjAtMC4zCi0t IHVwZGF0ZSBmcm9tIHRydW5rCi0gIC0gUFJzIGFkYS85NzUwNCwgYW5hbHl6ZXIvOTY2MDgsIGFu YWx5emVyLzk3NDg5LCBhbmFseXplci85NzUxNCwKLQlhbmFseXplci85NzU2OCwgYW5hbHl6ZXIv OTc2MDgsIGJvb3RzdHJhcC85NzQ1MSwgYysrLzgyMjM5LCBjKysvODY3NzMsCi0JYysrLzkxNzQx LCBjKysvOTQ3OTksIGMrKy85NTEzMiwgYysrLzk2MjQxLCBjKysvOTY1NzUsIGMrKy85NjY3NSwK LQljKysvOTY3NDIsIGMrKy85NzMyOCwgYysrLzk3NDM4LCBjKysvOTc1MTEsIGMrKy85NzU3Mywg Yy85NDcyMiwKLQljLzk3NDYzLCBmb3J0cmFuLzQ1NTE2LCBmb3J0cmFuLzk3NDU0LCBnY292LXBy b2ZpbGUvOTc0NjEsIGlwYS85NzQ0NSwKLQlpcGEvOTc1NzYsIGlwYS85NzU4NiwgbGlic3RkYysr Lzk0MjY4LCBsaWJzdGRjKysvOTU1OTIsCi0JbGlic3RkYysrLzk1NjA5LCBsaWJzdGRjKysvOTU5 MTcsIGxpYnN0ZGMrKy85NjcxMywgbGlic3RkYysrLzk3NTEyLAotCWxpYnN0ZGMrKy85NzU3MCwg bHRvLzk2NjgwLCBsdG8vOTc1MjQsIG1pZGRsZS1lbmQvOTI5NDIsCi0JbWlkZGxlLWVuZC85NzUy MSwgbWlkZGxlLWVuZC85NzU1MiwgcnRsLW9wdGltaXphdGlvbi85NzI0OSwKLQlydGwtb3B0aW1p emF0aW9uLzk3NDM5LCBydGwtb3B0aW1pemF0aW9uLzk3NDk3LCBzYW5pdGl6ZXIvOTc0MTQsCi0J dGFyZ2V0Lzg3NzY3LCB0YXJnZXQvOTUxNTEsIHRhcmdldC85NTQ1OCwgdGFyZ2V0Lzk3MzYwLCB0 YXJnZXQvOTc1MDIsCi0JdGFyZ2V0Lzk3NTA2LCB0YXJnZXQvOTc1MzUsIHRlc3RzdWl0ZS84MTY5 MCwgdGVzdHN1aXRlLzk3NTkwLAotCXRyZWUtb3B0aW1pemF0aW9uLzY2NTUyLCB0cmVlLW9wdGlt aXphdGlvbi85NzE2NCwKLQl0cmVlLW9wdGltaXphdGlvbi85NzM2MCwgdHJlZS1vcHRpbWl6YXRp b24vOTc0NTYsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTc0NTcsIHRyZWUtb3B0aW1pemF0aW9uLzk3 NDY2LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NDY3LCB0cmVlLW9wdGltaXphdGlvbi85NzQ4NiwK LQl0cmVlLW9wdGltaXphdGlvbi85NzQ4OCwgdHJlZS1vcHRpbWl6YXRpb24vOTc0OTYsCi0JdHJl ZS1vcHRpbWl6YXRpb24vOTc1MDAsIHRyZWUtb3B0aW1pemF0aW9uLzk3NTAxLAotCXRyZWUtb3B0 aW1pemF0aW9uLzk3NTAzLCB0cmVlLW9wdGltaXphdGlvbi85NzUwNSwKLQl0cmVlLW9wdGltaXph dGlvbi85NzUxNSwgdHJlZS1vcHRpbWl6YXRpb24vOTc1MjAsCi0JdHJlZS1vcHRpbWl6YXRpb24v OTc1MzgsIHRyZWUtb3B0aW1pemF0aW9uLzk3NTM5LAotCXRyZWUtb3B0aW1pemF0aW9uLzk3NTQ2 LCB0cmVlLW9wdGltaXphdGlvbi85NzU1NSwKLQl0cmVlLW9wdGltaXphdGlvbi85NzU2MCwgdHJl ZS1vcHRpbWl6YXRpb24vOTc1NjcsCi0JdHJlZS1vcHRpbWl6YXRpb24vOTc2MTUKLS0gZm9yIEVM TiBkZWZhdWx0IHRvIC1tYXJjaD14ODYtNjQtdjIgZm9yIHg4NiA2NC1iaXQgY29tcGlsYXRpb24g YW5kCi0gIGZvciBzMzkweCB0byAtbWFyY2g9ejEzIC1tdHVuZT1hcmNoMTMKLQotKiBNb24gT2N0 IDE5IDIwMjAgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTEuMC4wLTAuMgorKiBT YXQgSmFuICA4IDIwMjIgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTIuMC4wLTAu MwogLSBuZXcgcGFja2FnZQoKZGlmZiAtLWdpdCBhL2djYzExLVduby1mb3JtYXQtc2VjdXJpdHku cGF0Y2ggYi9nY2MxMS1Xbm8tZm9ybWF0LXNlY3VyaXR5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA5NzRlYTQ0Li4wMDAwMDAwCi0tLSBhL2djYzExLVduby1mb3JtYXQtc2Vj dXJpdHkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0yMDE3LTAyLTI1ICBK YWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogY29uZmlndXJlLmFjOiBXaGVu IGFkZGluZyAtV25vLWZvcm1hdCwgYWxzbyBhZGQgLVduby1mb3JtYXQtc2VjdXJpdHkuCi0JKiBj b25maWd1cmU6IFJlZ2VuZXJhdGVkLgotCi0tLS0gZ2NjL2NvbmZpZ3VyZS5hYy5qagkyMDE3LTAy LTEzIDEyOjIwOjUzLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9jb25maWd1cmUuYWMJMjAxNy0w Mi0yNSAxMjo0MjozMi44NTkxNzU0MDMgKzAxMDAKLUBAIC00ODAsNyArNDgwLDcgQEAgQUNfQVJH X0VOQUJMRShidWlsZC1mb3JtYXQtd2FybmluZ3MsCi0gICBBU19IRUxQX1NUUklORyhbLS1kaXNh YmxlLWJ1aWxkLWZvcm1hdC13YXJuaW5nc10sW2Rvbid0IHVzZSAtV2Zvcm1hdCB3aGlsZSBidWls ZGluZyBHQ0NdKSwKLSAgIFtdLFtlbmFibGVfYnVpbGRfZm9ybWF0X3dhcm5pbmdzPXllc10pCi0g QVNfSUYoW3Rlc3QgJGVuYWJsZV9idWlsZF9mb3JtYXRfd2FybmluZ3MgPSBub10sCi0tICAgICAg W3dmX29wdD0tV25vLWZvcm1hdF0sW3dmX29wdD1dKQotKyAgICAgIFt3Zl9vcHQ9Ii1Xbm8tZm9y bWF0IC1Xbm8tZm9ybWF0LXNlY3VyaXR5Il0sW3dmX29wdD1dKQotIEFDWF9QUk9HX0NYWF9XQVJO SU5HX09QVFMoCi0gCW00X3F1b3RlKG00X2RvKFstVyAtV2FsbCAtV25vLW5hcnJvd2luZyAtV3dy aXRlLXN0cmluZ3MgXSwKLSAJCSAgICAgICBbLVdjYXN0LXF1YWwgLVduby1lcnJvcj1mb3JtYXQt ZGlhZyAkd2Zfb3B0XSkpLAotLS0tIGdjYy9jb25maWd1cmUuamoJMjAxNy0wMi0xMyAxMjoyMDo1 Mi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvY29uZmlndXJlCTIwMTctMDItMjUgMTI6NDI6NTAu MDQxOTQ2MzkxICswMTAwCi1AQCAtNjY0Nyw3ICs2NjQ3LDcgQEAgZWxzZQotIGZpCi0gCi0gaWYg dGVzdCAkZW5hYmxlX2J1aWxkX2Zvcm1hdF93YXJuaW5ncyA9IG5vOyB0aGVuIDoKLS0gIHdmX29w dD0tV25vLWZvcm1hdAotKyAgd2Zfb3B0PSItV25vLWZvcm1hdCAtV25vLWZvcm1hdC1zZWN1cml0 eSIKLSBlbHNlCi0gICB3Zl9vcHQ9Ci0gZmkKCmRpZmYgLS1naXQgYS9nY2MxMS1kLXNoYXJlZC1s aWJwaG9ib3MucGF0Y2ggYi9nY2MxMS1kLXNoYXJlZC1saWJwaG9ib3MucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzODRiYmIuLjAwMDAwMDAKLS0tIGEvZ2NjMTEtZC1zaGFy ZWQtbGlicGhvYm9zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotMjAxOS0w MS0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIGQtc3BlYy5jYyAo bGFuZ19zcGVjaWZpY19kcml2ZXIpOiBNYWtlIC1zaGFyZWQtbGlicGhvYm9zCi0JdGhlIGRlZmF1 bHQgcmF0aGVyIHRoYW4gLXN0YXRpYy1saWJwaG9ib3MuCi0KLS0tLSBnY2MvZC9kLXNwZWMuY2Mu amoJMjAxOS0wMS0wMSAxMjozNzo0OS41MDI0NDQyNTcgKzAxMDAKLSsrKyBnY2MvZC9kLXNwZWMu Y2MJMjAxOS0wMS0xNyAxNzowOTo0NS4zNjQ5NDkyNDYgKzAxMDAKLUBAIC00MDgsOSArNDA4LDkg QEAgbGFuZ19zcGVjaWZpY19kcml2ZXIgKGNsX2RlY29kZWRfb3B0aW9uCi0gICAvKiBBZGQgYC1s Z3Bob2JvcycgaWYgd2UgaGF2ZW4ndCBhbHJlYWR5IGRvbmUgc28uICAqLwotICAgaWYgKHBob2Jv c19saWJyYXJ5ICE9IFBIT0JPU19OT0xJTkspCi0gICAgIHsKLS0gICAgICAvKiBEZWZhdWx0IHRv IHN0YXRpYyBsaW5raW5nLiAgKi8KLS0gICAgICBpZiAocGhvYm9zX2xpYnJhcnkgIT0gUEhPQk9T X0RZTkFNSUMpCi0tCXBob2Jvc19saWJyYXJ5ID0gUEhPQk9TX1NUQVRJQzsKLSsgICAgICAvKiBE ZWZhdWx0IHRvIHNoYXJlZCBsaW5raW5nLiAgKi8KLSsgICAgICBpZiAocGhvYm9zX2xpYnJhcnkg IT0gUEhPQk9TX1NUQVRJQykKLSsJcGhvYm9zX2xpYnJhcnkgPSBQSE9CT1NfRFlOQU1JQzsKLSAK LSAjaWZkZWYgSEFWRV9MRF9TVEFUSUNfRFlOQU1JQwotICAgICAgIGlmIChwaG9ib3NfbGlicmFy eSA9PSBQSE9CT1NfU1RBVElDICYmICFzdGF0aWNfbGluaykKCmRpZmYgLS1naXQgYS9nY2MxMS1m b2ZmbG9hZC1kZWZhdWx0LnBhdGNoIGIvZ2NjMTEtZm9mZmxvYWQtZGVmYXVsdC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDFhYWU2NC4uMDAwMDAwMAotLS0gYS9nY2MxMS1m b2ZmbG9hZC1kZWZhdWx0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE2ICswLDAgQEAKLTIw MTktMDEtMTcgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiBnY2MuYyAo b2ZmbG9hZF90YXJnZXRzX2RlZmF1bHQpOiBOZXcgdmFyaWFibGUuCi0JKHByb2Nlc3NfY29tbWFu ZCk6IFNldCBpdCBpZiAtZm9mZmxvYWQgaXMgZGVmYXVsdGVkLgotCShkcml2ZXI6Om1heWJlX3B1 dGVudl9PRkZMT0FEX1RBUkdFVFMpOiBBZGQgT0ZGTE9BRF9UQVJHRVRfREVGQVVMVD0xCi0JaW50 byBlbnZpcm9ubWVudCBpZiAtZm9mZmxvYWQgaGFzIGJlZW4gZGVmYXVsdGVkLgotCSogbHRvLXdy YXBwZXIuYyAoT0ZGTE9BRF9UQVJHRVRfREVGQVVMVF9FTlYpOiBEZWZpbmUuCi0JKGNvbXBpbGVf b2ZmbG9hZF9pbWFnZSk6IElmIE9GRkxPQURfVEFSR0VUX0RFRkFVTFQKLQlpcyBpbiB0aGUgZW52 aXJvbm1lbnQsIGRvbid0IGZhaWwgaWYgY29ycmVzcG9uZGluZyBta29mZmxvYWQKLQljYW4ndCBi ZSBmb3VuZC4KLQkoY29tcGlsZV9pbWFnZXNfZm9yX29mZmxvYWRfdGFyZ2V0cyk6IExpa2V3aXNl LiAgRnJlZSBhbmQgY2xlYXIKLQlvZmZsb2FkX25hbWVzIGlmIG5vIHZhbGlkIG9mZmxvYWQgaXMg Zm91bmQuCi1saWJnb21wLwotCSogdGFyZ2V0LmMgKGdvbXBfbG9hZF9wbHVnaW5fZm9yX2Rldmlj ZSk6IElmIGEgcGx1Z2luIGNhbid0IGJlCi0JZGxvcGVuZWQsIGFzc3VtZSBpdCBoYXMgbm8gZGV2 aWNlcyBzaWxlbnRseS4KLQotLS0tIGdjYy9nY2MuYy5qagkyMDE3LTAxLTE3IDEwOjI4OjQwLjAw MDAwMDAwMCArMDEwMAotKysrIGdjYy9nY2MuYwkyMDE3LTAxLTIwIDE2OjI2OjI5LjY0OTk2Mjkw MiArMDEwMAotQEAgLTMxOSw2ICszMTksMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIgKnNwZWNfaG9z dF9tYWNoaW5lID0gRAotIAotIHN0YXRpYyBjaGFyICpvZmZsb2FkX3RhcmdldHMgPSBOVUxMOwot IAotKy8qIFNldCB0byB0cnVlIGlmIC1mb2ZmbG9hZCBoYXMgbm90IGJlZW4gdXNlZCBhbmQgb2Zm bG9hZF90YXJnZXRzCi0rICAgaXMgc2V0IHRvIHRoZSBjb25maWd1cmVkIGluIGRlZmF1bHQuICAq LwotK3N0YXRpYyBib29sIG9mZmxvYWRfdGFyZ2V0c19kZWZhdWx0OwotKwotIC8qIE5vbnplcm8g aWYgY3Jvc3MtY29tcGlsaW5nLgotICAgIFdoZW4gLWIgaXMgdXNlZCwgdGhlIHZhbHVlIGNvbWVz IGZyb20gdGhlIGBzcGVjcycgZmlsZS4gICovCi0gCi1AQCAtNDgyOCw3ICs0ODMyLDEwIEBAIHBy b2Nlc3NfY29tbWFuZCAodW5zaWduZWQgaW50IGRlY29kZWRfb3AKLSAgIC8qIElmIHRoZSB1c2Vy IGRpZG4ndCBzcGVjaWZ5IGFueSwgZGVmYXVsdCB0byBhbGwgY29uZmlndXJlZCBvZmZsb2FkCi0g ICAgICB0YXJnZXRzLiAgKi8KLSAgIGlmIChFTkFCTEVfT0ZGTE9BRElORyAmJiBvZmZsb2FkX3Rh cmdldHMgPT0gTlVMTCkKLS0gICAgaGFuZGxlX2ZvZmZsb2FkX29wdGlvbiAoT0ZGTE9BRF9UQVJH RVRTKTsKLSsgICAgewotKyAgICAgIGhhbmRsZV9mb2ZmbG9hZF9vcHRpb24gKE9GRkxPQURfVEFS R0VUUyk7Ci0rICAgICAgb2ZmbG9hZF90YXJnZXRzX2RlZmF1bHQgPSB0cnVlOwotKyAgICB9Ci0g Ci0gICAvKiBIYW5kbGUgLWd0b2dnbGUgYXMgaXQgd291bGQgbGF0ZXIgaW4gdG9wbGV2LmM6cHJv Y2Vzc19vcHRpb25zIHRvCi0gICAgICBtYWtlIHRoZSBkZWJ1Zy1sZXZlbC1ndCBzcGVjIGZ1bmN0 aW9uIHdvcmsgYXMgZXhwZWN0ZWQuICAqLwotQEAgLTg0OTQsNiArODUwMSw4IEBAIGRyaXZlcjo6 bWF5YmVfcHV0ZW52X09GRkxPQURfVEFSR0VUUyAoKQotICAgICAgIG9ic3RhY2tfZ3JvdyAoJmNv bGxlY3Rfb2JzdGFjaywgb2ZmbG9hZF90YXJnZXRzLAotIAkJICAgIHN0cmxlbiAob2ZmbG9hZF90 YXJnZXRzKSArIDEpOwotICAgICAgIHhwdXRlbnYgKFhPQkZJTklTSCAoJmNvbGxlY3Rfb2JzdGFj aywgY2hhciAqKSk7Ci0rICAgICAgaWYgKG9mZmxvYWRfdGFyZ2V0c19kZWZhdWx0KQotKwl4cHV0 ZW52ICgiT0ZGTE9BRF9UQVJHRVRfREVGQVVMVD0xIik7Ci0gICAgIH0KLSAKLSAgIGZyZWUgKG9m ZmxvYWRfdGFyZ2V0cyk7Ci0tLS0gZ2NjL2x0by13cmFwcGVyLmMuamoJMjAxNy0wMS0wMSAxMjo0 NTozNC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvbHRvLXdyYXBwZXIuYwkyMDE3LTAxLTIwIDE2 OjM0OjE4LjI5NDAxNjk5NyArMDEwMAotQEAgLTUyLDYgKzUyLDcgQEAgYWxvbmcgd2l0aCBHQ0M7 IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KLSAvKiBFbnZpcm9ubWVudCB2YXJpYWJsZSwgdXNlZCBm b3IgcGFzc2luZyB0aGUgbmFtZXMgb2Ygb2ZmbG9hZCB0YXJnZXRzIGZyb20gR0NDCi0gICAgZHJp dmVyIHRvIGx0by13cmFwcGVyLiAgKi8KLSAjZGVmaW5lIE9GRkxPQURfVEFSR0VUX05BTUVTX0VO VgkiT0ZGTE9BRF9UQVJHRVRfTkFNRVMiCi0rI2RlZmluZSBPRkZMT0FEX1RBUkdFVF9ERUZBVUxU X0VOVgkiT0ZGTE9BRF9UQVJHRVRfREVGQVVMVCIKLSAKLSAvKiBCeSBkZWZhdWx0IHRoZXJlIGlz IG5vIHNwZWNpYWwgc3VmZml4IGZvciB0YXJnZXQgZXhlY3V0YWJsZXMuICAqLwotICNpZmRlZiBU QVJHRVRfRVhFQ1VUQUJMRV9TVUZGSVgKLUBAIC05MDYsNiArOTA3LDEyIEBAIGNvbXBpbGVfb2Zm bG9hZF9pbWFnZSAoY29uc3QgY2hhciAqdGFyZ2UKLSAJYnJlYWs7Ci0gICAgICAgfQotIAotKyAg aWYgKCFjb21waWxlciAmJiBnZXRlbnYgKE9GRkxPQURfVEFSR0VUX0RFRkFVTFRfRU5WKSkKLSsg ICAgewotKyAgICAgIGZyZWVfYXJyYXlfb2ZfcHRycyAoKHZvaWQgKiopIHBhdGhzLCBuX3BhdGhz KTsKLSsgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKwotICAgaWYgKCFjb21waWxlcikKLSAg ICAgZmF0YWxfZXJyb3IgKGlucHV0X2xvY2F0aW9uLAotIAkJICJjb3VsZCBub3QgZmluZCAlcyBp biAlcyAoY29uc2lkZXIgdXNpbmcgJTwtQiU+KSIsCi1AQCAtOTc1LDYgKzk4Miw3IEBAIGNvbXBp bGVfaW1hZ2VzX2Zvcl9vZmZsb2FkX3RhcmdldHMgKHVuc2kKLSAgIGlmICghdGFyZ2V0X25hbWVz KQotICAgICByZXR1cm47Ci0gICB1bnNpZ25lZCBudW1fdGFyZ2V0cyA9IHBhcnNlX2Vudl92YXIg KHRhcmdldF9uYW1lcywgJm5hbWVzLCBOVUxMKTsKLSsgIGludCBuZXh0X25hbWVfZW50cnkgPSAw OwotIAotICAgY29uc3QgY2hhciAqY29tcGlsZXJfcGF0aCA9IGdldGVudiAoIkNPTVBJTEVSX1BB VEgiKTsKLSAgIGlmICghY29tcGlsZXJfcGF0aCkKLUBAIC05ODUsMTMgKzk5MywxOSBAQCBjb21w aWxlX2ltYWdlc19mb3Jfb2ZmbG9hZF90YXJnZXRzICh1bnNpCi0gICBvZmZsb2FkX25hbWVzID0g WENORVdWRUMgKGNoYXIgKiwgbnVtX3RhcmdldHMgKyAxKTsKLSAgIGZvciAodW5zaWduZWQgaSA9 IDA7IGkgPCBudW1fdGFyZ2V0czsgaSsrKQotICAgICB7Ci0tICAgICAgb2ZmbG9hZF9uYW1lc1tp XQotKyAgICAgIG9mZmxvYWRfbmFtZXNbbmV4dF9uYW1lX2VudHJ5XQotIAk9IGNvbXBpbGVfb2Zm bG9hZF9pbWFnZSAobmFtZXNbaV0sIGNvbXBpbGVyX3BhdGgsIGluX2FyZ2MsIGluX2FyZ3YsCi0g CQkJCSBjb21waWxlcl9vcHRzLCBjb21waWxlcl9vcHRfY291bnQsCi0gCQkJCSBsaW5rZXJfb3B0 cywgbGlua2VyX29wdF9jb3VudCk7Ci0tICAgICAgaWYgKCFvZmZsb2FkX25hbWVzW2ldKQotLQlm YXRhbF9lcnJvciAoaW5wdXRfbG9jYXRpb24sCi0tCQkgICAgICJwcm9ibGVtIHdpdGggYnVpbGRp bmcgdGFyZ2V0IGltYWdlIGZvciAlcyIsIG5hbWVzW2ldKTsKLSsgICAgICBpZiAoIW9mZmxvYWRf bmFtZXNbbmV4dF9uYW1lX2VudHJ5XSkKLSsJY29udGludWU7Ci0rICAgICAgbmV4dF9uYW1lX2Vu dHJ5Kys7Ci0rICAgIH0KLSsKLSsgIGlmIChuZXh0X25hbWVfZW50cnkgPT0gMCkKLSsgICAgewot KyAgICAgIGZyZWUgKG9mZmxvYWRfbmFtZXMpOwotKyAgICAgIG9mZmxvYWRfbmFtZXMgPSBOVUxM OwotICAgICB9Ci0gCi0gIG91dDoKLS0tLSBsaWJnb21wL3RhcmdldC5jLmpqCTIwMTctMDEtMDEg MTI6NDU6NTIuMDAwMDAwMDAwICswMTAwCi0rKysgbGliZ29tcC90YXJnZXQuYwkyMDE3LTAxLTIw IDIwOjEyOjEzLjc1NjcxMDg3NSArMDEwMAotQEAgLTIzNTYsNyArMjM1Niw3IEBAIGdvbXBfbG9h ZF9wbHVnaW5fZm9yX2RldmljZSAoc3RydWN0IGdvbXAKLSAKLSAgIHZvaWQgKnBsdWdpbl9oYW5k bGUgPSBkbG9wZW4gKHBsdWdpbl9uYW1lLCBSVExEX0xBWlkpOwotICAgaWYgKCFwbHVnaW5faGFu ZGxlKQotLSAgICBnb3RvIGRsX2ZhaWw7Ci0rICAgIHJldHVybiAwOwotIAotICAgLyogQ2hlY2sg aWYgYWxsIHJlcXVpcmVkIGZ1bmN0aW9ucyBhcmUgYXZhaWxhYmxlIGluIHRoZSBwbHVnaW4gYW5k IHN0b3JlCi0gICAgICB0aGVpciBoYW5kbGVycy4gIE5vbmUgb2YgdGhlIHN5bWJvbHMgY2FuIGxl Z2l0aW1hdGVseSBiZSBOVUxMLAoKZGlmZiAtLWdpdCBhL2djYzExLWZvcnRyYW4tZmRlYy1hZGQt bWlzc2luZy1pbmRleGVzLnBhdGNoIGIvZ2NjMTEtZm9ydHJhbi1mZGVjLWFkZC1taXNzaW5nLWlu ZGV4ZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MDdiOTQuLjAwMDAw MDAKLS0tIGEvZ2NjMTEtZm9ydHJhbi1mZGVjLWFkZC1taXNzaW5nLWluZGV4ZXMucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwxODEgKzAsMCBAQAotRnJvbSA3MDAxZDUyMmQwMjczNjU4ZDllMWZi MTJjYTEwNGQ1NmJmY2FlMzRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFyayBF Z2dsZXN0b24gPG1hcmtlZ2dsZXN0b25AZ2NjLmdudS5vcmc+Ci1EYXRlOiBGcmksIDIyIEphbiAy MDIxIDE1OjA2OjA4ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvMTBdIEZpbGwgaW4gbWlzc2lu ZyBhcnJheSBkaW1lbnNpb25zIHVzaW5nIHRoZSBsb3dlciBib3VuZAotCi1Vc2UgLWZkZWMtYWRk LW1pc3NpbmctaW5kZXhlcyB0byBlbmFibGUgZmVhdHVyZS4gQWxzbyBlbmFibGVkIGJ5IGZkZWMu Ci0tLS0KLSBnY2MvZm9ydHJhbi9sYW5nLm9wdCAgICAgICAgICAgICAgICAgIHwgIDggKysrKysr KysKLSBnY2MvZm9ydHJhbi9vcHRpb25zLmMgICAgICAgICAgICAgICAgIHwgIDEgKwotIGdjYy9m b3J0cmFuL3Jlc29sdmUuYyAgICAgICAgICAgICAgICAgfCAyNCArKysrKysrKysrKysrKysrKysr KysrKysKLSBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzYuZjkwIHwgMjMgKysrKysr KysrKysrKysrKysrKysrKysKLSBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzcuZjkw IHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKLSBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2FycmF5XzguZjkwIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKLSA2IGZpbGVzIGNoYW5n ZWQsIDEwMiBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvYXJyYXlfNi5mOTAKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9hcnJheV83LmY5MAotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2FycmF5XzguZjkwCi0KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9s YW5nLm9wdCBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1pbmRleCAwMTljNzk4Y2YwOS4uZjI3ZGU4 OGVhM2YgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9sYW5nLm9wdAotKysrIGIvZ2NjL2ZvcnRy YW4vbGFuZy5vcHQKLUBAIC0yODEsNiArMjgxLDEwIEBAIFdtaXNzaW5nLWluY2x1ZGUtZGlycwot IEZvcnRyYW4KLSA7IERvY3VtZW50ZWQgaW4gQy9DKysKLSAKLStXbWlzc2luZy1pbmRleAotK0Zv cnRyYW4gVmFyKHdhcm5fbWlzc2luZ19pbmRleCkgV2FybmluZyBMYW5nRW5hYmxlZEJ5KEZvcnRy YW4sV2FsbCkKLStXYXJuIHRoYXQgdGhlIGxvd2VyIGJvdW5kIG9mIGEgbWlzc2luZyBpbmRleCB3 aWxsIGJlIHVzZWQuCi0rCi0gV3VzZS13aXRob3V0LW9ubHkKLSBGb3J0cmFuIFZhcih3YXJuX3Vz ZV93aXRob3V0X29ubHkpIFdhcm5pbmcKLSBXYXJuIGFib3V0IFVTRSBzdGF0ZW1lbnRzIHRoYXQg aGF2ZSBubyBPTkxZIHF1YWxpZmllci4KLUBAIC00NjAsNiArNDY0LDEwIEBAIGZkZWMKLSBGb3J0 cmFuIFZhcihmbGFnX2RlYykKLSBFbmFibGUgYWxsIERFQyBsYW5ndWFnZSBleHRlbnNpb25zLgot IAotK2ZkZWMtYWRkLW1pc3NpbmctaW5kZXhlcwotK0ZvcnRyYW4gVmFyKGZsYWdfZGVjX2FkZF9t aXNzaW5nX2luZGV4ZXMpCi0rRW5hYmxlIHRoZSBhZGRpdGlvbiBvZiBtaXNzaW5nIGluZGV4ZXMg dXNpbmcgdGhlaXIgbG93ZXIgYm91bmRzLgotKwotIGZkZWMtYmxhbmstZm9ybWF0LWl0ZW0KLSBG b3J0cmFuIFZhcihmbGFnX2RlY19ibGFua19mb3JtYXRfaXRlbSkKLSBFbmFibGUgdGhlIHVzZSBv ZiBibGFuayBmb3JtYXQgaXRlbXMgaW4gZm9ybWF0IHN0cmluZ3MuCi1kaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vb3B0aW9ucy5jIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi1pbmRleCAwNTBmNTZm ZGMyNS4uYzNiMjgyMjY4NWQgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMKLSsr KyBiL2djYy9mb3J0cmFuL29wdGlvbnMuYwotQEAgLTg0LDYgKzg0LDcgQEAgc2V0X2RlY19mbGFn cyAoaW50IHZhbHVlKQotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX25vbl9sb2dpY2FsX2lmLCB2 YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX3Byb21vdGlvbiwgdmFsdWUs IHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19zZXF1ZW5jZSwgdmFsdWUsIHZhbHVl KTsKLSsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19hZGRfbWlzc2luZ19pbmRleGVzLCB2YWx1ZSwg dmFsdWUpOwotIH0KLSAKLSAvKiBGaW5hbGl6ZSBERUMgZmxhZ3MuICAqLwotZGlmZiAtLWdpdCBh L2djYy9mb3J0cmFuL3Jlc29sdmUuYyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuYwotaW5kZXggZmU3 ZDBjYzU5NDQuLjBlZmVlZGFiNDZlIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5j Ci0rKysgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKLUBAIC00ODA2LDYgKzQ4MDYsMzAgQEAgY29t cGFyZV9zcGVjX3RvX3JlZiAoZ2ZjX2FycmF5X3JlZiAqYXIpCi0gICBpZiAoYXItPnR5cGUgPT0g QVJfRlVMTCkKLSAgICAgcmV0dXJuIHRydWU7Ci0gCi0rICBpZiAoZmxhZ19kZWNfYWRkX21pc3Np bmdfaW5kZXhlcyAmJiBhcy0+cmFuayA+IGFyLT5kaW1lbikKLSsgICAgewotKyAgICAgIC8qIEFk ZCBpbiB0aGUgbWlzc2luZyBkaW1lbnNpb25zLCBhc3N1bWluZyB0aGV5IGFyZSB0aGUgbG93ZXIg Ym91bmQKLSsJIG9mIHRoYXQgZGltZW5zaW9uIGlmIG5vdCBzcGVjaWZpZWQuICAqLwotKyAgICAg IGludCBqOwotKyAgICAgIGlmICh3YXJuX21pc3NpbmdfaW5kZXgpCi0rCXsKLSsJICBnZmNfd2Fy bmluZyAoT1BUX1dtaXNzaW5nX2luZGV4LCAiVXNpbmcgdGhlIGxvd2VyIGJvdW5kIGZvciAiCi0r CQkgICAgICAgInVuc3BlY2lmaWVkIGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIGF0ICVM IiwKLSsJCSAgICAgICAmYXItPndoZXJlKTsKLSsJfQotKyAgICAgIC8qIE90aGVyIHBhcnRzIG9m IHRoZSBjb2RlIGl0ZXJhdGUgYXItPnN0YXJ0IGFuZCBhci0+ZW5kIGZyb20gMCB0bwotKwkgYXIt PmRpbWVuLCBzbyBpdCBpcyBzYWZlIHRvIGFzc3VtZSBzbG90cyBmcm9tIGFyLT5kaW1lbiB1cHdh cmRzCi0rCSBhcmUgdW51c2VkIChpLmUuIHRoZXJlIGFyZSBubyBnYXBzOyB0aGUgc3BlY2lmaWVk IGluZGV4ZXMgYXJlCi0rCSBjb250aWd1b3VzIGFuZCBzdGFydCBhdCB6ZXJvLiAgKi8KLSsgICAg ICBmb3IoaiA9IGFyLT5kaW1lbjsgaiA8PSBhcy0+cmFuazsgaisrKQotKwl7Ci0rCSAgYXItPnN0 YXJ0W2pdID0gZ2ZjX2NvcHlfZXhwciAoYXMtPmxvd2VyW2pdKTsKLSsJICBhci0+ZW5kW2pdICAg PSBnZmNfY29weV9leHByIChhcy0+bG93ZXJbal0pOwotKwkgIGFyLT5kaW1lbl90eXBlW2pdID0g RElNRU5fRUxFTUVOVDsKLSsJfQotKyAgICAgIGFyLT5kaW1lbiA9IGFzLT5yYW5rOwotKyAgICB9 Ci0rCi0gICBpZiAoYXMtPnJhbmsgIT0gYXItPmRpbWVuKQotICAgICB7Ci0gICAgICAgZ2ZjX2Vy cm9yICgiUmFuayBtaXNtYXRjaCBpbiBhcnJheSByZWZlcmVuY2UgYXQgJUwgKCVkLyVkKSIsCi1k aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV82LmY5MCBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXJyYXlfNi5mOTAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1p bmRleCAwMDAwMDAwMDAwMC4uNWMyNmUxOGFiM2UKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXJyYXlfNi5mOTAKLUBAIC0wLDAgKzEsMjMgQEAKLSshIHsg ZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMgLVdtaXNzaW5nLWluZGV4IiB9IQot KyEgQ2hlY2tzIHRoYXQgdW5kZXItc3BlY2lmaWVkIGFycmF5cyAocmVmZXJlbmNpbmcgYXJyYXlz IHdpdGggZmV3ZXIKLSshIGRpbWVuc2lvbnMgdGhhbiB0aGUgYXJyYXkgc3BlYykgZ2VuZXJhdGVz IGEgd2FybmluZy4KLSshCi0rISBDb250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0ubWFj YXJ0aHVyQGNvZGV0aGluay5jby51az4KLSshIFVwZGF0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1h cmsuZWdnbGVzdG9uQGNvZGV0aGluay5jby51az4KLSshCi0rCi0rcHJvZ3JhbSB1bmRlcl9zcGVj aWZpZWRfYXJyYXkKLSsgICAgaW50ZWdlciBjaGVzc2JvYXJkKDgsOCkKLSsgICAgaW50ZWdlciBj aGVzc2JvYXJkM2QoOCw4LDM6NSkKLSsgICAgY2hlc3Nib2FyZCgzLDEpID0gNQotKyAgICBjaGVz c2JvYXJkKDMsMikgPSA1NQotKyAgICBjaGVzc2JvYXJkM2QoNCwxLDMpID0gNgotKyAgICBjaGVz c2JvYXJkM2QoNCwxLDQpID0gNjYKLSsgICAgY2hlc3Nib2FyZDNkKDQsNCwzKSA9IDcKLSsgICAg Y2hlc3Nib2FyZDNkKDQsNCw0KSA9IDc3Ci0rICAKLSsgICAgaWYgKGNoZXNzYm9hcmQoMykubmUu NSkgc3RvcCAxICAhIHsgZGctd2FybmluZyAiVXNpbmcgdGhlIGxvd2VyIGJvdW5kIGZvciB1bnNw ZWNpZmllZCBkaW1lbnNpb25zIGluIGFycmF5IHJlZmVyZW5jZSIgfQotKyAgICBpZiAoY2hlc3Ni b2FyZDNkKDQpLm5lLjYpIHN0b3AgMiAgISB7IGRnLXdhcm5pbmcgIlVzaW5nIHRoZSBsb3dlciBi b3VuZCBmb3IgdW5zcGVjaWZpZWQgZGltZW5zaW9ucyBpbiBhcnJheSByZWZlcmVuY2UiIH0KLSsg ICAgaWYgKGNoZXNzYm9hcmQzZCg0LDQpLm5lLjcpIHN0b3AgMyAgISB7IGRnLXdhcm5pbmcgIlVz aW5nIHRoZSBsb3dlciBib3VuZCBmb3IgdW5zcGVjaWZpZWQgZGltZW5zaW9ucyBpbiBhcnJheSBy ZWZlcmVuY2UiIH0KLStlbmQgcHJvZ3JhbQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvYXJyYXlfNy5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5Xzcu ZjkwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjU1ODhhNWJkMDJk Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5Xzcu ZjkwCi1AQCAtMCwwICsxLDIzIEBACi0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMg Ii1mZGVjLWFkZC1taXNzaW5nLWluZGV4ZXMgLVdtaXNzaW5nLWluZGV4IiB9IQotKyEgQ2hlY2tz IHRoYXQgdW5kZXItc3BlY2lmaWVkIGFycmF5cyAocmVmZXJlbmNpbmcgYXJyYXlzIHdpdGggZmV3 ZXIKLSshIGRpbWVuc2lvbnMgdGhhbiB0aGUgYXJyYXkgc3BlYykgZ2VuZXJhdGVzIGEgd2Fybmlu Zy4KLSshCi0rISBDb250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0ubWFjYXJ0aHVyQGNv ZGV0aGluay5jby51az4KLSshIFVwZGF0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVz dG9uQGNvZGV0aGluay5jby51az4KLSshCi0rCi0rcHJvZ3JhbSB1bmRlcl9zcGVjaWZpZWRfYXJy YXkKLSsgICAgaW50ZWdlciBjaGVzc2JvYXJkKDgsOCkKLSsgICAgaW50ZWdlciBjaGVzc2JvYXJk M2QoOCw4LDM6NSkKLSsgICAgY2hlc3Nib2FyZCgzLDEpID0gNQotKyAgICBjaGVzc2JvYXJkKDMs MikgPSA1NQotKyAgICBjaGVzc2JvYXJkM2QoNCwxLDMpID0gNgotKyAgICBjaGVzc2JvYXJkM2Qo NCwxLDQpID0gNjYKLSsgICAgY2hlc3Nib2FyZDNkKDQsNCwzKSA9IDcKLSsgICAgY2hlc3Nib2Fy ZDNkKDQsNCw0KSA9IDc3Ci0rICAKLSsgICAgaWYgKGNoZXNzYm9hcmQoMykubmUuNSkgc3RvcCAx ICAhIHsgZGctd2FybmluZyAiVXNpbmcgdGhlIGxvd2VyIGJvdW5kIGZvciB1bnNwZWNpZmllZCBk aW1lbnNpb25zIGluIGFycmF5IHJlZmVyZW5jZSIgfQotKyAgICBpZiAoY2hlc3Nib2FyZDNkKDQp Lm5lLjYpIHN0b3AgMiAgISB7IGRnLXdhcm5pbmcgIlVzaW5nIHRoZSBsb3dlciBib3VuZCBmb3Ig dW5zcGVjaWZpZWQgZGltZW5zaW9ucyBpbiBhcnJheSByZWZlcmVuY2UiIH0KLSsgICAgaWYgKGNo ZXNzYm9hcmQzZCg0LDQpLm5lLjcpIHN0b3AgMyAgISB7IGRnLXdhcm5pbmcgIlVzaW5nIHRoZSBs b3dlciBib3VuZCBmb3IgdW5zcGVjaWZpZWQgZGltZW5zaW9ucyBpbiBhcnJheSByZWZlcmVuY2Ui IH0KLStlbmQgcHJvZ3JhbQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv YXJyYXlfOC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzguZjkwCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmYwZDJlZjVlMzdkCi0tLS0gL2Rl di9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5XzguZjkwCi1AQCAt MCwwICsxLDIzIEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEgeyBkZy1vcHRpb25zICItZmRl YyAtZm5vLWRlYy1hZGQtbWlzc2luZy1pbmRleGVzIiB9IQotKyEgQ2hlY2tzIHRoYXQgdW5kZXIt c3BlY2lmaWVkIGFycmF5cyAocmVmZXJlbmNpbmcgYXJyYXlzIHdpdGggZmV3ZXIKLSshIGRpbWVu c2lvbnMgdGhhbiB0aGUgYXJyYXkgc3BlYykgZ2VuZXJhdGVzIGEgd2FybmluZy4KLSshCi0rISBD b250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0ubWFjYXJ0aHVyQGNvZGV0aGluay5jby51 az4KLSshIFVwZGF0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGlu ay5jby51az4KLSshCi0rCi0rcHJvZ3JhbSB1bmRlcl9zcGVjaWZpZWRfYXJyYXkKLSsgICAgaW50 ZWdlciBjaGVzc2JvYXJkKDgsOCkKLSsgICAgaW50ZWdlciBjaGVzc2JvYXJkM2QoOCw4LDM6NSkK LSsgICAgY2hlc3Nib2FyZCgzLDEpID0gNQotKyAgICBjaGVzc2JvYXJkKDMsMikgPSA1NQotKyAg ICBjaGVzc2JvYXJkM2QoNCwxLDMpID0gNgotKyAgICBjaGVzc2JvYXJkM2QoNCwxLDQpID0gNjYK LSsgICAgY2hlc3Nib2FyZDNkKDQsNCwzKSA9IDcKLSsgICAgY2hlc3Nib2FyZDNkKDQsNCw0KSA9 IDc3Ci0rICAKLSsgICAgaWYgKGNoZXNzYm9hcmQoMykubmUuNSkgc3RvcCAxICAhIHsgZGctZXJy b3IgIlJhbmsgbWlzbWF0Y2giIH0KLSsgICAgaWYgKGNoZXNzYm9hcmQzZCg0KS5uZS42KSBzdG9w IDIgICEgeyBkZy1lcnJvciAiUmFuayBtaXNtYXRjaCIgfQotKyAgICBpZiAoY2hlc3Nib2FyZDNk KDQsNCkubmUuNykgc3RvcCAzICAhIHsgZGctZXJyb3IgIlJhbmsgbWlzbWF0Y2giIH0KLStlbmQg cHJvZ3JhbQotLS0gCi0yLjI3LjAKLQoKZGlmZiAtLWdpdCBhL2djYzExLWZvcnRyYW4tZmRlYy1k dXBsaWNhdGVzLnBhdGNoIGIvZ2NjMTEtZm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXMucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1ZDExMDQuLjAwMDAwMDAKLS0tIGEvZ2NjMTEt Zm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMTUgKzAs MCBAQAotRnJvbSAyM2IxZmNiMTA0YzY2NjQyOTQ1MWZmYWY5MzZmOGRhNWZjZDNkNDNhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFyayBFZ2dsZXN0b24gPG1hcmtlZ2dsZXN0b25A Z2NjLmdudS5vcmc+Ci1EYXRlOiBGcmksIDIyIEphbiAyMDIxIDEyOjI5OjQ3ICswMDAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDEvMTBdIEFsbG93IGR1cGxpY2F0ZSBkZWNsYXJhdGlvbnMuCi0KLUVuYWJs ZWQgYnkgLWZkZWMtZHVwbGljYXRlcyBhbmQgLWZkZWMuCi0KLVNvbWUgZml4ZXMgYnkgSmltIE1h Y0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci1BZGRpdGlvbiBvZiAtZmRl Yy1kdXBsaWNhdGVzIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsu Y29tPgotLS0tCi0gZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDQgKysrKwotIGdjYy9mb3J0cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAxICsKLSBnY2MvZm9ydHJhbi9zeW1ib2wuYyAgICAgICAgICAgICAgICAgICAgICAgICAg fCAyMSArKysrKysrKysrKysrKysrKy0tCi0gLi4uL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBl XzQuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCi0gLi4uL2dmb3J0cmFuLmRnL2R1cGxp Y2F0ZV90eXBlXzUuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCi0gLi4uL2dmb3J0cmFu LmRnL2R1cGxpY2F0ZV90eXBlXzYuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCi0gLi4u L2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzcuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysr KysrCi0gLi4uL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzguZjkwICAgICAgICAgIHwgMTIg KysrKysrKysrKysKLSAuLi4vZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOS5mOTAgICAgICAg ICAgfCAxMiArKysrKysrKysrKwotIDkgZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZHVwbGljYXRlX3R5cGVfNC5mOTAKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5MAotIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzYuZjkwCi0gY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNy5m OTAKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNh dGVfdHlwZV84LmY5MAotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2R1cGxpY2F0ZV90eXBlXzkuZjkwCi0KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9sYW5n Lm9wdCBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1pbmRleCAyYjE5NzdjNTIzYi4uNTJiZDUyMjA1 MWUgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9sYW5nLm9wdAotKysrIGIvZ2NjL2ZvcnRyYW4v bGFuZy5vcHQKLUBAIC00NjksNiArNDY5LDEwIEBAIEZvcnRyYW4gVmFyKGZsYWdfZGVjX2NoYXJf Y29udmVyc2lvbnMpCi0gRW5hYmxlIHRoZSB1c2Ugb2YgY2hhcmFjdGVyIGxpdGVyYWxzIGluIGFz c2lnbm1lbnRzIGFuZCBkYXRhIHN0YXRlbWVudHMKLSBmb3Igbm9uLWNoYXJhY3RlciB2YXJpYWJs ZXMuCi0gCi0rZmRlYy1kdXBsaWNhdGVzCi0rRm9ydHJhbiBWYXIoZmxhZ19kZWNfZHVwbGljYXRl cykKLStBbGxvdyB2YXJpYmxlcyB0byBiZSBkdXBsaWNhdGVkIGluIHRoZSB0eXBlIHNwZWNpZmlj YXRpb24gbWF0Y2hlcy4KLSsKLSBmZGVjLWluY2x1ZGUKLSBGb3J0cmFuIFZhcihmbGFnX2RlY19p bmNsdWRlKQotIEVuYWJsZSBsZWdhY3kgcGFyc2luZyBvZiBJTkNMVURFIGFzIHN0YXRlbWVudC4K LWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMgYi9nY2MvZm9ydHJhbi9vcHRpb25z LmMKLWluZGV4IDNhMGI5OGJmMWVjLi5mMTliYTg3ZjhhMCAxMDA2NDQKLS0tLSBhL2djYy9mb3J0 cmFuL29wdGlvbnMuYwotKysrIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi1AQCAtNzcsNiArNzcs NyBAQCBzZXRfZGVjX2ZsYWdzIChpbnQgdmFsdWUpCi0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNf Zm9ybWF0X2RlZmF1bHRzLCB2YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVj X2JsYW5rX2Zvcm1hdF9pdGVtLCB2YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJVEZMQUcgKGZsYWdf ZGVjX2NoYXJfY29udmVyc2lvbnMsIHZhbHVlLCB2YWx1ZSk7Ci0rICBTRVRfQklURkxBRyAoZmxh Z19kZWNfZHVwbGljYXRlcywgdmFsdWUsIHZhbHVlKTsKLSB9Ci0gCi0gLyogRmluYWxpemUgREVD IGZsYWdzLiAgKi8KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9zeW1ib2wuYyBiL2djYy9mb3J0 cmFuL3N5bWJvbC5jCi1pbmRleCAzYjk4OGQxYmUyMi4uOTg0MzE3NWNjMmEgMTAwNjQ0Ci0tLS0g YS9nY2MvZm9ydHJhbi9zeW1ib2wuYwotKysrIGIvZ2NjL2ZvcnRyYW4vc3ltYm9sLmMKLUBAIC0x OTk1LDYgKzE5OTUsOCBAQCBnZmNfYWRkX3R5cGUgKGdmY19zeW1ib2wgKnN5bSwgZ2ZjX3R5cGVz cGVjICp0cywgbG9jdXMgKndoZXJlKQotICAgaWYgKHN5bS0+YXR0ci5yZXN1bHQgJiYgdHlwZSA9 PSBCVF9VTktOT1dOICYmIHN5bS0+bnMtPnByb2NfbmFtZSkKLSAgICAgdHlwZSA9IHN5bS0+bnMt PnByb2NfbmFtZS0+dHMudHlwZTsKLSAKLSsgIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7Ci0r Ci0gICBpZiAodHlwZSAhPSBCVF9VTktOT1dOICYmICEoc3ltLT5hdHRyLmZ1bmN0aW9uICYmIHN5 bS0+YXR0ci5pbXBsaWNpdF90eXBlKQotICAgICAgICYmICEoZ2ZjX3N0YXRlX3N0YWNrLT5wcmV2 aW91cyAmJiBnZmNfc3RhdGVfc3RhY2stPnByZXZpb3VzLT5wcmV2aW91cwotIAkgICAmJiBnZmNf c3RhdGVfc3RhY2stPnByZXZpb3VzLT5wcmV2aW91cy0+c3RhdGUgPT0gQ09NUF9TVUJNT0RVTEUp Ci1AQCAtMjAwNyw2ICsyMDA5LDIzIEBAIGdmY19hZGRfdHlwZSAoZ2ZjX3N5bWJvbCAqc3ltLCBn ZmNfdHlwZXNwZWMgKnRzLCBsb2N1cyAqd2hlcmUpCi0gICAgICAgZWxzZSBpZiAoc3ltLT5hdHRy LmZ1bmN0aW9uICYmIHN5bS0+YXR0ci5yZXN1bHQpCi0gCWdmY19lcnJvciAoIlN5bWJvbCAlcXMg YXQgJUwgYWxyZWFkeSBoYXMgYmFzaWMgdHlwZSBvZiAlcyIsCi0gCQkgICBzeW0tPm5zLT5wcm9j X25hbWUtPm5hbWUsIHdoZXJlLCBnZmNfYmFzaWNfdHlwZW5hbWUgKHR5cGUpKTsKLSsgICAgICBl bHNlIGlmIChmbGFnX2RlY19kdXBsaWNhdGVzKQotKwl7Ci0rCSAgLyogSWdub3JlIHRlbXBvcmFy aWVzIGFuZCBjbGFzcy9wcm9jZWR1cmUgbmFtZXMgKi8KLSsJICBpZiAoc3ltLT50cy50eXBlID09 IEJUX0RFUklWRUQgfHwgc3ltLT50cy50eXBlID09IEJUX0NMQVNTCi0rCSAgICAgIHx8IHN5bS0+ dHMudHlwZSA9PSBCVF9QUk9DRURVUkUpCi0rCSAgICByZXR1cm4gZmFsc2U7Ci0rCi0rCSAgaWYg KGdmY19jb21wYXJlX3R5cGVzICgmc3ltLT50cywgdHMpCi0rCSAgICAgICYmIChmbGF2b3IgPT0g RkxfVU5LTk9XTiB8fCBmbGF2b3IgPT0gRkxfVkFSSUFCTEUKLSsJICAgICAgfHwgZmxhdm9yID09 IEZMX1BST0NFRFVSRSkpCi0rCSAgICB7Ci0rCSAgICAgIHJldHVybiBnZmNfbm90aWZ5X3N0ZCAo R0ZDX1NURF9MRUdBQ1ksCi0rCQkJCSAgICAgIlN5bWJvbCAnJXFzJyBhdCAlTCBhbHJlYWR5IGhh cyAiCi0rCQkJCSAgICAgImJhc2ljIHR5cGUgb2YgJXMiLCBzeW0tPm5hbWUsIHdoZXJlLAotKwkJ CQkgICAgIGdmY19iYXNpY190eXBlbmFtZSAodHlwZSkpOwotKwkgICAgfQotKwl9Ci0gICAgICAg ZWxzZQotIAlnZmNfZXJyb3IgKCJTeW1ib2wgJXFzIGF0ICVMIGFscmVhZHkgaGFzIGJhc2ljIHR5 cGUgb2YgJXMiLCBzeW0tPm5hbWUsCi0gCQkgICB3aGVyZSwgZ2ZjX2Jhc2ljX3R5cGVuYW1lICh0 eXBlKSk7Ci1AQCAtMjAyMCw4ICsyMDM5LDYgQEAgZ2ZjX2FkZF90eXBlIChnZmNfc3ltYm9sICpz eW0sIGdmY190eXBlc3BlYyAqdHMsIGxvY3VzICp3aGVyZSkKLSAgICAgICByZXR1cm4gZmFsc2U7 Ci0gICAgIH0KLSAKLS0gIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7Ci0tCi0gICBpZiAoZmxh dm9yID09IEZMX1BST0dSQU0gfHwgZmxhdm9yID09IEZMX0JMT0NLX0RBVEEgfHwgZmxhdm9yID09 IEZMX01PRFVMRQotICAgICAgIHx8IGZsYXZvciA9PSBGTF9MQUJFTAotICAgICAgIHx8IChmbGF2 b3IgPT0gRkxfUFJPQ0VEVVJFICYmIHN5bS0+YXR0ci5zdWJyb3V0aW5lKQotZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNC5mOTAgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCi1uZXcgZmlsZSBtb2RlIDEw MDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmNkZDI5ZWE4ODQ2Ci0tLS0gL2Rldi9udWxsCi0rKysg Yi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCi1AQCAtMCww ICsxLDEzIEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEgeyBkZy1vcHRpb25zICItc3RkPWY5 NSIgfQotKwotKyEgUFIgZm9ydHJhbi8zMDIzOQotKyEgQ2hlY2sgZm9yIGVycm9ycyB3aGVuIGEg c3ltYm9sIGdldHMgZGVjbGFyZWQgYSB0eXBlIHR3aWNlLCBldmVuIGlmIGl0Ci0rISBpcyB0aGUg c2FtZS4KLSsKLStJTlRFR0VSIEZVTkNUSU9OIGZvbyAoKQotKyAgSU1QTElDSVQgTk9ORQotKyAg SU5URUdFUiA6OiB4Ci0rICBJTlRFR0VSIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9m IiB9Ci0rICB4ID0gNDIKLStFTkQgRlVOQ1RJT04gZm9vCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNS5mOTAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCAwMDAwMDAwMDAwMC4uMDBmOTMxODA5YWEKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNS5mOTAKLUBAIC0wLDAgKzEsMTMgQEAK LSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0 IGNhc2UgY29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0 aGluay5jb20+Ci0rIQotKwotK3Byb2dyYW0gdGVzdAotKyAgaW1wbGljaXQgbm9uZQotKyAgaW50 ZWdlciA6OiB4Ci0rICBpbnRlZ2VyIDo6IHgKLSsgIHggPSA0MgotKyAgaWYgKHggLz0gNDIpIHN0 b3AgMQotK2VuZCBwcm9ncmFtIHRlc3QKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzYuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k dXBsaWNhdGVfdHlwZV82LmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAw MDAwLi5mMGRmMjdlMzIzYwotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kdXBsaWNhdGVfdHlwZV82LmY5MAotQEAgLTAsMCArMSwxMyBAQAotKyEgeyBkZy1k byBydW4gfQotKyEgeyBkZy1vcHRpb25zICItc3RkPWxlZ2FjeSAtZmRlYy1kdXBsaWNhdGVzIiB9 Ci0rIQotKyEgVGVzdCBjYXNlIGNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVn Z2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsKLStwcm9ncmFtIHRlc3QKLSsgIGltcGxpY2l0 IG5vbmUKLSsgIGludGVnZXIgOjogeAotKyAgaW50ZWdlciA6OiB4Ci0rICB4ID0gNDIKLSsgIGlm ICh4IC89IDQyKSBzdG9wIDEKLStlbmQgcHJvZ3JhbSB0ZXN0Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV83LmY5MCBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1p bmRleCAwMDAwMDAwMDAwMC4uZjMyNDcyZmY1ODYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKLUBAIC0wLDAgKzEsMTMg QEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVwbGljYXRlcyIg fQotKyEKLSshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5l Z2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rCi0rcHJvZ3JhbSB0ZXN0Ci0rICBpbXBsaWNp dCBub25lCi0rICBpbnRlZ2VyIDo6IHgKLSsgIGludGVnZXIgOjogeCEgeyBkZy13YXJuaW5nICJM ZWdhY3kgRXh0ZW5zaW9uIiB9Ci0rICB4ID0gNDIKLSsgIGlmICh4IC89IDQyKSBzdG9wIDEKLStl bmQgcHJvZ3JhbSB0ZXN0Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k dXBsaWNhdGVfdHlwZV84LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRl X3R5cGVfOC5mOTAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMjNj OTRhZGQxNzkKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZHVwbGljYXRlX3R5cGVfOC5mOTAKLUBAIC0wLDAgKzEsMTIgQEAKLSshIHsgZGctZG8gY29tcGls ZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLWR1cGxpY2F0ZXMiIH0KLSshCi0r ISBUZXN0IGNhc2UgY29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9u QGNvZGV0aGluay5jb20+Ci0rIQotKwotK2ludGVnZXIgZnVuY3Rpb24gZm9vICgpCi0rICBpbXBs aWNpdCBub25lCi0rICBpbnRlZ2VyIDo6IHgKLSsgIGludGVnZXIgOjogeCAhIHsgZGctZXJyb3Ig ImJhc2ljIHR5cGUgb2YiIH0KLSsgIHggPSA0MgotK2VuZCBmdW5jdGlvbiBmb28KLWRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzkuZjkwIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5kNWVkZWU0ZDhlZQotLS0tIC9kZXYvbnVsbAot KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAotQEAg LTAsMCArMSwxMiBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZk ZWMtZHVwbGljYXRlcyAtZm5vLWRlYy1kdXBsaWNhdGVzIiB9Ci0rIQotKyEgVGVzdCBjYXNlIGNv bnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29t PgotKyEKLSsKLStpbnRlZ2VyIGZ1bmN0aW9uIGZvbyAoKQotKyAgaW1wbGljaXQgbm9uZQotKyAg aW50ZWdlciA6OiB4Ci0rICBpbnRlZ2VyIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9m IiB9Ci0rICB4ID0gNDIKLStlbmQgZnVuY3Rpb24gZm9vCi0tLSAKLTIuMjcuMAotCgpkaWZmIC0t Z2l0IGEvZ2NjMTEtZm9ydHJhbi1mZGVjLWljaGFyLnBhdGNoIGIvZ2NjMTEtZm9ydHJhbi1mZGVj LWljaGFyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlN2IwNTIyLi4wMDAw MDAwCi0tLSBhL2djYzExLWZvcnRyYW4tZmRlYy1pY2hhci5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDc4ICswLDAgQEAKLUZyb20gZjg4M2FjMjA5YjBmZWVhODYwMzU0Y2I0ZWY3ZmYwNmRjODA2 M2ZhYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJr ZWdnbGVzdG9uQGdjYy5nbnUub3JnPgotRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAxMjo1MzozNSAr MDAwMAotU3ViamVjdDogW1BBVENIIDAzLzEwXSBBbGxvdyBtb3JlIHRoYW4gb25lIGNoYXJhY3Rl ciBhcyBhcmd1bWVudCB0byBJQ0hBUgotCi1Vc2UgLWZkZWMgdG8gZW5hYmxlLgotLS0tCi0gZ2Nj L2ZvcnRyYW4vY2hlY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSBnY2Mv Zm9ydHJhbi9zaW1wbGlmeS5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCi0gLi4u L2dmb3J0cmFuLmRnL2RlY19pY2hhcl93aXRoX3N0cmluZ18xLmYgICAgIHwgMjEgKysrKysrKysr KysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNf aWNoYXJfd2l0aF9zdHJpbmdfMS5mCi0KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9jaGVjay5j IGIvZ2NjL2ZvcnRyYW4vY2hlY2suYwotaW5kZXggODJkYjhlNGUxYjIuLjYyM2MxY2M0NzBlIDEw MDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vY2hlY2suYwotKysrIGIvZ2NjL2ZvcnRyYW4vY2hlY2su YwotQEAgLTMxNTcsNyArMzE1Nyw3IEBAIGdmY19jaGVja19pY2hhcl9pYWNoYXIgKGdmY19leHBy ICpjLCBnZmNfZXhwciAqa2luZCkKLSAgIGVsc2UKLSAgICAgcmV0dXJuIHRydWU7Ci0gCi0tICBp ZiAoaSAhPSAxKQotKyAgaWYgKGkgIT0gMSAmJiAhZmxhZ19kZWMpCi0gICAgIHsKLSAgICAgICBn ZmNfZXJyb3IgKCJBcmd1bWVudCBvZiAlcyBhdCAlTCBtdXN0IGJlIG9mIGxlbmd0aCBvbmUiLAot IAkJIGdmY19jdXJyZW50X2ludHJpbnNpYywgJmMtPndoZXJlKTsKLWRpZmYgLS1naXQgYS9nY2Mv Zm9ydHJhbi9zaW1wbGlmeS5jIGIvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYwotaW5kZXggMjMzMTdh MmUyZDkuLjk5MDA1NzI0MjRmIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYwot KysrIGIvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYwotQEAgLTMyNjEsNyArMzI2MSw3IEBAIGdmY19z aW1wbGlmeV9pYWNoYXIgKGdmY19leHByICplLCBnZmNfZXhwciAqa2luZCkKLSAgIGlmIChlLT5l eHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCkKLSAgICAgcmV0dXJuIE5VTEw7Ci0gCi0tICBpZiAo ZS0+dmFsdWUuY2hhcmFjdGVyLmxlbmd0aCAhPSAxKQotKyAgaWYgKGUtPnZhbHVlLmNoYXJhY3Rl ci5sZW5ndGggIT0gMSAmJiAhZmxhZ19kZWMpCi0gICAgIHsKLSAgICAgICBnZmNfZXJyb3IgKCJB cmd1bWVudCBvZiBJQUNIQVIgYXQgJUwgbXVzdCBiZSBvZiBsZW5ndGggb25lIiwgJmUtPndoZXJl KTsKLSAgICAgICByZXR1cm4gJmdmY19iYWRfZXhwcjsKLUBAIC0zNDU5LDcgKzM0NTksNyBAQCBn ZmNfc2ltcGxpZnlfaWNoYXIgKGdmY19leHByICplLCBnZmNfZXhwciAqa2luZCkKLSAgIGlmIChl LT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCkKLSAgICAgcmV0dXJuIE5VTEw7Ci0gCi0tICBp ZiAoZS0+dmFsdWUuY2hhcmFjdGVyLmxlbmd0aCAhPSAxKQotKyAgaWYgKGUtPnZhbHVlLmNoYXJh Y3Rlci5sZW5ndGggIT0gMSAmJiAhZmxhZ19kZWMpCi0gICAgIHsKLSAgICAgICBnZmNfZXJyb3Ig KCJBcmd1bWVudCBvZiBJQ0hBUiBhdCAlTCBtdXN0IGJlIG9mIGxlbmd0aCBvbmUiLCAmZS0+d2hl cmUpOwotICAgICAgIHJldHVybiAmZ2ZjX2JhZF9leHByOwotZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ljaGFyX3dpdGhfc3RyaW5nXzEuZiBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX2ljaGFyX3dpdGhfc3RyaW5nXzEuZgotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi44NWVmY2NlY2MwZgotLS0tIC9kZXYvbnVsbAotKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaWNoYXJfd2l0aF9zdHJpbmdfMS5mCi1A QCAtMCwwICsxLDIxIEBACi0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVj IiB9Ci0rIQotKyEgVGVzdCBJQ0hBUiBhbmQgSUFDSEFSIHdpdGggbW9yZSB0aGFuIG9uZSBjaGFy YWN0ZXIgYXMgYXJndW1lbnQKLSshCi0rISBUZXN0IGNhc2UgY29udHJpYnV0ZWQgYnkgSmltIE1h Y0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci0rISBNb2RpZmllZCBieSBN YXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAg ICBQUk9HUkFNIGljaGFyX21vcmVfdGhhbl9vbmVfY2hhcmFjdGVyCi0rICAgICAgICAgIENIQVJB Q1RFUio0IHN0LydUZXN0Jy8KLSsgICAgICAgICAgSU5URUdFUiBpCi0rCi0rICAgICAgICAgIGkg PSBJQ0hBUihzdCkKLSsgICAgICAgICAgaWYgKGkuTkUuODQpIFNUT1AgMQotKyAgICAgICAgICBp ID0gSUFDSEFSKHN0KQotKyAgICAgICAgICBpZiAoaS5ORS44NCkgU1RPUCAyCi0rICAgICAgICAg IGkgPSBJQ0hBUignVGVzdCcpCi0rICAgICAgICAgIGlmIChpLk5FLjg0KSBTVE9QIDMKLSsgICAg ICAgICAgaSA9IElBQ0hBUignVGVzdCcpCi0rICAgICAgICAgIGlmIChpLk5FLjg0KSBTVE9QIDQK LSsgICAgICAgIEVORAotLS0gCi0yLjI3LjAKLQoKZGlmZiAtLWdpdCBhL2djYzExLWZvcnRyYW4t ZmRlYy1ub24taW50ZWdlci1pbmRleC5wYXRjaCBiL2djYzExLWZvcnRyYW4tZmRlYy1ub24taW50 ZWdlci1pbmRleC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDc0ZGYzYi4u MDAwMDAwMAotLS0gYS9nY2MxMS1mb3J0cmFuLWZkZWMtbm9uLWludGVnZXItaW5kZXgucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwxNTggKzAsMCBAQAotRnJvbSA2N2FlZjI2MjMxMWQ2YTc0Njc4 NmVlMGY1OTc0OGNjYWE3ZTFlNzExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFy ayBFZ2dsZXN0b24gPG1hcmtlZ2dsZXN0b25AZ2NjLmdudS5vcmc+Ci1EYXRlOiBGcmksIDIyIEph biAyMDIxIDEzOjA5OjU0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDQvMTBdIEFsbG93IG5vbi1p bnRlZ2VyIHN1YnN0cmluZyBpbmRleGVzCi0KLVVzZSAtZmRlYy1ub24taW50ZWdlci1pbmRleCBj b21waWxlciBmbGFnIHRvIGVuYWJsZS4gQWxzbyBlbmFibGVkIGJ5IC1mZGVjLgotLS0tCi0gZ2Nj L2ZvcnRyYW4vbGFuZy5vcHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrKwotIGdj Yy9mb3J0cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsKLSBnY2Mv Zm9ydHJhbi9yZXNvbHZlLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMCArKysrKysrKysr KysrKysrKysrCi0gLi4uL2RlY19ub3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18xLmYgICAg IHwgMTggKysrKysrKysrKysrKysrKysKLSAuLi4vZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmluZ19p bmRleGVzXzIuZiAgICAgfCAxOCArKysrKysrKysrKysrKysrKwotIC4uLi9kZWNfbm90X2ludGVn ZXJfc3Vic3RyaW5nX2luZGV4ZXNfMy5mICAgICB8IDE4ICsrKysrKysrKysrKysrKysrCi0gNiBm aWxlcyBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRleGVzXzEu ZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19ub3Rf aW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18yLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMy5m Ci0KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9sYW5nLm9wdCBiL2djYy9mb3J0cmFuL2xhbmcu b3B0Ci1pbmRleCBjNGRhMjQ4ZjA3Yy4uZDUyN2MxMDZiZDYgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9y dHJhbi9sYW5nLm9wdAotKysrIGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLUBAIC00ODksNiArNDg5 LDEwIEBAIGZkZWMtbWF0aAotIEZvcnRyYW4gVmFyKGZsYWdfZGVjX21hdGgpCi0gRW5hYmxlIGxl Z2FjeSBtYXRoIGludHJpbnNpY3MgZm9yIGNvbXBhdGliaWxpdHkuCi0gCi0rZmRlYy1ub24taW50 ZWdlci1pbmRleAotK0ZvcnRyYW4gVmFyKGZsYWdfZGVjX25vbl9pbnRlZ2VyX2luZGV4KQotK0Vu YWJsZSBzdXBwb3J0IGZvciBub24taW50ZWdlciBzdWJzdHJpbmcgaW5kZXhlcy4KLSsKLSBmZGVj LXN0cnVjdHVyZQotIEZvcnRyYW4gVmFyKGZsYWdfZGVjX3N0cnVjdHVyZSkKLSBFbmFibGUgc3Vw cG9ydCBmb3IgREVDIFNUUlVDVFVSRS9SRUNPUkQuCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v b3B0aW9ucy5jIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi1pbmRleCBmMTliYTg3ZjhhMC4uOWEw NDJmNjQ4ODEgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMKLSsrKyBiL2djYy9m b3J0cmFuL29wdGlvbnMuYwotQEAgLTc4LDYgKzc4LDcgQEAgc2V0X2RlY19mbGFncyAoaW50IHZh bHVlKQotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2JsYW5rX2Zvcm1hdF9pdGVtLCB2YWx1ZSwg dmFsdWUpOwotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2NoYXJfY29udmVyc2lvbnMsIHZhbHVl LCB2YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfZHVwbGljYXRlcywgdmFsdWUsIHZh bHVlKTsKLSsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25faW50ZWdlcl9pbmRleCwgdmFsdWUs IHZhbHVlKTsKLSB9Ci0gCi0gLyogRmluYWxpemUgREVDIGZsYWdzLiAgKi8KLWRpZmYgLS1naXQg YS9nY2MvZm9ydHJhbi9yZXNvbHZlLmMgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKLWluZGV4IDRi OTBjYjU5OTAyLi5iYzBkZjBmZGI5OSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL3Jlc29sdmUu YwotKysrIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCi1AQCAtNTEzMSw2ICs1MTMxLDE2IEBAIGdm Y19yZXNvbHZlX3N1YnN0cmluZyAoZ2ZjX3JlZiAqcmVmLCBib29sICplcXVhbF9sZW5ndGgpCi0g ICAgICAgaWYgKCFnZmNfcmVzb2x2ZV9leHByIChyZWYtPnUuc3Muc3RhcnQpKQotIAlyZXR1cm4g ZmFsc2U7Ci0gCi0rICAgICAgLyogSW4gbGVnYWN5IG1vZGUsIGFsbG93IG5vbi1pbnRlZ2VyIHN0 cmluZyBpbmRleGVzIGJ5IGNvbnZlcnRpbmcgKi8KLSsgICAgICBpZiAoZmxhZ19kZWNfbm9uX2lu dGVnZXJfaW5kZXggJiYgcmVmLT51LnNzLnN0YXJ0LT50cy50eXBlICE9IEJUX0lOVEVHRVIKLSsJ ICAmJiBnZmNfbnVtZXJpY190cyAoJnJlZi0+dS5zcy5zdGFydC0+dHMpKQotKwl7Ci0rCSAgZ2Zj X3R5cGVzcGVjIHQ7Ci0rCSAgdC50eXBlID0gQlRfSU5URUdFUjsKLSsJICB0LmtpbmQgPSByZWYt PnUuc3Muc3RhcnQtPnRzLmtpbmQ7Ci0rCSAgZ2ZjX2NvbnZlcnRfdHlwZV93YXJuIChyZWYtPnUu c3Muc3RhcnQsICZ0LCAyLCAxKTsKLSsJfQotKwotICAgICAgIGlmIChyZWYtPnUuc3Muc3RhcnQt PnRzLnR5cGUgIT0gQlRfSU5URUdFUikKLSAJewotIAkgIGdmY19lcnJvciAoIlN1YnN0cmluZyBz dGFydCBpbmRleCBhdCAlTCBtdXN0IGJlIG9mIHR5cGUgSU5URUdFUiIsCi1AQCAtNTE2MCw2ICs1 MTcwLDE2IEBAIGdmY19yZXNvbHZlX3N1YnN0cmluZyAoZ2ZjX3JlZiAqcmVmLCBib29sICplcXVh bF9sZW5ndGgpCi0gICAgICAgaWYgKCFnZmNfcmVzb2x2ZV9leHByIChyZWYtPnUuc3MuZW5kKSkK LSAJcmV0dXJuIGZhbHNlOwotIAotKyAgICAgIC8qIE5vbi1pbnRlZ2VyIHN0cmluZyBpbmRleCBl bmRpbmdzLCBhcyBmb3Igc3RhcnQgKi8KLSsgICAgICBpZiAoZmxhZ19kZWNfbm9uX2ludGVnZXJf aW5kZXggJiYgcmVmLT51LnNzLmVuZC0+dHMudHlwZSAhPSBCVF9JTlRFR0VSCi0rCSAgJiYgZ2Zj X251bWVyaWNfdHMgKCZyZWYtPnUuc3MuZW5kLT50cykpCi0rCXsKLSsJICBnZmNfdHlwZXNwZWMg dDsKLSsJICB0LnR5cGUgPSBCVF9JTlRFR0VSOwotKwkgIHQua2luZCA9IHJlZi0+dS5zcy5lbmQt PnRzLmtpbmQ7Ci0rCSAgZ2ZjX2NvbnZlcnRfdHlwZV93YXJuIChyZWYtPnUuc3MuZW5kLCAmdCwg MiwgMSk7Ci0rCX0KLSsKLSAgICAgICBpZiAocmVmLT51LnNzLmVuZC0+dHMudHlwZSAhPSBCVF9J TlRFR0VSKQotIAl7Ci0gCSAgZ2ZjX2Vycm9yICgiU3Vic3RyaW5nIGVuZCBpbmRleCBhdCAlTCBt dXN0IGJlIG9mIHR5cGUgSU5URUdFUiIsCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMS5mIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMS5mCi1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjBiZTI4YWJhYTRiCi0tLS0g L2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19ub3RfaW50ZWdl cl9zdWJzdHJpbmdfaW5kZXhlc18xLmYKLUBAIC0wLDAgKzEsMTggQEAKLSshIHsgZGctZG8gcnVu IH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0IG5vdCBpbnRlZ2VyIHN1 YnN0cmluZyBpbmRleGVzCi0rIQotKyEgVGVzdCBjYXNlIGNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdn bGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICAgIFBST0dS QU0gbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXMKLSsgICAgICAgICAgQ0hBUkFDVEVSKjUg c3QvJ1Rlc3RzJy8KLSsgICAgICAgICAgUkVBTCBpci8xLjAvCi0rICAgICAgICAgIFJFQUwgaXIy LzQuMC8KLSsKLSsgICAgICAgICAgaWYgKHN0KGlyOjQpLm5lLidUZXN0Jykgc3RvcCAxCi0rICAg ICAgICAgIGlmIChzdCgxOmlyMikubmUuJ1Rlc3QnKSBzdG9wIDIKLSsgICAgICAgICAgaWYgKHN0 KDEuMDo0KS5uZS4nVGVzdCcpIHN0b3AgMwotKyAgICAgICAgICBpZiAoc3QoMTo0LjApLm5lLidU ZXN0Jykgc3RvcCA0Ci0rICAgICAgICAgIGlmIChzdCgyLjU6NCkubmUuJ2VzdCcpIHN0b3AgNQot KyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNf bm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMi5mCi1uZXcgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjNjZjA1Mjk2ZDBjCi0tLS0gL2Rldi9udWxsCi0r KysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19ub3RfaW50ZWdlcl9zdWJzdHJpbmdf aW5kZXhlc18yLmYKLUBAIC0wLDAgKzEsMTggQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGct b3B0aW9ucyAiLWZkZWMtbm9uLWludGVnZXItaW5kZXgiIH0KLSshCi0rISBUZXN0IG5vdCBpbnRl Z2VyIHN1YnN0cmluZyBpbmRleGVzCi0rIQotKyEgVGVzdCBjYXNlIGNvbnRyaWJ1dGVkIGJ5IE1h cmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICAg IFBST0dSQU0gbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXMKLSsgICAgICAgICAgQ0hBUkFD VEVSKjUgc3QvJ1Rlc3RzJy8KLSsgICAgICAgICAgUkVBTCBpci8xLjAvCi0rICAgICAgICAgIFJF QUwgaXIyLzQuMC8KLSsKLSsgICAgICAgICAgaWYgKHN0KGlyOjQpLm5lLidUZXN0Jykgc3RvcCAx Ci0rICAgICAgICAgIGlmIChzdCgxOmlyMikubmUuJ1Rlc3QnKSBzdG9wIDIKLSsgICAgICAgICAg aWYgKHN0KDEuMDo0KS5uZS4nVGVzdCcpIHN0b3AgMwotKyAgICAgICAgICBpZiAoc3QoMTo0LjAp Lm5lLidUZXN0Jykgc3RvcCA0Ci0rICAgICAgICAgIGlmIChzdCgyLjU6NCkubmUuJ2VzdCcpIHN0 b3AgNQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMy5mIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMy5mCi1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjcwM2RlOTk1ODk3Ci0tLS0gL2Rldi9u dWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19ub3RfaW50ZWdlcl9zdWJz dHJpbmdfaW5kZXhlc18zLmYKLUBAIC0wLDAgKzEsMTggQEAKLSshIHsgZGctZG8gY29tcGlsZSB9 Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLW5vbi1pbnRlZ2VyLWluZGV4IiB9Ci0r IQotKyEgVGVzdCBub3QgaW50ZWdlciBzdWJzdHJpbmcgaW5kZXhlcwotKyEKLSshIFRlc3QgY2Fz ZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5r LmNvbT4KLSshCi0rICAgICAgICBQUk9HUkFNIG5vdF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRleGVz Ci0rICAgICAgICAgIENIQVJBQ1RFUio1IHN0LydUZXN0cycvCi0rICAgICAgICAgIFJFQUwgaXIv MS4wLwotKyAgICAgICAgICBSRUFMIGlyMi80LjAvCi0rCi0rICAgICAgICAgIGlmIChzdChpcjo0 KS5uZS4nVGVzdCcpIHN0b3AgMSAhIHsgZGctZXJyb3IgIlN1YnN0cmluZyBzdGFydCBpbmRleCIg fQotKyAgICAgICAgICBpZiAoc3QoMTppcjIpLm5lLidUZXN0Jykgc3RvcCAyICEgeyBkZy1lcnJv ciAiU3Vic3RyaW5nIGVuZCBpbmRleCIgfQotKyAgICAgICAgICBpZiAoc3QoMS4wOjQpLm5lLidU ZXN0Jykgc3RvcCAzICEgeyBkZy1lcnJvciAiU3Vic3RyaW5nIHN0YXJ0IGluZGV4IiB9Ci0rICAg ICAgICAgIGlmIChzdCgxOjQuMCkubmUuJ1Rlc3QnKSBzdG9wIDQgISB7IGRnLWVycm9yICJTdWJz dHJpbmcgZW5kIGluZGV4IiB9Ci0rICAgICAgICAgIGlmIChzdCgyLjU6NCkubmUuJ2VzdCcpIHN0 b3AgNSAhIHsgZGctZXJyb3IgIlN1YnN0cmluZyBzdGFydCBpbmRleCIgfQotKyAgICAgICAgRU5E Ci0tLSAKLTIuMjcuMAotCgpkaWZmIC0tZ2l0IGEvZ2NjMTEtZm9ydHJhbi1mZGVjLW5vbi1sb2dp Y2FsLWlmLnBhdGNoIGIvZ2NjMTEtZm9ydHJhbi1mZGVjLW5vbi1sb2dpY2FsLWlmLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMTMzZDIzLi4wMDAwMDAwCi0tLSBhL2djYzEx LWZvcnRyYW4tZmRlYy1ub24tbG9naWNhbC1pZi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3 OCArMCwwIEBACi1Gcm9tIGNjODdkZGI4NDEwMTdiYjA5NzZiMDUwOTE3MzM2MDllZTE3ZDdmMDUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xl c3RvbkBnY2MuZ251Lm9yZz4KLURhdGU6IEZyaSwgMjIgSmFuIDIwMjEgMTM6MTU6MTcgKzAwMDAK LVN1YmplY3Q6IFtQQVRDSCAwNy8xMF0gQWxsb3cgbm9uLWxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4g SUYgc3RhdGVtZW50cwotCi1Vc2UgLWZkZWMtbm9uLWxvZ2ljYWwtaWYgdG8gZW5hYmxlIGZlYXR1 cmUuIEFsc28gZW5hYmxlZCB1c2luZyAtZmRlYy4KLS0tLQotIGdjYy9mb3J0cmFuL2xhbmcub3B0 ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrCi0gZ2NjL2ZvcnRyYW4vb3B0aW9ucy5j ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwotIGdjYy9mb3J0cmFuL3Jlc29sdmUuYyAg ICAgICAgICAgICAgICAgICAgICAgICB8IDYwICsrKysrKysrKysrKysrKystLS0KLSAuLi5naWNh bF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc18xLmYgfCAyNSArKysrKysrKwotIC4u LmdpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzIuZiB8IDI1ICsrKysrKysr Ci0gLi4uZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfMy5mIHwgMjUgKysr KysrKysKLSAuLi5naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc180LmYgfCA0 NSArKysrKysrKysrKysrKwotIC4uLmdpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxv Y2tzXzUuZiB8IDQ1ICsrKysrKysrKysrKysrCi0gLi4uZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3Rh dGVtZW50c19ibG9ja3NfNi5mIHwgNDUgKysrKysrKysrKysrKysKLSA5IGZpbGVzIGNoYW5nZWQs IDI2NiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRl bWVudHNfYmxvY2tzXzEuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzIuZgot IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2Fs X2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzMuZgotIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0 YXRlbWVudHNfYmxvY2tzXzQuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzUu ZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dp Y2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzYuZgotCi1kaWZmIC0tZ2l0IGEv Z2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAotaW5kZXggNGEyNjll YmIyMmQuLmQ4ODZjMmYzM2VkIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLSsr KyBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1AQCAtNDk3LDYgKzQ5NywxMCBAQCBmZGVjLW92ZXJy aWRlLWtpbmQKLSBGb3J0cmFuIFZhcihmbGFnX2RlY19vdmVycmlkZV9raW5kKQotIEVuYWJsZSBz dXBwb3J0IGZvciBwZXIgdmFyaWFibGUga2luZCBzcGVjaWZpY2F0aW9uLgotIAotK2ZkZWMtbm9u LWxvZ2ljYWwtaWYKLStGb3J0cmFuIFZhcihmbGFnX2RlY19ub25fbG9naWNhbF9pZikKLStFbmFi bGUgc3VwcG9ydCBmb3Igbm9uLWxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50cy4K LSsKLSBmZGVjLW9sZC1pbml0Ci0gRm9ydHJhbiBWYXIoZmxhZ19kZWNfb2xkX2luaXQpCi0gRW5h YmxlIHN1cHBvcnQgZm9yIG9sZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcy4K LWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMgYi9nY2MvZm9ydHJhbi9vcHRpb25z LmMKLWluZGV4IGVkYmFiNDgzYjM2Li5hOTQ2Yzg2NzkwYSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0 cmFuL29wdGlvbnMuYwotKysrIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi1AQCAtODEsNiArODEs NyBAQCBzZXRfZGVjX2ZsYWdzIChpbnQgdmFsdWUpCi0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNf bm9uX2ludGVnZXJfaW5kZXgsIHZhbHVlLCB2YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19k ZWNfb2xkX2luaXQsIHZhbHVlLCB2YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfb3Zl cnJpZGVfa2luZCwgdmFsdWUsIHZhbHVlKTsKLSsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25f bG9naWNhbF9pZiwgdmFsdWUsIHZhbHVlKTsKLSB9Ci0gCi0gLyogRmluYWxpemUgREVDIGZsYWdz LiAgKi8KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmMgYi9nY2MvZm9ydHJhbi9y ZXNvbHZlLmMKLWluZGV4IGJjMGRmMGZkYjk5Li4wN2RkMDM5ZjNiZiAxMDA2NDQKLS0tLSBhL2dj Yy9mb3J0cmFuL3Jlc29sdmUuYwotKysrIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCi1AQCAtMTA3 ODksMTAgKzEwNzg5LDMxIEBAIGdmY19yZXNvbHZlX2Jsb2NrcyAoZ2ZjX2NvZGUgKmIsIGdmY19u YW1lc3BhY2UgKm5zKQotICAgICAgIHN3aXRjaCAoYi0+b3ApCi0gCXsKLSAJY2FzZSBFWEVDX0lG OgotLQkgIGlmICh0ICYmIGItPmV4cHIxICE9IE5VTEwKLS0JICAgICAgJiYgKGItPmV4cHIxLT50 cy50eXBlICE9IEJUX0xPR0lDQUwgfHwgYi0+ZXhwcjEtPnJhbmsgIT0gMCkpCi0tCSAgICBnZmNf ZXJyb3IgKCJJRiBjbGF1c2UgYXQgJUwgcmVxdWlyZXMgYSBzY2FsYXIgTE9HSUNBTCBleHByZXNz aW9uIiwKLS0JCSAgICAgICAmYi0+ZXhwcjEtPndoZXJlKTsKLSsJICBpZiAodCAmJiBiLT5leHBy MSAhPSBOVUxMKQotKwkgICAgewotKwkgICAgICBpZiAoZmxhZ19kZWNfbm9uX2xvZ2ljYWxfaWYg JiYgYi0+ZXhwcjEtPnRzLnR5cGUgIT0gQlRfTE9HSUNBTCkKLSsJCXsKLSsJCSAgZ2ZjX2V4cHIq IGNhc3Q7Ci0rCQkgIGNhc3QgPSBnZmNfbmUgKGItPmV4cHIxLAotKwkJCQkgZ2ZjX2dldF9pbnRf ZXhwciAoMSwgJmdmY19jdXJyZW50X2xvY3VzLCAwKSwKLSsJCQkJIElOVFJJTlNJQ19ORSk7Ci0r CQkgIGlmIChjYXN0ID09IE5VTEwpCi0rCQkgICAgZ2ZjX2ludGVybmFsX2Vycm9yICgiZ2ZjX3Jl c29sdmVfYmxvY2tzKCk6IEZhaWxlZCB0byBjYXN0ICIKLSsJCQkJCSJ0byBMT0dJQ0FMIGluIElG Iik7Ci0rCQkgIGItPmV4cHIxID0gY2FzdDsKLSsJCSAgaWYgKHdhcm5fY29udmVyc2lvbl9leHRy YSkKLSsJCSAgICB7Ci0rCQkgICAgICBnZmNfd2FybmluZyAoT1BUX1djb252ZXJzaW9uX2V4dHJh LCAiTm9uLUxPR0lDQUwgdHlwZSBpbiIKLSsJCQkJICAgIiBJRiBzdGF0ZW1lbnQgY29uZGl0aW9u ICVMIHdpbGwgYmUgdHJ1ZSBpZiIKLSsJCQkJICAgIiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIs Ci0rCQkJCSAgICZiLT5leHByMS0+d2hlcmUpOwotKwkJICAgIH0KLSsJCX0KLSsKLSsJICAgICAg aWYgKChiLT5leHByMS0+dHMudHlwZSAhPSBCVF9MT0dJQ0FMIHx8IGItPmV4cHIxLT5yYW5rICE9 IDApKQotKwkJZ2ZjX2Vycm9yICgiSUYgY2xhdXNlIGF0ICVMIHJlcXVpcmVzIGEgc2NhbGFyIExP R0lDQUwgIgotKwkJCSAgICJleHByZXNzaW9uIiwgJmItPmV4cHIxLT53aGVyZSk7Ci0rCSAgICB9 Ci0gCSAgYnJlYWs7Ci0gCi0gCWNhc2UgRVhFQ19XSEVSRToKLUBAIC0xMjA5MywxMSArMTIxMTQs MzIgQEAgc3RhcnQ6Ci0gCSAgYnJlYWs7Ci0gCi0gCWNhc2UgRVhFQ19JRjoKLS0JICBpZiAodCAm JiBjb2RlLT5leHByMSAhPSBOVUxMCi0tCSAgICAgICYmIChjb2RlLT5leHByMS0+dHMudHlwZSAh PSBCVF9MT0dJQ0FMCi0tCQkgIHx8IGNvZGUtPmV4cHIxLT5yYW5rICE9IDApKQotLQkgICAgZ2Zj X2Vycm9yICgiSUYgY2xhdXNlIGF0ICVMIHJlcXVpcmVzIGEgc2NhbGFyIExPR0lDQUwgZXhwcmVz c2lvbiIsCi0tCQkgICAgICAgJmNvZGUtPmV4cHIxLT53aGVyZSk7Ci0rCSAgaWYgKHQgJiYgY29k ZS0+ZXhwcjEgIT0gTlVMTCkKLSsJICAgIHsKLSsJICAgICAgaWYgKGZsYWdfZGVjX25vbl9sb2dp Y2FsX2lmCi0rCQkgICYmIGNvZGUtPmV4cHIxLT50cy50eXBlICE9IEJUX0xPR0lDQUwpCi0rCQl7 Ci0rCQkgIGdmY19leHByKiBjYXN0OwotKwkJICBjYXN0ID0gZ2ZjX25lIChjb2RlLT5leHByMSwK LSsJCQkJIGdmY19nZXRfaW50X2V4cHIgKDEsICZnZmNfY3VycmVudF9sb2N1cywgMCksCi0rCQkJ CSBJTlRSSU5TSUNfTkUpOwotKwkJICBpZiAoY2FzdCA9PSBOVUxMKQotKwkJICAgIGdmY19pbnRl cm5hbF9lcnJvciAoImdmY19yZXNvbHZlX2NvZGUoKTogRmFpbGVkIHRvIGNhc3QgIgotKwkJCQkJ InRvIExPR0lDQUwgaW4gSUYiKTsKLSsJCSAgY29kZS0+ZXhwcjEgPSBjYXN0OwotKwkJICBpZiAo d2Fybl9jb252ZXJzaW9uX2V4dHJhKQotKwkJICAgIHsKLSsJCSAgICAgIGdmY193YXJuaW5nIChP UFRfV2NvbnZlcnNpb25fZXh0cmEsICJOb24tTE9HSUNBTCB0eXBlIGluIgotKwkJCQkgICAiIElG IHN0YXRlbWVudCBjb25kaXRpb24gJUwgd2lsbCBiZSB0cnVlIGlmIgotKwkJCQkgICAiIGl0IGV2 YWx1YXRlcyB0byBub256ZXJvIiwKLSsJCQkJICAgJmNvZGUtPmV4cHIxLT53aGVyZSk7Ci0rCQkg ICAgfQotKwkJfQotKwotKwkgICAgICBpZiAoY29kZS0+ZXhwcjEtPnRzLnR5cGUgIT0gQlRfTE9H SUNBTCB8fCBjb2RlLT5leHByMS0+cmFuayAhPSAwKQotKwkJZ2ZjX2Vycm9yICgiSUYgY2xhdXNl IGF0ICVMIHJlcXVpcmVzIGEgc2NhbGFyIExPR0lDQUwgIgotKwkJCSAgICJleHByZXNzaW9uIiwg JmNvZGUtPmV4cHIxLT53aGVyZSk7Ci0rCSAgICB9Ci0gCSAgYnJlYWs7Ci0gCi0gCWNhc2UgRVhF Q19DQUxMOgotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2lj YWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc18x LmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMDEwMWRiODkzY2EK LS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2lj YWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfMS5mCi1AQCAtMCwwICsxLDI1IEBA Ci0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1XY29udmVyc2lvbi1l eHRyYSIgfQotKyEKLSshIEFsbG93IGxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50 cyBhbmQgYmxvY2tzCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFy Y2hlbmEgPGZyYW5jaXNjby5tYXJjaGVtYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAgICAg ICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2ds ZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICAgUFJPR1JB TSBsb2dpY2FsX2V4cF9pZl9zdF9ibAotKyAgICAgICAgICBJTlRFR0VSIGlwb3MvMS8KLSsgICAg ICAgICAgSU5URUdFUiBpbmVnLzAvCi0rCi0rICAgICAgICAgICEgVGVzdCBub24gbG9naWNhbCB2 YXJpYWJsZXMKLSsgICAgICAgICAgaWYgKGluZWcpIFNUT1AgMSAhIHsgZGctd2FybmluZyAiaWYg aXQgZXZhbHVhdGVzIHRvIG5vbnplcm8iIH0KLSsgICAgICAgICAgaWYgKDApIFNUT1AgMiAhIHsg ZGctd2FybmluZyAiaWYgaXQgZXZhbHVhdGVzIHRvIG5vbnplcm8iIH0KLSsKLSsgICAgICAgICAg ISBUZXN0IG5vbiBsb2dpY2FsIGV4cHJlc3Npb25zIGluIGlmIHN0YXRlbWVudHMKLSsgICAgICAg ICAgaWYgKE1PRChpcG9zLCAxKSkgU1RPUCAzICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0 ZXMgdG8gbm9uemVybyIgfQotKwotKyAgICAgICAgICAhIFRlc3Qgbm9uIGxvZ2ljYWwgZXhwcmVz c2lvbnMgaW4gaWYgYmxvY2tzCi0rICAgICAgICAgIGlmIChNT0QoMiAqIGlwb3MsIDIpKSB0aGVu ICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQotKyAgICAgICAg ICAgIFNUT1AgNAotKyAgICAgICAgICBlbmRpZgotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0 ZW1lbnRzX2Jsb2Nrc18yLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2Fs X2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzIuZgotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAwMDAwLi44NzZmNGUwOTUwOAotLS0tIC9kZXYvbnVsbAotKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0 ZW1lbnRzX2Jsb2Nrc18yLmYKLUBAIC0wLDAgKzEsMjUgQEAKLSshIHsgZGctZG8gcnVuIH0KLSsh IHsgZGctb3B0aW9ucyAiLWZkZWMtbm9uLWxvZ2ljYWwtaWYgLVdjb252ZXJzaW9uLWV4dHJhIiB9 Ci0rIQotKyEgQWxsb3cgbG9naWNhbCBleHByZXNzaW9ucyBpbiBpZiBzdGF0ZW1lbnRzIGFuZCBi bG9ja3MKLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8 ZnJhbmNpc2NvLm1hcmNoZW1hQGNvZGV0aGluay5jby51az4KLSshICAgICAgICAgICAgIGFuZCBK ZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8 bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgICBQUk9HUkFNIGxvZ2lj YWxfZXhwX2lmX3N0X2JsCi0rICAgICAgICAgIElOVEVHRVIgaXBvcy8xLwotKyAgICAgICAgICBJ TlRFR0VSIGluZWcvMC8KLSsKLSsgICAgICAgICAgISBUZXN0IG5vbiBsb2dpY2FsIHZhcmlhYmxl cwotKyAgICAgICAgICBpZiAoaW5lZykgU1RPUCAxICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFs dWF0ZXMgdG8gbm9uemVybyIgfQotKyAgICAgICAgICBpZiAoMCkgU1RPUCAyICEgeyBkZy13YXJu aW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQotKwotKyAgICAgICAgICAhIFRlc3Qg bm9uIGxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50cwotKyAgICAgICAgICBpZiAo TU9EKGlwb3MsIDEpKSBTVE9QIDMgISB7IGRnLXdhcm5pbmcgImlmIGl0IGV2YWx1YXRlcyB0byBu b256ZXJvIiB9Ci0rCi0rICAgICAgICAgICEgVGVzdCBub24gbG9naWNhbCBleHByZXNzaW9ucyBp biBpZiBibG9ja3MKLSsgICAgICAgICAgaWYgKE1PRCgyICogaXBvcywgMikpIHRoZW4gISB7IGRn LXdhcm5pbmcgImlmIGl0IGV2YWx1YXRlcyB0byBub256ZXJvIiB9Ci0rICAgICAgICAgICAgU1RP UCA0Ci0rICAgICAgICAgIGVuZGlmCi0rICAgICAgICBFTkQKLWRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNf YmxvY2tzXzMuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVz c2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfMy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMDAwMDAuLjM1Y2I0YzUxYjhkCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNf YmxvY2tzXzMuZgotQEAgLTAsMCArMSwyNSBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsg ZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMtbm9uLWxvZ2ljYWwtaWYiIH0KLSshCi0rISBBbGxv dyBsb2dpY2FsIGV4cHJlc3Npb25zIGluIGlmIHN0YXRlbWVudHMgYW5kIGJsb2NrcwotKyEKLSsh IENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFy Y2hlbWFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdA cmVkaGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3Rv bkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICAgIFBST0dSQU0gbG9naWNhbF9leHBfaWZfc3Rf YmwKLSsgICAgICAgICAgSU5URUdFUiBpcG9zLzEvCi0rICAgICAgICAgIElOVEVHRVIgaW5lZy8w LwotKwotKyAgICAgICAgICAhIFRlc3Qgbm9uIGxvZ2ljYWwgdmFyaWFibGVzCi0rICAgICAgICAg IGlmIChpbmVnKSBTVE9QIDEgISB7IGRnLWVycm9yICJJRiBjbGF1c2UgYXQiIH0KLSsgICAgICAg ICAgaWYgKDApIFNUT1AgMiAhIHsgZGctZXJyb3IgIklGIGNsYXVzZSBhdCIgfQotKwotKyAgICAg ICAgICAhIFRlc3Qgbm9uIGxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50cwotKyAg ICAgICAgICBpZiAoTU9EKGlwb3MsIDEpKSBTVE9QIDMgISB7IGRnLWVycm9yICJJRiBjbGF1c2Ug YXQiIH0KLSsKLSsgICAgICAgICAgISBUZXN0IG5vbiBsb2dpY2FsIGV4cHJlc3Npb25zIGluIGlm IGJsb2NrcwotKyAgICAgICAgICBpZiAoTU9EKDIgKiBpcG9zLCAyKSkgdGhlbiAhIHsgZGctZXJy b3IgIklGIGNsYXVzZSBhdCIgfQotKyAgICAgICAgICAgIFNUT1AgNAotKyAgICAgICAgICBlbmRp ZgotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc180LmYgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNf YmxvY2tzXzQuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi43YjYw YjYwODI3ZgotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc180LmYKLUBAIC0wLDAg KzEsNDUgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMgLVdjb252 ZXJzaW9uLWV4dHJhIiB9Ci0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8g TWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVtYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAg ICAgICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBF Z2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICBmdW5j dGlvbiBvdGhlcnN1YjEoKQotKyAgICAgICAgaW50ZWdlcio0IG90aGVyc3ViMQotKyAgICAgICAg b3RoZXJzdWIxID0gOQotKyAgICAgICBlbmQKLSsKLSsgICAgICAgZnVuY3Rpb24gb3RoZXJzdWIy KCkKLSsgICAgICAgIGludGVnZXIqNCBvdGhlcnN1YjIKLSsgICAgICAgIG90aGVyc3ViMiA9IDAK LSsgICAgICAgZW5kCi0rCi0rICAgICAgIHByb2dyYW0gTUFJTgotKyAgICAgICAgaW50ZWdlcio0 IG90aGVyc3ViMQotKyAgICAgICAgaW50ZWdlcio0IG90aGVyc3ViMgotKyAgICAgICAgaW50ZWdl ciBhIC8xLwotKyAgICAgICAgaW50ZWdlciBiIC8yLyAgICAgICAgCi0rIAotKyAgICAgICAgaWYg KG90aGVyc3ViMSgpKSB0aGVuICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9u emVybyIgfQotKyAgICAgICAgICAgd3JpdGUoKiwqKSAiT0siCi0rICAgICAgICBlbHNlCi0rICAg ICAgICAgICBzdG9wIDEKLSsgICAgICAgIGVuZCBpZgotKyAgICAgICAgaWYgKG90aGVyc3ViMigp KSB0aGVuICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQotKyAg ICAgICAgICAgc3RvcCAyCi0rICAgICAgICBlbHNlCi0rICAgICAgICAgICB3cml0ZSgqLCopICJP SyIKLSsgICAgICAgIGVuZCBpZgotKyAgICAgICAgaWYgKGEtYikgdGhlbiAhIHsgZGctd2Fybmlu ZyAiaWYgaXQgZXZhbHVhdGVzIHRvIG5vbnplcm8iIH0KLSsgICAgICAgICAgIHdyaXRlKCosKikg Ik9LIgotKyAgICAgICAgZWxzZQotKyAgICAgICAgICAgc3RvcCAzCi0rICAgICAgICBlbmQgaWYK LSsgICAgICAgIGlmIChiLShhKzEpKSB0aGVuICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0 ZXMgdG8gbm9uemVybyIgfQotKyAgICAgICAgICAgc3RvcCAzCi0rICAgICAgICBlbHNlCi0rICAg ICAgICAgICB3cml0ZSgqLCopICJPSyIKLSsgICAgICAgIGVuZCBpZgotKyAgICAgICBlbmQKLSsK LWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJl c3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzUuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX2xvZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNS5mCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjgwMzM2ZjQ4Y2ExCi0tLS0gL2Rl di9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJl c3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzUuZgotQEAgLTAsMCArMSw0NSBAQAotKyEgeyBk Zy1kbyBydW4gfQotKyEgeyBkZy1vcHRpb25zICItZmRlYy1ub24tbG9naWNhbC1pZiAtV2NvbnZl cnNpb24tZXh0cmEiIH0KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBN YXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW1hQGNvZGV0aGluay5jby51az4KLSshICAgICAgICAg ICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVn Z2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgIGZ1bmN0 aW9uIG90aGVyc3ViMSgpCi0rICAgICAgICBpbnRlZ2VyKjQgb3RoZXJzdWIxCi0rICAgICAgICBv dGhlcnN1YjEgPSA5Ci0rICAgICAgIGVuZAotKwotKyAgICAgICBmdW5jdGlvbiBvdGhlcnN1YjIo KQotKyAgICAgICAgaW50ZWdlcio0IG90aGVyc3ViMgotKyAgICAgICAgb3RoZXJzdWIyID0gMAot KyAgICAgICBlbmQKLSsKLSsgICAgICAgcHJvZ3JhbSBNQUlOCi0rICAgICAgICBpbnRlZ2VyKjQg b3RoZXJzdWIxCi0rICAgICAgICBpbnRlZ2VyKjQgb3RoZXJzdWIyCi0rICAgICAgICBpbnRlZ2Vy IGEgLzEvCi0rICAgICAgICBpbnRlZ2VyIGIgLzIvICAgICAgICAKLSsgCi0rICAgICAgICBpZiAo b3RoZXJzdWIxKCkpIHRoZW4gISB7IGRnLXdhcm5pbmcgIk5vbi1MT0dJQ0FMIHR5cGUgaW4gSUYg c3RhdGVtZW50IiB9Ci0rICAgICAgICAgICB3cml0ZSgqLCopICJPSyIKLSsgICAgICAgIGVsc2UK LSsgICAgICAgICAgIHN0b3AgMQotKyAgICAgICAgZW5kIGlmCi0rICAgICAgICBpZiAob3RoZXJz dWIyKCkpIHRoZW4gISB7IGRnLXdhcm5pbmcgIk5vbi1MT0dJQ0FMIHR5cGUgaW4gSUYgc3RhdGVt ZW50IiB9Ci0rICAgICAgICAgICBzdG9wIDIKLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgIHdy aXRlKCosKikgIk9LIgotKyAgICAgICAgZW5kIGlmCi0rICAgICAgICBpZiAoYS1iKSB0aGVuICEg eyBkZy13YXJuaW5nICJOb24tTE9HSUNBTCB0eXBlIGluIElGIHN0YXRlbWVudCIgfQotKyAgICAg ICAgICAgd3JpdGUoKiwqKSAiT0siCi0rICAgICAgICBlbHNlCi0rICAgICAgICAgICBzdG9wIDMK LSsgICAgICAgIGVuZCBpZgotKyAgICAgICAgaWYgKGItKGErMSkpIHRoZW4gISB7IGRnLXdhcm5p bmcgIk5vbi1MT0dJQ0FMIHR5cGUgaW4gSUYgc3RhdGVtZW50IiB9Ci0rICAgICAgICAgICBzdG9w IDMKLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgIHdyaXRlKCosKikgIk9LIgotKyAgICAgICAg ZW5kIGlmCi0rICAgICAgIGVuZAotKwotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNi5mIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0 ZW1lbnRzX2Jsb2Nrc182LmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAw MC4uZTExMjVjYTcxN2EKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNi5mCi1A QCAtMCwwICsxLDQ1IEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEgeyBkZy1vcHRpb25zICIt ZmRlYyAtZm5vLWRlYy1ub24tbG9naWNhbC1pZiIgfQotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IEZy YW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbWFAY29kZXRoaW5rLmNv LnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KLSshIE1v ZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgot KyEKLSsgICAgICAgZnVuY3Rpb24gb3RoZXJzdWIxKCkKLSsgICAgICAgIGludGVnZXIqNCBvdGhl cnN1YjEKLSsgICAgICAgIG90aGVyc3ViMSA9IDkKLSsgICAgICAgZW5kCi0rCi0rICAgICAgIGZ1 bmN0aW9uIG90aGVyc3ViMigpCi0rICAgICAgICBpbnRlZ2VyKjQgb3RoZXJzdWIyCi0rICAgICAg ICBvdGhlcnN1YjIgPSAwCi0rICAgICAgIGVuZAotKwotKyAgICAgICBwcm9ncmFtIE1BSU4KLSsg ICAgICAgIGludGVnZXIqNCBvdGhlcnN1YjEKLSsgICAgICAgIGludGVnZXIqNCBvdGhlcnN1YjIK LSsgICAgICAgIGludGVnZXIgYSAvMS8KLSsgICAgICAgIGludGVnZXIgYiAvMi8gICAgICAgIAot KyAKLSsgICAgICAgIGlmIChvdGhlcnN1YjEoKSkgdGhlbiAhIHsgZGctZXJyb3IgIklGIGNsYXVz ZSBhdCIgfQotKyAgICAgICAgICAgd3JpdGUoKiwqKSAiT0siCi0rICAgICAgICBlbHNlCi0rICAg ICAgICAgICBzdG9wIDEKLSsgICAgICAgIGVuZCBpZgotKyAgICAgICAgaWYgKG90aGVyc3ViMigp KSB0aGVuICEgeyBkZy1lcnJvciAiSUYgY2xhdXNlIGF0IiB9Ci0rICAgICAgICAgICBzdG9wIDIK LSsgICAgICAgIGVsc2UKLSsgICAgICAgICAgIHdyaXRlKCosKikgIk9LIgotKyAgICAgICAgZW5k IGlmCi0rICAgICAgICBpZiAoYS1iKSB0aGVuICEgeyBkZy1lcnJvciAiSUYgY2xhdXNlIGF0IiB9 Ci0rICAgICAgICAgICB3cml0ZSgqLCopICJPSyIKLSsgICAgICAgIGVsc2UKLSsgICAgICAgICAg IHN0b3AgMwotKyAgICAgICAgZW5kIGlmCi0rICAgICAgICBpZiAoYi0oYSsxKSkgdGhlbiAhIHsg ZGctZXJyb3IgIklGIGNsYXVzZSBhdCIgfQotKyAgICAgICAgICAgc3RvcCAzCi0rICAgICAgICBl bHNlCi0rICAgICAgICAgICB3cml0ZSgqLCopICJPSyIKLSsgICAgICAgIGVuZCBpZgotKyAgICAg ICBlbmQKLSsKLS0tIAotMi4yNy4wCi0KCmRpZmYgLS1naXQgYS9nY2MxMS1mb3J0cmFuLWZkZWMt b2xkLWluaXQucGF0Y2ggYi9nY2MxMS1mb3J0cmFuLWZkZWMtb2xkLWluaXQucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1NTRmMmUuLjAwMDAwMDAKLS0tIGEvZ2NjMTEtZm9y dHJhbi1mZGVjLW9sZC1pbml0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTg1ICswLDAgQEAK LUZyb20gOGJjYzBmODVlZDE3MThjMGRkOTAzM2FkNGEzNGRmMTgxYWFiYWZmZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5n bnUub3JnPgotRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAxMzoxMTowNiArMDAwMAotU3ViamVjdDog W1BBVENIIDA1LzEwXSBBbGxvdyBvbGQtc3R5bGUgaW5pdGlhbGl6ZXJzIGluIGRlcml2ZWQgdHlw ZXMKLQotVGhpcyBhbGxvd3Mgc2ltcGxlIGRlY2xhcmF0aW9ucyBpbiBkZXJpdmVkIHR5cGVzIGFu ZCBzdHJ1Y3R1cmVzLCBzdWNoIGFzOgotICAgIExPR0lDQUwqMSAgICAgIE5JTCAgICAgIC8wLwot T25seSBzaW5nbGUgdmFsdWUgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgYXQgdGhlIG1vbWVudC4K LQotVXNlIC1mZGVjLW9sZC1pbml0IHRvIGVuYWJsZS4gQWxzbyBlbmFibGVkIGJ5IC1mZGVjLgot LS0tCi0gZ2NjL2ZvcnRyYW4vZGVjbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjcg KysrKysrKysrKysrKysrLS0tLQotIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA0ICsrKwotIGdjYy9mb3J0cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAxICsKLSAuLi5lY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9z dHlsZV8xLmYgfCAyNSArKysrKysrKysrKysrKysrKwotIC4uLmVjX2Rlcml2ZWRfdHlwZXNfaW5p dGlhbGlzZWRfb2xkX3N0eWxlXzIuZiB8IDI1ICsrKysrKysrKysrKysrKysrCi0gLi4uZWNfZGVy aXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMy5mIHwgMjYgKysrKysrKysrKysrKysr KysrCi0gNiBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK LSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZl ZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMS5mCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2Rlcml2ZWRfdHlwZXNfaW5pdGlhbGlzZWRfb2xk X3N0eWxlXzIuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8zLmYKLQotZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL2RlY2wuYyBiL2djYy9mb3J0cmFuL2RlY2wuYwotaW5kZXggNzIzOTE1 ODIyZjMuLjVjOGMxYjc5ODFiIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vZGVjbC5jCi0rKysg Yi9nY2MvZm9ydHJhbi9kZWNsLmMKLUBAIC0yODI3LDEyICsyODI3LDI5IEBAIHZhcmlhYmxlX2Rl Y2wgKGludCBlbGVtKQotICAgICAgICAgIGJ1dCBub3QgY29tcG9uZW50cyBvZiBkZXJpdmVkIHR5 cGVzLiAgKi8KLSAgICAgICBlbHNlIGlmIChnZmNfY3VycmVudF9zdGF0ZSAoKSA9PSBDT01QX0RF UklWRUQpCi0gCXsKLS0JICBnZmNfZXJyb3IgKCJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXph dGlvbiBmb3IgZGVyaXZlZCB0eXBlICIKLS0JCSAgICAgImNvbXBvbmVudCBhdCAlQyIpOwotLQkg IG0gPSBNQVRDSF9FUlJPUjsKLS0JICBnb3RvIGNsZWFudXA7Ci0rCSAgaWYgKGZsYWdfZGVjX29s ZF9pbml0KQotKwkgICAgewotKwkgICAgICAvKiBBdHRlbXB0IHRvIG1hdGNoIGFuIG9sZC1zdHls ZSBpbml0aWFsaXplciB3aGljaCBpcyBhIHNpbXBsZQotKwkJIGludGVnZXIgb3IgY2hhcmFjdGVy IGV4cHJlc3Npb247IHRoaXMgd2lsbCBub3Qgd29yayB3aXRoCi0rCQkgbXVsdGlwbGUgdmFsdWVz LiAqLwotKwkgICAgICBtID0gZ2ZjX21hdGNoX2luaXRfZXhwciAoJmluaXRpYWxpemVyKTsKLSsJ ICAgICAgaWYgKG0gPT0gTUFUQ0hfRVJST1IpCi0rCQlnb3RvIGNsZWFudXA7Ci0rCSAgICAgIGVs c2UgaWYgKG0gPT0gTUFUQ0hfWUVTKQotKwkJewotKwkJICBtID0gZ2ZjX21hdGNoICgiLyIpOwot KwkJICBpZiAobSAhPSBNQVRDSF9ZRVMpCi0rCQkgICAgZ290byBjbGVhbnVwOwotKwkJfQotKwkg ICAgfQotKwkgIGVsc2UKLSsJICAgIHsKLSsJICAgICAgZ2ZjX2Vycm9yICgiSW52YWxpZCBvbGQg c3R5bGUgaW5pdGlhbGl6YXRpb24gZm9yIGRlcml2ZWQgdHlwZSAiCi0rCQkJICJjb21wb25lbnQg YXQgJUMiKTsKLSsJICAgICAgbSA9IE1BVENIX0VSUk9SOwotKwkgICAgICBnb3RvIGNsZWFudXA7 Ci0rCSAgICB9Ci0gCX0KLS0KLSAgICAgICAvKiBGb3Igc3RydWN0dXJlIGNvbXBvbmVudHMsIHJl YWQgdGhlIGluaXRpYWxpemVyIGFzIGEgc3BlY2lhbAotICAgICAgICAgIGV4cHJlc3Npb24gYW5k IGxldCB0aGUgcmVzdCBvZiB0aGlzIGZ1bmN0aW9uIGFwcGx5IHRoZSBpbml0aWFsaXplcgotICAg ICAgICAgIGFzIHVzdWFsLiAgKi8KLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9sYW5nLm9wdCBi L2djYy9mb3J0cmFuL2xhbmcub3B0Ci1pbmRleCBkNTI3YzEwNmJkNi4uMjVjYzk0ODY5OWIgMTAw NjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9sYW5nLm9wdAotKysrIGIvZ2NjL2ZvcnRyYW4vbGFuZy5v cHQKLUBAIC00OTMsNiArNDkzLDEwIEBAIGZkZWMtbm9uLWludGVnZXItaW5kZXgKLSBGb3J0cmFu IFZhcihmbGFnX2RlY19ub25faW50ZWdlcl9pbmRleCkKLSBFbmFibGUgc3VwcG9ydCBmb3Igbm9u LWludGVnZXIgc3Vic3RyaW5nIGluZGV4ZXMuCi0gCi0rZmRlYy1vbGQtaW5pdAotK0ZvcnRyYW4g VmFyKGZsYWdfZGVjX29sZF9pbml0KQotK0VuYWJsZSBzdXBwb3J0IGZvciBvbGQgc3R5bGUgaW5p dGlhbGl6ZXJzIGluIGRlcml2ZWQgdHlwZXMuCi0rCi0gZmRlYy1zdHJ1Y3R1cmUKLSBGb3J0cmFu IFZhcihmbGFnX2RlY19zdHJ1Y3R1cmUpCi0gRW5hYmxlIHN1cHBvcnQgZm9yIERFQyBTVFJVQ1RV UkUvUkVDT1JELgotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wdGlvbnMuYyBiL2djYy9mb3J0 cmFuL29wdGlvbnMuYwotaW5kZXggOWEwNDJmNjQ4ODEuLmQ2YmQzNmMzYThhIDEwMDY0NAotLS0t IGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi0rKysgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMKLUBA IC03OSw2ICs3OSw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2YWx1ZSkKLSAgIFNFVF9CSVRGTEFH IChmbGFnX2RlY19jaGFyX2NvbnZlcnNpb25zLCB2YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJVEZM QUcgKGZsYWdfZGVjX2R1cGxpY2F0ZXMsIHZhbHVlLCB2YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAo ZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5kZXgsIHZhbHVlLCB2YWx1ZSk7Ci0rICBTRVRfQklURkxB RyAoZmxhZ19kZWNfb2xkX2luaXQsIHZhbHVlLCB2YWx1ZSk7Ci0gfQotIAotIC8qIEZpbmFsaXpl IERFQyBmbGFncy4gICovCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMS5mIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMS5m Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmVhYzRmOWJmY2YxCi0t LS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVk X3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8xLmYKLUBAIC0wLDAgKzEsMjUgQEAKLSshIHsg ZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0IG9sZCBz dHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcwotKyEKLSshIENvbnRyaWJ1dGVkIGJ5 IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgotKyEgTW9kaWZp ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQot KyAgICAgICAgUFJPR1JBTSBzcGVjX2luX3ZhcgotKyAgICAgICAgICBUWVBFIFNUUlVDVDEKLSsg ICAgICAgICAgICBJTlRFR0VSKjQgICAgICBJRCAgICAgICAvOC8KLSsgICAgICAgICAgICBJTlRF R0VSKjQgICAgICBUWVBFICAgICAvNS8KLSsgICAgICAgICAgICBJTlRFR0VSKjggICAgICBERUZW QUwgICAvMC8KLSsgICAgICAgICAgICBDSEFSQUNURVIqKDUpICBOQU1FICAgICAvJ3Rlc3RzJy8K LSsgICAgICAgICAgICBMT0dJQ0FMKjEgICAgICBOSUwgICAgICAvMC8KLSsgICAgICAgICAgRU5E IFRZUEUgU1RSVUNUMQotKwotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTSU5TVAotKwotKyAg ICAgICAgICBJRihTSU5TVCVJRC5ORS44KSBTVE9QIDEKLSsgICAgICAgICAgSUYoU0lOU1QlVFlQ RS5ORS41KSBTVE9QIDIKLSsgICAgICAgICAgSUYoU0lOU1QlREVGVkFMLk5FLjApIFNUT1AgMwot KyAgICAgICAgICBJRihTSU5TVCVOQU1FLk5FLid0ZXN0cycpIFNUT1AgNAotKyAgICAgICAgICBJ RihTSU5TVCVOSUwpIFNUT1AgNQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVf Mi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFs aXNlZF9vbGRfc3R5bGVfMi5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAw MDAuLmQ5MDRjOGIyOTc0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8yLmYKLUBAIC0w LDAgKzEsMjUgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLXN0ZD1sZWdh Y3kgLWZkZWMtb2xkLWluaXQiIH0KLSshCi0rISBUZXN0IG9sZCBzdHlsZSBpbml0aWFsaXplcnMg aW4gZGVyaXZlZCB0eXBlcwotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IEppbSBNYWNBcnRodXIgPGpp bS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0 b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICAgUFJPR1JBTSBz cGVjX2luX3ZhcgotKyAgICAgICAgICBUWVBFIFNUUlVDVDEKLSsgICAgICAgICAgICBJTlRFR0VS KjQgICAgICBJRCAgICAgICAvOC8KLSsgICAgICAgICAgICBJTlRFR0VSKjQgICAgICBUWVBFICAg ICAvNS8KLSsgICAgICAgICAgICBJTlRFR0VSKjggICAgICBERUZWQUwgICAvMC8KLSsgICAgICAg ICAgICBDSEFSQUNURVIqKDUpICBOQU1FICAgICAvJ3Rlc3RzJy8KLSsgICAgICAgICAgICBMT0dJ Q0FMKjEgICAgICBOSUwgICAgICAvMC8KLSsgICAgICAgICAgRU5EIFRZUEUgU1RSVUNUMQotKwot KyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTSU5TVAotKwotKyAgICAgICAgICBJRihTSU5TVCVJ RC5ORS44KSBTVE9QIDEKLSsgICAgICAgICAgSUYoU0lOU1QlVFlQRS5ORS41KSBTVE9QIDIKLSsg ICAgICAgICAgSUYoU0lOU1QlREVGVkFMLk5FLjApIFNUT1AgMwotKyAgICAgICAgICBJRihTSU5T VCVOQU1FLk5FLid0ZXN0cycpIFNUT1AgNAotKyAgICAgICAgICBJRihTSU5TVCVOSUwpIFNUT1Ag NQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMy5mIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMy5m Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjU4YzJiNGI2NmNmCi0t LS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVk X3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8zLmYKLUBAIC0wLDAgKzEsMjYgQEAKLSshIHsg ZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1zdGQ9bGVnYWN5IC1mZGVjIC1mbm8t ZGVjLW9sZC1pbml0IiB9Ci0rIQotKyEgVGVzdCBvbGQgc3R5bGUgaW5pdGlhbGl6ZXJzIGluIGRl cml2ZWQgdHlwZXMKLSshCi0rISBDb250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0ubWFj YXJ0aHVyQGNvZGV0aGluay5jby51az4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxt YXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsKLSsgICAgICAgIFBST0dSQU0gc3Bl Y19pbl92YXIKLSsgICAgICAgICAgVFlQRSBTVFJVQ1QxCi0rICAgICAgICAgICAgSU5URUdFUio0 ICAgICAgSUQgICAgICAgLzgvICEgeyBkZy1lcnJvciAiSW52YWxpZCBvbGQgc3R5bGUgaW5pdGlh bGl6YXRpb24iIH0KLSsgICAgICAgICAgICBJTlRFR0VSKjQgICAgICBUWVBFICAgICAvNS8gISB7 IGRnLWVycm9yICJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXphdGlvbiIgfQotKyAgICAgICAg ICAgIElOVEVHRVIqOCAgICAgIERFRlZBTCAgIC8wLyAhIHsgZGctZXJyb3IgIkludmFsaWQgb2xk IHN0eWxlIGluaXRpYWxpemF0aW9uIiB9Ci0rICAgICAgICAgICAgQ0hBUkFDVEVSKig1KSAgTkFN RSAgICAgLyd0ZXN0cycvICEgeyBkZy1lcnJvciAiSW52YWxpZCBvbGQgc3R5bGUgaW5pdGlhbGl6 YXRpb24iIH0KLSsgICAgICAgICAgICBMT0dJQ0FMKjEgICAgICBOSUwgICAgICAvMC8gISB7IGRn LWVycm9yICJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXphdGlvbiIgfQotKyAgICAgICAgICBF TkQgVFlQRSBTVFJVQ1QxCi0rCi0rICAgICAgICAgIFRZUEUgKFNUUlVDVDEpIFNJTlNUCi0rCi0r ICAgICAgICAgIElGKFNJTlNUJUlELk5FLjgpIFNUT1AgMSAhIHsgZGctZXJyb3IgIidpZCcgYXQg XFwoMVxcKSBpcyBub3QgYSBtZW1iZXIiIH0KLSsgICAgICAgICAgSUYoU0lOU1QlVFlQRS5ORS41 KSBTVE9QIDIgISB7IGRnLWVycm9yICIndHlwZScgYXQgXFwoMVxcKSBpcyBub3QgYSBtZW1iZXIi IH0KLSsgICAgICAgICAgSUYoU0lOU1QlREVGVkFMLk5FLjApIFNUT1AgMyAgISB7IGRnLWVycm9y ICInZGVmdmFsJyBhdCBcXCgxXFwpIGlzIG5vdCBhIG1lbWJlciIgfQotKyAgICAgICAgICBJRihT SU5TVCVOQU1FLk5FLid0ZXN0cycpIFNUT1AgNCAhIHsgZGctZXJyb3IgIiduYW1lJyBhdCBcXCgx XFwpIGlzIG5vdCBhIG1lbWJlciIgfQotKyAgICAgICAgICBJRihTSU5TVCVOSUwpIFNUT1AgNSAh IHsgZGctZXJyb3IgIiduaWwnIGF0IFxcKDFcXCkgaXMgbm90IGEgbWVtYmVyIiB9Ci0rICAgICAg ICBFTkQKLS0tIAotMi4yNy4wCi0KCmRpZmYgLS1naXQgYS9nY2MxMS1mb3J0cmFuLWZkZWMtb3Zl cnJpZGUta2luZC5wYXRjaCBiL2djYzExLWZvcnRyYW4tZmRlYy1vdmVycmlkZS1raW5kLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMWM3YjgzLi4wMDAwMDAwCi0tLSBhL2dj YzExLWZvcnRyYW4tZmRlYy1vdmVycmlkZS1raW5kLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs NTg4ICswLDAgQEAKLUZyb20gNzg2ODY5ZmQ2MjgxM2U4MGRhOWI2NTQ1YTI5NWQ1M2MzNjI3NWMx OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJrZWdn bGVzdG9uQGdjYy5nbnUub3JnPgotRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAxMzoxMjoxNCArMDAw MAotU3ViamVjdDogW1BBVENIIDA2LzEwXSBBbGxvdyBzdHJpbmcgbGVuZ3RoIGFuZCBraW5kIHRv IGJlIHNwZWNpZmllZCBvbiBhIHBlcgotIHZhcmlhYmxlIGJhc2lzLgotCi1UaGlzIGFsbG93cyBr aW5kL2xlbmd0aCB0byBiZSBtaXhlZCB3aXRoIGFycmF5IHNwZWNpZmljYXRpb24gaW4KLWRlY2xh cmF0aW9ucy4KLQotZS5nLgotCi0gICAgICBJTlRFR0VSKjQgeCoyLCB5KjgKLSAgICAgIENIQVJB Q1RFUiBuYW1lcyoyMCgxMCkKLSAgICAgIFJFQUwgdigxMDApKjgsIHZ2KjQoNTApCi0KLVRoZSBw ZXItdmFyaWFibGUgc2l6ZSBvdmVycmlkZXMgdGhlIGtpbmQgb3IgbGVuZ3RoIHNwZWNpZmllZCBm b3IgdGhlIHR5cGUuCi0KLVVzZSAtZmRlYy1vdmVycmlkZS1raW5kIHRvIGVuYWJsZS4gQWxzbyBl bmFibGVkIGJ5IC1mZGVjLgotCi1Ob3RlOiB0aGlzIGZlYXR1cmUgaXMgYSBtZXJnZXIgb2YgdHdv IHByZXZpb3VzbHkgc2VwYXJhdGUgZmVhdHVyZXMuCi0KLU5vdyBhY2NlcHRzIG5hbWVkIGNvbnN0 YW50cyBhcyBraW5kIHBhcmFtZXRlcnM6Ci0KLSAgICAgIElOVEVHRVIgQQotICAgICAgUEFSQU1F VEVSIChBPTIpCi0gICAgICBJTlRFR0VSIEIqKEEpCi0KLUNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdn bGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotCi1Ob3cgcmVqZWN0cyBpbnZh bGlkIGtpbmQgcGFyYW1ldGVycyBhbmQgcHJpbnRzIGVycm9yIG1lc3NhZ2VzOgotCi0gICAgICBJ TlRFR0VSIFgqMwotCi1jYXVzZWQgYW4gaW50ZXJuYWwgY29tcGlsZXIgZXJyb3IuCi0KLUNvbnRy aWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgot LS0tCi0gZ2NjL2ZvcnRyYW4vZGVjbC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTU2 ICsrKysrKysrKysrKysrLS0tLQotIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgNCArCi0gZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKLSAuLi4vZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25f MS5mICAgICAgfCAgMTMgKysKLSAuLi4vZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25f Mi5mICAgICAgfCAgMTMgKysKLSAuLi4vZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25f My5mICAgICAgfCAgMTMgKysKLSAuLi4vZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVf MS5mICAgICAgfCAgMzEgKysrKwotIC4uLi9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJs ZV8yLmYgICAgICB8ICAzMSArKysrCi0gLi4uL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3Zhcmlh YmxlXzMuZiAgICAgIHwgIDMxICsrKysKLSAuLi4vZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFy aWFibGVfNC5mICAgICAgfCAgMTQgKysKLSAuLi4vZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFy aWFibGVfNS5mICAgICAgfCAgMTkgKysrCi0gLi4uL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3Zh cmlhYmxlXzYuZiAgICAgIHwgIDE5ICsrKwotIC4uLi9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92 YXJpYWJsZV83LmYgICAgICB8ICAxNSArKwotIC4uLi9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92 YXJpYWJsZV84LmYgICAgICB8ICAxNCArKwotIDE0IGZpbGVzIGNoYW5nZWQsIDM0MCBpbnNlcnRp b25zKCspLCAzNCBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hhcl9hcnJheV9kZWNsYXJhdGlvbl8xLmYKLSBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hhcl9h cnJheV9kZWNsYXJhdGlvbl8yLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hhcl9hcnJheV9kZWNsYXJhdGlvbl8zLmYKLSBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJs ZV8xLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNf c3BlY19pbl92YXJpYWJsZV8yLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV8zLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV80LmYKLSBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJp YWJsZV81LmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfc3BlY19pbl92YXJpYWJsZV82LmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV83LmYKLSBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV84LmYKLQot ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2RlY2wuYyBiL2djYy9mb3J0cmFuL2RlY2wuYwotaW5k ZXggNWM4YzFiNzk4MWIuLmY3ZGM5ZDgyNjNkIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vZGVj bC5jCi0rKysgYi9nY2MvZm9ydHJhbi9kZWNsLmMKLUBAIC0xMjEzLDYgKzEyMTMsNTQgQEAgc3lu dGF4OgotICAgcmV0dXJuIE1BVENIX0VSUk9SOwotIH0KLSAKLSsvKiBUaGlzIG1hdGNoZXMgdGhl IG5vbnN0YW5kYXJkIGtpbmQgZ2l2ZW4gYWZ0ZXIgYSB2YXJpYWJsZSBuYW1lLCBsaWtlOgotKyAg IElOVEVHRVIgeCoyLCB5KjQKLSsgICBUaGUgcGVyLXZhcmlhYmxlIGtpbmQgd2lsbCBvdmVycmlk ZSBhbnkga2luZCBnaXZlbiBpbiB0aGUgdHlwZQotKyAgIGRlY2xhcmF0aW9uLgotKyovCi0rCi0r c3RhdGljIG1hdGNoCi0rbWF0Y2hfcGVyX3N5bWJvbF9raW5kIChpbnQgKmxlbmd0aCkKLSt7Ci0r ICBtYXRjaCBtOwotKyAgZ2ZjX2V4cHIgKmV4cHIgPSBOVUxMOwotKwotKyAgbSA9IGdmY19tYXRj aF9jaGFyICgnKicpOwotKyAgaWYgKG0gIT0gTUFUQ0hfWUVTKQotKyAgICByZXR1cm4gbTsKLSsK LSsgIG0gPSBnZmNfbWF0Y2hfc21hbGxfbGl0ZXJhbF9pbnQgKGxlbmd0aCwgTlVMTCk7Ci0rICBp ZiAobSA9PSBNQVRDSF9ZRVMgfHwgbSA9PSBNQVRDSF9FUlJPUikKLSsgICAgcmV0dXJuIG07Ci0r Ci0rICBpZiAoZ2ZjX21hdGNoX2NoYXIgKCcoJykgPT0gTUFUQ0hfTk8pCi0rICAgIHJldHVybiBN QVRDSF9FUlJPUjsKLSsKLSsgIG0gPSBnZmNfbWF0Y2hfZXhwciAoJmV4cHIpOwotKyAgaWYgKG0g PT0gTUFUQ0hfWUVTKQotKyAgICB7Ci0rICAgICAgbSA9IE1BVENIX0VSUk9SOyAvLyBBc3N1bWUg ZXJyb3IKLSsgICAgICBpZiAoZ2ZjX2V4cHJfY2hlY2tfdHlwZWQgKGV4cHIsIGdmY19jdXJyZW50 X25zLCBmYWxzZSkpCi0rCXsKLSsJICBpZiAoKGV4cHItPmV4cHJfdHlwZSA9PSBFWFBSX0NPTlNU QU5UKQotKwkgICAgICAmJiAoZXhwci0+dHMudHlwZSA9PSBCVF9JTlRFR0VSKSkKLSsJICAgIHsK LSsJICAgICAgKmxlbmd0aCA9IG1wel9nZXRfc2koZXhwci0+dmFsdWUuaW50ZWdlcik7Ci0rCSAg ICAgIG0gPSBNQVRDSF9ZRVM7Ci0rCSAgICB9Ci0rCX0KLSsKLSsJaWYgKG0gPT0gTUFUQ0hfWUVT KQotKwkgIHsKLSsJICAgIGlmIChnZmNfbWF0Y2hfY2hhciAoJyknKSA9PSBNQVRDSF9OTykKLSsJ ICAgICAgIG0gPSBNQVRDSF9FUlJPUjsKLSsgIH0KLSsgICAgIH0KLSsKLSsgIGlmIChleHByICE9 IE5VTEwpCi0rICAgICBnZmNfZnJlZV9leHByIChleHByKTsKLSsgIHJldHVybiBtOwotK30KLSAK LSAvKiBTcGVjaWFsIHN1YnJvdXRpbmUgZm9yIGZpbmRpbmcgYSBzeW1ib2wuICBDaGVjayBpZiB0 aGUgbmFtZSBpcyBmb3VuZAotICAgIGluIHRoZSBjdXJyZW50IG5hbWUgc3BhY2UuICBJZiBub3Qs IGFuZCB3ZSdyZSBjb21waWxpbmcgYSBmdW5jdGlvbiBvcgotQEAgLTI0NDMsNiArMjQ5MSwzNSBA QCBjaGVja19mdW5jdGlvbl9uYW1lIChjaGFyICpuYW1lKQotIH0KLSAKLSAKLStzdGF0aWMgbWF0 Y2gKLSttYXRjaF9jaGFyYWN0ZXJfbGVuZ3RoX2NsYXVzZSAoZ2ZjX2NoYXJsZW4gKipjbCwgYm9v bCAqY2xfZGVmZXJyZWQsIGludCBlbGVtKQotK3sKLSsgIGdmY19leHByKiBjaGFyX2xlbjsKLSsg IGNoYXJfbGVuID0gTlVMTDsKLSsKLSsgIG1hdGNoIG0gPSBtYXRjaF9jaGFyX2xlbmd0aCAoJmNo YXJfbGVuLCBjbF9kZWZlcnJlZCwgZmFsc2UpOwotKyAgaWYgKG0gPT0gTUFUQ0hfWUVTKQotKyAg ICB7Ci0rICAgICAgKmNsID0gZ2ZjX25ld19jaGFybGVuIChnZmNfY3VycmVudF9ucywgTlVMTCk7 Ci0rICAgICAgKCpjbCktPmxlbmd0aCA9IGNoYXJfbGVuOwotKyAgICB9Ci0rICBlbHNlIGlmICht ID09IE1BVENIX05PKQotKyAgICB7Ci0rICAgICAgaWYgKGVsZW0gPiAxCi0rCSAgJiYgKGN1cnJl bnRfdHMudS5jbC0+bGVuZ3RoID09IE5VTEwKLSsJICAgICAgfHwgY3VycmVudF90cy51LmNsLT5s ZW5ndGgtPmV4cHJfdHlwZSAhPSBFWFBSX0NPTlNUQU5UKSkKLSsJewotKwkgICpjbCA9IGdmY19u ZXdfY2hhcmxlbiAoZ2ZjX2N1cnJlbnRfbnMsIE5VTEwpOwotKwkgICgqY2wpLT5sZW5ndGggPSBn ZmNfY29weV9leHByIChjdXJyZW50X3RzLnUuY2wtPmxlbmd0aCk7Ci0rCX0KLSsgICAgICBlbHNl Ci0rICAgICAgKmNsID0gY3VycmVudF90cy51LmNsOwotKwotKyAgICAgICpjbF9kZWZlcnJlZCA9 IGN1cnJlbnRfdHMuZGVmZXJyZWQ7Ci0rICAgIH0KLSsgIHJldHVybiBtOwotK30KLSsKLSAvKiBN YXRjaCBhIHZhcmlhYmxlIG5hbWUgd2l0aCBhbiBvcHRpb25hbCBpbml0aWFsaXplci4gIFdoZW4g dGhpcwotICAgIHN1YnJvdXRpbmUgaXMgY2FsbGVkLCBhIHZhcmlhYmxlIGlzIGV4cGVjdGVkIHRv IGJlIHBhcnNlZCBuZXh0LgotICAgIERlcGVuZGluZyBvbiB3aGF0IGlzIGhhcHBlbmluZyBhdCB0 aGUgbW9tZW50LCB1cGRhdGVzIGVpdGhlciB0aGUKLUBAIC0yNDUzLDcgKzI1MzAsNyBAQCB2YXJp YWJsZV9kZWNsIChpbnQgZWxlbSkKLSB7Ci0gICBjaGFyIG5hbWVbR0ZDX01BWF9TWU1CT0xfTEVO ICsgMV07Ci0gICBzdGF0aWMgdW5zaWduZWQgaW50IGZpbGxfaWQgPSAwOwotLSAgZ2ZjX2V4cHIg KmluaXRpYWxpemVyLCAqY2hhcl9sZW47Ci0rICBnZmNfZXhwciAqaW5pdGlhbGl6ZXI7Ci0gICBn ZmNfYXJyYXlfc3BlYyAqYXM7Ci0gICBnZmNfYXJyYXlfc3BlYyAqY3BfYXM7IC8qIEV4dHJhIGNv cHkgZm9yIENyYXkgUG9pbnRlZXMuICAqLwotICAgZ2ZjX2NoYXJsZW4gKmNsOwotQEAgLTI0NjIs MTEgKzI1MzksMTUgQEAgdmFyaWFibGVfZGVjbCAoaW50IGVsZW0pCi0gICBtYXRjaCBtOwotICAg Ym9vbCB0OwotICAgZ2ZjX3N5bWJvbCAqc3ltOwotKyAgbWF0Y2ggY2xfbWF0Y2g7Ci0rICBtYXRj aCBraW5kX21hdGNoOwotKyAgaW50IG92ZXJyaWRkZW5fa2luZDsKLSAgIGNoYXIgYzsKLSAKLSAg IGluaXRpYWxpemVyID0gTlVMTDsKLSAgIGFzID0gTlVMTDsKLSAgIGNwX2FzID0gTlVMTDsKLSsg IGtpbmRfbWF0Y2ggPSBNQVRDSF9OTzsKLSAKLSAgIC8qIFdoZW4gd2UgZ2V0IGhlcmUsIHdlJ3Zl IGp1c3QgbWF0Y2hlZCBhIGxpc3Qgb2YgYXR0cmlidXRlcyBhbmQKLSAgICAgIG1heWJlIGEgdHlw ZSBhbmQgYSBkb3VibGUgY29sb24uICBUaGUgbmV4dCB0aGluZyB3ZSBleHBlY3QgdG8gc2VlCi1A QCAtMjUxOSw2ICsyNjAwLDI4IEBAIHZhcmlhYmxlX2RlY2wgKGludCBlbGVtKQotIAotICAgdmFy X2xvY3VzID0gZ2ZjX2N1cnJlbnRfbG9jdXM7Ci0gCi0rCi0rICBjbCA9IE5VTEw7Ci0rICBjbF9k ZWZlcnJlZCA9IGZhbHNlOwotKyAgY2xfbWF0Y2ggPSBNQVRDSF9OTzsKLSsKLSsgIC8qIENoZWNr IGZvciBhIGNoYXJhY3RlciBsZW5ndGggY2xhdXNlIGJlZm9yZSBhbiBhcnJheSBjbGF1c2UgKi8K LSsgIGlmIChmbGFnX2RlY19vdmVycmlkZV9raW5kKQotKyAgICB7Ci0rICAgICAgaWYgKGN1cnJl bnRfdHMudHlwZSA9PSBCVF9DSEFSQUNURVIpCi0rCXsKLSsJICBjbF9tYXRjaCA9IG1hdGNoX2No YXJhY3Rlcl9sZW5ndGhfY2xhdXNlICgmY2wsICZjbF9kZWZlcnJlZCwgZWxlbSk7Ci0rCSAgaWYg KGNsX21hdGNoID09IE1BVENIX0VSUk9SKQotKwkgICAgZ290byBjbGVhbnVwOwotKwl9Ci0rICAg ICAgZWxzZQotKwl7Ci0rCSAga2luZF9tYXRjaCA9IG1hdGNoX3Blcl9zeW1ib2xfa2luZCAoJm92 ZXJyaWRkZW5fa2luZCk7Ci0rCSAgaWYgKGtpbmRfbWF0Y2ggPT0gTUFUQ0hfRVJST1IpCi0rCSAg ICBnb3RvIGNsZWFudXA7Ci0rCX0KLSsgICAgfQotKwotICAgLyogTm93IHdlIGNvdWxkIHNlZSB0 aGUgb3B0aW9uYWwgYXJyYXkgc3BlYy4gb3IgY2hhcmFjdGVyIGxlbmd0aC4gICovCi0gICBtID0g Z2ZjX21hdGNoX2FycmF5X3NwZWMgKCZhcywgdHJ1ZSwgdHJ1ZSk7Ci0gICBpZiAobSA9PSBNQVRD SF9FUlJPUikKLUBAIC0yNjY3LDQwICsyNzcwLDEyIEBAIHZhcmlhYmxlX2RlY2wgKGludCBlbGVt KQotIAl9Ci0gICAgIH0KLSAKLS0gIGNoYXJfbGVuID0gTlVMTDsKLS0gIGNsID0gTlVMTDsKLS0g IGNsX2RlZmVycmVkID0gZmFsc2U7Ci0tCi0tICBpZiAoY3VycmVudF90cy50eXBlID09IEJUX0NI QVJBQ1RFUikKLSsgIC8qIFNlY29uZCBjaGFuY2UgZm9yIGEgY2hhcmFjdGVyIGxlbmd0aCBjbGF1 c2UgKi8KLSsgIGlmIChjbF9tYXRjaCA9PSBNQVRDSF9OTyAmJiBjdXJyZW50X3RzLnR5cGUgPT0g QlRfQ0hBUkFDVEVSKQotICAgICB7Ci0tICAgICAgc3dpdGNoIChtYXRjaF9jaGFyX2xlbmd0aCAo JmNoYXJfbGVuLCAmY2xfZGVmZXJyZWQsIGZhbHNlKSkKLS0JewotLQljYXNlIE1BVENIX1lFUzoK LS0JICBjbCA9IGdmY19uZXdfY2hhcmxlbiAoZ2ZjX2N1cnJlbnRfbnMsIE5VTEwpOwotLQotLQkg IGNsLT5sZW5ndGggPSBjaGFyX2xlbjsKLS0JICBicmVhazsKLS0KLS0JLyogTm9uLWNvbnN0YW50 IGxlbmd0aHMgbmVlZCB0byBiZSBjb3BpZWQgYWZ0ZXIgdGhlIGZpcnN0Ci0tCSAgIGVsZW1lbnQu ICBBbHNvIGNvcHkgYXNzdW1lZCBsZW5ndGhzLiAgKi8KLS0JY2FzZSBNQVRDSF9OTzoKLS0JICBp ZiAoZWxlbSA+IDEKLS0JICAgICAgJiYgKGN1cnJlbnRfdHMudS5jbC0+bGVuZ3RoID09IE5VTEwK LS0JCSAgfHwgY3VycmVudF90cy51LmNsLT5sZW5ndGgtPmV4cHJfdHlwZSAhPSBFWFBSX0NPTlNU QU5UKSkKLS0JICAgIHsKLS0JICAgICAgY2wgPSBnZmNfbmV3X2NoYXJsZW4gKGdmY19jdXJyZW50 X25zLCBOVUxMKTsKLS0JICAgICAgY2wtPmxlbmd0aCA9IGdmY19jb3B5X2V4cHIgKGN1cnJlbnRf dHMudS5jbC0+bGVuZ3RoKTsKLS0JICAgIH0KLS0JICBlbHNlCi0tCSAgICBjbCA9IGN1cnJlbnRf dHMudS5jbDsKLS0KLS0JICBjbF9kZWZlcnJlZCA9IGN1cnJlbnRfdHMuZGVmZXJyZWQ7Ci0tCi0t CSAgYnJlYWs7Ci0tCi0tCWNhc2UgTUFUQ0hfRVJST1I6Ci0tCSAgZ290byBjbGVhbnVwOwotLQl9 Ci0rICAgICAgbSA9IG1hdGNoX2NoYXJhY3Rlcl9sZW5ndGhfY2xhdXNlICgmY2wsICZjbF9kZWZl cnJlZCwgZWxlbSk7Ci0rICAgICAgaWYgKG0gPT0gTUFUQ0hfRVJST1IpCi0rCWdvdG8gY2xlYW51 cDsKLSAgICAgfQotIAotICAgLyogVGhlIGR1bW15IGFyZ3VtZW50cyBhbmQgcmVzdWx0IG9mIHRo ZSBhYnJldmlhdGVkIGZvcm0gb2YgTU9EVUxFCi1AQCAtMjgwMiw2ICsyODc3LDE5IEBAIHZhcmlh YmxlX2RlY2wgKGludCBlbGVtKQotICAgICAgIGdvdG8gY2xlYW51cDsKLSAgICAgfQotIAotKyAg aWYgKGtpbmRfbWF0Y2ggPT0gTUFUQ0hfWUVTKQotKyAgICB7Ci0rICAgICAgZ2ZjX2ZpbmRfc3lt Ym9sIChuYW1lLCBnZmNfY3VycmVudF9ucywgMSwgJnN5bSk7Ci0rICAgICAgLyogc3ltICptdXN0 KiBiZSBmb3VuZCBhdCB0aGlzIHBvaW50ICovCi0rICAgICAgc3ltLT50cy5raW5kID0gb3ZlcnJp ZGRlbl9raW5kOwotKyAgICAgIGlmIChnZmNfdmFsaWRhdGVfa2luZCAoc3ltLT50cy50eXBlLCBz eW0tPnRzLmtpbmQsIHRydWUpIDwgMCkKLSsJewotKwkgIGdmY19lcnJvciAoIktpbmQgJWQgbm90 IHN1cHBvcnRlZCBmb3IgdHlwZSAlcyBhdCAlQyIsCi0rCQkgICAgIHN5bS0+dHMua2luZCwgZ2Zj X2Jhc2ljX3R5cGVuYW1lIChzeW0tPnRzLnR5cGUpKTsKLSsJICByZXR1cm4gTUFUQ0hfRVJST1I7 Ci0rCX0KLSsgICAgfQotKwotICAgaWYgKCFjaGVja19mdW5jdGlvbl9uYW1lIChuYW1lKSkKLSAg ICAgewotICAgICAgIG0gPSBNQVRDSF9FUlJPUjsKLWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9s YW5nLm9wdCBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1pbmRleCAyNWNjOTQ4Njk5Yi4uNGEyNjll YmIyMmQgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9sYW5nLm9wdAotKysrIGIvZ2NjL2ZvcnRy YW4vbGFuZy5vcHQKLUBAIC00OTMsNiArNDkzLDEwIEBAIGZkZWMtbm9uLWludGVnZXItaW5kZXgK LSBGb3J0cmFuIFZhcihmbGFnX2RlY19ub25faW50ZWdlcl9pbmRleCkKLSBFbmFibGUgc3VwcG9y dCBmb3Igbm9uLWludGVnZXIgc3Vic3RyaW5nIGluZGV4ZXMuCi0gCi0rZmRlYy1vdmVycmlkZS1r aW5kCi0rRm9ydHJhbiBWYXIoZmxhZ19kZWNfb3ZlcnJpZGVfa2luZCkKLStFbmFibGUgc3VwcG9y dCBmb3IgcGVyIHZhcmlhYmxlIGtpbmQgc3BlY2lmaWNhdGlvbi4KLSsKLSBmZGVjLW9sZC1pbml0 Ci0gRm9ydHJhbiBWYXIoZmxhZ19kZWNfb2xkX2luaXQpCi0gRW5hYmxlIHN1cHBvcnQgZm9yIG9s ZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcy4KLWRpZmYgLS1naXQgYS9nY2Mv Zm9ydHJhbi9vcHRpb25zLmMgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMKLWluZGV4IGQ2YmQzNmMz YThhLi5lZGJhYjQ4M2IzNiAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMuYwotKysr IGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi1AQCAtODAsNiArODAsNyBAQCBzZXRfZGVjX2ZsYWdz IChpbnQgdmFsdWUpCi0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfZHVwbGljYXRlcywgdmFsdWUs IHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25faW50ZWdlcl9pbmRleCwgdmFs dWUsIHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vbGRfaW5pdCwgdmFsdWUsIHZh bHVlKTsKLSsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vdmVycmlkZV9raW5kLCB2YWx1ZSwgdmFs dWUpOwotIH0KLSAKLSAvKiBGaW5hbGl6ZSBERUMgZmxhZ3MuICAqLwotZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25f MS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hhcl9hcnJheV9kZWNs YXJhdGlvbl8xLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uNzA2 ZWE0MTEyYTQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25fMS5mCi1AQCAtMCwwICsxLDEzIEBACi0r ISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgVGVzdCBj aGFyYWN0ZXIgZGVjbGFyYXRpb24gd2l0aCBtaXhlZCBzdHJpbmcgbGVuZ3RoIGFuZCBhcnJheSBz cGVjaWZpY2F0aW9uCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1h Y2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8 bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgIFBST0dSQU0gY2hhcmFj dGVyX2RlY2xhcmF0aW9uCi0rICAgICAgICAgIENIQVJBQ1RFUiBBU1BFQ19TTEVOR1RIKjIgKDUp IC8nMDEnLCcwMicsJzAzJywnMDQnLCcwNScvCi0rICAgICAgICAgIENIQVJBQ1RFUiBTTEVOR1RI X0FTUEVDKDUpKjIgLycwMScsJzAyJywnMDMnLCcwNCcsJzA1Jy8KLSsgICAgICAgICAgaWYgKEFT UEVDX1NMRU5HVEgoMykuTkUuU0xFTkdUSF9BU1BFQygzKSkgU1RPUCAxCi0rICAgICAgICBFTkQK LWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19taXhlZF9jaGFyX2Fy cmF5X2RlY2xhcmF0aW9uXzIuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX21peGVk X2NoYXJfYXJyYXlfZGVjbGFyYXRpb25fMi5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMDAwMDAuLjI2ZDJhY2YwMWRlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19taXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzIuZgotQEAg LTAsMCArMSwxMyBAQAotKyEgeyBkZy1kbyBydW4gfQotKyEgeyBkZy1vcHRpb25zICItZmRlYy1v dmVycmlkZS1raW5kIiB9Ci0rIQotKyEgVGVzdCBjaGFyYWN0ZXIgZGVjbGFyYXRpb24gd2l0aCBt aXhlZCBzdHJpbmcgbGVuZ3RoIGFuZCBhcnJheSBzcGVjaWZpY2F0aW9uCi0rIQotKyEgQ29udHJp YnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Ci0r ISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNv bT4KLSshCi0rICAgICAgICBQUk9HUkFNIGNoYXJhY3Rlcl9kZWNsYXJhdGlvbgotKyAgICAgICAg ICBDSEFSQUNURVIgQVNQRUNfU0xFTkdUSCoyICg1KSAvJzAxJywnMDInLCcwMycsJzA0JywnMDUn LwotKyAgICAgICAgICBDSEFSQUNURVIgU0xFTkdUSF9BU1BFQyg1KSoyIC8nMDEnLCcwMicsJzAz JywnMDQnLCcwNScvCi0rICAgICAgICAgIGlmIChBU1BFQ19TTEVOR1RIKDMpLk5FLlNMRU5HVEhf QVNQRUMoMykpIFNUT1AgMQotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hhcl9hcnJheV9kZWNsYXJhdGlvbl8zLmYgYi9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19taXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzMu ZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi43NmU0ZjBiZGI5Mwot LS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbWl4ZWRf Y2hhcl9hcnJheV9kZWNsYXJhdGlvbl8zLmYKLUBAIC0wLDAgKzEsMTMgQEAKLSshIHsgZGctZG8g Y29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLW92ZXJyaWRlLWtpbmQgLWZuby1kZWMt b3ZlcnJpZGUta2luZCIgfQotKyEKLSshIFRlc3QgY2hhcmFjdGVyIGRlY2xhcmF0aW9uIHdpdGgg bWl4ZWQgc3RyaW5nIGxlbmd0aCBhbmQgYXJyYXkgc3BlY2lmaWNhdGlvbgotKyEKLSshIENvbnRy aWJ1dGVkIGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgot KyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5j b20+Ci0rIQotKyAgICAgICAgUFJPR1JBTSBjaGFyYWN0ZXJfZGVjbGFyYXRpb24KLSsgICAgICAg ICAgQ0hBUkFDVEVSIEFTUEVDX1NMRU5HVEgqMiAoNSkgLycwMScsJzAyJywnMDMnLCcwNCcsJzA1 Jy8gISB7IGRnLWVycm9yICJTeW50YXggZXJyb3IiIH0KLSsgICAgICAgICAgQ0hBUkFDVEVSIFNM RU5HVEhfQVNQRUMoNSkqMiAvJzAxJywnMDInLCcwMycsJzA0JywnMDUnLwotKyAgICAgICAgICBp ZiAoQVNQRUNfU0xFTkdUSCgzKS5ORS5TTEVOR1RIX0FTUEVDKDMpKSBTVE9QIDEgISB7IGRnLWVy cm9yICIgT3BlcmFuZHMgb2YgY29tcGFyaXNvbiBvcGVyYXRvciIgfQotKyAgICAgICAgRU5ECi1k aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJs ZV8xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzEu ZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5lZGQwZjU4NzRiNwot LS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19p bl92YXJpYWJsZV8xLmYKLUBAIC0wLDAgKzEsMzEgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsg ZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0IGtpbmQgc3BlY2lmaWNhdGlvbiBpbiB2 YXJpYWJsZSBub3QgaW4gdHlwZQotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9u IDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICAgIHByb2dyYW0gc3Bl Y19pbl92YXIKLSsgICAgICAgICAgaW50ZWdlcio4ICBhaSoxLCBiaSo0LCBjaQotKyAgICAgICAg ICByZWFsKjQgYXIqNCwgYnIqOCwgY3IKLSsKLSsgICAgICAgICAgYWkgPSAxCi0rICAgICAgICAg IGFyID0gMS4wCi0rICAgICAgICAgIGJpID0gMgotKyAgICAgICAgICBiciA9IDIuMAotKyAgICAg ICAgICBjaSA9IDMKLSsgICAgICAgICAgY3IgPSAzLjAKLSsKLSsgICAgICAgICAgaWYgKGFpIC5u ZS4gMSkgc3RvcCAxCi0rICAgICAgICAgIGlmIChhYnMoYXIgLSAxLjApID4gMS4wRC02KSBzdG9w IDIKLSsgICAgICAgICAgaWYgKGJpIC5uZS4gMikgc3RvcCAzCi0rICAgICAgICAgIGlmIChhYnMo YnIgLSAyLjApID4gMS4wRC02KSBzdG9wIDQKLSsgICAgICAgICAgaWYgKGNpIC5uZS4gMykgc3Rv cCA1Ci0rICAgICAgICAgIGlmIChhYnMoY3IgLSAzLjApID4gMS4wRC02KSBzdG9wIDYKLSsgICAg ICAgICAgaWYgKGtpbmQoYWkpIC5uZS4gMSkgc3RvcCA3Ci0rICAgICAgICAgIGlmIChraW5kKGFy KSAubmUuIDQpIHN0b3AgOAotKyAgICAgICAgICBpZiAoa2luZChiaSkgLm5lLiA0KSBzdG9wIDkK LSsgICAgICAgICAgaWYgKGtpbmQoYnIpIC5uZS4gOCkgc3RvcCAxMAotKyAgICAgICAgICBpZiAo a2luZChjaSkgLm5lLiA4KSBzdG9wIDExCi0rICAgICAgICAgIGlmIChraW5kKGNyKSAubmUuIDQp IHN0b3AgMTIKLSsgICAgICAgIGVuZAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9kZWNfc3BlY19pbl92YXJpYWJsZV8yLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAw MDAwMDAwMDAwMC4uYmZhYmE1ODRkYmIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMi5mCi1AQCAtMCwwICsxLDMxIEBA Ci0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLW92ZXJyaWRlLWtpbmQi IH0KLSshCi0rISBUZXN0IGtpbmQgc3BlY2lmaWNhdGlvbiBpbiB2YXJpYWJsZSBub3QgaW4gdHlw ZQotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBj b2RldGhpbmsuY29tPgotKyEKLSsgICAgICAgIHByb2dyYW0gc3BlY19pbl92YXIKLSsgICAgICAg ICAgaW50ZWdlcio4ICBhaSoxLCBiaSo0LCBjaQotKyAgICAgICAgICByZWFsKjQgYXIqNCwgYnIq OCwgY3IKLSsKLSsgICAgICAgICAgYWkgPSAxCi0rICAgICAgICAgIGFyID0gMS4wCi0rICAgICAg ICAgIGJpID0gMgotKyAgICAgICAgICBiciA9IDIuMAotKyAgICAgICAgICBjaSA9IDMKLSsgICAg ICAgICAgY3IgPSAzLjAKLSsKLSsgICAgICAgICAgaWYgKGFpIC5uZS4gMSkgc3RvcCAxCi0rICAg ICAgICAgIGlmIChhYnMoYXIgLSAxLjApID4gMS4wRC02KSBzdG9wIDIKLSsgICAgICAgICAgaWYg KGJpIC5uZS4gMikgc3RvcCAzCi0rICAgICAgICAgIGlmIChhYnMoYnIgLSAyLjApID4gMS4wRC02 KSBzdG9wIDQKLSsgICAgICAgICAgaWYgKGNpIC5uZS4gMykgc3RvcCA1Ci0rICAgICAgICAgIGlm IChhYnMoY3IgLSAzLjApID4gMS4wRC02KSBzdG9wIDYKLSsgICAgICAgICAgaWYgKGtpbmQoYWkp IC5uZS4gMSkgc3RvcCA3Ci0rICAgICAgICAgIGlmIChraW5kKGFyKSAubmUuIDQpIHN0b3AgOAot KyAgICAgICAgICBpZiAoa2luZChiaSkgLm5lLiA0KSBzdG9wIDkKLSsgICAgICAgICAgaWYgKGtp bmQoYnIpIC5uZS4gOCkgc3RvcCAxMAotKyAgICAgICAgICBpZiAoa2luZChjaSkgLm5lLiA4KSBz dG9wIDExCi0rICAgICAgICAgIGlmIChraW5kKGNyKSAubmUuIDQpIHN0b3AgMTIKLSsgICAgICAg IGVuZAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5f dmFyaWFibGVfMy5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJp YWJsZV8zLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uNWZmNDM0 ZTc0NjYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVj X3NwZWNfaW5fdmFyaWFibGVfMy5mCi1AQCAtMCwwICsxLDMxIEBACi0rISB7IGRnLWRvIGNvbXBp bGUgfQotKyEgeyBkZy1vcHRpb25zICItZmRlYyAtZm5vLWRlYy1vdmVycmlkZS1raW5kIiB9Ci0r IQotKyEgVGVzdCBraW5kIHNwZWNpZmljYXRpb24gaW4gdmFyaWFibGUgbm90IGluIHR5cGUKLSsh Ci0rISBDb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRo aW5rLmNvbT4KLSshCi0rICAgICAgICBwcm9ncmFtIHNwZWNfaW5fdmFyCi0rICAgICAgICAgIGlu dGVnZXIqOCAgYWkqMSwgYmkqNCwgY2kgISB7IGRnLWVycm9yICJTeW50YXggZXJyb3IiIH0KLSsg ICAgICAgICAgcmVhbCo0IGFyKjQsIGJyKjgsIGNyICEgeyBkZy1lcnJvciAiU3ludGF4IGVycm9y IiB9Ci0rCi0rICAgICAgICAgIGFpID0gMQotKyAgICAgICAgICBhciA9IDEuMAotKyAgICAgICAg ICBiaSA9IDIKLSsgICAgICAgICAgYnIgPSAyLjAKLSsgICAgICAgICAgY2kgPSAzCi0rICAgICAg ICAgIGNyID0gMy4wCi0rCi0rICAgICAgICAgIGlmIChhaSAubmUuIDEpIHN0b3AgMQotKyAgICAg ICAgICBpZiAoYWJzKGFyIC0gMS4wKSA+IDEuMEQtNikgc3RvcCAyCi0rICAgICAgICAgIGlmIChi aSAubmUuIDIpIHN0b3AgMwotKyAgICAgICAgICBpZiAoYWJzKGJyIC0gMi4wKSA+IDEuMEQtNikg c3RvcCA0Ci0rICAgICAgICAgIGlmIChjaSAubmUuIDMpIHN0b3AgNQotKyAgICAgICAgICBpZiAo YWJzKGNyIC0gMy4wKSA+IDEuMEQtNikgc3RvcCA2Ci0rICAgICAgICAgIGlmIChraW5kKGFpKSAu bmUuIDEpIHN0b3AgNwotKyAgICAgICAgICBpZiAoa2luZChhcikgLm5lLiA0KSBzdG9wIDgKLSsg ICAgICAgICAgaWYgKGtpbmQoYmkpIC5uZS4gNCkgc3RvcCA5Ci0rICAgICAgICAgIGlmIChraW5k KGJyKSAubmUuIDgpIHN0b3AgMTAKLSsgICAgICAgICAgaWYgKGtpbmQoY2kpIC5uZS4gOCkgc3Rv cCAxMQotKyAgICAgICAgICBpZiAoa2luZChjcikgLm5lLiA0KSBzdG9wIDEyCi0rICAgICAgICBl bmQKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3Zh cmlhYmxlXzQuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFi bGVfNC5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmMwMTk4MGU4 YjlkCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19z cGVjX2luX3ZhcmlhYmxlXzQuZgotQEAgLTAsMCArMSwxNCBAQAotKyEgeyBkZy1kbyBjb21waWxl IH0KLSshCi0rISBUZXN0IGtpbmQgc3BlY2lmaWNhdGlvbiBpbiB2YXJpYWJsZSBub3QgaW4gdHlw ZS4gVGhlIHBlciB2YXJpYWJsZQotKyEga2luZCBzcGVjaWZpY2F0aW9uIGlzIG5vdCBlbmFibGVk IHNvIHRoZXNlIHNob3VsZCBmYWlsCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0 b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICAgcHJvZ3JhbSBz cGVjX2luX3ZhcgotKyAgICAgICAgICBpbnRlZ2VyIGEKLSsgICAgICAgICAgcGFyYW1ldGVyKGE9 MikKLSsgICAgICAgICAgaW50ZWdlciBiKihhKSAhIHsgZGctZXJyb3IgIlN5bnRheCBlcnJvciIg fQotKyAgICAgICAgICByZWFsIGMqKDgpICAgICEgeyBkZy1lcnJvciAiU3ludGF4IGVycm9yIiB9 Ci0rICAgICAgICAgIGxvZ2ljYWwgZCoxXzEgISB7IGRnLWVycm9yICJTeW50YXggZXJyb3IiIH0K LSsgICAgICAgIGVuZAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVj X3NwZWNfaW5fdmFyaWFibGVfNS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3Bl Y19pbl92YXJpYWJsZV81LmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAw MC4uZTJmMzlkYTNmNGYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfNS5mCi1AQCAtMCwwICsxLDE5IEBACi0rISB7IGRn LWRvIHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLW92ZXJyaWRlLWtpbmQiIH0KLSshCi0r ISBUZXN0IGtpbmQgc3BlY2lmaWNhdGlvbiBpbiB2YXJpYWJsZSBub3QgaW4gdHlwZQotKyEKLSsh IENvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsu Y29tPgotKyEKLSsgICAgICAgIHByb2dyYW0gc3BlY19pbl92YXIKLSsgICAgICAgICAgaW50ZWdl ciBhCi0rICAgICAgICAgIHBhcmFtZXRlcihhPTIpCi0rICAgICAgICAgIGludGVnZXIgYiooYSkK LSsgICAgICAgICAgcmVhbCBjKig4KQotKyAgICAgICAgICBsb2dpY2FsIGQqKDFfMSkKLSsgICAg ICAgICAgY2hhcmFjdGVyIGUqKGEpCi0rICAgICAgICAgIGlmIChraW5kKGIpLm5lLjIpIHN0b3Ag MQotKyAgICAgICAgICBpZiAoa2luZChjKS5uZS44KSBzdG9wIDIKLSsgICAgICAgICAgaWYgKGtp bmQoZCkubmUuMSkgc3RvcCAzCi0rICAgICAgICAgIGlmIChsZW4oZSkubmUuMikgc3RvcCA0Ci0r ICAgICAgICBlbmQKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19z cGVjX2luX3ZhcmlhYmxlXzYuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNf aW5fdmFyaWFibGVfNi5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAu LjU2OTc0Nzg3NGUzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzYuZgotQEAgLTAsMCArMSwxOSBAQAotKyEgeyBkZy1k byBydW4gfQotKyEgeyBkZy1vcHRpb25zICItZmRlYyIgfQotKyEKLSshIFRlc3Qga2luZCBzcGVj aWZpY2F0aW9uIGluIHZhcmlhYmxlIG5vdCBpbiB0eXBlCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkg TWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAg ICAgcHJvZ3JhbSBzcGVjX2luX3ZhcgotKyAgICAgICAgICBpbnRlZ2VyIGEKLSsgICAgICAgICAg cGFyYW1ldGVyKGE9MikKLSsgICAgICAgICAgaW50ZWdlciBiKihhKQotKyAgICAgICAgICByZWFs IGMqKDgpCi0rICAgICAgICAgIGxvZ2ljYWwgZCooMV8xKQotKyAgICAgICAgICBjaGFyYWN0ZXIg ZSooYSkKLSsgICAgICAgICAgaWYgKGtpbmQoYikubmUuMikgc3RvcCAxCi0rICAgICAgICAgIGlm IChraW5kKGMpLm5lLjgpIHN0b3AgMgotKyAgICAgICAgICBpZiAoa2luZChkKS5uZS4xKSBzdG9w IDMKLSsgICAgICAgICAgaWYgKGxlbihlKS5uZS4yKSBzdG9wIDQKLSsgICAgICAgIGVuZAotZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVf Ny5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV83LmYK LW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uYjk3NWJmZDE1YzUKLS0t LSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5f dmFyaWFibGVfNy5mCi1AQCAtMCwwICsxLDE1IEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEg eyBkZy1vcHRpb25zICItZmRlYyAtZm5vLWRlYy1vdmVycmlkZS1raW5kIiB9Ci0rIQotKyEgVGVz dCBraW5kIHNwZWNpZmljYXRpb24gaW4gdmFyaWFibGUgbm90IGluIHR5cGUgYXMgdGhlIHBlciB2 YXJpYWJsZQotKyEga2luZCBzcGVjaWZpY2F0aW9uIGlzIG5vdCBlbmFibGVzIHRoZXNlIHNob3Vs ZCBmYWlsCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVz dG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICAgcHJvZ3JhbSBzcGVjX2luX3ZhcgotKyAg ICAgICAgICBpbnRlZ2VyIGEKLSsgICAgICAgICAgcGFyYW1ldGVyKGE9MikKLSsgICAgICAgICAg aW50ZWdlciBiKihhKSAhIHsgZGctZXJyb3IgIlN5bnRheCBlcnJvciIgfQotKyAgICAgICAgICBy ZWFsIGMqKDgpICAgICEgeyBkZy1lcnJvciAiU3ludGF4IGVycm9yIiB9Ci0rICAgICAgICAgIGxv Z2ljYWwgZCoxXzEgISB7IGRnLWVycm9yICJTeW50YXggZXJyb3IiIH0KLSsgICAgICAgIGVuZAot ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFi bGVfOC5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV84 LmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uODU3MzJlMGJkODUK LS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNf aW5fdmFyaWFibGVfOC5mCi1AQCAtMCwwICsxLDE0IEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQot KyEgeyBkZy1vcHRpb25zICItZmRlYyIgfQotKyEKLSshIENoZWNrIHRoYXQgaW52YWxpZCBraW5k IHZhbHVlcyBhcmUgcmVqZWN0ZWQuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0 b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgICAgcHJvZ3JhbSBz cGVjX2luX3ZhcgotKyAgICAgICAgICBpbnRlZ2VyIGEKLSsgICAgICAgICAgcGFyYW1ldGVyKGE9 MykKLSsgICAgICAgICAgaW50ZWdlciBiKihhKSAhIHsgZGctZXJyb3IgIktpbmQgMyBub3Qgc3Vw cG9ydGVkIiB9Ci0rICAgICAgICAgIHJlYWwgYyooNzgpICAgISB7IGRnLWVycm9yICJLaW5kIDc4 IG5vdCBzdXBwb3J0ZWQiIH0KLSsgICAgICAgICAgbG9naWNhbCBkKigqKSAhIHsgZGctZXJyb3Ig IkludmFsaWQgY2hhcmFjdGVyIiB9Ci0rICAgICAgICBlbmQKLS0tIAotMi4yNy4wCi0KCmRpZmYg LS1naXQgYS9nY2MxMS1mb3J0cmFuLWZkZWMtcHJvbW90aW9uLnBhdGNoIGIvZ2NjMTEtZm9ydHJh bi1mZGVjLXByb21vdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZl MGZmMC4uMDAwMDAwMAotLS0gYS9nY2MxMS1mb3J0cmFuLWZkZWMtcHJvbW90aW9uLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjA5MyArMCwwIEBACi1Gcm9tIDdhMjczMTg4MThlMzU5YTI3N2Yy ZmE1ZjdkYzM5MzJkMGZiOTUwZjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJr IEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251Lm9yZz4KLURhdGU6IEZyaSwgMjIgSmFu IDIwMjEgMTQ6NTg6MDcgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAwOC8xMF0gU3VwcG9ydCB0eXBl IHByb21vdGlvbiBpbiBjYWxscyB0byBpbnRyaW5zaWNzCi0KLVVzZSAtZmRlYy1wcm9tb3Rpb24g b3IgLWZkZWMgdG8gZW5hYmxlIHRoaXMgZmVhdHVyZS4KLQotTWVyZ2VkIDIgY29tbWl0czogd29y a2VkIG9uIGJ5IEJlbiBCcmV3ZXIgPGJlbi5icmV3ZXJAY29kZXRoaW5rLmNvLnVrPiwKLUZyYW5j aXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVr PiBhbmQKLUplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KLQotUmUtd29ya2VkIGJ5IE1hcmsgRWdn bGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotLS0tCi0gZ2NjL2ZvcnRyYW4v Y2hlY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDcxICsrKysrLQotIGdjYy9mb3J0 cmFuL2ludHJpbnNpYy5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgNSArCi0gZ2NjL2ZvcnRy YW4vaXJlc29sdmUuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkxICsrKystLS0KLSBnY2Mv Zm9ydHJhbi9sYW5nLm9wdCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwotIGdjYy9m b3J0cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCi0gZ2NjL2Zv cnRyYW4vc2ltcGxpZnkuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMjQwICsrKysrKysrKysr KysrLS0tLQotIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzEuZiB8 ICAxOCArKwotIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzIuZiB8 ICAxOCArKwotIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzMuZiB8 ICAxOCArKwotIC4uLmRlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzEuZiB8 ICA5MCArKysrKysrCi0gLi4uZGVjX2ludHJpbnNpY19pbnRfcmVhbF9jb25zdF9wcm9tb3Rpb25f Mi5mIHwgIDkwICsrKysrKysKLSAuLi5kZWNfaW50cmluc2ljX2ludF9yZWFsX2NvbnN0X3Byb21v dGlvbl8zLmYgfCAgOTIgKysrKysrKwotIC4uLi9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21v dGlvbl8xLmYgICAgICB8IDEzMCArKysrKysrKysrCi0gLi4uL2RlY19pbnRyaW5zaWNfaW50X3Jl YWxfcHJvbW90aW9uXzIuZiAgICAgIHwgMTMwICsrKysrKysrKysKLSAuLi4vZGVjX2ludHJpbnNp Y19pbnRfcmVhbF9wcm9tb3Rpb25fMy5mICAgICAgfCAxMzAgKysrKysrKysrKwotIC4uLi9kZWNf aW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl80LmYgICAgICB8IDExOCArKysrKysrKysKLSAu Li4vZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNS5mICAgICAgfCAxMTggKysrKysr KysrCi0gLi4uL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzYuZiAgICAgIHwgMTE4 ICsrKysrKysrKwotIC4uLi9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl83LmYgICAg ICB8IDExOCArKysrKysrKysKLSAuLi4vZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTEu ZiAgICAgICAgfCAgNDAgKysrCi0gLi4uL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0y LmYgICAgICAgIHwgIDQwICsrKwotIC4uLi9nZm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rpb24t My5mICAgICAgICB8ICAzOSArKysKLSAyMiBmaWxlcyBjaGFuZ2VkLCAxNjM5IGluc2VydGlvbnMo KyksIDgwIGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzEu ZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRy aW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzIuZgotIGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJy YXlfY29uc3RfcHJvbW90aW9uXzMuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzEuZgot IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzIuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90 aW9uXzMuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzEuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9u XzIuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19p bnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzMuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzQu ZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRy aW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzUuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzYuZgot IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfcHJvbW90aW9uXzcuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0xLmYKLSBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rpb24tMi5mCi0gY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90 aW9uLTMuZgotCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vY2hlY2suYyBiL2djYy9mb3J0cmFu L2NoZWNrLmMKLWluZGV4IDYyM2MxY2M0NzBlLi5lMjBhODM0YTg2MCAxMDA2NDQKLS0tLSBhL2dj Yy9mb3J0cmFuL2NoZWNrLmMKLSsrKyBiL2djYy9mb3J0cmFuL2NoZWNrLmMKLUBAIC0xMzk2LDEy ICsxMzk2LDQwIEBAIGdmY19jaGVja19hbGxvY2F0ZWQgKGdmY19leHByICphcnJheSkKLSB9Ci0g Ci0gCi0rLyogQ2hlY2sgZnVuY3Rpb24gd2hlcmUgYm90aCBhcmd1bWVudHMgbXVzdCBiZSByZWFs IG9yIGludGVnZXIKLSsgICBhbmQgd2FybiBpZiB0aGV5IGFyZSBkaWZmZXJlbnQgdHlwZXMuICAq LwotKwotK2Jvb2wKLStjaGVja19pbnRfcmVhbF9wcm9tb3Rpb24gKGdmY19leHByICphLCBnZmNf ZXhwciAqYikKLSt7Ci0rICBnZmNfZXhwciAqaTsKLSsKLSsgIGlmICghaW50X29yX3JlYWxfY2hl Y2sgKGEsIDApKQotKyAgICByZXR1cm4gZmFsc2U7Ci0rCi0rICBpZiAoIWludF9vcl9yZWFsX2No ZWNrIChiLCAxKSkKLSsgICAgcmV0dXJuIGZhbHNlOwotKwotKyAgaWYgKGEtPnRzLnR5cGUgIT0g Yi0+dHMudHlwZSkKLSsgICAgewotKyAgICAgIGkgPSAoYS0+dHMudHlwZSAhPSBCVF9SRUFMID8g YSA6IGIpOwotKyAgICAgIGdmY193YXJuaW5nX25vdyAoT1BUX1djb252ZXJzaW9uLCAiQ29udmVy c2lvbiBmcm9tIElOVEVHRVIgdG8gUkVBTCAiCi0rCQkgICAgICAgImF0ICVMIG1pZ2h0IGxvc2Ug cHJlY2lzaW9uIiwgJmktPndoZXJlKTsKLSsgICAgfQotKwotKyAgcmV0dXJuIHRydWU7Ci0rfQot KwotKwotIC8qIENvbW1vbiBjaGVjayBmdW5jdGlvbiB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQg bXVzdCBiZSByZWFsIG9yCi0gICAgaW50ZWdlciBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0 IGJlIHRoZSBzYW1lIGFzIHRoZSBmaXJzdC4gICovCi0gCi0gYm9vbAotIGdmY19jaGVja19hX3Ag KGdmY19leHByICphLCBnZmNfZXhwciAqcCkKLSB7Ci0rICBpZiAoZmxhZ19kZWNfcHJvbW90aW9u KQotKyAgICByZXR1cm4gY2hlY2tfaW50X3JlYWxfcHJvbW90aW9uIChhLCBwKTsKLSsKLSAgIGlm ICghaW50X29yX3JlYWxfY2hlY2sgKGEsIDApKQotICAgICByZXR1cm4gZmFsc2U7Ci0gCi1AQCAt MzcyNCw2ICszNzUyLDQxIEBAIGNoZWNrX3Jlc3QgKGJ0IHR5cGUsIGludCBraW5kLCBnZmNfYWN0 dWFsX2FyZ2xpc3QgKmFyZ2xpc3QpCi0gfQotIAotIAotKy8qIENoZWNrIGZ1bmN0aW9uIHdoZXJl IGFsbCBhcmd1bWVudHMgb2YgYW4gYXJndW1lbnQgbGlzdCBtdXN0IGJlIHJlYWwKLSsgICBvciBp bnRlZ2VyLiAgKi8KLSsKLStzdGF0aWMgYm9vbAotK2NoZWNrX3Jlc3RfaW50X3JlYWwgKGdmY19h Y3R1YWxfYXJnbGlzdCAqYXJnbGlzdCkKLSt7Ci0rICBnZmNfYWN0dWFsX2FyZ2xpc3QgKmFyZywg KnRtcDsKLSsgIGdmY19leHByICp4OwotKyAgaW50IG0sIG47Ci0rCi0rICBpZiAoIW1pbl9tYXhf YXJncyAoYXJnbGlzdCkpCi0rICAgIHJldHVybiBmYWxzZTsKLSsKLSsgIGZvciAoYXJnID0gYXJn bGlzdCwgbj0xOyBhcmc7IGFyZyA9IGFyZy0+bmV4dCwgbisrKQotKyAgICB7Ci0rICAgICAgeCA9 IGFyZy0+ZXhwcjsKLSsgICAgICBpZiAoeC0+dHMudHlwZSAhPSBCVF9JTlRFR0VSICYmIHgtPnRz LnR5cGUgIT0gQlRfUkVBTCkKLSsJewotKwkgIGdmY19lcnJvciAoIiU8YSVkJT4gYXJndW1lbnQg b2YgJXFzIGludHJpbnNpYyBhdCAlTCBtdXN0IGJlICIKLSsJCSAgICAgIklOVEVHRVIgb3IgUkVB TCIsIG4sIGdmY19jdXJyZW50X2ludHJpbnNpYywgJngtPndoZXJlKTsKLSsJICByZXR1cm4gZmFs c2U7Ci0rCX0KLSsKLSsgICAgICBmb3IgKHRtcCA9IGFyZ2xpc3QsIG09MTsgdG1wICE9IGFyZzsg dG1wID0gdG1wLT5uZXh0LCBtKyspCi0rCWlmICghZ2ZjX2NoZWNrX2NvbmZvcm1hbmNlICh0bXAt PmV4cHIsIHgsCi0rCQkJCSAgICAiYXJndW1lbnRzICdhJWQnIGFuZCAnYSVkJyBmb3IgIgotKwkJ CQkgICAgImludHJpbnNpYyAnJXMnIiwgbSwgbiwKLSsJCQkJICAgIGdmY19jdXJyZW50X2ludHJp bnNpYykpCi0rCSAgcmV0dXJuIGZhbHNlOwotKyAgICB9Ci0rCi0rICByZXR1cm4gdHJ1ZTsKLSt9 Ci0rCi0rCi0gYm9vbAotIGdmY19jaGVja19taW5fbWF4IChnZmNfYWN0dWFsX2FyZ2xpc3QgKmFy ZykKLSB7Ci1AQCAtMzc0OCw3ICszODExLDEwIEBAIGdmY19jaGVja19taW5fbWF4IChnZmNfYWN0 dWFsX2FyZ2xpc3QgKmFyZykKLSAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgIH0KLSAKLS0gIHJl dHVybiBjaGVja19yZXN0ICh4LT50cy50eXBlLCB4LT50cy5raW5kLCBhcmcpOwotKyAgaWYgKGZs YWdfZGVjX3Byb21vdGlvbiAmJiB4LT50cy50eXBlICE9IEJUX0NIQVJBQ1RFUikKLSsgICAgcmV0 dXJuIGNoZWNrX3Jlc3RfaW50X3JlYWwgKGFyZyk7Ci0rICBlbHNlCi0rICAgIHJldHVybiBjaGVj a19yZXN0ICh4LT50cy50eXBlLCB4LT50cy5raW5kLCBhcmcpOwotIH0KLSAKLSAKLUBAIC01MTIx LDYgKzUxODcsOSBAQCBnZmNfY2hlY2tfc2hpZnQgKGdmY19leHByICppLCBnZmNfZXhwciAqc2hp ZnQpCi0gYm9vbAotIGdmY19jaGVja19zaWduIChnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKmIpCi0g ewotKyAgaWYgKGZsYWdfZGVjX3Byb21vdGlvbikKLSsgICAgcmV0dXJuIGNoZWNrX2ludF9yZWFs X3Byb21vdGlvbiAoYSwgYik7Ci0rCi0gICBpZiAoIWludF9vcl9yZWFsX2NoZWNrIChhLCAwKSkK LSAgICAgcmV0dXJuIGZhbHNlOwotIAotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2ludHJpbnNp Yy5jIGIvZ2NjL2ZvcnRyYW4vaW50cmluc2ljLmMKLWluZGV4IGU2OGVmZjhiZGJiLi44MWIzYTI0 YzJiZSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2ludHJpbnNpYy5jCi0rKysgYi9nY2MvZm9y dHJhbi9pbnRyaW5zaWMuYwotQEAgLTQ0NjcsNiArNDQ2NywxMSBAQCBjaGVja19hcmdsaXN0IChn ZmNfYWN0dWFsX2FyZ2xpc3QgKiphcCwgZ2ZjX2ludHJpbnNpY19zeW0gKnN5bSwKLSAgICAgICBp ZiAodHMua2luZCA9PSAwKQotIAl0cy5raW5kID0gYWN0dWFsLT5leHByLT50cy5raW5kOwotIAot KyAgICAgIC8qIElmIGtpbmQgcHJvbW90aW9uIGlzIGFsbG93ZWQgZG9uJ3QgY2hlY2sgZm9yIGtp bmQgaWYgaXQgaXMgc21hbGxlciAqLwotKyAgICAgIGlmIChmbGFnX2RlY19wcm9tb3Rpb24gJiYg dHMudHlwZSA9PSBCVF9JTlRFR0VSKQotKwlpZiAoYWN0dWFsLT5leHByLT50cy5raW5kIDwgdHMu a2luZCkKLSsJICB0cy5raW5kID0gYWN0dWFsLT5leHByLT50cy5raW5kOwotKwotICAgICAgIGlm ICghZ2ZjX2NvbXBhcmVfdHlwZXMgKCZ0cywgJmFjdHVhbC0+ZXhwci0+dHMpKQotIAl7Ci0gCSAg aWYgKGVycm9yX2ZsYWcpCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vaXJlc29sdmUuYyBiL2dj Yy9mb3J0cmFuL2lyZXNvbHZlLmMKLWluZGV4IGUxN2ZlNDVmMDgwLi5iOWNkYWZmMjQ5OSAxMDA2 NDQKLS0tLSBhL2djYy9mb3J0cmFuL2lyZXNvbHZlLmMKLSsrKyBiL2djYy9mb3J0cmFuL2lyZXNv bHZlLmMKLUBAIC04MTcsMTkgKzgxNywyMiBAQCBnZmNfcmVzb2x2ZV9kYmxlIChnZmNfZXhwciAq ZiwgZ2ZjX2V4cHIgKmEpCi0gdm9pZAotIGdmY19yZXNvbHZlX2RpbSAoZ2ZjX2V4cHIgKmYsIGdm Y19leHByICphLCBnZmNfZXhwciAqcCkKLSB7Ci0tICBmLT50cy50eXBlID0gYS0+dHMudHlwZTsK LSAgIGlmIChwICE9IE5VTEwpCi0tICAgIGYtPnRzLmtpbmQgPSBnZmNfa2luZF9tYXggKGEscCk7 Ci0tICBlbHNlCi0tICAgIGYtPnRzLmtpbmQgPSBhLT50cy5raW5kOwotLQotLSAgaWYgKHAgIT0g TlVMTCAmJiBhLT50cy5raW5kICE9IHAtPnRzLmtpbmQpCi0gICAgIHsKLS0gICAgICBpZiAoYS0+ dHMua2luZCA9PSBnZmNfa2luZF9tYXggKGEscCkpCi0tCWdmY19jb252ZXJ0X3R5cGUgKHAsICZh LT50cywgMik7Ci0rICAgICAgZi0+dHMua2luZCA9IGdmY19raW5kX21heCAoYSxwKTsKLSsgICAg ICBpZiAoYS0+dHMudHlwZSA9PSBCVF9SRUFMIHx8IHAtPnRzLnR5cGUgPT0gQlRfUkVBTCkKLSsJ Zi0+dHMudHlwZSA9IEJUX1JFQUw7Ci0gICAgICAgZWxzZQotLQlnZmNfY29udmVydF90eXBlIChh LCAmcC0+dHMsIDIpOwotKwlmLT50cy50eXBlID0gQlRfSU5URUdFUjsKLSsKLSsgICAgICBpZiAo YS0+dHMua2luZCAhPSBmLT50cy5raW5kIHx8IGEtPnRzLnR5cGUgIT0gZi0+dHMudHlwZSkKLSsJ Z2ZjX2NvbnZlcnRfdHlwZSAoYSwgJmYtPnRzLCAyKTsKLSsKLSsgICAgICBpZiAocC0+dHMua2lu ZCAhPSBmLT50cy5raW5kIHx8IHAtPnRzLnR5cGUgIT0gZi0+dHMudHlwZSkKLSsJZ2ZjX2NvbnZl cnRfdHlwZSAocCwgJmYtPnRzLCAyKTsKLSAgICAgfQotKyAgZWxzZQotKyAgICBmLT50cyA9IGEt PnRzOwotIAotICAgZi0+dmFsdWUuZnVuY3Rpb24ubmFtZQotICAgICA9IGdmY19nZXRfc3RyaW5n ICgiX19kaW1fJWMlZCIsIGdmY190eXBlX2xldHRlciAoZi0+dHMudHlwZSksIGYtPnRzLmtpbmQp OwotQEAgLTE2MDYsMTQgKzE2MDksMTcgQEAgZ2ZjX3Jlc29sdmVfbWlubWF4IChjb25zdCBjaGFy ICpuYW1lLCBnZmNfZXhwciAqZiwgZ2ZjX2FjdHVhbF9hcmdsaXN0ICphcmdzKQotICAgLyogRmlu ZCB0aGUgbGFyZ2VzdCB0eXBlIGtpbmQuICAqLwotICAgZm9yIChhID0gYXJncy0+bmV4dDsgYTsg YSA9IGEtPm5leHQpCi0gICAgIHsKLSsgICAgICBpZiAoYS0+ZXhwci0+IHRzLnR5cGUgPT0gQlRf UkVBTCkKLSsJZi0+dHMudHlwZSA9IEJUX1JFQUw7Ci0rCi0gICAgICAgaWYgKGEtPmV4cHItPnRz LmtpbmQgPiBmLT50cy5raW5kKQotIAlmLT50cy5raW5kID0gYS0+ZXhwci0+dHMua2luZDsKLSAg ICAgfQotIAotLSAgLyogQ29udmVydCBhbGwgcGFyYW1ldGVycyB0byB0aGUgcmVxdWlyZWQga2lu ZC4gICovCi0rICAvKiBDb252ZXJ0IGFsbCBwYXJhbWV0ZXJzIHRvIHRoZSByZXF1aXJlZCB0eXBl IGFuZC9vciBraW5kLiAgKi8KLSAgIGZvciAoYSA9IGFyZ3M7IGE7IGEgPSBhLT5uZXh0KQotICAg ICB7Ci0tICAgICAgaWYgKGEtPmV4cHItPnRzLmtpbmQgIT0gZi0+dHMua2luZCkKLSsgICAgICBp ZiAoYS0+ZXhwci0+dHMudHlwZSAhPSBmLT50cy50eXBlIHx8IGEtPmV4cHItPnRzLmtpbmQgIT0g Zi0+dHMua2luZCkKLSAJZ2ZjX2NvbnZlcnRfdHlwZSAoYS0+ZXhwciwgJmYtPnRzLCAyKTsKLSAg ICAgfQotIAotQEAgLTIxMDYsMTkgKzIxMTIsMjIgQEAgZ2ZjX3Jlc29sdmVfbWludmFsIChnZmNf ZXhwciAqZiwgZ2ZjX2V4cHIgKmFycmF5LCBnZmNfZXhwciAqZGltLAotIHZvaWQKLSBnZmNfcmVz b2x2ZV9tb2QgKGdmY19leHByICpmLCBnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKnApCi0gewotLSAg Zi0+dHMudHlwZSA9IGEtPnRzLnR5cGU7Ci0gICBpZiAocCAhPSBOVUxMKQotLSAgICBmLT50cy5r aW5kID0gZ2ZjX2tpbmRfbWF4IChhLHApOwotLSAgZWxzZQotLSAgICBmLT50cy5raW5kID0gYS0+ dHMua2luZDsKLS0KLS0gIGlmIChwICE9IE5VTEwgJiYgYS0+dHMua2luZCAhPSBwLT50cy5raW5k KQotICAgICB7Ci0tICAgICAgaWYgKGEtPnRzLmtpbmQgPT0gZ2ZjX2tpbmRfbWF4IChhLHApKQot LQlnZmNfY29udmVydF90eXBlIChwLCAmYS0+dHMsIDIpOwotKyAgICAgIGYtPnRzLmtpbmQgPSBn ZmNfa2luZF9tYXggKGEscCk7Ci0rICAgICAgaWYgKGEtPnRzLnR5cGUgPT0gQlRfUkVBTCB8fCBw LT50cy50eXBlID09IEJUX1JFQUwpCi0rCWYtPnRzLnR5cGUgPSBCVF9SRUFMOwotICAgICAgIGVs c2UKLS0JZ2ZjX2NvbnZlcnRfdHlwZSAoYSwgJnAtPnRzLCAyKTsKLSsJZi0+dHMudHlwZSA9IEJU X0lOVEVHRVI7Ci0rCi0rICAgICAgaWYgKGEtPnRzLmtpbmQgIT0gZi0+dHMua2luZCB8fCBhLT50 cy50eXBlICE9IGYtPnRzLnR5cGUpCi0rCWdmY19jb252ZXJ0X3R5cGUgKGEsICZmLT50cywgMik7 Ci0rCi0rICAgICAgaWYgKHAtPnRzLmtpbmQgIT0gZi0+dHMua2luZCB8fCBwLT50cy50eXBlICE9 IGYtPnRzLnR5cGUpCi0rCWdmY19jb252ZXJ0X3R5cGUgKHAsICZmLT50cywgMik7Ci0gICAgIH0K LSsgIGVsc2UKLSsgICAgZi0+dHMgPSBhLT50czsKLSAKLSAgIGYtPnZhbHVlLmZ1bmN0aW9uLm5h bWUKLSAgICAgPSBnZmNfZ2V0X3N0cmluZyAoIl9fbW9kXyVjJWQiLCBnZmNfdHlwZV9sZXR0ZXIg KGYtPnRzLnR5cGUpLCBmLT50cy5raW5kKTsKLUBAIC0yMTI4LDE5ICsyMTM3LDIyIEBAIGdmY19y ZXNvbHZlX21vZCAoZ2ZjX2V4cHIgKmYsIGdmY19leHByICphLCBnZmNfZXhwciAqcCkKLSB2b2lk Ci0gZ2ZjX3Jlc29sdmVfbW9kdWxvIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHBy ICpwKQotIHsKLS0gIGYtPnRzLnR5cGUgPSBhLT50cy50eXBlOwotICAgaWYgKHAgIT0gTlVMTCkK LS0gICAgZi0+dHMua2luZCA9IGdmY19raW5kX21heCAoYSxwKTsKLS0gIGVsc2UKLS0gICAgZi0+ dHMua2luZCA9IGEtPnRzLmtpbmQ7Ci0tCi0tICBpZiAocCAhPSBOVUxMICYmIGEtPnRzLmtpbmQg IT0gcC0+dHMua2luZCkKLSAgICAgewotLSAgICAgIGlmIChhLT50cy5raW5kID09IGdmY19raW5k X21heCAoYSxwKSkKLS0JZ2ZjX2NvbnZlcnRfdHlwZSAocCwgJmEtPnRzLCAyKTsKLSsgICAgICBm LT50cy5raW5kID0gZ2ZjX2tpbmRfbWF4IChhLHApOwotKyAgICAgIGlmIChhLT50cy50eXBlID09 IEJUX1JFQUwgfHwgcC0+dHMudHlwZSA9PSBCVF9SRUFMKQotKwlmLT50cy50eXBlID0gQlRfUkVB TDsKLSAgICAgICBlbHNlCi0tCWdmY19jb252ZXJ0X3R5cGUgKGEsICZwLT50cywgMik7Ci0rCWYt PnRzLnR5cGUgPSBCVF9JTlRFR0VSOwotKwotKyAgICAgIGlmIChhLT50cy5raW5kICE9IGYtPnRz LmtpbmQgfHwgYS0+dHMudHlwZSAhPSBmLT50cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChh LCAmZi0+dHMsIDIpOwotKwotKyAgICAgIGlmIChwLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwg cC0+dHMudHlwZSAhPSBmLT50cy50eXBlKQotKwlnZmNfY29udmVydF90eXBlIChwLCAmZi0+dHMs IDIpOwotICAgICB9Ci0rICBlbHNlCi0rICAgIGYtPnRzID0gYS0+dHM7Ci0gCi0gICBmLT52YWx1 ZS5mdW5jdGlvbi5uYW1lCi0gICAgID0gZ2ZjX2dldF9zdHJpbmcgKCJfX21vZHVsb18lYyVkIiwg Z2ZjX3R5cGVfbGV0dGVyIChmLT50cy50eXBlKSwKLUBAIC0yNTE1LDkgKzI1MjcsMjYgQEAgZ2Zj X3Jlc29sdmVfc2hpZnQgKGdmY19leHByICpmLCBnZmNfZXhwciAqaSwgZ2ZjX2V4cHIgKnNoaWZ0 IEFUVFJJQlVURV9VTlVTRUQpCi0gCi0gCi0gdm9pZAotLWdmY19yZXNvbHZlX3NpZ24gKGdmY19l eHByICpmLCBnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKmIgQVRUUklCVVRFX1VOVVNFRCkKLStnZmNf cmVzb2x2ZV9zaWduIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHByICpiKQotIHsK LS0gIGYtPnRzID0gYS0+dHM7Ci0rICBpZiAoYiAhPSBOVUxMKQotKyAgICB7Ci0rICAgICAgZi0+ dHMua2luZCA9IGdmY19raW5kX21heCAoYSwgYik7Ci0rICAgICAgaWYgKGEtPnRzLnR5cGUgPT0g QlRfUkVBTCB8fCBiLT50cy50eXBlID09IEJUX1JFQUwpCi0rCWYtPnRzLnR5cGUgPSBCVF9SRUFM OwotKyAgICAgIGVsc2UKLSsJZi0+dHMudHlwZSA9IEJUX0lOVEVHRVI7Ci0rCi0rICAgICAgaWYg KGEtPnRzLmtpbmQgIT0gZi0+dHMua2luZCB8fCBhLT50cy50eXBlICE9IGYtPnRzLnR5cGUpCi0r CWdmY19jb252ZXJ0X3R5cGUgKGEsICZmLT50cywgMik7Ci0rCi0rICAgICAgaWYgKGItPnRzLmtp bmQgIT0gZi0+dHMua2luZCB8fCBiLT50cy50eXBlICE9IGYtPnRzLnR5cGUpCi0rCWdmY19jb252 ZXJ0X3R5cGUgKGIsICZmLT50cywgMik7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewotKyAgICAg IGYtPnRzID0gYS0+dHM7Ci0rICAgIH0KLSAgIGYtPnZhbHVlLmZ1bmN0aW9uLm5hbWUKLSAgICAg PSBnZmNfZ2V0X3N0cmluZyAoIl9fc2lnbl8lYyVkIiwgZ2ZjX3R5cGVfbGV0dGVyIChhLT50cy50 eXBlKSwgYS0+dHMua2luZCk7Ci0gfQotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2xhbmcub3B0 IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLWluZGV4IGQ4ODZjMmYzM2VkLi40Y2EyZjkzZjJkZiAx MDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2xhbmcub3B0Ci0rKysgYi9nY2MvZm9ydHJhbi9sYW5n Lm9wdAotQEAgLTUwNSw2ICs1MDUsMTAgQEAgZmRlYy1vbGQtaW5pdAotIEZvcnRyYW4gVmFyKGZs YWdfZGVjX29sZF9pbml0KQotIEVuYWJsZSBzdXBwb3J0IGZvciBvbGQgc3R5bGUgaW5pdGlhbGl6 ZXJzIGluIGRlcml2ZWQgdHlwZXMuCi0gCi0rZmRlYy1wcm9tb3Rpb24KLStGb3J0cmFuIFZhcihm bGFnX2RlY19wcm9tb3Rpb24pCi0rQWRkIHN1cHBvcnQgZm9yIHR5cGUgcHJvbW90aW9uIGluIGlu dHJpbnNpYyBhcmd1bWVudHMuCi0rCi0gZmRlYy1zdHJ1Y3R1cmUKLSBGb3J0cmFuIFZhcihmbGFn X2RlY19zdHJ1Y3R1cmUpCi0gRW5hYmxlIHN1cHBvcnQgZm9yIERFQyBTVFJVQ1RVUkUvUkVDT1JE LgotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wdGlvbnMuYyBiL2djYy9mb3J0cmFuL29wdGlv bnMuYwotaW5kZXggYTk0NmM4Njc5MGEuLjE1MDc5YzdlOTVhIDEwMDY0NAotLS0tIGEvZ2NjL2Zv cnRyYW4vb3B0aW9ucy5jCi0rKysgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMKLUBAIC04Miw2ICs4 Miw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2YWx1ZSkKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2Rl Y19vbGRfaW5pdCwgdmFsdWUsIHZhbHVlKTsKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vdmVy cmlkZV9raW5kLCB2YWx1ZSwgdmFsdWUpOwotICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX25vbl9s b2dpY2FsX2lmLCB2YWx1ZSwgdmFsdWUpOwotKyAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX3Byb21v dGlvbiwgdmFsdWUsIHZhbHVlKTsKLSB9Ci0gCi0gLyogRmluYWxpemUgREVDIGZsYWdzLiAgKi8K LWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9zaW1wbGlmeS5jIGIvZ2NjL2ZvcnRyYW4vc2ltcGxp ZnkuYwotaW5kZXggOTkwMDU3MjQyNGYuLjM0MTllMDZmZWMyIDEwMDY0NAotLS0tIGEvZ2NjL2Zv cnRyYW4vc2ltcGxpZnkuYwotKysrIGIvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYwotQEAgLTIzMzMs MzkgKzIzMzMsNzkgQEAgZ2ZjX3NpbXBsaWZ5X2RpZ2l0cyAoZ2ZjX2V4cHIgKngpCi0gfQotIAot IAotKy8qIFNpbXBsaWZ5IGZ1bmN0aW9uIHdoaWNoIHNldHMgdGhlIGZsb2F0aW5nLXBvaW50IHZh bHVlIG9mIGFyIGZyb20KLSsgICB0aGUgdmFsdWUgb2YgYSBpbmRlcGVuZGVudGx5IGlmIGEgaXMg aW50ZWdlciBvZiByZWFsLiAgKi8KLSsKLStzdGF0aWMgdm9pZAotK3NpbXBsaWZ5X2ludF9yZWFs X3Byb21vdGlvbiAoY29uc3QgZ2ZjX2V4cHIgKmEsIGNvbnN0IGdmY19leHByICpiLCBtcGZyX3Qg KmFyKQotK3sKLSsgIGlmIChhLT50cy50eXBlID09IEJUX1JFQUwpCi0rICAgIHsKLSsgICAgICBt cGZyX2luaXQyICgqYXIsIChhLT50cy5raW5kICogOCkpOwotKyAgICAgIG1wZnJfc2V0ICgqYXIs IGEtPnZhbHVlLnJlYWwsIEdGQ19STkRfTU9ERSk7Ci0rICAgIH0KLSsgIGVsc2UKLSsgICAgewot KyAgICAgIG1wZnJfaW5pdDIgKCphciwgKGItPnRzLmtpbmQgKiA4KSk7Ci0rICAgICAgbXBmcl9z ZXRfeiAoKmFyLCBhLT52YWx1ZS5pbnRlZ2VyLCBHRkNfUk5EX01PREUpOwotKyAgICB9Ci0rfQot KwotKwotKy8qIFNpbXBsaWZ5IGZ1bmN0aW9uIHdoaWNoIHByb21vdGVzIGEgYW5kIGIgYXJndW1l bnRzIGZyb20gaW50ZWdlciB0byByZWFsIGlmCi0rICAgcmVxdWlyZWQgaW4gYXIgYW5kIGJyIGZs b2F0aW5nLXBvaW50IHZhbHVlcy4gVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYKLSsgICBh IG9yIGIgYXJlIHJlYWxzIGFuZCBmYWxzZSBvdGhlcndpc2UuICovCi0rCi0rc3RhdGljIGJvb2wK LStzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24yIChjb25zdCBnZmNfZXhwciAqYSwgY29uc3Qg Z2ZjX2V4cHIgKmIsIG1wZnJfdCAqYXIsCi0rCQkJICAgICAgbXBmcl90ICpicikKLSt7Ci0rICBp ZiAoYS0+dHMudHlwZSAhPSBCVF9SRUFMICYmIGItPnRzLnR5cGUgIT0gQlRfUkVBTCkKLSsgICAg cmV0dXJuIGZhbHNlOwotKwotKyAgc2ltcGxpZnlfaW50X3JlYWxfcHJvbW90aW9uIChhLCBiLCBh cik7Ci0rICBzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24gKGIsIGEsIGJyKTsKLSsKLSsgIHJl dHVybiB0cnVlOwotK30KLSsKLSsKLSBnZmNfZXhwciAqCi0gZ2ZjX3NpbXBsaWZ5X2RpbSAoZ2Zj X2V4cHIgKngsIGdmY19leHByICp5KQotIHsKLSAgIGdmY19leHByICpyZXN1bHQ7Ci0gICBpbnQg a2luZDsKLSAKLSsgIG1wZnJfdCB4cjsKLSsgIG1wZnJfdCB5cjsKLSsKLSAgIGlmICh4LT5leHBy X3R5cGUgIT0gRVhQUl9DT05TVEFOVCB8fCB5LT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCkK LSAgICAgcmV0dXJuIE5VTEw7Ci0gCi0tICBraW5kID0geC0+dHMua2luZCA+IHktPnRzLmtpbmQg PyB4LT50cy5raW5kIDogeS0+dHMua2luZDsKLS0gIHJlc3VsdCA9IGdmY19nZXRfY29uc3RhbnRf ZXhwciAoeC0+dHMudHlwZSwga2luZCwgJngtPndoZXJlKTsKLS0KLS0gIHN3aXRjaCAoeC0+dHMu dHlwZSkKLSsgIGlmICgoeC0+dHMudHlwZSAhPSBCVF9SRUFMICYmIHgtPnRzLnR5cGUgIT0gQlRf SU5URUdFUikKLSsgICAgICB8fCAoeS0+dHMudHlwZSAhPSBCVF9SRUFMICYmIHktPnRzLnR5cGUg IT0gQlRfSU5URUdFUikpCi0gICAgIHsKLS0gICAgICBjYXNlIEJUX0lOVEVHRVI6Ci0tCWlmICht cHpfY21wICh4LT52YWx1ZS5pbnRlZ2VyLCB5LT52YWx1ZS5pbnRlZ2VyKSA+IDApCi0tCSAgbXB6 X3N1YiAocmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCB4LT52YWx1ZS5pbnRlZ2VyLCB5LT52YWx1ZS5p bnRlZ2VyKTsKLS0JZWxzZQotLQkgIG1wel9zZXRfdWkgKHJlc3VsdC0+dmFsdWUuaW50ZWdlciwg MCk7Ci0tCi0tCWJyZWFrOwotLQotLSAgICAgIGNhc2UgQlRfUkVBTDoKLS0JaWYgKG1wZnJfY21w ICh4LT52YWx1ZS5yZWFsLCB5LT52YWx1ZS5yZWFsKSA+IDApCi0tCSAgbXBmcl9zdWIgKHJlc3Vs dC0+dmFsdWUucmVhbCwgeC0+dmFsdWUucmVhbCwgeS0+dmFsdWUucmVhbCwKLS0JCSAgICBHRkNf Uk5EX01PREUpOwotLQllbHNlCi0tCSAgbXBmcl9zZXRfdWkgKHJlc3VsdC0+dmFsdWUucmVhbCwg MCwgR0ZDX1JORF9NT0RFKTsKLSsgICAgICBnZmNfaW50ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxp ZnlfZGltKCk6IEJhZCBhcmd1bWVudHMiKTsKLSsgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQot IAotLQlicmVhazsKLSsgIGtpbmQgPSB4LT50cy5raW5kID4geS0+dHMua2luZCA/IHgtPnRzLmtp bmQgOiB5LT50cy5raW5kOwotIAotLSAgICAgIGRlZmF1bHQ6Ci0tCWdmY19pbnRlcm5hbF9lcnJv ciAoImdmY19zaW1wbGlmeV9kaW0oKTogQmFkIHR5cGUiKTsKLSsgIGlmIChzaW1wbGlmeV9pbnRf cmVhbF9wcm9tb3Rpb24yICh4LCB5LCAmeHIsICZ5cikpCi0rICAgIHsKLSsgICAgICByZXN1bHQg PSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKEJUX1JFQUwsIGtpbmQsICZ4LT53aGVyZSk7Ci0rICAg ICAgaWYgKG1wZnJfY21wICh4ciwgeXIpID4gMCkKLSsJbXBmcl9zdWIgKHJlc3VsdC0+dmFsdWUu cmVhbCwgeHIsIHlyLCBHRkNfUk5EX01PREUpOwotKyAgICAgIGVsc2UKLSsJbXBmcl9zZXRfdWkg KHJlc3VsdC0+dmFsdWUucmVhbCwgMCwgR0ZDX1JORF9NT0RFKTsKLSsgICAgfQotKyAgZWxzZQot KyAgICB7Ci0rICAgICAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByIChCVF9JTlRFR0VS LCBraW5kLCAmeC0+d2hlcmUpOwotKyAgICAgIGlmIChtcHpfY21wICh4LT52YWx1ZS5pbnRlZ2Vy LCB5LT52YWx1ZS5pbnRlZ2VyKSA+IDApCi0rCW1wel9zdWIgKHJlc3VsdC0+dmFsdWUuaW50ZWdl ciwgeC0+dmFsdWUuaW50ZWdlciwgeS0+dmFsdWUuaW50ZWdlcik7Ci0rICAgICAgZWxzZQotKwlt cHpfc2V0X3VpIChyZXN1bHQtPnZhbHVlLmludGVnZXIsIDApOwotICAgICB9Ci0gCi0gICByZXR1 cm4gcmFuZ2VfY2hlY2sgKHJlc3VsdCwgIkRJTSIpOwotQEAgLTQ5NTMsNiArNDk5Myw3NiBAQCBt aW5fbWF4X2Nob29zZSAoZ2ZjX2V4cHIgKmFyZywgZ2ZjX2V4cHIgKmV4dHJlbXVtLCBpbnQgc2ln biwgYm9vbCBiYWNrX3ZhbCkKLSB7Ci0gICBpbnQgcmV0OwotIAotKyAgbXBmcl90ICphcnA7Ci0r ICBtcGZyX3QgKmVycDsKLSsgIG1wZnJfdCBhcjsKLSsgIG1wZnJfdCBlcjsKLSsKLSsgIGlmIChh cmctPnRzLnR5cGUgIT0gZXh0cmVtdW0tPnRzLnR5cGUpCi0rICAgIHsKLSsgICAgICBpZiAoYXJn LT50cy50eXBlID09IEJUX1JFQUwpCi0rCXsKLSsJICBhcnAgPSAmYXJnLT52YWx1ZS5yZWFsOwot Kwl9Ci0rICAgICAgZWxzZQotKwl7Ci0rCSAgbXBmcl9pbml0MiAoYXIsIChhcmctPnRzLmtpbmQg KiA4KSk7Ci0rCSAgbXBmcl9zZXRfeiAoYXIsIGFyZy0+dmFsdWUuaW50ZWdlciwgR0ZDX1JORF9N T0RFKTsKLSsJICBhcnAgPSAmYXI7Ci0rCX0KLSsKLSsgICAgICBpZiAoZXh0cmVtdW0tPnRzLnR5 cGUgPT0gQlRfUkVBTCkKLSsJewotKwkgIGVycCA9ICZleHRyZW11bS0+dmFsdWUucmVhbDsKLSsJ fQotKyAgICAgIGVsc2UKLSsJewotKwkgIG1wZnJfaW5pdDIgKGVyLCAoZXh0cmVtdW0tPnRzLmtp bmQgKiA4KSk7Ci0rCSAgbXBmcl9zZXRfeiAoZXIsIGV4dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCBH RkNfUk5EX01PREUpOwotKwkgIGVycCA9ICZlcjsKLSsJfQotKwotKyAgICAgIGlmIChtcGZyX25h bl9wICgqZXJwKSkKLSsJewotKwkgIHJldCA9IDE7Ci0rCSAgZXh0cmVtdW0tPnRzLnR5cGUgPSBh cmctPnRzLnR5cGU7Ci0rCSAgZXh0cmVtdW0tPnRzLmtpbmQgPSBhcmctPnRzLmtpbmQ7Ci0rCSAg aWYgKGFyZy0+dHMudHlwZSA9PSBCVF9JTlRFR0VSKQotKwkgICAgewotKwkgICAgICBtcHpfaW5p dDIgKGV4dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCAoYXJnLT50cy5raW5kICogOCkpOwotKwkgICAg ICBtcHpfc2V0IChleHRyZW11bS0+dmFsdWUuaW50ZWdlciwgYXJnLT52YWx1ZS5pbnRlZ2VyKTsK LSsJICAgIH0KLSsJICBlbHNlCi0rCSAgICB7Ci0rCSAgICAgIG1wZnJfaW5pdDIgKGV4dHJlbXVt LT52YWx1ZS5yZWFsLCAoYXJnLT50cy5raW5kICogOCkpOwotKwkgICAgICBtcGZyX3NldCAoZXh0 cmVtdW0tPnZhbHVlLnJlYWwsICphcnAsIEdGQ19STkRfTU9ERSk7Ci0rCSAgICB9Ci0rCX0KLSsg ICAgICBlbHNlIGlmIChtcGZyX25hbl9wICgqYXJwKSkKLSsJcmV0ID0gLTE7Ci0rICAgICAgZWxz ZQotKwl7Ci0rCSAgcmV0ID0gbXBmcl9jbXAgKCphcnAsICplcnApICogc2lnbjsKLSsJICBpZiAo cmV0ID4gMCkKLSsJICAgIHsKLSsJICAgICAgZXh0cmVtdW0tPnRzLnR5cGUgPSBhcmctPnRzLnR5 cGU7Ci0rCSAgICAgIGV4dHJlbXVtLT50cy5raW5kID0gYXJnLT50cy5raW5kOwotKwkgICAgICBp ZiAoYXJnLT50cy50eXBlID09IEJUX0lOVEVHRVIpCi0rCQl7Ci0rCQkgIG1wel9pbml0MiAoZXh0 cmVtdW0tPnZhbHVlLmludGVnZXIsIChhcmctPnRzLmtpbmQgKiA4KSk7Ci0rCQkgIG1wel9zZXQg KGV4dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCBhcmctPnZhbHVlLmludGVnZXIpOwotKwkJfQotKwkg ICAgICBlbHNlCi0rCQl7Ci0rCQkgIG1wZnJfaW5pdDIgKGV4dHJlbXVtLT52YWx1ZS5yZWFsLCAo YXJnLT50cy5raW5kICogOCkpOwotKwkJICBtcGZyX3NldCAoZXh0cmVtdW0tPnZhbHVlLnJlYWws ICphcnAsIEdGQ19STkRfTU9ERSk7Ci0rCQl9Ci0rCSAgICB9Ci0rCX0KLSsKLSsgICAgICByZXR1 cm4gcmV0OwotKyAgICB9Ci0rCi0gICBzd2l0Y2ggKGFyZy0+dHMudHlwZSkKLSAgICAgewotICAg ICAgIGNhc2UgQlRfSU5URUdFUjoKLUBAIC01OTEyLDcgKzYwMjIsOSBAQCBnZmNfc2ltcGxpZnlf bW9kIChnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKnApCi0gICBnZmNfZXhwciAqcmVzdWx0OwotICAg aW50IGtpbmQ7Ci0gCi0tICAvKiBGaXJzdCBjaGVjayBwLiAgKi8KLSsgIG1wZnJfdCBhcjsKLSsg IG1wZnJfdCBwcjsKLSsKLSAgIGlmIChwLT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCkKLSAg ICAgcmV0dXJuIE5VTEw7Ci0gCi1AQCAtNTk0MiwxNiArNjA1NCwyNCBAQCBnZmNfc2ltcGxpZnlf bW9kIChnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKnApCi0gICBpZiAoYS0+ZXhwcl90eXBlICE9IEVY UFJfQ09OU1RBTlQpCi0gICAgIHJldHVybiBOVUxMOwotIAotKyAgaWYgKGEtPnRzLnR5cGUgIT0g QlRfUkVBTCAmJiBhLT50cy50eXBlICE9IEJUX0lOVEVHRVIpCi0rICAgIHsKLSsgICAgICBnZmNf aW50ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxpZnlfbW9kKCk6IEJhZCBhcmd1bWVudHMiKTsKLSsg ICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKwotICAga2luZCA9IGEtPnRzLmtpbmQgPiBwLT50 cy5raW5kID8gYS0+dHMua2luZCA6IHAtPnRzLmtpbmQ7Ci0tICByZXN1bHQgPSBnZmNfZ2V0X2Nv bnN0YW50X2V4cHIgKGEtPnRzLnR5cGUsIGtpbmQsICZhLT53aGVyZSk7Ci0gCi0tICBpZiAoYS0+ dHMudHlwZSA9PSBCVF9JTlRFR0VSKQotLSAgICBtcHpfdGRpdl9yIChyZXN1bHQtPnZhbHVlLmlu dGVnZXIsIGEtPnZhbHVlLmludGVnZXIsIHAtPnZhbHVlLmludGVnZXIpOwotLSAgZWxzZQotKyAg aWYgKHNpbXBsaWZ5X2ludF9yZWFsX3Byb21vdGlvbjIgKGEsIHAsICZhciwgJnByKSkKLSAgICAg ewotKyAgICAgIHJlc3VsdCA9IGdmY19nZXRfY29uc3RhbnRfZXhwciAoQlRfUkVBTCwga2luZCwg JmEtPndoZXJlKTsKLSAgICAgICBnZmNfc2V0X21vZGVsX2tpbmQgKGtpbmQpOwotLSAgICAgIG1w ZnJfZm1vZCAocmVzdWx0LT52YWx1ZS5yZWFsLCBhLT52YWx1ZS5yZWFsLCBwLT52YWx1ZS5yZWFs LAotLQkJIEdGQ19STkRfTU9ERSk7Ci0rICAgICAgbXBmcl9mbW9kIChyZXN1bHQtPnZhbHVlLnJl YWwsIGFyLCBwciwgR0ZDX1JORF9NT0RFKTsKLSsgICAgfQotKyAgZWxzZQotKyAgICB7Ci0rICAg ICAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByIChCVF9JTlRFR0VSLCBraW5kLCAmYS0+ d2hlcmUpOwotKyAgICAgIG1wel90ZGl2X3IgKHJlc3VsdC0+dmFsdWUuaW50ZWdlciwgYS0+dmFs dWUuaW50ZWdlciwgcC0+dmFsdWUuaW50ZWdlcik7Ci0gICAgIH0KLSAKLSAgIHJldHVybiByYW5n ZV9jaGVjayAocmVzdWx0LCAiTU9EIik7Ci1AQCAtNTk2NCw3ICs2MDg0LDkgQEAgZ2ZjX3NpbXBs aWZ5X21vZHVsbyAoZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQotICAgZ2ZjX2V4cHIgKnJlc3Vs dDsKLSAgIGludCBraW5kOwotIAotLSAgLyogRmlyc3QgY2hlY2sgcC4gICovCi0rICBtcGZyX3Qg YXI7Ci0rICBtcGZyX3QgcHI7Ci0rCi0gICBpZiAocC0+ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RB TlQpCi0gICAgIHJldHVybiBOVUxMOwotIAotQEAgLTU5OTEsMjggKzYxMTMsMzYgQEAgZ2ZjX3Np bXBsaWZ5X21vZHVsbyAoZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQotIAlnZmNfaW50ZXJuYWxf ZXJyb3IgKCJnZmNfc2ltcGxpZnlfbW9kdWxvKCk6IEJhZCBhcmd1bWVudHMiKTsKLSAgICAgfQot IAotKyAgaWYgKGEtPnRzLnR5cGUgIT0gQlRfUkVBTCAmJiBhLT50cy50eXBlICE9IEJUX0lOVEVH RVIpCi0rICAgIHsKLSsgICAgICBnZmNfaW50ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxpZnlfbW9k dWxvKCk6IEJhZCBhcmd1bWVudHMiKTsKLSsgICAgICByZXR1cm4gTlVMTDsKLSsgICAgfQotKwot ICAgaWYgKGEtPmV4cHJfdHlwZSAhPSBFWFBSX0NPTlNUQU5UKQotICAgICByZXR1cm4gTlVMTDsK LSAKLSAgIGtpbmQgPSBhLT50cy5raW5kID4gcC0+dHMua2luZCA/IGEtPnRzLmtpbmQgOiBwLT50 cy5raW5kOwotLSAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHByIChhLT50cy50eXBlLCBr aW5kLCAmYS0+d2hlcmUpOwotIAotLSAgaWYgKGEtPnRzLnR5cGUgPT0gQlRfSU5URUdFUikKLS0J bXB6X2ZkaXZfciAocmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCBhLT52YWx1ZS5pbnRlZ2VyLCBwLT52 YWx1ZS5pbnRlZ2VyKTsKLS0gIGVsc2UKLSsgIGlmIChzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rp b24yIChhLCBwLCAmYXIsICZwcikpCi0gICAgIHsKLSsgICAgICByZXN1bHQgPSBnZmNfZ2V0X2Nv bnN0YW50X2V4cHIgKEJUX1JFQUwsIGtpbmQsICZhLT53aGVyZSk7Ci0gICAgICAgZ2ZjX3NldF9t b2RlbF9raW5kIChraW5kKTsKLS0gICAgICBtcGZyX2Ztb2QgKHJlc3VsdC0+dmFsdWUucmVhbCwg YS0+dmFsdWUucmVhbCwgcC0+dmFsdWUucmVhbCwKLS0gICAgICAgICAgICAgICAgIEdGQ19STkRf TU9ERSk7Ci0rICAgICAgbXBmcl9mbW9kIChyZXN1bHQtPnZhbHVlLnJlYWwsIGFyLCBwciwgR0ZD X1JORF9NT0RFKTsKLSAgICAgICBpZiAobXBmcl9jbXBfdWkgKHJlc3VsdC0+dmFsdWUucmVhbCwg MCkgIT0gMCkKLS0gICAgICAgIHsKLS0gICAgICAgICAgaWYgKG1wZnJfc2lnbmJpdCAoYS0+dmFs dWUucmVhbCkgIT0gbXBmcl9zaWduYml0IChwLT52YWx1ZS5yZWFsKSkKLS0gICAgICAgICAgICBt cGZyX2FkZCAocmVzdWx0LT52YWx1ZS5yZWFsLCByZXN1bHQtPnZhbHVlLnJlYWwsIHAtPnZhbHVl LnJlYWwsCi0tICAgICAgICAgICAgICAgICAgICAgIEdGQ19STkRfTU9ERSk7Ci0tCSAgICB9Ci0t CSAgZWxzZQotLSAgICAgICAgbXBmcl9jb3B5c2lnbiAocmVzdWx0LT52YWx1ZS5yZWFsLCByZXN1 bHQtPnZhbHVlLnJlYWwsCi0tICAgICAgICAgICAgICAgICAgICAgICBwLT52YWx1ZS5yZWFsLCBH RkNfUk5EX01PREUpOwotKwl7Ci0rCSAgaWYgKG1wZnJfc2lnbmJpdCAoYXIpICE9IG1wZnJfc2ln bmJpdCAocHIpKQotKwkgICAgbXBmcl9hZGQgKHJlc3VsdC0+dmFsdWUucmVhbCwgcmVzdWx0LT52 YWx1ZS5yZWFsLCBwciwKLSsJCSAgICAgIEdGQ19STkRfTU9ERSk7Ci0rCX0KLSsgICAgICBlbHNl Ci0rCW1wZnJfY29weXNpZ24gKHJlc3VsdC0+dmFsdWUucmVhbCwgcmVzdWx0LT52YWx1ZS5yZWFs LCBwciwKLSsJCSAgICAgICBHRkNfUk5EX01PREUpOwotKyAgICB9Ci0rICBlbHNlCi0rICAgIHsK LSsgICAgICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKEJUX0lOVEVHRVIsIGtpbmQs ICZhLT53aGVyZSk7Ci0rICAgICAgbXB6X2ZkaXZfciAocmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCBh LT52YWx1ZS5pbnRlZ2VyLCBwLT52YWx1ZS5pbnRlZ2VyKTsKLSAgICAgfQotIAotICAgcmV0dXJu IHJhbmdlX2NoZWNrIChyZXN1bHQsICJNT0RVTE8iKTsKLUBAIC03NTc4LDI3ICs3NzA4LDQxIEBA IGdmY19leHByICoKLSBnZmNfc2ltcGxpZnlfc2lnbiAoZ2ZjX2V4cHIgKngsIGdmY19leHByICp5 KQotIHsKLSAgIGdmY19leHByICpyZXN1bHQ7Ci0rICBib29sIG5lZzsKLSAKLSAgIGlmICh4LT5l eHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCB8fCB5LT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFO VCkKLSAgICAgcmV0dXJuIE5VTEw7Ci0gCi0gICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4 cHIgKHgtPnRzLnR5cGUsIHgtPnRzLmtpbmQsICZ4LT53aGVyZSk7Ci0gCi0rICBzd2l0Y2ggKHkt PnRzLnR5cGUpCi0rICAgIHsKLSsgICAgICBjYXNlIEJUX0lOVEVHRVI6Ci0rCW5lZyA9IChtcHpf c2duICh5LT52YWx1ZS5pbnRlZ2VyKSA8IDApOwotKwlicmVhazsKLSsKLSsgICAgICBjYXNlIEJU X1JFQUw6Ci0rCW5lZyA9IChtcGZyX3NnbiAoeS0+dmFsdWUucmVhbCkgPCAwKTsKLSsJYnJlYWs7 Ci0rCi0rICAgICAgZGVmYXVsdDoKLSsJZ2ZjX2ludGVybmFsX2Vycm9yICgiQmFkIHR5cGUgaW4g Z2ZjX3NpbXBsaWZ5X3NpZ24iKTsKLSsgICAgfQotKwotICAgc3dpdGNoICh4LT50cy50eXBlKQot ICAgICB7Ci0gICAgICAgY2FzZSBCVF9JTlRFR0VSOgotIAltcHpfYWJzIChyZXN1bHQtPnZhbHVl LmludGVnZXIsIHgtPnZhbHVlLmludGVnZXIpOwotLQlpZiAobXB6X3NnbiAoeS0+dmFsdWUuaW50 ZWdlcikgPCAwKQotKwlpZiAobmVnKQotIAkgIG1wel9uZWcgKHJlc3VsdC0+dmFsdWUuaW50ZWdl ciwgcmVzdWx0LT52YWx1ZS5pbnRlZ2VyKTsKLSAJYnJlYWs7Ci0gCi0gICAgICAgY2FzZSBCVF9S RUFMOgotLQlpZiAoZmxhZ19zaWduX3plcm8pCi0rCWlmIChmbGFnX3NpZ25femVybyAmJiB5LT50 cy50eXBlID09IEJUX1JFQUwpCi0gCSAgbXBmcl9jb3B5c2lnbiAocmVzdWx0LT52YWx1ZS5yZWFs LCB4LT52YWx1ZS5yZWFsLCB5LT52YWx1ZS5yZWFsLAotLQkJCUdGQ19STkRfTU9ERSk7Ci0rCQkJ IEdGQ19STkRfTU9ERSk7Ci0gCWVsc2UKLS0JICBtcGZyX3NldHNpZ24gKHJlc3VsdC0+dmFsdWUu cmVhbCwgeC0+dmFsdWUucmVhbCwKLS0JCQltcGZyX3NnbiAoeS0+dmFsdWUucmVhbCkgPCAwID8g MSA6IDAsIEdGQ19STkRfTU9ERSk7Ci0rCSAgbXBmcl9zZXRzaWduIChyZXN1bHQtPnZhbHVlLnJl YWwsIHgtPnZhbHVlLnJlYWwsIG5lZywgR0ZDX1JORF9NT0RFKTsKLSAJYnJlYWs7Ci0gCi0gICAg ICAgZGVmYXVsdDoKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19p bnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzEuZiBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9hcnJheV9jb25zdF9wcm9tb3Rp b25fMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjI1NzYzODUy MTM5Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19p bnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzEuZgotQEAgLTAsMCArMSwx OCBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KLSsh Ci0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFscyBmb3IgbW9kIGFu ZCBtb2R1bG8gd2hlcmUKLSshIEEgaXMgYSBjb25zdGFudCBhcnJheSBhbmQgUCBpcyB6ZXJvLgot KyEKLSshIENvbXBpbGF0aW9uIGVycm9ycyBhcmUgZXhwZWN0ZWQKLSshCi0rISBDb250cmlidXRl ZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0 aGluay5jby51az4KLSshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+ Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5r LmNvbT4KLSshCi0rICAgICAgcHJvZ3JhbSBwcm9tb3Rpb25faW50X3JlYWxfYXJyYXlfY29uc3QK LSsgICAgICAgICAgcmVhbCBhKDIpID0gbW9kKFsxMiwgMzRdLCAwLjApKjQgICAgISB7IGRnLWVy cm9yICJzaGFsbCBub3QgYmUgemVybyIgfQotKyAgICAgICAgICBhID0gbW9kKFsxMi4wLCAzNC4w XSwgMCkqNCAgICAgICAgICAhIHsgZGctZXJyb3IgInNoYWxsIG5vdCBiZSB6ZXJvIiB9Ci0rICAg ICAgICAgIHJlYWwgYigyKSA9IG1vZHVsbyhbMTIsIDM0XSwgMC4wKSo0ICEgeyBkZy1lcnJvciAi c2hhbGwgbm90IGJlIHplcm8iIH0KLSsgICAgICAgICAgYiA9IG1vZHVsbyhbMTIuMCwgMzQuMF0s IDApKjQgICAgICAgISB7IGRnLWVycm9yICJzaGFsbCBub3QgYmUgemVybyIgfQotKyAgICAgIGVu ZCBwcm9ncmFtCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50 cmluc2ljX2ludF9yZWFsX2FycmF5X2NvbnN0X3Byb21vdGlvbl8yLmYgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9u XzIuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5iNzhhNDYwNTRm NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50 cmluc2ljX2ludF9yZWFsX2FycmF5X2NvbnN0X3Byb21vdGlvbl8yLmYKLUBAIC0wLDAgKzEsMTgg QEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLXByb21vdGlv biIgfQotKyEKLSshIFRlc3QgcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGZv ciBtb2QgYW5kIG1vZHVsbyB3aGVyZQotKyEgQSBpcyBhIGNvbnN0YW50IGFycmF5IGFuZCBQIGlz IHplcm8uCi0rIQotKyEgQ29tcGlsYXRpb24gZXJyb3JzIGFyZSBleHBlY3RlZAotKyEKLSshIENv bnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hl bmFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVk aGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBj b2RldGhpbmsuY29tPgotKyEKLSsgICAgICBwcm9ncmFtIHByb21vdGlvbl9pbnRfcmVhbF9hcnJh eV9jb25zdAotKyAgICAgICAgICByZWFsIGEoMikgPSBtb2QoWzEyLCAzNF0sIDAuMCkqNCAgICAh IHsgZGctZXJyb3IgInNoYWxsIG5vdCBiZSB6ZXJvIiB9Ci0rICAgICAgICAgIGEgPSBtb2QoWzEy LjAsIDM0LjBdLCAwKSo0ICAgICAgICAgICEgeyBkZy1lcnJvciAic2hhbGwgbm90IGJlIHplcm8i IH0KLSsgICAgICAgICAgcmVhbCBiKDIpID0gbW9kdWxvKFsxMiwgMzRdLCAwLjApKjQgISB7IGRn LWVycm9yICJzaGFsbCBub3QgYmUgemVybyIgfQotKyAgICAgICAgICBiID0gbW9kdWxvKFsxMi4w LCAzNC4wXSwgMCkqNCAgICAgICAhIHsgZGctZXJyb3IgInNoYWxsIG5vdCBiZSB6ZXJvIiB9Ci0r ICAgICAgZW5kIHByb2dyYW0KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzMuZiBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9hcnJheV9jb25zdF9w cm9tb3Rpb25fMy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjMx OGFiNWRiOTdlCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzMuZgotQEAgLTAs MCArMSwxOCBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMg LWZuby1kZWMtcHJvbW90aW9uIiB9Ci0rIQotKyEgVGVzdCBwcm9tb3Rpb24gYmV0d2VlbiBpbnRl Z2VycyBhbmQgcmVhbHMgZm9yIG1vZCBhbmQgbW9kdWxvIHdoZXJlCi0rISBBIGlzIGEgY29uc3Rh bnQgYXJyYXkgYW5kIFAgaXMgemVyby4KLSshCi0rISBDb21waWxhdGlvbiBlcnJvcnMgYXJlIGV4 cGVjdGVkCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEg PGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAgICAgICBhbmQg SmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24g PG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIHByb2dyYW0gcHJvbW90 aW9uX2ludF9yZWFsX2FycmF5X2NvbnN0Ci0rICAgICAgICAgIHJlYWwgYSgyKSA9IG1vZChbMTIs IDM0XSwgMC4wKSo0ICAgICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIG9mICdt b2QnIiB9Ci0rICAgICAgICAgIGEgPSBtb2QoWzEyLjAsIDM0LjBdLCAwKSo0ICAgICAgICAgICEg eyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIG9mICdtb2QnIiB9Ci0rICAgICAgICAg IHJlYWwgYigyKSA9IG1vZHVsbyhbMTIsIDM0XSwgMC4wKSo0ICEgeyBkZy1lcnJvciAiJ2EnIGFu ZCAncCcgYXJndW1lbnRzIG9mICdtb2R1bG8nIiB9Ci0rICAgICAgICAgIGIgPSBtb2R1bG8oWzEy LjAsIDM0LjBdLCAwKSo0ICAgICAgICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRz IG9mICdtb2R1bG8nIiB9Ci0rICAgICAgZW5kIHByb2dyYW0KLWRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9u XzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9j b25zdF9wcm9tb3Rpb25fMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAw MDAuLjI3ZWIyNTgyYmIyCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzEuZgotQEAgLTAs MCArMSw5MCBAQAotKyEgeyBkZy1kbyBydW4gfQotKyEgeyBkZy1vcHRpb25zICItZmRlYyAtZmlu aXQtcmVhbD1zbmFuIiB9Ci0rIQotKyEgVGVzdCBwcm9tb3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBh bmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJhdGlvbnMuCi0rISBUaGVzZSBvcGVyYXRpb25zIGFy ZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBtYXgsIG1pbmxvYyBhbmQKLSshIG1heGxv Yy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJh bmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KLSshICAgICAgICAgICAgIGFuZCBKZWZm IExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFy ay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgUFJPR1JBTSBwcm9tb3Rpb25f aW50X3JlYWxfY29uc3QKLSsgICAgICAgICEgYXJyYXlfbmFuIDR0aCBwb3NpdGlvbiB2YWx1ZSBp cyBOQU4KLSsgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQpCi0rICAgICAgICBEQVRBIGFycmF5X25h bigxKS8tNC4wLwotKyAgICAgICAgREFUQSBhcnJheV9uYW4oMikvMy4wLwotKyAgICAgICAgREFU QSBhcnJheV9uYW4oMykvLTIvCi0rCi0rICAgICAgICBJTlRFR0VSIG1faS8wLwotKyAgICAgICAg UkVBTCBtX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtZF9pLzAvCi0rICAgICAgICBSRUFM IG1kX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBkX2kvMC8KLSsgICAgICAgIFJFQUwgZF9y LzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgc19pLzAvCi0rICAgICAgICBSRUFMIHNfci8wLjAv Ci0rCi0rICAgICAgICBJTlRFR0VSIG1uX2kvMC8KLSsgICAgICAgIFJFQUwgbW5fci8wLjAvCi0r Ci0rICAgICAgICBJTlRFR0VSIG14X2kvMC8KLSsgICAgICAgIFJFQUwgbXhfci8wLjAvCi0rCi0r ICAgICAgICBtX2kgPSBNT0QoNCwgMykKLSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEK LSsgICAgICAgIG1fciA9IE1PRCg0LjAsIDMuMCkKLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAyCi0rICAgICAgICBtX3IgPSBNT0QoNCwgMy4wKQotKyAgICAgICAg aWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDMKLSsgICAgICAgIG1fciA9IE1PRCg0 LjAsIDMpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNAotKwot KyAgICAgICAgbWRfaSA9IE1PRFVMTyg0LCAzKQotKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBT VE9QIDUKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oNC4wLCAzLjApCi0rICAgICAgICBpZiAoYWJz KG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oNCwg My4wKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA3Ci0rICAg ICAgICBtZF9yID0gTU9EVUxPKDQuMCwgMykKLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgOAotKwotKyAgICAgICAgZF9pID0gRElNKDQsIDMpCi0rICAgICAgICBp ZiAoZF9pIC5uZS4gMSkgU1RPUCA5Ci0rICAgICAgICBkX3IgPSBESU0oNC4wLCAzLjApCi0rICAg ICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTAKLSsgICAgICAgIGRfciA9 IERJTSg0LjAsIDMpCi0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MTEKLSsgICAgICAgIGRfciA9IERJTSgzLCA0LjApCi0rICAgICAgICBpZiAoYWJzKGRfcikgPiAx LjBELTYpIFNUT1AgMTIKLSsKLSsgICAgICAgIHNfaSA9IFNJR04oLTQsIDMpCi0rICAgICAgICBp ZiAoc19pIC5uZS4gNCkgU1RPUCAxMwotKyAgICAgICAgc19yID0gU0lHTig0LjAsIC0zLjApCi0r ICAgICAgICBpZiAoYWJzKHNfciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMTQKLSsgICAgICAg IHNfciA9IFNJR04oNC4wLCAtMykKLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC00LjApKSA+IDEu MEQtNikgU1RPUCAxNQotKyAgICAgICAgc19yID0gU0lHTigtNCwgMy4wKQotKyAgICAgICAgaWYg KGFicyhzX3IgLSA0LjApID4gMS4wRC02KSBTVE9QIDE2Ci0rCi0rICAgICAgICBteF9pID0gTUFY KC00LCAtMywgMiwgMSkKLSsgICAgICAgIGlmIChteF9pIC5uZS4gMikgU1RPUCAxNwotKyAgICAg ICAgbXhfciA9IE1BWCgtNC4wLCAtMy4wLCAyLjAsIDEuMCkKLSsgICAgICAgIGlmIChhYnMobXhf ciAtIDIuMCkgPiAxLjBELTYpIFNUT1AgMTgKLSsgICAgICAgIG14X3IgPSBNQVgoLTQsIC0zLjAs IDIuMCwgMSkKLSsgICAgICAgIGlmIChhYnMobXhfciAtIDIuMCkgPiAxLjBELTYpIFNUT1AgMTkK LSsgICAgICAgIG14X2kgPSBNQVhMT0MoYXJyYXlfbmFuLCAxKQotKyAgICAgICAgaWYgKG14X2kg Lm5lLiAyKSBTVE9QIDIwCi0rCi0rICAgICAgICBtbl9pID0gTUlOKC00LCAtMywgMiwgMSkKLSsg ICAgICAgIGlmIChtbl9pIC5uZS4gLTQpIFNUT1AgMjEKLSsgICAgICAgIG1uX3IgPSBNSU4oLTQu MCwgLTMuMCwgMi4wLCAxLjApCi0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLTQuMCkpID4gMS4w RC02KSBTVE9QIDIyCi0rICAgICAgICBtbl9yID0gTUlOKC00LCAtMy4wLCAyLjAsIDEpCi0rICAg ICAgICBpZiAoYWJzKG1uX3IgLSAoLTQuMCkpID4gMS4wRC02KSBTVE9QIDIzCi0rICAgICAgICBt bl9pID0gTUlOTE9DKGFycmF5X25hbiwgMSkKLSsgICAgICAgIGlmIChtbl9pIC5uZS4gMSkgU1RP UCAyNAotKyAgICAgIEVORCBQUk9HUkFNCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2NvbnN0X3Byb21vdGlvbl8yLmYgYi9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90 aW9uXzIuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5iZGQwMTdi NzI4MAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNf aW50cmluc2ljX2ludF9yZWFsX2NvbnN0X3Byb21vdGlvbl8yLmYKLUBAIC0wLDAgKzEsOTAgQEAK LSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMtcHJvbW90aW9uIC1maW5p dC1yZWFsPXNuYW4iIH0KLSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFu ZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlvbnMgYXJl OiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEgbWF4bG9j LgotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFu Y2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYg TGF3IDxsYXdAcmVkaGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJr LmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICBQUk9HUkFNIHByb21vdGlvbl9p bnRfcmVhbF9jb25zdAotKyAgICAgICAgISBhcnJheV9uYW4gNHRoIHBvc2l0aW9uIHZhbHVlIGlz IE5BTgotKyAgICAgICAgUkVBTCBhcnJheV9uYW4oNCkKLSsgICAgICAgIERBVEEgYXJyYXlfbmFu KDEpLy00LjAvCi0rICAgICAgICBEQVRBIGFycmF5X25hbigyKS8zLjAvCi0rICAgICAgICBEQVRB IGFycmF5X25hbigzKS8tMi8KLSsKLSsgICAgICAgIElOVEVHRVIgbV9pLzAvCi0rICAgICAgICBS RUFMIG1fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1kX2kvMC8KLSsgICAgICAgIFJFQUwg bWRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIGRfaS8wLwotKyAgICAgICAgUkVBTCBkX3Iv MC4wLwotKwotKyAgICAgICAgSU5URUdFUiBzX2kvMC8KLSsgICAgICAgIFJFQUwgc19yLzAuMC8K LSsKLSsgICAgICAgIElOVEVHRVIgbW5faS8wLwotKyAgICAgICAgUkVBTCBtbl9yLzAuMC8KLSsK LSsgICAgICAgIElOVEVHRVIgbXhfaS8wLwotKyAgICAgICAgUkVBTCBteF9yLzAuMC8KLSsKLSsg ICAgICAgIG1faSA9IE1PRCg0LCAzKQotKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQot KyAgICAgICAgbV9yID0gTU9EKDQuMCwgMy4wKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDIKLSsgICAgICAgIG1fciA9IE1PRCg0LCAzLjApCi0rICAgICAgICBp ZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMwotKyAgICAgICAgbV9yID0gTU9EKDQu MCwgMykKLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA0Ci0rCi0r ICAgICAgICBtZF9pID0gTU9EVUxPKDQsIDMpCi0rICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNU T1AgNQotKyAgICAgICAgbWRfciA9IE1PRFVMTyg0LjAsIDMuMCkKLSsgICAgICAgIGlmIChhYnMo bWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgotKyAgICAgICAgbWRfciA9IE1PRFVMTyg0LCAz LjApCi0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDcKLSsgICAg ICAgIG1kX3IgPSBNT0RVTE8oNC4wLCAzKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+ IDEuMEQtNikgU1RPUCA4Ci0rCi0rICAgICAgICBkX2kgPSBESU0oNCwgMykKLSsgICAgICAgIGlm IChkX2kgLm5lLiAxKSBTVE9QIDkKLSsgICAgICAgIGRfciA9IERJTSg0LjAsIDMuMCkKLSsgICAg ICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMAotKyAgICAgICAgZF9yID0g RElNKDQuMCwgMykKLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAx MQotKyAgICAgICAgZF9yID0gRElNKDMsIDQuMCkKLSsgICAgICAgIGlmIChhYnMoZF9yKSA+IDEu MEQtNikgU1RPUCAxMgotKwotKyAgICAgICAgc19pID0gU0lHTigtNCwgMykKLSsgICAgICAgIGlm IChzX2kgLm5lLiA0KSBTVE9QIDEzCi0rICAgICAgICBzX3IgPSBTSUdOKDQuMCwgLTMuMCkKLSsg ICAgICAgIGlmIChhYnMoc19yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAxNAotKyAgICAgICAg c19yID0gU0lHTig0LjAsIC0zKQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLTQuMCkpID4gMS4w RC02KSBTVE9QIDE1Ci0rICAgICAgICBzX3IgPSBTSUdOKC00LCAzLjApCi0rICAgICAgICBpZiAo YWJzKHNfciAtIDQuMCkgPiAxLjBELTYpIFNUT1AgMTYKLSsKLSsgICAgICAgIG14X2kgPSBNQVgo LTQsIC0zLCAyLCAxKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiAyKSBTVE9QIDE3Ci0rICAgICAg ICBteF9yID0gTUFYKC00LjAsIC0zLjAsIDIuMCwgMS4wKQotKyAgICAgICAgaWYgKGFicyhteF9y IC0gMi4wKSA+IDEuMEQtNikgU1RPUCAxOAotKyAgICAgICAgbXhfciA9IE1BWCgtNCwgLTMuMCwg Mi4wLCAxKQotKyAgICAgICAgaWYgKGFicyhteF9yIC0gMi4wKSA+IDEuMEQtNikgU1RPUCAxOQot KyAgICAgICAgbXhfaSA9IE1BWExPQyhhcnJheV9uYW4sIDEpCi0rICAgICAgICBpZiAobXhfaSAu bmUuIDIpIFNUT1AgMjAKLSsKLSsgICAgICAgIG1uX2kgPSBNSU4oLTQsIC0zLCAyLCAxKQotKyAg ICAgICAgaWYgKG1uX2kgLm5lLiAtNCkgU1RPUCAyMQotKyAgICAgICAgbW5fciA9IE1JTigtNC4w LCAtMy4wLCAyLjAsIDEuMCkKLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtNC4wKSkgPiAxLjBE LTYpIFNUT1AgMjIKLSsgICAgICAgIG1uX3IgPSBNSU4oLTQsIC0zLjAsIDIuMCwgMSkKLSsgICAg ICAgIGlmIChhYnMobW5fciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMjMKLSsgICAgICAgIG1u X2kgPSBNSU5MT0MoYXJyYXlfbmFuLCAxKQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAxKSBTVE9Q IDI0Ci0rICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzMuZiBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9jb25zdF9wcm9tb3Rp b25fMy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmNlOTBhNTY2 N2Q2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19p bnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzMuZgotQEAgLTAsMCArMSw5MiBAQAot KyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMtcHJv bW90aW9uIC1maW5pdC1yZWFsPXNuYW4iIH0KLSshCi0rISBUZXN0IHRoYXQgdGhlcmUgaXMgbm8g cHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGluCi0rISBpbnRyaW5zaWMgb3Bl cmF0aW9ucy4KLSshCi0rISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwg c2lnbiwgbWluLCBtYXgsIG1pbmxvYyBhbmQKLSshIG1heGxvYy4KLSshCi0rISBDb250cmlidXRl ZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0 aGluay5jby51az4KLSshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+ Ci0rISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5r LmNvbT4KLSshCi0rICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWxfY29uc3QKLSsgICAg ICAgICEgYXJyYXlfbmFuIDR0aCBwb3NpdGlvbiB2YWx1ZSBpcyBOQU4KLSsgICAgICAgIFJFQUwg YXJyYXlfbmFuKDQpCi0rICAgICAgICBEQVRBIGFycmF5X25hbigxKS8tNC4wLwotKyAgICAgICAg REFUQSBhcnJheV9uYW4oMikvMy4wLwotKyAgICAgICAgREFUQSBhcnJheV9uYW4oMykvLTIvCi0r Ci0rICAgICAgICBJTlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3IvMC4wLwotKwotKyAg ICAgICAgSU5URUdFUiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4wLwotKwotKyAgICAg ICAgSU5URUdFUiBkX2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsKLSsgICAgICAgIElO VEVHRVIgc19pLzAvCi0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VS IG1uX2kvMC8KLSsgICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG14 X2kvMC8KLSsgICAgICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICBtX2kgPSBNT0QoNCwg MykKLSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKLSsgICAgICAgIG1fciA9IE1PRCg0 LjAsIDMuMCkKLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAyCi0r ICAgICAgICBtX3IgPSBNT0QoNCwgMy4wKSAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3Vt ZW50cyIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDMKLSsg ICAgICAgIG1fciA9IE1PRCg0LjAsIDMpICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1l bnRzIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNAotKwot KyAgICAgICAgbWRfaSA9IE1PRFVMTyg0LCAzKQotKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBT VE9QIDUKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oNC4wLCAzLjApCi0rICAgICAgICBpZiAoYWJz KG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oNCwg My4wKSAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQotKyAgICAgICAgaWYg KGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA3Ci0rICAgICAgICBtZF9yID0gTU9EVUxP KDQuMCwgMykgISB7IGRnLWVycm9yICInYScgYW5kICdwJyBhcmd1bWVudHMiIH0KLSsgICAgICAg IGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOAotKwotKyAgICAgICAgZF9pID0g RElNKDQsIDMpCi0rICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCA5Ci0rICAgICAgICBkX3Ig PSBESU0oNC4wLCAzLjApCi0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNU T1AgMTAKLSsgICAgICAgIGRfciA9IERJTSg0LjAsIDMpICEgeyBkZy1lcnJvciAiJ3gnIGFuZCAn eScgYXJndW1lbnRzIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNU T1AgMTEKLSsgICAgICAgIGRfciA9IERJTSgzLCA0LjApICEgeyBkZy1lcnJvciAiJ3gnIGFuZCAn eScgYXJndW1lbnRzIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTIK LSsKLSsgICAgICAgIHNfaSA9IFNJR04oLTQsIDMpCi0rICAgICAgICBpZiAoc19pIC5uZS4gNCkg U1RPUCAxMwotKyAgICAgICAgc19yID0gU0lHTig0LjAsIC0zLjApCi0rICAgICAgICBpZiAoYWJz KHNfciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMTQKLSsgICAgICAgIHNfciA9IFNJR04oNC4w LCAtMykgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChhYnMoc19y IC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAxNQotKyAgICAgICAgc19yID0gU0lHTigtNCwgMy4w KSAhIHsgZGctZXJyb3IgIidiJyBhcmd1bWVudCIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSA0 LjApID4gMS4wRC02KSBTVE9QIDE2Ci0rCi0rICAgICAgICBteF9pID0gTUFYKC00LCAtMywgMiwg MSkKLSsgICAgICAgIGlmIChteF9pIC5uZS4gMikgU1RPUCAxNwotKyAgICAgICAgbXhfciA9IE1B WCgtNC4wLCAtMy4wLCAyLjAsIDEuMCkKLSsgICAgICAgIGlmIChhYnMobXhfciAtIDIuMCkgPiAx LjBELTYpIFNUT1AgMTgKLSsgICAgICAgIG14X3IgPSBNQVgoLTQsIC0zLjAsIDIuMCwgMSkgISB7 IGRnLWVycm9yICInYTInIGFyZ3VtZW50IiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSAyLjAp ID4gMS4wRC02KSBTVE9QIDE5Ci0rICAgICAgICBteF9pID0gTUFYTE9DKGFycmF5X25hbiwgMSkK LSsgICAgICAgIGlmIChteF9pIC5uZS4gMikgU1RPUCAyMAotKwotKyAgICAgICAgbW5faSA9IE1J TigtNCwgLTMsIDIsIDEpCi0rICAgICAgICBpZiAobW5faSAubmUuIC00KSBTVE9QIDIxCi0rICAg ICAgICBtbl9yID0gTUlOKC00LjAsIC0zLjAsIDIuMCwgMS4wKQotKyAgICAgICAgaWYgKGFicyht bl9yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAyMgotKyAgICAgICAgbW5fciA9IE1JTigtNCwg LTMuMCwgMi4wLCAxKSAhIHsgZGctZXJyb3IgIidhMicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlm IChhYnMobW5fciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMjMKLSsgICAgICAgIG1uX2kgPSBN SU5MT0MoYXJyYXlfbmFuLCAxKQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAxKSBTVE9QIDI0Ci0r ICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzEuZiBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fMS5mCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjVjMmNkOTMxYTRiCi0tLS0gL2Rldi9udWxs Ci0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf cHJvbW90aW9uXzEuZgotQEAgLTAsMCArMSwxMzAgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsg ZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVn ZXJzIGFuZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlv bnMgYXJlOiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEg bWF4bG9jLgotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5h IDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5k IEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9u IDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICBQUk9HUkFNIHByb21v dGlvbl9pbnRfcmVhbAotKyAgICAgICAgUkVBTCBsLzAuMC8KLSsgICAgICAgIElOVEVHRVIgYV9p LzQvCi0rICAgICAgICBJTlRFR0VSKjQgYTJfaS80LwotKyAgICAgICAgSU5URUdFUiBiX2kvMy8K LSsgICAgICAgIElOVEVHRVIqOCBiMl9pLzMvCi0rICAgICAgICBJTlRFR0VSIHhfaS8yLwotKyAg ICAgICAgSU5URUdFUiB5X2kvMS8KLSsgICAgICAgIFJFQUwgYV9yLzQuMC8KLSsgICAgICAgIFJF QUwqNCBhMl9yLzQuMC8KLSsgICAgICAgIFJFQUwgYl9yLzMuMC8KLSsgICAgICAgIFJFQUwqOCBi Ml9yLzMuMC8KLSsgICAgICAgIFJFQUwgeF9yLzIuMC8KLSsgICAgICAgIFJFQUwgeV9yLzEuMC8K LSsKLSsgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQpCi0rICAgICAgICBEQVRBIGFycmF5X25hbigx KS8tNC4wLwotKyAgICAgICAgREFUQSBhcnJheV9uYW4oMikvMy4wLwotKyAgICAgICAgREFUQSBh cnJheV9uYW4oMykvLTIvCi0rCi0rICAgICAgICBJTlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVB TCBtX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1k X3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBkX2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAu MC8KLSsKLSsgICAgICAgIElOVEVHRVIgc19pLzAvCi0rICAgICAgICBSRUFMIHNfci8wLjAvCi0r Ci0rICAgICAgICBJTlRFR0VSIG1uX2kvMC8KLSsgICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0r ICAgICAgICBJTlRFR0VSIG14X2kvMC8KLSsgICAgICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAg ICAgICAhIGFycmF5X25hbiA0dGggcG9zaXRpb24gdmFsdWUgaXMgTkFOCi0rICAgICAgICBhcnJh eV9uYW4oNCkgPSAwL2wKLSsKLSsgICAgICAgIG1faSA9IE1PRChhX2ksIGJfaSkKLSsgICAgICAg IGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKLSsgICAgICAgIG1faSA9IE1PRChhMl9pLCBiMl9pKQot KyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMgotKyAgICAgICAgbV9yID0gTU9EKGFfciwg Yl9yKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDMKLSsgICAg ICAgIG1fciA9IE1PRChhMl9yLCBiMl9yKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4g MS4wRC02KSBTVE9QIDQKLSsgICAgICAgIG1fciA9IE1PRChhX2ksIGJfcikKLSsgICAgICAgIGlm IChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1Ci0rICAgICAgICBtX3IgPSBNT0QoYV9y LCBiX2kpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgotKwot KyAgICAgICAgbWRfaSA9IE1PRFVMTyhhX2ksIGJfaSkKLSsgICAgICAgIGlmIChtZF9pIC5uZS4g MSkgU1RPUCA3Ci0rICAgICAgICBtZF9pID0gTU9EVUxPKGEyX2ksIGIyX2kpCi0rICAgICAgICBp ZiAobWRfaSAubmUuIDEpIFNUT1AgOAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfcikK LSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOQotKyAgICAgICAg bWRfciA9IE1PRFVMTyhhMl9yLCBiMl9yKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+ IDEuMEQtNikgU1RPUCAxMAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2ksIGJfcikKLSsgICAg ICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKLSsgICAgICAgIG1kX3Ig PSBNT0RVTE8oYV9yLCBiX2kpCi0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02 KSBTVE9QIDEyCi0rCi0rICAgICAgICBkX2kgPSBESU0oYV9pLCBiX2kpCi0rICAgICAgICBpZiAo ZF9pIC5uZS4gMSkgU1RPUCAxMwotKyAgICAgICAgZF9pID0gRElNKGEyX2ksIGIyX2kpCi0rICAg ICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxNAotKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9y KQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE1Ci0rICAgICAg ICBkX3IgPSBESU0oYTJfciwgYjJfcikKLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEu MEQtNikgU1RPUCAxNgotKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9pKQotKyAgICAgICAgaWYg KGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE3Ci0rICAgICAgICBkX3IgPSBESU0oYl9p LCBhX3IpCi0rICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTgKLSsKLSsgICAg ICAgIHNfaSA9IFNJR04oLWFfaSwgYl9pKQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1Ag MTkKLSsgICAgICAgIHNfaSA9IFNJR04oLWEyX2ksIGIyX2kpCi0rICAgICAgICBpZiAoc19pIC5u ZS4gNCkgU1RPUCAyMAotKyAgICAgICAgc19yID0gU0lHTihhX3IsIC1iX3IpCi0rICAgICAgICBp ZiAoYWJzKHNfciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMjEKLSsgICAgICAgIHNfciA9IFNJ R04oYTJfciwgLWIyX3IpCi0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYTJfcikpID4gMS4wRC02 KSBTVE9QIDIyCi0rICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJfaSkKLSsgICAgICAgIGlmIChh YnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMwotKyAgICAgICAgc19yID0gU0lHTigt YV9pLCBiX3IpCi0rICAgICAgICBpZiAoYWJzKHNfciAtIGFfcikgPiAxLjBELTYpIFNUT1AgMjQK LSsKLSsgICAgICAgIG14X2kgPSBNQVgoLWFfaSwgLWJfaSwgeF9pLCB5X2kpCi0rICAgICAgICBp ZiAobXhfaSAubmUuIHhfaSkgU1RPUCAyNQotKyAgICAgICAgbXhfaSA9IE1BWCgtYTJfaSwgLWIy X2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjYKLSsgICAg ICAgIG14X3IgPSBNQVgoLWFfciwgLWJfciwgeF9yLCB5X3IpCi0rICAgICAgICBpZiAoYWJzKG14 X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI3Ci0rICAgICAgICBteF9yID0gTUFYKC1hX3IsIC1i X3IsIHhfciwgeV9yKQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RP UCAyOAotKyAgICAgICAgbXhfciA9IE1BWCgtYV9pLCAtYl9yLCB4X3IsIHlfaSkKLSsgICAgICAg IGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjkKLSsgICAgICAgIG14X2kgPSBN QVhMT0MoYXJyYXlfbmFuLCAxKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiAyKSBTVE9QIDMwCi0r Ci0rICAgICAgICBtbl9pID0gTUlOKC1hX2ksIC1iX2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYg KG1uX2kgLm5lLiAtYV9pKSBTVE9QIDMxCi0rICAgICAgICBtbl9pID0gTUlOKC1hMl9pLCAtYjJf aSwgeF9pLCB5X2kpCi0rICAgICAgICBpZiAobW5faSAubmUuIC1hMl9pKSBTVE9QIDMyCi0rICAg ICAgICBtbl9yID0gTUlOKC1hX3IsIC1iX3IsIHhfciwgeV9yKQotKyAgICAgICAgaWYgKGFicyht bl9yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAzMwotKyAgICAgICAgbW5fciA9IE1JTigtYTJf ciwgLWIyX3IsIHhfciwgeV9yKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hMl9yKSkgPiAx LjBELTYpIFNUT1AgMzQKLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfaSwgLWJfciwgeF9yLCB5X2kp Ci0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDM1Ci0rICAg ICAgICBtbl9pID0gTUlOTE9DKGFycmF5X25hbiwgMSkKLSsgICAgICAgIGlmIChtbl9pIC5uZS4g MSkgU1RPUCAzNgotKyAgICAgIEVORCBQUk9HUkFNCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl8yLmYgYi9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzIu ZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5kNjRkNDY4ZjdkMQot LS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmlu c2ljX2ludF9yZWFsX3Byb21vdGlvbl8yLmYKLUBAIC0wLDAgKzEsMTMwIEBACi0rISB7IGRnLWRv IHJ1biB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLXByb21vdGlvbiIgfQotKyEKLSshIFRlc3Qg cHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGluIGludHJpbnNpYyBvcGVyYXRp b25zLgotKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1vZCwgbW9kdWxvLCBkaW0sIHNpZ24sIG1p biwgbWF4LCBtaW5sb2MgYW5kCi0rISBtYXhsb2MuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJh bmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28u dWs+Ci0rISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9k aWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0r IQotKyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9yZWFsCi0rICAgICAgICBSRUFMIGwvMC4w LwotKyAgICAgICAgSU5URUdFUiBhX2kvNC8KLSsgICAgICAgIElOVEVHRVIqNCBhMl9pLzQvCi0r ICAgICAgICBJTlRFR0VSIGJfaS8zLwotKyAgICAgICAgSU5URUdFUio4IGIyX2kvMy8KLSsgICAg ICAgIElOVEVHRVIgeF9pLzIvCi0rICAgICAgICBJTlRFR0VSIHlfaS8xLwotKyAgICAgICAgUkVB TCBhX3IvNC4wLwotKyAgICAgICAgUkVBTCo0IGEyX3IvNC4wLwotKyAgICAgICAgUkVBTCBiX3Iv My4wLwotKyAgICAgICAgUkVBTCo4IGIyX3IvMy4wLwotKyAgICAgICAgUkVBTCB4X3IvMi4wLwot KyAgICAgICAgUkVBTCB5X3IvMS4wLwotKwotKyAgICAgICAgUkVBTCBhcnJheV9uYW4oNCkKLSsg ICAgICAgIERBVEEgYXJyYXlfbmFuKDEpLy00LjAvCi0rICAgICAgICBEQVRBIGFycmF5X25hbigy KS8zLjAvCi0rICAgICAgICBEQVRBIGFycmF5X25hbigzKS8tMi8KLSsKLSsgICAgICAgIElOVEVH RVIgbV9pLzAvCi0rICAgICAgICBSRUFMIG1fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1k X2kvMC8KLSsgICAgICAgIFJFQUwgbWRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIGRfaS8w LwotKyAgICAgICAgUkVBTCBkX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBzX2kvMC8KLSsg ICAgICAgIFJFQUwgc19yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbW5faS8wLwotKyAgICAg ICAgUkVBTCBtbl9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbXhfaS8wLwotKyAgICAgICAg UkVBTCBteF9yLzAuMC8KLSsKLSsgICAgICAgICEgYXJyYXlfbmFuIDR0aCBwb3NpdGlvbiB2YWx1 ZSBpcyBOQU4KLSsgICAgICAgIGFycmF5X25hbig0KSA9IDAvbAotKwotKyAgICAgICAgbV9pID0g TU9EKGFfaSwgYl9pKQotKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQotKyAgICAgICAg bV9pID0gTU9EKGEyX2ksIGIyX2kpCi0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAyCi0r ICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX3IpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgMwotKyAgICAgICAgbV9yID0gTU9EKGEyX3IsIGIyX3IpCi0rICAgICAg ICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNAotKyAgICAgICAgbV9yID0gTU9E KGFfaSwgYl9yKQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDUK LSsgICAgICAgIG1fciA9IE1PRChhX3IsIGJfaSkKLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA2Ci0rCi0rICAgICAgICBtZF9pID0gTU9EVUxPKGFfaSwgYl9pKQot KyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDcKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8o YTJfaSwgYjJfaSkKLSsgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA4Ci0rICAgICAgICBt ZF9yID0gTU9EVUxPKGFfciwgYl9yKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEu MEQtNikgU1RPUCA5Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKGEyX3IsIGIyX3IpCi0rICAgICAg ICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEwCi0rICAgICAgICBtZF9yID0g TU9EVUxPKGFfaSwgYl9yKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikg U1RPUCAxMQotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfaSkKLSsgICAgICAgIGlmIChh YnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTIKLSsKLSsgICAgICAgIGRfaSA9IERJTShh X2ksIGJfaSkKLSsgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDEzCi0rICAgICAgICBkX2kg PSBESU0oYTJfaSwgYjJfaSkKLSsgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDE0Ci0rICAg ICAgICBkX3IgPSBESU0oYV9yLCBiX3IpCi0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAx LjBELTYpIFNUT1AgMTUKLSsgICAgICAgIGRfciA9IERJTShhMl9yLCBiMl9yKQotKyAgICAgICAg aWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE2Ci0rICAgICAgICBkX3IgPSBESU0o YV9yLCBiX2kpCi0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTcK LSsgICAgICAgIGRfciA9IERJTShiX2ksIGFfcikKLSsgICAgICAgIGlmIChhYnMoZF9yKSA+IDEu MEQtNikgU1RPUCAxOAotKwotKyAgICAgICAgc19pID0gU0lHTigtYV9pLCBiX2kpCi0rICAgICAg ICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxOQotKyAgICAgICAgc19pID0gU0lHTigtYTJfaSwgYjJf aSkKLSsgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDIwCi0rICAgICAgICBzX3IgPSBTSUdO KGFfciwgLWJfcikKLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RP UCAyMQotKyAgICAgICAgc19yID0gU0lHTihhMl9yLCAtYjJfcikKLSsgICAgICAgIGlmIChhYnMo c19yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMjIKLSsgICAgICAgIHNfciA9IFNJR04oYV9y LCAtYl9pKQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDIz Ci0rICAgICAgICBzX3IgPSBTSUdOKC1hX2ksIGJfcikKLSsgICAgICAgIGlmIChhYnMoc19yIC0g YV9yKSA+IDEuMEQtNikgU1RPUCAyNAotKwotKyAgICAgICAgbXhfaSA9IE1BWCgtYV9pLCAtYl9p LCB4X2ksIHlfaSkKLSsgICAgICAgIGlmIChteF9pIC5uZS4geF9pKSBTVE9QIDI1Ci0rICAgICAg ICBteF9pID0gTUFYKC1hMl9pLCAtYjJfaSwgeF9pLCB5X2kpCi0rICAgICAgICBpZiAobXhfaSAu bmUuIHhfaSkgU1RPUCAyNgotKyAgICAgICAgbXhfciA9IE1BWCgtYV9yLCAtYl9yLCB4X3IsIHlf cikKLSsgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjcKLSsgICAg ICAgIG14X3IgPSBNQVgoLWFfciwgLWJfciwgeF9yLCB5X3IpCi0rICAgICAgICBpZiAoYWJzKG14 X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI4Ci0rICAgICAgICBteF9yID0gTUFYKC1hX2ksIC1i X3IsIHhfciwgeV9pKQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RP UCAyOQotKyAgICAgICAgbXhfaSA9IE1BWExPQyhhcnJheV9uYW4sIDEpCi0rICAgICAgICBpZiAo bXhfaSAubmUuIDIpIFNUT1AgMzAKLSsKLSsgICAgICAgIG1uX2kgPSBNSU4oLWFfaSwgLWJfaSwg eF9pLCB5X2kpCi0rICAgICAgICBpZiAobW5faSAubmUuIC1hX2kpIFNUT1AgMzEKLSsgICAgICAg IG1uX2kgPSBNSU4oLWEyX2ksIC1iMl9pLCB4X2ksIHlfaSkKLSsgICAgICAgIGlmIChtbl9pIC5u ZS4gLWEyX2kpIFNUT1AgMzIKLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfciwgLWJfciwgeF9yLCB5 X3IpCi0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDMzCi0r ICAgICAgICBtbl9yID0gTUlOKC1hMl9yLCAtYjJfciwgeF9yLCB5X3IpCi0rICAgICAgICBpZiAo YWJzKG1uX3IgLSAoLWEyX3IpKSA+IDEuMEQtNikgU1RPUCAzNAotKyAgICAgICAgbW5fciA9IE1J TigtYV9pLCAtYl9yLCB4X3IsIHlfaSkKLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtYV9yKSkg PiAxLjBELTYpIFNUT1AgMzUKLSsgICAgICAgIG1uX2kgPSBNSU5MT0MoYXJyYXlfbmFuLCAxKQot KyAgICAgICAgaWYgKG1uX2kgLm5lLiAxKSBTVE9QIDM2Ci0rICAgICAgRU5EIFBST0dSQU0KLWRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3Jl YWxfcHJvbW90aW9uXzMuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNp Y19pbnRfcmVhbF9wcm9tb3Rpb25fMy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAw MDAwMDAwMDAuLjA3MDhiNjY2NjMzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzMuZgotQEAgLTAs MCArMSwxMzAgQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVj IC1mbm8tZGVjLXByb21vdGlvbiIgfQotKyEKLSshIFRlc3QgcHJvbW90aW9uIGJldHdlZW4gaW50 ZWdlcnMgYW5kIHJlYWxzIGluIGludHJpbnNpYyBvcGVyYXRpb25zLgotKyEgVGhlc2Ugb3BlcmF0 aW9ucyBhcmU6IG1vZCwgbW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwgbWF4LCBtaW5sb2MgYW5kCi0r ISBtYXhsb2MuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hl bmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISAgICAgICAgICAgICBh bmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0 b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIFBST0dSQU0gcHJv bW90aW9uX2ludF9yZWFsCi0rICAgICAgICBSRUFMIGwvMC4wLwotKyAgICAgICAgSU5URUdFUiBh X2kvNC8KLSsgICAgICAgIElOVEVHRVIqNCBhMl9pLzQvCi0rICAgICAgICBJTlRFR0VSIGJfaS8z LwotKyAgICAgICAgSU5URUdFUio4IGIyX2kvMy8KLSsgICAgICAgIElOVEVHRVIgeF9pLzIvCi0r ICAgICAgICBJTlRFR0VSIHlfaS8xLwotKyAgICAgICAgUkVBTCBhX3IvNC4wLwotKyAgICAgICAg UkVBTCo0IGEyX3IvNC4wLwotKyAgICAgICAgUkVBTCBiX3IvMy4wLwotKyAgICAgICAgUkVBTCo4 IGIyX3IvMy4wLwotKyAgICAgICAgUkVBTCB4X3IvMi4wLwotKyAgICAgICAgUkVBTCB5X3IvMS4w LwotKwotKyAgICAgICAgUkVBTCBhcnJheV9uYW4oNCkKLSsgICAgICAgIERBVEEgYXJyYXlfbmFu KDEpLy00LjAvCi0rICAgICAgICBEQVRBIGFycmF5X25hbigyKS8zLjAvCi0rICAgICAgICBEQVRB IGFycmF5X25hbigzKS8tMi8KLSsKLSsgICAgICAgIElOVEVHRVIgbV9pLzAvCi0rICAgICAgICBS RUFMIG1fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1kX2kvMC8KLSsgICAgICAgIFJFQUwg bWRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIGRfaS8wLwotKyAgICAgICAgUkVBTCBkX3Iv MC4wLwotKwotKyAgICAgICAgSU5URUdFUiBzX2kvMC8KLSsgICAgICAgIFJFQUwgc19yLzAuMC8K LSsKLSsgICAgICAgIElOVEVHRVIgbW5faS8wLwotKyAgICAgICAgUkVBTCBtbl9yLzAuMC8KLSsK LSsgICAgICAgIElOVEVHRVIgbXhfaS8wLwotKyAgICAgICAgUkVBTCBteF9yLzAuMC8KLSsKLSsg ICAgICAgICEgYXJyYXlfbmFuIDR0aCBwb3NpdGlvbiB2YWx1ZSBpcyBOQU4KLSsgICAgICAgIGFy cmF5X25hbig0KSA9IDAvbAotKwotKyAgICAgICAgbV9pID0gTU9EKGFfaSwgYl9pKQotKyAgICAg ICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQotKyAgICAgICAgbV9pID0gTU9EKGEyX2ksIGIyX2kp Ci0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAyCi0rICAgICAgICBtX3IgPSBNT0QoYV9y LCBiX3IpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMwotKyAg ICAgICAgbV9yID0gTU9EKGEyX3IsIGIyX3IpCi0rICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgNAotKyAgICAgICAgbV9yID0gTU9EKGFfaSwgYl9yKSAhIHsgZGctZXJy b3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDUKLSsgICAgICAgIG1fciA9IE1PRChhX3IsIGJfaSkgISB7IGRnLWVy cm9yICInYScgYW5kICdwJyBhcmd1bWVudHMiIH0KLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA2Ci0rCi0rICAgICAgICBtZF9pID0gTU9EVUxPKGFfaSwgYl9pKQot KyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDcKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8o YTJfaSwgYjJfaSkKLSsgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA4Ci0rICAgICAgICBt ZF9yID0gTU9EVUxPKGFfciwgYl9yKQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEu MEQtNikgU1RPUCA5Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKGEyX3IsIGIyX3IpCi0rICAgICAg ICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEwCi0rICAgICAgICBtZF9yID0g TU9EVUxPKGFfaSwgYl9yKSAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQot KyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMQotKyAgICAgICAg bWRfciA9IE1PRFVMTyhhX3IsIGJfaSkgISB7IGRnLWVycm9yICInYScgYW5kICdwJyBhcmd1bWVu dHMiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTIKLSsK LSsgICAgICAgIGRfaSA9IERJTShhX2ksIGJfaSkKLSsgICAgICAgIGlmIChkX2kgLm5lLiAxKSBT VE9QIDEzCi0rICAgICAgICBkX2kgPSBESU0oYTJfaSwgYjJfaSkKLSsgICAgICAgIGlmIChkX2kg Lm5lLiAxKSBTVE9QIDE0Ci0rICAgICAgICBkX3IgPSBESU0oYV9yLCBiX3IpCi0rICAgICAgICBp ZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTUKLSsgICAgICAgIGRfciA9IERJTShh Ml9yLCBiMl9yKQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE2 Ci0rICAgICAgICBkX3IgPSBESU0oYV9yLCBiX2kpICEgeyBkZy1lcnJvciAiJ3gnIGFuZCAneScg YXJndW1lbnRzIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MTcKLSsgICAgICAgIGRfciA9IERJTShiX2ksIGFfcikgISB7IGRnLWVycm9yICIneCcgYW5kICd5 JyBhcmd1bWVudHMiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yKSA+IDEuMEQtNikgU1RPUCAxOAot KwotKyAgICAgICAgc19pID0gU0lHTigtYV9pLCBiX2kpCi0rICAgICAgICBpZiAoc19pIC5uZS4g NCkgU1RPUCAxOQotKyAgICAgICAgc19pID0gU0lHTigtYTJfaSwgYjJfaSkgISB7IGRnLWVycm9y ICInYicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDIwCi0rICAg ICAgICBzX3IgPSBTSUdOKGFfciwgLWJfcikKLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hX3Ip KSA+IDEuMEQtNikgU1RPUCAyMQotKyAgICAgICAgc19yID0gU0lHTihhMl9yLCAtYjJfcikgISB7 IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hMl9y KSkgPiAxLjBELTYpIFNUT1AgMjIKLSsgICAgICAgIHNfciA9IFNJR04oYV9yLCAtYl9pKSAhIHsg ZGctZXJyb3IgIidiJyBhcmd1bWVudCIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfcikp ID4gMS4wRC02KSBTVE9QIDIzCi0rICAgICAgICBzX3IgPSBTSUdOKC1hX2ksIGJfcikgISB7IGRn LWVycm9yICInYicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gYV9yKSA+IDEu MEQtNikgU1RPUCAyNAotKwotKyAgICAgICAgbXhfaSA9IE1BWCgtYV9pLCAtYl9pLCB4X2ksIHlf aSkKLSsgICAgICAgIGlmIChteF9pIC5uZS4geF9pKSBTVE9QIDI1Ci0rICAgICAgICBteF9pID0g TUFYKC1hMl9pLCAtYjJfaSwgeF9pLCB5X2kpCi0rICAgICAgICBpZiAobXhfaSAubmUuIHhfaSkg U1RPUCAyNgotKyAgICAgICAgbXhfciA9IE1BWCgtYV9yLCAtYl9yLCB4X3IsIHlfcikKLSsgICAg ICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjcKLSsgICAgICAgIG14X3Ig PSBNQVgoLWFfciwgLWJfciwgeF9yLCB5X3IpCi0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3Ip ID4gMS4wRC02KSBTVE9QIDI4Ci0rICAgICAgICBteF9yID0gTUFYKC1hX2ksIC1iX3IsIHhfciwg eV9pKSAhIHsgZGctZXJyb3IgIidhMicgYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChhYnMobXhf ciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjkKLSsgICAgICAgIG14X2kgPSBNQVhMT0MoYXJyYXlf bmFuLCAxKQotKyAgICAgICAgaWYgKG14X2kgLm5lLiAyKSBTVE9QIDMwCi0rCi0rICAgICAgICBt bl9pID0gTUlOKC1hX2ksIC1iX2ksIHhfaSwgeV9pKQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAt YV9pKSBTVE9QIDMxCi0rICAgICAgICBtbl9pID0gTUlOKC1hMl9pLCAtYjJfaSwgeF9pLCB5X2kp Ci0rICAgICAgICBpZiAobW5faSAubmUuIC1hMl9pKSBTVE9QIDMyCi0rICAgICAgICBtbl9yID0g TUlOKC1hX3IsIC1iX3IsIHhfciwgeV9yKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3Ip KSA+IDEuMEQtNikgU1RPUCAzMwotKyAgICAgICAgbW5fciA9IE1JTigtYTJfciwgLWIyX3IsIHhf ciwgeV9yKQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1Ag MzQKLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfaSwgLWJfciwgeF9yLCB5X2kpICEgeyBkZy1lcnJv ciAiJ2EyJyBhcmd1bWVudCIgfQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+IDEu MEQtNikgU1RPUCAzNQotKyAgICAgICAgbW5faSA9IE1JTkxPQyhhcnJheV9uYW4sIDEpCi0rICAg ICAgICBpZiAobW5faSAubmUuIDEpIFNUT1AgMzYKLSsgICAgICBFTkQgUFJPR1JBTQotZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9w cm9tb3Rpb25fNC5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2lu dF9yZWFsX3Byb21vdGlvbl80LmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw MDAwMC4uZWZhNGYyMzY0MTAKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNC5mCi1AQCAtMCwwICsx LDExOCBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0K LSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFscyBpbiBpbnRy aW5zaWMgb3BlcmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBtb2QsIG1vZHVsbywg ZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEgbWF4bG9jLgotKyEKLSshIENvbnRy aWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFA Y29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0 LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2Rl dGhpbmsuY29tPgotKyEKLSsgICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRfcmVhbAotKyAgICAg ICAgUkVBTCBsLzAuMC8KLSsgICAgICAgIExPR0lDQUwgYV9sCi0rICAgICAgICBMT0dJQ0FMKjQg YTJfbAotKyAgICAgICAgTE9HSUNBTCBiX2wKLSsgICAgICAgIExPR0lDQUwqOCBiMl9sCi0rICAg ICAgICBMT0dJQ0FMIHhfbAotKyAgICAgICAgTE9HSUNBTCB5X2wKLSsgICAgICAgIENIQVJBQ1RF UiBhX2MKLSsgICAgICAgIENIQVJBQ1RFUio0IGEyX2MKLSsgICAgICAgIENIQVJBQ1RFUiBiX2MK LSsgICAgICAgIENIQVJBQ1RFUio4IGIyX2MKLSsgICAgICAgIENIQVJBQ1RFUiB4X2MKLSsgICAg ICAgIENIQVJBQ1RFUiB5X2MKLSsKLSsgICAgICAgIElOVEVHRVIgbV9pLzAvCi0rICAgICAgICBS RUFMIG1fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIG1kX2kvMC8KLSsgICAgICAgIFJFQUwg bWRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIGRfaS8wLwotKyAgICAgICAgUkVBTCBkX3Iv MC4wLwotKwotKyAgICAgICAgSU5URUdFUiBzX2kvMC8KLSsgICAgICAgIFJFQUwgc19yLzAuMC8K LSsKLSsgICAgICAgIElOVEVHRVIgbW5faS8wLwotKyAgICAgICAgUkVBTCBtbl9yLzAuMC8KLSsK LSsgICAgICAgIElOVEVHRVIgbXhfaS8wLwotKyAgICAgICAgUkVBTCBteF9yLzAuMC8KLSsKLSsg ICAgICAgIG1faSA9IE1PRChhX2wsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJy b3IgIiIgfQotKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQotKyAgICAgICAgbV9pID0g TU9EKGEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAg ICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAyCi0rICAgICAgICBtX3IgPSBNT0QoYV9jLCBiX2Mp ICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMo bV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAzCi0rICAgICAgICBtX3IgPSBNT0QoYTJfYywgYjJf YykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMo bV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA0Ci0rICAgICAgICBtX3IgPSBNT0QoYV9sLCBiX2Mp ICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMo bV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1Ci0rICAgICAgICBtX3IgPSBNT0QoYV9jLCBiX2wp ICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMo bV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2Ci0rCi0rICAgICAgICBtZF9pID0gTU9EVUxPKGFf bCwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmICht ZF9pIC5uZS4gMSkgU1RPUCA3Ci0rICAgICAgICBtZF9pID0gTU9EVUxPKGEyX2wsIGIyX2wpICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtZF9pIC5uZS4gMSkg U1RPUCA4Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfYywgYl9jKSAgICAgICAgICAgICAgICAg ISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYp IFNUT1AgOQotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhMl9jLCBiMl9jKSAgICAgICAgICAgICAg ICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02 KSBTVE9QIDEwCi0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfbCwgYl9jKSAgICAgICAgICAgICAg ICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBE LTYpIFNUT1AgMTEKLSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9jLCBiX2wpICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEu MEQtNikgU1RPUCAxMgotKwotKyAgICAgICAgZF9pID0gRElNKGFfbCwgYl9sKSAgICAgICAgICAg ICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RP UCAxMwotKyAgICAgICAgZF9pID0gRElNKGEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAgICEg eyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxNAotKyAgICAg ICAgZF9yID0gRElNKGFfYywgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAi IiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTUKLSsgICAg ICAgIGRfciA9IERJTShhMl9jLCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE2Ci0rICAg ICAgICBkX3IgPSBESU0oYV9jLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNwotKyAg ICAgICAgZF9yID0gRElNKGJfbCwgYV9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTgKLSsKLSsgICAg ICAgIHNfaSA9IFNJR04oLWFfbCwgYl9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTkKLSsgICAgICAgIHNfaSA9IFNJ R04oLWEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAg ICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMjAKLSsgICAgICAgIHNfciA9IFNJR04oYV9jLCAtYl9j KSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhz X3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDIxICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAg ICBzX3IgPSBTSUdOKGEyX2MsIC1iMl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIi IH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hMl9jKSkgPiAxLjBELTYpIFNUT1AgMjIgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIHNfciA9IFNJR04oYV9jLCAtYl9sKSAgICAgICAgICAg ICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfYykp ID4gMS4wRC02KSBTVE9QIDIzICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBzX3IgPSBTSUdO KC1hX2wsIGJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMoc19yIC0gYV9jKSA+IDEuMEQtNikgU1RPUCAyNCAgICAhIHsgZGctZXJyb3IgIiIg fQotKwotKyAgICAgICAgbXhfaSA9IE1BWCgtYV9sLCAtYl9sLCB4X2wsIHlfbCkgICAgICAgICEg eyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobXhfaSAubmUuIHhfbCkgU1RPUCAyNSAgICAg ICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG14X2kgPSBNQVgoLWEyX2wsIC1i Ml9sLCB4X2wsIHlfbCkgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG14X2kg Lm5lLiB4X2wpIFNUT1AgMjYgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAg ICBteF9yID0gTUFYKC1hX2MsIC1iX2MsIHhfYywgeV9jKSAgICAgICAgISB7IGRnLWVycm9yICIi IH0KLSsgICAgICAgIGlmIChhYnMobXhfciAtIHhfYykgPiAxLjBELTYpIFNUT1AgMjcgICAhIHsg ZGctZXJyb3IgIiIgfQotKyAgICAgICAgbXhfciA9IE1BWCgtYV9jLCAtYl9jLCB4X2MsIHlfYykg ICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X2MpID4g MS4wRC02KSBTVE9QIDI4ICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG14X3IgPSBNQVgo LWFfbCwgLWJfYywgeF9jLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKGFicyhteF9yIC0geF9jKSA+IDEuMEQtNikgU1RPUCAyOSAgICEgeyBkZy1lcnJvciAiIiB9 Ci0rCi0rICAgICAgICBtbl9pID0gTUlOKC1hX2wsIC1iX2wsIHhfbCwgeV9sKSAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWFfbCkgU1RPUCAzMSAgICAg ICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbW5faSA9IE1JTigtYTJfbCwgLWIy X2wsIHhfbCwgeV9sKSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobW5faSAu bmUuIC1hMl9sKSBTVE9QIDMyICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IG1uX3IgPSBNSU4oLWFfYywgLWJfYywgeF9jLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIg fQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX2MpKSA+IDEuMEQtNikgU1RPUCAzMyAhIHsg ZGctZXJyb3IgIiIgfQotKyAgICAgICAgbW5fciA9IE1JTigtYTJfYywgLWIyX2MsIHhfYywgeV9j KSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWEyX2Mp KSA+IDEuMEQtNikgU1RPUCAzNCAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbW5fciA9IE1J TigtYV9sLCAtYl9jLCB4X2MsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAg ICBpZiAoYWJzKG1uX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDM1ICEgeyBkZy1lcnJvciAi IiB9Ci0rICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzUuZiBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNS5mCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLmQwMjNhZjUwODZkCi0tLS0gL2Rl di9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50 X3JlYWxfcHJvbW90aW9uXzUuZgotQEAgLTAsMCArMSwxMTggQEAKLSshIHsgZGctZG8gY29tcGls ZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1mZGVjLXByb21vdGlvbiIgfQotKyEKLSshIFRlc3QgcHJv bW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGluIGludHJpbnNpYyBvcGVyYXRpb25z LgotKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1vZCwgbW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwg bWF4LCBtaW5sb2MgYW5kCi0rISBtYXhsb2MuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNp c2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+ Ci0rISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgotKyEgTW9kaWZp ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQot KyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9yZWFsCi0rICAgICAgICBSRUFMIGwvMC4wLwot KyAgICAgICAgTE9HSUNBTCBhX2wKLSsgICAgICAgIExPR0lDQUwqNCBhMl9sCi0rICAgICAgICBM T0dJQ0FMIGJfbAotKyAgICAgICAgTE9HSUNBTCo4IGIyX2wKLSsgICAgICAgIExPR0lDQUwgeF9s Ci0rICAgICAgICBMT0dJQ0FMIHlfbAotKyAgICAgICAgQ0hBUkFDVEVSIGFfYwotKyAgICAgICAg Q0hBUkFDVEVSKjQgYTJfYwotKyAgICAgICAgQ0hBUkFDVEVSIGJfYwotKyAgICAgICAgQ0hBUkFD VEVSKjggYjJfYwotKyAgICAgICAgQ0hBUkFDVEVSIHhfYwotKyAgICAgICAgQ0hBUkFDVEVSIHlf YwotKwotKyAgICAgICAgSU5URUdFUiBtX2kvMC8KLSsgICAgICAgIFJFQUwgbV9yLzAuMC8KLSsK LSsgICAgICAgIElOVEVHRVIgbWRfaS8wLwotKyAgICAgICAgUkVBTCBtZF9yLzAuMC8KLSsKLSsg ICAgICAgIElOVEVHRVIgZF9pLzAvCi0rICAgICAgICBSRUFMIGRfci8wLjAvCi0rCi0rICAgICAg ICBJTlRFR0VSIHNfaS8wLwotKyAgICAgICAgUkVBTCBzX3IvMC4wLwotKwotKyAgICAgICAgSU5U RUdFUiBtbl9pLzAvCi0rICAgICAgICBSRUFMIG1uX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdF UiBteF9pLzAvCi0rICAgICAgICBSRUFMIG14X3IvMC4wLwotKwotKyAgICAgICAgbV9pID0gTU9E KGFfbCwgYl9sKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAg ICBpZiAobV9pIC5uZS4gMSkgU1RPUCAxCi0rICAgICAgICBtX2kgPSBNT0QoYTJfbCwgYjJfbCkg ICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtX2kgLm5l LiAxKSBTVE9QIDIKLSsgICAgICAgIG1fciA9IE1PRChhX2MsIGJfYykgICAgICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4w RC02KSBTVE9QIDMKLSsgICAgICAgIG1fciA9IE1PRChhMl9jLCBiMl9jKSAgICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4w RC02KSBTVE9QIDQKLSsgICAgICAgIG1fciA9IE1PRChhX2wsIGJfYykgICAgICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4w RC02KSBTVE9QIDUKLSsgICAgICAgIG1fciA9IE1PRChhX2MsIGJfbCkgICAgICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4w RC02KSBTVE9QIDYKLSsKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8oYV9sLCBiX2wpICAgICAgICAg ICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9Q IDcKLSsgICAgICAgIG1kX2kgPSBNT0RVTE8oYTJfbCwgYjJfbCkgICAgICAgICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDgKLSsgICAgICAg IG1kX3IgPSBNT0RVTE8oYV9jLCBiX2MpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIg fQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA5Ci0rICAgICAg ICBtZF9yID0gTU9EVUxPKGEyX2MsIGIyX2MpICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIi IH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTAKLSsgICAg ICAgIG1kX3IgPSBNT0RVTE8oYV9sLCBiX2MpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMQotKyAg ICAgICAgbWRfciA9IE1PRFVMTyhhX2MsIGJfbCkgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEyCi0r Ci0rICAgICAgICBkX2kgPSBESU0oYV9sLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7IGRn LWVycm9yICIiIH0KLSsgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDEzCi0rICAgICAgICBk X2kgPSBESU0oYTJfbCwgYjJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0K LSsgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDE0Ci0rICAgICAgICBkX3IgPSBESU0oYV9j LCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlm IChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNQotKyAgICAgICAgZF9yID0gRElNKGEy X2MsIGIyX2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBp ZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTYKLSsgICAgICAgIGRfciA9IERJTShh X2MsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE3Ci0rICAgICAgICBkX3IgPSBESU0o Yl9sLCBhX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAg IGlmIChhYnMoZF9yKSA+IDEuMEQtNikgU1RPUCAxOAotKwotKyAgICAgICAgc19pID0gU0lHTigt YV9sLCBiX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBp ZiAoc19pIC5uZS4gNCkgU1RPUCAxOQotKyAgICAgICAgc19pID0gU0lHTigtYTJfbCwgYjJfbCkg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoc19pIC5uZS4g NCkgU1RPUCAyMAotKyAgICAgICAgc19yID0gU0lHTihhX2MsIC1iX2MpICAgICAgICAgICAgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYV9jKSkgPiAx LjBELTYpIFNUT1AgMjEgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIHNfciA9IFNJR04oYTJf YywgLWIyX2MpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYg KGFicyhzX3IgLSAoLWEyX2MpKSA+IDEuMEQtNikgU1RPUCAyMiAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgc19yID0gU0lHTihhX2MsIC1iX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAtICgtYV9jKSkgPiAxLjBELTYpIFNUT1Ag MjMgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIHNfciA9IFNJR04oLWFfbCwgYl9jKSAgICAg ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSBh X2MpID4gMS4wRC02KSBTVE9QIDI0ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rCi0rICAgICAgICBt eF9pID0gTUFYKC1hX2wsIC1iX2wsIHhfbCwgeV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0K LSsgICAgICAgIGlmIChteF9pIC5uZS4geF9sKSBTVE9QIDI1ICAgICAgICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQotKyAgICAgICAgbXhfaSA9IE1BWCgtYTJfbCwgLWIyX2wsIHhfbCwgeV9sKSAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobXhfaSAubmUuIHhfbCkgU1RPUCAy NiAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIG14X3IgPSBNQVgoLWFf YywgLWJfYywgeF9jLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYg KGFicyhteF9yIC0geF9jKSA+IDEuMEQtNikgU1RPUCAyNyAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBteF9yID0gTUFYKC1hX2MsIC1iX2MsIHhfYywgeV9jKSAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobXhfciAtIHhfYykgPiAxLjBELTYpIFNUT1AgMjgg ICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbXhfciA9IE1BWCgtYV9sLCAtYl9jLCB4X2Ms IHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4 X2MpID4gMS4wRC02KSBTVE9QIDI5ICAgISB7IGRnLWVycm9yICIiIH0KLSsKLSsgICAgICAgIG1u X2kgPSBNSU4oLWFfbCwgLWJfbCwgeF9sLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYV9sKSBTVE9QIDMxICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9Ci0rICAgICAgICBtbl9pID0gTUlOKC1hMl9sLCAtYjJfbCwgeF9sLCB5X2wpICAg ICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWEyX2wpIFNUT1Ag MzIgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgbW5fciA9IE1JTigtYV9j LCAtYl9jLCB4X2MsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAo YWJzKG1uX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDMzICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBtbl9yID0gTUlOKC1hMl9jLCAtYjJfYywgeF9jLCB5X2MpICAgICAgISB7IGRnLWVy cm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtYTJfYykpID4gMS4wRC02KSBTVE9Q IDM0ICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBtbl9yID0gTUlOKC1hX2wsIC1iX2MsIHhf YywgeV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobW5fciAt ICgtYV9jKSkgPiAxLjBELTYpIFNUT1AgMzUgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICBFTkQg UFJPR1JBTQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJp bnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl82LmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwMDAwMC4uMDBmOGZiODhmMWIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25f Ni5mCi1AQCAtMCwwICsxLDExOCBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0 aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFu ZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KLSshIFRoZXNlIG9wZXJhdGlvbnMgYXJl OiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAotKyEgbWF4bG9j LgotKyEKLSshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFu Y2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgotKyEgICAgICAgICAgICAgYW5kIEplZmYg TGF3IDxsYXdAcmVkaGF0LmNvbT4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJr LmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICBQUk9HUkFNIHByb21vdGlvbl9p bnRfcmVhbAotKyAgICAgICAgUkVBTCBsLzAuMC8KLSsgICAgICAgIElOVEVHRVIgYV9pLzQvCi0r ICAgICAgICBJTlRFR0VSKjQgYTJfaS80LwotKyAgICAgICAgQ0hBUkFDVEVSIGJfYwotKyAgICAg ICAgQ0hBUkFDVEVSKjggYjJfYwotKyAgICAgICAgSU5URUdFUiB4X2kvMi8KLSsgICAgICAgIENI QVJBQ1RFUiB5X2MKLSsgICAgICAgIFJFQUwgYV9yLzQuMC8KLSsgICAgICAgIFJFQUwqNCBhMl9y LzQuMC8KLSsgICAgICAgIExPR0lDQUwgYl9sCi0rICAgICAgICBMT0dJQ0FMKjggYjJfbAotKyAg ICAgICAgUkVBTCB4X3IvMi4wLwotKyAgICAgICAgTE9HSUNBTCB5X2wKLSsKLSsgICAgICAgIElO VEVHRVIgbV9pLzAvCi0rICAgICAgICBSRUFMIG1fci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VS IG1kX2kvMC8KLSsgICAgICAgIFJFQUwgbWRfci8wLjAvCi0rCi0rICAgICAgICBJTlRFR0VSIGRf aS8wLwotKyAgICAgICAgUkVBTCBkX3IvMC4wLwotKwotKyAgICAgICAgSU5URUdFUiBzX2kvMC8K LSsgICAgICAgIFJFQUwgc19yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbW5faS8wLwotKyAg ICAgICAgUkVBTCBtbl9yLzAuMC8KLSsKLSsgICAgICAgIElOVEVHRVIgbXhfaS8wLwotKyAgICAg ICAgUkVBTCBteF9yLzAuMC8KLSsKLSsgICAgICAgIG1faSA9IE1PRChhX2ksIGJfYykgICAgICAg ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1faSAubmUuIDEp IFNUT1AgMQotKyAgICAgICAgbV9pID0gTU9EKGEyX2ksIGIyX2MpICAgICAgICAgICAgICAgICAg ICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAyCi0rICAg ICAgICBtX3IgPSBNT0QoYV9yLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAzCi0rICAg ICAgICBtX3IgPSBNT0QoYTJfciwgYjJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA0Ci0rICAg ICAgICBtX3IgPSBNT0QoYV9pLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1Ci0rICAg ICAgICBtX3IgPSBNT0QoYV9yLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2Ci0rCi0r ICAgICAgICBtZF9pID0gTU9EVUxPKGFfaSwgYl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KLSsgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA3Ci0rICAgICAgICBtZF9p ID0gTU9EVUxPKGEyX2ksIGIyX2MpICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsg ICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA4Ci0rICAgICAgICBtZF9yID0gTU9EVUxPKGFf ciwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChh YnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOQotKyAgICAgICAgbWRfciA9IE1PRFVMTyhh Ml9yLCBiMl9sKSAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAo YWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEwCi0rICAgICAgICBtZF9yID0gTU9EVUxP KGFfaSwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlm IChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKLSsgICAgICAgIG1kX3IgPSBNT0RV TE8oYV9yLCBiX2MpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMgotKwotKyAgICAgICAgZF9pID0g RElNKGFfaSwgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAg ICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxMwotKyAgICAgICAgZF9pID0gRElNKGEyX2ksIGIy X2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoZF9p IC5uZS4gMSkgU1RPUCAxNAotKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9sKSAgICAgICAgICAg ICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgMTUKLSsgICAgICAgIGRfciA9IERJTShhMl9yLCBiMl9sKSAgICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDE2Ci0rICAgICAgICBkX3IgPSBESU0oYV9yLCBiX2MpICAgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoZF9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAxNwotKyAgICAgICAgZF9yID0gRElNKGJfYywgYV9yKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKGRfcikgPiAx LjBELTYpIFNUT1AgMTgKLSsKLSsgICAgICAgIHNfaSA9IFNJR04oLWFfaSwgYl9jKSAgICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNU T1AgMTkKLSsgICAgICAgIHNfaSA9IFNJR04oLWEyX2ksIGIyX2MpICAgICAgICAgICAgICAgICAh IHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMjAKLSsgICAg ICAgIHNfciA9IFNJR04oYV9yLCAtYl9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDIxCi0r ICAgICAgICBzX3IgPSBTSUdOKGEyX3IsIC1iMl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1Ag MjIKLSsgICAgICAgIHNfciA9IFNJR04oYV9yLCAtYl9jKSAgICAgICAgICAgICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfcikpID4gMS4wRC02KSBT VE9QIDIzCi0rICAgICAgICBzX3IgPSBTSUdOKC1hX2ksIGJfbCkgICAgICAgICAgICAgICAgICAg ISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gYV9yKSA+IDEuMEQtNikg U1RPUCAyNAotKwotKyAgICAgICAgbXhfaSA9IE1BWCgtYV9pLCAtYl9jLCB4X2ksIHlfYykgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobXhfaSAubmUuIHhfaSkgU1RPUCAy NQotKyAgICAgICAgbXhfaSA9IE1BWCgtYTJfaSwgLWIyX2MsIHhfaSwgeV9jKSAgICAgICEgeyBk Zy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobXhfaSAubmUuIHhfaSkgU1RPUCAyNgotKyAgICAg ICAgbXhfciA9IE1BWCgtYV9yLCAtYl9sLCB4X3IsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAi IiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI3Ci0rICAg ICAgICBteF9yID0gTUFYKC1hX3IsIC1iX2wsIHhfciwgeV9sKSAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KLSsgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjgKLSsg ICAgICAgIG14X3IgPSBNQVgoLWFfaSwgLWJfbCwgeF9yLCB5X2MpICAgICAgICAhIHsgZGctZXJy b3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyOQot KwotKyAgICAgICAgbW5faSA9IE1JTigtYV9pLCAtYl9jLCB4X2ksIHlfYykgICAgICAgICEgeyBk Zy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobW5faSAubmUuIC1hX2kpIFNUT1AgMzEKLSsgICAg ICAgIG1uX2kgPSBNSU4oLWEyX2ksIC1iMl9jLCB4X2ksIHlfYykgICAgICAhIHsgZGctZXJyb3Ig IiIgfQotKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYTJfaSkgU1RPUCAzMgotKyAgICAgICAgbW5f ciA9IE1JTigtYV9yLCAtYl9sLCB4X3IsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDMzCi0rICAgICAg ICBtbl9yID0gTUlOKC1hMl9yLCAtYjJfbCwgeF9yLCB5X2wpICAgICAgISB7IGRnLWVycm9yICIi IH0KLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDM0Ci0r ICAgICAgICBtbl9yID0gTUlOKC1hX2ksIC1iX2wsIHhfciwgeV9jKSAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobW5fciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1Ag MzUKLSsgICAgICBFTkQgUFJPR1JBTQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNy5mIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl83LmYKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMWQ0MTUwZDgxYzAKLS0tLSAvZGV2 L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRf cmVhbF9wcm9tb3Rpb25fNy5mCi1AQCAtMCwwICsxLDExOCBAQAotKyEgeyBkZy1kbyBjb21waWxl IH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMtcHJvbW90aW9uIiB9Ci0rIQotKyEgVGVzdCBwcm9t b3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJhdGlvbnMu Ci0rISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBt YXgsIG1pbmxvYyBhbmQKLSshIG1heGxvYy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lz Y28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4K LSshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+Ci0rISBNb2RpZmll ZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0r ICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWwKLSsgICAgICAgIFJFQUwgbC8wLjAvCi0r ICAgICAgICBJTlRFR0VSIGFfaS80LwotKyAgICAgICAgSU5URUdFUio0IGEyX2kvNC8KLSsgICAg ICAgIENIQVJBQ1RFUiBiX2MKLSsgICAgICAgIENIQVJBQ1RFUio4IGIyX2MKLSsgICAgICAgIElO VEVHRVIgeF9pLzIvCi0rICAgICAgICBDSEFSQUNURVIgeV9jCi0rICAgICAgICBSRUFMIGFfci80 LjAvCi0rICAgICAgICBSRUFMKjQgYTJfci80LjAvCi0rICAgICAgICBMT0dJQ0FMIGJfbAotKyAg ICAgICAgTE9HSUNBTCo4IGIyX2wKLSsgICAgICAgIFJFQUwgeF9yLzIuMC8KLSsgICAgICAgIExP R0lDQUwgeV9sCi0rCi0rICAgICAgICBJTlRFR0VSIG1faS8wLwotKyAgICAgICAgUkVBTCBtX3Iv MC4wLwotKwotKyAgICAgICAgSU5URUdFUiBtZF9pLzAvCi0rICAgICAgICBSRUFMIG1kX3IvMC4w LwotKwotKyAgICAgICAgSU5URUdFUiBkX2kvMC8KLSsgICAgICAgIFJFQUwgZF9yLzAuMC8KLSsK LSsgICAgICAgIElOVEVHRVIgc19pLzAvCi0rICAgICAgICBSRUFMIHNfci8wLjAvCi0rCi0rICAg ICAgICBJTlRFR0VSIG1uX2kvMC8KLSsgICAgICAgIFJFQUwgbW5fci8wLjAvCi0rCi0rICAgICAg ICBJTlRFR0VSIG14X2kvMC8KLSsgICAgICAgIFJFQUwgbXhfci8wLjAvCi0rCi0rICAgICAgICBt X2kgPSBNT0QoYV9pLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0K LSsgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKLSsgICAgICAgIG1faSA9IE1PRChhMl9p LCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYg KG1faSAubmUuIDEpIFNUT1AgMgotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9sKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgMwotKyAgICAgICAgbV9yID0gTU9EKGEyX3IsIGIyX2wpICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNAotKyAgICAgICAgbV9yID0gTU9EKGFfaSwgYl9sKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNQotKyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9jKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNgotKwotKyAgICAgICAgbWRfaSA9IE1PRFVMTyhhX2ksIGJfYykg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobWRfaSAubmUu IDEpIFNUT1AgNwotKyAgICAgICAgbWRfaSA9IE1PRFVMTyhhMl9pLCBiMl9jKSAgICAgICAgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgOAot KyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfbCkgICAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDkK LSsgICAgICAgIG1kX3IgPSBNT0RVTE8oYTJfciwgYjJfbCkgICAgICAgICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAx MAotKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2ksIGJfbCkgICAgICAgICAgICAgICAgICEgeyBk Zy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDExCi0rICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwgYl9jKSAgICAgICAgICAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNU T1AgMTIKLSsKLSsgICAgICAgIGRfaSA9IERJTShhX2ksIGJfYykgICAgICAgICAgICAgICAgICAg ICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTMKLSsg ICAgICAgIGRfaSA9IERJTShhMl9pLCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJy b3IgIiIgfQotKyAgICAgICAgaWYgKGRfaSAubmUuIDEpIFNUT1AgMTQKLSsgICAgICAgIGRfciA9 IERJTShhX3IsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAg ICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE1Ci0rICAgICAgICBkX3Ig PSBESU0oYTJfciwgYjJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsg ICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNgotKyAgICAgICAgZF9y ID0gRElNKGFfciwgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0r ICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTcKLSsgICAgICAgIGRf ciA9IERJTShiX2MsIGFfcikgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQot KyAgICAgICAgaWYgKGFicyhkX3IpID4gMS4wRC02KSBTVE9QIDE4Ci0rCi0rICAgICAgICBzX2kg PSBTSUdOKC1hX2ksIGJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsg ICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDE5Ci0rICAgICAgICBzX2kgPSBTSUdOKC1hMl9p LCBiMl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChz X2kgLm5lLiA0KSBTVE9QIDIwCi0rICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJfbCkgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMoc19yIC0gKC1h X3IpKSA+IDEuMEQtNikgU1RPUCAyMQotKyAgICAgICAgc19yID0gU0lHTihhMl9yLCAtYjJfbCkg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKHNfciAt ICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDIyCi0rICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJf YykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMo c19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMwotKyAgICAgICAgc19yID0gU0lHTigtYV9p LCBiX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAo YWJzKHNfciAtIGFfcikgPiAxLjBELTYpIFNUT1AgMjQKLSsKLSsgICAgICAgIG14X2kgPSBNQVgo LWFfaSwgLWJfYywgeF9pLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAg aWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjUKLSsgICAgICAgIG14X2kgPSBNQVgoLWEyX2ksIC1i Ml9jLCB4X2ksIHlfYykgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG14X2kg Lm5lLiB4X2kpIFNUT1AgMjYKLSsgICAgICAgIG14X3IgPSBNQVgoLWFfciwgLWJfbCwgeF9yLCB5 X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9y KSA+IDEuMEQtNikgU1RPUCAyNwotKyAgICAgICAgbXhfciA9IE1BWCgtYV9yLCAtYl9sLCB4X3Is IHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG14X3IgLSB4 X3IpID4gMS4wRC02KSBTVE9QIDI4Ci0rICAgICAgICBteF9yID0gTUFYKC1hX2ksIC1iX2wsIHhf ciwgeV9jKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChhYnMobXhfciAt IHhfcikgPiAxLjBELTYpIFNUT1AgMjkKLSsKLSsgICAgICAgIG1uX2kgPSBNSU4oLWFfaSwgLWJf YywgeF9pLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKG1uX2kg Lm5lLiAtYV9pKSBTVE9QIDMxCi0rICAgICAgICBtbl9pID0gTUlOKC1hMl9pLCAtYjJfYywgeF9p LCB5X2MpICAgICAgISB7IGRnLWVycm9yICIiIH0KLSsgICAgICAgIGlmIChtbl9pIC5uZS4gLWEy X2kpIFNUT1AgMzIKLSsgICAgICAgIG1uX3IgPSBNSU4oLWFfciwgLWJfbCwgeF9yLCB5X2wpICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQotKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+ IDEuMEQtNikgU1RPUCAzMwotKyAgICAgICAgbW5fciA9IE1JTigtYTJfciwgLWIyX2wsIHhfciwg eV9sKSAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWEy X3IpKSA+IDEuMEQtNikgU1RPUCAzNAotKyAgICAgICAgbW5fciA9IE1JTigtYV9pLCAtYl9sLCB4 X3IsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Ci0rICAgICAgICBpZiAoYWJzKG1uX3Ig LSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDM1Ci0rICAgICAgRU5EIFBST0dSQU0KLWRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0xLmYgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlvbi0xLmYKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uNDM1YmY5ODM1MGMKLS0tLSAvZGV2L251 bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTEu ZgotQEAgLTAsMCArMSw0MCBAQAotKyF7IGRnLWRvIHJ1biB9Ci0rIXsgZGctb3B0aW9ucyAiLWZk ZWMiIH0KLSshCi0rISBpbnRlZ2VyIHR5cGVzIG9mIGEgc21hbGxlciBraW5kIHRoYW4gZXhwZWN0 ZWQgc2hvdWxkIGJlCi0rISBhY2NlcHRlZCBieSB0eXBlIHNwZWNpZmljIGludHJpbnNpYyBmdW5j dGlvbnMKLSshCi0rISBDb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0 b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgcHJvZ3JhbSB0ZXN0X3NtYWxsX3R5cGVfcHJv bXRpb24KLSsgICAgICAgIGltcGxpY2l0IG5vbmUKLSsgICAgICAgIGludGVnZXIoMSkgOjogYSA9 IDEKLSsgICAgICAgIGludGVnZXIgOjogaQotKyAgICAgICAgaWYgKGlpYWJzKC05XzEpLm5lLjkp IHN0b3AgMQotKyAgICAgICAgaWYgKGlhYnMoLTlfMSkubmUuOSkgc3RvcCAyCi0rICAgICAgICBp ZiAoaWFicygtOV8yKS5uZS45KSBzdG9wIDMKLSsgICAgICAgIGlmIChqaWFicygtOV8xKS5uZS45 KSBzdG9wIDQKLSsgICAgICAgIGlmIChqaWFicygtOV8yKS5uZS45KSBzdG9wIDUKLSsgICAgICAg IGlmIChpaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDYKLSsgICAgICAgIGlmIChqaXNoZnQoMV8x LCAyKS5uZS40KSBzdG9wIDcKLSsgICAgICAgIGlmIChqaXNoZnQoMV8yLCAyKS5uZS40KSBzdG9w IDgKLSsgICAgICAgIGlmIChraXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDkKLSsgICAgICAgIGlm IChraXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDEwCi0rICAgICAgICBpZiAoa2lzaGZ0KDFfNCwg MikubmUuNCkgc3RvcCAxMQotKyAgICAgICAgaWYgKGltb2QoMTdfMSwgMykubmUuMikgc3RvcCAx MgotKyAgICAgICAgaWYgKGptb2QoMTdfMSwgMykubmUuMikgc3RvcCAxMwotKyAgICAgICAgaWYg KGptb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNAotKyAgICAgICAgaWYgKGttb2QoMTdfMSwgMyku bmUuMikgc3RvcCAxNQotKyAgICAgICAgaWYgKGttb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNgot KyAgICAgICAgaWYgKGttb2QoMTdfNCwgMykubmUuMikgc3RvcCAxNwotKyAgICAgICAgaWYgKGlu b3QoNV8xKS5uZS4tNikgc3RvcCAxOAotKyAgICAgICAgaWYgKGpub3QoNV8xKS5uZS4tNikgc3Rv cCAxOQotKyAgICAgICAgaWYgKGpub3QoNV8yKS5uZS4tNikgc3RvcCAyMAotKyAgICAgICAgaWYg KGtub3QoNV8xKS5uZS4tNikgc3RvcCAyMQotKyAgICAgICAgaWYgKGtub3QoNV8yKS5uZS4tNikg c3RvcCAyMgotKyAgICAgICAgaWYgKGtub3QoNV80KS5uZS4tNikgc3RvcCAyMwotKyAgICAgICAg aWYgKGlzaWduKC03N18xLCAxKS5uZS43Nykgc3RvcCAyNAotKyAgICAgICAgaWYgKGlzaWduKC03 N18xLCAtMSkubmUuLTc3KSBzdG9wIDI1Ci0rICAgICAgICBpZiAoaXNpZ24oLTc3XzIsIDEpLm5l Ljc3KSBzdG9wIDI2Ci0rICAgICAgICBpZiAoaXNpZ24oLTc3XzIsIC0xKS5uZS4tNzcpIHN0b3Ag MjcKLSsgICAgICBlbmQgcHJvZ3JhbQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTIuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZGVjX2tpbmRfcHJvbW90aW9uLTIuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwMDAwLi43YjE2OTdjYTY2NQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rpb24tMi5mCi1AQCAtMCwwICsxLDQwIEBACi0rIXsg ZGctZG8gcnVuIH0KLSsheyBkZy1vcHRpb25zICItZmRlYy1pbnRyaW5zaWMtaW50cyAtZmRlYy1w cm9tb3Rpb24iIH0KLSshCi0rISBpbnRlZ2VyIHR5cGVzIG9mIGEgc21hbGxlciBraW5kIHRoYW4g ZXhwZWN0ZWQgc2hvdWxkIGJlCi0rISBhY2NlcHRlZCBieSB0eXBlIHNwZWNpZmljIGludHJpbnNp YyBmdW5jdGlvbnMKLSshCi0rISBDb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5l Z2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rICAgICAgcHJvZ3JhbSB0ZXN0X3NtYWxsX3R5 cGVfcHJvbXRpb24KLSsgICAgICAgIGltcGxpY2l0IG5vbmUKLSsgICAgICAgIGludGVnZXIoMSkg OjogYSA9IDEKLSsgICAgICAgIGludGVnZXIgOjogaQotKyAgICAgICAgaWYgKGlpYWJzKC05XzEp Lm5lLjkpIHN0b3AgMQotKyAgICAgICAgaWYgKGlhYnMoLTlfMSkubmUuOSkgc3RvcCAyCi0rICAg ICAgICBpZiAoaWFicygtOV8yKS5uZS45KSBzdG9wIDMKLSsgICAgICAgIGlmIChqaWFicygtOV8x KS5uZS45KSBzdG9wIDQKLSsgICAgICAgIGlmIChqaWFicygtOV8yKS5uZS45KSBzdG9wIDUKLSsg ICAgICAgIGlmIChpaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDYKLSsgICAgICAgIGlmIChqaXNo ZnQoMV8xLCAyKS5uZS40KSBzdG9wIDcKLSsgICAgICAgIGlmIChqaXNoZnQoMV8yLCAyKS5uZS40 KSBzdG9wIDgKLSsgICAgICAgIGlmIChraXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDkKLSsgICAg ICAgIGlmIChraXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDEwCi0rICAgICAgICBpZiAoa2lzaGZ0 KDFfNCwgMikubmUuNCkgc3RvcCAxMQotKyAgICAgICAgaWYgKGltb2QoMTdfMSwgMykubmUuMikg c3RvcCAxMgotKyAgICAgICAgaWYgKGptb2QoMTdfMSwgMykubmUuMikgc3RvcCAxMwotKyAgICAg ICAgaWYgKGptb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNAotKyAgICAgICAgaWYgKGttb2QoMTdf MSwgMykubmUuMikgc3RvcCAxNQotKyAgICAgICAgaWYgKGttb2QoMTdfMiwgMykubmUuMikgc3Rv cCAxNgotKyAgICAgICAgaWYgKGttb2QoMTdfNCwgMykubmUuMikgc3RvcCAxNwotKyAgICAgICAg aWYgKGlub3QoNV8xKS5uZS4tNikgc3RvcCAxOAotKyAgICAgICAgaWYgKGpub3QoNV8xKS5uZS4t Nikgc3RvcCAxOQotKyAgICAgICAgaWYgKGpub3QoNV8yKS5uZS4tNikgc3RvcCAyMAotKyAgICAg ICAgaWYgKGtub3QoNV8xKS5uZS4tNikgc3RvcCAyMQotKyAgICAgICAgaWYgKGtub3QoNV8yKS5u ZS4tNikgc3RvcCAyMgotKyAgICAgICAgaWYgKGtub3QoNV80KS5uZS4tNikgc3RvcCAyMwotKyAg ICAgICAgaWYgKGlzaWduKC03N18xLCAxKS5uZS43Nykgc3RvcCAyNAotKyAgICAgICAgaWYgKGlz aWduKC03N18xLCAtMSkubmUuLTc3KSBzdG9wIDI1Ci0rICAgICAgICBpZiAoaXNpZ24oLTc3XzIs IDEpLm5lLjc3KSBzdG9wIDI2Ci0rICAgICAgICBpZiAoaXNpZ24oLTc3XzIsIC0xKS5uZS4tNzcp IHN0b3AgMjcKLSsgICAgICBlbmQgcHJvZ3JhbQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTMuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTMuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4 IDAwMDAwMDAwMDAwLi5kYjhkZmY2YzU1ZAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rpb24tMy5mCi1AQCAtMCwwICsxLDM5IEBA Ci0rIXsgZGctZG8gY29tcGlsZSB9Ci0rIXsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMtcHJv bW90aW9uIiB9Ci0rIQotKyEgaW50ZWdlciB0eXBlcyBvZiBhIHNtYWxsZXIga2luZCB0aGFuIGV4 cGVjdGVkIHNob3VsZCBiZQotKyEgYWNjZXB0ZWQgYnkgdHlwZSBzcGVjaWZpYyBpbnRyaW5zaWMg ZnVuY3Rpb25zCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdn bGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKyAgICAgIHByb2dyYW0gdGVzdF9zbWFsbF90eXBl X3Byb210aW9uCi0rICAgICAgICBpbnRlZ2VyKDEpIDo6IGEgPSAxCi0rICAgICAgICBpbnRlZ2Vy IDo6IGkKLSsgICAgICAgIGlmIChpaWFicygtOV8xKS5uZS45KSBzdG9wIDEKLSsgICAgICAgIGlm IChpYWJzKC05XzEpLm5lLjkpIHN0b3AgMiAhIHsgZGctZXJyb3IgInR5cGUgbWlzbWF0Y2ggaW4g YXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChpYWJzKC05XzIpLm5lLjkpIHN0b3AgMyAhIHsgZGct ZXJyb3IgInR5cGUgbWlzbWF0Y2ggaW4gYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChqaWFicygt OV8xKS5uZS45KSBzdG9wIDQKLSsgICAgICAgIGlmIChqaWFicygtOV8yKS5uZS45KSBzdG9wIDUK LSsgICAgICAgIGlmIChpaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDYKLSsgICAgICAgIGlmIChq aXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDcKLSsgICAgICAgIGlmIChqaXNoZnQoMV8yLCAyKS5u ZS40KSBzdG9wIDgKLSsgICAgICAgIGlmIChraXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDkKLSsg ICAgICAgIGlmIChraXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDEwCi0rICAgICAgICBpZiAoa2lz aGZ0KDFfNCwgMikubmUuNCkgc3RvcCAxMQotKyAgICAgICAgaWYgKGltb2QoMTdfMSwgMykubmUu Mikgc3RvcCAxMgotKyAgICAgICAgaWYgKGptb2QoMTdfMSwgMykubmUuMikgc3RvcCAxMwotKyAg ICAgICAgaWYgKGptb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNAotKyAgICAgICAgaWYgKGttb2Qo MTdfMSwgMykubmUuMikgc3RvcCAxNQotKyAgICAgICAgaWYgKGttb2QoMTdfMiwgMykubmUuMikg c3RvcCAxNgotKyAgICAgICAgaWYgKGttb2QoMTdfNCwgMykubmUuMikgc3RvcCAxNwotKyAgICAg ICAgaWYgKGlub3QoNV8xKS5uZS4tNikgc3RvcCAxOAotKyAgICAgICAgaWYgKGpub3QoNV8xKS5u ZS4tNikgc3RvcCAxOQotKyAgICAgICAgaWYgKGpub3QoNV8yKS5uZS4tNikgc3RvcCAyMAotKyAg ICAgICAgaWYgKGtub3QoNV8xKS5uZS4tNikgc3RvcCAyMQotKyAgICAgICAgaWYgKGtub3QoNV8y KS5uZS4tNikgc3RvcCAyMgotKyAgICAgICAgaWYgKGtub3QoNV80KS5uZS4tNikgc3RvcCAyMwot KyAgICAgICAgaWYgKGlzaWduKC03N18xLCAxKS5uZS43Nykgc3RvcCAyNCAhIHsgZGctZXJyb3Ig InR5cGUgbWlzbWF0Y2ggaW4gYXJndW1lbnQiIH0KLSsgICAgICAgIGlmIChpc2lnbigtNzdfMSwg LTEpLm5lLi03Nykgc3RvcCAyNSAhIHsgZGctZXJyb3IgInR5cGUgbWlzbWF0Y2ggaW4gYXJndW1l bnQiIH0KLSsgICAgICAgIGlmIChpc2lnbigtNzdfMiwgMSkubmUuNzcpIHN0b3AgMjYgISB7IGRn LWVycm9yICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50IiB9Ci0rICAgICAgICBpZiAoaXNpZ24o LTc3XzIsIC0xKS5uZS4tNzcpIHN0b3AgMjcgISB7IGRnLWVycm9yICJ0eXBlIG1pc21hdGNoIGlu IGFyZ3VtZW50IiB9Ci0rICAgICAgZW5kIHByb2dyYW0KLS0tIAotMi4yNy4wCi0KCmRpZmYgLS1n aXQgYS9nY2MxMS1mb3J0cmFuLWZkZWMtc2VxdWVuY2UucGF0Y2ggYi9nY2MxMS1mb3J0cmFuLWZk ZWMtc2VxdWVuY2UucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiOWNlNzEu LjAwMDAwMDAKLS0tIGEvZ2NjMTEtZm9ydHJhbi1mZGVjLXNlcXVlbmNlLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMjYyICswLDAgQEAKLUZyb20gYmI3NjQ0NmRiMTBjMjE4NjBhNGUxOTU2OWNl M2UzNTBkOGEyYjU5ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgRWdnbGVz dG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5nbnUub3JnPgotRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAx NTowMDo0NCArMDAwMAotU3ViamVjdDogW1BBVENIIDA5LzEwXSBBZGQgdGhlIFNFUVVFTkNFIGF0 dHJpYnV0ZSBieSBkZWZhdWx0IGlmIGl0J3Mgbm90Ci0gcHJlc2VudC4KLQotVXNlIC1mZGVjLXNl cXVlbmNlIHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUuIEFsc28gZW5hYmxlZCBieSAtZmRlYy4KLS0t LQotIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr Ci0gZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKwot IGdjYy9mb3J0cmFuL3Jlc29sdmUuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKyst Ci0gLi4uZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMS5mIHwgNTcgKysr KysrKysrKysrKysrKysrKwotIC4uLmRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZh dWx0XzIuZiB8IDU3ICsrKysrKysrKysrKysrKysrKysKLSAuLi5kZF9TRVFVRU5DRV90b19DT01N T05fYmxvY2tfYnlfZGVmYXVsdF8zLmYgfCA1NyArKysrKysrKysrKysrKysrKysrCi0gNiBmaWxl cyBjaGFuZ2VkLCAxODYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLSBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NP TU1PTl9ibG9ja19ieV9kZWZhdWx0XzEuZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1 bHRfMi5mCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVj X2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8zLmYKLQotZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL2xhbmcub3B0IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLWluZGV4IDRj YTJmOTNmMmRmLi4wMTljNzk4Y2YwOSAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL2xhbmcub3B0 Ci0rKysgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAotQEAgLTUwOSw2ICs1MDksMTAgQEAgZmRlYy1w cm9tb3Rpb24KLSBGb3J0cmFuIFZhcihmbGFnX2RlY19wcm9tb3Rpb24pCi0gQWRkIHN1cHBvcnQg Zm9yIHR5cGUgcHJvbW90aW9uIGluIGludHJpbnNpYyBhcmd1bWVudHMuCi0gCi0rZmRlYy1zZXF1 ZW5jZQotK0ZvcnRyYW4gVmFyKGZsYWdfZGVjX3NlcXVlbmNlKQotK0FkZCB0aGUgU0VRVUVOQ0Ug YXR0cmlidXRlIGJ5IGRlZmF1bHQgaWYgaXQncyBub3QgcHJlc2VudC4KLSsKLSBmZGVjLXN0cnVj dHVyZQotIEZvcnRyYW4gVmFyKGZsYWdfZGVjX3N0cnVjdHVyZSkKLSBFbmFibGUgc3VwcG9ydCBm b3IgREVDIFNUUlVDVFVSRS9SRUNPUkQuCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vb3B0aW9u cy5jIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCi1pbmRleCAxNTA3OWM3ZTk1YS4uMDUwZjU2ZmRj MjUgMTAwNjQ0Ci0tLS0gYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMKLSsrKyBiL2djYy9mb3J0cmFu L29wdGlvbnMuYwotQEAgLTgzLDYgKzgzLDcgQEAgc2V0X2RlY19mbGFncyAoaW50IHZhbHVlKQot ICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX292ZXJyaWRlX2tpbmQsIHZhbHVlLCB2YWx1ZSk7Ci0g ICBTRVRfQklURkxBRyAoZmxhZ19kZWNfbm9uX2xvZ2ljYWxfaWYsIHZhbHVlLCB2YWx1ZSk7Ci0g ICBTRVRfQklURkxBRyAoZmxhZ19kZWNfcHJvbW90aW9uLCB2YWx1ZSwgdmFsdWUpOwotKyAgU0VU X0JJVEZMQUcgKGZsYWdfZGVjX3NlcXVlbmNlLCB2YWx1ZSwgdmFsdWUpOwotIH0KLSAKLSAvKiBG aW5hbGl6ZSBERUMgZmxhZ3MuICAqLwotZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Jlc29sdmUu YyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuYwotaW5kZXggMDdkZDAzOWYzYmYuLmZlN2QwY2M1OTQ0 IDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCi0rKysgYi9nY2MvZm9ydHJhbi9y ZXNvbHZlLmMKLUBAIC05NzgsOSArOTc4LDE2IEBAIHJlc29sdmVfY29tbW9uX3ZhcnMgKGdmY19j b21tb25faGVhZCAqY29tbW9uX2Jsb2NrLCBib29sIG5hbWVkX2NvbW1vbikKLSAKLSAgICAgICBp ZiAoIShjc3ltLT50cy51LmRlcml2ZWQtPmF0dHIuc2VxdWVuY2UKLSAJICAgIHx8IGNzeW0tPnRz LnUuZGVyaXZlZC0+YXR0ci5pc19iaW5kX2MpKQotLQlnZmNfZXJyb3Jfbm93ICgiRGVyaXZlZCB0 eXBlIHZhcmlhYmxlICVxcyBpbiBDT01NT04gYXQgJUwgIgotLQkJICAgICAgICJoYXMgbmVpdGhl ciB0aGUgU0VRVUVOQ0Ugbm9yIHRoZSBCSU5EKEMpICIKLS0JCSAgICAgICAiYXR0cmlidXRlIiwg Y3N5bS0+bmFtZSwgJmNzeW0tPmRlY2xhcmVkX2F0KTsKLSsJewotKwkgIGlmIChmbGFnX2RlY19z ZXF1ZW5jZSkKLSsJICAgIC8qIEFzc3VtZSBzZXF1ZW5jZS4gKi8KLSsJICAgIGNzeW0tPnRzLnUu ZGVyaXZlZC0+YXR0ci5zZXF1ZW5jZSA9IDE7Ci0rCSAgZWxzZQotKwkgICAgZ2ZjX2Vycm9yX25v dyAoIkRlcml2ZWQgdHlwZSB2YXJpYWJsZSAnJXMnIGluIENPTU1PTiBhdCAlTCAiCi0rCQkJICAg ImhhcyBuZWl0aGVyIHRoZSBTRVFVRU5DRSBub3IgdGhlIEJJTkQoQykgIgotKwkJCSAgICJhdHRy aWJ1dGUiLCBjc3ltLT5uYW1lLCAmY3N5bS0+ZGVjbGFyZWRfYXQpOwotKwl9Ci0rCi0gICAgICAg aWYgKGNzeW0tPnRzLnUuZGVyaXZlZC0+YXR0ci5hbGxvY19jb21wKQotIAlnZmNfZXJyb3Jfbm93 ICgiRGVyaXZlZCB0eXBlIHZhcmlhYmxlICVxcyBpbiBDT01NT04gYXQgJUwgIgotIAkJICAgICAg ICJoYXMgYW4gdWx0aW1hdGUgY29tcG9uZW50IHRoYXQgaXMgIgotZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlf ZGVmYXVsdF8xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0Vf dG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMDAwMDAuLmZlN2IzOTYyNWViCi0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2Rl ZmF1bHRfMS5mCi1AQCAtMCwwICsxLDU3IEBACi0rISB7IGRnLWRvIHJ1biB9Ci0rISB7IGRnLW9w dGlvbnMgIi1mZGVjIiB9Ci0rIQotKyEgVGVzdCBhZGQgZGVmYXVsdCBTRVFVRU5DRSBhdHRyaWJ1 dGUgZGVyaXZlZCB0eXBlcyBhcHBlYXJpbmcgaW4KLSshIENPTU1PTiBibG9ja3MgYW5kIEVRVUlW QUxFTkNFIHN0YXRlbWVudHMuCi0rIQotKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9u ZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+Ci0rISBNb2Rp ZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSsh Ci0rICAgICAgICBNT0RVTEUgU0VRCi0rICAgICAgICAgIFRZUEUgU1RSVUNUMQotKyAgICAgICAg ICAgIElOVEVHRVIqNCAgICAgSUQKLSsgICAgICAgICAgICBJTlRFR0VSKjQgICAgIFRZUEUKLSsg ICAgICAgICAgICBJTlRFR0VSKjggICAgIERFRlZBTAotKyAgICAgICAgICAgIENIQVJBQ1RFUioo NCkgTkFNRQotKyAgICAgICAgICAgIExPR0lDQUwqMSAgICAgTklMCi0rICAgICAgICAgIEVORCBU WVBFIFNUUlVDVDEKLSsgICAgICAgIEVORCBNT0RVTEUKLSsKLSsgICAgICAgIFNVQlJPVVRJTkUg QQotKyAgICAgICAgICBVU0UgU0VRCi0rICAgICAgICAgIFRZUEUgKFNUUlVDVDEpIFMKLSsgICAg ICAgICAgQ09NTU9OIC9CTE9DSzEvIFMKLSsgICAgICAgICAgSUYgKFMlSUQuTkUuNSkgU1RPUCAx Ci0rICAgICAgICAgIElGIChTJVRZUEUuTkUuMTAwMCkgU1RPUCAyCi0rICAgICAgICAgIElGIChT JURFRlZBTC5ORS4tOTkpIFNUT1AgMwotKyAgICAgICAgICBJRiAoUyVOQU1FLk5FLiJKQU5FIikg U1RPUCA0Ci0rICAgICAgICAgIElGIChTJU5JTC5ORVFWLi5GQUxTRS4pIFNUT1AgNQotKyAgICAg ICAgRU5EIFNVQlJPVVRJTkUKLSsKLSsgICAgICAgIFBST0dSQU0gc2VxdWVuY2VfYXR0X2NvbW1v bgotKyAgICAgICAgICBVU0UgU0VRCi0rICAgICAgICAgIElNUExJQ0lUIE5PTkUKLSsgICAgICAg ICAgVFlQRSAoU1RSVUNUMSkgUzEKLSsgICAgICAgICAgVFlQRSAoU1RSVUNUMSkgUzIKLSsgICAg ICAgICAgVFlQRSAoU1RSVUNUMSkgUzMKLSsKLSsgICAgICAgICAgRVFVSVZBTEVOQ0UgKFMxLFMy KQotKyAgICAgICAgICBDT01NT04gL0JMT0NLMS8gUzMKLSsKLSsgICAgICAgICAgUzElSUQgPSA1 Ci0rICAgICAgICAgIFMxJVRZUEUgPSAxMDAwCi0rICAgICAgICAgIFMxJURFRlZBTCA9IC05OQot KyAgICAgICAgICBTMSVOQU1FID0gIkpBTkUiCi0rICAgICAgICAgIFMxJU5JTCA9IC5GQUxTRS4K LSsKLSsgICAgICAgICAgSUYgKFMyJUlELk5FLjUpIFNUT1AgMQotKyAgICAgICAgICBJRiAoUzIl VFlQRS5ORS4xMDAwKSBTVE9QIDIKLSsgICAgICAgICAgSUYgKFMyJURFRlZBTC5ORS4tOTkpIFNU T1AgMwotKyAgICAgICAgICBJRiAoUzIlTkFNRS5ORS4iSkFORSIpIFNUT1AgNAotKyAgICAgICAg ICBJRiAoUzIlTklMLk5FUVYuLkZBTFNFLikgU1RPUCA1Ci0rCi0rICAgICAgICAgIFMzID0gUzEK LSsKLSsgICAgICAgICAgQ0FMTCBBCi0rICAgICAgICAgIAotKyAgICAgICAgRU5ECi1kaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NPTU1P Tl9ibG9ja19ieV9kZWZhdWx0XzIuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2Fk ZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8yLmYKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uODM1MTJmMGYzYTIKLS0tLSAvZGV2L251bGwKLSsr KyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05f YmxvY2tfYnlfZGVmYXVsdF8yLmYKLUBAIC0wLDAgKzEsNTcgQEAKLSshIHsgZGctZG8gcnVuIH0K LSshIHsgZGctb3B0aW9ucyAiLWZkZWMtc2VxdWVuY2UiIH0KLSshCi0rISBUZXN0IGFkZCBkZWZh dWx0IFNFUVVFTkNFIGF0dHJpYnV0ZSBkZXJpdmVkIHR5cGVzIGFwcGVhcmluZyBpbgotKyEgQ09N TU9OIGJsb2NrcyBhbmQgRVFVSVZBTEVOQ0Ugc3RhdGVtZW50cy4KLSshCi0rISBDb250cmlidXRl ZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0 aGluay5jby51az4KLSshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3Rv bkBjb2RldGhpbmsuY29tPgotKyEKLSsgICAgICAgIE1PRFVMRSBTRVEKLSsgICAgICAgICAgVFlQ RSBTVFJVQ1QxCi0rICAgICAgICAgICAgSU5URUdFUio0ICAgICBJRAotKyAgICAgICAgICAgIElO VEVHRVIqNCAgICAgVFlQRQotKyAgICAgICAgICAgIElOVEVHRVIqOCAgICAgREVGVkFMCi0rICAg ICAgICAgICAgQ0hBUkFDVEVSKig0KSBOQU1FCi0rICAgICAgICAgICAgTE9HSUNBTCoxICAgICBO SUwKLSsgICAgICAgICAgRU5EIFRZUEUgU1RSVUNUMQotKyAgICAgICAgRU5EIE1PRFVMRQotKwot KyAgICAgICAgU1VCUk9VVElORSBBCi0rICAgICAgICAgIFVTRSBTRVEKLSsgICAgICAgICAgVFlQ RSAoU1RSVUNUMSkgUwotKyAgICAgICAgICBDT01NT04gL0JMT0NLMS8gUwotKyAgICAgICAgICBJ RiAoUyVJRC5ORS41KSBTVE9QIDEKLSsgICAgICAgICAgSUYgKFMlVFlQRS5ORS4xMDAwKSBTVE9Q IDIKLSsgICAgICAgICAgSUYgKFMlREVGVkFMLk5FLi05OSkgU1RPUCAzCi0rICAgICAgICAgIElG IChTJU5BTUUuTkUuIkpBTkUiKSBTVE9QIDQKLSsgICAgICAgICAgSUYgKFMlTklMLk5FUVYuLkZB TFNFLikgU1RPUCA1Ci0rICAgICAgICBFTkQgU1VCUk9VVElORQotKwotKyAgICAgICAgUFJPR1JB TSBzZXF1ZW5jZV9hdHRfY29tbW9uCi0rICAgICAgICAgIFVTRSBTRVEKLSsgICAgICAgICAgSU1Q TElDSVQgTk9ORQotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMQotKyAgICAgICAgICBUWVBF IChTVFJVQ1QxKSBTMgotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMwotKwotKyAgICAgICAg ICBFUVVJVkFMRU5DRSAoUzEsUzIpCi0rICAgICAgICAgIENPTU1PTiAvQkxPQ0sxLyBTMwotKwot KyAgICAgICAgICBTMSVJRCA9IDUKLSsgICAgICAgICAgUzElVFlQRSA9IDEwMDAKLSsgICAgICAg ICAgUzElREVGVkFMID0gLTk5Ci0rICAgICAgICAgIFMxJU5BTUUgPSAiSkFORSIKLSsgICAgICAg ICAgUzElTklMID0gLkZBTFNFLgotKwotKyAgICAgICAgICBJRiAoUzIlSUQuTkUuNSkgU1RPUCAx Ci0rICAgICAgICAgIElGIChTMiVUWVBFLk5FLjEwMDApIFNUT1AgMgotKyAgICAgICAgICBJRiAo UzIlREVGVkFMLk5FLi05OSkgU1RPUCAzCi0rICAgICAgICAgIElGIChTMiVOQU1FLk5FLiJKQU5F IikgU1RPUCA0Ci0rICAgICAgICAgIElGIChTMiVOSUwuTkVRVi4uRkFMU0UuKSBTVE9QIDUKLSsK LSsgICAgICAgICAgUzMgPSBTMQotKwotKyAgICAgICAgICBDQUxMIEEKLSsgICAgICAgICAgCi0r ICAgICAgICBFTkQKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19h ZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMy5mIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0 XzMuZgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi4yNmNkNTlmOTA5 MAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRk X1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzMuZgotQEAgLTAsMCArMSw1NyBA QAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMt c2VxdWVuY2UiIH0KLSshCi0rISBUZXN0IGFkZCBkZWZhdWx0IFNFUVVFTkNFIGF0dHJpYnV0ZSBk ZXJpdmVkIHR5cGVzIGFwcGVhcmluZyBpbgotKyEgQ09NTU9OIGJsb2NrcyBhbmQgRVFVSVZBTEVO Q0Ugc3RhdGVtZW50cy4KLSshCi0rISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBN YXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KLSshIE1vZGlmaWVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsg ICAgICAgIE1PRFVMRSBTRVEKLSsgICAgICAgICAgVFlQRSBTVFJVQ1QxCi0rICAgICAgICAgICAg SU5URUdFUio0ICAgICBJRAotKyAgICAgICAgICAgIElOVEVHRVIqNCAgICAgVFlQRQotKyAgICAg ICAgICAgIElOVEVHRVIqOCAgICAgREVGVkFMCi0rICAgICAgICAgICAgQ0hBUkFDVEVSKig0KSBO QU1FCi0rICAgICAgICAgICAgTE9HSUNBTCoxICAgICBOSUwKLSsgICAgICAgICAgRU5EIFRZUEUg U1RSVUNUMQotKyAgICAgICAgRU5EIE1PRFVMRQotKwotKyAgICAgICAgU1VCUk9VVElORSBBCi0r ICAgICAgICAgIFVTRSBTRVEKLSsgICAgICAgICAgVFlQRSAoU1RSVUNUMSkgUyAhIHsgZGctZXJy b3IgIkRlcml2ZWQgdHlwZSB2YXJpYWJsZSIgfQotKyAgICAgICAgICBDT01NT04gL0JMT0NLMS8g UwotKyAgICAgICAgICBJRiAoUyVJRC5ORS41KSBTVE9QIDEKLSsgICAgICAgICAgSUYgKFMlVFlQ RS5ORS4xMDAwKSBTVE9QIDIKLSsgICAgICAgICAgSUYgKFMlREVGVkFMLk5FLi05OSkgU1RPUCAz Ci0rICAgICAgICAgIElGIChTJU5BTUUuTkUuIkpBTkUiKSBTVE9QIDQKLSsgICAgICAgICAgSUYg KFMlTklMLk5FUVYuLkZBTFNFLikgU1RPUCA1Ci0rICAgICAgICBFTkQgU1VCUk9VVElORQotKwot KyAgICAgICAgUFJPR1JBTSBzZXF1ZW5jZV9hdHRfY29tbW9uCi0rICAgICAgICAgIFVTRSBTRVEK LSsgICAgICAgICAgSU1QTElDSVQgTk9ORQotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMQot KyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMgotKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBT MyAhIHsgZGctZXJyb3IgIkRlcml2ZWQgdHlwZSB2YXJpYWJsZSIgfQotKwotKyAgICAgICAgICBF UVVJVkFMRU5DRSAoUzEsUzIpICEgeyBkZy1lcnJvciAiRGVyaXZlZCB0eXBlIHZhcmlhYmxlIiB9 Ci0rICAgICAgICAgIENPTU1PTiAvQkxPQ0sxLyBTMwotKwotKyAgICAgICAgICBTMSVJRCA9IDUK LSsgICAgICAgICAgUzElVFlQRSA9IDEwMDAKLSsgICAgICAgICAgUzElREVGVkFMID0gLTk5Ci0r ICAgICAgICAgIFMxJU5BTUUgPSAiSkFORSIKLSsgICAgICAgICAgUzElTklMID0gLkZBTFNFLgot KwotKyAgICAgICAgICBJRiAoUzIlSUQuTkUuNSkgU1RPUCAxCi0rICAgICAgICAgIElGIChTMiVU WVBFLk5FLjEwMDApIFNUT1AgMgotKyAgICAgICAgICBJRiAoUzIlREVGVkFMLk5FLi05OSkgU1RP UCAzCi0rICAgICAgICAgIElGIChTMiVOQU1FLk5FLiJKQU5FIikgU1RPUCA0Ci0rICAgICAgICAg IElGIChTMiVOSUwuTkVRVi4uRkFMU0UuKSBTVE9QIDUKLSsKLSsgICAgICAgICAgUzMgPSBTMQot KwotKyAgICAgICAgICBDQUxMIEEKLSsgICAgICAgICAgCi0rICAgICAgICBFTkQKLS0tIAotMi4y Ny4wCi0KCmRpZmYgLS1naXQgYS9nY2MxMS1mb3J0cmFuLWZsb2dpY2FsLWFzLWludGVnZXIucGF0 Y2ggYi9nY2MxMS1mb3J0cmFuLWZsb2dpY2FsLWFzLWludGVnZXIucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDQxY2JmNjAuLjAwMDAwMDAKLS0tIGEvZ2NjMTEtZm9ydHJhbi1m bG9naWNhbC1hcy1pbnRlZ2VyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzA1ICswLDAgQEAK LUZyb20gOWI0NWYzMDYzZGZkMmI4OTNlNzk2M2E0ODI4YzFiMGFmZWNkYzY4YSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5n bnUub3JnPgotRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAxMjo0MTo0NiArMDAwMAotU3ViamVjdDog W1BBVENIIDAyLzEwXSBDb252ZXJ0IExPR0lDQUwgdG8gSU5URUdFUiBmb3IgYXJpdGhtZXRpYyBv cHMsIGFuZCB2aWNlCi0gdmVyc2EKLQotV2UgYWxsb3cgY29udmVydGluZyBMT0dJQ0FMIHR5cGVz IHRvIElOVEVHRVIgd2hlbiBkb2luZyBhcml0aG1ldGljCi1vcGVyYXRpb25zLCBhbmQgY29udmVy dGluZyBJTlRFR0VSIHR5cGVzIHRvIExPR0lDQUwgZm9yIHVzZSBpbgotYm9vbGVhbiBvcGVyYXRp b25zLgotCi1UaGlzIGZlYXR1cmUgaXMgZW5hYmxlZCB3aXRoIHRoZSAtZmxvZ2ljYWwtYXMtaW50 ZWdlciBmbGFnLgotCi1Ob3RlOiB1c2luZyB0aGlzIGZlYXR1cmUgd2lsbCBkaXNhYmxlIGJpdHdp c2UgbG9naWNhbCBvcGVyYXRpb25zIGVuYWJsZWQgYnkKLS1mZGVjLgotLS0tCi0gZ2NjL2ZvcnRy YW4vbGFuZy5vcHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysKLSBnY2MvZm9ydHJh bi9yZXNvbHZlLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCA1NSArKysrKysrKysrKysrKysr KystCi0gLi4uL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV8xLmYgICAgIHwgMzEg KysrKysrKysrKysKLSAuLi4vbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzIuZiAg ICAgfCAzMSArKysrKysrKysrKwotIC4uLi9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVy c2FfMy5mICAgICB8IDMzICsrKysrKysrKysrCi0gLi4uL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRf dmljZV92ZXJzYV80LmYgICAgIHwgMzMgKysrKysrKysrKysKLSA2IGZpbGVzIGNoYW5nZWQsIDE4 NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzEu ZgotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxf dG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV8yLmYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMy5m Ci0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90 b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzQuZgotCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4v bGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAotaW5kZXggNTJiZDUyMjA1MWUuLmM0ZGEy NDhmMDdjIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKLSsrKyBiL2djYy9mb3J0 cmFuL2xhbmcub3B0Ci1AQCAtNDk3LDYgKzQ5NywxMCBAQCBmZGVjLXN0YXRpYwotIEZvcnRyYW4g VmFyKGZsYWdfZGVjX3N0YXRpYykKLSBFbmFibGUgREVDLXN0eWxlIFNUQVRJQyBhbmQgQVVUT01B VElDIGF0dHJpYnV0ZXMuCi0gCi0rZmxvZ2ljYWwtYXMtaW50ZWdlcgotK0ZvcnRyYW4gVmFyKGZs YWdfbG9naWNhbF9hc19pbnRlZ2VyKQotK0NvbnZlcnQgZnJvbSBpbnRlZ2VyIHRvIGxvZ2ljYWwg b3IgbG9naWNhbCB0byBpbnRlZ2VyIGZvciBhcml0aG1ldGljIG9wZXJhdGlvbnMuCi0rCi0gZmRl ZmF1bHQtZG91YmxlLTgKLSBGb3J0cmFuIFZhcihmbGFnX2RlZmF1bHRfZG91YmxlKQotIFNldCB0 aGUgZGVmYXVsdCBkb3VibGUgcHJlY2lzaW9uIGtpbmQgdG8gYW4gOCBieXRlIHdpZGUgdHlwZS4K LWRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmMgYi9nY2MvZm9ydHJhbi9yZXNvbHZl LmMKLWluZGV4IGMwNzVkMGZhMGM0Li40YjkwY2I1OTkwMiAxMDA2NDQKLS0tLSBhL2djYy9mb3J0 cmFuL3Jlc29sdmUuYwotKysrIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCi1AQCAtMzkxNSw3ICsz OTE1LDYgQEAgbG9va3VwX3VvcF9mdXp6eSAoY29uc3QgY2hhciAqb3AsIGdmY19zeW10cmVlICp1 b3ApCi0gICByZXR1cm4gZ2ZjX2Nsb3Nlc3RfZnV6enlfbWF0Y2ggKG9wLCBjYW5kaWRhdGVzKTsK LSB9Ci0gCi0tCi0gLyogQ2FsbGJhY2sgZmluZGluZyBhbiBpbXB1cmUgZnVuY3Rpb24gYXMgYW4g b3BlcmFuZCB0byBhbiAuYW5kLiBvcgotICAgIC5vci4gIGV4cHJlc3Npb24uICBSZW1lbWJlciB0 aGUgbGFzdCBmdW5jdGlvbiB3YXJuZWQgYWJvdXQgdG8KLSAgICBhdm9pZCBkb3VibGUgd2Fybmlu Z3Mgd2hlbiByZWN1cnNpbmcuICAqLwotQEAgLTM5NzUsNiArMzk3NCwyMiBAQCBjb252ZXJ0X2hv bGxlcml0aF90b19jaGFyYWN0ZXIgKGdmY19leHByICplKQotICAgICB9Ci0gfQotIAotKy8qIElm IEUgaXMgYSBsb2dpY2FsLCBjb252ZXJ0IGl0IHRvIGFuIGludGVnZXIgYW5kIGlzc3VlIGEgd2Fy bmluZwotKyAgIGZvciB0aGUgY29udmVyc2lvbi4gICovCi0rCi0rc3RhdGljIHZvaWQKLStjb252 ZXJ0X2ludGVnZXJfdG9fbG9naWNhbCAoZ2ZjX2V4cHIgKmUpCi0rewotKyAgaWYgKGUtPnRzLnR5 cGUgPT0gQlRfSU5URUdFUikKLSsgICAgewotKyAgICAgIC8qIENvbnZlcnQgdG8gTE9HSUNBTCAq LwotKyAgICAgIGdmY190eXBlc3BlYyB0OwotKyAgICAgIHQudHlwZSA9IEJUX0xPR0lDQUw7Ci0r ICAgICAgdC5raW5kID0gMTsKLSsgICAgICBnZmNfY29udmVydF90eXBlX3dhcm4gKGUsICZ0LCAy LCAxKTsKLSsgICAgfQotK30KLSsKLSAvKiBDb252ZXJ0IHRvIG51bWVyaWMgYW5kIGlzc3VlIGEg d2FybmluZyBmb3IgdGhlIGNvbnZlcnNpb24uICAqLwotIAotIHN0YXRpYyB2b2lkCi1AQCAtMzk4 Nyw2ICs0MDAyLDIyIEBAIGNvbnZlcnRfdG9fbnVtZXJpYyAoZ2ZjX2V4cHIgKmEsIGdmY19leHBy ICpiKQotICAgZ2ZjX2NvbnZlcnRfdHlwZV93YXJuIChhLCAmdCwgMiwgMSk7Ci0gfQotIAotKy8q IElmIEUgaXMgYSBsb2dpY2FsLCBjb252ZXJ0IGl0IHRvIGFuIGludGVnZXIgYW5kIGlzc3VlIGEg d2FybmluZwotKyAgIGZvciB0aGUgY29udmVyc2lvbi4gICovCi0rCi0rc3RhdGljIHZvaWQKLStj b252ZXJ0X2xvZ2ljYWxfdG9faW50ZWdlciAoZ2ZjX2V4cHIgKmUpCi0rewotKyAgaWYgKGUtPnRz LnR5cGUgPT0gQlRfTE9HSUNBTCkKLSsgICAgewotKyAgICAgIC8qIENvbnZlcnQgdG8gSU5URUdF UiAqLwotKyAgICAgIGdmY190eXBlc3BlYyB0OwotKyAgICAgIHQudHlwZSA9IEJUX0lOVEVHRVI7 Ci0rICAgICAgdC5raW5kID0gMTsKLSsgICAgICBnZmNfY29udmVydF90eXBlX3dhcm4gKGUsICZ0 LCAyLCAxKTsKLSsgICAgfQotK30KLSsKLSAvKiBSZXNvbHZlIGFuIG9wZXJhdG9yIGV4cHJlc3Np b24gbm9kZS4gIFRoaXMgY2FuIGludm9sdmUgcmVwbGFjaW5nIHRoZQotICAgIG9wZXJhdGlvbiB3 aXRoIGEgdXNlciBkZWZpbmVkIGZ1bmN0aW9uIGNhbGwuICAqLwotIAotQEAgLTQwNzIsNiArNDEw MywxMiBAQCByZXNvbHZlX29wZXJhdG9yIChnZmNfZXhwciAqZSkKLSAgICAgY2FzZSBJTlRSSU5T SUNfVElNRVM6Ci0gICAgIGNhc2UgSU5UUklOU0lDX0RJVklERToKLSAgICAgY2FzZSBJTlRSSU5T SUNfUE9XRVI6Ci0rICAgICAgaWYgKGZsYWdfbG9naWNhbF9hc19pbnRlZ2VyKQotKwl7Ci0rCSAg Y29udmVydF9sb2dpY2FsX3RvX2ludGVnZXIgKG9wMSk7Ci0rCSAgY29udmVydF9sb2dpY2FsX3Rv X2ludGVnZXIgKG9wMik7Ci0rCX0KLSsKLSAgICAgICBpZiAoZ2ZjX251bWVyaWNfdHMgKCZvcDEt PnRzKSAmJiBnZmNfbnVtZXJpY190cyAoJm9wMi0+dHMpKQotIAl7Ci0gCSAgZ2ZjX3R5cGVfY29u dmVydF9iaW5hcnkgKGUsIDEpOwotQEAgLTQxMDgsNiArNDE0NSwxMyBAQCByZXNvbHZlX29wZXJh dG9yIChnZmNfZXhwciAqZSkKLSAgICAgY2FzZSBJTlRSSU5TSUNfT1I6Ci0gICAgIGNhc2UgSU5U UklOU0lDX0VRVjoKLSAgICAgY2FzZSBJTlRSSU5TSUNfTkVRVjoKLSsKLSsgICAgICBpZiAoZmxh Z19sb2dpY2FsX2FzX2ludGVnZXIpCi0rCXsKLSsJICBjb252ZXJ0X2ludGVnZXJfdG9fbG9naWNh bCAob3AxKTsKLSsJICBjb252ZXJ0X2ludGVnZXJfdG9fbG9naWNhbCAob3AyKTsKLSsJfQotKwot ICAgICAgIGlmIChvcDEtPnRzLnR5cGUgPT0gQlRfTE9HSUNBTCAmJiBvcDItPnRzLnR5cGUgPT0g QlRfTE9HSUNBTCkKLSAJewotIAkgIGUtPnRzLnR5cGUgPSBCVF9MT0dJQ0FMOwotQEAgLTQxNTgs NiArNDIwMiw5IEBAIHJlc29sdmVfb3BlcmF0b3IgKGdmY19leHByICplKQotIAkgIGdvdG8gc2lt cGxpZnlfb3A7Ci0gCX0KLSAKLSsgICAgICBpZiAoZmxhZ19sb2dpY2FsX2FzX2ludGVnZXIpCi0r CWNvbnZlcnRfaW50ZWdlcl90b19sb2dpY2FsIChvcDEpOwotKwotICAgICAgIGlmIChvcDEtPnRz LnR5cGUgPT0gQlRfTE9HSUNBTCkKLSAJewotIAkgIGUtPnRzLnR5cGUgPSBCVF9MT0dJQ0FMOwot QEAgLTQxOTgsNiArNDI0NSwxMiBAQCByZXNvbHZlX29wZXJhdG9yIChnZmNfZXhwciAqZSkKLSAJ ICBjb252ZXJ0X2hvbGxlcml0aF90b19jaGFyYWN0ZXIgKG9wMik7Ci0gCX0KLSAKLSsgICAgICBp ZiAoZmxhZ19sb2dpY2FsX2FzX2ludGVnZXIpCi0rCXsKLSsJICBjb252ZXJ0X2xvZ2ljYWxfdG9f aW50ZWdlciAob3AxKTsKLSsJICBjb252ZXJ0X2xvZ2ljYWxfdG9faW50ZWdlciAob3AyKTsKLSsJ fQotKwotICAgICAgIGlmIChvcDEtPnRzLnR5cGUgPT0gQlRfQ0hBUkFDVEVSICYmIG9wMi0+dHMu dHlwZSA9PSBCVF9DSEFSQUNURVIKLSAJICAmJiBvcDEtPnRzLmtpbmQgPT0gb3AyLT50cy5raW5k KQotIAl7Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9sb2dpY2FsX3Rv X2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9s b2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMS5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0 NAotaW5kZXggMDAwMDAwMDAwMDAuLjkzOGE5MWQ5ZTlhCi0tLS0gL2Rldi9udWxsCi0rKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRfdmljZV92ZXJz YV8xLmYKLUBAIC0wLDAgKzEsMzEgQEAKLSshIHsgZGctZG8gcnVuIH0KLSshIHsgZGctb3B0aW9u cyAiLXN0ZD1sZWdhY3kgLWZsb2dpY2FsLWFzLWludGVnZXIiIH0KLSshCi0rISBUZXN0IGNvbnZl cnNpb24gYmV0d2VlbiBsb2dpY2FsIGFuZCBpbnRlZ2VyIGZvciBsb2dpY2FsIG9wZXJhdG9ycwot KyEKLSshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0ubWFjYXJ0 aHVyQGNvZGV0aGluay5jby51az4KLSshIE1vZGlmaWVkIGZvciAtZmxvZ2ljYWwtYXMtaW50ZWdl ciBieSBNYXJrIEVnZ2xlc3RvbgotKyEgPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0r IQotKyAgICAgICAgUFJPR1JBTSBsb2dpY2FsX2ludGVnZXJfY29udmVyc2lvbgotKyAgICAgICAg ICBMT0dJQ0FMIGxwb3MgLy50cnVlLi8KLSsgICAgICAgICAgSU5URUdFUiBpbmVnLzAvCi0rICAg ICAgICAgIElOVEVHRVIgaXJlcwotKyAgICAgICAgICBMT0dJQ0FMIGxyZXMKLSsKLSsgICAgICAg ICAgISBUZXN0IExvZ2ljYWxzIGNvbnZlcnRlZCB0byBJbnRlZ2VycwotKyAgICAgICAgICBpZiAo KGxwb3MuQU5ELmluZWcpLkVRLjEpIFNUT1AgMwotKyAgICAgICAgICBpZiAoKGluZWcuQU5ELmxw b3MpLk5FLjApIFNUT1AgNAotKyAgICAgICAgICBpcmVzID0gKC50cnVlLi5BTkQuMCkKLSsgICAg ICAgICAgaWYgKGlyZXMuTkUuMCkgU1RPUCA1Ci0rICAgICAgICAgIGlyZXMgPSAoMS5BTkQuLmZh bHNlLikKLSsgICAgICAgICAgaWYgKGlyZXMuRVEuMSkgU1RPUCA2Ci0rCi0rICAgICAgICAgICEg VGVzdCBJbnRlZ2VycyBjb252ZXJ0ZWQgdG8gTG9naWNhbHMKLSsgICAgICAgICAgaWYgKGxwb3Mu RVEuaW5lZykgU1RPUCA3Ci0rICAgICAgICAgIGlmIChpbmVnLkVRLmxwb3MpIFNUT1AgOAotKyAg ICAgICAgICBscmVzID0gKC50cnVlLi5FUS4wKQotKyAgICAgICAgICBpZiAobHJlcykgU1RPUCA5 Ci0rICAgICAgICAgIGxyZXMgPSAoMS5FUS4uZmFsc2UuKQotKyAgICAgICAgICBpZiAobHJlcykg U1RPUCAxMAotKyAgICAgICAgRU5ECi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMi5mIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMi5mCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAuLjlmMTQ2MjAyYmE1Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdl cl9hbmRfdmljZV92ZXJzYV8yLmYKLUBAIC0wLDAgKzEsMzEgQEAKLSshIHsgZGctZG8gY29tcGls ZSB9Ci0rISB7IGRnLW9wdGlvbnMgIi1zdGQ9bGVnYWN5IC1mbG9naWNhbC1hcy1pbnRlZ2VyIC1m bm8tbG9naWNhbC1hcy1pbnRlZ2VyIiB9Ci0rIQotKyEgQmFzZWQgb24gbG9naWNhbF90b19pbnRl Z2VyX2FuZF92aWNlX3ZlcnNhXzEuZiBidXQgd2l0aCBvcHRpb24gZGlzYWJsZWQKLSshIHRvIHRl c3QgZm9yIGVycm9yIG1lc3NhZ2VzLgotKyEKLSshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBi eSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLSshCi0rIQot KyAgICAgICAgUFJPR1JBTSBsb2dpY2FsX2ludGVnZXJfY29udmVyc2lvbgotKyAgICAgICAgICBM T0dJQ0FMIGxwb3MgLy50cnVlLi8KLSsgICAgICAgICAgSU5URUdFUiBpbmVnLzAvCi0rICAgICAg ICAgIElOVEVHRVIgaXJlcwotKyAgICAgICAgICBMT0dJQ0FMIGxyZXMKLSsKLSsgICAgICAgICAg ISBUZXN0IExvZ2ljYWxzIGNvbnZlcnRlZCB0byBJbnRlZ2VycwotKyAgICAgICAgICBpZiAoKGxw b3MuQU5ELmluZWcpLkVRLjEpIFNUT1AgMyAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGxvZ2lj YWwgb3BlcmF0b3IiIH0KLSsgICAgICAgICAgaWYgKChpbmVnLkFORC5scG9zKS5ORS4wKSBTVE9Q IDQgISB7IGRnLWVycm9yICJPcGVyYW5kcyBvZiBsb2dpY2FsIG9wZXJhdG9yIiB9Ci0rICAgICAg ICAgIGlyZXMgPSAoLnRydWUuLkFORC4wKSAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGxvZ2lj YWwgb3BlcmF0b3IiIH0KLSsgICAgICAgICAgaWYgKGlyZXMuTkUuMCkgU1RPUCA1Ci0rICAgICAg ICAgIGlyZXMgPSAoMS5BTkQuLmZhbHNlLikgISB7IGRnLWVycm9yICJPcGVyYW5kcyBvZiBsb2dp Y2FsIG9wZXJhdG9yIiB9Ci0rICAgICAgICAgIGlmIChpcmVzLkVRLjEpIFNUT1AgNgotKwotKyAg ICAgICAgICAhIFRlc3QgSW50ZWdlcnMgY29udmVydGVkIHRvIExvZ2ljYWxzCi0rICAgICAgICAg IGlmIChscG9zLkVRLmluZWcpIFNUT1AgNyAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGNvbXBh cmlzb24gb3BlcmF0b3IiIH0KLSsgICAgICAgICAgaWYgKGluZWcuRVEubHBvcykgU1RPUCA4ICEg eyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgY29tcGFyaXNvbiBvcGVyYXRvciIgfQotKyAgICAgICAg ICBscmVzID0gKC50cnVlLi5FUS4wKSAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGNvbXBhcmlz b24gb3BlcmF0b3IiIH0KLSsgICAgICAgICAgaWYgKGxyZXMpIFNUT1AgOQotKyAgICAgICAgICBs cmVzID0gKDEuRVEuLmZhbHNlLikgISB7IGRnLWVycm9yICJPcGVyYW5kcyBvZiBjb21wYXJpc29u IG9wZXJhdG9yIiB9Ci0rICAgICAgICAgIGlmIChscmVzKSBTVE9QIDEwCi0rICAgICAgICBFTkQK LWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdl cl9hbmRfdmljZV92ZXJzYV8zLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxf dG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV8zLmYKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRl eCAwMDAwMDAwMDAwMC4uNDQ2ODczZWIyZGMKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzMuZgot QEAgLTAsMCArMSwzMyBAQAotKyEgeyBkZy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAi LXN0ZD1sZWdhY3kgLWZsb2dpY2FsLWFzLWludGVnZXIiIH0KLSshCi0rISBUZXN0IGNvbnZlcnNp b24gYmV0d2VlbiBsb2dpY2FsIGFuZCBpbnRlZ2VyIGZvciBsb2dpY2FsIG9wZXJhdG9ycwotKyEK LSsgICAgICAgIHByb2dyYW0gdGVzdAotKyAgICAgICAgICBsb2dpY2FsIGYgLy5mYWxzZS4vCi0r ICAgICAgICAgIGxvZ2ljYWwgdCAvLnRydWUuLwotKyAgICAgICAgICByZWFsIHgKLSsKLSsgICAg ICAgICAgeCA9IDcuNwotKyAgICAgICAgICB4ID0geCArIHQqMy4wCi0rICAgICAgICAgIGlmIChh YnMoeCAtIDEwLjcpLmd0LjAuMDAwMDEpIHN0b3AgMQotKyAgICAgICAgICB4ID0geCArIC5mYWxz ZS4qNS4wCi0rICAgICAgICAgIGlmIChhYnMoeCAtIDEwLjcpLmd0LjAuMDAwMDEpIHN0b3AgMgot KyAgICAgICAgICB4ID0geCAtIC50cnVlLio1LjAKLSsgICAgICAgICAgaWYgKGFicyh4IC0gNS43 KS5ndC4wLjAwMDAxKSBzdG9wIDMKLSsgICAgICAgICAgeCA9IHggKyB0Ci0rICAgICAgICAgIGlm IChhYnMoeCAtIDYuNykuZ3QuMC4wMDAwMSkgc3RvcCA0Ci0rICAgICAgICAgIHggPSB4ICsgZgot KyAgICAgICAgICBpZiAoYWJzKHggLSA2LjcpLmd0LjAuMDAwMDEpIHN0b3AgNQotKyAgICAgICAg ICB4ID0geCAtIHQKLSsgICAgICAgICAgaWYgKGFicyh4IC0gNS43KS5ndC4wLjAwMDAxKSBzdG9w IDYKLSsgICAgICAgICAgeCA9IHggLSBmCi0rICAgICAgICAgIGlmIChhYnMoeCAtIDUuNykuZ3Qu MC4wMDAwMSkgc3RvcCA3Ci0rICAgICAgICAgIHggPSB4KioudHJ1ZS4KLSsgICAgICAgICAgaWYg KGFicyh4IC0gNS43KS5ndC4wLjAwMDAxKSBzdG9wIDgKLSsgICAgICAgICAgeCA9IHgqKi5mYWxz ZS4KLSsgICAgICAgICAgaWYgKGFicyh4IC0gMS4wKS5ndC4wLjAwMDAxKSBzdG9wIDkKLSsgICAg ICAgICAgeCA9IHgvdAotKyAgICAgICAgICBpZiAoYWJzKHggLSAxLjApLmd0LjAuMDAwMDEpIHN0 b3AgMTAKLSsgICAgICAgICAgaWYgKCh4Ly5mYWxzZS4pLmxlLmh1Z2UoeCkpIHN0b3AgMTEKLSsg ICAgICAgIGVuZAotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNh bF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzQuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzQuZgotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi40MzAxYTQ5ODhkOAotLS0tIC9kZXYvbnVsbAotKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2Vf dmVyc2FfNC5mCi1AQCAtMCwwICsxLDMzIEBACi0rISB7IGRnLWRvIGNvbXBpbGUgfQotKyEgeyBk Zy1vcHRpb25zICItc3RkPWxlZ2FjeSAtZmxvZ2ljYWwtYXMtaW50ZWdlciAtZm5vLWxvZ2ljYWwt YXMtaW50ZWdlciIgfQotKyEKLSshIFRlc3QgY29udmVyc2lvbiBiZXR3ZWVuIGxvZ2ljYWwgYW5k IGludGVnZXIgZm9yIGxvZ2ljYWwgb3BlcmF0b3JzCi0rIQotKyAgICAgICAgcHJvZ3JhbSB0ZXN0 Ci0rICAgICAgICAgIGxvZ2ljYWwgZiAvLmZhbHNlLi8KLSsgICAgICAgICAgbG9naWNhbCB0IC8u dHJ1ZS4vCi0rICAgICAgICAgIHJlYWwgeAotKwotKyAgICAgICAgICB4ID0gNy43Ci0rICAgICAg ICAgIHggPSB4ICsgdCozLjAgISB7IGRnLWVycm9yICJPcGVyYW5kcyBvZiBiaW5hcnkgbnVtZXJp YyIgfQotKyAgICAgICAgICBpZiAoYWJzKHggLSAxMC43KS5ndC4wLjAwMDAxKSBzdG9wIDEKLSsg ICAgICAgICAgeCA9IHggKyAuZmFsc2UuKjUuMCAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGJp bmFyeSBudW1lcmljIiB9Ci0rICAgICAgICAgIGlmIChhYnMoeCAtIDEwLjcpLmd0LjAuMDAwMDEp IHN0b3AgMgotKyAgICAgICAgICB4ID0geCAtIC50cnVlLio1LjAgISB7IGRnLWVycm9yICJPcGVy YW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQotKyAgICAgICAgICBpZiAoYWJzKHggLSA1LjcpLmd0 LjAuMDAwMDEpIHN0b3AgMwotKyAgICAgICAgICB4ID0geCArIHQgISB7IGRnLWVycm9yICJPcGVy YW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQotKyAgICAgICAgICBpZiAoYWJzKHggLSA2LjcpLmd0 LjAuMDAwMDEpIHN0b3AgNAotKyAgICAgICAgICB4ID0geCArIGYgISB7IGRnLWVycm9yICJPcGVy YW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQotKyAgICAgICAgICBpZiAoYWJzKHggLSA2LjcpLmd0 LjAuMDAwMDEpIHN0b3AgNQotKyAgICAgICAgICB4ID0geCAtIHQgISB7IGRnLWVycm9yICJPcGVy YW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQotKyAgICAgICAgICBpZiAoYWJzKHggLSA1LjcpLmd0 LjAuMDAwMDEpIHN0b3AgNgotKyAgICAgICAgICB4ID0geCAtIGYgISB7IGRnLWVycm9yICJPcGVy YW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQotKyAgICAgICAgICBpZiAoYWJzKHggLSA1LjcpLmd0 LjAuMDAwMDEpIHN0b3AgNwotKyAgICAgICAgICB4ID0geCoqLnRydWUuICEgeyBkZy1lcnJvciAi T3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KLSsgICAgICAgICAgaWYgKGFicyh4IC0gNS43 KS5ndC4wLjAwMDAxKSBzdG9wIDgKLSsgICAgICAgICAgeCA9IHgqKi5mYWxzZS4gISB7IGRnLWVy cm9yICJPcGVyYW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQotKyAgICAgICAgICBpZiAoYWJzKHgg LSAxLjApLmd0LjAuMDAwMDEpIHN0b3AgOQotKyAgICAgICAgICB4ID0geC90ICEgeyBkZy1lcnJv ciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KLSsgICAgICAgICAgaWYgKGFicyh4IC0g MS4wKS5ndC4wLjAwMDAxKSBzdG9wIDEwCi0rICAgICAgICAgIGlmICgoeC8uZmFsc2UuKS5sZS5o dWdlKHgpKSBzdG9wIDExICEgeyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMi IH0KLSsgICAgICAgIGVuZAotLS0gCi0yLjI3LjAKLQoKZGlmZiAtLWdpdCBhL2djYzExLWhhY2su cGF0Y2ggYi9nY2MxMS1oYWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz YTVmM2YzLi4wMDAwMDAwCi0tLSBhL2djYzExLWhhY2sucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwxMjYgKzAsMCBAQAotLS0tIGxpYmFkYS9NYWtlZmlsZS5pbi5qagkyMDE5LTAxLTA5IDEzOjAx OjE4LjAxNTYwODIwNSArMDEwMAotKysrIGxpYmFkYS9NYWtlZmlsZS5pbgkyMDE5LTAxLTExIDE4 OjE2OjIzLjQ0MTcyNjkzMSArMDEwMAotQEAgLTcxLDE4ICs3MSw0MCBAQCB2ZXJzaW9uIDo9ICQo c2hlbGwgQGdldF9nY2NfYmFzZV92ZXJAICQoCi0gbGlic3ViZGlyIDo9ICQobGliZGlyKS9nY2Mv JCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChNVUxUSVNVQkRJUikKLSBBREFfUlRT X0RJUj0kKEdDQ19ESVIpL2FkYS9ydHMkKHN1YnN0IC8sXywkKE1VTFRJU1VCRElSKSkKLSAKLStE RUZBVUxUTVVMVElGTEFHUyA6PQotK2lmZXEgKCQoTVVMVElTVUJESVIpLCkKLSt0YXJnOj0kKHN1 YnN0IC0sICwkKHRhcmdldCkpCi0rYXJjaDo9JCh3b3JkIDEsJCh0YXJnKSkKLStpZmVxICgkKHdv cmRzICQodGFyZykpLDIpCi0rb3N5czo9JCh3b3JkIDIsJCh0YXJnKSkKLStlbHNlCi0rb3N5czo9 JCh3b3JkIDMsJCh0YXJnKSkKLStlbmRpZgotK2lmZXEgKCQoc3RyaXAgJChmaWx0ZXItb3V0IGkl ODYgeDg2XzY0IHBvd2VycGMlIHBwYyUgczM5MCUgc3BhcmMlIGxpbnV4JSwgJChhcmNoKSAkKG9z eXMpKSksKQotK2lmZXEgKCQoc2hlbGwgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1k aXJlY3RvcnkpLC4uL2xpYjY0KQotK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tNjQKLStlbHNlCi0r aWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgczM5MCUsICQoYXJjaCkpKSwpCi0rREVGQVVMVE1V TFRJRkxBR1MgOj0gLW0zMQotK2Vsc2UKLStERUZBVUxUTVVMVElGTEFHUyA6PSAtbTMyCi0rZW5k aWYKLStlbmRpZgotK2VuZGlmCi0rZW5kaWYKLSsKLSAjIGV4ZWV4dCBzaG91bGQgbm90IGJlIHVz ZWQgYmVjYXVzZSBpdCdzIHRoZSAqaG9zdCogZXhlZXh0LiAgV2UncmUgYnVpbGRpbmcKLSAjIGEg KnRhcmdldCogbGlicmFyeSwgYXJlbid0IHdlPyE/ICBMaWtld2lzZSBmb3IgQ0MuICBTdGlsbCwg cHJvdmlkZSBib2d1cwotICMgZGVmaW5pdGlvbnMganVzdCBpbiBjYXNlIHNvbWV0aGluZyBzbGlw cyB0aHJvdWdoIHRoZSBzYWZldHkgbmV0IHByb3ZpZGVkCi0gIyBieSByZWN1cnNpdmUgbWFrZSBp bnZvY2F0aW9ucyBpbiBnY2MvYWRhL01ha2VmaWxlLmluCi0gTElCQURBX0ZMQUdTX1RPX1BBU1Mg PSBcCi0gICAgICAgICAiTUFLRU9WRVJSSURFUz0iIFwKLS0gICAgICAgICJMREZMQUdTPSQoTERG TEFHUykiIFwKLSsgICAgICAgICJMREZMQUdTPSQoTERGTEFHUykgJChERUZBVUxUTVVMVElGTEFH UykiIFwKLSAgICAgICAgICJMTl9TPSQoTE5fUykiIFwKLSAgICAgICAgICJTSEVMTD0kKFNIRUxM KSIgXAotLSAgICAgICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFHUykgJChNVUxUSUZMQUdT KSIgXAotLSAgICAgICAgIkdOQVRMSUJDRkxBR1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxB R1MpIiBcCi0tICAgICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9S X0MpICQoTVVMVElGTEFHUykiIFwKLSsgICAgICAgICJHTkFUTElCRkxBR1M9JChHTkFUTElCRkxB R1MpICQoTVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKLSsgICAgICAgICJHTkFU TElCQ0ZMQUdTPSQoR05BVExJQkNGTEFHUykgJChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZM QUdTKSIgXAotKyAgICAgICAgIkdOQVRMSUJDRkxBR1NfRk9SX0M9JChHTkFUTElCQ0ZMQUdTX0ZP Ul9DKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1MpIiBcCi0gICAgICAgICAiUElD RkxBR19GT1JfVEFSR0VUPSQoUElDRkxBRykiIFwKLSAgICAgICAgICJUSFJFQURfS0lORD0kKFRI UkVBRF9LSU5EKSIgXAotICAgICAgICAgIlRSQUNFPSQoVFJBQ0UpIiBcCi1AQCAtOTMsNyArMTE1 LDcgQEAgTElCQURBX0ZMQUdTX1RPX1BBU1MgPSBcCi0gICAgICAgICAiZXhlZXh0PS5leGVleHQu c2hvdWxkLm5vdC5iZS51c2VkICIgXAotIAknQ0M9dGhlLmhvc3QuY29tcGlsZXIuc2hvdWxkLm5v dC5iZS5uZWVkZWQnIFwKLSAJIkdDQ19GT1JfVEFSR0VUPSQoQ0MpIiBcCi0tICAgICAgICAiQ0ZM QUdTPSQoQ0ZMQUdTKSIKLSsgICAgICAgICJDRkxBR1M9JChDRkxBR1MpICQoREVGQVVMVE1VTFRJ RkxBR1MpIgotIAotIC5QSE9OWTogbGliYWRhIGduYXRsaWIgZ25hdGxpYi1zaGFyZWQgZ25hdGxp Yi1zamxqIGduYXRsaWItemN4IG9zY29uc3Rvb2wKLSAKLS0tLSBjb25maWctbWwuaW4uamoJMjAx OS0wMS0wOSAxMjo1MDoxNi42NDY1MDE0NDggKzAxMDAKLSsrKyBjb25maWctbWwuaW4JMjAxOS0w MS0xMSAxODoxNjoyMy40NDI3MjY5MTQgKzAxMDAKLUBAIC01MTEsNiArNTExLDggQEAgbXVsdGkt ZG86Ci0gCQkJCUFEQUZMQUdTPSIkKEFEQUZMQUdTKSAkJHtmbGFnc30iIFwKLSAJCQkJcHJlZml4 PSIkKHByZWZpeCkiIFwKLSAJCQkJZXhlY19wcmVmaXg9IiQoZXhlY19wcmVmaXgpIiBcCi0rCQkJ CW1hbmRpcj0iJChtYW5kaXIpIiBcCi0rCQkJCWluZm9kaXI9IiQoaW5mb2RpcikiIFwKLSAJCQkJ R09DRkxBR1M9IiQoR09DRkxBR1MpICQke2ZsYWdzfSIgXAotIAkJCQlHRENGTEFHUz0iJChHRENG TEFHUykgJCR7ZmxhZ3N9IiBcCi0gCQkJCUNYWEZMQUdTPSIkKENYWEZMQUdTKSAkJHtmbGFnc30i IFwKLS0tLSBsaWJjcHAvbWFjcm8uYy5qagkyMDE5LTAxLTA5IDEzOjAxOjIxLjQyMDU1MjEyMyAr MDEwMAotKysrIGxpYmNwcC9tYWNyby5jCTIwMTktMDEtMTEgMTg6MTg6MTcuNzM2ODc2Mjg1ICsw MTAwCi1AQCAtMzI1Niw4ICszMjU2LDYgQEAgc3RhdGljIGNwcF9tYWNybyAqCi0gY3JlYXRlX2lz b19kZWZpbml0aW9uIChjcHBfcmVhZGVyICpwZmlsZSkKLSB7Ci0gICBib29sIGZvbGxvd2luZ19w YXN0ZV9vcCA9IGZhbHNlOwotLSAgY29uc3QgY2hhciAqcGFzdGVfb3BfZXJyb3JfbXNnID0KLS0g ICAgTl8oIicjIycgY2Fubm90IGFwcGVhciBhdCBlaXRoZXIgZW5kIG9mIGEgbWFjcm8gZXhwYW5z aW9uIik7Ci0gICB1bnNpZ25lZCBpbnQgbnVtX2V4dHJhX3Rva2VucyA9IDA7Ci0gICB1bnNpZ25l ZCBucGFybXMgPSAwOwotICAgY3BwX2hhc2hub2RlICoqcGFyYW1zID0gTlVMTDsKLUBAIC0zMzgy LDcgKzMzODAsOSBAQCBjcmVhdGVfaXNvX2RlZmluaXRpb24gKGNwcF9yZWFkZXIgKnBmaWxlCi0g CSAgICAgZnVuY3Rpb24tbGlrZSBtYWNyb3MsIGJ1dCBub3QgYXQgdGhlIGVuZC4gICovCi0gCSAg aWYgKGZvbGxvd2luZ19wYXN0ZV9vcCkKLSAJICAgIHsKLS0JICAgICAgY3BwX2Vycm9yIChwZmls ZSwgQ1BQX0RMX0VSUk9SLCBwYXN0ZV9vcF9lcnJvcl9tc2cpOwotKwkgICAgICBjcHBfZXJyb3Ig KHBmaWxlLCBDUFBfRExfRVJST1IsCi0rCQkJICInIyMnIGNhbm5vdCBhcHBlYXIgYXQgZWl0aGVy IGVuZCBvZiBhIG1hY3JvICIKLSsJCQkgImV4cGFuc2lvbiIpOwotIAkgICAgICBnb3RvIG91dDsK LSAJICAgIH0KLSAJICBpZiAoIXZhb3B0X3RyYWNrZXIuY29tcGxldGVkICgpKQotQEAgLTMzOTcs NyArMzM5Nyw5IEBAIGNyZWF0ZV9pc29fZGVmaW5pdGlvbiAoY3BwX3JlYWRlciAqcGZpbGUKLSAJ ICAgICBmdW5jdGlvbi1saWtlIG1hY3JvcywgYnV0IG5vdCBhdCB0aGUgYmVnaW5uaW5nLiAgKi8K LSAJICBpZiAobWFjcm8tPmNvdW50ID09IDEpCi0gCSAgICB7Ci0tCSAgICAgIGNwcF9lcnJvciAo cGZpbGUsIENQUF9ETF9FUlJPUiwgcGFzdGVfb3BfZXJyb3JfbXNnKTsKLSsJICAgICAgY3BwX2Vy cm9yIChwZmlsZSwgQ1BQX0RMX0VSUk9SLAotKwkJCSAiJyMjJyBjYW5ub3QgYXBwZWFyIGF0IGVp dGhlciBlbmQgb2YgYSBtYWNybyAiCi0rCQkJICJleHBhbnNpb24iKTsKLSAJICAgICAgZ290byBv dXQ7Ci0gCSAgICB9Ci0gCi0tLS0gbGliY3BwL2V4cHIuYy5qagkyMDE5LTAxLTA5IDEzOjAxOjIy LjQxNTUzNTczNCArMDEwMAotKysrIGxpYmNwcC9leHByLmMJMjAxOS0wMS0xMSAxODoxNjoyMy40 NDQ3MjY4ODIgKzAxMDAKLUBAIC04MDMsMTYgKzgwMywxNyBAQCBjcHBfY2xhc3NpZnlfbnVtYmVy IChjcHBfcmVhZGVyICpwZmlsZSwKLSAgICAgICBpZiAoKHJlc3VsdCAmIENQUF9OX1dJRFRIKSA9 PSBDUFBfTl9MQVJHRQotIAkgICYmIENQUF9PUFRJT04gKHBmaWxlLCBjcHBfd2Fybl9sb25nX2xv bmcpKQotICAgICAgICAgewotLSAgICAgICAgICBjb25zdCBjaGFyICptZXNzYWdlID0gQ1BQX09Q VElPTiAocGZpbGUsIGNwbHVzcGx1cykgCi0tCQkJCT8gTl8oInVzZSBvZiBDKysxMSBsb25nIGxv bmcgaW50ZWdlciBjb25zdGFudCIpCi0tCQkgICAgICAgICAgICAgICAgOiBOXygidXNlIG9mIEM5 OSBsb25nIGxvbmcgaW50ZWdlciBjb25zdGFudCIpOwotLQotIAkgIGlmIChDUFBfT1BUSU9OIChw ZmlsZSwgYzk5KSkKLSAgICAgICAgICAgICBjcHBfd2FybmluZ193aXRoX2xpbmUgKHBmaWxlLCBD UFBfV19MT05HX0xPTkcsIHZpcnR1YWxfbG9jYXRpb24sCi0tCQkJCSAgIDAsIG1lc3NhZ2UpOwot KwkJCQkgICAwLCBDUFBfT1BUSU9OIChwZmlsZSwgY3BsdXNwbHVzKQotKwkJCQkgICAgICA/IE5f KCJ1c2Ugb2YgQysrMTEgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQiKQotKwkJCQkgICAgICA6 IE5fKCJ1c2Ugb2YgQzk5IGxvbmcgbG9uZyBpbnRlZ2VyIGNvbnN0YW50IikpOwotICAgICAgICAg ICBlbHNlCi0gICAgICAgICAgICAgY3BwX3BlZHdhcm5pbmdfd2l0aF9saW5lIChwZmlsZSwgQ1BQ X1dfTE9OR19MT05HLAotLQkJCQkgICAgICB2aXJ0dWFsX2xvY2F0aW9uLCAwLCBtZXNzYWdlKTsK LSsJCQkJICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwKLSsJCQkJICAgICAgQ1BQX09QVElPTiAo cGZpbGUsIGNwbHVzcGx1cykKLSsJCQkJICAgICAgPyBOXygidXNlIG9mIEMrKzExIGxvbmcgbG9u ZyBpbnRlZ2VyIGNvbnN0YW50IikKLSsJCQkJICAgICAgOiBOXygidXNlIG9mIEM5OSBsb25nIGxv bmcgaW50ZWdlciBjb25zdGFudCIpKTsKLSAgICAgICAgIH0KLSAKLSAgICAgICBpZiAoKHJlc3Vs dCAmIENQUF9OX1NJWkVfVCkgPT0gQ1BQX05fU0laRV9UCgpkaWZmIC0tZ2l0IGEvZ2NjMTEtaXNs LWRsLnBhdGNoIGIvZ2NjMTEtaXNsLWRsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBiMzk4MmY5Li4wMDAwMDAwCi0tLSBhL2djYzExLWlzbC1kbC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDcxNiArMCwwIEBACi0tLS0gZ2NjL01ha2VmaWxlLmluLmpqCTIwMTUtMDYtMDYg MTA6MDA6MjUuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL01ha2VmaWxlLmluCTIwMTUtMTEtMDQg MTQ6NTY6MDIuNjQzNTM2NDM3ICswMTAwCi1AQCAtMTA2Myw3ICsxMDYzLDcgQEAgQlVJTERfTElC REVQUz0gJChCVUlMRF9MSUJJQkVSVFkpCi0gIyBhbmQgdGhlIHN5c3RlbSdzIGluc3RhbGxlZCBs aWJyYXJpZXMuCi0gTElCUyA9IEBMSUJTQCBsaWJjb21tb24uYSAkKENQUExJQikgJChMSUJJTlRM KSAkKExJQklDT05WKSAkKExJQkJBQ0tUUkFDRSkgXAotIAkkKExJQklCRVJUWSkgJChMSUJERUNO VU1CRVIpICQoSE9TVF9MSUJTKQotLUJBQ0tFTkRMSUJTID0gJChJU0xMSUJTKSAkKEdNUExJQlMp ICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKLStCQUNLRU5ETElCUyA9ICQoaWYgJChJU0xM SUJTKSwtbGRsKSAkKEdNUExJQlMpICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKLSAJJCha TElCKSAkKFpTVERfTElCKQotICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9y IEdOQVQuCi0gU1lTTElCUyA9IEBHTkFUX0xJQkVYQ0AKLUBAIC0yMzAyLDYgKzIzMDIsMTUgQEAg JChvdXRfb2JqZWN0X2ZpbGUpOiAkKG91dF9maWxlKQotICQoY29tbW9uX291dF9vYmplY3RfZmls ZSk6ICQoY29tbW9uX291dF9maWxlKQotIAkkKENPTVBJTEUpICQ8Ci0gCSQoUE9TVENPTVBJTEUp Ci0rCi0rZ3JhcGhpdGUlLm8gOiBcCi0rICBBTExfQ0ZMQUdTIDo9IC1PICQoZmlsdGVyLW91dCAt ZmtlZXAtaW5saW5lLWZ1bmN0aW9ucywgJChBTExfQ0ZMQUdTKSkKLStncmFwaGl0ZS5vIDogXAot KyAgQUxMX0NGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMs ICQoQUxMX0NGTEFHUykpCi0rZ3JhcGhpdGUlLm8gOiBcCi0rICBBTExfQ1hYRkxBR1MgOj0gLU8g JChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhGTEFHUykpCi0r Z3JhcGhpdGUubyA6IFwKLSsgIEFMTF9DWFhGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVw LWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NYWEZMQUdTKSkKLSAjDAotICMgR2VuZXJhdGUgaGVh ZGVyIGFuZCBzb3VyY2UgZmlsZXMgZnJvbSB0aGUgbWFjaGluZSBkZXNjcmlwdGlvbiwKLSAjIGFu ZCBjb21waWxlIHRoZW0uCi0tLS0gZ2NjL2dyYXBoaXRlLmguamoJMjAxNi0wMS0yNyAxMjo0NDow Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvZ3JhcGhpdGUuaAkyMDE2LTAxLTI3IDEzOjI2OjM4 LjMwOTg3Njg1NiArMDEwMAotQEAgLTI0LDYgKzI0LDU5MSBAQCBhbG9uZyB3aXRoIEdDQzsgc2Vl IHRoZSBmaWxlIENPUFlJTkczLgotIAotICNpbmNsdWRlICJzZXNlLmgiCi0gCi0rI2luY2x1ZGUg PGlzbC92ZXJzaW9uLmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0rCi0rI2RlZmluZSBEWU5TWU1T IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kpOyBcCi0rICBEWU5TWU0g KGlzbF9hZmZfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9nZXRfc3BhY2UpOyBcCi0rICBE WU5TWU0gKGlzbF9hZmZfc2V0X2NvZWZmaWNpZW50X3NpKTsgXAotKyAgRFlOU1lNIChpc2xfYWZm X3NldF9jb25zdGFudF9zaSk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl96ZXJvX29uX2RvbWFpbik7 IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfZ2V0 X2NoaWxkcmVuKTsgXAotKyAgRFlOU1lNIChpc2xfYmFuZF9nZXRfcGFydGlhbF9zY2hlZHVsZSk7 IFwKLSsgIERZTlNZTSAoaXNsX2JhbmRfaGFzX2NoaWxkcmVuKTsgXAotKyAgRFlOU1lNIChpc2xf YmFuZF9saXN0X2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9iYW5kX2xpc3RfZ2V0X2JhbmQpOyBc Ci0rICBEWU5TWU0gKGlzbF9iYW5kX2xpc3RfZ2V0X2N0eCk7IFwKLSsgIERZTlNZTSAoaXNsX2Jh bmRfbGlzdF9uX2JhbmQpOyBcCi0rICBEWU5TWU0gKGlzbF9iYW5kX25fbWVtYmVyKTsgXAotKyAg RFlOU1lNIChpc2xfYmFzaWNfbWFwX2FkZF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xf YmFzaWNfbWFwX3Byb2plY3Rfb3V0KTsgXAotKyAgRFlOU1lNIChpc2xfYmFzaWNfbWFwX3VuaXZl cnNlKTsgXAotKyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfc2kpOyBc Ci0rICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSk7IFwKLSsgIERZTlNZ TSAoaXNsX2N0eF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9mcmVlKTsgXAotKyAgRFlO U1lNIChpc2xfZXF1YWxpdHlfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9hbGxvYyk7IFwK LSsgIERZTlNZTSAoaXNsX2lkX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9mcmVlKTsgXAot KyAgRFlOU1lNIChpc2xfaW5lcXVhbGl0eV9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2xvY2Fs X3NwYWNlX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFjZV9mcmVlKTsgXAotKyAg RFlOU1lNIChpc2xfbG9jYWxfc3BhY2VfZnJvbV9zcGFjZSk7IFwKLSsgIERZTlNZTSAoaXNsX2xv Y2FsX3NwYWNlX3JhbmdlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9jb25zdHJhaW50KTsg XAotKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9kaW1zKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Fs aWduX3BhcmFtcyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9hcHBseV9yYW5nZSk7IFwKLSsgIERZ TlNZTSAoaXNsX21hcF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2RpbSk7IFwKLSsgIERZ TlNZTSAoaXNsX21hcF9kdW1wKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2VxdWF0ZSk7IFwKLSsg IERZTlNZTSAoaXNsX21hcF9maXhfc2kpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfZmxhdF9wcm9k dWN0KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKLSsgIERZ TlNZTSAoaXNsX21hcF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fYmFzaWNfbWFw KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fcHdfYWZmKTsgXAotKyAgRFlOU1lNIChpc2xf bWFwX2Zyb21fdW5pb25fbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2dldF9jdHgpOyBcCi0r ICBEWU5TWU0gKGlzbF9tYXBfZ2V0X3NwYWNlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2dldF90 dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnNlcnRfZGltcyk7IFwKLSsgIERZTlNZ TSAoaXNsX21hcF9pbnRlcnNlY3QpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0X2Rv bWFpbik7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2UpOyBcCi0rICBEWU5T WU0gKGlzbF9tYXBfaXNfZW1wdHkpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfbGV4X2dlKTsgXAot KyAgRFlOU1lNIChpc2xfbWFwX2xleF9sZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9uX291dCk7 IFwKLSsgIERZTlNZTSAoaXNsX21hcF9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9zZXRf dHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfdW5pdmVyc2UpOyBcCi0rICBEWU5TWU0g KGlzbF9vcHRpb25zX3NldF9vbl9lcnJvcik7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0 X3NjaGVkdWxlX3NlcmlhbGl6ZV9zY2NzKTsgXAotKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9zZXRf eWFtbF9zdHlsZSk7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9j b25zdGFudF90ZXJtKTsgXAotKyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4 aW1pemVfYmFuZF9kZXB0aCk7IFwKLSsgIERZTlNZTSAoaXNsX3ByaW50ZXJfZnJlZSk7IFwKLSsg IERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfYWZmKTsgXAotKyAgRFlOU1lNIChpc2xfcHJpbnRl cl9wcmludF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9tYXAp OyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X3NldCk7IFwKLSsgIERZTlNZTSAoaXNs X3ByaW50ZXJfdG9fZmlsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9hZGQpOyBcCi0rICBE WU5TWU0gKGlzbF9wd19hZmZfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfY29weSk7 IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9lcV9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19h ZmZfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9mcm9tX2FmZik7IFwKLSsgIERZTlNZ TSAoaXNsX3B3X2FmZl9nZV9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfZ3Rfc2V0KTsg XAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2lzX2NzdCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2Fm Zl9sZV9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfbHRfc2V0KTsgXAotKyAgRFlOU1lN IChpc2xfcHdfYWZmX211bCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9uZV9zZXQpOyBcCi0r ICBEWU5TWU0gKGlzbF9wd19hZmZfbm9ubmVnX3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2Fm Zl9zZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfc3ViKTsgXAotKyAgRFlO U1lNIChpc2xfcHdfYWZmX3plcm9fc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfZnJl ZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2dldF9iYW5kX2ZvcmVzdCk7IFwKLSsgIERZ TlNZTSAoaXNsX3NldF9hZGRfY29uc3RyYWludCk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9hZGRf ZGltcyk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9hcHBseSk7IFwKLSsgIERZTlNZTSAoaXNsX3Nl dF9jb2FsZXNjZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9jb3B5KTsgXAotKyAgRFlOU1lNIChp c2xfc2V0X2RpbSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9maXhfc2kpOyBcCi0rICBEWU5TWU0g KGlzbF9zZXRfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9nZXRfc3BhY2UpOyBcCi0rICBE WU5TWU0gKGlzbF9zZXRfZ2V0X3R1cGxlX2lkKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X2ludGVy c2VjdCk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9pc19lbXB0eSk7IFwKLSsgIERZTlNZTSAoaXNs X3NldF9uX2RpbSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9uYXRfdW5pdmVyc2UpOyBcCi0rICBE WU5TWU0gKGlzbF9zZXRfcHJvamVjdF9vdXQpOyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfc2V0X3R1 cGxlX2lkKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X3VuaXZlcnNlKTsgXAotKyAgRFlOU1lNIChp c2xfc3BhY2VfYWRkX2RpbXMpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9hbGxvYyk7IFwKLSsg IERZTlNZTSAoaXNsX3NwYWNlX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9kaW0pOyBc Ci0rICBEWU5TWU0gKGlzbF9zcGFjZV9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9m aW5kX2RpbV9ieV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX2ZyZWUpOyBcCi0rICBEWU5T WU0gKGlzbF9zcGFjZV9mcm9tX2RvbWFpbik7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX2dldF90 dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX3BhcmFtc19hbGxvYyk7IFwKLSsgIERZ TlNZTSAoaXNsX3NwYWNlX3JhbmdlKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2Vfc2V0X2FsbG9j KTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2Vfc2V0X2RpbV9pZCk7IFwKLSsgIERZTlNZTSAoaXNs X3NwYWNlX3NldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9hZGRfbWFw KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2FsaWduX3BhcmFtcyk7IFwKLSsgIERZTlNZ TSAoaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9t YXBfYXBwbHlfcmFuZ2UpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfY29tcHV0ZV9mbG93 KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF91 bmlvbl9tYXBfZW1wdHkpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZmxhdF9yYW5nZV9w cm9kdWN0KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2ZvcmVhY2hfbWFwKTsgXAotKyAg RFlOU1lNIChpc2xfdW5pb25fbWFwX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBf ZnJvbV9tYXApOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2V0X2N0eCk7IFwKLSsgIERZ TlNZTSAoaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9t YXBfZ2lzdF9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2lzdF9yYW5nZSk7 IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWluKTsgXAotKyAgRFlO U1lNIChpc2xfdW5pb25fbWFwX2lzX2VtcHR5KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFw X3N1YnRyYWN0KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX3VuaW9uKTsgXAotKyAgRFlO U1lNIChpc2xfdW5pb25fc2V0X2FkZF9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9zZXRf Y29tcHV0ZV9zY2hlZHVsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9jb3B5KTsgXAot KyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2VtcHR5KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25f c2V0X2Zyb21fc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX2FkZF9jb25zdGFudF92YWwpOyBc Ci0rICBEWU5TWU0gKGlzbF9hZmZfZ2V0X2NvZWZmaWNpZW50X3ZhbCk7IFwKLSsgIERZTlNZTSAo aXNsX2FmZl9nZXRfY3R4KTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX21vZF92YWwpOyBcCi0rICBE WU5TWU0gKGlzbF9hc3RfYnVpbGRfYXN0X2Zyb21fc2NoZWR1bGUpOyBcCi0rICBEWU5TWU0gKGlz bF9hc3RfYnVpbGRfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9idWlsZF9mcm9tX2NvbnRl eHQpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfZ2V0X2N0eCk7IFwKLSsgIERZTlNZTSAo aXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1bGUpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRf Z2V0X3NjaGVkdWxlX3NwYWNlKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX3NldF9iZWZv cmVfZWFjaF9mb3IpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfc2V0X29wdGlvbnMpOyBc Ci0rICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2V4 cHJfZnJvbV92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfY3R4KTsgXAotKyAg RFlOU1lNIChpc2xfYXN0X2V4cHJfZ2V0X2lkKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJf Z2V0X29wX2FyZyk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9vcF9uX2FyZyk7IFwK LSsgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9vcF90eXBlKTsgXAotKyAgRFlOU1lNIChpc2xf YXN0X2V4cHJfZ2V0X3R5cGUpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfdmFsKTsg XAotKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfc3ViKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25v ZGVfYmxvY2tfZ2V0X2NoaWxkcmVuKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dl dF9ib2R5KTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dldF9jb25kKTsgXAotKyAg RFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dldF9pbmMpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rf bm9kZV9mb3JfZ2V0X2luaXQpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2l0 ZXJhdG9yKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZnJlZSk7IFwKLSsgIERZTlNZTSAo aXNsX2FzdF9ub2RlX2dldF9hbm5vdGF0aW9uKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVf Z2V0X3R5cGUpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9pZl9nZXRfY29uZCk7IFwKLSsg IERZTlNZTSAoaXNsX2FzdF9ub2RlX2lmX2dldF9lbHNlKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0 X25vZGVfaWZfZ2V0X3RoZW4pOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9saXN0X2ZyZWUp OyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9saXN0X2dldF9hc3Rfbm9kZSk7IFwKLSsgIERZ TlNZTSAoaXNsX2FzdF9ub2RlX2xpc3Rfbl9hc3Rfbm9kZSk7IFwKLSsgIERZTlNZTSAoaXNsX2Fz dF9ub2RlX3VzZXJfZ2V0X2V4cHIpOyBcCi0rICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9j b2VmZmljaWVudF92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFu dF92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9nZXRfdXNlcik7IFwKLSsgIERZTlNZTSAoaXNs X2xvY2FsX3NwYWNlX2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfZml4X3ZhbCk7IFwK LSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X2FzdF9idWlsZF9hdG9taWNfdXBwZXJfYm91bmQp OyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X2FzdF9ub2RlKTsgXAotKyAgRFlOU1lN IChpc2xfcHJpbnRlcl9wcmludF9zdHIpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3NldF9v dXRwdXRfZm9ybWF0KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX21vZF92YWwpOyBcCi0rICBE WU5TWU0gKGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19jb21wdXRlX3NjaGVkdWxlKTsgXAotKyAg RFlOU1lNIChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfb25fZG9tYWluKTsgXAotKyAgRFlOU1lN IChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X2NvaW5jaWRlbmNlKTsgXAotKyAgRFlOU1lN IChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X3Byb3hpbWl0eSk7IFwKLSsgIERZTlNZTSAo aXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF92YWxpZGl0eSk7IFwKLSsgIERZTlNZTSAoaXNs X3NldF9nZXRfZGltX2lkKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X21heF92YWwpOyBcCi0rICBE WU5TWU0gKGlzbF9zZXRfbWluX3ZhbCk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9wYXJhbXMpOyBc Ci0rICBEWU5TWU0gKGlzbF9zcGFjZV9hbGlnbl9wYXJhbXMpOyBcCi0rICBEWU5TWU0gKGlzbF9z cGFjZV9tYXBfZnJvbV9kb21haW5fYW5kX3JhbmdlKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2Vf c2V0X3R1cGxlX25hbWUpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV93cmFwKTsgXAotKyAgRFlO U1lNIChpc2xfdW5pb25fbWFwX2Zyb21fZG9tYWluX2FuZF9yYW5nZSk7IFwKLSsgIERZTlNZTSAo aXNsX3VuaW9uX21hcF9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF91bmlvbik7 IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF91bml2ZXJzZSk7IFwKLSsgIERZTlNZTSAoaXNs X3ZhbF8yZXhwKTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2FkZF91aSk7IFwKLSsgIERZTlNZTSAo aXNsX3ZhbF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2ZyZWUpOyBcCi0rICBEWU5TWU0g KGlzbF92YWxfaW50X2Zyb21fc2kpOyBcCi0rICBEWU5TWU0gKGlzbF92YWxfaW50X2Zyb21fdWkp OyBcCi0rICBEWU5TWU0gKGlzbF92YWxfbXVsKTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX25lZyk7 IFwKLSsgIERZTlNZTSAoaXNsX3ZhbF9zdWIpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3By aW50X3VuaW9uX21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9nZXRfY3R4KTsgXAotKyAg RFlOU1lNIChpc2xfdmFsX2lzX2ludCk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9nZXRfbWF4X29w ZXJhdGlvbnMpOyBcCi0rICBEWU5TWU0gKGlzbF9jdHhfc2V0X21heF9vcGVyYXRpb25zKTsgXAot KyAgRFlOU1lNIChpc2xfY3R4X2xhc3RfZXJyb3IpOyBcCi0rICBEWU5TWU0gKGlzbF9jdHhfcmVz ZXRfb3BlcmF0aW9ucyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9jb2FsZXNjZSk7IFwKLSsgIERZ TlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfc2NoZWR1bGUpOyBcCi0rICBEWU5TWU0gKGlzbF9zZXRf c2V0X2RpbV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9jb2FsZXNjZSk7IFwKLSsg IERZTlNZTSAoaXNsX211bHRpX3ZhbF9zZXRfdmFsKTsgXAotKyAgRFlOU1lNIChpc2xfbXVsdGlf dmFsX3plcm8pOyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29l ZmZpY2llbnQpOyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF90aWxlX3NjYWxlX3RpbGVf bG9vcHMpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb3B5KTsgXAotKyAgRFlOU1lNIChp c2xfc2NoZWR1bGVfZ2V0X21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX21hcF9zY2hl ZHVsZV9ub2RlX2JvdHRvbV91cCk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfYmFu ZF9nZXRfcGVybXV0YWJsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9n ZXRfc3BhY2UpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRfdGlsZSk7IFwK LSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfY2hpbGQpOyBcCi0rICBEWU5TWU0gKGlzbF9z Y2hlZHVsZV9ub2RlX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2dldF9j aGlsZCk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfZ2V0X2N0eCk7IFwKLSsgIERZ TlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfZ2V0X3R5cGUpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hl ZHVsZV9ub2RlX25fY2hpbGRyZW4pOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfaXNfZXF1 YWwpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19jb21wdXRlX2Zsb3cpOyBc Ci0rICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19mcm9tX3NpbmspOyBcCi0rICBEWU5T WU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19zZXRfbWF5X3NvdXJjZSk7IFwKLSsgIERZTlNZTSAo aXNsX3VuaW9uX2FjY2Vzc19pbmZvX3NldF9tdXN0X3NvdXJjZSk7IFwKLSsgIERZTlNZTSAoaXNs X3VuaW9uX2FjY2Vzc19pbmZvX3NldF9zY2hlZHVsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9u X2Zsb3dfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX2Zsb3dfZ2V0X21heV9kZXBlbmRl bmNlKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fZmxvd19nZXRfbXVzdF9kZXBlbmRlbmNlKTsg XAotKyAgRFlOU1lNIChpc2xfYWZmX3Zhcl9vbl9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlzbF9t dWx0aV9hZmZfZnJvbV9hZmYpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9nZXRfY3R4KTsg XAotKyAgRFlOU1lNIChpc2xfbXVsdGlfYWZmX3NldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAo aXNsX211bHRpX2FmZl9kaW0pOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9nZXRfZG9tYWlu KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2lzX2VtcHR5KTsgXAotKyAgRFlOU1lNIChp c2xfdW5pb25fc2V0X2dldF9zcGFjZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3B3X211bHRp X2FmZl9lbXB0eSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mb3JlYWNoX3NldCk7IFwK LSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfbXVsdGlf dW5pb25fcHdfYWZmX2Zyb21fdW5pb25fcHdfbXVsdGlfYWZmKTsgXAotKyAgRFlOU1lNIChpc2xf bXVsdGlfdW5pb25fcHdfYWZmX2FwcGx5X211bHRpX2FmZik7IFwKLSsgIERZTlNZTSAoaXNsX3Nj aGVkdWxlX2luc2VydF9wYXJ0aWFsX3NjaGVkdWxlKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25f cHdfbXVsdGlfYWZmX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19tdWx0aV9hZmZfcHJvamVj dF9vdXRfbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fcHdfbXVsdGlfYWZmX2FkZF9wd19t dWx0aV9hZmYpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9mcm9tX2RvbWFpbik7IFwKLSsg IERZTlNZTSAoaXNsX3NjaGVkdWxlX3NlcXVlbmNlKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2J1 aWxkX25vZGVfZnJvbV9zY2hlZHVsZSk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9ub2RlX21hcmtf Z2V0X25vZGUpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRfbWVtYmVyX2dl dF9hc3RfbG9vcF90eXBlKTsgXAotKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX21l bWJlcl9zZXRfYXN0X2xvb3BfdHlwZSk7IFwKLSsgIERZTlNZTSAoaXNsX3ZhbF9uX2Fic19udW1f Y2h1bmtzKTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2dldF9hYnNfbnVtX2NodW5rcyk7IFwKLSsg IERZTlNZTSAoaXNsX3ZhbF9pbnRfZnJvbV9jaHVua3MpOyBcCi0rICBEWU5TWU0gKGlzbF92YWxf aXNfbmVnKTsgXAotKyAgRFlOU1lNIChpc2xfdmVyc2lvbik7IFwKLSsgIERZTlNZTSAoaXNsX29w dGlvbnNfZ2V0X29uX2Vycm9yKTsgXAotKyAgRFlOU1lNIChpc2xfY3R4X3Jlc2V0X2Vycm9yKTsK LSsKLStleHRlcm4gc3RydWN0IGlzbF9wb2ludGVyc19zX18KLSt7Ci0rICBib29sIGluaXRlZDsK LSsgIHZvaWQgKmg7Ci0rI2RlZmluZSBEWU5TWU0oeCkgX190eXBlb2YgKHgpICpwXyMjeAotKyAg RFlOU1lNUwotKyN1bmRlZiBEWU5TWU0KLSt9IGlzbF9wb2ludGVyc19fOwotKwotKyNkZWZpbmUg aXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfYWRk X2NvZWZmaWNpZW50X3NpKQotKyNkZWZpbmUgaXNsX2FmZl9mcmVlICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfYWZmX2ZyZWUpCi0rI2RlZmluZSBpc2xfYWZmX2dldF9zcGFjZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2FmZl9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfYWZmX3NldF9jb2VmZmljaWVu dF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9zZXRfY29lZmZpY2llbnRfc2kpCi0rI2Rl ZmluZSBpc2xfYWZmX3NldF9jb25zdGFudF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9z ZXRfY29uc3RhbnRfc2kpCi0rI2RlZmluZSBpc2xfYWZmX3plcm9fb25fZG9tYWluICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYWZmX3plcm9fb25fZG9tYWluKQotKyNkZWZpbmUgaXNsX2JhbmRfZnJl ZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfZnJlZSkKLSsjZGVmaW5lIGlzbF9iYW5kX2dl dF9jaGlsZHJlbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfZ2V0X2NoaWxkcmVuKQotKyNk ZWZpbmUgaXNsX2JhbmRfZ2V0X3BhcnRpYWxfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9iYW5kX2dldF9wYXJ0aWFsX3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX2JhbmRfaGFzX2NoaWxk cmVuICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9oYXNfY2hpbGRyZW4pCi0rI2RlZmluZSBp c2xfYmFuZF9saXN0X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xpc3RfZnJlZSkK LSsjZGVmaW5lIGlzbF9iYW5kX2xpc3RfZ2V0X2JhbmQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9i YW5kX2xpc3RfZ2V0X2JhbmQpCi0rI2RlZmluZSBpc2xfYmFuZF9saXN0X2dldF9jdHggKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xpc3RfZ2V0X2N0eCkKLSsjZGVmaW5lIGlzbF9iYW5kX2xp c3Rfbl9iYW5kICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X25fYmFuZCkKLSsjZGVm aW5lIGlzbF9iYW5kX25fbWVtYmVyICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9uX21lbWJl cikKLSsjZGVmaW5lIGlzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQpCi0rI2RlZmluZSBpc2xfYmFzaWNfbWFw X3Byb2plY3Rfb3V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX3Byb2plY3Rfb3V0 KQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF91bml2ZXJzZSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2Jhc2ljX21hcF91bml2ZXJzZSkKLSsjZGVmaW5lIGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmlj aWVudF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50 X3NpKQotKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfc2kpCi0rI2RlZmluZSBpc2xfY3R4 X2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X2FsbG9jKQotKyNkZWZpbmUgaXNsX2N0 eF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X2ZyZWUpCi0rI2RlZmluZSBpc2xfZXF1 YWxpdHlfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9lcXVhbGl0eV9hbGxvYykKLSsjZGVm aW5lIGlzbF9pZF9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2FsbG9jKQotKyNkZWZp bmUgaXNsX2lkX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pZF9jb3B5KQotKyNkZWZpbmUg aXNsX2lkX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pZF9mcmVlKQotKyNkZWZpbmUgaXNs X2luZXF1YWxpdHlfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pbmVxdWFsaXR5X2FsbG9j KQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9s b2NhbF9zcGFjZV9jb3B5KQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2ZyZWUgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9mcmVlKQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNl X2Zyb21fc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9mcm9tX3NwYWNl KQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf bG9jYWxfc3BhY2VfcmFuZ2UpCi0rI2RlZmluZSBpc2xfbWFwX2FkZF9jb25zdHJhaW50ICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfbWFwX2FkZF9jb25zdHJhaW50KQotKyNkZWZpbmUgaXNsX21hcF9h ZGRfZGltcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9hZGRfZGltcykKLSsjZGVmaW5lIGlz bF9tYXBfYWxpZ25fcGFyYW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2FsaWduX3BhcmFt cykKLSsjZGVmaW5lIGlzbF9tYXBfYXBwbHlfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9t YXBfYXBwbHlfcmFuZ2UpCi0rI2RlZmluZSBpc2xfbWFwX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9tYXBfY29weSkKLSsjZGVmaW5lIGlzbF9tYXBfZGltICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfbWFwX2RpbSkKLSsjZGVmaW5lIGlzbF9tYXBfZHVtcCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X21hcF9kdW1wKQotKyNkZWZpbmUgaXNsX21hcF9lcXVhdGUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9tYXBfZXF1YXRlKQotKyNkZWZpbmUgaXNsX21hcF9maXhfc2kgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9tYXBfZml4X3NpKQotKyNkZWZpbmUgaXNsX21hcF9mbGF0X3Byb2R1Y3QgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9tYXBfZmxhdF9wcm9kdWN0KQotKyNkZWZpbmUgaXNsX21hcF9mbGF0X3Jh bmdlX3Byb2R1Y3QgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0 KQotKyNkZWZpbmUgaXNsX21hcF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZyZWUp Ci0rI2RlZmluZSBpc2xfbWFwX2Zyb21fYmFzaWNfbWFwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf bWFwX2Zyb21fYmFzaWNfbWFwKQotKyNkZWZpbmUgaXNsX21hcF9mcm9tX3B3X2FmZiAoKmlzbF9w b2ludGVyc19fLnBfaXNsX21hcF9mcm9tX3B3X2FmZikKLSsjZGVmaW5lIGlzbF9tYXBfZnJvbV91 bmlvbl9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV91bmlvbl9tYXApCi0rI2Rl ZmluZSBpc2xfbWFwX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZ2V0X2N0eCkK LSsjZGVmaW5lIGlzbF9tYXBfZ2V0X3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2dl dF9zcGFjZSkKLSsjZGVmaW5lIGlzbF9tYXBfZ2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfbWFwX2dldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tYXBfaW5zZXJ0X2RpbXMgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW5zZXJ0X2RpbXMpCi0rI2RlZmluZSBpc2xfbWFwX2lu dGVyc2VjdCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pbnRlcnNlY3QpCi0rI2RlZmluZSBp c2xfbWFwX2ludGVyc2VjdF9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJz ZWN0X2RvbWFpbikKLSsjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X3JhbmdlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfbWFwX2ludGVyc2VjdF9yYW5nZSkKLSsjZGVmaW5lIGlzbF9tYXBfaXNfZW1w dHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaXNfZW1wdHkpCi0rI2RlZmluZSBpc2xfbWFw X2xleF9nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9sZXhfZ2UpCi0rI2RlZmluZSBpc2xf bWFwX2xleF9sZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9sZXhfbGUpCi0rI2RlZmluZSBp c2xfbWFwX25fb3V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX25fb3V0KQotKyNkZWZpbmUg aXNsX21hcF9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9yYW5nZSkKLSsjZGVmaW5l IGlzbF9tYXBfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX3NldF90dXBs ZV9pZCkKLSsjZGVmaW5lIGlzbF9tYXBfdW5pdmVyc2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9t YXBfdW5pdmVyc2UpCi0rI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfb25fZXJyb3IgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9vbl9lcnJvcikKLSsjZGVmaW5lIGlzbF9vcHRpb25z X3NldF9zY2hlZHVsZV9zZXJpYWxpemVfc2NjcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlv bnNfc2V0X3NjaGVkdWxlX3NlcmlhbGl6ZV9zY2NzKQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfc2V0 X3lhbWxfc3R5bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3NldF95YW1sX3N0eWxl KQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb25zdGFudF90ZXJtICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4X2NvbnN0YW50X3Rl cm0pCi0rI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4aW1pemVfYmFuZF9kZXB0 aCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heGltaXplX2Jh bmRfZGVwdGgpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfcHJpbnRlcl9mcmVlKQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfYWZmICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9hZmYpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9w cmludF9jb25zdHJhaW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9jb25z dHJhaW50KQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfbWFwICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfcHJpbnRlcl9wcmludF9tYXApCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9zZXQg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X3NldCkKLSsjZGVmaW5lIGlzbF9w cmludGVyX3RvX2ZpbGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3RvX2ZpbGUpCi0r I2RlZmluZSBpc2xfcHdfYWZmX2FkZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9hZGQp Ci0rI2RlZmluZSBpc2xfcHdfYWZmX2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZm X2FsbG9jKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf cHdfYWZmX2NvcHkpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2VxX3NldCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3B3X2FmZl9lcV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2ZyZWUgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9wd19hZmZfZnJlZSkKLSsjZGVmaW5lIGlzbF9wd19hZmZfZnJvbV9hZmYg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZnJvbV9hZmYpCi0rI2RlZmluZSBpc2xfcHdf YWZmX2dlX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9nZV9zZXQpCi0rI2RlZmlu ZSBpc2xfcHdfYWZmX2d0X3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9ndF9zZXQp Ci0rI2RlZmluZSBpc2xfcHdfYWZmX2lzX2NzdCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2Fm Zl9pc19jc3QpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2xlX3NldCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3B3X2FmZl9sZV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2x0X3NldCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3B3X2FmZl9sdF9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX211bCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tdWwpCi0rI2RlZmluZSBpc2xfcHdfYWZmX25lX3Nl dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9uZV9zZXQpCi0rI2RlZmluZSBpc2xfcHdf YWZmX25vbm5lZ19zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbm9ubmVnX3NldCkK LSsjZGVmaW5lIGlzbF9wd19hZmZfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf cHdfYWZmX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9wd19hZmZfc3ViICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfcHdfYWZmX3N1YikKLSsjZGVmaW5lIGlzbF9wd19hZmZfemVyb19zZXQgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfemVyb19zZXQpCi0rI2RlZmluZSBpc2xfc2NoZWR1 bGVfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2ZyZWUpCi0rI2RlZmluZSBp c2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1 bGVfZ2V0X2JhbmRfZm9yZXN0KQotKyNkZWZpbmUgaXNsX3NldF9hZGRfY29uc3RyYWludCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3NldF9hZGRfY29uc3RyYWludCkKLSsjZGVmaW5lIGlzbF9zZXRf YWRkX2RpbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYWRkX2RpbXMpCi0rI2RlZmluZSBp c2xfc2V0X2FwcGx5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2FwcGx5KQotKyNkZWZpbmUg aXNsX3NldF9jb2FsZXNjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9jb2FsZXNjZSkKLSsj ZGVmaW5lIGlzbF9zZXRfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9jb3B5KQotKyNk ZWZpbmUgaXNsX3NldF9kaW0gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZGltKQotKyNkZWZp bmUgaXNsX3NldF9maXhfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZml4X3NpKQotKyNk ZWZpbmUgaXNsX3NldF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ZyZWUpCi0rI2Rl ZmluZSBpc2xfc2V0X2dldF9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9nZXRfc3Bh Y2UpCi0rI2RlZmluZSBpc2xfc2V0X2dldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3NldF9nZXRfdHVwbGVfaWQpCi0rI2RlZmluZSBpc2xfc2V0X2ludGVyc2VjdCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3NldF9pbnRlcnNlY3QpCi0rI2RlZmluZSBpc2xfc2V0X2lzX2VtcHR5ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2lzX2VtcHR5KQotKyNkZWZpbmUgaXNsX3NldF9uX2Rp bSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9uX2RpbSkKLSsjZGVmaW5lIGlzbF9zZXRfbmF0 X3VuaXZlcnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X25hdF91bml2ZXJzZSkKLSsjZGVm aW5lIGlzbF9zZXRfcHJvamVjdF9vdXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfcHJvamVj dF9vdXQpCi0rI2RlZmluZSBpc2xfc2V0X3NldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3NldF9zZXRfdHVwbGVfaWQpCi0rI2RlZmluZSBpc2xfc2V0X3VuaXZlcnNlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfc2V0X3VuaXZlcnNlKQotKyNkZWZpbmUgaXNsX3NwYWNlX2FkZF9kaW1z ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfYWRkX2RpbXMpCi0rI2RlZmluZSBpc2xfc3Bh Y2VfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9hbGxvYykKLSsjZGVmaW5lIGlz bF9zcGFjZV9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfY29weSkKLSsjZGVmaW5l IGlzbF9zcGFjZV9kaW0gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kaW0pCi0rI2RlZmlu ZSBpc2xfc3BhY2VfZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZG9tYWluKQot KyNkZWZpbmUgaXNsX3NwYWNlX2ZpbmRfZGltX2J5X2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c3BhY2VfZmluZF9kaW1fYnlfaWQpCi0rI2RlZmluZSBpc2xfc3BhY2VfZnJlZSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3NwYWNlX2ZyZWUpCi0rI2RlZmluZSBpc2xfc3BhY2VfZnJvbV9kb21haW4g KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9mcm9tX2RvbWFpbikKLSsjZGVmaW5lIGlzbF9z cGFjZV9nZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9nZXRfdHVwbGVf aWQpCi0rI2RlZmluZSBpc2xfc3BhY2VfcGFyYW1zX2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfc3BhY2VfcGFyYW1zX2FsbG9jKQotKyNkZWZpbmUgaXNsX3NwYWNlX3JhbmdlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfc3BhY2VfcmFuZ2UpCi0rI2RlZmluZSBpc2xfc3BhY2Vfc2V0X2FsbG9j ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2Vfc2V0X2FsbG9jKQotKyNkZWZpbmUgaXNsX3Nw YWNlX3NldF9kaW1faWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9zZXRfZGltX2lkKQot KyNkZWZpbmUgaXNsX3NwYWNlX3NldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nw YWNlX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfYWRkX21hcCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hZGRfbWFwKQotKyNkZWZpbmUgaXNsX3VuaW9uX21h cF9hbGlnbl9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYWxpZ25fcGFy YW1zKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4gKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF91bmlvbl9tYXBfYXBwbHlfZG9tYWluKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9h cHBseV9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hcHBseV9yYW5nZSkK LSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29tcHV0ZV9mbG93ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdykKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29weSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9jb3B5KQotKyNkZWZpbmUgaXNsX3VuaW9u X21hcF9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9lbXB0eSkKLSsjZGVm aW5lIGlzbF91bmlvbl9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBf Zm9yZWFjaF9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZm9yZWFjaF9tYXAp Ci0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlv bl9tYXBfZnJlZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZnJvbV9tYXAgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9tYXApCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2dl dF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2V0X2N0eCkKLSsjZGVmaW5l IGlzbF91bmlvbl9tYXBfZ2V0X3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFw X2dldF9zcGFjZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZ2lzdF9kb21haW4gKCppc2xfcG9p bnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2lzdF9kb21haW4pCi0rI2RlZmluZSBpc2xfdW5pb25f bWFwX2dpc3RfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2lzdF9yYW5n ZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2RvbWFpbiAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWluKQotKyNkZWZpbmUgaXNsX3VuaW9u X21hcF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9pc19lbXB0eSkK LSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfc3VidHJhY3QgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91 bmlvbl9tYXBfc3VidHJhY3QpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX3VuaW9uICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX3VuaW9uKQotKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9h ZGRfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2FkZF9zZXQpCi0rI2RlZmlu ZSBpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91 bmlvbl9zZXRfY29tcHV0ZV9zY2hlZHVsZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfY29weSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9jb3B5KQotKyNkZWZpbmUgaXNsX3VuaW9u X3NldF9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9lbXB0eSkKLSsjZGVm aW5lIGlzbF91bmlvbl9zZXRfZnJvbV9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9z ZXRfZnJvbV9zZXQpCi0rI2RlZmluZSBpc2xfYWZmX2FkZF9jb25zdGFudF92YWwgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9hZmZfYWRkX2NvbnN0YW50X3ZhbCkKLSsjZGVmaW5lIGlzbF9hZmZfZ2V0 X2NvZWZmaWNpZW50X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9nZXRfY29lZmZpY2ll bnRfdmFsKQotKyNkZWZpbmUgaXNsX2FmZl9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf YWZmX2dldF9jdHgpCi0rI2RlZmluZSBpc2xfYWZmX21vZF92YWwgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9hZmZfbW9kX3ZhbCkKLSsjZGVmaW5lIGlzbF9hc3RfYnVpbGRfYXN0X2Zyb21fc2NoZWR1 bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfYXN0X2Zyb21fc2NoZWR1bGUpCi0r I2RlZmluZSBpc2xfYXN0X2J1aWxkX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVp bGRfZnJlZSkKLSsjZGVmaW5lIGlzbF9hc3RfYnVpbGRfZnJvbV9jb250ZXh0ICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X2J1aWxkX2Zyb21fY29udGV4dCkKLSsjZGVmaW5lIGlzbF9hc3RfYnVp bGRfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9nZXRfY3R4KQotKyNk ZWZpbmUgaXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9h c3RfYnVpbGRfZ2V0X3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1 bGVfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfZ2V0X3NjaGVkdWxlX3Nw YWNlKQotKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9zZXRfYmVmb3JlX2VhY2hfZm9yICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX3NldF9iZWZvcmVfZWFjaF9mb3IpCi0rI2RlZmluZSBp c2xfYXN0X2J1aWxkX3NldF9vcHRpb25zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxk X3NldF9vcHRpb25zKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2ZyZWUgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9hc3RfZXhwcl9mcmVlKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2Zyb21fdmFsICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZnJvbV92YWwpCi0rI2RlZmluZSBpc2xfYXN0 X2V4cHJfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF9jdHgpCi0r I2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4 cHJfZ2V0X2lkKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF9vcF9hcmcgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9hc3RfZXhwcl9nZXRfb3BfYXJnKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2dl dF9vcF9uX2FyZyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF9vcF9uX2FyZykK LSsjZGVmaW5lIGlzbF9hc3RfZXhwcl9nZXRfb3BfdHlwZSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2FzdF9leHByX2dldF9vcF90eXBlKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF90eXBlICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0X3R5cGUpCi0rI2RlZmluZSBpc2xfYXN0 X2V4cHJfZ2V0X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF92YWwpCi0r I2RlZmluZSBpc2xfYXN0X2V4cHJfc3ViICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJf c3ViKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Jsb2NrX2dldF9jaGlsZHJlbiAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX2FzdF9ub2RlX2Jsb2NrX2dldF9jaGlsZHJlbikKLSsjZGVmaW5lIGlzbF9h c3Rfbm9kZV9mb3JfZ2V0X2JvZHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9mb3Jf Z2V0X2JvZHkpCi0rI2RlZmluZSBpc2xfYXN0X25vZGVfZm9yX2dldF9jb25kICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9yX2dldF9jb25kKQotKyNkZWZpbmUgaXNsX2FzdF9ub2Rl X2Zvcl9nZXRfaW5jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9yX2dldF9pbmMp Ci0rI2RlZmluZSBpc2xfYXN0X25vZGVfZm9yX2dldF9pbml0ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfYXN0X25vZGVfZm9yX2dldF9pbml0KQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Zvcl9nZXRf aXRlcmF0b3IgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9mb3JfZ2V0X2l0ZXJhdG9y KQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rf bm9kZV9mcmVlKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2dldF9hbm5vdGF0aW9uICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZ2V0X2Fubm90YXRpb24pCi0rI2RlZmluZSBpc2xfYXN0 X25vZGVfZ2V0X3R5cGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9nZXRfdHlwZSkK LSsjZGVmaW5lIGlzbF9hc3Rfbm9kZV9pZl9nZXRfY29uZCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2FzdF9ub2RlX2lmX2dldF9jb25kKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2lmX2dldF9lbHNl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfaWZfZ2V0X2Vsc2UpCi0rI2RlZmluZSBp c2xfYXN0X25vZGVfaWZfZ2V0X3RoZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9p Zl9nZXRfdGhlbikKLSsjZGVmaW5lIGlzbF9hc3Rfbm9kZV9saXN0X2ZyZWUgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X2ZyZWUpCi0rI2RlZmluZSBpc2xfYXN0X25vZGVfbGlz dF9nZXRfYXN0X25vZGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X2dldF9h c3Rfbm9kZSkKLSsjZGVmaW5lIGlzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25vZGUgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25vZGUpCi0rI2RlZmluZSBpc2xfYXN0 X25vZGVfdXNlcl9nZXRfZXhwciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX3VzZXJf Z2V0X2V4cHIpCi0rI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfdmFsICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfdmFsKQotKyNk ZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3ZhbCkKLSsjZGVmaW5lIGlzbF9pZF9nZXRfdXNl ciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2dldF91c2VyKQotKyNkZWZpbmUgaXNsX2xvY2Fs X3NwYWNlX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9nZXRfY3R4 KQotKyNkZWZpbmUgaXNsX21hcF9maXhfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2Zp eF92YWwpCi0rI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfYXN0X2J1aWxkX2F0b21pY191cHBlcl9i b3VuZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X2FzdF9idWlsZF9hdG9taWNf dXBwZXJfYm91bmQpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9hc3Rfbm9kZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfYXN0X25vZGUpCi0rI2RlZmluZSBpc2xfcHJp bnRlcl9wcmludF9zdHIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X3N0cikK LSsjZGVmaW5lIGlzbF9wcmludGVyX3NldF9vdXRwdXRfZm9ybWF0ICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfcHJpbnRlcl9zZXRfb3V0cHV0X2Zvcm1hdCkKLSsjZGVmaW5lIGlzbF9wd19hZmZfbW9k X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tb2RfdmFsKQotKyNkZWZpbmUgaXNs X3NjaGVkdWxlX2NvbnN0cmFpbnRzX2NvbXB1dGVfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zY2hlZHVsZV9jb25zdHJhaW50c19jb21wdXRlX3NjaGVkdWxlKQotKyNkZWZpbmUgaXNs X3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nj aGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbikKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9jb25z dHJhaW50c19zZXRfY29pbmNpZGVuY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9j b25zdHJhaW50c19zZXRfY29pbmNpZGVuY2UpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfY29uc3Ry YWludHNfc2V0X3Byb3hpbWl0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2NvbnN0 cmFpbnRzX3NldF9wcm94aW1pdHkpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfY29uc3RyYWludHNf c2V0X3ZhbGlkaXR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfY29uc3RyYWludHNf c2V0X3ZhbGlkaXR5KQotKyNkZWZpbmUgaXNsX3NldF9nZXRfZGltX2lkICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfc2V0X2dldF9kaW1faWQpCi0rI2RlZmluZSBpc2xfc2V0X21heF92YWwgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9zZXRfbWF4X3ZhbCkKLSsjZGVmaW5lIGlzbF9zZXRfbWluX3ZhbCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9taW5fdmFsKQotKyNkZWZpbmUgaXNsX3NldF9wYXJh bXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfcGFyYW1zKQotKyNkZWZpbmUgaXNsX3NwYWNl X2FsaWduX3BhcmFtcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2FsaWduX3BhcmFtcykK LSsjZGVmaW5lIGlzbF9zcGFjZV9tYXBfZnJvbV9kb21haW5fYW5kX3JhbmdlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfc3BhY2VfbWFwX2Zyb21fZG9tYWluX2FuZF9yYW5nZSkKLSsjZGVmaW5lIGlz bF9zcGFjZV9zZXRfdHVwbGVfbmFtZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX3NldF90 dXBsZV9uYW1lKQotKyNkZWZpbmUgaXNsX3NwYWNlX3dyYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zcGFjZV93cmFwKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9mcm9tX2RvbWFpbl9hbmRfcmFu Z2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9kb21haW5fYW5kX3Jhbmdl KQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Vu aW9uX21hcF9yYW5nZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfdW5pb24gKCppc2xfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9zZXRfdW5pb24pCi0rI2RlZmluZSBpc2xfdW5pb25fc2V0X3VuaXZl cnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X3VuaXZlcnNlKQotKyNkZWZpbmUg aXNsX3ZhbF8yZXhwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsXzJleHApCi0rI2RlZmluZSBp c2xfdmFsX2FkZF91aSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9hZGRfdWkpCi0rI2RlZmlu ZSBpc2xfdmFsX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfY29weSkKLSsjZGVmaW5l IGlzbF92YWxfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9mcmVlKQotKyNkZWZpbmUg aXNsX3ZhbF9pbnRfZnJvbV9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9pbnRfZnJvbV9z aSkKLSsjZGVmaW5lIGlzbF92YWxfaW50X2Zyb21fdWkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92 YWxfaW50X2Zyb21fdWkpCi0rI2RlZmluZSBpc2xfdmFsX211bCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3ZhbF9tdWwpCi0rI2RlZmluZSBpc2xfdmFsX25lZyAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3ZhbF9uZWcpCi0rI2RlZmluZSBpc2xfdmFsX3N1YiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Zh bF9zdWIpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF91bmlvbl9tYXAgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9wcmludGVyX3ByaW50X3VuaW9uX21hcCkKLSsjZGVmaW5lIGlzbF9wd19hZmZf Z2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9nZXRfY3R4KQotKyNkZWZpbmUg aXNsX3ZhbF9pc19pbnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfaXNfaW50KQotKyNkZWZp bmUgaXNsX2N0eF9nZXRfbWF4X29wZXJhdGlvbnMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhf Z2V0X21heF9vcGVyYXRpb25zKQotKyNkZWZpbmUgaXNsX2N0eF9zZXRfbWF4X29wZXJhdGlvbnMg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfc2V0X21heF9vcGVyYXRpb25zKQotKyNkZWZpbmUg aXNsX2N0eF9sYXN0X2Vycm9yICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X2xhc3RfZXJyb3Ip Ci0rI2RlZmluZSBpc2xfY3R4X3Jlc2V0X29wZXJhdGlvbnMgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9jdHhfcmVzZXRfb3BlcmF0aW9ucykKLSsjZGVmaW5lIGlzbF9tYXBfY29hbGVzY2UgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9tYXBfY29hbGVzY2UpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmlu dF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfc2NoZWR1bGUp Ci0rI2RlZmluZSBpc2xfc2V0X3NldF9kaW1faWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRf c2V0X2RpbV9pZCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29hbGVzY2UgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9tYXBfY29hbGVzY2UpCi0rI2RlZmluZSBpc2xfbXVsdGlfdmFsX3Nl dF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tdWx0aV92YWxfc2V0X3ZhbCkKLSsjZGVmaW5l IGlzbF9tdWx0aV92YWxfemVybyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX211bHRpX3ZhbF96ZXJv KQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb2VmZmljaWVudCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb2VmZmljaWVudCkK LSsjZGVmaW5lIGlzbF9vcHRpb25zX3NldF90aWxlX3NjYWxlX3RpbGVfbG9vcHMgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF90aWxlX3NjYWxlX3RpbGVfbG9vcHMpCi0rI2RlZmlu ZSBpc2xfc2NoZWR1bGVfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2NvcHkp Ci0rI2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0X21hcCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nj aGVkdWxlX2dldF9tYXApCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfbWFwX3NjaGVkdWxlX25vZGVf Ym90dG9tX3VwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbWFwX3NjaGVkdWxlX25v ZGVfYm90dG9tX3VwKQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9nZXRfcGVybXV0 YWJsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9nZXRfcGVybXV0 YWJsZSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRfZ2V0X3NwYWNlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9iYW5kX2dldF9zcGFjZSkKLSsjZGVmaW5lIGlz bF9zY2hlZHVsZV9ub2RlX2JhbmRfdGlsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxl X25vZGVfYmFuZF90aWxlKQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfY2hpbGQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX2NoaWxkKQotKyNkZWZpbmUgaXNsX3NjaGVk dWxlX25vZGVfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfZnJlZSkK LSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2dldF9jaGlsZCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3NjaGVkdWxlX25vZGVfZ2V0X2NoaWxkKQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVf Z2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfZ2V0X2N0eCkKLSsj ZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2dldF90eXBlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2NoZWR1bGVfbm9kZV9nZXRfdHlwZSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX25fY2hp bGRyZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX25fY2hpbGRyZW4pCi0r I2RlZmluZSBpc2xfdW5pb25fbWFwX2lzX2VxdWFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5p b25fbWFwX2lzX2VxdWFsKQotKyNkZWZpbmUgaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2NvbXB1dGVf ZmxvdyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2NvbXB1dGVfZmxv dykKLSsjZGVmaW5lIGlzbF91bmlvbl9hY2Nlc3NfaW5mb19mcm9tX3NpbmsgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9hY2Nlc3NfaW5mb19mcm9tX3NpbmspCi0rI2RlZmluZSBpc2xfdW5p b25fYWNjZXNzX2luZm9fc2V0X21heV9zb3VyY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlv bl9hY2Nlc3NfaW5mb19zZXRfbWF5X3NvdXJjZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9hY2Nlc3Nf aW5mb19zZXRfbXVzdF9zb3VyY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9hY2Nlc3Nf aW5mb19zZXRfbXVzdF9zb3VyY2UpCi0rI2RlZmluZSBpc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0 X3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X3Nj aGVkdWxlKQotKyNkZWZpbmUgaXNsX3VuaW9uX2Zsb3dfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3VuaW9uX2Zsb3dfZnJlZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9mbG93X2dldF9tYXlfZGVw ZW5kZW5jZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2Zsb3dfZ2V0X21heV9kZXBlbmRl bmNlKQotKyNkZWZpbmUgaXNsX3VuaW9uX2Zsb3dfZ2V0X211c3RfZGVwZW5kZW5jZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3VuaW9uX2Zsb3dfZ2V0X211c3RfZGVwZW5kZW5jZSkKLSsjZGVmaW5l IGlzbF9hZmZfdmFyX29uX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl92YXJfb25f ZG9tYWluKQotKyNkZWZpbmUgaXNsX211bHRpX2FmZl9mcm9tX2FmZiAoKmlzbF9wb2ludGVyc19f LnBfaXNsX211bHRpX2FmZl9mcm9tX2FmZikKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9nZXRfY3R4 ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZ2V0X2N0eCkKLSsjZGVmaW5lIGlzbF9t dWx0aV9hZmZfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbXVsdGlfYWZmX3Nl dF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tdWx0aV9hZmZfZGltICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfbXVsdGlfYWZmX2RpbSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9nZXRfZG9tYWluICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZ2V0X2RvbWFpbikKLSsjZGVmaW5lIGlzbF91 bmlvbl9zZXRfaXNfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfaXNfZW1w dHkpCi0rI2RlZmluZSBpc2xfdW5pb25fc2V0X2dldF9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3VuaW9uX3NldF9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfdW5pb25fcHdfbXVsdGlfYWZm X2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fcHdfbXVsdGlfYWZmX2VtcHR5KQot KyNkZWZpbmUgaXNsX3VuaW9uX3NldF9mb3JlYWNoX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3VuaW9uX3NldF9mb3JlYWNoX3NldCkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfZnJlZSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9mcmVlKQotKyNkZWZpbmUgaXNsX211bHRpX3Vu aW9uX3B3X2FmZl9mcm9tX3VuaW9uX3B3X211bHRpX2FmZiAoKmlzbF9wb2ludGVyc19fLnBfaXNs X211bHRpX3VuaW9uX3B3X2FmZl9mcm9tX3VuaW9uX3B3X211bHRpX2FmZikKLSsjZGVmaW5lIGlz bF9tdWx0aV91bmlvbl9wd19hZmZfYXBwbHlfbXVsdGlfYWZmICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfbXVsdGlfdW5pb25fcHdfYWZmX2FwcGx5X211bHRpX2FmZikKLSsjZGVmaW5lIGlzbF9zY2hl ZHVsZV9pbnNlcnRfcGFydGlhbF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX2luc2VydF9wYXJ0aWFsX3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX3VuaW9uX3B3X211bHRp X2FmZl9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fcHdfbXVsdGlfYWZmX2ZyZWUp Ci0rI2RlZmluZSBpc2xfcHdfbXVsdGlfYWZmX3Byb2plY3Rfb3V0X21hcCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3B3X211bHRpX2FmZl9wcm9qZWN0X291dF9tYXApCi0rI2RlZmluZSBpc2xfdW5p b25fcHdfbXVsdGlfYWZmX2FkZF9wd19tdWx0aV9hZmYgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91 bmlvbl9wd19tdWx0aV9hZmZfYWRkX3B3X211bHRpX2FmZikKLSsjZGVmaW5lIGlzbF9zY2hlZHVs ZV9mcm9tX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2Zyb21fZG9tYWlu KQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX3NlcXVlbmNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2NoZWR1bGVfc2VxdWVuY2UpCi0rI2RlZmluZSBpc2xfYXN0X2J1aWxkX25vZGVfZnJvbV9zY2hl ZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9ub2RlX2Zyb21fc2NoZWR1bGUp Ci0rI2RlZmluZSBpc2xfYXN0X25vZGVfbWFya19nZXRfbm9kZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2FzdF9ub2RlX21hcmtfZ2V0X25vZGUpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9i YW5kX21lbWJlcl9nZXRfYXN0X2xvb3BfdHlwZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX25vZGVfYmFuZF9tZW1iZXJfZ2V0X2FzdF9sb29wX3R5cGUpCi0rI2RlZmluZSBpc2xfc2No ZWR1bGVfbm9kZV9iYW5kX21lbWJlcl9zZXRfYXN0X2xvb3BfdHlwZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9tZW1iZXJfc2V0X2FzdF9sb29wX3R5cGUpCi0rI2Rl ZmluZSBpc2xfdmFsX25fYWJzX251bV9jaHVua3MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxf bl9hYnNfbnVtX2NodW5rcykKLSsjZGVmaW5lIGlzbF92YWxfZ2V0X2Fic19udW1fY2h1bmtzICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2dldF9hYnNfbnVtX2NodW5rcykKLSsjZGVmaW5lIGlz bF92YWxfaW50X2Zyb21fY2h1bmtzICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2ludF9mcm9t X2NodW5rcykKLSsjZGVmaW5lIGlzbF92YWxfaXNfbmVnICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf dmFsX2lzX25lZykKLSsjZGVmaW5lIGlzbF92ZXJzaW9uICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf dmVyc2lvbikKLSsjZGVmaW5lIGlzbF9vcHRpb25zX2dldF9vbl9lcnJvciAoKmlzbF9wb2ludGVy c19fLnBfaXNsX29wdGlvbnNfZ2V0X29uX2Vycm9yKQotKyNkZWZpbmUgaXNsX2N0eF9yZXNldF9l cnJvciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2N0eF9yZXNldF9lcnJvcikKLSsKLSB0eXBlZGVm IHN0cnVjdCBwb2x5X2RyICpwb2x5X2RyX3A7Ci0gCi0gdHlwZWRlZiBzdHJ1Y3QgcG9seV9iYiAq cG9seV9iYl9wOwotQEAgLTQ0OCw1ICsxMDMzLDYgQEAgZXh0ZXJuIHRyZWUgY2FjaGVkX3NjYWxh cl9ldm9sdXRpb25faW5fcgotIGV4dGVybiB2b2lkIGRvdF9hbGxfc2VzZSAoRklMRSAqLCB2ZWM8 c2VzZV9sPiAmKTsKLSBleHRlcm4gdm9pZCBkb3Rfc2VzZSAoc2VzZV9sICYpOwotIGV4dGVybiB2 b2lkIGRvdF9jZmcgKCk7Ci0rZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9pc2xfdmVyc2lvbiAoYm9v bCk7Ci0gCi0gI2VuZGlmCi0tLS0gZ2NjL2dyYXBoaXRlLmMuamoJMjAxNS0xMS0wNCAxNDoxNToz Mi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvZ3JhcGhpdGUuYwkyMDE1LTExLTA0IDE0OjU2OjAy LjY0NTUzNjQwOSArMDEwMAotQEAgLTYwLDYgKzYwLDM1IEBAIGFsb25nIHdpdGggR0NDOyBzZWUg dGhlIGZpbGUgQ09QWUlORzMuCi0gI2luY2x1ZGUgInRyZWUtaW50by1zc2EuaCIKLSAjaW5jbHVk ZSAiZ3JhcGhpdGUuaCIKLSAKLStfX3R5cGVvZiAoaXNsX3BvaW50ZXJzX18pIGlzbF9wb2ludGVy c19fOwotKwotK3N0YXRpYyBib29sCi0raW5pdF9pc2xfcG9pbnRlcnMgKHZvaWQpCi0rewotKyAg dm9pZCAqaDsKLSsKLSsgIGlmIChpc2xfcG9pbnRlcnNfXy5pbml0ZWQpCi0rICAgIHJldHVybiBp c2xfcG9pbnRlcnNfXy5oICE9IE5VTEw7Ci0rICBoID0gZGxvcGVuICgibGliaXNsLnNvLjE1Iiwg UlRMRF9MQVpZKTsKLSsgIGlzbF9wb2ludGVyc19fLmggPSBoOwotKyAgaWYgKGggPT0gTlVMTCkK LSsgICAgcmV0dXJuIGZhbHNlOwotKyNkZWZpbmUgRFlOU1lNKHgpIFwKLSsgIGRvIFwKLSsgICAg eyBcCi0rICAgICAgdW5pb24geyBfX3R5cGVvZiAoaXNsX3BvaW50ZXJzX18ucF8jI3gpIHA7IHZv aWQgKnE7IH0gdTsgXAotKyAgICAgIHUucSA9IGRsc3ltIChoLCAjeCk7IFwKLSsgICAgICBpZiAo dS5xID09IE5VTEwpIFwKLSsJcmV0dXJuIGZhbHNlOyBcCi0rICAgICAgaXNsX3BvaW50ZXJzX18u cF8jI3ggPSB1LnA7IFwKLSsgICAgfSBcCi0rICB3aGlsZSAoMCkKLSsgIERZTlNZTVMKLSsjdW5k ZWYgRFlOU1lNCi0rICBpc2xfcG9pbnRlcnNfXy5pbml0ZWQgPSB0cnVlOwotKyAgcmV0dXJuIHRy dWU7Ci0rfQotKwotIC8qIFByaW50IGdsb2JhbCBzdGF0aXN0aWNzIHRvIEZJTEUuICAqLwotIAot IHN0YXRpYyB2b2lkCi1AQCAtMzY1LDYgKzM5NCwxNSBAQCBncmFwaGl0ZV90cmFuc2Zvcm1fbG9v cHMgKHZvaWQpCi0gICBpZiAocGFyYWxsZWxpemVkX2Z1bmN0aW9uX3AgKGNmdW4tPmRlY2wpKQot ICAgICByZXR1cm47Ci0gCi0rICBpZiAobnVtYmVyX29mX2xvb3BzIChjZnVuKSA8PSAxKQotKyAg ICByZXR1cm47Ci0rCi0rICBpZiAoIWluaXRfaXNsX3BvaW50ZXJzICgpKQotKyAgICB7Ci0rICAg ICAgc29ycnkgKCJHcmFwaGl0ZSBsb29wIG9wdGltaXphdGlvbnMgY2Fubm90IGJlIHVzZWQiKTsK LSsgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSAgIGNhbGN1bGF0ZV9kb21pbmFuY2VfaW5mbyAo Q0RJX0RPTUlOQVRPUlMpOwotIAotICAgLyogV2UgcmVseSBvbiBwb3N0LWRvbWluYXRvcnMgZHVy aW5nIG1lcmdpbmcgb2YgU0VTRSByZWdpb25zIHNvIHRob3NlCi1AQCAtNDU1LDYgKzQ5MywxNCBA QCBncmFwaGl0ZV90cmFuc2Zvcm1fbG9vcHMgKHZvaWQpCi0gICAgIH0KLSB9Ci0gCi0rY29uc3Qg Y2hhciAqCi0rZ2V0X2lzbF92ZXJzaW9uIChib29sIGZvcmNlKQotK3sKLSsgIGlmIChmb3JjZSkK LSsgICAgaW5pdF9pc2xfcG9pbnRlcnMgKCk7Ci0rICByZXR1cm4gKGlzbF9wb2ludGVyc19fLmlu aXRlZCAmJiBpc2xfdmVyc2lvbikgPyBpc2xfdmVyc2lvbiAoKSA6ICJub25lIjsKLSt9Ci0rCi0g I2Vsc2UgLyogSWYgaXNsIGlzIG5vdCBhdmFpbGFibGU6ICNpZm5kZWYgSEFWRV9pc2wuICAqLwot IAotIHN0YXRpYyB2b2lkCi0tLS0gZ2NjL3RvcGxldi5jLmpqCTIwMTctMDItMTkgMTM6MDI6MzEu MDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL3RvcGxldi5jCTIwMTctMDItMTkgMTY6NTA6MjUuNTM2 MzAxMzUwICswMTAwCi1AQCAtOTQsNiArOTQsNyBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBm aWxlIENPUFlJTkczLgotIAotICNpZmRlZiBIQVZFX2lzbAotICNpbmNsdWRlIDxpc2wvdmVyc2lv bi5oPgotK2V4dGVybiBjb25zdCBjaGFyICpnZXRfaXNsX3ZlcnNpb24gKGJvb2wpOwotICNlbmRp ZgotIAotIHN0YXRpYyB2b2lkIGdlbmVyYWxfaW5pdCAoY29uc3QgY2hhciAqLCBib29sKTsKLUBA IC02ODMsNyArNjg0LDcgQEAgcHJpbnRfdmVyc2lvbiAoRklMRSAqZmlsZSwgY29uc3QgY2hhciAq aQotICNpZm5kZWYgSEFWRV9pc2wKLSAJICAgIm5vbmUiCi0gI2Vsc2UKLS0JICAgaXNsX3ZlcnNp b24gKCkKLSsJICAgZ2V0X2lzbF92ZXJzaW9uICgqaW5kZW50ID09IDApCi0gI2VuZGlmCi0gCSAg ICk7Ci0gICBpZiAoc3RyY21wIChHQ0NfR01QX1NUUklOR0lGWV9WRVJTSU9OLCBnbXBfdmVyc2lv bikpCgpkaWZmIC0tZ2l0IGEvZ2NjMTEtaXNsLWRsMi5wYXRjaCBiL2djYzExLWlzbC1kbDIucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMTRlZDMuLjAwMDAwMDAKLS0tIGEv Z2NjMTEtaXNsLWRsMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLTIwMTEt MDQtMDQgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiB0b3BsZXYuYyAo dG9wbGV2X21haW5fYXJndik6IE5ldyB2YXJpYWJsZS4KLQkodG9wbGV2X21haW4pOiBJbml0aWFs aXplIGl0LgotCSogZ3JhcGhpdGUuYyAoaW5pdF9pc2xfcG9pbnRlcnMpOiBMb2FkIGxpYmlzbC5z by4xNSBmcm9tIGdjYydzIHByaXZhdGUKLQlkaXJlY3RvcnkuCi0KLS0tLSBnY2MvdG9wbGV2LmMu amoJMjAwOC0xMi0wOSAyMzo1OToxMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvdG9wbGV2LmMJ MjAwOS0wMS0yNyAxNDozMzo1Mi4wMDAwMDAwMDAgKzAxMDAKLUBAIC0xMTcsNiArMTE3LDggQEAg c3RhdGljIHZvaWQgY29tcGlsZV9maWxlICh2b2lkKTsKLSAvKiBUcnVlIGlmIHdlIGRvbid0IG5l ZWQgYSBiYWNrZW5kIChlLmcuIHByZXByb2Nlc3Npbmcgb25seSkuICAqLwotIHN0YXRpYyBib29s IG5vX2JhY2tlbmQ7Ci0gCi0rY29uc3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7Ci0rCi0gLyog RGVjb2RlZCBvcHRpb25zLCBhbmQgbnVtYmVyIG9mIHN1Y2ggb3B0aW9ucy4gICovCi0gc3RydWN0 IGNsX2RlY29kZWRfb3B0aW9uICpzYXZlX2RlY29kZWRfb3B0aW9uczsKLSB1bnNpZ25lZCBpbnQg c2F2ZV9kZWNvZGVkX29wdGlvbnNfY291bnQ7Ci1AQCAtMjI4Nyw2ICsyMjg5LDggQEAgdG9wbGV2 OjptYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCi0gCi0gICBleHBhbmRhcmd2ICgmYXJnYywg JmFyZ3YpOwotIAotKyAgdG9wbGV2X21haW5fYXJndiA9IENPTlNUX0NBU1QyIChjb25zdCBjaGFy ICoqLCBjaGFyICoqLCBhcmd2KTsKLSsKLSAgIC8qIEluaXRpYWxpemF0aW9uIG9mIEdDQydzIGVu dmlyb25tZW50LCBhbmQgZGlhZ25vc3RpY3MuICAqLwotICAgZ2VuZXJhbF9pbml0IChhcmd2WzBd LCBtX2luaXRfc2lnbmFscyk7Ci0gCi0tLS0gZ2NjL2dyYXBoaXRlLmMuamoJMjAxMC0xMi0wMSAx MDoyNDozMi4wMDAwMDAwMDAgLTA1MDAKLSsrKyBnY2MvZ3JhcGhpdGUuYwkyMDEwLTEyLTAxIDEx OjQ2OjA3LjgzMjExODE5MyAtMDUwMAotQEAgLTY0LDExICs2NCwzOSBAQCBfX3R5cGVvZiAoaXNs X3BvaW50ZXJzX18pIGlzbF9wb2ludGVyc19fCi0gc3RhdGljIGJvb2wKLSBpbml0X2lzbF9wb2lu dGVycyAodm9pZCkKLSB7Ci0tICB2b2lkICpoOwotKyAgdm9pZCAqaCA9IE5VTEw7Ci0rICBleHRl cm4gY29uc3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7Ci0rICBjaGFyICpidWYsICpwOwotKyAg c2l6ZV90IGxlbjsKLSAKLSAgIGlmIChpc2xfcG9pbnRlcnNfXy5pbml0ZWQpCi0gICAgIHJldHVy biBpc2xfcG9pbnRlcnNfXy5oICE9IE5VTEw7Ci0tICBoID0gZGxvcGVuICgibGliaXNsLnNvLjE1 IiwgUlRMRF9MQVpZKTsKLSsgIGxlbiA9IHByb2duYW1lIC0gdG9wbGV2X21haW5fYXJndlswXTsK LSsgIGJ1ZiA9IFhBTExPQ0FWQVIgKGNoYXIsIGxlbiArIHNpemVvZiAibGliaXNsLnNvLjE1Iik7 Ci0rICBtZW1jcHkgKGJ1ZiwgdG9wbGV2X21haW5fYXJndlswXSwgbGVuKTsKLSsgIHN0cmNweSAo YnVmICsgbGVuLCAibGliaXNsLnNvLjE1Iik7Ci0rICBsZW4gKz0gc2l6ZW9mICJsaWJpc2wuc28u MTUiOwotKyAgcCA9IHN0cnN0ciAoYnVmLCAiL2xpYmV4ZWMvIik7Ci0rICBpZiAocCAhPSBOVUxM KQotKyAgICB7Ci0rICAgICAgd2hpbGUgKDEpCi0rCXsKLSsJICBjaGFyICpxID0gc3Ryc3RyIChw ICsgOCwgIi9saWJleGVjLyIpOwotKwkgIGlmIChxID09IE5VTEwpCi0rCSAgICBicmVhazsKLSsJ ICBwID0gcTsKLSsJfQotKyAgICAgIG1lbW1vdmUgKHAgKyA0LCBwICsgOCwgbGVuIC0gKHAgKyA4 IC0gYnVmKSk7Ci0rICAgICAgaCA9IGRsb3BlbiAoYnVmLCBSVExEX0xBWlkpOwotKyAgICAgIGlm IChoID09IE5VTEwpCi0rCXsKLSsJICBsZW4gPSBwcm9nbmFtZSAtIHRvcGxldl9tYWluX2FyZ3Zb MF07Ci0rCSAgbWVtY3B5IChidWYsIHRvcGxldl9tYWluX2FyZ3ZbMF0sIGxlbik7Ci0rCSAgc3Ry Y3B5IChidWYgKyBsZW4sICJsaWJpc2wuc28uMTUiKTsKLSsJfQotKyAgICB9Ci0rICBpZiAoaCA9 PSBOVUxMKQotKyAgICBoID0gZGxvcGVuIChidWYsIFJUTERfTEFaWSk7Ci0gICBpc2xfcG9pbnRl cnNfXy5oID0gaDsKLSAgIGlmIChoID09IE5VTEwpCi0gICAgIHJldHVybiBmYWxzZTsKCmRpZmYg LS1naXQgYS9nY2MxMS1saWJnY2MtbGluay5wYXRjaCBiL2djYzExLWxpYmdjYy1saW5rLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTUxOTM0Li4wMDAwMDAwCi0tLSBhL2dj YzExLWxpYmdjYy1saW5rLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotbGli Z2NjOiBIb25vciBMREZMQUdTX0ZPUl9UQVJHRVQgd2hlbiBsaW5raW5nIGxpYmdjY19zCi0KLVdo ZW4gYnVpbGRpbmcgZ2NjIHdpdGggc29tZSBzcGVjaWZpYyBMREZMQUdTX0ZPUl9UQVJHRVQsIGUu Zy4KLUxERkxBR1NfRk9SX1RBUkdFVD0tV2wsLXoscmVscm8sLXosbm93Ci10aG9zZSBmbGFncyBw cm9wYWdhdGUgaW5mbyBsaW5raW5nIG9mIHRhcmdldCBzaGFyZWQgbGlicmFyaWVzLAotZS5nLiBs aWJ7dWJzYW4sdHNhbixzdGRjKysscXVhZG1hdGgsb2JqYyxsc2FuLGl0bSxncGhvYm9zLGdkcnVu dGltZSxnb21wLGdvLGdmb3J0cmFuLGF0b21pYyxhc2FufS5zby4qCi1idXQgdGhlcmUgaXMgb25l IGltcG9ydGFudCBleGNlcHRpb24sIGxpYmdjY19zLnNvLiogbGlua2luZyBpZ25vcmVzIGl0Lgot Ci1UaGUgZm9sbG93aW5nIHBhdGNoIGZpeGVzIHRoYXQuCi0KLUJvb3RzdHJhcHBlZC9yZWd0ZXN0 ZWQgb24geDg2XzY0LWxpbnV4IHdpdGggTERGTEFHU19GT1JfVEFSR0VUPS1XbCwteixyZWxybywt eixub3cKLWFuZCB2ZXJpZmllZCB0aGF0IGxpYmdjY19zLnNvLiogaXMgQklORF9OT1cgd2hlbiBp dCBwcmV2aW91c2x5IHdhc24ndCwgYW5kCi13aXRob3V0IGFueSBMREZMQUdTX0ZPUl9UQVJHRVQg b24geDg2XzY0LWxpbnV4IGFuZCBpNjg2LWxpbnV4LgotVGhlcmUgb24geDg2XzY0LWxpbnV4IEkn dmUgdmVyaWZpZWQgdGhhdCB0aGUgbGliZ2NjX3Muc28uMSBsaW5raW5nIGNvbW1hbmQKLWxpbmUg Zm9yIC1tNjQgaXMgaWRlbnRpY2FsIGV4Y2VwdCBmb3Igd2hpdGVzcGFjZSB0byBvbmUgd2l0aG91 dCB0aGUgcGF0Y2gsCi1hbmQgZm9yIC1tMzIgbXVsdGlsaWIgJChMREZMQUdTKSBhY3R1YWxseSBk byBzdXBwbHkgdGhlcmUgYW4gZXh0cmEgLW0zMgotdGhhdCBhbHNvIHJlcGVhdHMgbGF0ZXIgaW4g dGhlIEBtdWx0aWxpYl9mbGFnc0AsIHdoaWNoIHNob3VsZCBiZSBoYXJtbGVzcy4KLQotMjAyMS0w OC0wNCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIGNvbmZpZy90LXNs aWJnY2MgKFNITElCX0xJTkspOiBBZGQgJChMREZMQUdTKS4KLQkqIGNvbmZpZy90LXNsaWJnY2Mt ZGFyd2luIChTSExJQl9MSU5LKTogTGlrZXdpc2UuCi0JKiBjb25maWcvdC1zbGliZ2NjLXZtcyAo U0hMSUJfTElOSyk6IExpa2V3aXNlLgotCi0tLS0gbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MKLSsr KyBsaWJnY2MvY29uZmlnL3Qtc2xpYmdjYwotQEAgLTMyLDcgKzMyLDcgQEAgU0hMSUJfSU5TVEFM TF9TT0xJTksgPSAkKExOX1MpICQoU0hMSUJfU09OQU1FKSBcCi0gCSQoREVTVERJUikkKHNsaWJk aXIpJChTSExJQl9TTElCRElSX1FVQUwpLyQoU0hMSUJfU09MSU5LKQotIAotIFNITElCX0xJTksg PSAkKENDKSAkKExJQkdDQzJfQ0ZMQUdTKSAtc2hhcmVkIC1ub2RlZmF1bHRsaWJzIFwKLS0JJChT SExJQl9MREZMQUdTKSBcCi0rCSQoU0hMSUJfTERGTEFHUykgJChMREZMQUdTKSBcCi0gCS1vICQo U0hMSUJfRElSKS8kKFNITElCX1NPTkFNRSkudG1wIEBtdWx0aWxpYl9mbGFnc0AgXAotIAkkKFNI TElCX09CSlMpICQoU0hMSUJfTEMpICYmIFwKLSAJcm0gLWYgJChTSExJQl9ESVIpLyQoU0hMSUJf U09MSU5LKSAmJiBcCi0tLS0gbGliZ2NjL2NvbmZpZy90LXNsaWJnY2MtZGFyd2luCi0rKysgbGli Z2NjL2NvbmZpZy90LXNsaWJnY2MtZGFyd2luCi1AQCAtMTUsNyArMTUsNyBAQCBTSExJQl9MQyA9 IC1sYwotICMgTm90ZSB0aGF0IHRoaXMgdmVyc2lvbiBpcyB1c2VkIGZvciB0aGUgbG9hZGVyLCBu b3QgdGhlIGxpbmtlcjsgdGhlIGxpbmtlcgotICMgdXNlcyB0aGUgc3R1YiB2ZXJzaW9ucyBuYW1l ZCBieSB0aGUgdmVyc2lvbmVkIG1lbWJlcnMgb2YgJChJTlNUQUxMX0ZJTEVTKS4KLSAKLS1TSExJ Ql9MSU5LID0gJChDQykgJChMSUJHQ0MyX0NGTEFHUykgLWR5bmFtaWNsaWIgLW5vZGVmYXVsdGxp YnMgXAotK1NITElCX0xJTksgPSAkKENDKSAkKExJQkdDQzJfQ0ZMQUdTKSAkKExERkxBR1MpIC1k eW5hbWljbGliIC1ub2RlZmF1bHRsaWJzIFwKLSAJLWluc3RhbGxfbmFtZSBAc2hsaWJfc2xpYmRp ckAvJChTSExJQl9JTlNUQUxMX05BTUUpIFwKLSAJLXNpbmdsZV9tb2R1bGUgLW8gJChTSExJQl9E SVIpLyQoU0hMSUJfU09OQU1FKSBcCi0gCS1XbCwtZXhwb3J0ZWRfc3ltYm9sc19saXN0LCQoU0hM SUJfTUFQKSBcCi0tLS0gbGliZ2NjL2NvbmZpZy90LXNsaWJnY2Mtdm1zCi0rKysgbGliZ2NjL2Nv bmZpZy90LXNsaWJnY2Mtdm1zCi1AQCAtMjIsNyArMjIsNyBAQCBTSExJQl9MSU5LID0gXAotICAg b2JqZHVtcCAtLXN5bXMgJChTSExJQl9PQkpTKSB8IFwKLSAgICQoU0hMSUJfU1lNVkVDKSA+PiBT WU1WRUNfJCQkJC5vcHQgOyBcCi0gICBlY2hvICJjYXNlX3NlbnNpdGl2ZT1OTyIgPj4gU1lNVkVD XyQkJCQub3B0OyBcCi0tICAkKENDKSAkKExJQkdDQzJfQ0ZMQUdTKSAtbm9kZWZhdWx0bGlicyBc Ci0rICAkKENDKSAkKExJQkdDQzJfQ0ZMQUdTKSAkKExERkxBR1MpIC1ub2RlZmF1bHRsaWJzIFwK LSAgIC1zaGFyZWQgLS1mb3ItbGlua2VyPS9ub2luZm9ybSAtbyAkKFNITElCX05BTUUpICQoU0hM SUJfT0JKUykgXAotICAgLS1mb3ItbGlua2VyPVNZTVZFQ18kJCQkLm9wdCBcCi0gICAtLWZvci1s aW5rZXI9Z3NtYXRjaD1lcXVhbCwkKHNobGliX3ZlcnNpb24pCgpkaWZmIC0tZ2l0IGEvZ2NjMTEt bGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaCBiL2djYzExLWxpYmdvbXAtb21wX2gtbXVsdGls aWIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQwZTk4ZDEuLjAwMDAwMDAK LS0tIGEvZ2NjMTEtbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE3ICswLDAgQEAKLTIwMDgtMDYtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQu Y29tPgotCi0JKiBvbXAuaC5pbiAob21wX25lc3RfbG9ja190KTogRml4IHVwIGZvciBMaW51eCBt dWx0aWxpYnMuCi0KLS0tLSBsaWJnb21wL29tcC5oLmluLmpqCTIwMDgtMDYtMDkgMTM6MzQ6MDUu MDAwMDAwMDAwICswMjAwCi0rKysgbGliZ29tcC9vbXAuaC5pbgkyMDA4LTA2LTA5IDEzOjM0OjQ4 LjAwMDAwMDAwMCArMDIwMAotQEAgLTQyLDggKzQyLDggQEAgdHlwZWRlZiBzdHJ1Y3QKLSAKLSB0 eXBlZGVmIHN0cnVjdAotIHsKLS0gIHVuc2lnbmVkIGNoYXIgX3hbQE9NUF9ORVNUX0xPQ0tfU0la RUBdIAotLSAgICBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyhAT01QX05FU1RfTE9DS19BTElH TkApKSk7Ci0rICB1bnNpZ25lZCBjaGFyIF94WzggKyBzaXplb2YgKHZvaWQgKildIAotKyAgICBf X2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXyhzaXplb2YgKHZvaWQgKikpKSk7Ci0gfSBvbXBfbmVz dF9sb2NrX3Q7Ci0gI2VuZGlmCi0gCgpkaWZmIC0tZ2l0IGEvZ2NjMTEtbGlic3RkYysrLWRvY3Mu cGF0Y2ggYi9nY2MxMS1saWJzdGRjKystZG9jcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNGI0ZjlmOC4uMDAwMDAwMAotLS0gYS9nY2MxMS1saWJzdGRjKystZG9jcy5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLS0tLSBsaWJzdGRjKystdjMvZG9jL2h0 bWwvaW5kZXguaHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjI4MjgyOTAxMCArMDEwMAotKysr IGxpYnN0ZGMrKy12My9kb2MvaHRtbC9pbmRleC5odG1sCTIwMTEtMDEtMDQgMTg6MDY6MjguOTk5 ODUxMTQ1ICswMTAwCi1AQCAtNSw2ICs1LDggQEAKLSAgICAgICA8YSBjbGFzcz0ibGluayIgaHJl Zj0iaHR0cHM6Ly93d3cuZnNmLm9yZyIgdGFyZ2V0PSJfdG9wIj5GU0YKLSAgICAgICA8L2E+Ci0g ICAgIDwvcD48cD4KLSsgICAgICBSZWxlYXNlIDExLjIuMQotKyAgICA8L3A+PHA+Ci0gICAgICAg UGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0 aGlzCi0gICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1 bWVudGF0aW9uCi0gICAgICAgTGljZW5zZSwgVmVyc2lvbiAxLjIgb3IgYW55IGxhdGVyIHZlcnNp b24gcHVibGlzaGVkIGJ5IHRoZQotLS0tIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9hcGkuaHRtbC5q agkyMDExLTAxLTAzIDEyOjUzOjIxLjAwMDAwMDAwMCArMDEwMAotKysrIGxpYnN0ZGMrKy12My9k b2MvaHRtbC9hcGkuaHRtbAkyMDExLTAxLTA0IDE4OjEyOjAxLjY3Mjc1Nzc4NCArMDEwMAotQEAg LTIwLDcgKzIwLDkgQEAKLSAgIG1lbWJlciBmdW5jdGlvbnMgZm9yIHRoZSBsaWJyYXJ5IGNsYXNz ZXMsIGZpbmRpbmcgb3V0IHdoYXQgaXMgaW4gYQotICAgcGFydGljdWxhciBpbmNsdWRlIGZpbGUs IGxvb2tpbmcgYXQgaW5oZXJpdGFuY2UgZGlhZ3JhbXMsIGV0Yy4KLSA8L3A+PHA+Ci0tICBUaGUg QVBJIGRvY3VtZW50YXRpb24sIHJlbmRlcmVkIGludG8gSFRNTCwgY2FuIGJlIHZpZXdlZCBvbmxp bmUKLSsgIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBjYW4gYmUg dmlld2VkIGxvY2FsbHkKLSsgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJhcGkvaW5kZXguaHRtbCIg dGFyZ2V0PSJfdG9wIj5mb3IgdGhlIDExLjIuMSByZWxlYXNlPC9hPiwKLSsgIG9ubGluZQotICAg PGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzLyIgdGFy Z2V0PSJfdG9wIj5mb3IgZWFjaCBHQ0MgcmVsZWFzZTwvYT4KLSAgIGFuZAotICAgPGEgY2xhc3M9 ImxpbmsiIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2xpYnN0ZGMrKy9sYXRl c3QtZG94eWdlbi9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPgoKZGlmZiAtLWdpdCBhL2djYzEx LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2ggYi9nY2MxMS1saWJ0b29sLW5vLXJwYXRoLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjZjNjYxLi4wMDAwMDAwCi0tLSBhL2djYzEx LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1s aWJ0b29sIHN1Y2tzLgotLS0tIGx0bWFpbi5zaC5qagkyMDA3LTEyLTA3IDE0OjUzOjIxLjAwMDAw MDAwMCArMDEwMAotKysrIGx0bWFpbi5zaAkyMDA4LTA5LTA1IDIxOjUxOjQ4LjAwMDAwMDAwMCAr MDIwMAotQEAgLTUzOTQsNiArNTM5NCw3IEBAIEVPRgotIAkgIHJwYXRoPSIkZmluYWxpemVfcnBh dGgiCi0gCSAgdGVzdCAiJG1vZGUiICE9IHJlbGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgk cnBhdGgiCi0gCSAgZm9yIGxpYmRpciBpbiAkcnBhdGg7IGRvCi0rCSAgICBjYXNlICIkbGliZGly IiBpbiAvdXNyL2xpYnwvdXNyL2xpYjY0fC91c3IvbGliLy4uL2xpYnwvdXNyL2xpYi8uLi9saWI2 NCkgY29udGludWU7OyBlc2FjCi0gCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2Zs YWdfc3BlYyI7IHRoZW4KLSAJICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBh cmF0b3IiOyB0aGVuCi0gCQlpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KLUBA IC02MDcxLDYgKzYwNzIsNyBAQCBFT0YKLSAgICAgICBycGF0aD0KLSAgICAgICBoYXJkY29kZV9s aWJkaXJzPQotICAgICAgIGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGggJGZpbmFsaXplX3Jw YXRoOyBkbwotKwljYXNlICIkbGliZGlyIiBpbiAvdXNyL2xpYnwvdXNyL2xpYjY0fC91c3IvbGli Ly4uL2xpYnwvdXNyL2xpYi8uLi9saWI2NCkgY29udGludWU7OyBlc2FjCi0gCWlmIHRlc3QgLW4g IiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgotIAkgIGlmIHRlc3QgLW4gIiRoYXJk Y29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgotIAkgICAgaWYgdGVzdCAteiAiJGhhcmRjb2Rl X2xpYmRpcnMiOyB0aGVuCi1AQCAtNjEyMCw2ICs2MTIyLDcgQEAgRU9GCi0gICAgICAgcnBhdGg9 Ci0gICAgICAgaGFyZGNvZGVfbGliZGlycz0KLSAgICAgICBmb3IgbGliZGlyIGluICRmaW5hbGl6 ZV9ycGF0aDsgZG8KLSsJY2FzZSAiJGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNy L2xpYi8uLi9saWJ8L3Vzci9saWIvLi4vbGliNjQpIGNvbnRpbnVlOzsgZXNhYwotIAlpZiB0ZXN0 IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KLSAJICBpZiB0ZXN0IC1uICIk aGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KLSAJICAgIGlmIHRlc3QgLXogIiRoYXJk Y29kZV9saWJkaXJzIjsgdGhlbgoKZGlmZiAtLWdpdCBhL2djYzExLW5vLWFkZC1uZWVkZWQucGF0 Y2ggYi9nY2MxMS1uby1hZGQtbmVlZGVkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCA1ODE3Mjk5Li4wMDAwMDAwCi0tLSBhL2djYzExLW5vLWFkZC1uZWVkZWQucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0yMDEwLTAyLTA4ICBSb2xhbmQgTWNHcmF0aCAg PHJvbGFuZEByZWRoYXQuY29tPgotCi0JKiBjb25maWcvZ251LXVzZXIuaCAoTElOS19FSF9TUEVD KTogUGFzcyAtLW5vLWFkZC1uZWVkZWQgdG8gdGhlIGxpbmtlci4KLQkqIGNvbmZpZy9hbHBoYS9l bGYuaCAoTElOS19FSF9TUEVDKTogTGlrZXdpc2UuCi0JKiBjb25maWcvaWE2NC9saW51eC5oIChM SU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KLQotLS0tIGdjYy9jb25maWcvYWxwaGEvZWxmLmguamoJ MjAxMS0wMS0wMyAxMjo1MjozMS4xMTgwNTY3NjQgKzAxMDAKLSsrKyBnY2MvY29uZmlnL2FscGhh L2VsZi5oCTIwMTEtMDEtMDQgMTg6MTQ6MTAuOTMxODc0MTYwICswMTAwCi1AQCAtMTY4LDUgKzE2 OCw1IEBAIGV4dGVybiBpbnQgYWxwaGFfdGhpc19ncGRpc3Bfc2VxdWVuY2VfbnUKLSAgICBJIGlt YWdpbmUgdGhhdCBvdGhlciBzeXN0ZW1zIHdpbGwgY2F0Y2ggdXAuICBJbiB0aGUgbWVhbnRpbWUs IGl0Ci0gICAgZG9lc24ndCBoYXJtIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBkYXRhIGV4aXN0cyB0 byBiZSB1c2VkIGxhdGVyLiAgKi8KLSAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikK LS0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljfHN0YXRpYy1waWU6LS1laC1mcmFtZS1o ZHJ9ICIKLSsjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVkICV7IXN0YXRpY3xz dGF0aWMtcGllOi0tZWgtZnJhbWUtaGRyfSAiCi0gI2VuZGlmCi0tLS0gZ2NjL2NvbmZpZy9pYTY0 L2xpbnV4LmguamoJMjAxMS0wMS0wMyAxMzowMjoxMS40NjI5OTQ1MjIgKzAxMDAKLSsrKyBnY2Mv Y29uZmlnL2lhNjQvbGludXguaAkyMDExLTAxLTA0IDE4OjE0OjEwLjkzMTg3NDE2MCArMDEwMAot QEAgLTc2LDcgKzc2LDcgQEAgZG8gewkJCQkJCVwKLSAgICBTaWduYWxpemUgdGhhdCBiZWNhdXNl IHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVkIGFsbCBDIHNoYXJlZCBsaWJzCi0gICAg bGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCi0gI3VuZGVmIExJTktfRUhfU1BFQwotLSNkZWZp bmUgTElOS19FSF9TUEVDICIiCi0rI2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRl ZCAiCi0gCi0gI3VuZGVmIFRBUkdFVF9JTklUX0xJQkZVTkNTCi0gI2RlZmluZSBUQVJHRVRfSU5J VF9MSUJGVU5DUyBpYTY0X3NvZnRfZnBfaW5pdF9saWJmdW5jcwotLS0tIGdjYy9jb25maWcvZ251 LXVzZXIuaC5qagkyMDExLTAxLTAzIDEyOjUzOjAzLjczOTA1NzI5OSArMDEwMAotKysrIGdjYy9j b25maWcvZ251LXVzZXIuaAkyMDExLTAxLTA0IDE4OjE0OjEwLjkzMjgxNDg4NCArMDEwMAotQEAg LTEwNiw3ICsxMDYsNyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJ Ci0gI2RlZmluZSBMSUJfU1BFQyBHTlVfVVNFUl9UQVJHRVRfTElCX1NQRUMKLSAKLSAjaWYgZGVm aW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikKLS0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3Rh dGljfHN0YXRpYy1waWU6LS1laC1mcmFtZS1oZHJ9ICIKLSsjZGVmaW5lIExJTktfRUhfU1BFQyAi LS1uby1hZGQtbmVlZGVkICV7IXN0YXRpY3xzdGF0aWMtcGllOi0tZWgtZnJhbWUtaGRyfSAiCi0g I2VuZGlmCi0gCi0gI2RlZmluZSBHTlVfVVNFUl9UQVJHRVRfTElOS19HQ0NfQ19TRVFVRU5DRV9T UEVDIFwKCmRpZmYgLS1naXQgYS9nY2MxMS1wcjEwMTc4Ni5wYXRjaCBiL2djYzExLXByMTAxNzg2 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjdjMTBhLi4wMDAwMDAwCi0t LSBhL2djYzExLXByMTAxNzg2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAot YysrOiBPcHRpbWl6ZSBjb25zdGluaXQgdGhyZWFkX2xvY2FsIHZhcnMgW1BSMTAxNzg2XQotCi1U aGUgcGFwZXIgdGhhdCBpbnRyb2R1Y2VkIGNvbnN0aW5pdCBtZW50aW9uZWQgaW4gcmF0aW9uYWxl IHRoYXQgY29uc3Rpbml0Ci1jYW4gYmUgdXNlZCBvbiBleHRlcm5zIGFzIHdlbGwgYW5kIHRoYXQg aXQgY2FuIGJlIHVzZWQgdG8gYXZvaWQgdGhlCi10aHJlYWRfbG9jYWwgaW5pdGlhbGl6YXRpb24g d3JhcHBlcnMsIGJlY2F1c2UgdGhlIHN0YW5kYXJkIHJlcXVpcmVzIHRoYXQKLWlmIGNvbnN0aW5p dCBpcyBwcmVzZW50IG9uIGFueSBkZWNsYXJhdGlvbiwgaXQgaXMgYWxzbyBwcmVzZW50IG9uIHRo ZQotaW5pdGlhbGl6YXRpb24gZGVjbGFyYXRpb24sIGV2ZW4gaWYgaXQgaXMgaW4gc29tZSBvdGhl ciBUVSBldGMuCi0KLVRoZXJlIGlzIGEgc21hbGwgcHJvYmxlbSB0aG91Z2gsIHdlIHVzZSB0aGUg dGxzIHdyYXBwZXJzIG5vdCBqdXN0IGlmCi10aGUgdGhyZWFkX2xvY2FsIHZhcmlhYmxlIG5lZWRz IGR5bmFtaWMgaW5pdGlhbGl6YXRpb24sIGJ1dCBhbHNvIHdoZW4KLWl0IGhhcyBzdGF0aWMgaW5p dGlhbGl6YXRpb24sIGJ1dCBub24tdHJpdmlhbCBkZXN0cnVjdG9yLCBhcyB0aGUKLSJkeW5hbWlj IGluaXRpYWxpemF0aW9uIiBpbiB0aGF0IGNhc2UgbmVlZHMgdG8gcmVnaXN0ZXIgdGhlIGRlc3Ry dWN0b3IuCi0KLVNvLCB0aGUgZm9sbG93aW5nIHBhdGNoIG9wdGltaXplcyBjb25zdGluaXQgdGhy ZWFkX2xvY2FsIHZhcnMgb25seQotaWYgd2UgY2FuIHByb3ZlIHRoZXkgd2lsbCBub3QgaGF2ZSBu b24tdHJpdmlhbCBkZXN0cnVjdG9ycy4gIFRoYXQgaW5jbHVkZXMKLXRoZSBjYXNlIHdoZXJlIHdl IGhhdmUgaW5jb21wbGV0ZSB0eXBlIHdoZXJlIHdlIGRvbid0IGtub3cgYW5kIG5lZWQgdG8KLWNv bnNlcnZhdGl2ZWx5IGFzc3VtZSB0aGUgdHlwZSB3aWxsIGhhdmUgbm9uLXRyaXZpYWwgZGVzdHJ1 Y3RvciBhdCB0aGUKLWluaXRpYWxpemluZyBkZWNsYXJhdGlvbiBzaWRlLgotCi0yMDIxLTA4LTEx ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCVBSIGMrKy8xMDE3ODYKLQkq IGRlY2wyLmMgKHZhcl9kZWZpbmVkX3dpdGhvdXRfZHluYW1pY19pbml0KTogUmV0dXJuIHRydWUg Zm9yCi0JREVDTF9ERUNMQVJFRF9DT05TVElOSVRfUCB3aXRoIGNvbXBsZXRlIHR5cGUgYW5kIHRy aXZpYWwgZGVzdHJ1Y3Rvci4KLQotCSogZysrLmRnL2NwcDJhL2NvbnN0aW5pdDE2LkM6IE5ldyB0 ZXN0LgotCi0tLS0gZ2NjL2NwL2RlY2wyLmMKLSsrKyBnY2MvY3AvZGVjbDIuYwotQEAgLTM0NDcs NiArMzQ0NywxMiBAQCBzZXRfZ3VhcmQgKHRyZWUgZ3VhcmQpCi0gc3RhdGljIGJvb2wKLSB2YXJf ZGVmaW5lZF93aXRob3V0X2R5bmFtaWNfaW5pdCAodHJlZSB2YXIpCi0gewotKyAgLyogY29uc3Rp bml0IHZhcnMgYXJlIGd1YXJhbnRlZWQgdG8gbm90IGhhdmUgZHluYW1pYyBpbml0aWFsaXplciwK LSsgICAgIGJ1dCBzdGlsbCByZWdpc3RlcmluZyB0aGUgZGVzdHJ1Y3RvciBjb3VudHMgYXMgZHlu YW1pYyBpbml0aWFsaXphdGlvbi4gICovCi0rICBpZiAoREVDTF9ERUNMQVJFRF9DT05TVElOSVRf UCAodmFyKQotKyAgICAgICYmIENPTVBMRVRFX1RZUEVfUCAoVFJFRV9UWVBFICh2YXIpKQotKyAg ICAgICYmICFUWVBFX0hBU19OT05UUklWSUFMX0RFU1RSVUNUT1IgKFRSRUVfVFlQRSAodmFyKSkp Ci0rICAgIHJldHVybiB0cnVlOwotICAgLyogSWYgaXQncyBkZWZpbmVkIGluIGFub3RoZXIgVFUs IHdlIGNhbid0IHRlbGwuICAqLwotICAgaWYgKERFQ0xfRVhURVJOQUwgKHZhcikpCi0gICAgIHJl dHVybiBmYWxzZTsKLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9jcHAyYS9jb25zdGluaXQxNi5D Ci0rKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvY3BwMmEvY29uc3Rpbml0MTYuQwotQEAgLTAsMCAr MSwyMSBAQAotKy8vIFBSIGMrKy8xMDE3ODYKLSsvLyB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQg YysrMjAgfSB9Ci0rLy8geyBkZy1hZGQtb3B0aW9ucyB0bHMgfQotKy8vIHsgZGctcmVxdWlyZS1h bGlhcyAiIiB9Ci0rLy8geyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgdGxzX3J1bnRpbWUg fQotKy8vIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgIl9aVEgxN215dGhyZWFkbG9j YWx2YXIxIiB9IH0KLSsvLyB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgIl9aVEgxN215dGhy ZWFkbG9jYWx2YXIyIiB9IH0KLSsvLyB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJf WlRIMTdteXRocmVhZGxvY2FsdmFyMyIgfSB9Ci0rLy8geyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyICJfWlRIMTdteXRocmVhZGxvY2FsdmFyNCIgfSB9Ci0rCi0rZXh0ZXJuIHRocmVhZF9sb2Nh bCBjb25zdGluaXQgaW50IG15dGhyZWFkbG9jYWx2YXIxOwotK3N0cnVjdCBTOwotK2V4dGVybiB0 aHJlYWRfbG9jYWwgY29uc3Rpbml0IFMgbXl0aHJlYWRsb2NhbHZhcjI7Ci0rc3RydWN0IFQgeyBp bnQgdDsgfTsKLStleHRlcm4gdGhyZWFkX2xvY2FsIGNvbnN0aW5pdCBUIG15dGhyZWFkbG9jYWx2 YXIzOwotK3N0cnVjdCBVIHsgaW50IHU7IH5VICgpOyB9OwotK2V4dGVybiB0aHJlYWRfbG9jYWwg Y29uc3Rpbml0IFUgbXl0aHJlYWRsb2NhbHZhcjQ7Ci0raW50IGZvbyAoKSB7IHJldHVybiBteXRo cmVhZGxvY2FsdmFyMTsgfQotK1MgKmJhciAoKSB7IHJldHVybiAmbXl0aHJlYWRsb2NhbHZhcjI7 IH0KLStUICpiYXogKCkgeyByZXR1cm4gJm15dGhyZWFkbG9jYWx2YXIzOyB9Ci0rVSAqcXV4ICgp IHsgcmV0dXJuICZteXRocmVhZGxvY2FsdmFyNDsgfQoKZGlmZiAtLWdpdCBhL2djYzExLXByOTkz NDEtcmV2ZXJ0LnBhdGNoIGIvZ2NjMTEtcHI5OTM0MS1yZXZlcnQucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGM3NDE5Y2IuLjAwMDAwMDAKLS0tIGEvZ2NjMTEtcHI5OTM0MS1y ZXZlcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNzYgKzAsMCBAQAotbGlic3RkYysrOiBS ZW1vdmUgc3ltYm9scyBmb3IgbmV3IHN0ZDo6Y2FsbF9vbmNlIGltcGxlbWVudGF0aW9uIFtQUiA5 OTM0MV0KLSAgICAKLVRoaXMgcmVtb3ZlcyB0aGUgbmV3IHN5bWJvbHMgYWRkZWQgZm9yIHRoZSBu ZXcgZnV0ZXgtYmFzZWQKLXN0ZDo6Y2FsbF9vbmNlIGltcGxlbWVudGF0aW9uLiBUaGVzZSBzeW1i b2xzIHdlcmUgbmV3IG9uIHRydW5rLCBzbyBub3QKLWluIGFueSByZWxlYXNlZCB2ZXJzaW9uLiBI b3dldmVyLCB0aGV5IGFyZSBhbHJlYWR5IHByZXNlbnQgaW4gc29tZQotYmV0YSBkaXN0cm8gcmVs ZWFzZXMgKEZlZG9yYSBMaW51eCAzNCkgYW5kIGluIEZlZG9yYSBMaW51eCByYXdoaWRlLiBUaGlz Ci1jaGFuZ2UgY2FuIGJlIGxvY2FsbHkgcmV2ZXJ0ZWQgYnkgZGlzdHJvcyB0aGF0IG5lZWQgdG8g a2VlcCB0aGUgc3ltYm9scwotcHJlc2VudCB1bnRpbCBhZmZlY3RlZCBwYWNrYWdlcyBoYXZlIGJl ZW4gcmVidWlsdC4KLQotUmV2ZXJ0OgotMjAyMS0wMy0xMiAgSm9uYXRoYW4gV2FrZWx5ICA8andh a2VseUByZWRoYXQuY29tPgotICAgIAotCVBSIGxpYnN0ZGMrKy85OTM0MQotCSogY29uZmlnL2Fi aS9wb3N0L2FhcmNoNjQtbGludXgtZ251L2Jhc2VsaW5lX3N5bWJvbHMudHh0OiBSZW1vdmUKLQlz dGQ6Om9uY2VfZmxhZyBzeW1ib2xzLgotCSogY29uZmlnL2FiaS9wb3N0L2lhNjQtbGludXgtZ251 L2Jhc2VsaW5lX3N5bWJvbHMudHh0OiBMaWtld2lzZS4KLQkqIGNvbmZpZy9hYmkvcG9zdC9tNjhr LWxpbnV4LWdudS9iYXNlbGluZV9zeW1ib2xzLnR4dDogTGlrZXdpc2UuCi0JKiBjb25maWcvYWJp L3Bvc3QvcmlzY3Y2NC1saW51eC1nbnUvYmFzZWxpbmVfc3ltYm9scy50eHQ6Ci0JTGlrZXdpc2Uu Ci0JKiBjb25maWcvYWJpL3ByZS9nbnUudmVyOiBMaWtld2lzZS4KLQkqIHNyYy9jKysxMS9tdXRl eC5jYyBbX0dMSUJDWFhfSEFWRV9MSU5VWF9GVVRFWF0KLQkoc3RydWN0IF9fb25jZV9mbGFnX2Nv bXBhdCk6IFJlbW92ZS4KLQkoX1pOU3Q5b25jZV9mbGFnMTFfTV9hY3RpdmF0ZUV2KTogUmVtb3Zl LgotCShfWk5TdDlvbmNlX2ZsYWc5X01fZmluaXNoRWIpOiBSZW1vdmUuCi0KLS0tLSBsaWJzdGRj KystdjMvY29uZmlnL2FiaS9wb3N0L2FhcmNoNjQtbGludXgtZ251L2Jhc2VsaW5lX3N5bWJvbHMu dHh0Ci0rKysgbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcG9zdC9hYXJjaDY0LWxpbnV4LWdudS9i YXNlbGluZV9zeW1ib2xzLnR4dAotQEAgLTQwODYsNiArNDA4Niw4IEBAIEZVTkM6X1pOU3Q5bW9u ZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUVDMkVt QEBHTElCQ1hYCi0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9y SXdTdDExY2hhcl90cmFpdHNJd0VFRUQwRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDltb25l eV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQxRXZA QEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJh dG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQyRXZAQEdMSUJDWFhfMy40Ci0rRlVOQzpfWk5TdDlv bmNlX2ZsYWcxMV9NX2FjdGl2YXRlRXZAQEdMSUJDWFhfMy40LjI5Ci0rRlVOQzpfWk5TdDlvbmNl X2ZsYWc5X01fZmluaXNoRWJAQEdMSUJDWFhfMy40LjI5Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW0z c3RyRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW02ZnJlZXplRWJAQEdMSUJD WFhfMy40Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW1DMUVQY2lTdDEzX0lvc19PcGVubW9kZUBAR0xJ QkNYWF8zLjQKLS0tLSBsaWJzdGRjKystdjMvY29uZmlnL2FiaS9wb3N0L2lhNjQtbGludXgtZ251 L2Jhc2VsaW5lX3N5bWJvbHMudHh0Ci0rKysgbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcG9zdC9p YTY0LWxpbnV4LWdudS9iYXNlbGluZV9zeW1ib2xzLnR4dAotQEAgLTQwODYsNiArNDA4Niw4IEBA IEZVTkM6X1pOU3Q5bW9uZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJf dHJhaXRzSXdFRUVDMkVtQEBHTElCQ1hYCi0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3Ry ZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQwRXZAQEdMSUJDWFhfMy40Ci0g RlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90 cmFpdHNJd0VFRUQxRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlv c3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQyRXZAQEdMSUJDWFhfMy40 Ci0rRlVOQzpfWk5TdDlvbmNlX2ZsYWcxMV9NX2FjdGl2YXRlRXZAQEdMSUJDWFhfMy40LjI5Ci0r RlVOQzpfWk5TdDlvbmNlX2ZsYWc5X01fZmluaXNoRWJAQEdMSUJDWFhfMy40LjI5Ci0gRlVOQzpf Wk5TdDlzdHJzdHJlYW0zc3RyRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW02 ZnJlZXplRWJAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW1DMUVQY2lTdDEzX0lv c19PcGVubW9kZUBAR0xJQkNYWF8zLjQKLS0tLSBsaWJzdGRjKystdjMvY29uZmlnL2FiaS9wb3N0 L202OGstbGludXgtZ251L2Jhc2VsaW5lX3N5bWJvbHMudHh0Ci0rKysgbGlic3RkYysrLXYzL2Nv bmZpZy9hYmkvcG9zdC9tNjhrLWxpbnV4LWdudS9iYXNlbGluZV9zeW1ib2xzLnR4dAotQEAgLTQw ODYsNiArNDA4Niw4IEBAIEZVTkM6X1pOU3Q5bW9uZXlfcHV0SXdTdDE5b3N0cmVhbWJ1Zl9pdGVy YXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUVDMkVqQEBHTElCQ1hYCi0gRlVOQzpfWk5TdDltb25l eV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQwRXZA QEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJh dG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQxRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDlt b25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQy RXZAQEdMSUJDWFhfMy40Ci0rRlVOQzpfWk5TdDlvbmNlX2ZsYWcxMV9NX2FjdGl2YXRlRXZAQEdM SUJDWFhfMy40LjI5Ci0rRlVOQzpfWk5TdDlvbmNlX2ZsYWc5X01fZmluaXNoRWJAQEdMSUJDWFhf My40LjI5Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW0zc3RyRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpf Wk5TdDlzdHJzdHJlYW02ZnJlZXplRWJAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDlzdHJzdHJl YW1DMUVQY2lTdDEzX0lvc19PcGVubW9kZUBAR0xJQkNYWF8zLjQKLS0tLSBsaWJzdGRjKystdjMv Y29uZmlnL2FiaS9wb3N0L3Jpc2N2NjQtbGludXgtZ251L2Jhc2VsaW5lX3N5bWJvbHMudHh0Ci0r KysgbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcG9zdC9yaXNjdjY0LWxpbnV4LWdudS9iYXNlbGlu ZV9zeW1ib2xzLnR4dAotQEAgLTQwODYsNiArNDA4Niw4IEBAIEZVTkM6X1pOU3Q5bW9uZXlfcHV0 SXdTdDE5b3N0cmVhbWJ1Zl9pdGVyYXRvckl3U3QxMWNoYXJfdHJhaXRzSXdFRUVDMkVtQEBHTElC Q1hYCi0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDEx Y2hhcl90cmFpdHNJd0VFRUQwRXZAQEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDltb25leV9wdXRJ d1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdTdDExY2hhcl90cmFpdHNJd0VFRUQxRXZAQEdMSUJD WFhfMy40Ci0gRlVOQzpfWk5TdDltb25leV9wdXRJd1N0MTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdT dDExY2hhcl90cmFpdHNJd0VFRUQyRXZAQEdMSUJDWFhfMy40Ci0rRlVOQzpfWk5TdDlvbmNlX2Zs YWcxMV9NX2FjdGl2YXRlRXZAQEdMSUJDWFhfMy40LjI5Ci0rRlVOQzpfWk5TdDlvbmNlX2ZsYWc5 X01fZmluaXNoRWJAQEdMSUJDWFhfMy40LjI5Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW0zc3RyRXZA QEdMSUJDWFhfMy40Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW02ZnJlZXplRWJAQEdMSUJDWFhfMy40 Ci0gRlVOQzpfWk5TdDlzdHJzdHJlYW1DMUVQY2lTdDEzX0lvc19PcGVubW9kZUBAR0xJQkNYWF8z LjQKLS0tLSBsaWJzdGRjKystdjMvY29uZmlnL2FiaS9wcmUvZ251LnZlcgotKysrIGxpYnN0ZGMr Ky12My9jb25maWcvYWJpL3ByZS9nbnUudmVyCi1AQCAtMjM4OCw2ICsyMzg4LDExIEBAIEdMSUJD WFhfMy40LjI5IHsKLSAgICAgX1pOS1JTdDdfX2N4eDExMThiYXNpY19zdHJpbmdzdHJlYW1JW2N3 XVN0MTFjaGFyX3RyYWl0c0lbY3ddRVNhSVtjd11FRTNzdHJFdjsKLSAgICAgX1pOU3Q3X19jeHgx MTE4YmFzaWNfc3RyaW5nc3RyZWFtSVtjd11TdDExY2hhcl90cmFpdHNJW2N3XUVTYUlbY3ddRUUz c3RyRU9OU18xMmJhc2ljX3N0cmluZ0lbY3ddUzJfUzNfRUU7Ci0gCi0rICAgICMgc3RkOjpvbmNl X2ZsYWc6Ol9NX2FjdGl2YXRlKCkKLSsgICAgX1pOU3Q5b25jZV9mbGFnMTFfTV9hY3RpdmF0ZUV2 OwotKyAgICAjIHN0ZDo6b25jZV9mbGFnOjpfTV9maW5pc2goYm9vbCkKLSsgICAgX1pOU3Q5b25j ZV9mbGFnOV9NX2ZpbmlzaEViOwotKwotICAgICAjIHN0ZDo6dG9fY2hhcnMoY2hhciosIGNoYXIq LCBbZmxvYXR8ZG91YmxlfGxvbmcgZG91YmxlXSkKLSAgICAgX1pTdDh0b19jaGFyc1BjU19bZGVm XTsKLSAgICAgIyBzdGQ6OnRvX2NoYXJzKGNoYXIqLCBjaGFyKiwgW2Zsb2F0fGRvdWJsZXxsb25n IGRvdWJsZV0sIGNoYXJzX2Zvcm1hdCkKLS0tLSBsaWJzdGRjKystdjMvc3JjL2MrKzExL211dGV4 LmNjCi0rKysgbGlic3RkYysrLXYzL3NyYy9jKysxMS9tdXRleC5jYwotQEAgLTI2LDYgKzI2LDkw IEBACi0gCi0gI2lmZGVmIF9HTElCQ1hYX0hBU19HVEhSRUFEUwotIAotKyNpZiBkZWZpbmVkIF9H TElCQ1hYX1NIQVJFRCAmJiAhIF9HTElCQ1hYX0lOTElORV9WRVJTSU9OCi0rCi0rI2lmZGVmIF9H TElCQ1hYX0hBVkVfTElOVVhfRlVURVgKLSsjIGluY2x1ZGUgPHN5c2NhbGwuaD4KLSsjIGluY2x1 ZGUgPHVuaXN0ZC5oPgotKyMgaW5jbHVkZSA8bGltaXRzLmg+Ci0rCi0rbmFtZXNwYWNlIHN0ZCBf R0xJQkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCi0rewotK19HTElCQ1hYX0JFR0lOX05BTUVTUEFD RV9WRVJTSU9OCi0rCi0rc3RydWN0IF9fb25jZV9mbGFnX2NvbXBhdAotK3sKLSsgIGVudW0gX0Jp dHMgOiBpbnQgeyBfSW5pdCA9IDAsIF9BY3RpdmUgPSAxLCBfRG9uZSA9IDIgfTsKLSsgIGludCBf TV9vbmNlID0gMDsKLSsgIGJvb2wgX01fYWN0aXZhdGUoKTsKLSsgIHZvaWQgX01fZmluaXNoKGJv b2wgcmV0dXJuaW5nKSBub2V4Y2VwdDsKLSt9OwotKwotK2Jvb2wKLStfX29uY2VfZmxhZ19jb21w YXQ6Ol9NX2FjdGl2YXRlKCkKLSt7Ci0rICBpZiAoX19nbnVfY3h4OjpfX2lzX3NpbmdsZV90aHJl YWRlZCgpKQotKyAgICB7Ci0rICAgICAgaWYgKF9NX29uY2UgPT0gX0JpdHM6Ol9Eb25lKQotKwly ZXR1cm4gZmFsc2U7Ci0rICAgICAgX01fb25jZSA9IF9CaXRzOjpfQWN0aXZlOwotKyAgICAgIHJl dHVybiB0cnVlOwotKyAgICB9Ci0rCi0rICB3aGlsZSAodHJ1ZSkKLSsgICAgewotKyAgICAgIGlu dCBleHBlY3RlZCA9IF9CaXRzOjpfSW5pdDsKLSsgICAgICBjb25zdGV4cHIgaW50IGFjdGl2ZSA9 IF9CaXRzOjpfQWN0aXZlOwotKyAgICAgIGlmIChfX2F0b21pY19jb21wYXJlX2V4Y2hhbmdlX24o Jl9NX29uY2UsICZleHBlY3RlZCwgYWN0aXZlLCBmYWxzZSwKLSsJCQkJCSAgICBfX0FUT01JQ19B Q1FfUkVMLAotKwkJCQkJICAgIF9fQVRPTUlDX0FDUVVJUkUpKQotKwl7Ci0rCSAgLy8gVGhpcyB0 aHJlYWQgaXMgbm93IGRvaW5nIGFuIGFjdGl2ZSBleGVjdXRpb24uCi0rCSAgcmV0dXJuIHRydWU7 Ci0rCX0KLSsKLSsgICAgICBpZiAoZXhwZWN0ZWQgPT0gX0JpdHM6Ol9Eb25lKQotKwlyZXR1cm4g ZmFsc2U7IC8vIEEgcmV0dXJuaW5nIGV4ZWN1dGlvbiBoYXBwZW5lZCwgdGhpcyBpcyBwYXNzaXZl LgotKwotKyAgICAgIC8vIE90aGVyd2lzZSwgYW4gYWN0aXZlIGV4ZWN1dGlvbiBpcyBoYXBwZW5p bmcuIFdhaXQgZm9yIGl0IHRvIGZpbmlzaC4KLSsgICAgICBjb25zdGV4cHIgaW50IGZ1dGV4X3dh aXQgPSAxMjg7IC8vIEZVVEVYX1dBSVRfUFJJVkFURQotKyAgICAgIHN5c2NhbGwgKFNZU19mdXRl eCwgJl9NX29uY2UsIGZ1dGV4X3dhaXQsIGV4cGVjdGVkLCAwKTsKLSsgICAgfQotK30KLSsKLSt2 b2lkCi0rc3RkOjpfX29uY2VfZmxhZ19jb21wYXQ6Ol9NX2ZpbmlzaChib29sIHJldHVybmluZykg bm9leGNlcHQKLSt7Ci0rICBjb25zdCBpbnQgbmV3dmFsID0gcmV0dXJuaW5nID8gX0JpdHM6Ol9E b25lIDogX0JpdHM6Ol9Jbml0OwotKyAgaWYgKF9fZ251X2N4eDo6X19pc19zaW5nbGVfdGhyZWFk ZWQoKSkKLSsgICAgewotKyAgICAgIF9fZ2xpYmN4eF9hc3NlcnQoX01fb25jZSA9PSBfQml0czo6 X0FjdGl2ZSk7Ci0rICAgICAgX01fb25jZSA9IG5ld3ZhbDsKLSsgICAgfQotKyAgZWxzZQotKyAg ICB7Ci0rICAgICAgaW50IHByZXYgW1ttYXliZV91bnVzZWRdXQotKwk9IF9fYXRvbWljX2V4Y2hh bmdlX24oJl9NX29uY2UsIG5ld3ZhbCwgX19BVE9NSUNfUkVMRUFTRSk7Ci0rICAgICAgX19nbGli Y3h4X2Fzc2VydChwcmV2ICYgX0JpdHM6Ol9BY3RpdmUpOwotKyAgICAgIC8vIFdha2UgYW55IG90 aGVyIHRocmVhZHMgd2FpdGluZyBmb3IgdGhpcyBleGVjdXRpb24gdG8gZmluaXNoLgotKyAgICAg IGNvbnN0ZXhwciBpbnQgZnV0ZXhfd2FrZSA9IDEyOTsgLy8gRlVURVhfV0FLRV9QUklWQVRFCi0r ICAgICAgc3lzY2FsbCAoU1lTX2Z1dGV4LCAmX01fb25jZSwgZnV0ZXhfd2FrZSwgSU5UX01BWCk7 Ci0rICAgIH0KLSt9Ci0rCi0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwdXNoCi0rI3ByYWdtYSBH Q0MgZGlhZ25vc3RpYyBpZ25vcmVkICItV2F0dHJpYnV0ZS1hbGlhcyIKLStleHRlcm4gIkMiIGJv b2wgX1pOU3Q5b25jZV9mbGFnMTFfTV9hY3RpdmF0ZUV2KCkKLSsgIF9fYXR0cmlidXRlX18oKGFs aWFzICgiX1pOU3QxOF9fb25jZV9mbGFnX2NvbXBhdDExX01fYWN0aXZhdGVFdiIpKSk7Ci0rZXh0 ZXJuICJDIiB2b2lkIF9aTlN0OW9uY2VfZmxhZzlfTV9maW5pc2hFYigpIG5vZXhjZXB0Ci0rICBf X2F0dHJpYnV0ZV9fKChhbGlhcyAoIl9aTlN0MThfX29uY2VfZmxhZ19jb21wYXQ5X01fZmluaXNo RWIiKSkpOwotKyNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcG9wCi0rCi0rX0dMSUJDWFhfRU5EX05B TUVTUEFDRV9WRVJTSU9OCi0rfSAvLyBuYW1lc3BhY2Ugc3RkCi0rI2VuZGlmIC8vIEZVVEVYCi0r I2VuZGlmIC8vIE9OQ0VfRkxBR19DT01QQVQgJiYgU0hBUkVEICYmICEgSU5MSU5FX1ZFUlNJT04K LSsKLSBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKLSB7Ci0gX0dM SUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KCmRpZmYgLS1naXQgYS9nY2MxMS1yaDE1NzQ5 MzYucGF0Y2ggYi9nY2MxMS1yaDE1NzQ5MzYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDZiNGJlMGMuLjAwMDAwMDAKLS0tIGEvZ2NjMTEtcmgxNTc0OTM2LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotY3J0IGZpbGVzIGFuZCBzdGF0aWNhbGx5IGxpbmtl ZCBsaWJnY2Mgb2JqZWN0cyBjYXVzZSBmYWxzZSBwb3NpdGl2ZXMKLWluIGFubm9iaW4gY292ZXJh Z2UsIHNvIHdlIGFkZCB0aGUgYXNzZW1ibGVyIGZsYWcgdG8gZ2VuZXJhdGUgbm90ZXMKLWZvciB0 aGVtLgotCi1UaGUgcGF0Y2ggYWxzbyBhZGRzIG5vdGVzIHRvIGxpYmdjY19zLnNvLCBidXQgdGhp cyBpcyBoYXJtbGVzcyBiZWNhdXNlCi10aGVzZSBub3RlcyBvbmx5IGNvbmZlciB0aGF0IHRoZXJl IGlzIG5vIG90aGVyIGFubm9iaW4gbWFya3VwLgotCi0yMDE4LTA3LTI1ICBGbG9yaWFuIFdlaW1l ciAgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KLQotCSogTWFrZWZpbGUuaW4gKExJQkdDQzJfQ0ZMQUdT LCBDUlRTVFVGRl9DRkxBR1MpOiBBZGQKLQktV2EsLS1nZW5lcmF0ZS1taXNzaW5nLWJ1aWxkLW5v dGVzPXllcy4KLQotLS0tIGxpYmdjYy9NYWtlZmlsZS5pbgkyMDE4LTAxLTEzIDEzOjA1OjQxLjAw MDAwMDAwMCArMDEwMAotKysrIGxpYmdjYy9NYWtlZmlsZS5pbgkyMDE4LTA3LTI1IDEzOjE1OjAy LjAzNjIyNjk0MCArMDIwMAotQEAgLTI0Niw2ICsyNDYsNyBAQCBMSUJHQ0MyX0RFQlVHX0NGTEFH UyA9IC1nCi0gTElCR0NDMl9DRkxBR1MgPSAtTzIgJChMSUJHQ0MyX0lOQ0xVREVTKSAkKEdDQ19D RkxBR1MpICQoSE9TVF9MSUJHQ0MyX0NGTEFHUykgXAotIAkJICQoTElCR0NDMl9ERUJVR19DRkxB R1MpIC1ESU5fTElCR0NDMiBcCi0gCQkgLWZidWlsZGluZy1saWJnY2MgLWZuby1zdGFjay1wcm90 ZWN0b3IgXAotKwkJIC1XYSwtLWdlbmVyYXRlLW1pc3NpbmctYnVpbGQtbm90ZXM9eWVzIFwKLSAJ CSAkKElOSElCSVRfTElCQ19DRkxBR1MpCi0gCi0gIyBBZGRpdGlvbmFsIG9wdGlvbnMgdG8gdXNl IHdoZW4gY29tcGlsaW5nIGxpYmdjYzIuYS4KLUBAIC0zMDEsNiArMzAyLDcgQEAgQ1JUU1RVRkZf Q0ZMQUdTID0gLU8yICQoR0NDX0NGTEFHUykgJChJTgotICAgJChOT19QSUVfQ0ZMQUdTKSAtZmlu aGliaXQtc2l6ZS1kaXJlY3RpdmUgLWZuby1pbmxpbmUgLWZuby1leGNlcHRpb25zIFwKLSAgIC1m bm8temVyby1pbml0aWFsaXplZC1pbi1ic3MgLWZuby10b3BsZXZlbC1yZW9yZGVyIC1mbm8tdHJl ZS12ZWN0b3JpemUgXAotICAgLWZidWlsZGluZy1saWJnY2MgLWZuby1zdGFjay1wcm90ZWN0b3Ig JChGT1JDRV9FWFBMSUNJVF9FSF9SRUdJU1RSWSkgXAotKyAgLVdhLC0tZ2VuZXJhdGUtbWlzc2lu Zy1idWlsZC1ub3Rlcz15ZXMgXAotICAgJChJTkhJQklUX0xJQkNfQ0ZMQUdTKSAkKFVTRV9UTV9D TE9ORV9SRUdJU1RSWSkKLSAKLSAjIEV4dHJhIGZsYWdzIHRvIHVzZSB3aGVuIGNvbXBpbGluZyBj cnR7YmVnaW4sZW5kfS5vLgoKZGlmZiAtLWdpdCBhL2djYzExLXNwYXJjLWNvbmZpZy1kZXRlY3Rp b24ucGF0Y2ggYi9nY2MxMS1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBiYjA2YjM1Li4wMDAwMDAwCi0tLSBhL2djYzExLXNwYXJjLWNv bmZpZy1kZXRlY3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0tLS0g Z2NjL2NvbmZpZy5nY2MuamoJMjAwOC0wNC0yNCAxNTo0Mjo0Ni4wMDAwMDAwMDAgLTA1MDAKLSsr KyBnY2MvY29uZmlnLmdjYwkyMDA4LTA0LTI0IDE1OjQ0OjUxLjAwMDAwMDAwMCAtMDUwMAotQEAg LTI3OTAsNyArMjc5MCw3IEBAIHNwYXJjLSotcnRlbXMqKQotIAl0bV9maWxlPSIke3RtX2ZpbGV9 IGRieGVsZi5oIGVsZm9zLmggc3BhcmMvc3lzdjQuaCBzcGFyYy9zcC1lbGYuaCBzcGFyYy9ydGVt c2VsZi5oIHJ0ZW1zLmggbmV3bGliLXN0ZGludC5oIgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2Zp bGV9IHNwYXJjL3Qtc3BhcmMgc3BhcmMvdC1ydGVtcyIKLSAJOzsKLS1zcGFyYy0qLWxpbnV4KikK LStzcGFyYy0qLWxpbnV4KiB8IHNwYXJjdjktKi1saW51eCopCi0gCXRtX2ZpbGU9IiR7dG1fZmls ZX0gZGJ4ZWxmLmggZWxmb3MuaCBzcGFyYy9zeXN2NC5oIGdudS11c2VyLmggbGludXguaCBnbGli Yy1zdGRpbnQuaCBzcGFyYy90c28uaCIKLSAJZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25z fSBzcGFyYy9sb25nLWRvdWJsZS1zd2l0Y2gub3B0IgotIAljYXNlICR7dGFyZ2V0fSBpbgotQEAg LTI4NDQsNyArMjg0NCw3IEBAIHNwYXJjNjQtKi1ydGVtcyopCi0gCWV4dHJhX29wdGlvbnM9IiR7 ZXh0cmFfb3B0aW9uc30iCi0gCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFy YyBzcGFyYy90LXJ0ZW1zLTY0IgotIAk7OwotLXNwYXJjNjQtKi1saW51eCopCi0rc3BhcmM2NCot Ki1saW51eCopCi0gCXRtX2ZpbGU9InNwYXJjL2JpYXJjaDY0LmggJHt0bV9maWxlfSBkYnhlbGYu aCBlbGZvcy5oIHNwYXJjL3N5c3Y0LmggZ251LXVzZXIuaCBsaW51eC5oIGdsaWJjLXN0ZGludC5o IHNwYXJjL2RlZmF1bHQ2NC5oIHNwYXJjL2xpbnV4NjQuaCBzcGFyYy90c28uaCIKLSAJZXh0cmFf b3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSBzcGFyYy9sb25nLWRvdWJsZS1zd2l0Y2gub3B0Igot IAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3Qtc3BhcmMgc3BhcmMvdC1saW51eDY0 IgotLS0tIGxpYmdjYy9jb25maWcuaG9zdC5qagkyMDA4LTA0LTI0IDE1OjQ2OjE5LjAwMDAwMDAw MCAtMDUwMAotKysrIGxpYmdjYy9jb25maWcuaG9zdAkyMDA4LTA0LTI0IDE1OjQ2OjQ5LjAwMDAw MDAwMCAtMDUwMAotQEAgLTEwMDIsNyArMTAwMiw3IEBAIHNwYXJjLSotZWxmKikKLSAJdG1ha2Vf ZmlsZT0iJHt0bWFrZV9maWxlfSB0LWZkcGJpdCB0LWNydGZtIgotIAlleHRyYV9wYXJ0cz0iJGV4 dHJhX3BhcnRzIGNydGkubyBjcnRuLm8gY3J0ZmFzdG1hdGgubyIKLSAJOzsKLS1zcGFyYy0qLWxp bnV4KikJCSMgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eCwgbGliYzYKLStzcGFyYy0qLWxpbnV4 KiB8IHNwYXJjdjktKi1saW51eCopCQkjIFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgsIGxpYmM2 Ci0gCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gdC1jcnRmbSIKLSAJaWYgdGVzdCAiJHtob3N0 X2FkZHJlc3N9IiA9IDY0OyB0aGVuCi0gCQl0bWFrZV9maWxlPSIkdG1ha2VfZmlsZSBzcGFyYy90 LWxpbnV4NjQiCi1AQCAtMTA1MCw3ICsxMDUwLDcgQEAgc3BhcmM2NC0qLWZyZWVic2QqfHVsdHJh c3BhcmMtKi1mcmVlYnNkKgotIAl0bWFrZV9maWxlPSIkdG1ha2VfZmlsZSB0LWNydGZtIgotIAll eHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCi0gCTs7Ci0tc3BhcmM2NC0q LWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgKLStzcGFyYzY0Ki0q LWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgKLSAJZXh0cmFfcGFy dHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0aC5vIgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2Zp bGV9IHQtY3J0Zm0gc3BhcmMvdC1saW51eCIKLSAJaWYgdGVzdCAiJHtob3N0X2FkZHJlc3N9IiA9 IDY0OyB0aGVuCgpkaWZmIC0tZ2l0IGEvZ2NjMTEtc3RyaW5naWZ5LV9fVkFfT1BUX18tMi5wYXRj aCBiL2djYzExLXN0cmluZ2lmeS1fX1ZBX09QVF9fLTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDk4N2Y3MzguLjAwMDAwMDAKLS0tIGEvZ2NjMTEtc3RyaW5naWZ5LV9fVkFf T1BUX18tMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE5NyArMCwwIEBACi1saWJjcHA6IEZp eCB1cCAjX19WQV9PUFRfXyBoYW5kbGluZyBbUFIxMDM0MTVdCi0KLXN0cmluZ2lmeV9hcmcgdXNl cyBwZmlsZS0+dV9idWZmIHRvIGNyZWF0ZSB0aGUgc3RyaW5nIGxpdGVyYWwuCi1VbmZvcnR1bmF0 ZWx5LCBwYXN0ZV90b2tlbnMgLT4gX2NwcF9sZXhfZGlyZWN0IC0+IGxleF9udW1iZXIgLT4gX2Nw cF91bmFsaWduZWRfYWxsb2MKLWNhbiBpbiBzb21lIGNhc2VzIHVzZSBwZmlsZS0+dV9idWZmIHRv bywgd2hpY2ggcmVzdWx0cyBpbiBsb3NpbmcgZXZlcnl0aGluZwotcHJlcGFyZWQgZm9yIHRoZSBz dHJpbmcgbGl0ZXJhbCB1bnRpbCB0aGUgdG9rZW4gcGFzdGluZy4KLQotVGhlIGZvbGxvd2luZyBw YXRjaCBmaXhlcyB0aGF0IGJ5IG5vdCBjYWxsaW5nIHBhc3RlX3Rva2VuIGR1cmluZyB0aGUKLWNv bnN0cnVjdGlvbiBvZiB0aGUgc3RyaW5nIGxpdGVyYWwsIGJ1dCBkb2luZyB0aGF0IGJlZm9yZS4g IEFsbCB0aGUgdG9rZW5zCi13ZSBhcmUgcHJvY2Vzc2luZyBoYXZlIGJlZW4gcHVzaGVkIGludG8g YSB0b2tlbiBidWZmZXIgdXNpbmcKLXRva2Vuc19idWZmX2FkZF90b2tlbiBzbyBpdCBpcyBmaW5l IGlmIHdlIHBhc3RlIHNvbWUgb2YgdGhlbSBpbiB0aGF0IGJ1ZmZlcgotKHN1Y2Nlc3NmdWwgcGFz dGluZyBjcmVhdGVzIGEgbmV3IHRva2VuIGluIHRoYXQgYnVmZmVyKSwgbW92ZSBmb2xsb3dpbmcK LXRva2VucyBpZiBhbnkgdG8gbWFrZSBpdCBjb250aWd1b3VzLCBwb3AgKHRocm93IGF3YXkpIHRo ZSBleHRyYSB0b2tlbnMgYXQKLXRoZSBlbmQgYW5kIHRoZW4gZG8gc3RyaW5naWZ5X2FyZy4KLQot QWxzbywgcGFzdGVfdG9rZW5zIG5vdyBjb3BpZXMgb3ZlciBQUkVWX1dISVRFIGFuZCBQUkVWX0ZB TExUSFJPVUdIIGZsYWdzCi1mcm9tIHRoZSBvcmlnaW5hbCBsaHMgdG9rZW4gdG8gdGhlIHJlcGxh Y2VtZW50IHRva2VuLiAgQ29weWluZyB0aGF0IHdheQotdGhlIFBSRVZfV0hJVEUgZmxhZyBpcyBu ZWVkZWQgZm9yIHRoZSAjX19WQV9PUFRfXyBoYW5kbGluZyBhbmQgY29weWluZwotb3ZlciBQUkVW X0ZBTExUSFJPVUdIIGZpeGVzIHRoZSBuZXcgV2ltcGxpY2l0LWZhbGx0aHJvdWdoLTM4LmMgdGVz dC4KLQotMjAyMS0xMi0wMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQ UiBwcmVwcm9jZXNzb3IvMTAzNDE1Ci1saWJjcHAvCi0JKiBtYWNyby5jIChzdHJpbmdpZnlfYXJn KTogUmVtb3ZlIHZhX29wdCBhcmd1bWVudCBhbmQgdmFfb3B0IGhhbmRsaW5nLgotCShwYXN0ZV90 b2tlbnMpOiBPbiBzdWNjZXNzZnVsIHBhc3RlIG9yIGluIFBSRVZfV0hJVEUgYW5kCi0JUFJFVl9G QUxMVEhST1VHSCBmbGFncyBmcm9tIHRoZSAqcGxocyB0b2tlbiB0byB0aGUgbmV3IHRva2VuLgot CShyZXBsYWNlX2FyZ3MpOiBBZGp1c3Qgc3RyaW5naWZ5X2FyZyBjYWxsZXJzLiAgRm9yICNfX1ZB X09QVF9fLAotCXBlcmZvcm0gdG9rZW4gcGFzdGluZyBpbiBhIHNlcGFyYXRlIGxvb3AgYmVmb3Jl IHN0cmluZ2lmeV9hcmcgY2FsbC4KLWdjYy90ZXN0c3VpdGUvCi0JKiBjLWMrKy1jb21tb24vY3Bw L3ZhLW9wdC04LmM6IE5ldyB0ZXN0LgotCSogYy1jKystY29tbW9uL1dpbXBsaWNpdC1mYWxsdGhy b3VnaC0zOC5jOiBOZXcgdGVzdC4KLQotLS0tIGxpYmNwcC9tYWNyby5jLmpqCi0rKysgbGliY3Bw L21hY3JvLmMKLUBAIC0yOTUsNyArMjk1LDcgQEAgc3RhdGljIGNwcF9jb250ZXh0ICpuZXh0X2Nv bnRleHQgKGNwcF9yZWFkZXIgKik7Ci0gc3RhdGljIGNvbnN0IGNwcF90b2tlbiAqcGFkZGluZ190 b2tlbiAoY3BwX3JlYWRlciAqLCBjb25zdCBjcHBfdG9rZW4gKik7Ci0gc3RhdGljIGNvbnN0IGNw cF90b2tlbiAqbmV3X3N0cmluZ190b2tlbiAoY3BwX3JlYWRlciAqLCB1Y2hhciAqLCB1bnNpZ25l ZCBpbnQpOwotIHN0YXRpYyBjb25zdCBjcHBfdG9rZW4gKnN0cmluZ2lmeV9hcmcgKGNwcF9yZWFk ZXIgKiwgY29uc3QgY3BwX3Rva2VuICoqLAotLQkJCQkgICAgICAgdW5zaWduZWQgaW50LCBib29s KTsKLSsJCQkJICAgICAgIHVuc2lnbmVkIGludCk7Ci0gc3RhdGljIHZvaWQgcGFzdGVfYWxsX3Rv a2VucyAoY3BwX3JlYWRlciAqLCBjb25zdCBjcHBfdG9rZW4gKik7Ci0gc3RhdGljIGJvb2wgcGFz dGVfdG9rZW5zIChjcHBfcmVhZGVyICosIGxvY2F0aW9uX3QsCi0gCQkJICBjb25zdCBjcHBfdG9r ZW4gKiosIGNvbnN0IGNwcF90b2tlbiAqKTsKLUBAIC04MzQsOCArODM0LDcgQEAgY3BwX3F1b3Rl X3N0cmluZyAodWNoYXIgKmRlc3QsIGNvbnN0IHVjaGFyICpzcmMsIHVuc2lnbmVkIGludCBsZW4p Ci0gLyogQ29udmVydCBhIHRva2VuIHNlcXVlbmNlIEZJUlNUIHRvIEZJUlNUK0NPVU5ULTEgdG8g YSBzaW5nbGUgc3RyaW5nIHRva2VuCi0gICAgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiB0aGUg SVNPIEMgIy1vcGVyYXRvci4gICovCi0gc3RhdGljIGNvbnN0IGNwcF90b2tlbiAqCi0tc3RyaW5n aWZ5X2FyZyAoY3BwX3JlYWRlciAqcGZpbGUsIGNvbnN0IGNwcF90b2tlbiAqKmZpcnN0LCB1bnNp Z25lZCBpbnQgY291bnQsCi0tCSAgICAgICBib29sIHZhX29wdCkKLStzdHJpbmdpZnlfYXJnIChj cHBfcmVhZGVyICpwZmlsZSwgY29uc3QgY3BwX3Rva2VuICoqZmlyc3QsIHVuc2lnbmVkIGludCBj b3VudCkKLSB7Ci0gICB1bnNpZ25lZCBjaGFyICpkZXN0OwotICAgdW5zaWduZWQgaW50IGksIGVz Y2FwZV9pdCwgYmFja3NsYXNoX2NvdW50ID0gMDsKLUBAIC04NTIsMjQgKzg1MSw2IEBAIHN0cmlu Z2lmeV9hcmcgKGNwcF9yZWFkZXIgKnBmaWxlLCBjb25zdCBjcHBfdG9rZW4gKipmaXJzdCwgdW5z aWduZWQgaW50IGNvdW50LAotICAgICB7Ci0gICAgICAgY29uc3QgY3BwX3Rva2VuICp0b2tlbiA9 IGZpcnN0W2ldOwotIAotLSAgICAgIGlmICh2YV9vcHQgJiYgKHRva2VuLT5mbGFncyAmIFBBU1RF X0xFRlQpKQotLQl7Ci0tCSAgbG9jYXRpb25fdCB2aXJ0X2xvYyA9IHBmaWxlLT5pbnZvY2F0aW9u X2xvY2F0aW9uOwotLQkgIGNvbnN0IGNwcF90b2tlbiAqcmhzOwotLQkgIGRvCi0tCSAgICB7Ci0t CSAgICAgIGlmIChpID09IGNvdW50KQotLQkJYWJvcnQgKCk7Ci0tCSAgICAgIHJocyA9IGZpcnN0 WysraV07Ci0tCSAgICAgIGlmICghcGFzdGVfdG9rZW5zIChwZmlsZSwgdmlydF9sb2MsICZ0b2tl biwgcmhzKSkKLS0JCXsKLS0JCSAgLS1pOwotLQkJICBicmVhazsKLS0JCX0KLS0JICAgIH0KLS0J ICB3aGlsZSAocmhzLT5mbGFncyAmIFBBU1RFX0xFRlQpOwotLQl9Ci0tCi0gICAgICAgaWYgKHRv a2VuLT50eXBlID09IENQUF9QQURESU5HKQotIAl7Ci0gCSAgaWYgKHNvdXJjZSA9PSBOVUxMCi1A QCAtMTAwMyw2ICs5ODQsNyBAQCBwYXN0ZV90b2tlbnMgKGNwcF9yZWFkZXIgKnBmaWxlLCBsb2Nh dGlvbl90IGxvY2F0aW9uLAotICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgfQotIAotKyAgbGhz LT5mbGFncyB8PSAoKnBsaHMpLT5mbGFncyAmIChQUkVWX1dISVRFIHwgUFJFVl9GQUxMVEhST1VH SCk7Ci0gICAqcGxocyA9IGxoczsKLSAgIF9jcHBfcG9wX2J1ZmZlciAocGZpbGUpOwotICAgcmV0 dXJuIHRydWU7Ci1AQCAtMTk0NSw4ICsxOTI3LDcgQEAgcmVwbGFjZV9hcmdzIChjcHBfcmVhZGVy ICpwZmlsZSwgY3BwX2hhc2hub2RlICpub2RlLCBjcHBfbWFjcm8gKm1hY3JvLAotIAlpZiAoc3Jj LT5mbGFncyAmIFNUUklOR0lGWV9BUkcpCi0gCSAgewotIAkgICAgaWYgKCFhcmctPnN0cmluZ2lm aWVkKQotLQkgICAgICBhcmctPnN0cmluZ2lmaWVkID0gc3RyaW5naWZ5X2FyZyAocGZpbGUsIGFy Zy0+Zmlyc3QsIGFyZy0+Y291bnQsCi0tCQkJCQkJZmFsc2UpOwotKwkgICAgICBhcmctPnN0cmlu Z2lmaWVkID0gc3RyaW5naWZ5X2FyZyAocGZpbGUsIGFyZy0+Zmlyc3QsIGFyZy0+Y291bnQpOwot IAkgIH0KLSAJZWxzZSBpZiAoKHNyYy0+ZmxhZ3MgJiBQQVNURV9MRUZUKQotIAkJIHx8IChzcmMg IT0gbWFjcm8tPmV4cC50b2tlbnMgJiYgKHNyY1stMV0uZmxhZ3MgJiBQQVNURV9MRUZUKSkpCi1A QCAtMjA2NiwxMSArMjA0Nyw0NiBAQCByZXBsYWNlX2FyZ3MgKGNwcF9yZWFkZXIgKnBmaWxlLCBj cHBfaGFzaG5vZGUgKm5vZGUsIGNwcF9tYWNybyAqbWFjcm8sCi0gCQl7Ci0gCQkgIHVuc2lnbmVk IGludCBjb3VudAotIAkJICAgID0gc3RhcnQgPyBwYXN0ZV9mbGFnIC0gc3RhcnQgOiB0b2tlbnNf YnVmZl9jb3VudCAoYnVmZik7Ci0tCQkgIGNvbnN0IGNwcF90b2tlbiAqdAotLQkJICAgID0gc3Ry aW5naWZ5X2FyZyAocGZpbGUsCi0tCQkJCSAgICAgc3RhcnQgPyBzdGFydCArIDEKLS0JCQkJICAg ICA6IChjb25zdCBjcHBfdG9rZW4gKiopIChidWZmLT5iYXNlKSwKLS0JCQkJICAgICBjb3VudCwg dHJ1ZSk7Ci0rCQkgIGNvbnN0IGNwcF90b2tlbiAqKmZpcnN0Ci0rCQkgICAgPSBzdGFydCA/IHN0 YXJ0ICsgMQotKwkJCSAgICA6IChjb25zdCBjcHBfdG9rZW4gKiopIChidWZmLT5iYXNlKTsKLSsJ CSAgdW5zaWduZWQgaW50IGksIGo7Ci0rCi0rCQkgIC8qIFBhc3RlIGFueSB0b2tlbnMgdGhhdCBu ZWVkIHRvIGJlIHBhc3RlZCBiZWZvcmUgY2FsbGluZwotKwkJICAgICBzdHJpbmdpZnlfYXJnLCBi ZWNhdXNlIHN0cmluZ2lmeV9hcmcgdXNlcyBwZmlsZS0+dV9idWZmCi0rCQkgICAgIHdoaWNoIHBh c3RlX3Rva2VucyBjYW4gdXNlIGFzIHdlbGwuICAqLwotKwkJICBmb3IgKGkgPSAwLCBqID0gMDsg aSA8IGNvdW50OyBpKyssIGorKykKLSsJCSAgICB7Ci0rCQkgICAgICBjb25zdCBjcHBfdG9rZW4g KnRva2VuID0gZmlyc3RbaV07Ci0rCi0rCQkgICAgICBpZiAodG9rZW4tPmZsYWdzICYgUEFTVEVf TEVGVCkKLSsJCQl7Ci0rCQkJICBsb2NhdGlvbl90IHZpcnRfbG9jID0gcGZpbGUtPmludm9jYXRp b25fbG9jYXRpb247Ci0rCQkJICBjb25zdCBjcHBfdG9rZW4gKnJoczsKLSsJCQkgIGRvCi0rCQkJ ICAgIHsKLSsJCQkgICAgICBpZiAoaSA9PSBjb3VudCkKLSsJCQkJYWJvcnQgKCk7Ci0rCQkJICAg ICAgcmhzID0gZmlyc3RbKytpXTsKLSsJCQkgICAgICBpZiAoIXBhc3RlX3Rva2VucyAocGZpbGUs IHZpcnRfbG9jLCAmdG9rZW4sIHJocykpCi0rCQkJCXsKLSsJCQkJICAtLWk7Ci0rCQkJCSAgYnJl YWs7Ci0rCQkJCX0KLSsJCQkgICAgfQotKwkJCSAgd2hpbGUgKHJocy0+ZmxhZ3MgJiBQQVNURV9M RUZUKTsKLSsJCQl9Ci0rCi0rCQkgICAgICBmaXJzdFtqXSA9IHRva2VuOwotKwkJICAgIH0KLSsJ CSAgaWYgKGogIT0gaSkKLSsJCSAgICB7Ci0rCQkgICAgICB3aGlsZSAoaS0tICE9IGopCi0rCQkJ dG9rZW5zX2J1ZmZfcmVtb3ZlX2xhc3RfdG9rZW4gKGJ1ZmYpOwotKwkJICAgICAgY291bnQgPSBq OwotKwkJICAgIH0KLSsKLSsJCSAgY29uc3QgY3BwX3Rva2VuICp0ID0gc3RyaW5naWZ5X2FyZyAo cGZpbGUsIGZpcnN0LCBjb3VudCk7Ci0gCQkgIHdoaWxlIChjb3VudC0tKQotIAkJICAgIHRva2Vu c19idWZmX3JlbW92ZV9sYXN0X3Rva2VuIChidWZmKTsKLSAJCSAgaWYgKHNyYy0+ZmxhZ3MgJiBQ QVNURV9MRUZUKQotLS0tIGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2NwcC92YS1vcHQtOC5j LmpqCi0rKysgZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vY3BwL3ZhLW9wdC04LmMKLUBAIC0w LDAgKzEsMTggQEAKLSsvKiBQUiBwcmVwcm9jZXNzb3IvMTAzNDE1ICovCi0rLyogeyBkZy1kbyBy dW4gfSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLXN0ZD1nbnU5OSIgeyB0YXJnZXQgYyB9IH0gKi8K LSsvKiB7IGRnLW9wdGlvbnMgIi1zdGQ9YysrMjAiIHsgdGFyZ2V0IGMrKyB9IH0gKi8KLSsKLSsj ZGVmaW5lIG4oeCwgLi4uKSA9ICNfX1ZBX09QVF9fKHgjIzMpCi0rI2RlZmluZSBvKHgsIC4uLikg I19fVkFfT1BUX18oeCMjX19WQV9BUkdTX18jIzkpCi0rY29uc3QgY2hhciAqYyBuKDEgMiwgNCk7 Ci0rY29uc3QgY2hhciAqZCA9IG8oNSAgNiwgNwk4KTsKLSsKLStpbnQKLSttYWluICgpCi0rewot KyAgaWYgKF9fYnVpbHRpbl9zdHJjbXAgKGMsICIxIDIzIikKLSsgICAgICB8fCBfX2J1aWx0aW5f c3RyY21wIChkLCAiNSA2NyA4OSIpKQotKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Ci0rICByZXR1 cm4gMDsKLSt9Ci0tLS0gZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vV2ltcGxpY2l0LWZhbGx0 aHJvdWdoLTM4LmMuamoKLSsrKyBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9XaW1wbGljaXQt ZmFsbHRocm91Z2gtMzguYwotQEAgLTAsMCArMSwyNCBAQAotKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovCi0rLyogeyBkZy1vcHRpb25zICItV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTMiIH0gKi8KLSsK LSsjZGVmaW5lIEZPTyBcCi0raW50CQkJCVwKLStmb28gKGludCBhKQkJCVwKLSt7CQkJCVwKLSsg IHN3aXRjaCAoYSkJCQlcCi0rICAgIHsJCQkJXAotKyAgICBjYXNlIDE6CQkJXAotKyAgICAgICsr YTsJCQlcCi0rICAgICAgLyogRkFMTFRIUlUgKi8JCVwKLSsgICAgY2FzZSAyOgkJCVwKLSsgICAg ICArK2E7CQkJXAotKyAgICAgIC8qIEZBTExUSFJVICovCQlcCi0rICAgIGNhIyNzZSAzOgkJCVwK LSsgICAgICArK2E7CQkJXAotKyAgICBkZWZhdWx0OgkJCVwKLSsgICAgICBicmVhazsJCQlcCi0r ICAgIH0JCQkJXAotKyAgcmV0dXJuIGE7CQkJXAotK30KLSsKLStGT08KCmRpZmYgLS1naXQgYS9n Y2MxMS1zdHJpbmdpZnktX19WQV9PUFRfXy5wYXRjaCBiL2djYzExLXN0cmluZ2lmeS1fX1ZBX09Q VF9fLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzYTJhNzFmLi4wMDAwMDAw Ci0tLSBhL2djYzExLXN0cmluZ2lmeS1fX1ZBX09QVF9fLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzA4ICswLDAgQEAKLWMrKzogQWRkIEMrKzIwICNfX1ZBX09QVF9fIHN1cHBvcnQKLQotVGhl IGZvbGxvd2luZyBwYXRjaCBpbXBsZW1lbnRzIEMrKzIwICMgX19WQV9PUFRfXyAoLi4uKSBzdXBw b3J0LgotVGVzdGNhc2VzIGNvdmVyIHdoYXQgSSBjYW1lIHVwIHdpdGggbXlzZWxmIGFuZCB3aGF0 IExMVk0gaGFzIGZvciAjX19WQV9PUFRfXwotaW4gaXRzIHRlc3RzdWl0ZSBhbmQgdGhlIHN0cmlu ZyBsaXRlcmFscyBhcmUgaWRlbnRpY2FsIGJldHdlZW4gdGhlIHR3bwotY29tcGlsZXJzIG9uIHRo ZSB2YS1vcHQtNS5jIHRlc3RjYXNlLgotCi0yMDIxLTA4LTE3ICBKYWt1YiBKZWxpbmVrICA8amFr dWJAcmVkaGF0LmNvbT4KLQotbGliY3BwLwotCSogbWFjcm8uYyAodmFvcHRfc3RhdGUpOiBBZGQg bV9zdHJpbmdpZnkgbWVtYmVyLgotCSh2YW9wdF9zdGF0ZTo6dmFvcHRfc3RhdGUpOiBJbml0aWFs aXplIGl0LgotCSh2YW9wdF9zdGF0ZTo6dXBkYXRlKTogT3ZlcndyaXRlIGl0LgotCSh2YW9wdF9z dGF0ZTo6c3RyaW5naWZ5KTogTmV3IG1ldGhvZC4KLQkoc3RyaW5naWZ5X2FyZyk6IFJlcGxhY2Ug YXJnIGFyZ3VtZW50IHdpdGggZmlyc3QsIGNvdW50IGFyZ3VtZW50cwotCWFuZCBhZGQgdmFfb3B0 IGFyZ3VtZW50LiAgVXNlIGZpcnN0IGluc3RlYWQgb2YgYXJnLT5maXJzdCBhbmQKLQljb3VudCBp bnN0ZWFkIG9mIGFyZy0+Y291bnQsIGZvciB2YV9vcHQgYWRkIHBhc3RlX3Rva2VucyBoYW5kbGlu Zy4KLQkocGFzdGVfdG9rZW5zKTogRml4IHVwIGxlbiBjYWxjdWxhdGlvbi4gIERvbid0IHNwZWxs IHJocyB0d2ljZSwKLQlpbnN0ZWFkIHVzZSAlLipzIHRvIHN1cHBseSBsaHMgYW5kIHJocyBzcGVs bGluZyBsZW5ndGhzLiAgRG9uJ3QgY2FsbAotCV9jcHBfYmFja3VwX3Rva2VucyBoZXJlLgotCShw YXN0ZV9hbGxfdG9rZW5zKTogQ2FsbCBpdCBoZXJlIGluc3RlYWQuCi0JKHJlcGxhY2VfYXJncyk6 IEFkanVzdCBzdHJpbmdpZnlfYXJnIGNhbGxlci4gIEZvciB2YW9wdF9zdGF0ZTo6RU5ECi0JaWYg c3RyaW5naWZ5IGlzIHRydWUgaGFuZGxlIF9fVkFfT1BUX18gc3RyaW5naWZpY2F0aW9uLgotCShj cmVhdGVfaXNvX2RlZmluaXRpb24pOiBIYW5kbGUgIyBfX1ZBX09QVF9fIHNpbWlsYXJseSB0byAj IG1hY3JvX2FyZy4KLWdjYy90ZXN0c3VpdGUvCi0JKiBjLWMrKy1jb21tb24vY3BwL3ZhLW9wdC01 LmM6IE5ldyB0ZXN0LgotCSogYy1jKystY29tbW9uL2NwcC92YS1vcHQtNi5jOiBOZXcgdGVzdC4K LQotLS0tIGxpYmNwcC9tYWNyby5jCi0rKysgbGliY3BwL21hY3JvLmMKLUBAIC0xMTgsNiArMTE4 LDcgQEAgY2xhc3MgdmFvcHRfc3RhdGUgewotICAgICBtX2FyZyAoYXJnKSwKLSAgICAgbV92YXJp YWRpYyAoaXNfdmFyaWFkaWMpLAotICAgICBtX2xhc3Rfd2FzX3Bhc3RlIChmYWxzZSksCi0rICAg IG1fc3RyaW5naWZ5IChmYWxzZSksCi0gICAgIG1fc3RhdGUgKDApLAotICAgICBtX3Bhc3RlX2xv Y2F0aW9uICgwKSwKLSAgICAgbV9sb2NhdGlvbiAoMCksCi1AQCAtMTQ1LDYgKzE0Niw3IEBAIGNs YXNzIHZhb3B0X3N0YXRlIHsKLSAJICB9Ci0gCSsrbV9zdGF0ZTsKLSAJbV9sb2NhdGlvbiA9IHRv a2VuLT5zcmNfbG9jOwotKwltX3N0cmluZ2lmeSA9ICh0b2tlbi0+ZmxhZ3MgJiBTVFJJTkdJRllf QVJHKSAhPSAwOwotIAlyZXR1cm4gQkVHSU47Ci0gICAgICAgfQotICAgICBlbHNlIGlmIChtX3N0 YXRlID09IDEpCi1AQCAtMjM0LDYgKzIzNiwxMiBAQCBjbGFzcyB2YW9wdF9zdGF0ZSB7Ci0gICAg IHJldHVybiBtX3N0YXRlID09IDA7Ci0gICB9Ci0gCi0rICAvKiBSZXR1cm4gdHJ1ZSBmb3IgIyBf X1ZBX09QVF9fLiAgKi8KLSsgIGJvb2wgc3RyaW5naWZ5ICgpIGNvbnN0Ci0rICB7Ci0rICAgIHJl dHVybiBtX3N0cmluZ2lmeTsKLSsgIH0KLSsKLSAgcHJpdmF0ZToKLSAKLSAgIC8qIFRoZSBjcHBf cmVhZGVyLiAgKi8KLUBAIC0yNDcsNiArMjU1LDggQEAgY2xhc3MgdmFvcHRfc3RhdGUgewotICAg LyogSWYgdHJ1ZSwgdGhlIHByZXZpb3VzIHRva2VuIHdhcyAjIy4gIFRoaXMgaXMgdXNlZCB0byBk ZXRlY3Qgd2hlbgotICAgICAgYSBwYXN0ZSBvY2N1cnMgYXQgdGhlIGVuZCBvZiB0aGUgc2VxdWVu Y2UuICAqLwotICAgYm9vbCBtX2xhc3Rfd2FzX3Bhc3RlOwotKyAgLyogVHJ1ZSBmb3IgI19fVkFf T1BUX18uICAqLwotKyAgYm9vbCBtX3N0cmluZ2lmeTsKLSAKLSAgIC8qIFRoZSBzdGF0ZSB2YXJp YWJsZToKLSAgICAgIDAgbWVhbnMgbm90IHBhcnNpbmcKLUBAIC0yODQsNyArMjk0LDggQEAgc3Rh dGljIF9jcHBfYnVmZiAqY29sbGVjdF9hcmdzIChjcHBfcmVhZGVyICosIGNvbnN0IGNwcF9oYXNo bm9kZSAqLAotIHN0YXRpYyBjcHBfY29udGV4dCAqbmV4dF9jb250ZXh0IChjcHBfcmVhZGVyICop OwotIHN0YXRpYyBjb25zdCBjcHBfdG9rZW4gKnBhZGRpbmdfdG9rZW4gKGNwcF9yZWFkZXIgKiwg Y29uc3QgY3BwX3Rva2VuICopOwotIHN0YXRpYyBjb25zdCBjcHBfdG9rZW4gKm5ld19zdHJpbmdf dG9rZW4gKGNwcF9yZWFkZXIgKiwgdWNoYXIgKiwgdW5zaWduZWQgaW50KTsKLS1zdGF0aWMgY29u c3QgY3BwX3Rva2VuICpzdHJpbmdpZnlfYXJnIChjcHBfcmVhZGVyICosIG1hY3JvX2FyZyAqKTsK LStzdGF0aWMgY29uc3QgY3BwX3Rva2VuICpzdHJpbmdpZnlfYXJnIChjcHBfcmVhZGVyICosIGNv bnN0IGNwcF90b2tlbiAqKiwKLSsJCQkJICAgICAgIHVuc2lnbmVkIGludCwgYm9vbCk7Ci0gc3Rh dGljIHZvaWQgcGFzdGVfYWxsX3Rva2VucyAoY3BwX3JlYWRlciAqLCBjb25zdCBjcHBfdG9rZW4g Kik7Ci0gc3RhdGljIGJvb2wgcGFzdGVfdG9rZW5zIChjcHBfcmVhZGVyICosIGxvY2F0aW9uX3Qs Ci0gCQkJICBjb25zdCBjcHBfdG9rZW4gKiosIGNvbnN0IGNwcF90b2tlbiAqKTsKLUBAIC04MTgs MTAgKzgyOSwxMSBAQCBjcHBfcXVvdGVfc3RyaW5nICh1Y2hhciAqZGVzdCwgY29uc3QgdWNoYXIg KnNyYywgdW5zaWduZWQgaW50IGxlbikKLSAgIHJldHVybiBkZXN0OwotIH0KLSAKLS0vKiBDb252 ZXJ0IGEgdG9rZW4gc2VxdWVuY2UgQVJHIHRvIGEgc2luZ2xlIHN0cmluZyB0b2tlbiBhY2NvcmRp bmcgdG8KLS0gICB0aGUgcnVsZXMgb2YgdGhlIElTTyBDICMtb3BlcmF0b3IuICAqLwotKy8qIENv bnZlcnQgYSB0b2tlbiBzZXF1ZW5jZSBGSVJTVCB0byBGSVJTVCtDT1VOVC0xIHRvIGEgc2luZ2xl IHN0cmluZyB0b2tlbgotKyAgIGFjY29yZGluZyB0byB0aGUgcnVsZXMgb2YgdGhlIElTTyBDICMt b3BlcmF0b3IuICAqLwotIHN0YXRpYyBjb25zdCBjcHBfdG9rZW4gKgotLXN0cmluZ2lmeV9hcmcg KGNwcF9yZWFkZXIgKnBmaWxlLCBtYWNyb19hcmcgKmFyZykKLStzdHJpbmdpZnlfYXJnIChjcHBf cmVhZGVyICpwZmlsZSwgY29uc3QgY3BwX3Rva2VuICoqZmlyc3QsIHVuc2lnbmVkIGludCBjb3Vu dCwKLSsJICAgICAgIGJvb2wgdmFfb3B0KQotIHsKLSAgIHVuc2lnbmVkIGNoYXIgKmRlc3Q7Ci0g ICB1bnNpZ25lZCBpbnQgaSwgZXNjYXBlX2l0LCBiYWNrc2xhc2hfY291bnQgPSAwOwotQEAgLTgz NCw5ICs4NDYsMjcgQEAgc3RyaW5naWZ5X2FyZyAoY3BwX3JlYWRlciAqcGZpbGUsIG1hY3JvX2Fy ZyAqYXJnKQotICAgKmRlc3QrKyA9ICciJzsKLSAKLSAgIC8qIExvb3AsIHJlYWRpbmcgaW4gdGhl IGFyZ3VtZW50J3MgdG9rZW5zLiAgKi8KLS0gIGZvciAoaSA9IDA7IGkgPCBhcmctPmNvdW50OyBp KyspCi0rICBmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykKLSAgICAgewotLSAgICAgIGNvbnN0 IGNwcF90b2tlbiAqdG9rZW4gPSBhcmctPmZpcnN0W2ldOwotKyAgICAgIGNvbnN0IGNwcF90b2tl biAqdG9rZW4gPSBmaXJzdFtpXTsKLSsKLSsgICAgICBpZiAodmFfb3B0ICYmICh0b2tlbi0+Zmxh Z3MgJiBQQVNURV9MRUZUKSkKLSsJewotKwkgIGxvY2F0aW9uX3QgdmlydF9sb2MgPSBwZmlsZS0+ aW52b2NhdGlvbl9sb2NhdGlvbjsKLSsJICBjb25zdCBjcHBfdG9rZW4gKnJoczsKLSsJICBkbwot KwkgICAgewotKwkgICAgICBpZiAoaSA9PSBjb3VudCkKLSsJCWFib3J0ICgpOwotKwkgICAgICBy aHMgPSBmaXJzdFsrK2ldOwotKwkgICAgICBpZiAoIXBhc3RlX3Rva2VucyAocGZpbGUsIHZpcnRf bG9jLCAmdG9rZW4sIHJocykpCi0rCQl7Ci0rCQkgIC0taTsKLSsJCSAgYnJlYWs7Ci0rCQl9Ci0r CSAgICB9Ci0rCSAgd2hpbGUgKHJocy0+ZmxhZ3MgJiBQQVNURV9MRUZUKTsKLSsJfQotIAotICAg ICAgIGlmICh0b2tlbi0+dHlwZSA9PSBDUFBfUEFERElORykKLSAJewotQEAgLTkyMyw3ICs5NTMs NyBAQCBwYXN0ZV90b2tlbnMgKGNwcF9yZWFkZXIgKnBmaWxlLCBsb2NhdGlvbl90IGxvY2F0aW9u LAotICAgY3BwX3Rva2VuICpsaHM7Ci0gICB1bnNpZ25lZCBpbnQgbGVuOwotIAotLSAgbGVuID0g Y3BwX3Rva2VuX2xlbiAoKnBsaHMpICsgY3BwX3Rva2VuX2xlbiAocmhzKSArIDE7Ci0rICBsZW4g PSBjcHBfdG9rZW5fbGVuICgqcGxocykgKyBjcHBfdG9rZW5fbGVuIChyaHMpICsgMjsKLSAgIGJ1 ZiA9ICh1bnNpZ25lZCBjaGFyICopIGFsbG9jYSAobGVuKTsKLSAgIGVuZCA9IGxoc2VuZCA9IGNw cF9zcGVsbF90b2tlbiAocGZpbGUsICpwbGhzLCBidWYsIHRydWUpOwotIAotQEAgLTk0OSw4ICs5 NzksMTAgQEAgcGFzdGVfdG9rZW5zIChjcHBfcmVhZGVyICpwZmlsZSwgbG9jYXRpb25fdCBsb2Nh dGlvbiwKLSAgICAgICBsb2NhdGlvbl90IHNhdmVkX2xvYyA9IGxocy0+c3JjX2xvYzsKLSAKLSAg ICAgICBfY3BwX3BvcF9idWZmZXIgKHBmaWxlKTsKLS0gICAgICBfY3BwX2JhY2t1cF90b2tlbnMg KHBmaWxlLCAxKTsKLS0gICAgICAqbGhzZW5kID0gJ1wwJzsKLSsKLSsgICAgICB1bnNpZ25lZCBj aGFyICpyaHNzdGFydCA9IGxoc2VuZDsKLSsgICAgICBpZiAoKCpwbGhzKS0+dHlwZSA9PSBDUFBf RElWICYmIHJocy0+dHlwZSAhPSBDUFBfRVEpCi0rCXJoc3N0YXJ0Kys7Ci0gCi0gICAgICAgLyog V2UgaGF2ZSB0byByZW1vdmUgdGhlIFBBU1RFX0xFRlQgZmxhZyBmcm9tIHRoZSBvbGQgbGhzLCBi dXQKLSAJIHdlIHdhbnQgdG8ga2VlcCB0aGUgbmV3IGxvY2F0aW9uLiAgKi8KLUBAIC05NjIsOCAr OTk0LDEwIEBAIHBhc3RlX3Rva2VucyAoY3BwX3JlYWRlciAqcGZpbGUsIGxvY2F0aW9uX3QgbG9j YXRpb24sCi0gICAgICAgLyogTWFuZGF0b3J5IGVycm9yIGZvciBhbGwgYXBhcnQgZnJvbSBhc3Nl bWJsZXIuICAqLwotICAgICAgIGlmIChDUFBfT1BUSU9OIChwZmlsZSwgbGFuZykgIT0gQ0xLX0FT TSkKLSAJY3BwX2Vycm9yX3dpdGhfbGluZSAocGZpbGUsIENQUF9ETF9FUlJPUiwgbG9jYXRpb24s IDAsCi0tCSAicGFzdGluZyBcIiVzXCIgYW5kIFwiJXNcIiBkb2VzIG5vdCBnaXZlIGEgdmFsaWQg cHJlcHJvY2Vzc2luZyB0b2tlbiIsCi0tCQkgICBidWYsIGNwcF90b2tlbl9hc190ZXh0IChwZmls ZSwgcmhzKSk7Ci0rCQkJICAgICAicGFzdGluZyBcIiUuKnNcIiBhbmQgXCIlLipzXCIgZG9lcyBu b3QgZ2l2ZSAiCi0rCQkJICAgICAiYSB2YWxpZCBwcmVwcm9jZXNzaW5nIHRva2VuIiwKLSsJCQkg ICAgIChpbnQpIChsaHNlbmQgLSBidWYpLCBidWYsCi0rCQkJICAgICAoaW50KSAoZW5kIC0gcmhz c3RhcnQpLCByaHNzdGFydCk7Ci0gICAgICAgcmV0dXJuIGZhbHNlOwotICAgICB9Ci0gCi1AQCAt MTAzOSw3ICsxMDczLDEwIEBAIHBhc3RlX2FsbF90b2tlbnMgKGNwcF9yZWFkZXIgKnBmaWxlLCBj b25zdCBjcHBfdG9rZW4gKmxocykKLSAJICAgIGFib3J0ICgpOwotIAl9Ci0gICAgICAgaWYgKCFw YXN0ZV90b2tlbnMgKHBmaWxlLCB2aXJ0X2xvYywgJmxocywgcmhzKSkKLS0JYnJlYWs7Ci0rCXsK LSsJICBfY3BwX2JhY2t1cF90b2tlbnMgKHBmaWxlLCAxKTsKLSsJICBicmVhazsKLSsJfQotICAg ICB9Ci0gICB3aGlsZSAocmhzLT5mbGFncyAmIFBBU1RFX0xFRlQpOwotIAotQEAgLTE5MDYsNyAr MTk0Myw4IEBAIHJlcGxhY2VfYXJncyAoY3BwX3JlYWRlciAqcGZpbGUsIGNwcF9oYXNobm9kZSAq bm9kZSwgY3BwX21hY3JvICptYWNybywKLSAJaWYgKHNyYy0+ZmxhZ3MgJiBTVFJJTkdJRllfQVJH KQotIAkgIHsKLSAJICAgIGlmICghYXJnLT5zdHJpbmdpZmllZCkKLS0JICAgICAgYXJnLT5zdHJp bmdpZmllZCA9IHN0cmluZ2lmeV9hcmcgKHBmaWxlLCBhcmcpOwotKwkgICAgICBhcmctPnN0cmlu Z2lmaWVkID0gc3RyaW5naWZ5X2FyZyAocGZpbGUsIGFyZy0+Zmlyc3QsIGFyZy0+Y291bnQsCi0r CQkJCQkJZmFsc2UpOwotIAkgIH0KLSAJZWxzZSBpZiAoKHNyYy0+ZmxhZ3MgJiBQQVNURV9MRUZU KQotIAkJIHx8IChzcmMgIT0gbWFjcm8tPmV4cC50b2tlbnMgJiYgKHNyY1stMV0uZmxhZ3MgJiBQ QVNURV9MRUZUKSkpCi1AQCAtMjAyOSw3ICsyMDY3LDI0IEBAIHJlcGxhY2VfYXJncyAoY3BwX3Jl YWRlciAqcGZpbGUsIGNwcF9oYXNobm9kZSAqbm9kZSwgY3BwX21hY3JvICptYWNybywKLSAJCSAg cGFzdGVfZmxhZyA9IHRva2Vuc19idWZmX2xhc3RfdG9rZW5fcHRyIChidWZmKTsKLSAJCX0KLSAK LS0JICAgICAgaWYgKHNyYy0+ZmxhZ3MgJiBQQVNURV9MRUZUKQotKwkgICAgICBpZiAodmFvcHRf dHJhY2tlci5zdHJpbmdpZnkgKCkpCi0rCQl7Ci0rCQkgIHVuc2lnbmVkIGludCBjb3VudAotKwkJ ICAgID0gc3RhcnQgPyBwYXN0ZV9mbGFnIC0gc3RhcnQgOiB0b2tlbnNfYnVmZl9jb3VudCAoYnVm Zik7Ci0rCQkgIGNvbnN0IGNwcF90b2tlbiAqdAotKwkJICAgID0gc3RyaW5naWZ5X2FyZyAocGZp bGUsCi0rCQkJCSAgICAgc3RhcnQgPyBzdGFydCArIDEKLSsJCQkJICAgICA6IChjb25zdCBjcHBf dG9rZW4gKiopIChidWZmLT5iYXNlKSwKLSsJCQkJICAgICBjb3VudCwgdHJ1ZSk7Ci0rCQkgIHdo aWxlIChjb3VudC0tKQotKwkJICAgIHRva2Vuc19idWZmX3JlbW92ZV9sYXN0X3Rva2VuIChidWZm KTsKLSsJCSAgaWYgKHNyYy0+ZmxhZ3MgJiBQQVNURV9MRUZUKQotKwkJICAgIGNvcHlfcGFzdGVf ZmxhZyAocGZpbGUsICZ0LCBzcmMpOwotKwkJICB0b2tlbnNfYnVmZl9hZGRfdG9rZW4gKGJ1ZmYs IHZpcnRfbG9jcywKLSsJCQkJCSB0LCB0LT5zcmNfbG9jLCB0LT5zcmNfbG9jLAotKwkJCQkJIE5V TEwsIDApOwotKwkJfQotKwkgICAgICBlbHNlIGlmIChzcmMtPmZsYWdzICYgUEFTVEVfTEVGVCkK LSAJCXsKLSAJCSAgLyogV2l0aCBhIG5vbi1lbXB0eSBfX1ZBX09QVF9fIG9uIHRoZSBMSFMgb2Yg IyMsIHRoZSBsYXN0Ci0gCQkgICAgIHRva2VuIHNob3VsZCBiZSBmbGFnZ2VkIFBBU1RFX0xFRlQu ICAqLwotQEAgLTM1ODUsNyArMzY0MCwxMCBAQCBjcmVhdGVfaXNvX2RlZmluaXRpb24gKGNwcF9y ZWFkZXIgKnBmaWxlKQotIAkgZnVuY3Rpb24tbGlrZSBtYWNyb3Mgd2hlbiBsZXhpbmcgdGhlIHN1 YnNlcXVlbnQgdG9rZW4uICAqLwotICAgICAgIGlmIChtYWNyby0+Y291bnQgPiAxICYmIHRva2Vu Wy0xXS50eXBlID09IENQUF9IQVNIICYmIG1hY3JvLT5mdW5fbGlrZSkKLSAJewotLQkgIGlmICh0 b2tlbi0+dHlwZSA9PSBDUFBfTUFDUk9fQVJHKQotKwkgIGlmICh0b2tlbi0+dHlwZSA9PSBDUFBf TUFDUk9fQVJHCi0rCSAgICAgIHx8IChtYWNyby0+dmFyaWFkaWMKLSsJCSAgJiYgdG9rZW4tPnR5 cGUgPT0gQ1BQX05BTUUKLSsJCSAgJiYgdG9rZW4tPnZhbC5ub2RlLm5vZGUgPT0gcGZpbGUtPnNw ZWNfbm9kZXMubl9fVkFfT1BUX18pKQotIAkgICAgewotIAkgICAgICBpZiAodG9rZW4tPmZsYWdz ICYgUFJFVl9XSElURSkKLSAJCXRva2VuLT5mbGFncyB8PSBTUF9QUkVWX1dISVRFOwotLS0tIGdj Yy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2NwcC92YS1vcHQtNS5jCi0rKysgZ2NjL3Rlc3RzdWl0 ZS9jLWMrKy1jb21tb24vY3BwL3ZhLW9wdC01LmMKLUBAIC0wLDAgKzEsNjcgQEAKLSsvKiB7IGRn LWRvIHJ1biB9ICovCi0rLyogeyBkZy1vcHRpb25zICItc3RkPWdudTk5IiB7IHRhcmdldCBjIH0g fSAqLwotKy8qIHsgZGctb3B0aW9ucyAiLXN0ZD1jKysyMCIgeyB0YXJnZXQgYysrIH0gfSAqLwot KwotKyNkZWZpbmUgbHBhcmVuICgKLSsjZGVmaW5lIGEwIGZvb2EwCi0rI2RlZmluZSBhMSAgZm9v YTEgYTAKLSsjZGVmaW5lIGEyICBmb29hMiBhMQotKyNkZWZpbmUgYTMgIGZvb2EzIGEyCi0rI2Rl ZmluZSBhKCkgYiBscGFyZW4gKQotKyNkZWZpbmUgYigpIGMgbHBhcmVuICkKLSsjZGVmaW5lIGMo KSBkIGxwYXJlbiApCi0rI2RlZmluZSBnIGgKLSsjZGVmaW5lIGkoaikgagotKyNkZWZpbmUgZigu Li4pICNfX1ZBX09QVF9fKGcgaSgwKSkKLSsjZGVmaW5lIGsoeCwuLi4pICMgX19WQV9PUFRfXyh4 KSAjeCAjX19WQV9PUFRfXyhfX1ZBX0FSR1NfXykKLSsjZGVmaW5lIGwoeCwuLi4pICNfX1ZBX09Q VF9fKGExIHgpCi0rI2RlZmluZSBtKHgsLi4uKSAiYSgpIiAjX19WQV9PUFRfXyhhMyBfX1ZBX0FS R1NfXyB4ICMjIF9fVkFfQVJHU19fICMjIHggIyMgYyBhMykgImEoKSIKLSsjZGVmaW5lIG4oeCwu Li4pID0gI19fVkFfT1BUX18oYTMgX19WQV9BUkdTX18geCAjIyBfX1ZBX0FSR1NfXyAjIyB4ICMj IGMgYTMpICN4ICNfX1ZBX09QVF9fKGEwIF9fVkFfQVJHU19fIHggIyMgX19WQV9BUkdTX18gIyMg eCAjIyBjIGEwKSA7Ci0rI2RlZmluZSBvKHgsIC4uLikgI19fVkFfT1BUX18oeCMjeCB4IyN4KQot KyNkZWZpbmUgcCh4LCAuLi4pICNfX1ZBX09QVF9fKF9QcmFnbWEgKCJmb29iYXIiKSkKLSsjZGVm aW5lIHEoLi4uKSAjX19WQV9PUFRfXygvKiBmb28gKi94LyogYmFyICovKQotK2NvbnN0IGNoYXIg KnYxID0gZigpOwotK2NvbnN0IGNoYXIgKnYyID0gZigxMjMpOwotK2NvbnN0IGNoYXIgKnYzID0g aygxKTsKLStjb25zdCBjaGFyICp2NCA9IGsoMSwgMiwgMyApOwotK2NvbnN0IGNoYXIgKnY1ID0g bChhKCkpOwotK2NvbnN0IGNoYXIgKnY2ID0gbChhMSBhKCksIDEpOwotK2NvbnN0IGNoYXIgKnY3 ID0gbSgpOwotK2NvbnN0IGNoYXIgKnY4ID0gbSgsKTsKLStjb25zdCBjaGFyICp2OSA9IG0oLGEz KTsKLStjb25zdCBjaGFyICp2MTAgPSBtKGEzLGEoKSxhMCk7Ci0rY29uc3QgY2hhciAqdjExIG4o KQotK2NvbnN0IGNoYXIgKnYxMiBuKCwpCi0rY29uc3QgY2hhciAqdjEzIG4oLGEwKQotK2NvbnN0 IGNoYXIgKnYxNCBuKGEwLCBhKCksYTApCi0rY29uc3QgY2hhciAqdjE1ID0gbygsIDApOwotK2Nv bnN0IGNoYXIgKnYxNiA9IHAoMCk7Ci0rY29uc3QgY2hhciAqdjE3ID0gcCgwLCAxKTsKLStjb25z dCBjaGFyICp2MTggPSBxKCk7Ci0rY29uc3QgY2hhciAqdjE5ID0gcSgxKTsKLSsKLStpbnQKLStt YWluICgpCi0rewotKyAgaWYgKF9fYnVpbHRpbl9zdHJjbXAgKHYxLCAiIikKLSsgICAgICB8fCBf X2J1aWx0aW5fc3RyY21wICh2MiwgImcgaSgwKSIpCi0rICAgICAgfHwgX19idWlsdGluX3N0cmNt cCAodjMsICIxIikKLSsgICAgICB8fCBfX2J1aWx0aW5fc3RyY21wICh2NCwgIjExMiwgMyIpCi0r ICAgICAgfHwgX19idWlsdGluX3N0cmNtcCAodjUsICIiKQotKyAgICAgIHx8IF9fYnVpbHRpbl9z dHJjbXAgKHY2LCAiYTEgZm9vYTEgZm9vYTAgYiAoICkiKQotKyAgICAgIHx8IF9fYnVpbHRpbl9z dHJjbXAgKHY3LCAiYSgpYSgpIikKLSsgICAgICB8fCBfX2J1aWx0aW5fc3RyY21wICh2OCwgImEo KWEoKSIpCi0rICAgICAgfHwgX19idWlsdGluX3N0cmNtcCAodjksICJhKClhMyBmb29hMyBmb29h MiBmb29hMSBmb29hMCBhM2MgYTNhKCkiKQotKyAgICAgIHx8IF9fYnVpbHRpbl9zdHJjbXAgKHYx MCwgImEoKWEzIGIgKCApLGZvb2EwIGEzYSgpLGEwYTNjIGEzYSgpIikKLSsgICAgICB8fCBfX2J1 aWx0aW5fc3RyY21wICh2MTEsICIiKQotKyAgICAgIHx8IF9fYnVpbHRpbl9zdHJjbXAgKHYxMiwg IiIpCi0rICAgICAgfHwgX19idWlsdGluX3N0cmNtcCAodjEzLCAiYTMgZm9vYTAgYTBjIGEzYTAg Zm9vYTAgYTBjIGEwIikKLSsgICAgICB8fCBfX2J1aWx0aW5fc3RyY21wICh2MTQsICJhMyBiICgg KSxmb29hMCBhMGEoKSxhMGEwYyBhM2EwYTAgYiAoICksZm9vYTAgYTBhKCksYTBhMGMgYTAiKQot KyAgICAgIHx8IF9fYnVpbHRpbl9zdHJjbXAgKHYxNSwgIiIpCi0rICAgICAgfHwgX19idWlsdGlu X3N0cmNtcCAodjE2LCAiIikKLSsgICAgICB8fCBfX2J1aWx0aW5fc3RyY21wICh2MTcsICJfUHJh Z21hIChcImZvb2JhclwiKSIpCi0rICAgICAgfHwgX19idWlsdGluX3N0cmNtcCAodjE4LCAiIikK LSsgICAgICB8fCBfX2J1aWx0aW5fc3RyY21wICh2MTksICJ4IikpCi0rICAgIF9fYnVpbHRpbl9h Ym9ydCAoKTsKLSsgIHJldHVybiAwOwotK30KLS0tLSBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1v bi9jcHAvdmEtb3B0LTYuYwotKysrIGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2NwcC92YS1v cHQtNi5jCi1AQCAtMCwwICsxLDE3IEBACi0rLyogeyBkZy1kbyBwcmVwcm9jZXNzIH0gKi8KLSsv KiB7IGRnLW9wdGlvbnMgIi1zdGQ9Z251OTkiIHsgdGFyZ2V0IGMgfSB9ICovCi0rLyogeyBkZy1v cHRpb25zICItc3RkPWMrKzIwIiB7IHRhcmdldCBjKysgfSB9ICovCi0rCi0rI2RlZmluZSBhICIi Ci0rI2RlZmluZSBiKC4uLikgYSAjIyAjX19WQV9PUFRfXygxKQkvKiB7IGRnLWVycm9yICJwYXN0 aW5nIFwiYVwiIGFuZCBcIlwiXCJcIiBkb2VzIG5vdCBnaXZlIGEgdmFsaWQgcHJlcHJvY2Vzc2lu ZyB0b2tlbiIgfSAqLwotKyNkZWZpbmUgYyguLi4pIGEgIyMgI19fVkFfT1BUX18oMSkJLyogeyBk Zy1lcnJvciAicGFzdGluZyBcImFcIiBhbmQgXCJcIjFcIlwiIGRvZXMgbm90IGdpdmUgYSB2YWxp ZCBwcmVwcm9jZXNzaW5nIHRva2VuIiB9ICovCi0rI2RlZmluZSBkKC4uLikgI19fVkFfT1BUX18o MSkgIyMgIQotKyNkZWZpbmUgZSguLi4pICNfX1ZBX09QVF9fKDEpICMjICEKLSsjZGVmaW5lIGYo Li4uKSAjX19WQV9PUFRfXyguICMjICEpCi0rI2RlZmluZSBnKC4uLikgI19fVkFfT1BUX18oLiAj IyAhKQotK2IoKQotK2MoMSkKLStkKCAgICkJCS8qIHsgZGctZXJyb3IgInBhc3RpbmcgXCJcIlwi XCIgYW5kIFwiIVwiIGRvZXMgbm90IGdpdmUgYSB2YWxpZCBwcmVwcm9jZXNzaW5nIHRva2VuIiB9 ICovCi0rZSggIDEgKQkJLyogeyBkZy1lcnJvciAicGFzdGluZyBcIlwiMVwiXCIgYW5kIFwiIVwi IGRvZXMgbm90IGdpdmUgYSB2YWxpZCBwcmVwcm9jZXNzaW5nIHRva2VuIiB9ICovCi0rZigpCi0r ZygwKQkJLyogeyBkZy1lcnJvciAicGFzdGluZyBcIi5cIiBhbmQgXCIhXCIgZG9lcyBub3QgZ2l2 ZSBhIHZhbGlkIHByZXByb2Nlc3NpbmcgdG9rZW4iIH0gKi8KCmRpZmYgLS1naXQgYS9nY2MxMi1X bm8tZm9ybWF0LXNlY3VyaXR5LnBhdGNoIGIvZ2NjMTItV25vLWZvcm1hdC1zZWN1cml0eS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYWJmNjNiCi0tLSAvZGV2L251 bGwKKysrIGIvZ2NjMTItV25vLWZvcm1hdC1zZWN1cml0eS5wYXRjaApAQCAtMCwwICsxLDU4IEBA CisyMDIyLTAxLTA3ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSogTWFr ZWZpbGUudHBsIChHT0NGTEFHUywgR0RDRkxBR1MpOiBGaWx0ZXIgb3V0IC1XZm9ybWF0LXNlY3Vy aXR5LgorCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgorCisyMDE3LTAyLTI1ICBKYWt1YiBK ZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSogY29uZmlndXJlLmFjOiBXaGVuIGFkZGlu ZyAtV25vLWZvcm1hdCwgYWxzbyBhZGQgLVduby1mb3JtYXQtc2VjdXJpdHkuCisJKiBjb25maWd1 cmU6IFJlZ2VuZXJhdGVkLgorCistLS0gZ2NjL2NvbmZpZ3VyZS5hYy5qagkyMDE3LTAyLTEzIDEy OjIwOjUzLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9jb25maWd1cmUuYWMJMjAxNy0wMi0yNSAx Mjo0MjozMi44NTkxNzU0MDMgKzAxMDAKK0BAIC00ODAsNyArNDgwLDcgQEAgQUNfQVJHX0VOQUJM RShidWlsZC1mb3JtYXQtd2FybmluZ3MsCisgICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWJ1 aWxkLWZvcm1hdC13YXJuaW5nc10sW2Rvbid0IHVzZSAtV2Zvcm1hdCB3aGlsZSBidWlsZGluZyBH Q0NdKSwKKyAgIFtdLFtlbmFibGVfYnVpbGRfZm9ybWF0X3dhcm5pbmdzPXllc10pCisgQVNfSUYo W3Rlc3QgJGVuYWJsZV9idWlsZF9mb3JtYXRfd2FybmluZ3MgPSBub10sCistICAgICAgW3dmX29w dD0tV25vLWZvcm1hdF0sW3dmX29wdD1dKQorKyAgICAgIFt3Zl9vcHQ9Ii1Xbm8tZm9ybWF0IC1X bm8tZm9ybWF0LXNlY3VyaXR5Il0sW3dmX29wdD1dKQorIEFDWF9QUk9HX0NYWF9XQVJOSU5HX09Q VFMoCisgCW00X3F1b3RlKG00X2RvKFstVyAtV2FsbCAtV25vLW5hcnJvd2luZyAtV3dyaXRlLXN0 cmluZ3MgXSwKKyAJCSAgICAgICBbLVdjYXN0LXF1YWwgLVduby1lcnJvcj1mb3JtYXQtZGlhZyAk d2Zfb3B0XSkpLAorLS0tIGdjYy9jb25maWd1cmUuamoJMjAxNy0wMi0xMyAxMjoyMDo1Mi4wMDAw MDAwMDAgKzAxMDAKKysrKyBnY2MvY29uZmlndXJlCTIwMTctMDItMjUgMTI6NDI6NTAuMDQxOTQ2 MzkxICswMTAwCitAQCAtNjY0Nyw3ICs2NjQ3LDcgQEAgZWxzZQorIGZpCisgCisgaWYgdGVzdCAk ZW5hYmxlX2J1aWxkX2Zvcm1hdF93YXJuaW5ncyA9IG5vOyB0aGVuIDoKKy0gIHdmX29wdD0tV25v LWZvcm1hdAorKyAgd2Zfb3B0PSItV25vLWZvcm1hdCAtV25vLWZvcm1hdC1zZWN1cml0eSIKKyBl bHNlCisgICB3Zl9vcHQ9CisgZmkKKy0tLSBNYWtlZmlsZS50cGwuamoJMjAyMS0xMi0zMCAxNTox Mjo0Mi4xODgxNjQ4NDcgKzAxMDAKKysrKyBNYWtlZmlsZS50cGwJMjAyMi0wMS0wNyAxMjowNjox Mi4xMTU1NTA3MTQgKzAxMDAKK0BAIC00NDcsOCArNDQ3LDggQEAgTERGTEFHUyA9IEBMREZMQUdT QAorIExJQkNGTEFHUyA9ICQoQ0ZMQUdTKQorIENYWEZMQUdTID0gQENYWEZMQUdTQAorIExJQkNY WEZMQUdTID0gJChDWFhGTEFHUykgLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMKKy1HT0NGTEFHUyA9 ICQoQ0ZMQUdTKQorLUdEQ0ZMQUdTID0gJChDRkxBR1MpCisrR09DRkxBR1MgPSAkKGZpbHRlci1v dXQgLVdmb3JtYXQtc2VjdXJpdHksJChDRkxBR1MpKQorK0dEQ0ZMQUdTID0gJChmaWx0ZXItb3V0 IC1XZm9ybWF0LXNlY3VyaXR5LCQoQ0ZMQUdTKSkKKyAKKyAjIFBhc3MgYWRkaXRpb25hbCBQR08g YW5kIExUTyBjb21waWxlciBvcHRpb25zIHRvIHRoZSBQR08gYnVpbGQuCisgQlVJTERfQ0ZMQUdT ID0gJChQR09fQlVJTERfQ0ZMQUdTKSAkKFBHT19CVUlMRF9MVE9fQ0ZMQUdTKQorLS0tIE1ha2Vm aWxlLmluLmpqCTIwMjEtMTItMzAgMTU6MTI6NDIuMTg4MTY0ODQ3ICswMTAwCisrKysgTWFrZWZp bGUuaW4JMjAyMi0wMS0wNyAxMjowNjoyNy4zMzUzMzQ1NjEgKzAxMDAKK0BAIC00NDQsOCArNDQ0 LDggQEAgTERGTEFHUyA9IEBMREZMQUdTQAorIExJQkNGTEFHUyA9ICQoQ0ZMQUdTKQorIENYWEZM QUdTID0gQENYWEZMQUdTQAorIExJQkNYWEZMQUdTID0gJChDWFhGTEFHUykgLWZuby1pbXBsaWNp dC10ZW1wbGF0ZXMKKy1HT0NGTEFHUyA9ICQoQ0ZMQUdTKQorLUdEQ0ZMQUdTID0gJChDRkxBR1Mp CisrR09DRkxBR1MgPSAkKGZpbHRlci1vdXQgLVdmb3JtYXQtc2VjdXJpdHksJChDRkxBR1MpKQor K0dEQ0ZMQUdTID0gJChmaWx0ZXItb3V0IC1XZm9ybWF0LXNlY3VyaXR5LCQoQ0ZMQUdTKSkKKyAK KyAjIFBhc3MgYWRkaXRpb25hbCBQR08gYW5kIExUTyBjb21waWxlciBvcHRpb25zIHRvIHRoZSBQ R08gYnVpbGQuCisgQlVJTERfQ0ZMQUdTID0gJChQR09fQlVJTERfQ0ZMQUdTKSAkKFBHT19CVUlM RF9MVE9fQ0ZMQUdTKQoKZGlmZiAtLWdpdCBhL2djYzEyLWQtc2hhcmVkLWxpYnBob2Jvcy5wYXRj aCBiL2djYzEyLWQtc2hhcmVkLWxpYnBob2Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi42Mzg0YmJiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTItZC1zaGFyZWQt bGlicGhvYm9zLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKzIwMTktMDEtMTcgIEpha3ViIEplbGlu ZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJKiBkLXNwZWMuY2MgKGxhbmdfc3BlY2lmaWNfZHJp dmVyKTogTWFrZSAtc2hhcmVkLWxpYnBob2JvcworCXRoZSBkZWZhdWx0IHJhdGhlciB0aGFuIC1z dGF0aWMtbGlicGhvYm9zLgorCistLS0gZ2NjL2QvZC1zcGVjLmNjLmpqCTIwMTktMDEtMDEgMTI6 Mzc6NDkuNTAyNDQ0MjU3ICswMTAwCisrKysgZ2NjL2QvZC1zcGVjLmNjCTIwMTktMDEtMTcgMTc6 MDk6NDUuMzY0OTQ5MjQ2ICswMTAwCitAQCAtNDA4LDkgKzQwOCw5IEBAIGxhbmdfc3BlY2lmaWNf ZHJpdmVyIChjbF9kZWNvZGVkX29wdGlvbgorICAgLyogQWRkIGAtbGdwaG9ib3MnIGlmIHdlIGhh dmVuJ3QgYWxyZWFkeSBkb25lIHNvLiAgKi8KKyAgIGlmIChwaG9ib3NfbGlicmFyeSAhPSBQSE9C T1NfTk9MSU5LKQorICAgICB7CistICAgICAgLyogRGVmYXVsdCB0byBzdGF0aWMgbGlua2luZy4g ICovCistICAgICAgaWYgKHBob2Jvc19saWJyYXJ5ICE9IFBIT0JPU19EWU5BTUlDKQorLQlwaG9i b3NfbGlicmFyeSA9IFBIT0JPU19TVEFUSUM7CisrICAgICAgLyogRGVmYXVsdCB0byBzaGFyZWQg bGlua2luZy4gICovCisrICAgICAgaWYgKHBob2Jvc19saWJyYXJ5ICE9IFBIT0JPU19TVEFUSUMp CisrCXBob2Jvc19saWJyYXJ5ID0gUEhPQk9TX0RZTkFNSUM7CisgCisgI2lmZGVmIEhBVkVfTERf U1RBVElDX0RZTkFNSUMKKyAgICAgICBpZiAocGhvYm9zX2xpYnJhcnkgPT0gUEhPQk9TX1NUQVRJ QyAmJiAhc3RhdGljX2xpbmspCgpkaWZmIC0tZ2l0IGEvZ2NjMTItZm9ydHJhbi1mZGVjLWFkZC1t aXNzaW5nLWluZGV4ZXMucGF0Y2ggYi9nY2MxMi1mb3J0cmFuLWZkZWMtYWRkLW1pc3NpbmctaW5k ZXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzA3Yjk0Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjMTItZm9ydHJhbi1mZGVjLWFkZC1taXNzaW5nLWluZGV4ZXMu cGF0Y2gKQEAgLTAsMCArMSwxODEgQEAKK0Zyb20gNzAwMWQ1MjJkMDI3MzY1OGQ5ZTFmYjEyY2Ex MDRkNTZiZmNhZTM0ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgRWdnbGVz dG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5nbnUub3JnPgorRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAx NTowNjowOCArMDAwMAorU3ViamVjdDogW1BBVENIIDEwLzEwXSBGaWxsIGluIG1pc3NpbmcgYXJy YXkgZGltZW5zaW9ucyB1c2luZyB0aGUgbG93ZXIgYm91bmQKKworVXNlIC1mZGVjLWFkZC1taXNz aW5nLWluZGV4ZXMgdG8gZW5hYmxlIGZlYXR1cmUuIEFsc28gZW5hYmxlZCBieSBmZGVjLgorLS0t CisgZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgICAgICAgICAgICAgICAgICB8ICA4ICsrKysrKysrCisg Z2NjL2ZvcnRyYW4vb3B0aW9ucy5jICAgICAgICAgICAgICAgICB8ICAxICsKKyBnY2MvZm9ydHJh bi9yZXNvbHZlLmMgICAgICAgICAgICAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysr CisgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV82LmY5MCB8IDIzICsrKysrKysrKysr KysrKysrKysrKysrCisgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV83LmY5MCB8IDIz ICsrKysrKysrKysrKysrKysrKysrKysrCisgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJh eV84LmY5MCB8IDIzICsrKysrKysrKysrKysrKysrKysrKysrCisgNiBmaWxlcyBjaGFuZ2VkLCAx MDIgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2FycmF5XzYuZjkwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvYXJyYXlfNy5mOTAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9hcnJheV84LmY5MAorCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5v cHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAoraW5kZXggMDE5Yzc5OGNmMDkuLmYyN2RlODhlYTNm IDEwMDY0NAorLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKKysrKyBiL2djYy9mb3J0cmFuL2xh bmcub3B0CitAQCAtMjgxLDYgKzI4MSwxMCBAQCBXbWlzc2luZy1pbmNsdWRlLWRpcnMKKyBGb3J0 cmFuCisgOyBEb2N1bWVudGVkIGluIEMvQysrCisgCisrV21pc3NpbmctaW5kZXgKKytGb3J0cmFu IFZhcih3YXJuX21pc3NpbmdfaW5kZXgpIFdhcm5pbmcgTGFuZ0VuYWJsZWRCeShGb3J0cmFuLFdh bGwpCisrV2FybiB0aGF0IHRoZSBsb3dlciBib3VuZCBvZiBhIG1pc3NpbmcgaW5kZXggd2lsbCBi ZSB1c2VkLgorKworIFd1c2Utd2l0aG91dC1vbmx5CisgRm9ydHJhbiBWYXIod2Fybl91c2Vfd2l0 aG91dF9vbmx5KSBXYXJuaW5nCisgV2FybiBhYm91dCBVU0Ugc3RhdGVtZW50cyB0aGF0IGhhdmUg bm8gT05MWSBxdWFsaWZpZXIuCitAQCAtNDYwLDYgKzQ2NCwxMCBAQCBmZGVjCisgRm9ydHJhbiBW YXIoZmxhZ19kZWMpCisgRW5hYmxlIGFsbCBERUMgbGFuZ3VhZ2UgZXh0ZW5zaW9ucy4KKyAKKytm ZGVjLWFkZC1taXNzaW5nLWluZGV4ZXMKKytGb3J0cmFuIFZhcihmbGFnX2RlY19hZGRfbWlzc2lu Z19pbmRleGVzKQorK0VuYWJsZSB0aGUgYWRkaXRpb24gb2YgbWlzc2luZyBpbmRleGVzIHVzaW5n IHRoZWlyIGxvd2VyIGJvdW5kcy4KKysKKyBmZGVjLWJsYW5rLWZvcm1hdC1pdGVtCisgRm9ydHJh biBWYXIoZmxhZ19kZWNfYmxhbmtfZm9ybWF0X2l0ZW0pCisgRW5hYmxlIHRoZSB1c2Ugb2YgYmxh bmsgZm9ybWF0IGl0ZW1zIGluIGZvcm1hdCBzdHJpbmdzLgorZGlmZiAtLWdpdCBhL2djYy9mb3J0 cmFuL29wdGlvbnMuYyBiL2djYy9mb3J0cmFuL29wdGlvbnMuYworaW5kZXggMDUwZjU2ZmRjMjUu LmMzYjI4MjI2ODVkIDEwMDY0NAorLS0tIGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCisrKysgYi9n Y2MvZm9ydHJhbi9vcHRpb25zLmMKK0BAIC04NCw2ICs4NCw3IEBAIHNldF9kZWNfZmxhZ3MgKGlu dCB2YWx1ZSkKKyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25fbG9naWNhbF9pZiwgdmFsdWUs IHZhbHVlKTsKKyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19wcm9tb3Rpb24sIHZhbHVlLCB2YWx1 ZSk7CisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfc2VxdWVuY2UsIHZhbHVlLCB2YWx1ZSk7Cisr ICBTRVRfQklURkxBRyAoZmxhZ19kZWNfYWRkX21pc3NpbmdfaW5kZXhlcywgdmFsdWUsIHZhbHVl KTsKKyB9CisgCisgLyogRmluYWxpemUgREVDIGZsYWdzLiAgKi8KK2RpZmYgLS1naXQgYS9nY2Mv Zm9ydHJhbi9yZXNvbHZlLmMgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKK2luZGV4IGZlN2QwY2M1 OTQ0Li4wZWZlZWRhYjQ2ZSAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL3Jlc29sdmUuYworKysr IGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCitAQCAtNDgwNiw2ICs0ODA2LDMwIEBAIGNvbXBhcmVf c3BlY190b19yZWYgKGdmY19hcnJheV9yZWYgKmFyKQorICAgaWYgKGFyLT50eXBlID09IEFSX0ZV TEwpCisgICAgIHJldHVybiB0cnVlOworIAorKyAgaWYgKGZsYWdfZGVjX2FkZF9taXNzaW5nX2lu ZGV4ZXMgJiYgYXMtPnJhbmsgPiBhci0+ZGltZW4pCisrICAgIHsKKysgICAgICAvKiBBZGQgaW4g dGhlIG1pc3NpbmcgZGltZW5zaW9ucywgYXNzdW1pbmcgdGhleSBhcmUgdGhlIGxvd2VyIGJvdW5k CisrCSBvZiB0aGF0IGRpbWVuc2lvbiBpZiBub3Qgc3BlY2lmaWVkLiAgKi8KKysgICAgICBpbnQg ajsKKysgICAgICBpZiAod2Fybl9taXNzaW5nX2luZGV4KQorKwl7CisrCSAgZ2ZjX3dhcm5pbmcg KE9QVF9XbWlzc2luZ19pbmRleCwgIlVzaW5nIHRoZSBsb3dlciBib3VuZCBmb3IgIgorKwkJICAg ICAgICJ1bnNwZWNpZmllZCBkaW1lbnNpb25zIGluIGFycmF5IHJlZmVyZW5jZSBhdCAlTCIsCisr CQkgICAgICAgJmFyLT53aGVyZSk7CisrCX0KKysgICAgICAvKiBPdGhlciBwYXJ0cyBvZiB0aGUg Y29kZSBpdGVyYXRlIGFyLT5zdGFydCBhbmQgYXItPmVuZCBmcm9tIDAgdG8KKysJIGFyLT5kaW1l biwgc28gaXQgaXMgc2FmZSB0byBhc3N1bWUgc2xvdHMgZnJvbSBhci0+ZGltZW4gdXB3YXJkcwor KwkgYXJlIHVudXNlZCAoaS5lLiB0aGVyZSBhcmUgbm8gZ2FwczsgdGhlIHNwZWNpZmllZCBpbmRl eGVzIGFyZQorKwkgY29udGlndW91cyBhbmQgc3RhcnQgYXQgemVyby4gICovCisrICAgICAgZm9y KGogPSBhci0+ZGltZW47IGogPD0gYXMtPnJhbms7IGorKykKKysJeworKwkgIGFyLT5zdGFydFtq XSA9IGdmY19jb3B5X2V4cHIgKGFzLT5sb3dlcltqXSk7CisrCSAgYXItPmVuZFtqXSAgID0gZ2Zj X2NvcHlfZXhwciAoYXMtPmxvd2VyW2pdKTsKKysJICBhci0+ZGltZW5fdHlwZVtqXSA9IERJTUVO X0VMRU1FTlQ7CisrCX0KKysgICAgICBhci0+ZGltZW4gPSBhcy0+cmFuazsKKysgICAgfQorKwor ICAgaWYgKGFzLT5yYW5rICE9IGFyLT5kaW1lbikKKyAgICAgeworICAgICAgIGdmY19lcnJvciAo IlJhbmsgbWlzbWF0Y2ggaW4gYXJyYXkgcmVmZXJlbmNlIGF0ICVMICglZC8lZCkiLAorZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXJyYXlfNi5mOTAgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2FycmF5XzYuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMDAuLjVjMjZlMThhYjNlCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2FycmF5XzYuZjkwCitAQCAtMCwwICsxLDIzIEBACisrISB7IGRnLWRv IHJ1biB9CisrISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1XbWlzc2luZy1pbmRleCIgfSEKKyshIENo ZWNrcyB0aGF0IHVuZGVyLXNwZWNpZmllZCBhcnJheXMgKHJlZmVyZW5jaW5nIGFycmF5cyB3aXRo IGZld2VyCisrISBkaW1lbnNpb25zIHRoYW4gdGhlIGFycmF5IHNwZWMpIGdlbmVyYXRlcyBhIHdh cm5pbmcuCisrIQorKyEgQ29udHJpYnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1 ckBjb2RldGhpbmsuY28udWs+CisrISBVcGRhdGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVn Z2xlc3RvbkBjb2RldGhpbmsuY28udWs+CisrIQorKworK3Byb2dyYW0gdW5kZXJfc3BlY2lmaWVk X2FycmF5CisrICAgIGludGVnZXIgY2hlc3Nib2FyZCg4LDgpCisrICAgIGludGVnZXIgY2hlc3Ni b2FyZDNkKDgsOCwzOjUpCisrICAgIGNoZXNzYm9hcmQoMywxKSA9IDUKKysgICAgY2hlc3Nib2Fy ZCgzLDIpID0gNTUKKysgICAgY2hlc3Nib2FyZDNkKDQsMSwzKSA9IDYKKysgICAgY2hlc3Nib2Fy ZDNkKDQsMSw0KSA9IDY2CisrICAgIGNoZXNzYm9hcmQzZCg0LDQsMykgPSA3CisrICAgIGNoZXNz Ym9hcmQzZCg0LDQsNCkgPSA3NworKyAgCisrICAgIGlmIChjaGVzc2JvYXJkKDMpLm5lLjUpIHN0 b3AgMSAgISB7IGRnLXdhcm5pbmcgIlVzaW5nIHRoZSBsb3dlciBib3VuZCBmb3IgdW5zcGVjaWZp ZWQgZGltZW5zaW9ucyBpbiBhcnJheSByZWZlcmVuY2UiIH0KKysgICAgaWYgKGNoZXNzYm9hcmQz ZCg0KS5uZS42KSBzdG9wIDIgICEgeyBkZy13YXJuaW5nICJVc2luZyB0aGUgbG93ZXIgYm91bmQg Zm9yIHVuc3BlY2lmaWVkIGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIiB9CisrICAgIGlm IChjaGVzc2JvYXJkM2QoNCw0KS5uZS43KSBzdG9wIDMgICEgeyBkZy13YXJuaW5nICJVc2luZyB0 aGUgbG93ZXIgYm91bmQgZm9yIHVuc3BlY2lmaWVkIGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJl bmNlIiB9CisrZW5kIHByb2dyYW0KK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2FycmF5XzcuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV83LmY5MAor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi41NTg4YTViZDAyZAorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV83LmY5MAor QEAgLTAsMCArMSwyMyBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1vcHRpb25zICItZmRl Yy1hZGQtbWlzc2luZy1pbmRleGVzIC1XbWlzc2luZy1pbmRleCIgfSEKKyshIENoZWNrcyB0aGF0 IHVuZGVyLXNwZWNpZmllZCBhcnJheXMgKHJlZmVyZW5jaW5nIGFycmF5cyB3aXRoIGZld2VyCisr ISBkaW1lbnNpb25zIHRoYW4gdGhlIGFycmF5IHNwZWMpIGdlbmVyYXRlcyBhIHdhcm5pbmcuCisr IQorKyEgQ29udHJpYnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhp bmsuY28udWs+CisrISBVcGRhdGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBj b2RldGhpbmsuY28udWs+CisrIQorKworK3Byb2dyYW0gdW5kZXJfc3BlY2lmaWVkX2FycmF5Cisr ICAgIGludGVnZXIgY2hlc3Nib2FyZCg4LDgpCisrICAgIGludGVnZXIgY2hlc3Nib2FyZDNkKDgs OCwzOjUpCisrICAgIGNoZXNzYm9hcmQoMywxKSA9IDUKKysgICAgY2hlc3Nib2FyZCgzLDIpID0g NTUKKysgICAgY2hlc3Nib2FyZDNkKDQsMSwzKSA9IDYKKysgICAgY2hlc3Nib2FyZDNkKDQsMSw0 KSA9IDY2CisrICAgIGNoZXNzYm9hcmQzZCg0LDQsMykgPSA3CisrICAgIGNoZXNzYm9hcmQzZCg0 LDQsNCkgPSA3NworKyAgCisrICAgIGlmIChjaGVzc2JvYXJkKDMpLm5lLjUpIHN0b3AgMSAgISB7 IGRnLXdhcm5pbmcgIlVzaW5nIHRoZSBsb3dlciBib3VuZCBmb3IgdW5zcGVjaWZpZWQgZGltZW5z aW9ucyBpbiBhcnJheSByZWZlcmVuY2UiIH0KKysgICAgaWYgKGNoZXNzYm9hcmQzZCg0KS5uZS42 KSBzdG9wIDIgICEgeyBkZy13YXJuaW5nICJVc2luZyB0aGUgbG93ZXIgYm91bmQgZm9yIHVuc3Bl Y2lmaWVkIGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIiB9CisrICAgIGlmIChjaGVzc2Jv YXJkM2QoNCw0KS5uZS43KSBzdG9wIDMgICEgeyBkZy13YXJuaW5nICJVc2luZyB0aGUgbG93ZXIg Ym91bmQgZm9yIHVuc3BlY2lmaWVkIGRpbWVuc2lvbnMgaW4gYXJyYXkgcmVmZXJlbmNlIiB9Cisr ZW5kIHByb2dyYW0KK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2FycmF5 XzguZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV84LmY5MAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi5mMGQyZWY1ZTM3ZAorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hcnJheV84LmY5MAorQEAgLTAsMCAr MSwyMyBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZu by1kZWMtYWRkLW1pc3NpbmctaW5kZXhlcyIgfSEKKyshIENoZWNrcyB0aGF0IHVuZGVyLXNwZWNp ZmllZCBhcnJheXMgKHJlZmVyZW5jaW5nIGFycmF5cyB3aXRoIGZld2VyCisrISBkaW1lbnNpb25z IHRoYW4gdGhlIGFycmF5IHNwZWMpIGdlbmVyYXRlcyBhIHdhcm5pbmcuCisrIQorKyEgQ29udHJp YnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+Cisr ISBVcGRhdGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY28u dWs+CisrIQorKworK3Byb2dyYW0gdW5kZXJfc3BlY2lmaWVkX2FycmF5CisrICAgIGludGVnZXIg Y2hlc3Nib2FyZCg4LDgpCisrICAgIGludGVnZXIgY2hlc3Nib2FyZDNkKDgsOCwzOjUpCisrICAg IGNoZXNzYm9hcmQoMywxKSA9IDUKKysgICAgY2hlc3Nib2FyZCgzLDIpID0gNTUKKysgICAgY2hl c3Nib2FyZDNkKDQsMSwzKSA9IDYKKysgICAgY2hlc3Nib2FyZDNkKDQsMSw0KSA9IDY2CisrICAg IGNoZXNzYm9hcmQzZCg0LDQsMykgPSA3CisrICAgIGNoZXNzYm9hcmQzZCg0LDQsNCkgPSA3Nwor KyAgCisrICAgIGlmIChjaGVzc2JvYXJkKDMpLm5lLjUpIHN0b3AgMSAgISB7IGRnLWVycm9yICJS YW5rIG1pc21hdGNoIiB9CisrICAgIGlmIChjaGVzc2JvYXJkM2QoNCkubmUuNikgc3RvcCAyICAh IHsgZGctZXJyb3IgIlJhbmsgbWlzbWF0Y2giIH0KKysgICAgaWYgKGNoZXNzYm9hcmQzZCg0LDQp Lm5lLjcpIHN0b3AgMyAgISB7IGRnLWVycm9yICJSYW5rIG1pc21hdGNoIiB9CisrZW5kIHByb2dy YW0KKy0tIAorMi4yNy4wCisKCmRpZmYgLS1naXQgYS9nY2MxMi1mb3J0cmFuLWZkZWMtZHVwbGlj YXRlcy5wYXRjaCBiL2djYzEyLWZvcnRyYW4tZmRlYy1kdXBsaWNhdGVzLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1ZDExMDQKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MxMi1mb3J0cmFuLWZkZWMtZHVwbGljYXRlcy5wYXRjaApAQCAtMCwwICsxLDIxNSBAQAorRnJv bSAyM2IxZmNiMTA0YzY2NjQyOTQ1MWZmYWY5MzZmOGRhNWZjZDNkNDNhIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogTWFyayBFZ2dsZXN0b24gPG1hcmtlZ2dsZXN0b25AZ2NjLmdudS5v cmc+CitEYXRlOiBGcmksIDIyIEphbiAyMDIxIDEyOjI5OjQ3ICswMDAwCitTdWJqZWN0OiBbUEFU Q0ggMDEvMTBdIEFsbG93IGR1cGxpY2F0ZSBkZWNsYXJhdGlvbnMuCisKK0VuYWJsZWQgYnkgLWZk ZWMtZHVwbGljYXRlcyBhbmQgLWZkZWMuCisKK1NvbWUgZml4ZXMgYnkgSmltIE1hY0FydGh1ciA8 amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+CitBZGRpdGlvbiBvZiAtZmRlYy1kdXBsaWNh dGVzIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorLS0t CisgZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysr KworIGdjYy9mb3J0cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxICsK KyBnY2MvZm9ydHJhbi9zeW1ib2wuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyMSArKysr KysrKysrKysrKysrKy0tCisgLi4uL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwICAg ICAgICAgIHwgMTMgKysrKysrKysrKysrCisgLi4uL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBl XzUuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCisgLi4uL2dmb3J0cmFuLmRnL2R1cGxp Y2F0ZV90eXBlXzYuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCisgLi4uL2dmb3J0cmFu LmRnL2R1cGxpY2F0ZV90eXBlXzcuZjkwICAgICAgICAgIHwgMTMgKysrKysrKysrKysrCisgLi4u L2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzguZjkwICAgICAgICAgIHwgMTIgKysrKysrKysr KysKKyAuLi4vZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOS5mOTAgICAgICAgICAgfCAxMiAr KysrKysrKysrKworIDkgZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVw bGljYXRlX3R5cGVfNC5mOTAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5MAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzYuZjkwCisgY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKKyBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV84 LmY5MAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxp Y2F0ZV90eXBlXzkuZjkwCisKK2RpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9sYW5nLm9wdCBiL2dj Yy9mb3J0cmFuL2xhbmcub3B0CitpbmRleCAyYjE5NzdjNTIzYi4uNTJiZDUyMjA1MWUgMTAwNjQ0 CistLS0gYS9nY2MvZm9ydHJhbi9sYW5nLm9wdAorKysrIGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQK K0BAIC00NjksNiArNDY5LDEwIEBAIEZvcnRyYW4gVmFyKGZsYWdfZGVjX2NoYXJfY29udmVyc2lv bnMpCisgRW5hYmxlIHRoZSB1c2Ugb2YgY2hhcmFjdGVyIGxpdGVyYWxzIGluIGFzc2lnbm1lbnRz IGFuZCBkYXRhIHN0YXRlbWVudHMKKyBmb3Igbm9uLWNoYXJhY3RlciB2YXJpYWJsZXMuCisgCisr ZmRlYy1kdXBsaWNhdGVzCisrRm9ydHJhbiBWYXIoZmxhZ19kZWNfZHVwbGljYXRlcykKKytBbGxv dyB2YXJpYmxlcyB0byBiZSBkdXBsaWNhdGVkIGluIHRoZSB0eXBlIHNwZWNpZmljYXRpb24gbWF0 Y2hlcy4KKysKKyBmZGVjLWluY2x1ZGUKKyBGb3J0cmFuIFZhcihmbGFnX2RlY19pbmNsdWRlKQor IEVuYWJsZSBsZWdhY3kgcGFyc2luZyBvZiBJTkNMVURFIGFzIHN0YXRlbWVudC4KK2RpZmYgLS1n aXQgYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMKK2luZGV4 IDNhMGI5OGJmMWVjLi5mMTliYTg3ZjhhMCAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL29wdGlv bnMuYworKysrIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCitAQCAtNzcsNiArNzcsNyBAQCBzZXRf ZGVjX2ZsYWdzIChpbnQgdmFsdWUpCisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfZm9ybWF0X2Rl ZmF1bHRzLCB2YWx1ZSwgdmFsdWUpOworICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2JsYW5rX2Zv cm1hdF9pdGVtLCB2YWx1ZSwgdmFsdWUpOworICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2NoYXJf Y29udmVyc2lvbnMsIHZhbHVlLCB2YWx1ZSk7CisrICBTRVRfQklURkxBRyAoZmxhZ19kZWNfZHVw bGljYXRlcywgdmFsdWUsIHZhbHVlKTsKKyB9CisgCisgLyogRmluYWxpemUgREVDIGZsYWdzLiAg Ki8KK2RpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9zeW1ib2wuYyBiL2djYy9mb3J0cmFuL3N5bWJv bC5jCitpbmRleCAzYjk4OGQxYmUyMi4uOTg0MzE3NWNjMmEgMTAwNjQ0CistLS0gYS9nY2MvZm9y dHJhbi9zeW1ib2wuYworKysrIGIvZ2NjL2ZvcnRyYW4vc3ltYm9sLmMKK0BAIC0xOTk1LDYgKzE5 OTUsOCBAQCBnZmNfYWRkX3R5cGUgKGdmY19zeW1ib2wgKnN5bSwgZ2ZjX3R5cGVzcGVjICp0cywg bG9jdXMgKndoZXJlKQorICAgaWYgKHN5bS0+YXR0ci5yZXN1bHQgJiYgdHlwZSA9PSBCVF9VTktO T1dOICYmIHN5bS0+bnMtPnByb2NfbmFtZSkKKyAgICAgdHlwZSA9IHN5bS0+bnMtPnByb2NfbmFt ZS0+dHMudHlwZTsKKyAKKysgIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7CisrCisgICBpZiAo dHlwZSAhPSBCVF9VTktOT1dOICYmICEoc3ltLT5hdHRyLmZ1bmN0aW9uICYmIHN5bS0+YXR0ci5p bXBsaWNpdF90eXBlKQorICAgICAgICYmICEoZ2ZjX3N0YXRlX3N0YWNrLT5wcmV2aW91cyAmJiBn ZmNfc3RhdGVfc3RhY2stPnByZXZpb3VzLT5wcmV2aW91cworIAkgICAmJiBnZmNfc3RhdGVfc3Rh Y2stPnByZXZpb3VzLT5wcmV2aW91cy0+c3RhdGUgPT0gQ09NUF9TVUJNT0RVTEUpCitAQCAtMjAw Nyw2ICsyMDA5LDIzIEBAIGdmY19hZGRfdHlwZSAoZ2ZjX3N5bWJvbCAqc3ltLCBnZmNfdHlwZXNw ZWMgKnRzLCBsb2N1cyAqd2hlcmUpCisgICAgICAgZWxzZSBpZiAoc3ltLT5hdHRyLmZ1bmN0aW9u ICYmIHN5bS0+YXR0ci5yZXN1bHQpCisgCWdmY19lcnJvciAoIlN5bWJvbCAlcXMgYXQgJUwgYWxy ZWFkeSBoYXMgYmFzaWMgdHlwZSBvZiAlcyIsCisgCQkgICBzeW0tPm5zLT5wcm9jX25hbWUtPm5h bWUsIHdoZXJlLCBnZmNfYmFzaWNfdHlwZW5hbWUgKHR5cGUpKTsKKysgICAgICBlbHNlIGlmIChm bGFnX2RlY19kdXBsaWNhdGVzKQorKwl7CisrCSAgLyogSWdub3JlIHRlbXBvcmFyaWVzIGFuZCBj bGFzcy9wcm9jZWR1cmUgbmFtZXMgKi8KKysJICBpZiAoc3ltLT50cy50eXBlID09IEJUX0RFUklW RUQgfHwgc3ltLT50cy50eXBlID09IEJUX0NMQVNTCisrCSAgICAgIHx8IHN5bS0+dHMudHlwZSA9 PSBCVF9QUk9DRURVUkUpCisrCSAgICByZXR1cm4gZmFsc2U7CisrCisrCSAgaWYgKGdmY19jb21w YXJlX3R5cGVzICgmc3ltLT50cywgdHMpCisrCSAgICAgICYmIChmbGF2b3IgPT0gRkxfVU5LTk9X TiB8fCBmbGF2b3IgPT0gRkxfVkFSSUFCTEUKKysJICAgICAgfHwgZmxhdm9yID09IEZMX1BST0NF RFVSRSkpCisrCSAgICB7CisrCSAgICAgIHJldHVybiBnZmNfbm90aWZ5X3N0ZCAoR0ZDX1NURF9M RUdBQ1ksCisrCQkJCSAgICAgIlN5bWJvbCAnJXFzJyBhdCAlTCBhbHJlYWR5IGhhcyAiCisrCQkJ CSAgICAgImJhc2ljIHR5cGUgb2YgJXMiLCBzeW0tPm5hbWUsIHdoZXJlLAorKwkJCQkgICAgIGdm Y19iYXNpY190eXBlbmFtZSAodHlwZSkpOworKwkgICAgfQorKwl9CisgICAgICAgZWxzZQorIAln ZmNfZXJyb3IgKCJTeW1ib2wgJXFzIGF0ICVMIGFscmVhZHkgaGFzIGJhc2ljIHR5cGUgb2YgJXMi LCBzeW0tPm5hbWUsCisgCQkgICB3aGVyZSwgZ2ZjX2Jhc2ljX3R5cGVuYW1lICh0eXBlKSk7CitA QCAtMjAyMCw4ICsyMDM5LDYgQEAgZ2ZjX2FkZF90eXBlIChnZmNfc3ltYm9sICpzeW0sIGdmY190 eXBlc3BlYyAqdHMsIGxvY3VzICp3aGVyZSkKKyAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0K KyAKKy0gIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7CistCisgICBpZiAoZmxhdm9yID09IEZM X1BST0dSQU0gfHwgZmxhdm9yID09IEZMX0JMT0NLX0RBVEEgfHwgZmxhdm9yID09IEZMX01PRFVM RQorICAgICAgIHx8IGZsYXZvciA9PSBGTF9MQUJFTAorICAgICAgIHx8IChmbGF2b3IgPT0gRkxf UFJPQ0VEVVJFICYmIHN5bS0+YXR0ci5zdWJyb3V0aW5lKQorZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMDAuLmNkZDI5ZWE4ODQ2CistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCitAQCAtMCwwICsxLDEzIEBA CisrISB7IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRpb25zICItc3RkPWY5NSIgfQorKwor KyEgUFIgZm9ydHJhbi8zMDIzOQorKyEgQ2hlY2sgZm9yIGVycm9ycyB3aGVuIGEgc3ltYm9sIGdl dHMgZGVjbGFyZWQgYSB0eXBlIHR3aWNlLCBldmVuIGlmIGl0CisrISBpcyB0aGUgc2FtZS4KKysK KytJTlRFR0VSIEZVTkNUSU9OIGZvbyAoKQorKyAgSU1QTElDSVQgTk9ORQorKyAgSU5URUdFUiA6 OiB4CisrICBJTlRFR0VSIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9mIiB9CisrICB4 ID0gNDIKKytFTkQgRlVOQ1RJT04gZm9vCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZHVwbGljYXRlX3R5cGVfNS5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAw MDAwMC4uMDBmOTMxODA5YWEKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNS5mOTAKK0BAIC0wLDAgKzEsMTMgQEAKKyshIHsgZGct ZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0IGNhc2UgY29u dHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+ CisrIQorKworK3Byb2dyYW0gdGVzdAorKyAgaW1wbGljaXQgbm9uZQorKyAgaW50ZWdlciA6OiB4 CisrICBpbnRlZ2VyIDo6IHgKKysgIHggPSA0MgorKyAgaWYgKHggLz0gNDIpIHN0b3AgMQorK2Vu ZCBwcm9ncmFtIHRlc3QKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1 cGxpY2F0ZV90eXBlXzYuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVf dHlwZV82LmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi5mMGRm MjdlMzIzYworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k dXBsaWNhdGVfdHlwZV82LmY5MAorQEAgLTAsMCArMSwxMyBAQAorKyEgeyBkZy1kbyBydW4gfQor KyEgeyBkZy1vcHRpb25zICItc3RkPWxlZ2FjeSAtZmRlYy1kdXBsaWNhdGVzIiB9CisrIQorKyEg VGVzdCBjYXNlIGNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBj b2RldGhpbmsuY29tPgorKyEKKysKKytwcm9ncmFtIHRlc3QKKysgIGltcGxpY2l0IG5vbmUKKysg IGludGVnZXIgOjogeAorKyAgaW50ZWdlciA6OiB4CisrICB4ID0gNDIKKysgIGlmICh4IC89IDQy KSBzdG9wIDEKKytlbmQgcHJvZ3JhbSB0ZXN0CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV83LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwMC4uZjMyNDcyZmY1ODYKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKK0BAIC0wLDAgKzEsMTMgQEAKKyshIHsg ZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVwbGljYXRlcyIgfQorKyEKKysh IFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25A Y29kZXRoaW5rLmNvbT4KKyshCisrCisrcHJvZ3JhbSB0ZXN0CisrICBpbXBsaWNpdCBub25lCisr ICBpbnRlZ2VyIDo6IHgKKysgIGludGVnZXIgOjogeCEgeyBkZy13YXJuaW5nICJMZWdhY3kgRXh0 ZW5zaW9uIiB9CisrICB4ID0gNDIKKysgIGlmICh4IC89IDQyKSBzdG9wIDEKKytlbmQgcHJvZ3Jh bSB0ZXN0CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVf dHlwZV84LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOC5m OTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uMjNjOTRhZGQxNzkK Ky0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRl X3R5cGVfOC5mOTAKK0BAIC0wLDAgKzEsMTIgQEAKKyshIHsgZGctZG8gY29tcGlsZSB9CisrISB7 IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLWR1cGxpY2F0ZXMiIH0KKyshCisrISBUZXN0IGNh c2UgY29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGlu ay5jb20+CisrIQorKworK2ludGVnZXIgZnVuY3Rpb24gZm9vICgpCisrICBpbXBsaWNpdCBub25l CisrICBpbnRlZ2VyIDo6IHgKKysgIGludGVnZXIgOjogeCAhIHsgZGctZXJyb3IgImJhc2ljIHR5 cGUgb2YiIH0KKysgIHggPSA0MgorK2VuZCBmdW5jdGlvbiBmb28KK2RpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzkuZjkwIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAwLi5kNWVkZWU0ZDhlZQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAorQEAgLTAsMCArMSwx MiBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVwbGlj YXRlcyAtZm5vLWRlYy1kdXBsaWNhdGVzIiB9CisrIQorKyEgVGVzdCBjYXNlIGNvbnRyaWJ1dGVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysK KytpbnRlZ2VyIGZ1bmN0aW9uIGZvbyAoKQorKyAgaW1wbGljaXQgbm9uZQorKyAgaW50ZWdlciA6 OiB4CisrICBpbnRlZ2VyIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9mIiB9CisrICB4 ID0gNDIKKytlbmQgZnVuY3Rpb24gZm9vCistLSAKKzIuMjcuMAorCgpkaWZmIC0tZ2l0IGEvZ2Nj MTItZm9ydHJhbi1mZGVjLWljaGFyLnBhdGNoIGIvZ2NjMTItZm9ydHJhbi1mZGVjLWljaGFyLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3YjA1MjIKLS0tIC9kZXYv bnVsbAorKysgYi9nY2MxMi1mb3J0cmFuLWZkZWMtaWNoYXIucGF0Y2gKQEAgLTAsMCArMSw3OCBA QAorRnJvbSBmODgzYWMyMDliMGZlZWE4NjAzNTRjYjRlZjdmZjA2ZGM4MDYzZmFiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBFZ2dsZXN0b24gPG1hcmtlZ2dsZXN0b25AZ2Nj LmdudS5vcmc+CitEYXRlOiBGcmksIDIyIEphbiAyMDIxIDEyOjUzOjM1ICswMDAwCitTdWJqZWN0 OiBbUEFUQ0ggMDMvMTBdIEFsbG93IG1vcmUgdGhhbiBvbmUgY2hhcmFjdGVyIGFzIGFyZ3VtZW50 IHRvIElDSEFSCisKK1VzZSAtZmRlYyB0byBlbmFibGUuCistLS0KKyBnY2MvZm9ydHJhbi9jaGVj ay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIGdjYy9mb3J0cmFuL3NpbXBs aWZ5LmMgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KKyAuLi4vZ2ZvcnRyYW4uZGcv ZGVjX2ljaGFyX3dpdGhfc3RyaW5nXzEuZiAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrCisg MyBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pY2hhcl93aXRoX3N0 cmluZ18xLmYKKworZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2NoZWNrLmMgYi9nY2MvZm9ydHJh bi9jaGVjay5jCitpbmRleCA4MmRiOGU0ZTFiMi4uNjIzYzFjYzQ3MGUgMTAwNjQ0CistLS0gYS9n Y2MvZm9ydHJhbi9jaGVjay5jCisrKysgYi9nY2MvZm9ydHJhbi9jaGVjay5jCitAQCAtMzE1Nyw3 ICszMTU3LDcgQEAgZ2ZjX2NoZWNrX2ljaGFyX2lhY2hhciAoZ2ZjX2V4cHIgKmMsIGdmY19leHBy ICpraW5kKQorICAgZWxzZQorICAgICByZXR1cm4gdHJ1ZTsKKyAKKy0gIGlmIChpICE9IDEpCisr ICBpZiAoaSAhPSAxICYmICFmbGFnX2RlYykKKyAgICAgeworICAgICAgIGdmY19lcnJvciAoIkFy Z3VtZW50IG9mICVzIGF0ICVMIG11c3QgYmUgb2YgbGVuZ3RoIG9uZSIsCisgCQkgZ2ZjX2N1cnJl bnRfaW50cmluc2ljLCAmYy0+d2hlcmUpOworZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3NpbXBs aWZ5LmMgYi9nY2MvZm9ydHJhbi9zaW1wbGlmeS5jCitpbmRleCAyMzMxN2EyZTJkOS4uOTkwMDU3 MjQyNGYgMTAwNjQ0CistLS0gYS9nY2MvZm9ydHJhbi9zaW1wbGlmeS5jCisrKysgYi9nY2MvZm9y dHJhbi9zaW1wbGlmeS5jCitAQCAtMzI2MSw3ICszMjYxLDcgQEAgZ2ZjX3NpbXBsaWZ5X2lhY2hh ciAoZ2ZjX2V4cHIgKmUsIGdmY19leHByICpraW5kKQorICAgaWYgKGUtPmV4cHJfdHlwZSAhPSBF WFBSX0NPTlNUQU5UKQorICAgICByZXR1cm4gTlVMTDsKKyAKKy0gIGlmIChlLT52YWx1ZS5jaGFy YWN0ZXIubGVuZ3RoICE9IDEpCisrICBpZiAoZS0+dmFsdWUuY2hhcmFjdGVyLmxlbmd0aCAhPSAx ICYmICFmbGFnX2RlYykKKyAgICAgeworICAgICAgIGdmY19lcnJvciAoIkFyZ3VtZW50IG9mIElB Q0hBUiBhdCAlTCBtdXN0IGJlIG9mIGxlbmd0aCBvbmUiLCAmZS0+d2hlcmUpOworICAgICAgIHJl dHVybiAmZ2ZjX2JhZF9leHByOworQEAgLTM0NTksNyArMzQ1OSw3IEBAIGdmY19zaW1wbGlmeV9p Y2hhciAoZ2ZjX2V4cHIgKmUsIGdmY19leHByICpraW5kKQorICAgaWYgKGUtPmV4cHJfdHlwZSAh PSBFWFBSX0NPTlNUQU5UKQorICAgICByZXR1cm4gTlVMTDsKKyAKKy0gIGlmIChlLT52YWx1ZS5j aGFyYWN0ZXIubGVuZ3RoICE9IDEpCisrICBpZiAoZS0+dmFsdWUuY2hhcmFjdGVyLmxlbmd0aCAh PSAxICYmICFmbGFnX2RlYykKKyAgICAgeworICAgICAgIGdmY19lcnJvciAoIkFyZ3VtZW50IG9m IElDSEFSIGF0ICVMIG11c3QgYmUgb2YgbGVuZ3RoIG9uZSIsICZlLT53aGVyZSk7CisgICAgICAg cmV0dXJuICZnZmNfYmFkX2V4cHI7CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfaWNoYXJfd2l0aF9zdHJpbmdfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9kZWNfaWNoYXJfd2l0aF9zdHJpbmdfMS5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMDAuLjg1ZWZjY2VjYzBmCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19pY2hhcl93aXRoX3N0cmluZ18xLmYKK0BAIC0wLDAgKzEsMjEg QEAKKyshIHsgZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBU ZXN0IElDSEFSIGFuZCBJQUNIQVIgd2l0aCBtb3JlIHRoYW4gb25lIGNoYXJhY3RlciBhcyBhcmd1 bWVudAorKyEKKyshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0u bWFjYXJ0aHVyQGNvZGV0aGluay5jby51az4KKyshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9u IDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICAgIFBST0dSQU0gaWNo YXJfbW9yZV90aGFuX29uZV9jaGFyYWN0ZXIKKysgICAgICAgICAgQ0hBUkFDVEVSKjQgc3QvJ1Rl c3QnLworKyAgICAgICAgICBJTlRFR0VSIGkKKysKKysgICAgICAgICAgaSA9IElDSEFSKHN0KQor KyAgICAgICAgICBpZiAoaS5ORS44NCkgU1RPUCAxCisrICAgICAgICAgIGkgPSBJQUNIQVIoc3Qp CisrICAgICAgICAgIGlmIChpLk5FLjg0KSBTVE9QIDIKKysgICAgICAgICAgaSA9IElDSEFSKCdU ZXN0JykKKysgICAgICAgICAgaWYgKGkuTkUuODQpIFNUT1AgMworKyAgICAgICAgICBpID0gSUFD SEFSKCdUZXN0JykKKysgICAgICAgICAgaWYgKGkuTkUuODQpIFNUT1AgNAorKyAgICAgICAgRU5E CistLSAKKzIuMjcuMAorCgpkaWZmIC0tZ2l0IGEvZ2NjMTItZm9ydHJhbi1mZGVjLW5vbi1pbnRl Z2VyLWluZGV4LnBhdGNoIGIvZ2NjMTItZm9ydHJhbi1mZGVjLW5vbi1pbnRlZ2VyLWluZGV4LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NGRmM2IKLS0tIC9kZXYv bnVsbAorKysgYi9nY2MxMi1mb3J0cmFuLWZkZWMtbm9uLWludGVnZXItaW5kZXgucGF0Y2gKQEAg LTAsMCArMSwxNTggQEAKK0Zyb20gNjdhZWYyNjIzMTFkNmE3NDY3ODZlZTBmNTk3NDhjY2FhN2Ux ZTcxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJr ZWdnbGVzdG9uQGdjYy5nbnUub3JnPgorRGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAxMzowOTo1NCAr MDAwMAorU3ViamVjdDogW1BBVENIIDA0LzEwXSBBbGxvdyBub24taW50ZWdlciBzdWJzdHJpbmcg aW5kZXhlcworCitVc2UgLWZkZWMtbm9uLWludGVnZXItaW5kZXggY29tcGlsZXIgZmxhZyB0byBl bmFibGUuIEFsc28gZW5hYmxlZCBieSAtZmRlYy4KKy0tLQorIGdjYy9mb3J0cmFuL2xhbmcub3B0 ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKysKKyBnY2MvZm9ydHJhbi9vcHRpb25z LmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5j ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKworIC4uLi9k ZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMS5mICAgICB8IDE4ICsrKysrKysrKysr KysrKysrCisgLi4uL2RlY19ub3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18yLmYgICAgIHwg MTggKysrKysrKysrKysrKysrKysKKyAuLi4vZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRl eGVzXzMuZiAgICAgfCAxOCArKysrKysrKysrKysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgNzkg aW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19ub3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlc18xLmYKKyBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5n X2luZGV4ZXNfMi5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRleGVzXzMuZgorCitkaWZmIC0tZ2l0IGEv Z2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAoraW5kZXggYzRkYTI0 OGYwN2MuLmQ1MjdjMTA2YmQ2IDEwMDY0NAorLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKKysr KyBiL2djYy9mb3J0cmFuL2xhbmcub3B0CitAQCAtNDg5LDYgKzQ4OSwxMCBAQCBmZGVjLW1hdGgK KyBGb3J0cmFuIFZhcihmbGFnX2RlY19tYXRoKQorIEVuYWJsZSBsZWdhY3kgbWF0aCBpbnRyaW5z aWNzIGZvciBjb21wYXRpYmlsaXR5LgorIAorK2ZkZWMtbm9uLWludGVnZXItaW5kZXgKKytGb3J0 cmFuIFZhcihmbGFnX2RlY19ub25faW50ZWdlcl9pbmRleCkKKytFbmFibGUgc3VwcG9ydCBmb3Ig bm9uLWludGVnZXIgc3Vic3RyaW5nIGluZGV4ZXMuCisrCisgZmRlYy1zdHJ1Y3R1cmUKKyBGb3J0 cmFuIFZhcihmbGFnX2RlY19zdHJ1Y3R1cmUpCisgRW5hYmxlIHN1cHBvcnQgZm9yIERFQyBTVFJV Q1RVUkUvUkVDT1JELgorZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wdGlvbnMuYyBiL2djYy9m b3J0cmFuL29wdGlvbnMuYworaW5kZXggZjE5YmE4N2Y4YTAuLjlhMDQyZjY0ODgxIDEwMDY0NAor LS0tIGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCisrKysgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMK K0BAIC03OCw2ICs3OCw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2YWx1ZSkKKyAgIFNFVF9CSVRG TEFHIChmbGFnX2RlY19ibGFua19mb3JtYXRfaXRlbSwgdmFsdWUsIHZhbHVlKTsKKyAgIFNFVF9C SVRGTEFHIChmbGFnX2RlY19jaGFyX2NvbnZlcnNpb25zLCB2YWx1ZSwgdmFsdWUpOworICAgU0VU X0JJVEZMQUcgKGZsYWdfZGVjX2R1cGxpY2F0ZXMsIHZhbHVlLCB2YWx1ZSk7CisrICBTRVRfQklU RkxBRyAoZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5kZXgsIHZhbHVlLCB2YWx1ZSk7CisgfQorIAor IC8qIEZpbmFsaXplIERFQyBmbGFncy4gICovCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcmVz b2x2ZS5jIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCitpbmRleCA0YjkwY2I1OTkwMi4uYmMwZGYw ZmRiOTkgMTAwNjQ0CistLS0gYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKKysrKyBiL2djYy9mb3J0 cmFuL3Jlc29sdmUuYworQEAgLTUxMzEsNiArNTEzMSwxNiBAQCBnZmNfcmVzb2x2ZV9zdWJzdHJp bmcgKGdmY19yZWYgKnJlZiwgYm9vbCAqZXF1YWxfbGVuZ3RoKQorICAgICAgIGlmICghZ2ZjX3Jl c29sdmVfZXhwciAocmVmLT51LnNzLnN0YXJ0KSkKKyAJcmV0dXJuIGZhbHNlOworIAorKyAgICAg IC8qIEluIGxlZ2FjeSBtb2RlLCBhbGxvdyBub24taW50ZWdlciBzdHJpbmcgaW5kZXhlcyBieSBj b252ZXJ0aW5nICovCisrICAgICAgaWYgKGZsYWdfZGVjX25vbl9pbnRlZ2VyX2luZGV4ICYmIHJl Zi0+dS5zcy5zdGFydC0+dHMudHlwZSAhPSBCVF9JTlRFR0VSCisrCSAgJiYgZ2ZjX251bWVyaWNf dHMgKCZyZWYtPnUuc3Muc3RhcnQtPnRzKSkKKysJeworKwkgIGdmY190eXBlc3BlYyB0OworKwkg IHQudHlwZSA9IEJUX0lOVEVHRVI7CisrCSAgdC5raW5kID0gcmVmLT51LnNzLnN0YXJ0LT50cy5r aW5kOworKwkgIGdmY19jb252ZXJ0X3R5cGVfd2FybiAocmVmLT51LnNzLnN0YXJ0LCAmdCwgMiwg MSk7CisrCX0KKysKKyAgICAgICBpZiAocmVmLT51LnNzLnN0YXJ0LT50cy50eXBlICE9IEJUX0lO VEVHRVIpCisgCXsKKyAJICBnZmNfZXJyb3IgKCJTdWJzdHJpbmcgc3RhcnQgaW5kZXggYXQgJUwg bXVzdCBiZSBvZiB0eXBlIElOVEVHRVIiLAorQEAgLTUxNjAsNiArNTE3MCwxNiBAQCBnZmNfcmVz b2x2ZV9zdWJzdHJpbmcgKGdmY19yZWYgKnJlZiwgYm9vbCAqZXF1YWxfbGVuZ3RoKQorICAgICAg IGlmICghZ2ZjX3Jlc29sdmVfZXhwciAocmVmLT51LnNzLmVuZCkpCisgCXJldHVybiBmYWxzZTsK KyAKKysgICAgICAvKiBOb24taW50ZWdlciBzdHJpbmcgaW5kZXggZW5kaW5ncywgYXMgZm9yIHN0 YXJ0ICovCisrICAgICAgaWYgKGZsYWdfZGVjX25vbl9pbnRlZ2VyX2luZGV4ICYmIHJlZi0+dS5z cy5lbmQtPnRzLnR5cGUgIT0gQlRfSU5URUdFUgorKwkgICYmIGdmY19udW1lcmljX3RzICgmcmVm LT51LnNzLmVuZC0+dHMpKQorKwl7CisrCSAgZ2ZjX3R5cGVzcGVjIHQ7CisrCSAgdC50eXBlID0g QlRfSU5URUdFUjsKKysJICB0LmtpbmQgPSByZWYtPnUuc3MuZW5kLT50cy5raW5kOworKwkgIGdm Y19jb252ZXJ0X3R5cGVfd2FybiAocmVmLT51LnNzLmVuZCwgJnQsIDIsIDEpOworKwl9CisrCisg ICAgICAgaWYgKHJlZi0+dS5zcy5lbmQtPnRzLnR5cGUgIT0gQlRfSU5URUdFUikKKyAJeworIAkg IGdmY19lcnJvciAoIlN1YnN0cmluZyBlbmQgaW5kZXggYXQgJUwgbXVzdCBiZSBvZiB0eXBlIElO VEVHRVIiLAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25vdF9p bnRlZ2VyX3N1YnN0cmluZ19pbmRleGVzXzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZGVjX25vdF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRleGVzXzEuZgorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAwLi4wYmUyOGFiYWE0YgorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4 ZXNfMS5mCitAQCAtMCwwICsxLDE4IEBACisrISB7IGRnLWRvIHJ1biB9CisrISB7IGRnLW9wdGlv bnMgIi1mZGVjIiB9CisrIQorKyEgVGVzdCBub3QgaW50ZWdlciBzdWJzdHJpbmcgaW5kZXhlcwor KyEKKyshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2ds ZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgICBQUk9HUkFNIG5vdF9pbnRlZ2VyX3N1 YnN0cmluZ19pbmRleGVzCisrICAgICAgICAgIENIQVJBQ1RFUio1IHN0LydUZXN0cycvCisrICAg ICAgICAgIFJFQUwgaXIvMS4wLworKyAgICAgICAgICBSRUFMIGlyMi80LjAvCisrCisrICAgICAg ICAgIGlmIChzdChpcjo0KS5uZS4nVGVzdCcpIHN0b3AgMQorKyAgICAgICAgICBpZiAoc3QoMTpp cjIpLm5lLidUZXN0Jykgc3RvcCAyCisrICAgICAgICAgIGlmIChzdCgxLjA6NCkubmUuJ1Rlc3Qn KSBzdG9wIDMKKysgICAgICAgICAgaWYgKHN0KDE6NC4wKS5uZS4nVGVzdCcpIHN0b3AgNAorKyAg ICAgICAgICBpZiAoc3QoMi41OjQpLm5lLidlc3QnKSBzdG9wIDUKKysgICAgICAgIEVORAorZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25vdF9pbnRlZ2VyX3N1YnN0 cmluZ19pbmRleGVzXzIuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25vdF9pbnRl Z2VyX3N1YnN0cmluZ19pbmRleGVzXzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAwLi4zY2YwNTI5NmQwYworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMi5mCitAQCAt MCwwICsxLDE4IEBACisrISB7IGRnLWRvIHJ1biB9CisrISB7IGRnLW9wdGlvbnMgIi1mZGVjLW5v bi1pbnRlZ2VyLWluZGV4IiB9CisrIQorKyEgVGVzdCBub3QgaW50ZWdlciBzdWJzdHJpbmcgaW5k ZXhlcworKyEKKyshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFy ay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgICBQUk9HUkFNIG5vdF9pbnRl Z2VyX3N1YnN0cmluZ19pbmRleGVzCisrICAgICAgICAgIENIQVJBQ1RFUio1IHN0LydUZXN0cycv CisrICAgICAgICAgIFJFQUwgaXIvMS4wLworKyAgICAgICAgICBSRUFMIGlyMi80LjAvCisrCisr ICAgICAgICAgIGlmIChzdChpcjo0KS5uZS4nVGVzdCcpIHN0b3AgMQorKyAgICAgICAgICBpZiAo c3QoMTppcjIpLm5lLidUZXN0Jykgc3RvcCAyCisrICAgICAgICAgIGlmIChzdCgxLjA6NCkubmUu J1Rlc3QnKSBzdG9wIDMKKysgICAgICAgICAgaWYgKHN0KDE6NC4wKS5uZS4nVGVzdCcpIHN0b3Ag NAorKyAgICAgICAgICBpZiAoc3QoMi41OjQpLm5lLidlc3QnKSBzdG9wIDUKKysgICAgICAgIEVO RAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25vdF9pbnRlZ2Vy X3N1YnN0cmluZ19pbmRleGVzXzMuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX25v dF9pbnRlZ2VyX3N1YnN0cmluZ19pbmRleGVzXzMuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAwLi43MDNkZTk5NTg5NworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbm90X2ludGVnZXJfc3Vic3RyaW5nX2luZGV4ZXNfMy5m CitAQCAtMCwwICsxLDE4IEBACisrISB7IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRpb25z ICItZmRlYyAtZm5vLWRlYy1ub24taW50ZWdlci1pbmRleCIgfQorKyEKKyshIFRlc3Qgbm90IGlu dGVnZXIgc3Vic3RyaW5nIGluZGV4ZXMKKyshCisrISBUZXN0IGNhc2UgY29udHJpYnV0ZWQgYnkg TWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAg ICAgUFJPR1JBTSBub3RfaW50ZWdlcl9zdWJzdHJpbmdfaW5kZXhlcworKyAgICAgICAgICBDSEFS QUNURVIqNSBzdC8nVGVzdHMnLworKyAgICAgICAgICBSRUFMIGlyLzEuMC8KKysgICAgICAgICAg UkVBTCBpcjIvNC4wLworKworKyAgICAgICAgICBpZiAoc3QoaXI6NCkubmUuJ1Rlc3QnKSBzdG9w IDEgISB7IGRnLWVycm9yICJTdWJzdHJpbmcgc3RhcnQgaW5kZXgiIH0KKysgICAgICAgICAgaWYg KHN0KDE6aXIyKS5uZS4nVGVzdCcpIHN0b3AgMiAhIHsgZGctZXJyb3IgIlN1YnN0cmluZyBlbmQg aW5kZXgiIH0KKysgICAgICAgICAgaWYgKHN0KDEuMDo0KS5uZS4nVGVzdCcpIHN0b3AgMyAhIHsg ZGctZXJyb3IgIlN1YnN0cmluZyBzdGFydCBpbmRleCIgfQorKyAgICAgICAgICBpZiAoc3QoMTo0 LjApLm5lLidUZXN0Jykgc3RvcCA0ICEgeyBkZy1lcnJvciAiU3Vic3RyaW5nIGVuZCBpbmRleCIg fQorKyAgICAgICAgICBpZiAoc3QoMi41OjQpLm5lLidlc3QnKSBzdG9wIDUgISB7IGRnLWVycm9y ICJTdWJzdHJpbmcgc3RhcnQgaW5kZXgiIH0KKysgICAgICAgIEVORAorLS0gCisyLjI3LjAKKwoK ZGlmZiAtLWdpdCBhL2djYzEyLWZvcnRyYW4tZmRlYy1ub24tbG9naWNhbC1pZi5wYXRjaCBiL2dj YzEyLWZvcnRyYW4tZmRlYy1ub24tbG9naWNhbC1pZi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4wMTMzZDIzCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTItZm9ydHJh bi1mZGVjLW5vbi1sb2dpY2FsLWlmLnBhdGNoCkBAIC0wLDAgKzEsMzc4IEBACitGcm9tIGNjODdk ZGI4NDEwMTdiYjA5NzZiMDUwOTE3MzM2MDllZTE3ZDdmMDUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251Lm9yZz4KK0Rh dGU6IEZyaSwgMjIgSmFuIDIwMjEgMTM6MTU6MTcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwNy8x MF0gQWxsb3cgbm9uLWxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gSUYgc3RhdGVtZW50cworCitVc2Ug LWZkZWMtbm9uLWxvZ2ljYWwtaWYgdG8gZW5hYmxlIGZlYXR1cmUuIEFsc28gZW5hYmxlZCB1c2lu ZyAtZmRlYy4KKy0tLQorIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICA0ICsrCisgZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jICAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDEgKworIGdjYy9mb3J0cmFuL3Jlc29sdmUuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8IDYwICsrKysrKysrKysrKysrKystLS0KKyAuLi5naWNhbF9leHByZXNzaW9uc19pZl9zdGF0 ZW1lbnRzX2Jsb2Nrc18xLmYgfCAyNSArKysrKysrKworIC4uLmdpY2FsX2V4cHJlc3Npb25zX2lm X3N0YXRlbWVudHNfYmxvY2tzXzIuZiB8IDI1ICsrKysrKysrCisgLi4uZ2ljYWxfZXhwcmVzc2lv bnNfaWZfc3RhdGVtZW50c19ibG9ja3NfMy5mIHwgMjUgKysrKysrKysKKyAuLi5naWNhbF9leHBy ZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc180LmYgfCA0NSArKysrKysrKysrKysrKworIC4u LmdpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzUuZiB8IDQ1ICsrKysrKysr KysrKysrCisgLi4uZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNi5mIHwg NDUgKysrKysrKysrKysrKysKKyA5IGZpbGVzIGNoYW5nZWQsIDI2NiBpbnNlcnRpb25zKCspLCA5 IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzEuZgorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4 cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzIuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRl bWVudHNfYmxvY2tzXzMuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzQuZgor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2Fs X2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzUuZgorIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0 YXRlbWVudHNfYmxvY2tzXzYuZgorCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQg Yi9nY2MvZm9ydHJhbi9sYW5nLm9wdAoraW5kZXggNGEyNjllYmIyMmQuLmQ4ODZjMmYzM2VkIDEw MDY0NAorLS0tIGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKKysrKyBiL2djYy9mb3J0cmFuL2xhbmcu b3B0CitAQCAtNDk3LDYgKzQ5NywxMCBAQCBmZGVjLW92ZXJyaWRlLWtpbmQKKyBGb3J0cmFuIFZh cihmbGFnX2RlY19vdmVycmlkZV9raW5kKQorIEVuYWJsZSBzdXBwb3J0IGZvciBwZXIgdmFyaWFi bGUga2luZCBzcGVjaWZpY2F0aW9uLgorIAorK2ZkZWMtbm9uLWxvZ2ljYWwtaWYKKytGb3J0cmFu IFZhcihmbGFnX2RlY19ub25fbG9naWNhbF9pZikKKytFbmFibGUgc3VwcG9ydCBmb3Igbm9uLWxv Z2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50cy4KKysKKyBmZGVjLW9sZC1pbml0Cisg Rm9ydHJhbiBWYXIoZmxhZ19kZWNfb2xkX2luaXQpCisgRW5hYmxlIHN1cHBvcnQgZm9yIG9sZCBz dHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcy4KK2RpZmYgLS1naXQgYS9nY2MvZm9y dHJhbi9vcHRpb25zLmMgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMKK2luZGV4IGVkYmFiNDgzYjM2 Li5hOTQ2Yzg2NzkwYSAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMuYworKysrIGIv Z2NjL2ZvcnRyYW4vb3B0aW9ucy5jCitAQCAtODEsNiArODEsNyBAQCBzZXRfZGVjX2ZsYWdzIChp bnQgdmFsdWUpCisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfbm9uX2ludGVnZXJfaW5kZXgsIHZh bHVlLCB2YWx1ZSk7CisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfb2xkX2luaXQsIHZhbHVlLCB2 YWx1ZSk7CisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfb3ZlcnJpZGVfa2luZCwgdmFsdWUsIHZh bHVlKTsKKysgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25fbG9naWNhbF9pZiwgdmFsdWUsIHZh bHVlKTsKKyB9CisgCisgLyogRmluYWxpemUgREVDIGZsYWdzLiAgKi8KK2RpZmYgLS1naXQgYS9n Y2MvZm9ydHJhbi9yZXNvbHZlLmMgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKK2luZGV4IGJjMGRm MGZkYjk5Li4wN2RkMDM5ZjNiZiAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL3Jlc29sdmUuYwor KysrIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCitAQCAtMTA3ODksMTAgKzEwNzg5LDMxIEBAIGdm Y19yZXNvbHZlX2Jsb2NrcyAoZ2ZjX2NvZGUgKmIsIGdmY19uYW1lc3BhY2UgKm5zKQorICAgICAg IHN3aXRjaCAoYi0+b3ApCisgCXsKKyAJY2FzZSBFWEVDX0lGOgorLQkgIGlmICh0ICYmIGItPmV4 cHIxICE9IE5VTEwKKy0JICAgICAgJiYgKGItPmV4cHIxLT50cy50eXBlICE9IEJUX0xPR0lDQUwg fHwgYi0+ZXhwcjEtPnJhbmsgIT0gMCkpCistCSAgICBnZmNfZXJyb3IgKCJJRiBjbGF1c2UgYXQg JUwgcmVxdWlyZXMgYSBzY2FsYXIgTE9HSUNBTCBleHByZXNzaW9uIiwKKy0JCSAgICAgICAmYi0+ ZXhwcjEtPndoZXJlKTsKKysJICBpZiAodCAmJiBiLT5leHByMSAhPSBOVUxMKQorKwkgICAgewor KwkgICAgICBpZiAoZmxhZ19kZWNfbm9uX2xvZ2ljYWxfaWYgJiYgYi0+ZXhwcjEtPnRzLnR5cGUg IT0gQlRfTE9HSUNBTCkKKysJCXsKKysJCSAgZ2ZjX2V4cHIqIGNhc3Q7CisrCQkgIGNhc3QgPSBn ZmNfbmUgKGItPmV4cHIxLAorKwkJCQkgZ2ZjX2dldF9pbnRfZXhwciAoMSwgJmdmY19jdXJyZW50 X2xvY3VzLCAwKSwKKysJCQkJIElOVFJJTlNJQ19ORSk7CisrCQkgIGlmIChjYXN0ID09IE5VTEwp CisrCQkgICAgZ2ZjX2ludGVybmFsX2Vycm9yICgiZ2ZjX3Jlc29sdmVfYmxvY2tzKCk6IEZhaWxl ZCB0byBjYXN0ICIKKysJCQkJCSJ0byBMT0dJQ0FMIGluIElGIik7CisrCQkgIGItPmV4cHIxID0g Y2FzdDsKKysJCSAgaWYgKHdhcm5fY29udmVyc2lvbl9leHRyYSkKKysJCSAgICB7CisrCQkgICAg ICBnZmNfd2FybmluZyAoT1BUX1djb252ZXJzaW9uX2V4dHJhLCAiTm9uLUxPR0lDQUwgdHlwZSBp biIKKysJCQkJICAgIiBJRiBzdGF0ZW1lbnQgY29uZGl0aW9uICVMIHdpbGwgYmUgdHJ1ZSBpZiIK KysJCQkJICAgIiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIsCisrCQkJCSAgICZiLT5leHByMS0+ d2hlcmUpOworKwkJICAgIH0KKysJCX0KKysKKysJICAgICAgaWYgKChiLT5leHByMS0+dHMudHlw ZSAhPSBCVF9MT0dJQ0FMIHx8IGItPmV4cHIxLT5yYW5rICE9IDApKQorKwkJZ2ZjX2Vycm9yICgi SUYgY2xhdXNlIGF0ICVMIHJlcXVpcmVzIGEgc2NhbGFyIExPR0lDQUwgIgorKwkJCSAgICJleHBy ZXNzaW9uIiwgJmItPmV4cHIxLT53aGVyZSk7CisrCSAgICB9CisgCSAgYnJlYWs7CisgCisgCWNh c2UgRVhFQ19XSEVSRToKK0BAIC0xMjA5MywxMSArMTIxMTQsMzIgQEAgc3RhcnQ6CisgCSAgYnJl YWs7CisgCisgCWNhc2UgRVhFQ19JRjoKKy0JICBpZiAodCAmJiBjb2RlLT5leHByMSAhPSBOVUxM CistCSAgICAgICYmIChjb2RlLT5leHByMS0+dHMudHlwZSAhPSBCVF9MT0dJQ0FMCistCQkgIHx8 IGNvZGUtPmV4cHIxLT5yYW5rICE9IDApKQorLQkgICAgZ2ZjX2Vycm9yICgiSUYgY2xhdXNlIGF0 ICVMIHJlcXVpcmVzIGEgc2NhbGFyIExPR0lDQUwgZXhwcmVzc2lvbiIsCistCQkgICAgICAgJmNv ZGUtPmV4cHIxLT53aGVyZSk7CisrCSAgaWYgKHQgJiYgY29kZS0+ZXhwcjEgIT0gTlVMTCkKKysJ ICAgIHsKKysJICAgICAgaWYgKGZsYWdfZGVjX25vbl9sb2dpY2FsX2lmCisrCQkgICYmIGNvZGUt PmV4cHIxLT50cy50eXBlICE9IEJUX0xPR0lDQUwpCisrCQl7CisrCQkgIGdmY19leHByKiBjYXN0 OworKwkJICBjYXN0ID0gZ2ZjX25lIChjb2RlLT5leHByMSwKKysJCQkJIGdmY19nZXRfaW50X2V4 cHIgKDEsICZnZmNfY3VycmVudF9sb2N1cywgMCksCisrCQkJCSBJTlRSSU5TSUNfTkUpOworKwkJ ICBpZiAoY2FzdCA9PSBOVUxMKQorKwkJICAgIGdmY19pbnRlcm5hbF9lcnJvciAoImdmY19yZXNv bHZlX2NvZGUoKTogRmFpbGVkIHRvIGNhc3QgIgorKwkJCQkJInRvIExPR0lDQUwgaW4gSUYiKTsK KysJCSAgY29kZS0+ZXhwcjEgPSBjYXN0OworKwkJICBpZiAod2Fybl9jb252ZXJzaW9uX2V4dHJh KQorKwkJICAgIHsKKysJCSAgICAgIGdmY193YXJuaW5nIChPUFRfV2NvbnZlcnNpb25fZXh0cmEs ICJOb24tTE9HSUNBTCB0eXBlIGluIgorKwkJCQkgICAiIElGIHN0YXRlbWVudCBjb25kaXRpb24g JUwgd2lsbCBiZSB0cnVlIGlmIgorKwkJCQkgICAiIGl0IGV2YWx1YXRlcyB0byBub256ZXJvIiwK KysJCQkJICAgJmNvZGUtPmV4cHIxLT53aGVyZSk7CisrCQkgICAgfQorKwkJfQorKworKwkgICAg ICBpZiAoY29kZS0+ZXhwcjEtPnRzLnR5cGUgIT0gQlRfTE9HSUNBTCB8fCBjb2RlLT5leHByMS0+ cmFuayAhPSAwKQorKwkJZ2ZjX2Vycm9yICgiSUYgY2xhdXNlIGF0ICVMIHJlcXVpcmVzIGEgc2Nh bGFyIExPR0lDQUwgIgorKwkJCSAgICJleHByZXNzaW9uIiwgJmNvZGUtPmV4cHIxLT53aGVyZSk7 CisrCSAgICB9CisgCSAgYnJlYWs7CisgCisgCWNhc2UgRVhFQ19DQUxMOgorZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3Rh dGVtZW50c19ibG9ja3NfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbG9naWNh bF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc18xLmYKK25ldyBmaWxlIG1vZGUgMTAw NjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uMDEwMWRiODkzY2EKKy0tLSAvZGV2L251bGwKKysrKyBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3Rh dGVtZW50c19ibG9ja3NfMS5mCitAQCAtMCwwICsxLDI1IEBACisrISB7IGRnLWRvIHJ1biB9Cisr ISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1XY29udmVyc2lvbi1leHRyYSIgfQorKyEKKyshIEFsbG93 IGxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50cyBhbmQgYmxvY2tzCisrIQorKyEg Q29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJj aGVtYUBjb2RldGhpbmsuY28udWs+CisrISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxhd0By ZWRoYXQuY29tPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9u QGNvZGV0aGluay5jb20+CisrIQorKyAgICAgICAgUFJPR1JBTSBsb2dpY2FsX2V4cF9pZl9zdF9i bAorKyAgICAgICAgICBJTlRFR0VSIGlwb3MvMS8KKysgICAgICAgICAgSU5URUdFUiBpbmVnLzAv CisrCisrICAgICAgICAgICEgVGVzdCBub24gbG9naWNhbCB2YXJpYWJsZXMKKysgICAgICAgICAg aWYgKGluZWcpIFNUT1AgMSAhIHsgZGctd2FybmluZyAiaWYgaXQgZXZhbHVhdGVzIHRvIG5vbnpl cm8iIH0KKysgICAgICAgICAgaWYgKDApIFNUT1AgMiAhIHsgZGctd2FybmluZyAiaWYgaXQgZXZh bHVhdGVzIHRvIG5vbnplcm8iIH0KKysKKysgICAgICAgICAgISBUZXN0IG5vbiBsb2dpY2FsIGV4 cHJlc3Npb25zIGluIGlmIHN0YXRlbWVudHMKKysgICAgICAgICAgaWYgKE1PRChpcG9zLCAxKSkg U1RPUCAzICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQorKwor KyAgICAgICAgICAhIFRlc3Qgbm9uIGxvZ2ljYWwgZXhwcmVzc2lvbnMgaW4gaWYgYmxvY2tzCisr ICAgICAgICAgIGlmIChNT0QoMiAqIGlwb3MsIDIpKSB0aGVuICEgeyBkZy13YXJuaW5nICJpZiBp dCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQorKyAgICAgICAgICAgIFNUT1AgNAorKyAgICAgICAg ICBlbmRpZgorKyAgICAgICAgRU5ECitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc18yLmYgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRl bWVudHNfYmxvY2tzXzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAw Li44NzZmNGUwOTUwOAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc18yLmYKK0BA IC0wLDAgKzEsMjUgQEAKKyshIHsgZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMt bm9uLWxvZ2ljYWwtaWYgLVdjb252ZXJzaW9uLWV4dHJhIiB9CisrIQorKyEgQWxsb3cgbG9naWNh bCBleHByZXNzaW9ucyBpbiBpZiBzdGF0ZW1lbnRzIGFuZCBibG9ja3MKKyshCisrISBDb250cmli dXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW1hQGNv ZGV0aGluay5jby51az4KKyshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5j b20+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRo aW5rLmNvbT4KKyshCisrICAgICAgICBQUk9HUkFNIGxvZ2ljYWxfZXhwX2lmX3N0X2JsCisrICAg ICAgICAgIElOVEVHRVIgaXBvcy8xLworKyAgICAgICAgICBJTlRFR0VSIGluZWcvMC8KKysKKysg ICAgICAgICAgISBUZXN0IG5vbiBsb2dpY2FsIHZhcmlhYmxlcworKyAgICAgICAgICBpZiAoaW5l ZykgU1RPUCAxICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQor KyAgICAgICAgICBpZiAoMCkgU1RPUCAyICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMg dG8gbm9uemVybyIgfQorKworKyAgICAgICAgICAhIFRlc3Qgbm9uIGxvZ2ljYWwgZXhwcmVzc2lv bnMgaW4gaWYgc3RhdGVtZW50cworKyAgICAgICAgICBpZiAoTU9EKGlwb3MsIDEpKSBTVE9QIDMg ISB7IGRnLXdhcm5pbmcgImlmIGl0IGV2YWx1YXRlcyB0byBub256ZXJvIiB9CisrCisrICAgICAg ICAgICEgVGVzdCBub24gbG9naWNhbCBleHByZXNzaW9ucyBpbiBpZiBibG9ja3MKKysgICAgICAg ICAgaWYgKE1PRCgyICogaXBvcywgMikpIHRoZW4gISB7IGRnLXdhcm5pbmcgImlmIGl0IGV2YWx1 YXRlcyB0byBub256ZXJvIiB9CisrICAgICAgICAgICAgU1RPUCA0CisrICAgICAgICAgIGVuZGlm CisrICAgICAgICBFTkQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzMuZiBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVzc2lvbnNfaWZfc3RhdGVtZW50c19i bG9ja3NfMy5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLjM1Y2I0 YzUxYjhkCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzMuZgorQEAgLTAsMCAr MSwyNSBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZu by1kZWMtbm9uLWxvZ2ljYWwtaWYiIH0KKyshCisrISBBbGxvdyBsb2dpY2FsIGV4cHJlc3Npb25z IGluIGlmIHN0YXRlbWVudHMgYW5kIGJsb2NrcworKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5j aXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbWFAY29kZXRoaW5rLmNvLnVr PgorKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1vZGlm aWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEK KysgICAgICAgIFBST0dSQU0gbG9naWNhbF9leHBfaWZfc3RfYmwKKysgICAgICAgICAgSU5URUdF UiBpcG9zLzEvCisrICAgICAgICAgIElOVEVHRVIgaW5lZy8wLworKworKyAgICAgICAgICAhIFRl c3Qgbm9uIGxvZ2ljYWwgdmFyaWFibGVzCisrICAgICAgICAgIGlmIChpbmVnKSBTVE9QIDEgISB7 IGRnLWVycm9yICJJRiBjbGF1c2UgYXQiIH0KKysgICAgICAgICAgaWYgKDApIFNUT1AgMiAhIHsg ZGctZXJyb3IgIklGIGNsYXVzZSBhdCIgfQorKworKyAgICAgICAgICAhIFRlc3Qgbm9uIGxvZ2lj YWwgZXhwcmVzc2lvbnMgaW4gaWYgc3RhdGVtZW50cworKyAgICAgICAgICBpZiAoTU9EKGlwb3Ms IDEpKSBTVE9QIDMgISB7IGRnLWVycm9yICJJRiBjbGF1c2UgYXQiIH0KKysKKysgICAgICAgICAg ISBUZXN0IG5vbiBsb2dpY2FsIGV4cHJlc3Npb25zIGluIGlmIGJsb2NrcworKyAgICAgICAgICBp ZiAoTU9EKDIgKiBpcG9zLCAyKSkgdGhlbiAhIHsgZGctZXJyb3IgIklGIGNsYXVzZSBhdCIgfQor KyAgICAgICAgICAgIFNUT1AgNAorKyAgICAgICAgICBlbmRpZgorKyAgICAgICAgRU5ECitkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9u c19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc180LmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNfYmxvY2tzXzQuZgorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi43YjYwYjYwODI3ZgorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9u c19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc180LmYKK0BAIC0wLDAgKzEsNDUgQEAKKyshIHsgZGctZG8g cnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMgLVdjb252ZXJzaW9uLWV4dHJhIiB9CisrIQor KyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5t YXJjaGVtYUBjb2RldGhpbmsuY28udWs+CisrISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxh d0ByZWRoYXQuY29tPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVz dG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAgICBmdW5jdGlvbiBvdGhlcnN1YjEoKQorKyAg ICAgICAgaW50ZWdlcio0IG90aGVyc3ViMQorKyAgICAgICAgb3RoZXJzdWIxID0gOQorKyAgICAg ICBlbmQKKysKKysgICAgICAgZnVuY3Rpb24gb3RoZXJzdWIyKCkKKysgICAgICAgIGludGVnZXIq NCBvdGhlcnN1YjIKKysgICAgICAgIG90aGVyc3ViMiA9IDAKKysgICAgICAgZW5kCisrCisrICAg ICAgIHByb2dyYW0gTUFJTgorKyAgICAgICAgaW50ZWdlcio0IG90aGVyc3ViMQorKyAgICAgICAg aW50ZWdlcio0IG90aGVyc3ViMgorKyAgICAgICAgaW50ZWdlciBhIC8xLworKyAgICAgICAgaW50 ZWdlciBiIC8yLyAgICAgICAgCisrIAorKyAgICAgICAgaWYgKG90aGVyc3ViMSgpKSB0aGVuICEg eyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQorKyAgICAgICAgICAg d3JpdGUoKiwqKSAiT0siCisrICAgICAgICBlbHNlCisrICAgICAgICAgICBzdG9wIDEKKysgICAg ICAgIGVuZCBpZgorKyAgICAgICAgaWYgKG90aGVyc3ViMigpKSB0aGVuICEgeyBkZy13YXJuaW5n ICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQorKyAgICAgICAgICAgc3RvcCAyCisrICAg ICAgICBlbHNlCisrICAgICAgICAgICB3cml0ZSgqLCopICJPSyIKKysgICAgICAgIGVuZCBpZgor KyAgICAgICAgaWYgKGEtYikgdGhlbiAhIHsgZGctd2FybmluZyAiaWYgaXQgZXZhbHVhdGVzIHRv IG5vbnplcm8iIH0KKysgICAgICAgICAgIHdyaXRlKCosKikgIk9LIgorKyAgICAgICAgZWxzZQor KyAgICAgICAgICAgc3RvcCAzCisrICAgICAgICBlbmQgaWYKKysgICAgICAgIGlmIChiLShhKzEp KSB0aGVuICEgeyBkZy13YXJuaW5nICJpZiBpdCBldmFsdWF0ZXMgdG8gbm9uemVybyIgfQorKyAg ICAgICAgICAgc3RvcCAzCisrICAgICAgICBlbHNlCisrICAgICAgICAgICB3cml0ZSgqLCopICJP SyIKKysgICAgICAgIGVuZCBpZgorKyAgICAgICBlbmQKKysKK2RpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNf YmxvY2tzXzUuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhwcmVz c2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNS5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMDAuLjgwMzM2ZjQ4Y2ExCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19sb2dpY2FsX2V4cHJlc3Npb25zX2lmX3N0YXRlbWVudHNf YmxvY2tzXzUuZgorQEAgLTAsMCArMSw0NSBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1v cHRpb25zICItZmRlYy1ub24tbG9naWNhbC1pZiAtV2NvbnZlcnNpb24tZXh0cmEiIH0KKyshCisr ISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1h cmNoZW1hQGNvZGV0aGluay5jby51az4KKyshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3 QHJlZGhhdC5jb20+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0 b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgIGZ1bmN0aW9uIG90aGVyc3ViMSgpCisrICAg ICAgICBpbnRlZ2VyKjQgb3RoZXJzdWIxCisrICAgICAgICBvdGhlcnN1YjEgPSA5CisrICAgICAg IGVuZAorKworKyAgICAgICBmdW5jdGlvbiBvdGhlcnN1YjIoKQorKyAgICAgICAgaW50ZWdlcio0 IG90aGVyc3ViMgorKyAgICAgICAgb3RoZXJzdWIyID0gMAorKyAgICAgICBlbmQKKysKKysgICAg ICAgcHJvZ3JhbSBNQUlOCisrICAgICAgICBpbnRlZ2VyKjQgb3RoZXJzdWIxCisrICAgICAgICBp bnRlZ2VyKjQgb3RoZXJzdWIyCisrICAgICAgICBpbnRlZ2VyIGEgLzEvCisrICAgICAgICBpbnRl Z2VyIGIgLzIvICAgICAgICAKKysgCisrICAgICAgICBpZiAob3RoZXJzdWIxKCkpIHRoZW4gISB7 IGRnLXdhcm5pbmcgIk5vbi1MT0dJQ0FMIHR5cGUgaW4gSUYgc3RhdGVtZW50IiB9CisrICAgICAg ICAgICB3cml0ZSgqLCopICJPSyIKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgIHN0b3AgMQor KyAgICAgICAgZW5kIGlmCisrICAgICAgICBpZiAob3RoZXJzdWIyKCkpIHRoZW4gISB7IGRnLXdh cm5pbmcgIk5vbi1MT0dJQ0FMIHR5cGUgaW4gSUYgc3RhdGVtZW50IiB9CisrICAgICAgICAgICBz dG9wIDIKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgIHdyaXRlKCosKikgIk9LIgorKyAgICAg ICAgZW5kIGlmCisrICAgICAgICBpZiAoYS1iKSB0aGVuICEgeyBkZy13YXJuaW5nICJOb24tTE9H SUNBTCB0eXBlIGluIElGIHN0YXRlbWVudCIgfQorKyAgICAgICAgICAgd3JpdGUoKiwqKSAiT0si CisrICAgICAgICBlbHNlCisrICAgICAgICAgICBzdG9wIDMKKysgICAgICAgIGVuZCBpZgorKyAg ICAgICAgaWYgKGItKGErMSkpIHRoZW4gISB7IGRnLXdhcm5pbmcgIk5vbi1MT0dJQ0FMIHR5cGUg aW4gSUYgc3RhdGVtZW50IiB9CisrICAgICAgICAgICBzdG9wIDMKKysgICAgICAgIGVsc2UKKysg ICAgICAgICAgIHdyaXRlKCosKikgIk9LIgorKyAgICAgICAgZW5kIGlmCisrICAgICAgIGVuZAor KworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhw cmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNi5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfbG9naWNhbF9leHByZXNzaW9uc19pZl9zdGF0ZW1lbnRzX2Jsb2Nrc182LmYKK25l dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uZTExMjVjYTcxN2EKKy0tLSAv ZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2xvZ2ljYWxfZXhw cmVzc2lvbnNfaWZfc3RhdGVtZW50c19ibG9ja3NfNi5mCitAQCAtMCwwICsxLDQ1IEBACisrISB7 IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRpb25zICItZmRlYyAtZm5vLWRlYy1ub24tbG9n aWNhbC1pZiIgfQorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNo ZW5hIDxmcmFuY2lzY28ubWFyY2hlbWFAY29kZXRoaW5rLmNvLnVrPgorKyEgICAgICAgICAgICAg YW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVz dG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICAgZnVuY3Rpb24g b3RoZXJzdWIxKCkKKysgICAgICAgIGludGVnZXIqNCBvdGhlcnN1YjEKKysgICAgICAgIG90aGVy c3ViMSA9IDkKKysgICAgICAgZW5kCisrCisrICAgICAgIGZ1bmN0aW9uIG90aGVyc3ViMigpCisr ICAgICAgICBpbnRlZ2VyKjQgb3RoZXJzdWIyCisrICAgICAgICBvdGhlcnN1YjIgPSAwCisrICAg ICAgIGVuZAorKworKyAgICAgICBwcm9ncmFtIE1BSU4KKysgICAgICAgIGludGVnZXIqNCBvdGhl cnN1YjEKKysgICAgICAgIGludGVnZXIqNCBvdGhlcnN1YjIKKysgICAgICAgIGludGVnZXIgYSAv MS8KKysgICAgICAgIGludGVnZXIgYiAvMi8gICAgICAgIAorKyAKKysgICAgICAgIGlmIChvdGhl cnN1YjEoKSkgdGhlbiAhIHsgZGctZXJyb3IgIklGIGNsYXVzZSBhdCIgfQorKyAgICAgICAgICAg d3JpdGUoKiwqKSAiT0siCisrICAgICAgICBlbHNlCisrICAgICAgICAgICBzdG9wIDEKKysgICAg ICAgIGVuZCBpZgorKyAgICAgICAgaWYgKG90aGVyc3ViMigpKSB0aGVuICEgeyBkZy1lcnJvciAi SUYgY2xhdXNlIGF0IiB9CisrICAgICAgICAgICBzdG9wIDIKKysgICAgICAgIGVsc2UKKysgICAg ICAgICAgIHdyaXRlKCosKikgIk9LIgorKyAgICAgICAgZW5kIGlmCisrICAgICAgICBpZiAoYS1i KSB0aGVuICEgeyBkZy1lcnJvciAiSUYgY2xhdXNlIGF0IiB9CisrICAgICAgICAgICB3cml0ZSgq LCopICJPSyIKKysgICAgICAgIGVsc2UKKysgICAgICAgICAgIHN0b3AgMworKyAgICAgICAgZW5k IGlmCisrICAgICAgICBpZiAoYi0oYSsxKSkgdGhlbiAhIHsgZGctZXJyb3IgIklGIGNsYXVzZSBh dCIgfQorKyAgICAgICAgICAgc3RvcCAzCisrICAgICAgICBlbHNlCisrICAgICAgICAgICB3cml0 ZSgqLCopICJPSyIKKysgICAgICAgIGVuZCBpZgorKyAgICAgICBlbmQKKysKKy0tIAorMi4yNy4w CisKCmRpZmYgLS1naXQgYS9nY2MxMi1mb3J0cmFuLWZkZWMtb2xkLWluaXQucGF0Y2ggYi9nY2Mx Mi1mb3J0cmFuLWZkZWMtb2xkLWluaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uODU1NGYyZQotLS0gL2Rldi9udWxsCisrKyBiL2djYzEyLWZvcnRyYW4tZmRlYy1v bGQtaW5pdC5wYXRjaApAQCAtMCwwICsxLDE4NSBAQAorRnJvbSA4YmNjMGY4NWVkMTcxOGMwZGQ5 MDMzYWQ0YTM0ZGYxODFhYWJhZmZlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFy ayBFZ2dsZXN0b24gPG1hcmtlZ2dsZXN0b25AZ2NjLmdudS5vcmc+CitEYXRlOiBGcmksIDIyIEph biAyMDIxIDEzOjExOjA2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDUvMTBdIEFsbG93IG9sZC1z dHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcworCitUaGlzIGFsbG93cyBzaW1wbGUg ZGVjbGFyYXRpb25zIGluIGRlcml2ZWQgdHlwZXMgYW5kIHN0cnVjdHVyZXMsIHN1Y2ggYXM6Cisg ICAgTE9HSUNBTCoxICAgICAgTklMICAgICAgLzAvCitPbmx5IHNpbmdsZSB2YWx1ZSBleHByZXNz aW9ucyBhcmUgYWxsb3dlZCBhdCB0aGUgbW9tZW50LgorCitVc2UgLWZkZWMtb2xkLWluaXQgdG8g ZW5hYmxlLiBBbHNvIGVuYWJsZWQgYnkgLWZkZWMuCistLS0KKyBnY2MvZm9ydHJhbi9kZWNsLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKystLS0tCisgZ2Nj L2ZvcnRyYW4vbGFuZy5vcHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrCisgZ2Nj L2ZvcnRyYW4vb3B0aW9ucy5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgKworIC4uLmVj X2Rlcml2ZWRfdHlwZXNfaW5pdGlhbGlzZWRfb2xkX3N0eWxlXzEuZiB8IDI1ICsrKysrKysrKysr KysrKysrCisgLi4uZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMi5mIHwg MjUgKysrKysrKysrKysrKysrKysKKyAuLi5lY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29s ZF9zdHlsZV8zLmYgfCAyNiArKysrKysrKysrKysrKysrKysKKyA2IGZpbGVzIGNoYW5nZWQsIDEw MyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9z dHlsZV8xLmYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k ZWNfZGVyaXZlZF90eXBlc19pbml0aWFsaXNlZF9vbGRfc3R5bGVfMi5mCisgY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2Rlcml2ZWRfdHlwZXNfaW5pdGlh bGlzZWRfb2xkX3N0eWxlXzMuZgorCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vZGVjbC5jIGIv Z2NjL2ZvcnRyYW4vZGVjbC5jCitpbmRleCA3MjM5MTU4MjJmMy4uNWM4YzFiNzk4MWIgMTAwNjQ0 CistLS0gYS9nY2MvZm9ydHJhbi9kZWNsLmMKKysrKyBiL2djYy9mb3J0cmFuL2RlY2wuYworQEAg LTI4MjcsMTIgKzI4MjcsMjkgQEAgdmFyaWFibGVfZGVjbCAoaW50IGVsZW0pCisgICAgICAgICAg YnV0IG5vdCBjb21wb25lbnRzIG9mIGRlcml2ZWQgdHlwZXMuICAqLworICAgICAgIGVsc2UgaWYg KGdmY19jdXJyZW50X3N0YXRlICgpID09IENPTVBfREVSSVZFRCkKKyAJeworLQkgIGdmY19lcnJv ciAoIkludmFsaWQgb2xkIHN0eWxlIGluaXRpYWxpemF0aW9uIGZvciBkZXJpdmVkIHR5cGUgIgor LQkJICAgICAiY29tcG9uZW50IGF0ICVDIik7CistCSAgbSA9IE1BVENIX0VSUk9SOworLQkgIGdv dG8gY2xlYW51cDsKKysJICBpZiAoZmxhZ19kZWNfb2xkX2luaXQpCisrCSAgICB7CisrCSAgICAg IC8qIEF0dGVtcHQgdG8gbWF0Y2ggYW4gb2xkLXN0eWxlIGluaXRpYWxpemVyIHdoaWNoIGlzIGEg c2ltcGxlCisrCQkgaW50ZWdlciBvciBjaGFyYWN0ZXIgZXhwcmVzc2lvbjsgdGhpcyB3aWxsIG5v dCB3b3JrIHdpdGgKKysJCSBtdWx0aXBsZSB2YWx1ZXMuICovCisrCSAgICAgIG0gPSBnZmNfbWF0 Y2hfaW5pdF9leHByICgmaW5pdGlhbGl6ZXIpOworKwkgICAgICBpZiAobSA9PSBNQVRDSF9FUlJP UikKKysJCWdvdG8gY2xlYW51cDsKKysJICAgICAgZWxzZSBpZiAobSA9PSBNQVRDSF9ZRVMpCisr CQl7CisrCQkgIG0gPSBnZmNfbWF0Y2ggKCIvIik7CisrCQkgIGlmIChtICE9IE1BVENIX1lFUykK KysJCSAgICBnb3RvIGNsZWFudXA7CisrCQl9CisrCSAgICB9CisrCSAgZWxzZQorKwkgICAgewor KwkgICAgICBnZmNfZXJyb3IgKCJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXphdGlvbiBmb3Ig ZGVyaXZlZCB0eXBlICIKKysJCQkgImNvbXBvbmVudCBhdCAlQyIpOworKwkgICAgICBtID0gTUFU Q0hfRVJST1I7CisrCSAgICAgIGdvdG8gY2xlYW51cDsKKysJICAgIH0KKyAJfQorLQorICAgICAg IC8qIEZvciBzdHJ1Y3R1cmUgY29tcG9uZW50cywgcmVhZCB0aGUgaW5pdGlhbGl6ZXIgYXMgYSBz cGVjaWFsCisgICAgICAgICAgZXhwcmVzc2lvbiBhbmQgbGV0IHRoZSByZXN0IG9mIHRoaXMgZnVu Y3Rpb24gYXBwbHkgdGhlIGluaXRpYWxpemVyCisgICAgICAgICAgYXMgdXN1YWwuICAqLworZGlm ZiAtLWdpdCBhL2djYy9mb3J0cmFuL2xhbmcub3B0IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKK2lu ZGV4IGQ1MjdjMTA2YmQ2Li4yNWNjOTQ4Njk5YiAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2xh bmcub3B0CisrKysgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAorQEAgLTQ5Myw2ICs0OTMsMTAgQEAg ZmRlYy1ub24taW50ZWdlci1pbmRleAorIEZvcnRyYW4gVmFyKGZsYWdfZGVjX25vbl9pbnRlZ2Vy X2luZGV4KQorIEVuYWJsZSBzdXBwb3J0IGZvciBub24taW50ZWdlciBzdWJzdHJpbmcgaW5kZXhl cy4KKyAKKytmZGVjLW9sZC1pbml0CisrRm9ydHJhbiBWYXIoZmxhZ19kZWNfb2xkX2luaXQpCisr RW5hYmxlIHN1cHBvcnQgZm9yIG9sZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBl cy4KKysKKyBmZGVjLXN0cnVjdHVyZQorIEZvcnRyYW4gVmFyKGZsYWdfZGVjX3N0cnVjdHVyZSkK KyBFbmFibGUgc3VwcG9ydCBmb3IgREVDIFNUUlVDVFVSRS9SRUNPUkQuCitkaWZmIC0tZ2l0IGEv Z2NjL2ZvcnRyYW4vb3B0aW9ucy5jIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCitpbmRleCA5YTA0 MmY2NDg4MS4uZDZiZDM2YzNhOGEgMTAwNjQ0CistLS0gYS9nY2MvZm9ydHJhbi9vcHRpb25zLmMK KysrKyBiL2djYy9mb3J0cmFuL29wdGlvbnMuYworQEAgLTc5LDYgKzc5LDcgQEAgc2V0X2RlY19m bGFncyAoaW50IHZhbHVlKQorICAgU0VUX0JJVEZMQUcgKGZsYWdfZGVjX2NoYXJfY29udmVyc2lv bnMsIHZhbHVlLCB2YWx1ZSk7CisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfZHVwbGljYXRlcywg dmFsdWUsIHZhbHVlKTsKKyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25faW50ZWdlcl9pbmRl eCwgdmFsdWUsIHZhbHVlKTsKKysgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vbGRfaW5pdCwgdmFs dWUsIHZhbHVlKTsKKyB9CisgCisgLyogRmluYWxpemUgREVDIGZsYWdzLiAgKi8KK2RpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxp c2VkX29sZF9zdHlsZV8xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVk X3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8xLmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwMC4uZWFjNGY5YmZjZjEKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2Rlcml2ZWRfdHlwZXNfaW5pdGlhbGlzZWRfb2xkX3N0 eWxlXzEuZgorQEAgLTAsMCArMSwyNSBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1vcHRp b25zICItZmRlYyIgfQorKyEKKyshIFRlc3Qgb2xkIHN0eWxlIGluaXRpYWxpemVycyBpbiBkZXJp dmVkIHR5cGVzCisrIQorKyEgQ29udHJpYnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2Fy dGh1ckBjb2RldGhpbmsuY28udWs+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFy ay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgICBQUk9HUkFNIHNwZWNfaW5f dmFyCisrICAgICAgICAgIFRZUEUgU1RSVUNUMQorKyAgICAgICAgICAgIElOVEVHRVIqNCAgICAg IElEICAgICAgIC84LworKyAgICAgICAgICAgIElOVEVHRVIqNCAgICAgIFRZUEUgICAgIC81Lwor KyAgICAgICAgICAgIElOVEVHRVIqOCAgICAgIERFRlZBTCAgIC8wLworKyAgICAgICAgICAgIENI QVJBQ1RFUiooNSkgIE5BTUUgICAgIC8ndGVzdHMnLworKyAgICAgICAgICAgIExPR0lDQUwqMSAg ICAgIE5JTCAgICAgIC8wLworKyAgICAgICAgICBFTkQgVFlQRSBTVFJVQ1QxCisrCisrICAgICAg ICAgIFRZUEUgKFNUUlVDVDEpIFNJTlNUCisrCisrICAgICAgICAgIElGKFNJTlNUJUlELk5FLjgp IFNUT1AgMQorKyAgICAgICAgICBJRihTSU5TVCVUWVBFLk5FLjUpIFNUT1AgMgorKyAgICAgICAg ICBJRihTSU5TVCVERUZWQUwuTkUuMCkgU1RPUCAzCisrICAgICAgICAgIElGKFNJTlNUJU5BTUUu TkUuJ3Rlc3RzJykgU1RPUCA0CisrICAgICAgICAgIElGKFNJTlNUJU5JTCkgU1RPUCA1CisrICAg ICAgICBFTkQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJp dmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8yLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8yLmYKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uZDkwNGM4YjI5NzQKKy0tLSAvZGV2 L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2Rlcml2ZWRfdHlwZXNf aW5pdGlhbGlzZWRfb2xkX3N0eWxlXzIuZgorQEAgLTAsMCArMSwyNSBAQAorKyEgeyBkZy1kbyBy dW4gfQorKyEgeyBkZy1vcHRpb25zICItc3RkPWxlZ2FjeSAtZmRlYy1vbGQtaW5pdCIgfQorKyEK KyshIFRlc3Qgb2xkIHN0eWxlIGluaXRpYWxpemVycyBpbiBkZXJpdmVkIHR5cGVzCisrIQorKyEg Q29udHJpYnV0ZWQgYnkgSmltIE1hY0FydGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28u dWs+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRo aW5rLmNvbT4KKyshCisrICAgICAgICBQUk9HUkFNIHNwZWNfaW5fdmFyCisrICAgICAgICAgIFRZ UEUgU1RSVUNUMQorKyAgICAgICAgICAgIElOVEVHRVIqNCAgICAgIElEICAgICAgIC84LworKyAg ICAgICAgICAgIElOVEVHRVIqNCAgICAgIFRZUEUgICAgIC81LworKyAgICAgICAgICAgIElOVEVH RVIqOCAgICAgIERFRlZBTCAgIC8wLworKyAgICAgICAgICAgIENIQVJBQ1RFUiooNSkgIE5BTUUg ICAgIC8ndGVzdHMnLworKyAgICAgICAgICAgIExPR0lDQUwqMSAgICAgIE5JTCAgICAgIC8wLwor KyAgICAgICAgICBFTkQgVFlQRSBTVFJVQ1QxCisrCisrICAgICAgICAgIFRZUEUgKFNUUlVDVDEp IFNJTlNUCisrCisrICAgICAgICAgIElGKFNJTlNUJUlELk5FLjgpIFNUT1AgMQorKyAgICAgICAg ICBJRihTSU5TVCVUWVBFLk5FLjUpIFNUT1AgMgorKyAgICAgICAgICBJRihTSU5TVCVERUZWQUwu TkUuMCkgU1RPUCAzCisrICAgICAgICAgIElGKFNJTlNUJU5BTUUuTkUuJ3Rlc3RzJykgU1RPUCA0 CisrICAgICAgICAgIElGKFNJTlNUJU5JTCkgU1RPUCA1CisrICAgICAgICBFTkQKK2RpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVkX3R5cGVzX2luaXRpYWxp c2VkX29sZF9zdHlsZV8zLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19kZXJpdmVk X3R5cGVzX2luaXRpYWxpc2VkX29sZF9zdHlsZV8zLmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0Citp bmRleCAwMDAwMDAwMDAwMC4uNThjMmI0YjY2Y2YKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2Rlcml2ZWRfdHlwZXNfaW5pdGlhbGlzZWRfb2xkX3N0 eWxlXzMuZgorQEAgLTAsMCArMSwyNiBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGct b3B0aW9ucyAiLXN0ZD1sZWdhY3kgLWZkZWMgLWZuby1kZWMtb2xkLWluaXQiIH0KKyshCisrISBU ZXN0IG9sZCBzdHlsZSBpbml0aWFsaXplcnMgaW4gZGVyaXZlZCB0eXBlcworKyEKKyshIENvbnRy aWJ1dGVkIGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgor KyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5j b20+CisrIQorKworKyAgICAgICAgUFJPR1JBTSBzcGVjX2luX3ZhcgorKyAgICAgICAgICBUWVBF IFNUUlVDVDEKKysgICAgICAgICAgICBJTlRFR0VSKjQgICAgICBJRCAgICAgICAvOC8gISB7IGRn LWVycm9yICJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXphdGlvbiIgfQorKyAgICAgICAgICAg IElOVEVHRVIqNCAgICAgIFRZUEUgICAgIC81LyAhIHsgZGctZXJyb3IgIkludmFsaWQgb2xkIHN0 eWxlIGluaXRpYWxpemF0aW9uIiB9CisrICAgICAgICAgICAgSU5URUdFUio4ICAgICAgREVGVkFM ICAgLzAvICEgeyBkZy1lcnJvciAiSW52YWxpZCBvbGQgc3R5bGUgaW5pdGlhbGl6YXRpb24iIH0K KysgICAgICAgICAgICBDSEFSQUNURVIqKDUpICBOQU1FICAgICAvJ3Rlc3RzJy8gISB7IGRnLWVy cm9yICJJbnZhbGlkIG9sZCBzdHlsZSBpbml0aWFsaXphdGlvbiIgfQorKyAgICAgICAgICAgIExP R0lDQUwqMSAgICAgIE5JTCAgICAgIC8wLyAhIHsgZGctZXJyb3IgIkludmFsaWQgb2xkIHN0eWxl IGluaXRpYWxpemF0aW9uIiB9CisrICAgICAgICAgIEVORCBUWVBFIFNUUlVDVDEKKysKKysgICAg ICAgICAgVFlQRSAoU1RSVUNUMSkgU0lOU1QKKysKKysgICAgICAgICAgSUYoU0lOU1QlSUQuTkUu OCkgU1RPUCAxICEgeyBkZy1lcnJvciAiJ2lkJyBhdCBcXCgxXFwpIGlzIG5vdCBhIG1lbWJlciIg fQorKyAgICAgICAgICBJRihTSU5TVCVUWVBFLk5FLjUpIFNUT1AgMiAhIHsgZGctZXJyb3IgIid0 eXBlJyBhdCBcXCgxXFwpIGlzIG5vdCBhIG1lbWJlciIgfQorKyAgICAgICAgICBJRihTSU5TVCVE RUZWQUwuTkUuMCkgU1RPUCAzICAhIHsgZGctZXJyb3IgIidkZWZ2YWwnIGF0IFxcKDFcXCkgaXMg bm90IGEgbWVtYmVyIiB9CisrICAgICAgICAgIElGKFNJTlNUJU5BTUUuTkUuJ3Rlc3RzJykgU1RP UCA0ICEgeyBkZy1lcnJvciAiJ25hbWUnIGF0IFxcKDFcXCkgaXMgbm90IGEgbWVtYmVyIiB9Cisr ICAgICAgICAgIElGKFNJTlNUJU5JTCkgU1RPUCA1ICEgeyBkZy1lcnJvciAiJ25pbCcgYXQgXFwo MVxcKSBpcyBub3QgYSBtZW1iZXIiIH0KKysgICAgICAgIEVORAorLS0gCisyLjI3LjAKKwoKZGlm ZiAtLWdpdCBhL2djYzEyLWZvcnRyYW4tZmRlYy1vdmVycmlkZS1raW5kLnBhdGNoIGIvZ2NjMTIt Zm9ydHJhbi1mZGVjLW92ZXJyaWRlLWtpbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZTFjN2I4MwotLS0gL2Rldi9udWxsCisrKyBiL2djYzEyLWZvcnRyYW4tZmRl Yy1vdmVycmlkZS1raW5kLnBhdGNoCkBAIC0wLDAgKzEsNTg4IEBACitGcm9tIDc4Njg2OWZkNjI4 MTNlODBkYTliNjU0NWEyOTVkNTNjMzYyNzVjMTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251Lm9yZz4KK0RhdGU6IEZy aSwgMjIgSmFuIDIwMjEgMTM6MTI6MTQgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwNi8xMF0gQWxs b3cgc3RyaW5nIGxlbmd0aCBhbmQga2luZCB0byBiZSBzcGVjaWZpZWQgb24gYSBwZXIKKyB2YXJp YWJsZSBiYXNpcy4KKworVGhpcyBhbGxvd3Mga2luZC9sZW5ndGggdG8gYmUgbWl4ZWQgd2l0aCBh cnJheSBzcGVjaWZpY2F0aW9uIGluCitkZWNsYXJhdGlvbnMuCisKK2UuZy4KKworICAgICAgSU5U RUdFUio0IHgqMiwgeSo4CisgICAgICBDSEFSQUNURVIgbmFtZXMqMjAoMTApCisgICAgICBSRUFM IHYoMTAwKSo4LCB2dio0KDUwKQorCitUaGUgcGVyLXZhcmlhYmxlIHNpemUgb3ZlcnJpZGVzIHRo ZSBraW5kIG9yIGxlbmd0aCBzcGVjaWZpZWQgZm9yIHRoZSB0eXBlLgorCitVc2UgLWZkZWMtb3Zl cnJpZGUta2luZCB0byBlbmFibGUuIEFsc28gZW5hYmxlZCBieSAtZmRlYy4KKworTm90ZTogdGhp cyBmZWF0dXJlIGlzIGEgbWVyZ2VyIG9mIHR3byBwcmV2aW91c2x5IHNlcGFyYXRlIGZlYXR1cmVz LgorCitOb3cgYWNjZXB0cyBuYW1lZCBjb25zdGFudHMgYXMga2luZCBwYXJhbWV0ZXJzOgorCisg ICAgICBJTlRFR0VSIEEKKyAgICAgIFBBUkFNRVRFUiAoQT0yKQorICAgICAgSU5URUdFUiBCKihB KQorCitDb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRo aW5rLmNvbT4KKworTm93IHJlamVjdHMgaW52YWxpZCBraW5kIHBhcmFtZXRlcnMgYW5kIHByaW50 cyBlcnJvciBtZXNzYWdlczoKKworICAgICAgSU5URUdFUiBYKjMKKworY2F1c2VkIGFuIGludGVy bmFsIGNvbXBpbGVyIGVycm9yLgorCitDb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFy ay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKy0tLQorIGdjYy9mb3J0cmFuL2RlY2wuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDE1NiArKysrKysrKysrKysrKy0tLS0KKyBnY2MvZm9y dHJhbi9sYW5nLm9wdCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKworIGdjYy9mb3J0 cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCisgLi4uL2RlY19t aXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzEuZiAgICAgIHwgIDEzICsrCisgLi4uL2RlY19t aXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzIuZiAgICAgIHwgIDEzICsrCisgLi4uL2RlY19t aXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzMuZiAgICAgIHwgIDEzICsrCisgLi4uL2dmb3J0 cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzEuZiAgICAgIHwgIDMxICsrKysKKyAuLi4vZ2Zv cnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMi5mICAgICAgfCAgMzEgKysrKworIC4uLi9n Zm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV8zLmYgICAgICB8ICAzMSArKysrCisgLi4u L2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzQuZiAgICAgIHwgIDE0ICsrCisgLi4u L2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzUuZiAgICAgIHwgIDE5ICsrKworIC4u Li9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV82LmYgICAgICB8ICAxOSArKysKKyAu Li4vZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfNy5mICAgICAgfCAgMTUgKysKKyAu Li4vZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfOC5mICAgICAgfCAgMTQgKysKKyAx NCBmaWxlcyBjaGFuZ2VkLCAzNDAgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX21peGVkX2NoYXJf YXJyYXlfZGVjbGFyYXRpb25fMS5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25fMi5mCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX21peGVkX2NoYXJfYXJy YXlfZGVjbGFyYXRpb25fMy5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMS5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMi5mCisgY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFi bGVfMy5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVj X3NwZWNfaW5fdmFyaWFibGVfNC5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfNS5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfNi5mCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFy aWFibGVfNy5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZGVjX3NwZWNfaW5fdmFyaWFibGVfOC5mCisKK2RpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9kZWNs LmMgYi9nY2MvZm9ydHJhbi9kZWNsLmMKK2luZGV4IDVjOGMxYjc5ODFiLi5mN2RjOWQ4MjYzZCAx MDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2RlY2wuYworKysrIGIvZ2NjL2ZvcnRyYW4vZGVjbC5j CitAQCAtMTIxMyw2ICsxMjEzLDU0IEBAIHN5bnRheDoKKyAgIHJldHVybiBNQVRDSF9FUlJPUjsK KyB9CisgCisrLyogVGhpcyBtYXRjaGVzIHRoZSBub25zdGFuZGFyZCBraW5kIGdpdmVuIGFmdGVy IGEgdmFyaWFibGUgbmFtZSwgbGlrZToKKysgICBJTlRFR0VSIHgqMiwgeSo0CisrICAgVGhlIHBl ci12YXJpYWJsZSBraW5kIHdpbGwgb3ZlcnJpZGUgYW55IGtpbmQgZ2l2ZW4gaW4gdGhlIHR5cGUK KysgICBkZWNsYXJhdGlvbi4KKysqLworKworK3N0YXRpYyBtYXRjaAorK21hdGNoX3Blcl9zeW1i b2xfa2luZCAoaW50ICpsZW5ndGgpCisreworKyAgbWF0Y2ggbTsKKysgIGdmY19leHByICpleHBy ID0gTlVMTDsKKysKKysgIG0gPSBnZmNfbWF0Y2hfY2hhciAoJyonKTsKKysgIGlmIChtICE9IE1B VENIX1lFUykKKysgICAgcmV0dXJuIG07CisrCisrICBtID0gZ2ZjX21hdGNoX3NtYWxsX2xpdGVy YWxfaW50IChsZW5ndGgsIE5VTEwpOworKyAgaWYgKG0gPT0gTUFUQ0hfWUVTIHx8IG0gPT0gTUFU Q0hfRVJST1IpCisrICAgIHJldHVybiBtOworKworKyAgaWYgKGdmY19tYXRjaF9jaGFyICgnKCcp ID09IE1BVENIX05PKQorKyAgICByZXR1cm4gTUFUQ0hfRVJST1I7CisrCisrICBtID0gZ2ZjX21h dGNoX2V4cHIgKCZleHByKTsKKysgIGlmIChtID09IE1BVENIX1lFUykKKysgICAgeworKyAgICAg IG0gPSBNQVRDSF9FUlJPUjsgLy8gQXNzdW1lIGVycm9yCisrICAgICAgaWYgKGdmY19leHByX2No ZWNrX3R5cGVkIChleHByLCBnZmNfY3VycmVudF9ucywgZmFsc2UpKQorKwl7CisrCSAgaWYgKChl eHByLT5leHByX3R5cGUgPT0gRVhQUl9DT05TVEFOVCkKKysJICAgICAgJiYgKGV4cHItPnRzLnR5 cGUgPT0gQlRfSU5URUdFUikpCisrCSAgICB7CisrCSAgICAgICpsZW5ndGggPSBtcHpfZ2V0X3Np KGV4cHItPnZhbHVlLmludGVnZXIpOworKwkgICAgICBtID0gTUFUQ0hfWUVTOworKwkgICAgfQor Kwl9CisrCisrCWlmIChtID09IE1BVENIX1lFUykKKysJICB7CisrCSAgICBpZiAoZ2ZjX21hdGNo X2NoYXIgKCcpJykgPT0gTUFUQ0hfTk8pCisrCSAgICAgICBtID0gTUFUQ0hfRVJST1I7CisrICB9 CisrICAgICB9CisrCisrICBpZiAoZXhwciAhPSBOVUxMKQorKyAgICAgZ2ZjX2ZyZWVfZXhwciAo ZXhwcik7CisrICByZXR1cm4gbTsKKyt9CisgCisgLyogU3BlY2lhbCBzdWJyb3V0aW5lIGZvciBm aW5kaW5nIGEgc3ltYm9sLiAgQ2hlY2sgaWYgdGhlIG5hbWUgaXMgZm91bmQKKyAgICBpbiB0aGUg Y3VycmVudCBuYW1lIHNwYWNlLiAgSWYgbm90LCBhbmQgd2UncmUgY29tcGlsaW5nIGEgZnVuY3Rp b24gb3IKK0BAIC0yNDQzLDYgKzI0OTEsMzUgQEAgY2hlY2tfZnVuY3Rpb25fbmFtZSAoY2hhciAq bmFtZSkKKyB9CisgCisgCisrc3RhdGljIG1hdGNoCisrbWF0Y2hfY2hhcmFjdGVyX2xlbmd0aF9j bGF1c2UgKGdmY19jaGFybGVuICoqY2wsIGJvb2wgKmNsX2RlZmVycmVkLCBpbnQgZWxlbSkKKyt7 CisrICBnZmNfZXhwciogY2hhcl9sZW47CisrICBjaGFyX2xlbiA9IE5VTEw7CisrCisrICBtYXRj aCBtID0gbWF0Y2hfY2hhcl9sZW5ndGggKCZjaGFyX2xlbiwgY2xfZGVmZXJyZWQsIGZhbHNlKTsK KysgIGlmIChtID09IE1BVENIX1lFUykKKysgICAgeworKyAgICAgICpjbCA9IGdmY19uZXdfY2hh cmxlbiAoZ2ZjX2N1cnJlbnRfbnMsIE5VTEwpOworKyAgICAgICgqY2wpLT5sZW5ndGggPSBjaGFy X2xlbjsKKysgICAgfQorKyAgZWxzZSBpZiAobSA9PSBNQVRDSF9OTykKKysgICAgeworKyAgICAg IGlmIChlbGVtID4gMQorKwkgICYmIChjdXJyZW50X3RzLnUuY2wtPmxlbmd0aCA9PSBOVUxMCisr CSAgICAgIHx8IGN1cnJlbnRfdHMudS5jbC0+bGVuZ3RoLT5leHByX3R5cGUgIT0gRVhQUl9DT05T VEFOVCkpCisrCXsKKysJICAqY2wgPSBnZmNfbmV3X2NoYXJsZW4gKGdmY19jdXJyZW50X25zLCBO VUxMKTsKKysJICAoKmNsKS0+bGVuZ3RoID0gZ2ZjX2NvcHlfZXhwciAoY3VycmVudF90cy51LmNs LT5sZW5ndGgpOworKwl9CisrICAgICAgZWxzZQorKyAgICAgICpjbCA9IGN1cnJlbnRfdHMudS5j bDsKKysKKysgICAgICAqY2xfZGVmZXJyZWQgPSBjdXJyZW50X3RzLmRlZmVycmVkOworKyAgICB9 CisrICByZXR1cm4gbTsKKyt9CisrCisgLyogTWF0Y2ggYSB2YXJpYWJsZSBuYW1lIHdpdGggYW4g b3B0aW9uYWwgaW5pdGlhbGl6ZXIuICBXaGVuIHRoaXMKKyAgICBzdWJyb3V0aW5lIGlzIGNhbGxl ZCwgYSB2YXJpYWJsZSBpcyBleHBlY3RlZCB0byBiZSBwYXJzZWQgbmV4dC4KKyAgICBEZXBlbmRp bmcgb24gd2hhdCBpcyBoYXBwZW5pbmcgYXQgdGhlIG1vbWVudCwgdXBkYXRlcyBlaXRoZXIgdGhl CitAQCAtMjQ1Myw3ICsyNTMwLDcgQEAgdmFyaWFibGVfZGVjbCAoaW50IGVsZW0pCisgeworICAg Y2hhciBuYW1lW0dGQ19NQVhfU1lNQk9MX0xFTiArIDFdOworICAgc3RhdGljIHVuc2lnbmVkIGlu dCBmaWxsX2lkID0gMDsKKy0gIGdmY19leHByICppbml0aWFsaXplciwgKmNoYXJfbGVuOworKyAg Z2ZjX2V4cHIgKmluaXRpYWxpemVyOworICAgZ2ZjX2FycmF5X3NwZWMgKmFzOworICAgZ2ZjX2Fy cmF5X3NwZWMgKmNwX2FzOyAvKiBFeHRyYSBjb3B5IGZvciBDcmF5IFBvaW50ZWVzLiAgKi8KKyAg IGdmY19jaGFybGVuICpjbDsKK0BAIC0yNDYyLDExICsyNTM5LDE1IEBAIHZhcmlhYmxlX2RlY2wg KGludCBlbGVtKQorICAgbWF0Y2ggbTsKKyAgIGJvb2wgdDsKKyAgIGdmY19zeW1ib2wgKnN5bTsK KysgIG1hdGNoIGNsX21hdGNoOworKyAgbWF0Y2gga2luZF9tYXRjaDsKKysgIGludCBvdmVycmlk ZGVuX2tpbmQ7CisgICBjaGFyIGM7CisgCisgICBpbml0aWFsaXplciA9IE5VTEw7CisgICBhcyA9 IE5VTEw7CisgICBjcF9hcyA9IE5VTEw7CisrICBraW5kX21hdGNoID0gTUFUQ0hfTk87CisgCisg ICAvKiBXaGVuIHdlIGdldCBoZXJlLCB3ZSd2ZSBqdXN0IG1hdGNoZWQgYSBsaXN0IG9mIGF0dHJp YnV0ZXMgYW5kCisgICAgICBtYXliZSBhIHR5cGUgYW5kIGEgZG91YmxlIGNvbG9uLiAgVGhlIG5l eHQgdGhpbmcgd2UgZXhwZWN0IHRvIHNlZQorQEAgLTI1MTksNiArMjYwMCwyOCBAQCB2YXJpYWJs ZV9kZWNsIChpbnQgZWxlbSkKKyAKKyAgIHZhcl9sb2N1cyA9IGdmY19jdXJyZW50X2xvY3VzOwor IAorKworKyAgY2wgPSBOVUxMOworKyAgY2xfZGVmZXJyZWQgPSBmYWxzZTsKKysgIGNsX21hdGNo ID0gTUFUQ0hfTk87CisrCisrICAvKiBDaGVjayBmb3IgYSBjaGFyYWN0ZXIgbGVuZ3RoIGNsYXVz ZSBiZWZvcmUgYW4gYXJyYXkgY2xhdXNlICovCisrICBpZiAoZmxhZ19kZWNfb3ZlcnJpZGVfa2lu ZCkKKysgICAgeworKyAgICAgIGlmIChjdXJyZW50X3RzLnR5cGUgPT0gQlRfQ0hBUkFDVEVSKQor Kwl7CisrCSAgY2xfbWF0Y2ggPSBtYXRjaF9jaGFyYWN0ZXJfbGVuZ3RoX2NsYXVzZSAoJmNsLCAm Y2xfZGVmZXJyZWQsIGVsZW0pOworKwkgIGlmIChjbF9tYXRjaCA9PSBNQVRDSF9FUlJPUikKKysJ ICAgIGdvdG8gY2xlYW51cDsKKysJfQorKyAgICAgIGVsc2UKKysJeworKwkgIGtpbmRfbWF0Y2gg PSBtYXRjaF9wZXJfc3ltYm9sX2tpbmQgKCZvdmVycmlkZGVuX2tpbmQpOworKwkgIGlmIChraW5k X21hdGNoID09IE1BVENIX0VSUk9SKQorKwkgICAgZ290byBjbGVhbnVwOworKwl9CisrICAgIH0K KysKKyAgIC8qIE5vdyB3ZSBjb3VsZCBzZWUgdGhlIG9wdGlvbmFsIGFycmF5IHNwZWMuIG9yIGNo YXJhY3RlciBsZW5ndGguICAqLworICAgbSA9IGdmY19tYXRjaF9hcnJheV9zcGVjICgmYXMsIHRy dWUsIHRydWUpOworICAgaWYgKG0gPT0gTUFUQ0hfRVJST1IpCitAQCAtMjY2Nyw0MCArMjc3MCwx MiBAQCB2YXJpYWJsZV9kZWNsIChpbnQgZWxlbSkKKyAJfQorICAgICB9CisgCistICBjaGFyX2xl biA9IE5VTEw7CistICBjbCA9IE5VTEw7CistICBjbF9kZWZlcnJlZCA9IGZhbHNlOworLQorLSAg aWYgKGN1cnJlbnRfdHMudHlwZSA9PSBCVF9DSEFSQUNURVIpCisrICAvKiBTZWNvbmQgY2hhbmNl IGZvciBhIGNoYXJhY3RlciBsZW5ndGggY2xhdXNlICovCisrICBpZiAoY2xfbWF0Y2ggPT0gTUFU Q0hfTk8gJiYgY3VycmVudF90cy50eXBlID09IEJUX0NIQVJBQ1RFUikKKyAgICAgeworLSAgICAg IHN3aXRjaCAobWF0Y2hfY2hhcl9sZW5ndGggKCZjaGFyX2xlbiwgJmNsX2RlZmVycmVkLCBmYWxz ZSkpCistCXsKKy0JY2FzZSBNQVRDSF9ZRVM6CistCSAgY2wgPSBnZmNfbmV3X2NoYXJsZW4gKGdm Y19jdXJyZW50X25zLCBOVUxMKTsKKy0KKy0JICBjbC0+bGVuZ3RoID0gY2hhcl9sZW47CistCSAg YnJlYWs7CistCistCS8qIE5vbi1jb25zdGFudCBsZW5ndGhzIG5lZWQgdG8gYmUgY29waWVkIGFm dGVyIHRoZSBmaXJzdAorLQkgICBlbGVtZW50LiAgQWxzbyBjb3B5IGFzc3VtZWQgbGVuZ3Rocy4g ICovCistCWNhc2UgTUFUQ0hfTk86CistCSAgaWYgKGVsZW0gPiAxCistCSAgICAgICYmIChjdXJy ZW50X3RzLnUuY2wtPmxlbmd0aCA9PSBOVUxMCistCQkgIHx8IGN1cnJlbnRfdHMudS5jbC0+bGVu Z3RoLT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCkpCistCSAgICB7CistCSAgICAgIGNsID0g Z2ZjX25ld19jaGFybGVuIChnZmNfY3VycmVudF9ucywgTlVMTCk7CistCSAgICAgIGNsLT5sZW5n dGggPSBnZmNfY29weV9leHByIChjdXJyZW50X3RzLnUuY2wtPmxlbmd0aCk7CistCSAgICB9Cist CSAgZWxzZQorLQkgICAgY2wgPSBjdXJyZW50X3RzLnUuY2w7CistCistCSAgY2xfZGVmZXJyZWQg PSBjdXJyZW50X3RzLmRlZmVycmVkOworLQorLQkgIGJyZWFrOworLQorLQljYXNlIE1BVENIX0VS Uk9SOgorLQkgIGdvdG8gY2xlYW51cDsKKy0JfQorKyAgICAgIG0gPSBtYXRjaF9jaGFyYWN0ZXJf bGVuZ3RoX2NsYXVzZSAoJmNsLCAmY2xfZGVmZXJyZWQsIGVsZW0pOworKyAgICAgIGlmIChtID09 IE1BVENIX0VSUk9SKQorKwlnb3RvIGNsZWFudXA7CisgICAgIH0KKyAKKyAgIC8qIFRoZSBkdW1t eSBhcmd1bWVudHMgYW5kIHJlc3VsdCBvZiB0aGUgYWJyZXZpYXRlZCBmb3JtIG9mIE1PRFVMRQor QEAgLTI4MDIsNiArMjg3NywxOSBAQCB2YXJpYWJsZV9kZWNsIChpbnQgZWxlbSkKKyAgICAgICBn b3RvIGNsZWFudXA7CisgICAgIH0KKyAKKysgIGlmIChraW5kX21hdGNoID09IE1BVENIX1lFUykK KysgICAgeworKyAgICAgIGdmY19maW5kX3N5bWJvbCAobmFtZSwgZ2ZjX2N1cnJlbnRfbnMsIDEs ICZzeW0pOworKyAgICAgIC8qIHN5bSAqbXVzdCogYmUgZm91bmQgYXQgdGhpcyBwb2ludCAqLwor KyAgICAgIHN5bS0+dHMua2luZCA9IG92ZXJyaWRkZW5fa2luZDsKKysgICAgICBpZiAoZ2ZjX3Zh bGlkYXRlX2tpbmQgKHN5bS0+dHMudHlwZSwgc3ltLT50cy5raW5kLCB0cnVlKSA8IDApCisrCXsK KysJICBnZmNfZXJyb3IgKCJLaW5kICVkIG5vdCBzdXBwb3J0ZWQgZm9yIHR5cGUgJXMgYXQgJUMi LAorKwkJICAgICBzeW0tPnRzLmtpbmQsIGdmY19iYXNpY190eXBlbmFtZSAoc3ltLT50cy50eXBl KSk7CisrCSAgcmV0dXJuIE1BVENIX0VSUk9SOworKwl9CisrICAgIH0KKysKKyAgIGlmICghY2hl Y2tfZnVuY3Rpb25fbmFtZSAobmFtZSkpCisgICAgIHsKKyAgICAgICBtID0gTUFUQ0hfRVJST1I7 CitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9w dAoraW5kZXggMjVjYzk0ODY5OWIuLjRhMjY5ZWJiMjJkIDEwMDY0NAorLS0tIGEvZ2NjL2ZvcnRy YW4vbGFuZy5vcHQKKysrKyBiL2djYy9mb3J0cmFuL2xhbmcub3B0CitAQCAtNDkzLDYgKzQ5Mywx MCBAQCBmZGVjLW5vbi1pbnRlZ2VyLWluZGV4CisgRm9ydHJhbiBWYXIoZmxhZ19kZWNfbm9uX2lu dGVnZXJfaW5kZXgpCisgRW5hYmxlIHN1cHBvcnQgZm9yIG5vbi1pbnRlZ2VyIHN1YnN0cmluZyBp bmRleGVzLgorIAorK2ZkZWMtb3ZlcnJpZGUta2luZAorK0ZvcnRyYW4gVmFyKGZsYWdfZGVjX292 ZXJyaWRlX2tpbmQpCisrRW5hYmxlIHN1cHBvcnQgZm9yIHBlciB2YXJpYWJsZSBraW5kIHNwZWNp ZmljYXRpb24uCisrCisgZmRlYy1vbGQtaW5pdAorIEZvcnRyYW4gVmFyKGZsYWdfZGVjX29sZF9p bml0KQorIEVuYWJsZSBzdXBwb3J0IGZvciBvbGQgc3R5bGUgaW5pdGlhbGl6ZXJzIGluIGRlcml2 ZWQgdHlwZXMuCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jIGIvZ2NjL2ZvcnRy YW4vb3B0aW9ucy5jCitpbmRleCBkNmJkMzZjM2E4YS4uZWRiYWI0ODNiMzYgMTAwNjQ0CistLS0g YS9nY2MvZm9ydHJhbi9vcHRpb25zLmMKKysrKyBiL2djYy9mb3J0cmFuL29wdGlvbnMuYworQEAg LTgwLDYgKzgwLDcgQEAgc2V0X2RlY19mbGFncyAoaW50IHZhbHVlKQorICAgU0VUX0JJVEZMQUcg KGZsYWdfZGVjX2R1cGxpY2F0ZXMsIHZhbHVlLCB2YWx1ZSk7CisgICBTRVRfQklURkxBRyAoZmxh Z19kZWNfbm9uX2ludGVnZXJfaW5kZXgsIHZhbHVlLCB2YWx1ZSk7CisgICBTRVRfQklURkxBRyAo ZmxhZ19kZWNfb2xkX2luaXQsIHZhbHVlLCB2YWx1ZSk7CisrICBTRVRfQklURkxBRyAoZmxhZ19k ZWNfb3ZlcnJpZGVfa2luZCwgdmFsdWUsIHZhbHVlKTsKKyB9CisgCisgLyogRmluYWxpemUgREVD IGZsYWdzLiAgKi8KK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19t aXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25fMS5mCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLjcwNmVhNDExMmE0CistLS0gL2Rldi9udWxsCisrKysg Yi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19taXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0 aW9uXzEuZgorQEAgLTAsMCArMSwxMyBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1vcHRp b25zICItZmRlYyIgfQorKyEKKyshIFRlc3QgY2hhcmFjdGVyIGRlY2xhcmF0aW9uIHdpdGggbWl4 ZWQgc3RyaW5nIGxlbmd0aCBhbmQgYXJyYXkgc3BlY2lmaWNhdGlvbgorKyEKKyshIENvbnRyaWJ1 dGVkIGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgorKyEg TW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+ CisrIQorKyAgICAgICBQUk9HUkFNIGNoYXJhY3Rlcl9kZWNsYXJhdGlvbgorKyAgICAgICAgICBD SEFSQUNURVIgQVNQRUNfU0xFTkdUSCoyICg1KSAvJzAxJywnMDInLCcwMycsJzA0JywnMDUnLwor KyAgICAgICAgICBDSEFSQUNURVIgU0xFTkdUSF9BU1BFQyg1KSoyIC8nMDEnLCcwMicsJzAzJywn MDQnLCcwNScvCisrICAgICAgICAgIGlmIChBU1BFQ19TTEVOR1RIKDMpLk5FLlNMRU5HVEhfQVNQ RUMoMykpIFNUT1AgMQorKyAgICAgICAgRU5ECitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hhcl9hcnJheV9kZWNsYXJhdGlvbl8yLmYgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19taXhlZF9jaGFyX2FycmF5X2RlY2xhcmF0aW9uXzIuZgor bmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi4yNmQyYWNmMDFkZQorLS0t IC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbWl4ZWRfY2hh cl9hcnJheV9kZWNsYXJhdGlvbl8yLmYKK0BAIC0wLDAgKzEsMTMgQEAKKyshIHsgZGctZG8gcnVu IH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMtb3ZlcnJpZGUta2luZCIgfQorKyEKKyshIFRlc3Qg Y2hhcmFjdGVyIGRlY2xhcmF0aW9uIHdpdGggbWl4ZWQgc3RyaW5nIGxlbmd0aCBhbmQgYXJyYXkg c3BlY2lmaWNhdGlvbgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEppbSBNYWNBcnRodXIgPGppbS5t YWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24g PG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAgICAgUFJPR1JBTSBjaGFy YWN0ZXJfZGVjbGFyYXRpb24KKysgICAgICAgICAgQ0hBUkFDVEVSIEFTUEVDX1NMRU5HVEgqMiAo NSkgLycwMScsJzAyJywnMDMnLCcwNCcsJzA1Jy8KKysgICAgICAgICAgQ0hBUkFDVEVSIFNMRU5H VEhfQVNQRUMoNSkqMiAvJzAxJywnMDInLCcwMycsJzA0JywnMDUnLworKyAgICAgICAgICBpZiAo QVNQRUNfU0xFTkdUSCgzKS5ORS5TTEVOR1RIX0FTUEVDKDMpKSBTVE9QIDEKKysgICAgICAgIEVO RAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX21peGVkX2NoYXJf YXJyYXlfZGVjbGFyYXRpb25fMy5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfbWl4 ZWRfY2hhcl9hcnJheV9kZWNsYXJhdGlvbl8zLmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwMC4uNzZlNGYwYmRiOTMKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX21peGVkX2NoYXJfYXJyYXlfZGVjbGFyYXRpb25fMy5mCitA QCAtMCwwICsxLDEzIEBACisrISB7IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRpb25zICIt ZmRlYy1vdmVycmlkZS1raW5kIC1mbm8tZGVjLW92ZXJyaWRlLWtpbmQiIH0KKyshCisrISBUZXN0 IGNoYXJhY3RlciBkZWNsYXJhdGlvbiB3aXRoIG1peGVkIHN0cmluZyBsZW5ndGggYW5kIGFycmF5 IHNwZWNpZmljYXRpb24KKyshCisrISBDb250cmlidXRlZCBieSBKaW0gTWFjQXJ0aHVyIDxqaW0u bWFjYXJ0aHVyQGNvZGV0aGluay5jby51az4KKyshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9u IDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICAgIFBST0dSQU0gY2hh cmFjdGVyX2RlY2xhcmF0aW9uCisrICAgICAgICAgIENIQVJBQ1RFUiBBU1BFQ19TTEVOR1RIKjIg KDUpIC8nMDEnLCcwMicsJzAzJywnMDQnLCcwNScvICEgeyBkZy1lcnJvciAiU3ludGF4IGVycm9y IiB9CisrICAgICAgICAgIENIQVJBQ1RFUiBTTEVOR1RIX0FTUEVDKDUpKjIgLycwMScsJzAyJywn MDMnLCcwNCcsJzA1Jy8KKysgICAgICAgICAgaWYgKEFTUEVDX1NMRU5HVEgoMykuTkUuU0xFTkdU SF9BU1BFQygzKSkgU1RPUCAxICEgeyBkZy1lcnJvciAiIE9wZXJhbmRzIG9mIGNvbXBhcmlzb24g b3BlcmF0b3IiIH0KKysgICAgICAgIEVORAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMS5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV8xLmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwMDAwMC4uZWRkMGY1ODc0YjcKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMS5mCitAQCAtMCwwICsxLDMx IEBACisrISB7IGRnLWRvIHJ1biB9CisrISB7IGRnLW9wdGlvbnMgIi1mZGVjIiB9CisrIQorKyEg VGVzdCBraW5kIHNwZWNpZmljYXRpb24gaW4gdmFyaWFibGUgbm90IGluIHR5cGUKKyshCisrISBD b250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNv bT4KKyshCisrICAgICAgICBwcm9ncmFtIHNwZWNfaW5fdmFyCisrICAgICAgICAgIGludGVnZXIq OCAgYWkqMSwgYmkqNCwgY2kKKysgICAgICAgICAgcmVhbCo0IGFyKjQsIGJyKjgsIGNyCisrCisr ICAgICAgICAgIGFpID0gMQorKyAgICAgICAgICBhciA9IDEuMAorKyAgICAgICAgICBiaSA9IDIK KysgICAgICAgICAgYnIgPSAyLjAKKysgICAgICAgICAgY2kgPSAzCisrICAgICAgICAgIGNyID0g My4wCisrCisrICAgICAgICAgIGlmIChhaSAubmUuIDEpIHN0b3AgMQorKyAgICAgICAgICBpZiAo YWJzKGFyIC0gMS4wKSA+IDEuMEQtNikgc3RvcCAyCisrICAgICAgICAgIGlmIChiaSAubmUuIDIp IHN0b3AgMworKyAgICAgICAgICBpZiAoYWJzKGJyIC0gMi4wKSA+IDEuMEQtNikgc3RvcCA0Cisr ICAgICAgICAgIGlmIChjaSAubmUuIDMpIHN0b3AgNQorKyAgICAgICAgICBpZiAoYWJzKGNyIC0g My4wKSA+IDEuMEQtNikgc3RvcCA2CisrICAgICAgICAgIGlmIChraW5kKGFpKSAubmUuIDEpIHN0 b3AgNworKyAgICAgICAgICBpZiAoa2luZChhcikgLm5lLiA0KSBzdG9wIDgKKysgICAgICAgICAg aWYgKGtpbmQoYmkpIC5uZS4gNCkgc3RvcCA5CisrICAgICAgICAgIGlmIChraW5kKGJyKSAubmUu IDgpIHN0b3AgMTAKKysgICAgICAgICAgaWYgKGtpbmQoY2kpIC5uZS4gOCkgc3RvcCAxMQorKyAg ICAgICAgICBpZiAoa2luZChjcikgLm5lLiA0KSBzdG9wIDEyCisrICAgICAgICBlbmQKK2RpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzIu ZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMi5mCitu ZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLmJmYWJhNTg0ZGJiCistLS0g L2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3Zh cmlhYmxlXzIuZgorQEAgLTAsMCArMSwzMSBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1v cHRpb25zICItZmRlYy1vdmVycmlkZS1raW5kIiB9CisrIQorKyEgVGVzdCBraW5kIHNwZWNpZmlj YXRpb24gaW4gdmFyaWFibGUgbm90IGluIHR5cGUKKyshCisrISBDb250cmlidXRlZCBieSBNYXJr IEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgICBw cm9ncmFtIHNwZWNfaW5fdmFyCisrICAgICAgICAgIGludGVnZXIqOCAgYWkqMSwgYmkqNCwgY2kK KysgICAgICAgICAgcmVhbCo0IGFyKjQsIGJyKjgsIGNyCisrCisrICAgICAgICAgIGFpID0gMQor KyAgICAgICAgICBhciA9IDEuMAorKyAgICAgICAgICBiaSA9IDIKKysgICAgICAgICAgYnIgPSAy LjAKKysgICAgICAgICAgY2kgPSAzCisrICAgICAgICAgIGNyID0gMy4wCisrCisrICAgICAgICAg IGlmIChhaSAubmUuIDEpIHN0b3AgMQorKyAgICAgICAgICBpZiAoYWJzKGFyIC0gMS4wKSA+IDEu MEQtNikgc3RvcCAyCisrICAgICAgICAgIGlmIChiaSAubmUuIDIpIHN0b3AgMworKyAgICAgICAg ICBpZiAoYWJzKGJyIC0gMi4wKSA+IDEuMEQtNikgc3RvcCA0CisrICAgICAgICAgIGlmIChjaSAu bmUuIDMpIHN0b3AgNQorKyAgICAgICAgICBpZiAoYWJzKGNyIC0gMy4wKSA+IDEuMEQtNikgc3Rv cCA2CisrICAgICAgICAgIGlmIChraW5kKGFpKSAubmUuIDEpIHN0b3AgNworKyAgICAgICAgICBp ZiAoa2luZChhcikgLm5lLiA0KSBzdG9wIDgKKysgICAgICAgICAgaWYgKGtpbmQoYmkpIC5uZS4g NCkgc3RvcCA5CisrICAgICAgICAgIGlmIChraW5kKGJyKSAubmUuIDgpIHN0b3AgMTAKKysgICAg ICAgICAgaWYgKGtpbmQoY2kpIC5uZS4gOCkgc3RvcCAxMQorKyAgICAgICAgICBpZiAoa2luZChj cikgLm5lLiA0KSBzdG9wIDEyCisrICAgICAgICBlbmQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzMuZiBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfMy5mCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMDAuLjVmZjQzNGU3NDY2CistLS0gL2Rldi9udWxsCisrKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzMuZgorQEAgLTAs MCArMSwzMSBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMg LWZuby1kZWMtb3ZlcnJpZGUta2luZCIgfQorKyEKKyshIFRlc3Qga2luZCBzcGVjaWZpY2F0aW9u IGluIHZhcmlhYmxlIG5vdCBpbiB0eXBlCisrIQorKyEgQ29udHJpYnV0ZWQgYnkgTWFyayBFZ2ds ZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAgICAgcHJvZ3Jh bSBzcGVjX2luX3ZhcgorKyAgICAgICAgICBpbnRlZ2VyKjggIGFpKjEsIGJpKjQsIGNpICEgeyBk Zy1lcnJvciAiU3ludGF4IGVycm9yIiB9CisrICAgICAgICAgIHJlYWwqNCBhcio0LCBicio4LCBj ciAhIHsgZGctZXJyb3IgIlN5bnRheCBlcnJvciIgfQorKworKyAgICAgICAgICBhaSA9IDEKKysg ICAgICAgICAgYXIgPSAxLjAKKysgICAgICAgICAgYmkgPSAyCisrICAgICAgICAgIGJyID0gMi4w CisrICAgICAgICAgIGNpID0gMworKyAgICAgICAgICBjciA9IDMuMAorKworKyAgICAgICAgICBp ZiAoYWkgLm5lLiAxKSBzdG9wIDEKKysgICAgICAgICAgaWYgKGFicyhhciAtIDEuMCkgPiAxLjBE LTYpIHN0b3AgMgorKyAgICAgICAgICBpZiAoYmkgLm5lLiAyKSBzdG9wIDMKKysgICAgICAgICAg aWYgKGFicyhiciAtIDIuMCkgPiAxLjBELTYpIHN0b3AgNAorKyAgICAgICAgICBpZiAoY2kgLm5l LiAzKSBzdG9wIDUKKysgICAgICAgICAgaWYgKGFicyhjciAtIDMuMCkgPiAxLjBELTYpIHN0b3Ag NgorKyAgICAgICAgICBpZiAoa2luZChhaSkgLm5lLiAxKSBzdG9wIDcKKysgICAgICAgICAgaWYg KGtpbmQoYXIpIC5uZS4gNCkgc3RvcCA4CisrICAgICAgICAgIGlmIChraW5kKGJpKSAubmUuIDQp IHN0b3AgOQorKyAgICAgICAgICBpZiAoa2luZChicikgLm5lLiA4KSBzdG9wIDEwCisrICAgICAg ICAgIGlmIChraW5kKGNpKSAubmUuIDgpIHN0b3AgMTEKKysgICAgICAgICAgaWYgKGtpbmQoY3Ip IC5uZS4gNCkgc3RvcCAxMgorKyAgICAgICAgZW5kCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV80LmYgYi9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzQuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwMDAwLi5jMDE5ODBlOGI5ZAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV80LmYKK0BAIC0wLDAg KzEsMTQgQEAKKyshIHsgZGctZG8gY29tcGlsZSB9CisrIQorKyEgVGVzdCBraW5kIHNwZWNpZmlj YXRpb24gaW4gdmFyaWFibGUgbm90IGluIHR5cGUuIFRoZSBwZXIgdmFyaWFibGUKKyshIGtpbmQg c3BlY2lmaWNhdGlvbiBpcyBub3QgZW5hYmxlZCBzbyB0aGVzZSBzaG91bGQgZmFpbAorKyEKKysh IENvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsu Y29tPgorKyEKKysgICAgICAgIHByb2dyYW0gc3BlY19pbl92YXIKKysgICAgICAgICAgaW50ZWdl ciBhCisrICAgICAgICAgIHBhcmFtZXRlcihhPTIpCisrICAgICAgICAgIGludGVnZXIgYiooYSkg ISB7IGRnLWVycm9yICJTeW50YXggZXJyb3IiIH0KKysgICAgICAgICAgcmVhbCBjKig4KSAgICAh IHsgZGctZXJyb3IgIlN5bnRheCBlcnJvciIgfQorKyAgICAgICAgICBsb2dpY2FsIGQqMV8xICEg eyBkZy1lcnJvciAiU3ludGF4IGVycm9yIiB9CisrICAgICAgICBlbmQKK2RpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzUuZiBiL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfNS5mCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLmUyZjM5ZGEzZjRmCistLS0gL2Rldi9udWxs CisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzUu ZgorQEAgLTAsMCArMSwxOSBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1vcHRpb25zICIt ZmRlYy1vdmVycmlkZS1raW5kIiB9CisrIQorKyEgVGVzdCBraW5kIHNwZWNpZmljYXRpb24gaW4g dmFyaWFibGUgbm90IGluIHR5cGUKKyshCisrISBDb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3Rv biA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgICBwcm9ncmFtIHNw ZWNfaW5fdmFyCisrICAgICAgICAgIGludGVnZXIgYQorKyAgICAgICAgICBwYXJhbWV0ZXIoYT0y KQorKyAgICAgICAgICBpbnRlZ2VyIGIqKGEpCisrICAgICAgICAgIHJlYWwgYyooOCkKKysgICAg ICAgICAgbG9naWNhbCBkKigxXzEpCisrICAgICAgICAgIGNoYXJhY3RlciBlKihhKQorKyAgICAg ICAgICBpZiAoa2luZChiKS5uZS4yKSBzdG9wIDEKKysgICAgICAgICAgaWYgKGtpbmQoYykubmUu OCkgc3RvcCAyCisrICAgICAgICAgIGlmIChraW5kKGQpLm5lLjEpIHN0b3AgMworKyAgICAgICAg ICBpZiAobGVuKGUpLm5lLjIpIHN0b3AgNAorKyAgICAgICAgZW5kCitkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV82LmYgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzYuZgorbmV3IGZpbGUgbW9k ZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi41Njk3NDc4NzRlMworLS0tIC9kZXYvbnVsbAor KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfc3BlY19pbl92YXJpYWJsZV82LmYK K0BAIC0wLDAgKzEsMTkgQEAKKyshIHsgZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZk ZWMiIH0KKyshCisrISBUZXN0IGtpbmQgc3BlY2lmaWNhdGlvbiBpbiB2YXJpYWJsZSBub3QgaW4g dHlwZQorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3Rv bkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICAgIHByb2dyYW0gc3BlY19pbl92YXIKKysgICAg ICAgICAgaW50ZWdlciBhCisrICAgICAgICAgIHBhcmFtZXRlcihhPTIpCisrICAgICAgICAgIGlu dGVnZXIgYiooYSkKKysgICAgICAgICAgcmVhbCBjKig4KQorKyAgICAgICAgICBsb2dpY2FsIGQq KDFfMSkKKysgICAgICAgICAgY2hhcmFjdGVyIGUqKGEpCisrICAgICAgICAgIGlmIChraW5kKGIp Lm5lLjIpIHN0b3AgMQorKyAgICAgICAgICBpZiAoa2luZChjKS5uZS44KSBzdG9wIDIKKysgICAg ICAgICAgaWYgKGtpbmQoZCkubmUuMSkgc3RvcCAzCisrICAgICAgICAgIGlmIChsZW4oZSkubmUu Mikgc3RvcCA0CisrICAgICAgICBlbmQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzcuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfNy5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXgg MDAwMDAwMDAwMDAuLmI5NzViZmQxNWM1CistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzcuZgorQEAgLTAsMCArMSwxNSBA QAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMt b3ZlcnJpZGUta2luZCIgfQorKyEKKyshIFRlc3Qga2luZCBzcGVjaWZpY2F0aW9uIGluIHZhcmlh YmxlIG5vdCBpbiB0eXBlIGFzIHRoZSBwZXIgdmFyaWFibGUKKyshIGtpbmQgc3BlY2lmaWNhdGlv biBpcyBub3QgZW5hYmxlcyB0aGVzZSBzaG91bGQgZmFpbAorKyEKKyshIENvbnRyaWJ1dGVkIGJ5 IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysgICAg ICAgIHByb2dyYW0gc3BlY19pbl92YXIKKysgICAgICAgICAgaW50ZWdlciBhCisrICAgICAgICAg IHBhcmFtZXRlcihhPTIpCisrICAgICAgICAgIGludGVnZXIgYiooYSkgISB7IGRnLWVycm9yICJT eW50YXggZXJyb3IiIH0KKysgICAgICAgICAgcmVhbCBjKig4KSAgICAhIHsgZGctZXJyb3IgIlN5 bnRheCBlcnJvciIgfQorKyAgICAgICAgICBsb2dpY2FsIGQqMV8xICEgeyBkZy1lcnJvciAiU3lu dGF4IGVycm9yIiB9CisrICAgICAgICBlbmQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzguZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX3NwZWNfaW5fdmFyaWFibGVfOC5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMDAuLjg1NzMyZTBiZDg1CistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19zcGVjX2luX3ZhcmlhYmxlXzguZgorQEAgLTAsMCArMSwx NCBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKysh CisrISBDaGVjayB0aGF0IGludmFsaWQga2luZCB2YWx1ZXMgYXJlIHJlamVjdGVkLgorKyEKKysh IENvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsu Y29tPgorKyEKKysgICAgICAgIHByb2dyYW0gc3BlY19pbl92YXIKKysgICAgICAgICAgaW50ZWdl ciBhCisrICAgICAgICAgIHBhcmFtZXRlcihhPTMpCisrICAgICAgICAgIGludGVnZXIgYiooYSkg ISB7IGRnLWVycm9yICJLaW5kIDMgbm90IHN1cHBvcnRlZCIgfQorKyAgICAgICAgICByZWFsIGMq KDc4KSAgICEgeyBkZy1lcnJvciAiS2luZCA3OCBub3Qgc3VwcG9ydGVkIiB9CisrICAgICAgICAg IGxvZ2ljYWwgZCooKikgISB7IGRnLWVycm9yICJJbnZhbGlkIGNoYXJhY3RlciIgfQorKyAgICAg ICAgZW5kCistLSAKKzIuMjcuMAorCgpkaWZmIC0tZ2l0IGEvZ2NjMTItZm9ydHJhbi1mZGVjLXBy b21vdGlvbi5wYXRjaCBiL2djYzEyLWZvcnRyYW4tZmRlYy1wcm9tb3Rpb24ucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZlMGZmMAotLS0gL2Rldi9udWxsCisrKyBi L2djYzEyLWZvcnRyYW4tZmRlYy1wcm9tb3Rpb24ucGF0Y2gKQEAgLTAsMCArMSwyMDkzIEBACitG cm9tIDdhMjczMTg4MThlMzU5YTI3N2YyZmE1ZjdkYzM5MzJkMGZiOTUwZjUgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFya2VnZ2xlc3RvbkBnY2MuZ251 Lm9yZz4KK0RhdGU6IEZyaSwgMjIgSmFuIDIwMjEgMTQ6NTg6MDcgKzAwMDAKK1N1YmplY3Q6IFtQ QVRDSCAwOC8xMF0gU3VwcG9ydCB0eXBlIHByb21vdGlvbiBpbiBjYWxscyB0byBpbnRyaW5zaWNz CisKK1VzZSAtZmRlYy1wcm9tb3Rpb24gb3IgLWZkZWMgdG8gZW5hYmxlIHRoaXMgZmVhdHVyZS4K KworTWVyZ2VkIDIgY29tbWl0czogd29ya2VkIG9uIGJ5IEJlbiBCcmV3ZXIgPGJlbi5icmV3ZXJA Y29kZXRoaW5rLmNvLnVrPiwKK0ZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28u bWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPiBhbmQKK0plZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4K KworUmUtd29ya2VkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsu Y29tPgorLS0tCisgZ2NjL2ZvcnRyYW4vY2hlY2suYyAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDcxICsrKysrLQorIGdjYy9mb3J0cmFuL2ludHJpbnNpYy5jICAgICAgICAgICAgICAgICAg ICAgICB8ICAgNSArCisgZ2NjL2ZvcnRyYW4vaXJlc29sdmUuYyAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDkxICsrKystLS0KKyBnY2MvZm9ydHJhbi9sYW5nLm9wdCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDQgKworIGdjYy9mb3J0cmFuL29wdGlvbnMuYyAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMSArCisgZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYyAgICAgICAgICAgICAgICAg ICAgICAgIHwgMjQwICsrKysrKysrKysrKysrLS0tLQorIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJy YXlfY29uc3RfcHJvbW90aW9uXzEuZiB8ICAxOCArKworIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJy YXlfY29uc3RfcHJvbW90aW9uXzIuZiB8ICAxOCArKworIC4uLnRyaW5zaWNfaW50X3JlYWxfYXJy YXlfY29uc3RfcHJvbW90aW9uXzMuZiB8ICAxOCArKworIC4uLmRlY19pbnRyaW5zaWNfaW50X3Jl YWxfY29uc3RfcHJvbW90aW9uXzEuZiB8ICA5MCArKysrKysrCisgLi4uZGVjX2ludHJpbnNpY19p bnRfcmVhbF9jb25zdF9wcm9tb3Rpb25fMi5mIHwgIDkwICsrKysrKysKKyAuLi5kZWNfaW50cmlu c2ljX2ludF9yZWFsX2NvbnN0X3Byb21vdGlvbl8zLmYgfCAgOTIgKysrKysrKworIC4uLi9kZWNf aW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl8xLmYgICAgICB8IDEzMCArKysrKysrKysrCisg Li4uL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzIuZiAgICAgIHwgMTMwICsrKysr KysrKysKKyAuLi4vZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fMy5mICAgICAgfCAx MzAgKysrKysrKysrKworIC4uLi9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl80LmYg ICAgICB8IDExOCArKysrKysrKysKKyAuLi4vZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rp b25fNS5mICAgICAgfCAxMTggKysrKysrKysrCisgLi4uL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf cHJvbW90aW9uXzYuZiAgICAgIHwgMTE4ICsrKysrKysrKworIC4uLi9kZWNfaW50cmluc2ljX2lu dF9yZWFsX3Byb21vdGlvbl83LmYgICAgICB8IDExOCArKysrKysrKysKKyAuLi4vZ2ZvcnRyYW4u ZGcvZGVjX2tpbmRfcHJvbW90aW9uLTEuZiAgICAgICAgfCAgNDAgKysrCisgLi4uL2dmb3J0cmFu LmRnL2RlY19raW5kX3Byb21vdGlvbi0yLmYgICAgICAgIHwgIDQwICsrKworIC4uLi9nZm9ydHJh bi5kZy9kZWNfa2luZF9wcm9tb3Rpb24tMy5mICAgICAgICB8ICAzOSArKysKKyAyMiBmaWxlcyBj aGFuZ2VkLCAxNjM5IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxf YXJyYXlfY29uc3RfcHJvbW90aW9uXzEuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90 aW9uXzIuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzMuZgorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3Jl YWxfY29uc3RfcHJvbW90aW9uXzEuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzIuZgor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzMuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzEu ZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRy aW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzIuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzMuZgor IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfcHJvbW90aW9uXzQuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzUuZgorIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNf aW50X3JlYWxfcHJvbW90aW9uXzYuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzcuZgorIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5kX3Byb21vdGlv bi0xLmYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNf a2luZF9wcm9tb3Rpb24tMi5mCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTMuZgorCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRy YW4vY2hlY2suYyBiL2djYy9mb3J0cmFuL2NoZWNrLmMKK2luZGV4IDYyM2MxY2M0NzBlLi5lMjBh ODM0YTg2MCAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2NoZWNrLmMKKysrKyBiL2djYy9mb3J0 cmFuL2NoZWNrLmMKK0BAIC0xMzk2LDEyICsxMzk2LDQwIEBAIGdmY19jaGVja19hbGxvY2F0ZWQg KGdmY19leHByICphcnJheSkKKyB9CisgCisgCisrLyogQ2hlY2sgZnVuY3Rpb24gd2hlcmUgYm90 aCBhcmd1bWVudHMgbXVzdCBiZSByZWFsIG9yIGludGVnZXIKKysgICBhbmQgd2FybiBpZiB0aGV5 IGFyZSBkaWZmZXJlbnQgdHlwZXMuICAqLworKworK2Jvb2wKKytjaGVja19pbnRfcmVhbF9wcm9t b3Rpb24gKGdmY19leHByICphLCBnZmNfZXhwciAqYikKKyt7CisrICBnZmNfZXhwciAqaTsKKysK KysgIGlmICghaW50X29yX3JlYWxfY2hlY2sgKGEsIDApKQorKyAgICByZXR1cm4gZmFsc2U7Cisr CisrICBpZiAoIWludF9vcl9yZWFsX2NoZWNrIChiLCAxKSkKKysgICAgcmV0dXJuIGZhbHNlOwor KworKyAgaWYgKGEtPnRzLnR5cGUgIT0gYi0+dHMudHlwZSkKKysgICAgeworKyAgICAgIGkgPSAo YS0+dHMudHlwZSAhPSBCVF9SRUFMID8gYSA6IGIpOworKyAgICAgIGdmY193YXJuaW5nX25vdyAo T1BUX1djb252ZXJzaW9uLCAiQ29udmVyc2lvbiBmcm9tIElOVEVHRVIgdG8gUkVBTCAiCisrCQkg ICAgICAgImF0ICVMIG1pZ2h0IGxvc2UgcHJlY2lzaW9uIiwgJmktPndoZXJlKTsKKysgICAgfQor KworKyAgcmV0dXJuIHRydWU7CisrfQorKworKworIC8qIENvbW1vbiBjaGVjayBmdW5jdGlvbiB3 aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSByZWFsIG9yCisgICAgaW50ZWdlciBhbmQg dGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIHRoZSBzYW1lIGFzIHRoZSBmaXJzdC4gICovCisg CisgYm9vbAorIGdmY19jaGVja19hX3AgKGdmY19leHByICphLCBnZmNfZXhwciAqcCkKKyB7Cisr ICBpZiAoZmxhZ19kZWNfcHJvbW90aW9uKQorKyAgICByZXR1cm4gY2hlY2tfaW50X3JlYWxfcHJv bW90aW9uIChhLCBwKTsKKysKKyAgIGlmICghaW50X29yX3JlYWxfY2hlY2sgKGEsIDApKQorICAg ICByZXR1cm4gZmFsc2U7CisgCitAQCAtMzcyNCw2ICszNzUyLDQxIEBAIGNoZWNrX3Jlc3QgKGJ0 IHR5cGUsIGludCBraW5kLCBnZmNfYWN0dWFsX2FyZ2xpc3QgKmFyZ2xpc3QpCisgfQorIAorIAor Ky8qIENoZWNrIGZ1bmN0aW9uIHdoZXJlIGFsbCBhcmd1bWVudHMgb2YgYW4gYXJndW1lbnQgbGlz dCBtdXN0IGJlIHJlYWwKKysgICBvciBpbnRlZ2VyLiAgKi8KKysKKytzdGF0aWMgYm9vbAorK2No ZWNrX3Jlc3RfaW50X3JlYWwgKGdmY19hY3R1YWxfYXJnbGlzdCAqYXJnbGlzdCkKKyt7CisrICBn ZmNfYWN0dWFsX2FyZ2xpc3QgKmFyZywgKnRtcDsKKysgIGdmY19leHByICp4OworKyAgaW50IG0s IG47CisrCisrICBpZiAoIW1pbl9tYXhfYXJncyAoYXJnbGlzdCkpCisrICAgIHJldHVybiBmYWxz ZTsKKysKKysgIGZvciAoYXJnID0gYXJnbGlzdCwgbj0xOyBhcmc7IGFyZyA9IGFyZy0+bmV4dCwg bisrKQorKyAgICB7CisrICAgICAgeCA9IGFyZy0+ZXhwcjsKKysgICAgICBpZiAoeC0+dHMudHlw ZSAhPSBCVF9JTlRFR0VSICYmIHgtPnRzLnR5cGUgIT0gQlRfUkVBTCkKKysJeworKwkgIGdmY19l cnJvciAoIiU8YSVkJT4gYXJndW1lbnQgb2YgJXFzIGludHJpbnNpYyBhdCAlTCBtdXN0IGJlICIK KysJCSAgICAgIklOVEVHRVIgb3IgUkVBTCIsIG4sIGdmY19jdXJyZW50X2ludHJpbnNpYywgJngt PndoZXJlKTsKKysJICByZXR1cm4gZmFsc2U7CisrCX0KKysKKysgICAgICBmb3IgKHRtcCA9IGFy Z2xpc3QsIG09MTsgdG1wICE9IGFyZzsgdG1wID0gdG1wLT5uZXh0LCBtKyspCisrCWlmICghZ2Zj X2NoZWNrX2NvbmZvcm1hbmNlICh0bXAtPmV4cHIsIHgsCisrCQkJCSAgICAiYXJndW1lbnRzICdh JWQnIGFuZCAnYSVkJyBmb3IgIgorKwkJCQkgICAgImludHJpbnNpYyAnJXMnIiwgbSwgbiwKKysJ CQkJICAgIGdmY19jdXJyZW50X2ludHJpbnNpYykpCisrCSAgcmV0dXJuIGZhbHNlOworKyAgICB9 CisrCisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrCisgYm9vbAorIGdmY19jaGVja19taW5fbWF4 IChnZmNfYWN0dWFsX2FyZ2xpc3QgKmFyZykKKyB7CitAQCAtMzc0OCw3ICszODExLDEwIEBAIGdm Y19jaGVja19taW5fbWF4IChnZmNfYWN0dWFsX2FyZ2xpc3QgKmFyZykKKyAgICAgICByZXR1cm4g ZmFsc2U7CisgICAgIH0KKyAKKy0gIHJldHVybiBjaGVja19yZXN0ICh4LT50cy50eXBlLCB4LT50 cy5raW5kLCBhcmcpOworKyAgaWYgKGZsYWdfZGVjX3Byb21vdGlvbiAmJiB4LT50cy50eXBlICE9 IEJUX0NIQVJBQ1RFUikKKysgICAgcmV0dXJuIGNoZWNrX3Jlc3RfaW50X3JlYWwgKGFyZyk7Cisr ICBlbHNlCisrICAgIHJldHVybiBjaGVja19yZXN0ICh4LT50cy50eXBlLCB4LT50cy5raW5kLCBh cmcpOworIH0KKyAKKyAKK0BAIC01MTIxLDYgKzUxODcsOSBAQCBnZmNfY2hlY2tfc2hpZnQgKGdm Y19leHByICppLCBnZmNfZXhwciAqc2hpZnQpCisgYm9vbAorIGdmY19jaGVja19zaWduIChnZmNf ZXhwciAqYSwgZ2ZjX2V4cHIgKmIpCisgeworKyAgaWYgKGZsYWdfZGVjX3Byb21vdGlvbikKKysg ICAgcmV0dXJuIGNoZWNrX2ludF9yZWFsX3Byb21vdGlvbiAoYSwgYik7CisrCisgICBpZiAoIWlu dF9vcl9yZWFsX2NoZWNrIChhLCAwKSkKKyAgICAgcmV0dXJuIGZhbHNlOworIAorZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL2ludHJpbnNpYy5jIGIvZ2NjL2ZvcnRyYW4vaW50cmluc2ljLmMKK2lu ZGV4IGU2OGVmZjhiZGJiLi44MWIzYTI0YzJiZSAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2lu dHJpbnNpYy5jCisrKysgYi9nY2MvZm9ydHJhbi9pbnRyaW5zaWMuYworQEAgLTQ0NjcsNiArNDQ2 NywxMSBAQCBjaGVja19hcmdsaXN0IChnZmNfYWN0dWFsX2FyZ2xpc3QgKiphcCwgZ2ZjX2ludHJp bnNpY19zeW0gKnN5bSwKKyAgICAgICBpZiAodHMua2luZCA9PSAwKQorIAl0cy5raW5kID0gYWN0 dWFsLT5leHByLT50cy5raW5kOworIAorKyAgICAgIC8qIElmIGtpbmQgcHJvbW90aW9uIGlzIGFs bG93ZWQgZG9uJ3QgY2hlY2sgZm9yIGtpbmQgaWYgaXQgaXMgc21hbGxlciAqLworKyAgICAgIGlm IChmbGFnX2RlY19wcm9tb3Rpb24gJiYgdHMudHlwZSA9PSBCVF9JTlRFR0VSKQorKwlpZiAoYWN0 dWFsLT5leHByLT50cy5raW5kIDwgdHMua2luZCkKKysJICB0cy5raW5kID0gYWN0dWFsLT5leHBy LT50cy5raW5kOworKworICAgICAgIGlmICghZ2ZjX2NvbXBhcmVfdHlwZXMgKCZ0cywgJmFjdHVh bC0+ZXhwci0+dHMpKQorIAl7CisgCSAgaWYgKGVycm9yX2ZsYWcpCitkaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vaXJlc29sdmUuYyBiL2djYy9mb3J0cmFuL2lyZXNvbHZlLmMKK2luZGV4IGUxN2Zl NDVmMDgwLi5iOWNkYWZmMjQ5OSAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2lyZXNvbHZlLmMK KysrKyBiL2djYy9mb3J0cmFuL2lyZXNvbHZlLmMKK0BAIC04MTcsMTkgKzgxNywyMiBAQCBnZmNf cmVzb2x2ZV9kYmxlIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmEpCisgdm9pZAorIGdmY19yZXNv bHZlX2RpbSAoZ2ZjX2V4cHIgKmYsIGdmY19leHByICphLCBnZmNfZXhwciAqcCkKKyB7CistICBm LT50cy50eXBlID0gYS0+dHMudHlwZTsKKyAgIGlmIChwICE9IE5VTEwpCistICAgIGYtPnRzLmtp bmQgPSBnZmNfa2luZF9tYXggKGEscCk7CistICBlbHNlCistICAgIGYtPnRzLmtpbmQgPSBhLT50 cy5raW5kOworLQorLSAgaWYgKHAgIT0gTlVMTCAmJiBhLT50cy5raW5kICE9IHAtPnRzLmtpbmQp CisgICAgIHsKKy0gICAgICBpZiAoYS0+dHMua2luZCA9PSBnZmNfa2luZF9tYXggKGEscCkpCist CWdmY19jb252ZXJ0X3R5cGUgKHAsICZhLT50cywgMik7CisrICAgICAgZi0+dHMua2luZCA9IGdm Y19raW5kX21heCAoYSxwKTsKKysgICAgICBpZiAoYS0+dHMudHlwZSA9PSBCVF9SRUFMIHx8IHAt PnRzLnR5cGUgPT0gQlRfUkVBTCkKKysJZi0+dHMudHlwZSA9IEJUX1JFQUw7CisgICAgICAgZWxz ZQorLQlnZmNfY29udmVydF90eXBlIChhLCAmcC0+dHMsIDIpOworKwlmLT50cy50eXBlID0gQlRf SU5URUdFUjsKKysKKysgICAgICBpZiAoYS0+dHMua2luZCAhPSBmLT50cy5raW5kIHx8IGEtPnRz LnR5cGUgIT0gZi0+dHMudHlwZSkKKysJZ2ZjX2NvbnZlcnRfdHlwZSAoYSwgJmYtPnRzLCAyKTsK KysKKysgICAgICBpZiAocC0+dHMua2luZCAhPSBmLT50cy5raW5kIHx8IHAtPnRzLnR5cGUgIT0g Zi0+dHMudHlwZSkKKysJZ2ZjX2NvbnZlcnRfdHlwZSAocCwgJmYtPnRzLCAyKTsKKyAgICAgfQor KyAgZWxzZQorKyAgICBmLT50cyA9IGEtPnRzOworIAorICAgZi0+dmFsdWUuZnVuY3Rpb24ubmFt ZQorICAgICA9IGdmY19nZXRfc3RyaW5nICgiX19kaW1fJWMlZCIsIGdmY190eXBlX2xldHRlciAo Zi0+dHMudHlwZSksIGYtPnRzLmtpbmQpOworQEAgLTE2MDYsMTQgKzE2MDksMTcgQEAgZ2ZjX3Jl c29sdmVfbWlubWF4IChjb25zdCBjaGFyICpuYW1lLCBnZmNfZXhwciAqZiwgZ2ZjX2FjdHVhbF9h cmdsaXN0ICphcmdzKQorICAgLyogRmluZCB0aGUgbGFyZ2VzdCB0eXBlIGtpbmQuICAqLworICAg Zm9yIChhID0gYXJncy0+bmV4dDsgYTsgYSA9IGEtPm5leHQpCisgICAgIHsKKysgICAgICBpZiAo YS0+ZXhwci0+IHRzLnR5cGUgPT0gQlRfUkVBTCkKKysJZi0+dHMudHlwZSA9IEJUX1JFQUw7Cisr CisgICAgICAgaWYgKGEtPmV4cHItPnRzLmtpbmQgPiBmLT50cy5raW5kKQorIAlmLT50cy5raW5k ID0gYS0+ZXhwci0+dHMua2luZDsKKyAgICAgfQorIAorLSAgLyogQ29udmVydCBhbGwgcGFyYW1l dGVycyB0byB0aGUgcmVxdWlyZWQga2luZC4gICovCisrICAvKiBDb252ZXJ0IGFsbCBwYXJhbWV0 ZXJzIHRvIHRoZSByZXF1aXJlZCB0eXBlIGFuZC9vciBraW5kLiAgKi8KKyAgIGZvciAoYSA9IGFy Z3M7IGE7IGEgPSBhLT5uZXh0KQorICAgICB7CistICAgICAgaWYgKGEtPmV4cHItPnRzLmtpbmQg IT0gZi0+dHMua2luZCkKKysgICAgICBpZiAoYS0+ZXhwci0+dHMudHlwZSAhPSBmLT50cy50eXBl IHx8IGEtPmV4cHItPnRzLmtpbmQgIT0gZi0+dHMua2luZCkKKyAJZ2ZjX2NvbnZlcnRfdHlwZSAo YS0+ZXhwciwgJmYtPnRzLCAyKTsKKyAgICAgfQorIAorQEAgLTIxMDYsMTkgKzIxMTIsMjIgQEAg Z2ZjX3Jlc29sdmVfbWludmFsIChnZmNfZXhwciAqZiwgZ2ZjX2V4cHIgKmFycmF5LCBnZmNfZXhw ciAqZGltLAorIHZvaWQKKyBnZmNfcmVzb2x2ZV9tb2QgKGdmY19leHByICpmLCBnZmNfZXhwciAq YSwgZ2ZjX2V4cHIgKnApCisgeworLSAgZi0+dHMudHlwZSA9IGEtPnRzLnR5cGU7CisgICBpZiAo cCAhPSBOVUxMKQorLSAgICBmLT50cy5raW5kID0gZ2ZjX2tpbmRfbWF4IChhLHApOworLSAgZWxz ZQorLSAgICBmLT50cy5raW5kID0gYS0+dHMua2luZDsKKy0KKy0gIGlmIChwICE9IE5VTEwgJiYg YS0+dHMua2luZCAhPSBwLT50cy5raW5kKQorICAgICB7CistICAgICAgaWYgKGEtPnRzLmtpbmQg PT0gZ2ZjX2tpbmRfbWF4IChhLHApKQorLQlnZmNfY29udmVydF90eXBlIChwLCAmYS0+dHMsIDIp OworKyAgICAgIGYtPnRzLmtpbmQgPSBnZmNfa2luZF9tYXggKGEscCk7CisrICAgICAgaWYgKGEt PnRzLnR5cGUgPT0gQlRfUkVBTCB8fCBwLT50cy50eXBlID09IEJUX1JFQUwpCisrCWYtPnRzLnR5 cGUgPSBCVF9SRUFMOworICAgICAgIGVsc2UKKy0JZ2ZjX2NvbnZlcnRfdHlwZSAoYSwgJnAtPnRz LCAyKTsKKysJZi0+dHMudHlwZSA9IEJUX0lOVEVHRVI7CisrCisrICAgICAgaWYgKGEtPnRzLmtp bmQgIT0gZi0+dHMua2luZCB8fCBhLT50cy50eXBlICE9IGYtPnRzLnR5cGUpCisrCWdmY19jb252 ZXJ0X3R5cGUgKGEsICZmLT50cywgMik7CisrCisrICAgICAgaWYgKHAtPnRzLmtpbmQgIT0gZi0+ dHMua2luZCB8fCBwLT50cy50eXBlICE9IGYtPnRzLnR5cGUpCisrCWdmY19jb252ZXJ0X3R5cGUg KHAsICZmLT50cywgMik7CisgICAgIH0KKysgIGVsc2UKKysgICAgZi0+dHMgPSBhLT50czsKKyAK KyAgIGYtPnZhbHVlLmZ1bmN0aW9uLm5hbWUKKyAgICAgPSBnZmNfZ2V0X3N0cmluZyAoIl9fbW9k XyVjJWQiLCBnZmNfdHlwZV9sZXR0ZXIgKGYtPnRzLnR5cGUpLCBmLT50cy5raW5kKTsKK0BAIC0y MTI4LDE5ICsyMTM3LDIyIEBAIGdmY19yZXNvbHZlX21vZCAoZ2ZjX2V4cHIgKmYsIGdmY19leHBy ICphLCBnZmNfZXhwciAqcCkKKyB2b2lkCisgZ2ZjX3Jlc29sdmVfbW9kdWxvIChnZmNfZXhwciAq ZiwgZ2ZjX2V4cHIgKmEsIGdmY19leHByICpwKQorIHsKKy0gIGYtPnRzLnR5cGUgPSBhLT50cy50 eXBlOworICAgaWYgKHAgIT0gTlVMTCkKKy0gICAgZi0+dHMua2luZCA9IGdmY19raW5kX21heCAo YSxwKTsKKy0gIGVsc2UKKy0gICAgZi0+dHMua2luZCA9IGEtPnRzLmtpbmQ7CistCistICBpZiAo cCAhPSBOVUxMICYmIGEtPnRzLmtpbmQgIT0gcC0+dHMua2luZCkKKyAgICAgeworLSAgICAgIGlm IChhLT50cy5raW5kID09IGdmY19raW5kX21heCAoYSxwKSkKKy0JZ2ZjX2NvbnZlcnRfdHlwZSAo cCwgJmEtPnRzLCAyKTsKKysgICAgICBmLT50cy5raW5kID0gZ2ZjX2tpbmRfbWF4IChhLHApOwor KyAgICAgIGlmIChhLT50cy50eXBlID09IEJUX1JFQUwgfHwgcC0+dHMudHlwZSA9PSBCVF9SRUFM KQorKwlmLT50cy50eXBlID0gQlRfUkVBTDsKKyAgICAgICBlbHNlCistCWdmY19jb252ZXJ0X3R5 cGUgKGEsICZwLT50cywgMik7CisrCWYtPnRzLnR5cGUgPSBCVF9JTlRFR0VSOworKworKyAgICAg IGlmIChhLT50cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgYS0+dHMudHlwZSAhPSBmLT50cy50eXBl KQorKwlnZmNfY29udmVydF90eXBlIChhLCAmZi0+dHMsIDIpOworKworKyAgICAgIGlmIChwLT50 cy5raW5kICE9IGYtPnRzLmtpbmQgfHwgcC0+dHMudHlwZSAhPSBmLT50cy50eXBlKQorKwlnZmNf Y29udmVydF90eXBlIChwLCAmZi0+dHMsIDIpOworICAgICB9CisrICBlbHNlCisrICAgIGYtPnRz ID0gYS0+dHM7CisgCisgICBmLT52YWx1ZS5mdW5jdGlvbi5uYW1lCisgICAgID0gZ2ZjX2dldF9z dHJpbmcgKCJfX21vZHVsb18lYyVkIiwgZ2ZjX3R5cGVfbGV0dGVyIChmLT50cy50eXBlKSwKK0BA IC0yNTE1LDkgKzI1MjcsMjYgQEAgZ2ZjX3Jlc29sdmVfc2hpZnQgKGdmY19leHByICpmLCBnZmNf ZXhwciAqaSwgZ2ZjX2V4cHIgKnNoaWZ0IEFUVFJJQlVURV9VTlVTRUQpCisgCisgCisgdm9pZAor LWdmY19yZXNvbHZlX3NpZ24gKGdmY19leHByICpmLCBnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKmIg QVRUUklCVVRFX1VOVVNFRCkKKytnZmNfcmVzb2x2ZV9zaWduIChnZmNfZXhwciAqZiwgZ2ZjX2V4 cHIgKmEsIGdmY19leHByICpiKQorIHsKKy0gIGYtPnRzID0gYS0+dHM7CisrICBpZiAoYiAhPSBO VUxMKQorKyAgICB7CisrICAgICAgZi0+dHMua2luZCA9IGdmY19raW5kX21heCAoYSwgYik7Cisr ICAgICAgaWYgKGEtPnRzLnR5cGUgPT0gQlRfUkVBTCB8fCBiLT50cy50eXBlID09IEJUX1JFQUwp CisrCWYtPnRzLnR5cGUgPSBCVF9SRUFMOworKyAgICAgIGVsc2UKKysJZi0+dHMudHlwZSA9IEJU X0lOVEVHRVI7CisrCisrICAgICAgaWYgKGEtPnRzLmtpbmQgIT0gZi0+dHMua2luZCB8fCBhLT50 cy50eXBlICE9IGYtPnRzLnR5cGUpCisrCWdmY19jb252ZXJ0X3R5cGUgKGEsICZmLT50cywgMik7 CisrCisrICAgICAgaWYgKGItPnRzLmtpbmQgIT0gZi0+dHMua2luZCB8fCBiLT50cy50eXBlICE9 IGYtPnRzLnR5cGUpCisrCWdmY19jb252ZXJ0X3R5cGUgKGIsICZmLT50cywgMik7CisrICAgIH0K KysgIGVsc2UKKysgICAgeworKyAgICAgIGYtPnRzID0gYS0+dHM7CisrICAgIH0KKyAgIGYtPnZh bHVlLmZ1bmN0aW9uLm5hbWUKKyAgICAgPSBnZmNfZ2V0X3N0cmluZyAoIl9fc2lnbl8lYyVkIiwg Z2ZjX3R5cGVfbGV0dGVyIChhLT50cy50eXBlKSwgYS0+dHMua2luZCk7CisgfQorZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL2xhbmcub3B0IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKK2luZGV4IGQ4 ODZjMmYzM2VkLi40Y2EyZjkzZjJkZiAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2xhbmcub3B0 CisrKysgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAorQEAgLTUwNSw2ICs1MDUsMTAgQEAgZmRlYy1v bGQtaW5pdAorIEZvcnRyYW4gVmFyKGZsYWdfZGVjX29sZF9pbml0KQorIEVuYWJsZSBzdXBwb3J0 IGZvciBvbGQgc3R5bGUgaW5pdGlhbGl6ZXJzIGluIGRlcml2ZWQgdHlwZXMuCisgCisrZmRlYy1w cm9tb3Rpb24KKytGb3J0cmFuIFZhcihmbGFnX2RlY19wcm9tb3Rpb24pCisrQWRkIHN1cHBvcnQg Zm9yIHR5cGUgcHJvbW90aW9uIGluIGludHJpbnNpYyBhcmd1bWVudHMuCisrCisgZmRlYy1zdHJ1 Y3R1cmUKKyBGb3J0cmFuIFZhcihmbGFnX2RlY19zdHJ1Y3R1cmUpCisgRW5hYmxlIHN1cHBvcnQg Zm9yIERFQyBTVFJVQ1RVUkUvUkVDT1JELgorZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wdGlv bnMuYyBiL2djYy9mb3J0cmFuL29wdGlvbnMuYworaW5kZXggYTk0NmM4Njc5MGEuLjE1MDc5Yzdl OTVhIDEwMDY0NAorLS0tIGEvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCisrKysgYi9nY2MvZm9ydHJh bi9vcHRpb25zLmMKK0BAIC04Miw2ICs4Miw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2YWx1ZSkK KyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19vbGRfaW5pdCwgdmFsdWUsIHZhbHVlKTsKKyAgIFNF VF9CSVRGTEFHIChmbGFnX2RlY19vdmVycmlkZV9raW5kLCB2YWx1ZSwgdmFsdWUpOworICAgU0VU X0JJVEZMQUcgKGZsYWdfZGVjX25vbl9sb2dpY2FsX2lmLCB2YWx1ZSwgdmFsdWUpOworKyAgU0VU X0JJVEZMQUcgKGZsYWdfZGVjX3Byb21vdGlvbiwgdmFsdWUsIHZhbHVlKTsKKyB9CisgCisgLyog RmluYWxpemUgREVDIGZsYWdzLiAgKi8KK2RpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9zaW1wbGlm eS5jIGIvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYworaW5kZXggOTkwMDU3MjQyNGYuLjM0MTllMDZm ZWMyIDEwMDY0NAorLS0tIGEvZ2NjL2ZvcnRyYW4vc2ltcGxpZnkuYworKysrIGIvZ2NjL2ZvcnRy YW4vc2ltcGxpZnkuYworQEAgLTIzMzMsMzkgKzIzMzMsNzkgQEAgZ2ZjX3NpbXBsaWZ5X2RpZ2l0 cyAoZ2ZjX2V4cHIgKngpCisgfQorIAorIAorKy8qIFNpbXBsaWZ5IGZ1bmN0aW9uIHdoaWNoIHNl dHMgdGhlIGZsb2F0aW5nLXBvaW50IHZhbHVlIG9mIGFyIGZyb20KKysgICB0aGUgdmFsdWUgb2Yg YSBpbmRlcGVuZGVudGx5IGlmIGEgaXMgaW50ZWdlciBvZiByZWFsLiAgKi8KKysKKytzdGF0aWMg dm9pZAorK3NpbXBsaWZ5X2ludF9yZWFsX3Byb21vdGlvbiAoY29uc3QgZ2ZjX2V4cHIgKmEsIGNv bnN0IGdmY19leHByICpiLCBtcGZyX3QgKmFyKQorK3sKKysgIGlmIChhLT50cy50eXBlID09IEJU X1JFQUwpCisrICAgIHsKKysgICAgICBtcGZyX2luaXQyICgqYXIsIChhLT50cy5raW5kICogOCkp OworKyAgICAgIG1wZnJfc2V0ICgqYXIsIGEtPnZhbHVlLnJlYWwsIEdGQ19STkRfTU9ERSk7Cisr ICAgIH0KKysgIGVsc2UKKysgICAgeworKyAgICAgIG1wZnJfaW5pdDIgKCphciwgKGItPnRzLmtp bmQgKiA4KSk7CisrICAgICAgbXBmcl9zZXRfeiAoKmFyLCBhLT52YWx1ZS5pbnRlZ2VyLCBHRkNf Uk5EX01PREUpOworKyAgICB9CisrfQorKworKworKy8qIFNpbXBsaWZ5IGZ1bmN0aW9uIHdoaWNo IHByb21vdGVzIGEgYW5kIGIgYXJndW1lbnRzIGZyb20gaW50ZWdlciB0byByZWFsIGlmCisrICAg cmVxdWlyZWQgaW4gYXIgYW5kIGJyIGZsb2F0aW5nLXBvaW50IHZhbHVlcy4gVGhpcyBmdW5jdGlv biByZXR1cm5zIHRydWUgaWYKKysgICBhIG9yIGIgYXJlIHJlYWxzIGFuZCBmYWxzZSBvdGhlcndp c2UuICovCisrCisrc3RhdGljIGJvb2wKKytzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24yIChj b25zdCBnZmNfZXhwciAqYSwgY29uc3QgZ2ZjX2V4cHIgKmIsIG1wZnJfdCAqYXIsCisrCQkJICAg ICAgbXBmcl90ICpicikKKyt7CisrICBpZiAoYS0+dHMudHlwZSAhPSBCVF9SRUFMICYmIGItPnRz LnR5cGUgIT0gQlRfUkVBTCkKKysgICAgcmV0dXJuIGZhbHNlOworKworKyAgc2ltcGxpZnlfaW50 X3JlYWxfcHJvbW90aW9uIChhLCBiLCBhcik7CisrICBzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rp b24gKGIsIGEsIGJyKTsKKysKKysgIHJldHVybiB0cnVlOworK30KKysKKysKKyBnZmNfZXhwciAq CisgZ2ZjX3NpbXBsaWZ5X2RpbSAoZ2ZjX2V4cHIgKngsIGdmY19leHByICp5KQorIHsKKyAgIGdm Y19leHByICpyZXN1bHQ7CisgICBpbnQga2luZDsKKyAKKysgIG1wZnJfdCB4cjsKKysgIG1wZnJf dCB5cjsKKysKKyAgIGlmICh4LT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCB8fCB5LT5leHBy X3R5cGUgIT0gRVhQUl9DT05TVEFOVCkKKyAgICAgcmV0dXJuIE5VTEw7CisgCistICBraW5kID0g eC0+dHMua2luZCA+IHktPnRzLmtpbmQgPyB4LT50cy5raW5kIDogeS0+dHMua2luZDsKKy0gIHJl c3VsdCA9IGdmY19nZXRfY29uc3RhbnRfZXhwciAoeC0+dHMudHlwZSwga2luZCwgJngtPndoZXJl KTsKKy0KKy0gIHN3aXRjaCAoeC0+dHMudHlwZSkKKysgIGlmICgoeC0+dHMudHlwZSAhPSBCVF9S RUFMICYmIHgtPnRzLnR5cGUgIT0gQlRfSU5URUdFUikKKysgICAgICB8fCAoeS0+dHMudHlwZSAh PSBCVF9SRUFMICYmIHktPnRzLnR5cGUgIT0gQlRfSU5URUdFUikpCisgICAgIHsKKy0gICAgICBj YXNlIEJUX0lOVEVHRVI6CistCWlmIChtcHpfY21wICh4LT52YWx1ZS5pbnRlZ2VyLCB5LT52YWx1 ZS5pbnRlZ2VyKSA+IDApCistCSAgbXB6X3N1YiAocmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCB4LT52 YWx1ZS5pbnRlZ2VyLCB5LT52YWx1ZS5pbnRlZ2VyKTsKKy0JZWxzZQorLQkgIG1wel9zZXRfdWkg KHJlc3VsdC0+dmFsdWUuaW50ZWdlciwgMCk7CistCistCWJyZWFrOworLQorLSAgICAgIGNhc2Ug QlRfUkVBTDoKKy0JaWYgKG1wZnJfY21wICh4LT52YWx1ZS5yZWFsLCB5LT52YWx1ZS5yZWFsKSA+ IDApCistCSAgbXBmcl9zdWIgKHJlc3VsdC0+dmFsdWUucmVhbCwgeC0+dmFsdWUucmVhbCwgeS0+ dmFsdWUucmVhbCwKKy0JCSAgICBHRkNfUk5EX01PREUpOworLQllbHNlCistCSAgbXBmcl9zZXRf dWkgKHJlc3VsdC0+dmFsdWUucmVhbCwgMCwgR0ZDX1JORF9NT0RFKTsKKysgICAgICBnZmNfaW50 ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxpZnlfZGltKCk6IEJhZCBhcmd1bWVudHMiKTsKKysgICAg ICByZXR1cm4gTlVMTDsKKysgICAgfQorIAorLQlicmVhazsKKysgIGtpbmQgPSB4LT50cy5raW5k ID4geS0+dHMua2luZCA/IHgtPnRzLmtpbmQgOiB5LT50cy5raW5kOworIAorLSAgICAgIGRlZmF1 bHQ6CistCWdmY19pbnRlcm5hbF9lcnJvciAoImdmY19zaW1wbGlmeV9kaW0oKTogQmFkIHR5cGUi KTsKKysgIGlmIChzaW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24yICh4LCB5LCAmeHIsICZ5cikp CisrICAgIHsKKysgICAgICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKEJUX1JFQUws IGtpbmQsICZ4LT53aGVyZSk7CisrICAgICAgaWYgKG1wZnJfY21wICh4ciwgeXIpID4gMCkKKysJ bXBmcl9zdWIgKHJlc3VsdC0+dmFsdWUucmVhbCwgeHIsIHlyLCBHRkNfUk5EX01PREUpOworKyAg ICAgIGVsc2UKKysJbXBmcl9zZXRfdWkgKHJlc3VsdC0+dmFsdWUucmVhbCwgMCwgR0ZDX1JORF9N T0RFKTsKKysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgcmVzdWx0ID0gZ2ZjX2dldF9j b25zdGFudF9leHByIChCVF9JTlRFR0VSLCBraW5kLCAmeC0+d2hlcmUpOworKyAgICAgIGlmICht cHpfY21wICh4LT52YWx1ZS5pbnRlZ2VyLCB5LT52YWx1ZS5pbnRlZ2VyKSA+IDApCisrCW1wel9z dWIgKHJlc3VsdC0+dmFsdWUuaW50ZWdlciwgeC0+dmFsdWUuaW50ZWdlciwgeS0+dmFsdWUuaW50 ZWdlcik7CisrICAgICAgZWxzZQorKwltcHpfc2V0X3VpIChyZXN1bHQtPnZhbHVlLmludGVnZXIs IDApOworICAgICB9CisgCisgICByZXR1cm4gcmFuZ2VfY2hlY2sgKHJlc3VsdCwgIkRJTSIpOwor QEAgLTQ5NTMsNiArNDk5Myw3NiBAQCBtaW5fbWF4X2Nob29zZSAoZ2ZjX2V4cHIgKmFyZywgZ2Zj X2V4cHIgKmV4dHJlbXVtLCBpbnQgc2lnbiwgYm9vbCBiYWNrX3ZhbCkKKyB7CisgICBpbnQgcmV0 OworIAorKyAgbXBmcl90ICphcnA7CisrICBtcGZyX3QgKmVycDsKKysgIG1wZnJfdCBhcjsKKysg IG1wZnJfdCBlcjsKKysKKysgIGlmIChhcmctPnRzLnR5cGUgIT0gZXh0cmVtdW0tPnRzLnR5cGUp CisrICAgIHsKKysgICAgICBpZiAoYXJnLT50cy50eXBlID09IEJUX1JFQUwpCisrCXsKKysJICBh cnAgPSAmYXJnLT52YWx1ZS5yZWFsOworKwl9CisrICAgICAgZWxzZQorKwl7CisrCSAgbXBmcl9p bml0MiAoYXIsIChhcmctPnRzLmtpbmQgKiA4KSk7CisrCSAgbXBmcl9zZXRfeiAoYXIsIGFyZy0+ dmFsdWUuaW50ZWdlciwgR0ZDX1JORF9NT0RFKTsKKysJICBhcnAgPSAmYXI7CisrCX0KKysKKysg ICAgICBpZiAoZXh0cmVtdW0tPnRzLnR5cGUgPT0gQlRfUkVBTCkKKysJeworKwkgIGVycCA9ICZl eHRyZW11bS0+dmFsdWUucmVhbDsKKysJfQorKyAgICAgIGVsc2UKKysJeworKwkgIG1wZnJfaW5p dDIgKGVyLCAoZXh0cmVtdW0tPnRzLmtpbmQgKiA4KSk7CisrCSAgbXBmcl9zZXRfeiAoZXIsIGV4 dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCBHRkNfUk5EX01PREUpOworKwkgIGVycCA9ICZlcjsKKysJ fQorKworKyAgICAgIGlmIChtcGZyX25hbl9wICgqZXJwKSkKKysJeworKwkgIHJldCA9IDE7Cisr CSAgZXh0cmVtdW0tPnRzLnR5cGUgPSBhcmctPnRzLnR5cGU7CisrCSAgZXh0cmVtdW0tPnRzLmtp bmQgPSBhcmctPnRzLmtpbmQ7CisrCSAgaWYgKGFyZy0+dHMudHlwZSA9PSBCVF9JTlRFR0VSKQor KwkgICAgeworKwkgICAgICBtcHpfaW5pdDIgKGV4dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCAoYXJn LT50cy5raW5kICogOCkpOworKwkgICAgICBtcHpfc2V0IChleHRyZW11bS0+dmFsdWUuaW50ZWdl ciwgYXJnLT52YWx1ZS5pbnRlZ2VyKTsKKysJICAgIH0KKysJICBlbHNlCisrCSAgICB7CisrCSAg ICAgIG1wZnJfaW5pdDIgKGV4dHJlbXVtLT52YWx1ZS5yZWFsLCAoYXJnLT50cy5raW5kICogOCkp OworKwkgICAgICBtcGZyX3NldCAoZXh0cmVtdW0tPnZhbHVlLnJlYWwsICphcnAsIEdGQ19STkRf TU9ERSk7CisrCSAgICB9CisrCX0KKysgICAgICBlbHNlIGlmIChtcGZyX25hbl9wICgqYXJwKSkK KysJcmV0ID0gLTE7CisrICAgICAgZWxzZQorKwl7CisrCSAgcmV0ID0gbXBmcl9jbXAgKCphcnAs ICplcnApICogc2lnbjsKKysJICBpZiAocmV0ID4gMCkKKysJICAgIHsKKysJICAgICAgZXh0cmVt dW0tPnRzLnR5cGUgPSBhcmctPnRzLnR5cGU7CisrCSAgICAgIGV4dHJlbXVtLT50cy5raW5kID0g YXJnLT50cy5raW5kOworKwkgICAgICBpZiAoYXJnLT50cy50eXBlID09IEJUX0lOVEVHRVIpCisr CQl7CisrCQkgIG1wel9pbml0MiAoZXh0cmVtdW0tPnZhbHVlLmludGVnZXIsIChhcmctPnRzLmtp bmQgKiA4KSk7CisrCQkgIG1wel9zZXQgKGV4dHJlbXVtLT52YWx1ZS5pbnRlZ2VyLCBhcmctPnZh bHVlLmludGVnZXIpOworKwkJfQorKwkgICAgICBlbHNlCisrCQl7CisrCQkgIG1wZnJfaW5pdDIg KGV4dHJlbXVtLT52YWx1ZS5yZWFsLCAoYXJnLT50cy5raW5kICogOCkpOworKwkJICBtcGZyX3Nl dCAoZXh0cmVtdW0tPnZhbHVlLnJlYWwsICphcnAsIEdGQ19STkRfTU9ERSk7CisrCQl9CisrCSAg ICB9CisrCX0KKysKKysgICAgICByZXR1cm4gcmV0OworKyAgICB9CisrCisgICBzd2l0Y2ggKGFy Zy0+dHMudHlwZSkKKyAgICAgeworICAgICAgIGNhc2UgQlRfSU5URUdFUjoKK0BAIC01OTEyLDcg KzYwMjIsOSBAQCBnZmNfc2ltcGxpZnlfbW9kIChnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKnApCisg ICBnZmNfZXhwciAqcmVzdWx0OworICAgaW50IGtpbmQ7CisgCistICAvKiBGaXJzdCBjaGVjayBw LiAgKi8KKysgIG1wZnJfdCBhcjsKKysgIG1wZnJfdCBwcjsKKysKKyAgIGlmIChwLT5leHByX3R5 cGUgIT0gRVhQUl9DT05TVEFOVCkKKyAgICAgcmV0dXJuIE5VTEw7CisgCitAQCAtNTk0MiwxNiAr NjA1NCwyNCBAQCBnZmNfc2ltcGxpZnlfbW9kIChnZmNfZXhwciAqYSwgZ2ZjX2V4cHIgKnApCisg ICBpZiAoYS0+ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQpCisgICAgIHJldHVybiBOVUxMOwor IAorKyAgaWYgKGEtPnRzLnR5cGUgIT0gQlRfUkVBTCAmJiBhLT50cy50eXBlICE9IEJUX0lOVEVH RVIpCisrICAgIHsKKysgICAgICBnZmNfaW50ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxpZnlfbW9k KCk6IEJhZCBhcmd1bWVudHMiKTsKKysgICAgICByZXR1cm4gTlVMTDsKKysgICAgfQorKworICAg a2luZCA9IGEtPnRzLmtpbmQgPiBwLT50cy5raW5kID8gYS0+dHMua2luZCA6IHAtPnRzLmtpbmQ7 CistICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKGEtPnRzLnR5cGUsIGtpbmQsICZh LT53aGVyZSk7CisgCistICBpZiAoYS0+dHMudHlwZSA9PSBCVF9JTlRFR0VSKQorLSAgICBtcHpf dGRpdl9yIChyZXN1bHQtPnZhbHVlLmludGVnZXIsIGEtPnZhbHVlLmludGVnZXIsIHAtPnZhbHVl LmludGVnZXIpOworLSAgZWxzZQorKyAgaWYgKHNpbXBsaWZ5X2ludF9yZWFsX3Byb21vdGlvbjIg KGEsIHAsICZhciwgJnByKSkKKyAgICAgeworKyAgICAgIHJlc3VsdCA9IGdmY19nZXRfY29uc3Rh bnRfZXhwciAoQlRfUkVBTCwga2luZCwgJmEtPndoZXJlKTsKKyAgICAgICBnZmNfc2V0X21vZGVs X2tpbmQgKGtpbmQpOworLSAgICAgIG1wZnJfZm1vZCAocmVzdWx0LT52YWx1ZS5yZWFsLCBhLT52 YWx1ZS5yZWFsLCBwLT52YWx1ZS5yZWFsLAorLQkJIEdGQ19STkRfTU9ERSk7CisrICAgICAgbXBm cl9mbW9kIChyZXN1bHQtPnZhbHVlLnJlYWwsIGFyLCBwciwgR0ZDX1JORF9NT0RFKTsKKysgICAg fQorKyAgZWxzZQorKyAgICB7CisrICAgICAgcmVzdWx0ID0gZ2ZjX2dldF9jb25zdGFudF9leHBy IChCVF9JTlRFR0VSLCBraW5kLCAmYS0+d2hlcmUpOworKyAgICAgIG1wel90ZGl2X3IgKHJlc3Vs dC0+dmFsdWUuaW50ZWdlciwgYS0+dmFsdWUuaW50ZWdlciwgcC0+dmFsdWUuaW50ZWdlcik7Cisg ICAgIH0KKyAKKyAgIHJldHVybiByYW5nZV9jaGVjayAocmVzdWx0LCAiTU9EIik7CitAQCAtNTk2 NCw3ICs2MDg0LDkgQEAgZ2ZjX3NpbXBsaWZ5X21vZHVsbyAoZ2ZjX2V4cHIgKmEsIGdmY19leHBy ICpwKQorICAgZ2ZjX2V4cHIgKnJlc3VsdDsKKyAgIGludCBraW5kOworIAorLSAgLyogRmlyc3Qg Y2hlY2sgcC4gICovCisrICBtcGZyX3QgYXI7CisrICBtcGZyX3QgcHI7CisrCisgICBpZiAocC0+ ZXhwcl90eXBlICE9IEVYUFJfQ09OU1RBTlQpCisgICAgIHJldHVybiBOVUxMOworIAorQEAgLTU5 OTEsMjggKzYxMTMsMzYgQEAgZ2ZjX3NpbXBsaWZ5X21vZHVsbyAoZ2ZjX2V4cHIgKmEsIGdmY19l eHByICpwKQorIAlnZmNfaW50ZXJuYWxfZXJyb3IgKCJnZmNfc2ltcGxpZnlfbW9kdWxvKCk6IEJh ZCBhcmd1bWVudHMiKTsKKyAgICAgfQorIAorKyAgaWYgKGEtPnRzLnR5cGUgIT0gQlRfUkVBTCAm JiBhLT50cy50eXBlICE9IEJUX0lOVEVHRVIpCisrICAgIHsKKysgICAgICBnZmNfaW50ZXJuYWxf ZXJyb3IgKCJnZmNfc2ltcGxpZnlfbW9kdWxvKCk6IEJhZCBhcmd1bWVudHMiKTsKKysgICAgICBy ZXR1cm4gTlVMTDsKKysgICAgfQorKworICAgaWYgKGEtPmV4cHJfdHlwZSAhPSBFWFBSX0NPTlNU QU5UKQorICAgICByZXR1cm4gTlVMTDsKKyAKKyAgIGtpbmQgPSBhLT50cy5raW5kID4gcC0+dHMu a2luZCA/IGEtPnRzLmtpbmQgOiBwLT50cy5raW5kOworLSAgcmVzdWx0ID0gZ2ZjX2dldF9jb25z dGFudF9leHByIChhLT50cy50eXBlLCBraW5kLCAmYS0+d2hlcmUpOworIAorLSAgaWYgKGEtPnRz LnR5cGUgPT0gQlRfSU5URUdFUikKKy0JbXB6X2ZkaXZfciAocmVzdWx0LT52YWx1ZS5pbnRlZ2Vy LCBhLT52YWx1ZS5pbnRlZ2VyLCBwLT52YWx1ZS5pbnRlZ2VyKTsKKy0gIGVsc2UKKysgIGlmIChz aW1wbGlmeV9pbnRfcmVhbF9wcm9tb3Rpb24yIChhLCBwLCAmYXIsICZwcikpCisgICAgIHsKKysg ICAgICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKEJUX1JFQUwsIGtpbmQsICZhLT53 aGVyZSk7CisgICAgICAgZ2ZjX3NldF9tb2RlbF9raW5kIChraW5kKTsKKy0gICAgICBtcGZyX2Zt b2QgKHJlc3VsdC0+dmFsdWUucmVhbCwgYS0+dmFsdWUucmVhbCwgcC0+dmFsdWUucmVhbCwKKy0g ICAgICAgICAgICAgICAgIEdGQ19STkRfTU9ERSk7CisrICAgICAgbXBmcl9mbW9kIChyZXN1bHQt PnZhbHVlLnJlYWwsIGFyLCBwciwgR0ZDX1JORF9NT0RFKTsKKyAgICAgICBpZiAobXBmcl9jbXBf dWkgKHJlc3VsdC0+dmFsdWUucmVhbCwgMCkgIT0gMCkKKy0gICAgICAgIHsKKy0gICAgICAgICAg aWYgKG1wZnJfc2lnbmJpdCAoYS0+dmFsdWUucmVhbCkgIT0gbXBmcl9zaWduYml0IChwLT52YWx1 ZS5yZWFsKSkKKy0gICAgICAgICAgICBtcGZyX2FkZCAocmVzdWx0LT52YWx1ZS5yZWFsLCByZXN1 bHQtPnZhbHVlLnJlYWwsIHAtPnZhbHVlLnJlYWwsCistICAgICAgICAgICAgICAgICAgICAgIEdG Q19STkRfTU9ERSk7CistCSAgICB9CistCSAgZWxzZQorLSAgICAgICAgbXBmcl9jb3B5c2lnbiAo cmVzdWx0LT52YWx1ZS5yZWFsLCByZXN1bHQtPnZhbHVlLnJlYWwsCistICAgICAgICAgICAgICAg ICAgICAgICBwLT52YWx1ZS5yZWFsLCBHRkNfUk5EX01PREUpOworKwl7CisrCSAgaWYgKG1wZnJf c2lnbmJpdCAoYXIpICE9IG1wZnJfc2lnbmJpdCAocHIpKQorKwkgICAgbXBmcl9hZGQgKHJlc3Vs dC0+dmFsdWUucmVhbCwgcmVzdWx0LT52YWx1ZS5yZWFsLCBwciwKKysJCSAgICAgIEdGQ19STkRf TU9ERSk7CisrCX0KKysgICAgICBlbHNlCisrCW1wZnJfY29weXNpZ24gKHJlc3VsdC0+dmFsdWUu cmVhbCwgcmVzdWx0LT52YWx1ZS5yZWFsLCBwciwKKysJCSAgICAgICBHRkNfUk5EX01PREUpOwor KyAgICB9CisrICBlbHNlCisrICAgIHsKKysgICAgICByZXN1bHQgPSBnZmNfZ2V0X2NvbnN0YW50 X2V4cHIgKEJUX0lOVEVHRVIsIGtpbmQsICZhLT53aGVyZSk7CisrICAgICAgbXB6X2ZkaXZfciAo cmVzdWx0LT52YWx1ZS5pbnRlZ2VyLCBhLT52YWx1ZS5pbnRlZ2VyLCBwLT52YWx1ZS5pbnRlZ2Vy KTsKKyAgICAgfQorIAorICAgcmV0dXJuIHJhbmdlX2NoZWNrIChyZXN1bHQsICJNT0RVTE8iKTsK K0BAIC03NTc4LDI3ICs3NzA4LDQxIEBAIGdmY19leHByICoKKyBnZmNfc2ltcGxpZnlfc2lnbiAo Z2ZjX2V4cHIgKngsIGdmY19leHByICp5KQorIHsKKyAgIGdmY19leHByICpyZXN1bHQ7CisrICBi b29sIG5lZzsKKyAKKyAgIGlmICh4LT5leHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCB8fCB5LT5l eHByX3R5cGUgIT0gRVhQUl9DT05TVEFOVCkKKyAgICAgcmV0dXJuIE5VTEw7CisgCisgICByZXN1 bHQgPSBnZmNfZ2V0X2NvbnN0YW50X2V4cHIgKHgtPnRzLnR5cGUsIHgtPnRzLmtpbmQsICZ4LT53 aGVyZSk7CisgCisrICBzd2l0Y2ggKHktPnRzLnR5cGUpCisrICAgIHsKKysgICAgICBjYXNlIEJU X0lOVEVHRVI6CisrCW5lZyA9IChtcHpfc2duICh5LT52YWx1ZS5pbnRlZ2VyKSA8IDApOworKwli cmVhazsKKysKKysgICAgICBjYXNlIEJUX1JFQUw6CisrCW5lZyA9IChtcGZyX3NnbiAoeS0+dmFs dWUucmVhbCkgPCAwKTsKKysJYnJlYWs7CisrCisrICAgICAgZGVmYXVsdDoKKysJZ2ZjX2ludGVy bmFsX2Vycm9yICgiQmFkIHR5cGUgaW4gZ2ZjX3NpbXBsaWZ5X3NpZ24iKTsKKysgICAgfQorKwor ICAgc3dpdGNoICh4LT50cy50eXBlKQorICAgICB7CisgICAgICAgY2FzZSBCVF9JTlRFR0VSOgor IAltcHpfYWJzIChyZXN1bHQtPnZhbHVlLmludGVnZXIsIHgtPnZhbHVlLmludGVnZXIpOworLQlp ZiAobXB6X3NnbiAoeS0+dmFsdWUuaW50ZWdlcikgPCAwKQorKwlpZiAobmVnKQorIAkgIG1wel9u ZWcgKHJlc3VsdC0+dmFsdWUuaW50ZWdlciwgcmVzdWx0LT52YWx1ZS5pbnRlZ2VyKTsKKyAJYnJl YWs7CisgCisgICAgICAgY2FzZSBCVF9SRUFMOgorLQlpZiAoZmxhZ19zaWduX3plcm8pCisrCWlm IChmbGFnX3NpZ25femVybyAmJiB5LT50cy50eXBlID09IEJUX1JFQUwpCisgCSAgbXBmcl9jb3B5 c2lnbiAocmVzdWx0LT52YWx1ZS5yZWFsLCB4LT52YWx1ZS5yZWFsLCB5LT52YWx1ZS5yZWFsLAor LQkJCUdGQ19STkRfTU9ERSk7CisrCQkJIEdGQ19STkRfTU9ERSk7CisgCWVsc2UKKy0JICBtcGZy X3NldHNpZ24gKHJlc3VsdC0+dmFsdWUucmVhbCwgeC0+dmFsdWUucmVhbCwKKy0JCQltcGZyX3Nn biAoeS0+dmFsdWUucmVhbCkgPCAwID8gMSA6IDAsIEdGQ19STkRfTU9ERSk7CisrCSAgbXBmcl9z ZXRzaWduIChyZXN1bHQtPnZhbHVlLnJlYWwsIHgtPnZhbHVlLnJlYWwsIG5lZywgR0ZDX1JORF9N T0RFKTsKKyAJYnJlYWs7CisgCisgICAgICAgZGVmYXVsdDoKK2RpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJv bW90aW9uXzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRf cmVhbF9hcnJheV9jb25zdF9wcm9tb3Rpb25fMS5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMDAuLjI1NzYzODUyMTM5CistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29uc3RfcHJv bW90aW9uXzEuZgorQEAgLTAsMCArMSwxOCBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsg ZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGludGVn ZXJzIGFuZCByZWFscyBmb3IgbW9kIGFuZCBtb2R1bG8gd2hlcmUKKyshIEEgaXMgYSBjb25zdGFu dCBhcnJheSBhbmQgUCBpcyB6ZXJvLgorKyEKKyshIENvbXBpbGF0aW9uIGVycm9ycyBhcmUgZXhw ZWN0ZWQKKyshCisrISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8 ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KKyshICAgICAgICAgICAgIGFuZCBK ZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8 bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgcHJvZ3JhbSBwcm9tb3Rp b25faW50X3JlYWxfYXJyYXlfY29uc3QKKysgICAgICAgICAgcmVhbCBhKDIpID0gbW9kKFsxMiwg MzRdLCAwLjApKjQgICAgISB7IGRnLWVycm9yICJzaGFsbCBub3QgYmUgemVybyIgfQorKyAgICAg ICAgICBhID0gbW9kKFsxMi4wLCAzNC4wXSwgMCkqNCAgICAgICAgICAhIHsgZGctZXJyb3IgInNo YWxsIG5vdCBiZSB6ZXJvIiB9CisrICAgICAgICAgIHJlYWwgYigyKSA9IG1vZHVsbyhbMTIsIDM0 XSwgMC4wKSo0ICEgeyBkZy1lcnJvciAic2hhbGwgbm90IGJlIHplcm8iIH0KKysgICAgICAgICAg YiA9IG1vZHVsbyhbMTIuMCwgMzQuMF0sIDApKjQgICAgICAgISB7IGRnLWVycm9yICJzaGFsbCBu b3QgYmUgemVybyIgfQorKyAgICAgIGVuZCBwcm9ncmFtCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2FycmF5X2NvbnN0X3Byb21v dGlvbl8yLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3Jl YWxfYXJyYXlfY29uc3RfcHJvbW90aW9uXzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMDAwLi5iNzhhNDYwNTRmNAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2FycmF5X2NvbnN0X3Byb21v dGlvbl8yLmYKK0BAIC0wLDAgKzEsMTggQEAKKyshIHsgZGctZG8gY29tcGlsZSB9CisrISB7IGRn LW9wdGlvbnMgIi1mZGVjLXByb21vdGlvbiIgfQorKyEKKyshIFRlc3QgcHJvbW90aW9uIGJldHdl ZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGZvciBtb2QgYW5kIG1vZHVsbyB3aGVyZQorKyEgQSBpcyBh IGNvbnN0YW50IGFycmF5IGFuZCBQIGlzIHplcm8uCisrIQorKyEgQ29tcGlsYXRpb24gZXJyb3Jz IGFyZSBleHBlY3RlZAorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1h cmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgorKyEgICAgICAgICAg ICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1vZGlmaWVkIGJ5IE1hcmsgRWdn bGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICBwcm9ncmFt IHByb21vdGlvbl9pbnRfcmVhbF9hcnJheV9jb25zdAorKyAgICAgICAgICByZWFsIGEoMikgPSBt b2QoWzEyLCAzNF0sIDAuMCkqNCAgICAhIHsgZGctZXJyb3IgInNoYWxsIG5vdCBiZSB6ZXJvIiB9 CisrICAgICAgICAgIGEgPSBtb2QoWzEyLjAsIDM0LjBdLCAwKSo0ICAgICAgICAgICEgeyBkZy1l cnJvciAic2hhbGwgbm90IGJlIHplcm8iIH0KKysgICAgICAgICAgcmVhbCBiKDIpID0gbW9kdWxv KFsxMiwgMzRdLCAwLjApKjQgISB7IGRnLWVycm9yICJzaGFsbCBub3QgYmUgemVybyIgfQorKyAg ICAgICAgICBiID0gbW9kdWxvKFsxMi4wLCAzNC4wXSwgMCkqNCAgICAgICAhIHsgZGctZXJyb3Ig InNoYWxsIG5vdCBiZSB6ZXJvIiB9CisrICAgICAgZW5kIHByb2dyYW0KK2RpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29u c3RfcHJvbW90aW9uXzMuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNp Y19pbnRfcmVhbF9hcnJheV9jb25zdF9wcm9tb3Rpb25fMy5mCituZXcgZmlsZSBtb2RlIDEwMDY0 NAoraW5kZXggMDAwMDAwMDAwMDAuLjMxOGFiNWRiOTdlCistLS0gL2Rldi9udWxsCisrKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfYXJyYXlfY29u c3RfcHJvbW90aW9uXzMuZgorQEAgLTAsMCArMSwxOCBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0K KyshIHsgZGctb3B0aW9ucyAiLWZkZWMgLWZuby1kZWMtcHJvbW90aW9uIiB9CisrIQorKyEgVGVz dCBwcm9tb3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMgZm9yIG1vZCBhbmQgbW9kdWxv IHdoZXJlCisrISBBIGlzIGEgY29uc3RhbnQgYXJyYXkgYW5kIFAgaXMgemVyby4KKyshCisrISBD b21waWxhdGlvbiBlcnJvcnMgYXJlIGV4cGVjdGVkCisrIQorKyEgQ29udHJpYnV0ZWQgYnkgRnJh bmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsuY28u dWs+CisrISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgorKyEgTW9k aWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Cisr IQorKyAgICAgIHByb2dyYW0gcHJvbW90aW9uX2ludF9yZWFsX2FycmF5X2NvbnN0CisrICAgICAg ICAgIHJlYWwgYSgyKSA9IG1vZChbMTIsIDM0XSwgMC4wKSo0ICAgICEgeyBkZy1lcnJvciAiJ2En IGFuZCAncCcgYXJndW1lbnRzIG9mICdtb2QnIiB9CisrICAgICAgICAgIGEgPSBtb2QoWzEyLjAs IDM0LjBdLCAwKSo0ICAgICAgICAgICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRz IG9mICdtb2QnIiB9CisrICAgICAgICAgIHJlYWwgYigyKSA9IG1vZHVsbyhbMTIsIDM0XSwgMC4w KSo0ICEgeyBkZy1lcnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIG9mICdtb2R1bG8nIiB9Cisr ICAgICAgICAgIGIgPSBtb2R1bG8oWzEyLjAsIDM0LjBdLCAwKSo0ICAgICAgICEgeyBkZy1lcnJv ciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIG9mICdtb2R1bG8nIiB9CisrICAgICAgZW5kIHByb2dy YW0KK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNf aW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZGVjX2ludHJpbnNpY19pbnRfcmVhbF9jb25zdF9wcm9tb3Rpb25fMS5mCituZXcgZmlsZSBtb2Rl IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLjI3ZWIyNTgyYmIyCistLS0gL2Rldi9udWxsCisr KysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29u c3RfcHJvbW90aW9uXzEuZgorQEAgLTAsMCArMSw5MCBAQAorKyEgeyBkZy1kbyBydW4gfQorKyEg eyBkZy1vcHRpb25zICItZmRlYyAtZmluaXQtcmVhbD1zbmFuIiB9CisrIQorKyEgVGVzdCBwcm9t b3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMgaW4gaW50cmluc2ljIG9wZXJhdGlvbnMu CisrISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBt YXgsIG1pbmxvYyBhbmQKKyshIG1heGxvYy4KKyshCisrISBDb250cmlidXRlZCBieSBGcmFuY2lz Y28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4K KyshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+CisrISBNb2RpZmll ZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisr ICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWxfY29uc3QKKysgICAgICAgICEgYXJyYXlf bmFuIDR0aCBwb3NpdGlvbiB2YWx1ZSBpcyBOQU4KKysgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQp CisrICAgICAgICBEQVRBIGFycmF5X25hbigxKS8tNC4wLworKyAgICAgICAgREFUQSBhcnJheV9u YW4oMikvMy4wLworKyAgICAgICAgREFUQSBhcnJheV9uYW4oMykvLTIvCisrCisrICAgICAgICBJ TlRFR0VSIG1faS8wLworKyAgICAgICAgUkVBTCBtX3IvMC4wLworKworKyAgICAgICAgSU5URUdF UiBtZF9pLzAvCisrICAgICAgICBSRUFMIG1kX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBk X2kvMC8KKysgICAgICAgIFJFQUwgZF9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgc19pLzAv CisrICAgICAgICBSRUFMIHNfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIG1uX2kvMC8KKysg ICAgICAgIFJFQUwgbW5fci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIG14X2kvMC8KKysgICAg ICAgIFJFQUwgbXhfci8wLjAvCisrCisrICAgICAgICBtX2kgPSBNT0QoNCwgMykKKysgICAgICAg IGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKKysgICAgICAgIG1fciA9IE1PRCg0LjAsIDMuMCkKKysg ICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAyCisrICAgICAgICBtX3Ig PSBNT0QoNCwgMy4wKQorKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDMKKysgICAgICAgIG1fciA9IE1PRCg0LjAsIDMpCisrICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNAorKworKyAgICAgICAgbWRfaSA9IE1PRFVMTyg0LCAzKQorKyAg ICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDUKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oNC4w LCAzLjApCisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKKysg ICAgICAgIG1kX3IgPSBNT0RVTE8oNCwgMy4wKQorKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA3CisrICAgICAgICBtZF9yID0gTU9EVUxPKDQuMCwgMykKKysgICAg ICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOAorKworKyAgICAgICAgZF9p ID0gRElNKDQsIDMpCisrICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCA5CisrICAgICAgICBk X3IgPSBESU0oNC4wLCAzLjApCisrICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYp IFNUT1AgMTAKKysgICAgICAgIGRfciA9IERJTSg0LjAsIDMpCisrICAgICAgICBpZiAoYWJzKGRf ciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKKysgICAgICAgIGRfciA9IERJTSgzLCA0LjApCisr ICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTIKKysKKysgICAgICAgIHNfaSA9 IFNJR04oLTQsIDMpCisrICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxMworKyAgICAgICAg c19yID0gU0lHTig0LjAsIC0zLjApCisrICAgICAgICBpZiAoYWJzKHNfciAtICgtNC4wKSkgPiAx LjBELTYpIFNUT1AgMTQKKysgICAgICAgIHNfciA9IFNJR04oNC4wLCAtMykKKysgICAgICAgIGlm IChhYnMoc19yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAxNQorKyAgICAgICAgc19yID0gU0lH TigtNCwgMy4wKQorKyAgICAgICAgaWYgKGFicyhzX3IgLSA0LjApID4gMS4wRC02KSBTVE9QIDE2 CisrCisrICAgICAgICBteF9pID0gTUFYKC00LCAtMywgMiwgMSkKKysgICAgICAgIGlmIChteF9p IC5uZS4gMikgU1RPUCAxNworKyAgICAgICAgbXhfciA9IE1BWCgtNC4wLCAtMy4wLCAyLjAsIDEu MCkKKysgICAgICAgIGlmIChhYnMobXhfciAtIDIuMCkgPiAxLjBELTYpIFNUT1AgMTgKKysgICAg ICAgIG14X3IgPSBNQVgoLTQsIC0zLjAsIDIuMCwgMSkKKysgICAgICAgIGlmIChhYnMobXhfciAt IDIuMCkgPiAxLjBELTYpIFNUT1AgMTkKKysgICAgICAgIG14X2kgPSBNQVhMT0MoYXJyYXlfbmFu LCAxKQorKyAgICAgICAgaWYgKG14X2kgLm5lLiAyKSBTVE9QIDIwCisrCisrICAgICAgICBtbl9p ID0gTUlOKC00LCAtMywgMiwgMSkKKysgICAgICAgIGlmIChtbl9pIC5uZS4gLTQpIFNUT1AgMjEK KysgICAgICAgIG1uX3IgPSBNSU4oLTQuMCwgLTMuMCwgMi4wLCAxLjApCisrICAgICAgICBpZiAo YWJzKG1uX3IgLSAoLTQuMCkpID4gMS4wRC02KSBTVE9QIDIyCisrICAgICAgICBtbl9yID0gTUlO KC00LCAtMy4wLCAyLjAsIDEpCisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLTQuMCkpID4gMS4w RC02KSBTVE9QIDIzCisrICAgICAgICBtbl9pID0gTUlOTE9DKGFycmF5X25hbiwgMSkKKysgICAg ICAgIGlmIChtbl9pIC5uZS4gMSkgU1RPUCAyNAorKyAgICAgIEVORCBQUk9HUkFNCitkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2Nv bnN0X3Byb21vdGlvbl8yLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9uXzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAwLi5iZGQwMTdiNzI4MAorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX2NvbnN0X3Byb21vdGlv bl8yLmYKK0BAIC0wLDAgKzEsOTAgQEAKKyshIHsgZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9u cyAiLWZkZWMtcHJvbW90aW9uIC1maW5pdC1yZWFsPXNuYW4iIH0KKyshCisrISBUZXN0IHByb21v dGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4K KyshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1h eCwgbWlubG9jIGFuZAorKyEgbWF4bG9jLgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNj byBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgor KyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1vZGlmaWVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysg ICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRfcmVhbF9jb25zdAorKyAgICAgICAgISBhcnJheV9u YW4gNHRoIHBvc2l0aW9uIHZhbHVlIGlzIE5BTgorKyAgICAgICAgUkVBTCBhcnJheV9uYW4oNCkK KysgICAgICAgIERBVEEgYXJyYXlfbmFuKDEpLy00LjAvCisrICAgICAgICBEQVRBIGFycmF5X25h bigyKS8zLjAvCisrICAgICAgICBEQVRBIGFycmF5X25hbigzKS8tMi8KKysKKysgICAgICAgIElO VEVHRVIgbV9pLzAvCisrICAgICAgICBSRUFMIG1fci8wLjAvCisrCisrICAgICAgICBJTlRFR0VS IG1kX2kvMC8KKysgICAgICAgIFJFQUwgbWRfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIGRf aS8wLworKyAgICAgICAgUkVBTCBkX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBzX2kvMC8K KysgICAgICAgIFJFQUwgc19yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbW5faS8wLworKyAg ICAgICAgUkVBTCBtbl9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbXhfaS8wLworKyAgICAg ICAgUkVBTCBteF9yLzAuMC8KKysKKysgICAgICAgIG1faSA9IE1PRCg0LCAzKQorKyAgICAgICAg aWYgKG1faSAubmUuIDEpIFNUT1AgMQorKyAgICAgICAgbV9yID0gTU9EKDQuMCwgMy4wKQorKyAg ICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDIKKysgICAgICAgIG1fciA9 IE1PRCg0LCAzLjApCisrICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MworKyAgICAgICAgbV9yID0gTU9EKDQuMCwgMykKKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA0CisrCisrICAgICAgICBtZF9pID0gTU9EVUxPKDQsIDMpCisrICAg ICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgNQorKyAgICAgICAgbWRfciA9IE1PRFVMTyg0LjAs IDMuMCkKKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgorKyAg ICAgICAgbWRfciA9IE1PRFVMTyg0LCAzLjApCisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDcKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oNC4wLCAzKQorKyAgICAg ICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA4CisrCisrICAgICAgICBkX2kg PSBESU0oNCwgMykKKysgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDkKKysgICAgICAgIGRf ciA9IERJTSg0LjAsIDMuMCkKKysgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikg U1RPUCAxMAorKyAgICAgICAgZF9yID0gRElNKDQuMCwgMykKKysgICAgICAgIGlmIChhYnMoZF9y IC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMQorKyAgICAgICAgZF9yID0gRElNKDMsIDQuMCkKKysg ICAgICAgIGlmIChhYnMoZF9yKSA+IDEuMEQtNikgU1RPUCAxMgorKworKyAgICAgICAgc19pID0g U0lHTigtNCwgMykKKysgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDEzCisrICAgICAgICBz X3IgPSBTSUdOKDQuMCwgLTMuMCkKKysgICAgICAgIGlmIChhYnMoc19yIC0gKC00LjApKSA+IDEu MEQtNikgU1RPUCAxNAorKyAgICAgICAgc19yID0gU0lHTig0LjAsIC0zKQorKyAgICAgICAgaWYg KGFicyhzX3IgLSAoLTQuMCkpID4gMS4wRC02KSBTVE9QIDE1CisrICAgICAgICBzX3IgPSBTSUdO KC00LCAzLjApCisrICAgICAgICBpZiAoYWJzKHNfciAtIDQuMCkgPiAxLjBELTYpIFNUT1AgMTYK KysKKysgICAgICAgIG14X2kgPSBNQVgoLTQsIC0zLCAyLCAxKQorKyAgICAgICAgaWYgKG14X2kg Lm5lLiAyKSBTVE9QIDE3CisrICAgICAgICBteF9yID0gTUFYKC00LjAsIC0zLjAsIDIuMCwgMS4w KQorKyAgICAgICAgaWYgKGFicyhteF9yIC0gMi4wKSA+IDEuMEQtNikgU1RPUCAxOAorKyAgICAg ICAgbXhfciA9IE1BWCgtNCwgLTMuMCwgMi4wLCAxKQorKyAgICAgICAgaWYgKGFicyhteF9yIC0g Mi4wKSA+IDEuMEQtNikgU1RPUCAxOQorKyAgICAgICAgbXhfaSA9IE1BWExPQyhhcnJheV9uYW4s IDEpCisrICAgICAgICBpZiAobXhfaSAubmUuIDIpIFNUT1AgMjAKKysKKysgICAgICAgIG1uX2kg PSBNSU4oLTQsIC0zLCAyLCAxKQorKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtNCkgU1RPUCAyMQor KyAgICAgICAgbW5fciA9IE1JTigtNC4wLCAtMy4wLCAyLjAsIDEuMCkKKysgICAgICAgIGlmIChh YnMobW5fciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMjIKKysgICAgICAgIG1uX3IgPSBNSU4o LTQsIC0zLjAsIDIuMCwgMSkKKysgICAgICAgIGlmIChhYnMobW5fciAtICgtNC4wKSkgPiAxLjBE LTYpIFNUT1AgMjMKKysgICAgICAgIG1uX2kgPSBNSU5MT0MoYXJyYXlfbmFuLCAxKQorKyAgICAg ICAgaWYgKG1uX2kgLm5lLiAxKSBTVE9QIDI0CisrICAgICAgRU5EIFBST0dSQU0KK2RpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29u c3RfcHJvbW90aW9uXzMuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNp Y19pbnRfcmVhbF9jb25zdF9wcm9tb3Rpb25fMy5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5k ZXggMDAwMDAwMDAwMDAuLmNlOTBhNTY2N2Q2CistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfY29uc3RfcHJvbW90aW9u XzMuZgorQEAgLTAsMCArMSw5MiBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0 aW9ucyAiLWZkZWMgLWZuby1kZWMtcHJvbW90aW9uIC1maW5pdC1yZWFsPXNuYW4iIH0KKyshCisr ISBUZXN0IHRoYXQgdGhlcmUgaXMgbm8gcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJl YWxzIGluCisrISBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KKyshCisrISBUaGVzZSBvcGVyYXRpb25z IGFyZTogbW9kLCBtb2R1bG8sIGRpbSwgc2lnbiwgbWluLCBtYXgsIG1pbmxvYyBhbmQKKyshIG1h eGxvYy4KKyshCisrISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8 ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0aGluay5jby51az4KKyshICAgICAgICAgICAgIGFuZCBK ZWZmIExhdyA8bGF3QHJlZGhhdC5jb20+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8 bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgUFJPR1JBTSBwcm9tb3Rp b25faW50X3JlYWxfY29uc3QKKysgICAgICAgICEgYXJyYXlfbmFuIDR0aCBwb3NpdGlvbiB2YWx1 ZSBpcyBOQU4KKysgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQpCisrICAgICAgICBEQVRBIGFycmF5 X25hbigxKS8tNC4wLworKyAgICAgICAgREFUQSBhcnJheV9uYW4oMikvMy4wLworKyAgICAgICAg REFUQSBhcnJheV9uYW4oMykvLTIvCisrCisrICAgICAgICBJTlRFR0VSIG1faS8wLworKyAgICAg ICAgUkVBTCBtX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBtZF9pLzAvCisrICAgICAgICBS RUFMIG1kX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBkX2kvMC8KKysgICAgICAgIFJFQUwg ZF9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgc19pLzAvCisrICAgICAgICBSRUFMIHNfci8w LjAvCisrCisrICAgICAgICBJTlRFR0VSIG1uX2kvMC8KKysgICAgICAgIFJFQUwgbW5fci8wLjAv CisrCisrICAgICAgICBJTlRFR0VSIG14X2kvMC8KKysgICAgICAgIFJFQUwgbXhfci8wLjAvCisr CisrICAgICAgICBtX2kgPSBNT0QoNCwgMykKKysgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9Q IDEKKysgICAgICAgIG1fciA9IE1PRCg0LjAsIDMuMCkKKysgICAgICAgIGlmIChhYnMobV9yIC0g MS4wKSA+IDEuMEQtNikgU1RPUCAyCisrICAgICAgICBtX3IgPSBNT0QoNCwgMy4wKSAhIHsgZGct ZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQorKyAgICAgICAgaWYgKGFicyhtX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDMKKysgICAgICAgIG1fciA9IE1PRCg0LjAsIDMpICEgeyBkZy1l cnJvciAiJ2EnIGFuZCAncCcgYXJndW1lbnRzIiB9CisrICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNAorKworKyAgICAgICAgbWRfaSA9IE1PRFVMTyg0LCAzKQorKyAg ICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDUKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oNC4w LCAzLjApCisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKKysg ICAgICAgIG1kX3IgPSBNT0RVTE8oNCwgMy4wKSAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFy Z3VtZW50cyIgfQorKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA3 CisrICAgICAgICBtZF9yID0gTU9EVUxPKDQuMCwgMykgISB7IGRnLWVycm9yICInYScgYW5kICdw JyBhcmd1bWVudHMiIH0KKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNU T1AgOAorKworKyAgICAgICAgZF9pID0gRElNKDQsIDMpCisrICAgICAgICBpZiAoZF9pIC5uZS4g MSkgU1RPUCA5CisrICAgICAgICBkX3IgPSBESU0oNC4wLCAzLjApCisrICAgICAgICBpZiAoYWJz KGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTAKKysgICAgICAgIGRfciA9IERJTSg0LjAsIDMp ICEgeyBkZy1lcnJvciAiJ3gnIGFuZCAneScgYXJndW1lbnRzIiB9CisrICAgICAgICBpZiAoYWJz KGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKKysgICAgICAgIGRfciA9IERJTSgzLCA0LjAp ICEgeyBkZy1lcnJvciAiJ3gnIGFuZCAneScgYXJndW1lbnRzIiB9CisrICAgICAgICBpZiAoYWJz KGRfcikgPiAxLjBELTYpIFNUT1AgMTIKKysKKysgICAgICAgIHNfaSA9IFNJR04oLTQsIDMpCisr ICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxMworKyAgICAgICAgc19yID0gU0lHTig0LjAs IC0zLjApCisrICAgICAgICBpZiAoYWJzKHNfciAtICgtNC4wKSkgPiAxLjBELTYpIFNUT1AgMTQK KysgICAgICAgIHNfciA9IFNJR04oNC4wLCAtMykgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQi IH0KKysgICAgICAgIGlmIChhYnMoc19yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAxNQorKyAg ICAgICAgc19yID0gU0lHTigtNCwgMy4wKSAhIHsgZGctZXJyb3IgIidiJyBhcmd1bWVudCIgfQor KyAgICAgICAgaWYgKGFicyhzX3IgLSA0LjApID4gMS4wRC02KSBTVE9QIDE2CisrCisrICAgICAg ICBteF9pID0gTUFYKC00LCAtMywgMiwgMSkKKysgICAgICAgIGlmIChteF9pIC5uZS4gMikgU1RP UCAxNworKyAgICAgICAgbXhfciA9IE1BWCgtNC4wLCAtMy4wLCAyLjAsIDEuMCkKKysgICAgICAg IGlmIChhYnMobXhfciAtIDIuMCkgPiAxLjBELTYpIFNUT1AgMTgKKysgICAgICAgIG14X3IgPSBN QVgoLTQsIC0zLjAsIDIuMCwgMSkgISB7IGRnLWVycm9yICInYTInIGFyZ3VtZW50IiB9CisrICAg ICAgICBpZiAoYWJzKG14X3IgLSAyLjApID4gMS4wRC02KSBTVE9QIDE5CisrICAgICAgICBteF9p ID0gTUFYTE9DKGFycmF5X25hbiwgMSkKKysgICAgICAgIGlmIChteF9pIC5uZS4gMikgU1RPUCAy MAorKworKyAgICAgICAgbW5faSA9IE1JTigtNCwgLTMsIDIsIDEpCisrICAgICAgICBpZiAobW5f aSAubmUuIC00KSBTVE9QIDIxCisrICAgICAgICBtbl9yID0gTUlOKC00LjAsIC0zLjAsIDIuMCwg MS4wKQorKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC00LjApKSA+IDEuMEQtNikgU1RPUCAyMgor KyAgICAgICAgbW5fciA9IE1JTigtNCwgLTMuMCwgMi4wLCAxKSAhIHsgZGctZXJyb3IgIidhMicg YXJndW1lbnQiIH0KKysgICAgICAgIGlmIChhYnMobW5fciAtICgtNC4wKSkgPiAxLjBELTYpIFNU T1AgMjMKKysgICAgICAgIG1uX2kgPSBNSU5MT0MoYXJyYXlfbmFuLCAxKQorKyAgICAgICAgaWYg KG1uX2kgLm5lLiAxKSBTVE9QIDI0CisrICAgICAgRU5EIFBST0dSQU0KK2RpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9u XzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9w cm9tb3Rpb25fMS5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLjVj MmNkOTMxYTRiCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzEuZgorQEAgLTAsMCArMSwxMzAgQEAK KyshIHsgZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0 IHByb21vdGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0 aW9ucy4KKyshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBt aW4sIG1heCwgbWlubG9jIGFuZAorKyEgbWF4bG9jLgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZy YW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNv LnVrPgorKyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1v ZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgor KyEKKysgICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRfcmVhbAorKyAgICAgICAgUkVBTCBsLzAu MC8KKysgICAgICAgIElOVEVHRVIgYV9pLzQvCisrICAgICAgICBJTlRFR0VSKjQgYTJfaS80Lwor KyAgICAgICAgSU5URUdFUiBiX2kvMy8KKysgICAgICAgIElOVEVHRVIqOCBiMl9pLzMvCisrICAg ICAgICBJTlRFR0VSIHhfaS8yLworKyAgICAgICAgSU5URUdFUiB5X2kvMS8KKysgICAgICAgIFJF QUwgYV9yLzQuMC8KKysgICAgICAgIFJFQUwqNCBhMl9yLzQuMC8KKysgICAgICAgIFJFQUwgYl9y LzMuMC8KKysgICAgICAgIFJFQUwqOCBiMl9yLzMuMC8KKysgICAgICAgIFJFQUwgeF9yLzIuMC8K KysgICAgICAgIFJFQUwgeV9yLzEuMC8KKysKKysgICAgICAgIFJFQUwgYXJyYXlfbmFuKDQpCisr ICAgICAgICBEQVRBIGFycmF5X25hbigxKS8tNC4wLworKyAgICAgICAgREFUQSBhcnJheV9uYW4o MikvMy4wLworKyAgICAgICAgREFUQSBhcnJheV9uYW4oMykvLTIvCisrCisrICAgICAgICBJTlRF R0VSIG1faS8wLworKyAgICAgICAgUkVBTCBtX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBt ZF9pLzAvCisrICAgICAgICBSRUFMIG1kX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBkX2kv MC8KKysgICAgICAgIFJFQUwgZF9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgc19pLzAvCisr ICAgICAgICBSRUFMIHNfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIG1uX2kvMC8KKysgICAg ICAgIFJFQUwgbW5fci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIG14X2kvMC8KKysgICAgICAg IFJFQUwgbXhfci8wLjAvCisrCisrICAgICAgICAhIGFycmF5X25hbiA0dGggcG9zaXRpb24gdmFs dWUgaXMgTkFOCisrICAgICAgICBhcnJheV9uYW4oNCkgPSAwL2wKKysKKysgICAgICAgIG1faSA9 IE1PRChhX2ksIGJfaSkKKysgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEKKysgICAgICAg IG1faSA9IE1PRChhMl9pLCBiMl9pKQorKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMgor KyAgICAgICAgbV9yID0gTU9EKGFfciwgYl9yKQorKyAgICAgICAgaWYgKGFicyhtX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDMKKysgICAgICAgIG1fciA9IE1PRChhMl9yLCBiMl9yKQorKyAgICAg ICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDQKKysgICAgICAgIG1fciA9IE1P RChhX2ksIGJfcikKKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1 CisrICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX2kpCisrICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgNgorKworKyAgICAgICAgbWRfaSA9IE1PRFVMTyhhX2ksIGJfaSkK KysgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA3CisrICAgICAgICBtZF9pID0gTU9EVUxP KGEyX2ksIGIyX2kpCisrICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgOAorKyAgICAgICAg bWRfciA9IE1PRFVMTyhhX3IsIGJfcikKKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAx LjBELTYpIFNUT1AgOQorKyAgICAgICAgbWRfciA9IE1PRFVMTyhhMl9yLCBiMl9yKQorKyAgICAg ICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMAorKyAgICAgICAgbWRfciA9 IE1PRFVMTyhhX2ksIGJfcikKKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYp IFNUT1AgMTEKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9yLCBiX2kpCisrICAgICAgICBpZiAo YWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEyCisrCisrICAgICAgICBkX2kgPSBESU0o YV9pLCBiX2kpCisrICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxMworKyAgICAgICAgZF9p ID0gRElNKGEyX2ksIGIyX2kpCisrICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxNAorKyAg ICAgICAgZF9yID0gRElNKGFfciwgYl9yKQorKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4g MS4wRC02KSBTVE9QIDE1CisrICAgICAgICBkX3IgPSBESU0oYTJfciwgYjJfcikKKysgICAgICAg IGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNgorKyAgICAgICAgZF9yID0gRElN KGFfciwgYl9pKQorKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE3 CisrICAgICAgICBkX3IgPSBESU0oYl9pLCBhX3IpCisrICAgICAgICBpZiAoYWJzKGRfcikgPiAx LjBELTYpIFNUT1AgMTgKKysKKysgICAgICAgIHNfaSA9IFNJR04oLWFfaSwgYl9pKQorKyAgICAg ICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTkKKysgICAgICAgIHNfaSA9IFNJR04oLWEyX2ksIGIy X2kpCisrICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAyMAorKyAgICAgICAgc19yID0gU0lH TihhX3IsIC1iX3IpCisrICAgICAgICBpZiAoYWJzKHNfciAtICgtYV9yKSkgPiAxLjBELTYpIFNU T1AgMjEKKysgICAgICAgIHNfciA9IFNJR04oYTJfciwgLWIyX3IpCisrICAgICAgICBpZiAoYWJz KHNfciAtICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDIyCisrICAgICAgICBzX3IgPSBTSUdOKGFf ciwgLWJfaSkKKysgICAgICAgIGlmIChhYnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAy MworKyAgICAgICAgc19yID0gU0lHTigtYV9pLCBiX3IpCisrICAgICAgICBpZiAoYWJzKHNfciAt IGFfcikgPiAxLjBELTYpIFNUT1AgMjQKKysKKysgICAgICAgIG14X2kgPSBNQVgoLWFfaSwgLWJf aSwgeF9pLCB5X2kpCisrICAgICAgICBpZiAobXhfaSAubmUuIHhfaSkgU1RPUCAyNQorKyAgICAg ICAgbXhfaSA9IE1BWCgtYTJfaSwgLWIyX2ksIHhfaSwgeV9pKQorKyAgICAgICAgaWYgKG14X2kg Lm5lLiB4X2kpIFNUT1AgMjYKKysgICAgICAgIG14X3IgPSBNQVgoLWFfciwgLWJfciwgeF9yLCB5 X3IpCisrICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI3CisrICAg ICAgICBteF9yID0gTUFYKC1hX3IsIC1iX3IsIHhfciwgeV9yKQorKyAgICAgICAgaWYgKGFicyht eF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyOAorKyAgICAgICAgbXhfciA9IE1BWCgtYV9pLCAt Yl9yLCB4X3IsIHlfaSkKKysgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNU T1AgMjkKKysgICAgICAgIG14X2kgPSBNQVhMT0MoYXJyYXlfbmFuLCAxKQorKyAgICAgICAgaWYg KG14X2kgLm5lLiAyKSBTVE9QIDMwCisrCisrICAgICAgICBtbl9pID0gTUlOKC1hX2ksIC1iX2ks IHhfaSwgeV9pKQorKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYV9pKSBTVE9QIDMxCisrICAgICAg ICBtbl9pID0gTUlOKC1hMl9pLCAtYjJfaSwgeF9pLCB5X2kpCisrICAgICAgICBpZiAobW5faSAu bmUuIC1hMl9pKSBTVE9QIDMyCisrICAgICAgICBtbl9yID0gTUlOKC1hX3IsIC1iX3IsIHhfciwg eV9yKQorKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAzMwor KyAgICAgICAgbW5fciA9IE1JTigtYTJfciwgLWIyX3IsIHhfciwgeV9yKQorKyAgICAgICAgaWYg KGFicyhtbl9yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMzQKKysgICAgICAgIG1uX3IgPSBN SU4oLWFfaSwgLWJfciwgeF9yLCB5X2kpCisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfcikp ID4gMS4wRC02KSBTVE9QIDM1CisrICAgICAgICBtbl9pID0gTUlOTE9DKGFycmF5X25hbiwgMSkK KysgICAgICAgIGlmIChtbl9pIC5uZS4gMSkgU1RPUCAzNgorKyAgICAgIEVORCBQUk9HUkFNCitk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9y ZWFsX3Byb21vdGlvbl8yLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5z aWNfaW50X3JlYWxfcHJvbW90aW9uXzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAw MDAwMDAwMDAwLi5kNjRkNDY4ZjdkMQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl8yLmYKK0BAIC0w LDAgKzEsMTMwIEBACisrISB7IGRnLWRvIHJ1biB9CisrISB7IGRnLW9wdGlvbnMgIi1mZGVjLXBy b21vdGlvbiIgfQorKyEKKyshIFRlc3QgcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJl YWxzIGluIGludHJpbnNpYyBvcGVyYXRpb25zLgorKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1v ZCwgbW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwgbWF4LCBtaW5sb2MgYW5kCisrISBtYXhsb2MuCisr IQorKyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNj by5tYXJjaGVuYUBjb2RldGhpbmsuY28udWs+CisrISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcg PGxhd0ByZWRoYXQuY29tPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdn bGVzdG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9y ZWFsCisrICAgICAgICBSRUFMIGwvMC4wLworKyAgICAgICAgSU5URUdFUiBhX2kvNC8KKysgICAg ICAgIElOVEVHRVIqNCBhMl9pLzQvCisrICAgICAgICBJTlRFR0VSIGJfaS8zLworKyAgICAgICAg SU5URUdFUio4IGIyX2kvMy8KKysgICAgICAgIElOVEVHRVIgeF9pLzIvCisrICAgICAgICBJTlRF R0VSIHlfaS8xLworKyAgICAgICAgUkVBTCBhX3IvNC4wLworKyAgICAgICAgUkVBTCo0IGEyX3Iv NC4wLworKyAgICAgICAgUkVBTCBiX3IvMy4wLworKyAgICAgICAgUkVBTCo4IGIyX3IvMy4wLwor KyAgICAgICAgUkVBTCB4X3IvMi4wLworKyAgICAgICAgUkVBTCB5X3IvMS4wLworKworKyAgICAg ICAgUkVBTCBhcnJheV9uYW4oNCkKKysgICAgICAgIERBVEEgYXJyYXlfbmFuKDEpLy00LjAvCisr ICAgICAgICBEQVRBIGFycmF5X25hbigyKS8zLjAvCisrICAgICAgICBEQVRBIGFycmF5X25hbigz KS8tMi8KKysKKysgICAgICAgIElOVEVHRVIgbV9pLzAvCisrICAgICAgICBSRUFMIG1fci8wLjAv CisrCisrICAgICAgICBJTlRFR0VSIG1kX2kvMC8KKysgICAgICAgIFJFQUwgbWRfci8wLjAvCisr CisrICAgICAgICBJTlRFR0VSIGRfaS8wLworKyAgICAgICAgUkVBTCBkX3IvMC4wLworKworKyAg ICAgICAgSU5URUdFUiBzX2kvMC8KKysgICAgICAgIFJFQUwgc19yLzAuMC8KKysKKysgICAgICAg IElOVEVHRVIgbW5faS8wLworKyAgICAgICAgUkVBTCBtbl9yLzAuMC8KKysKKysgICAgICAgIElO VEVHRVIgbXhfaS8wLworKyAgICAgICAgUkVBTCBteF9yLzAuMC8KKysKKysgICAgICAgICEgYXJy YXlfbmFuIDR0aCBwb3NpdGlvbiB2YWx1ZSBpcyBOQU4KKysgICAgICAgIGFycmF5X25hbig0KSA9 IDAvbAorKworKyAgICAgICAgbV9pID0gTU9EKGFfaSwgYl9pKQorKyAgICAgICAgaWYgKG1faSAu bmUuIDEpIFNUT1AgMQorKyAgICAgICAgbV9pID0gTU9EKGEyX2ksIGIyX2kpCisrICAgICAgICBp ZiAobV9pIC5uZS4gMSkgU1RPUCAyCisrICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX3IpCisrICAg ICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMworKyAgICAgICAgbV9yID0g TU9EKGEyX3IsIGIyX3IpCisrICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNU T1AgNAorKyAgICAgICAgbV9yID0gTU9EKGFfaSwgYl9yKQorKyAgICAgICAgaWYgKGFicyhtX3Ig LSAxLjApID4gMS4wRC02KSBTVE9QIDUKKysgICAgICAgIG1fciA9IE1PRChhX3IsIGJfaSkKKysg ICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2CisrCisrICAgICAgICBt ZF9pID0gTU9EVUxPKGFfaSwgYl9pKQorKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDcK KysgICAgICAgIG1kX2kgPSBNT0RVTE8oYTJfaSwgYjJfaSkKKysgICAgICAgIGlmIChtZF9pIC5u ZS4gMSkgU1RPUCA4CisrICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwgYl9yKQorKyAgICAgICAg aWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA5CisrICAgICAgICBtZF9yID0gTU9E VUxPKGEyX3IsIGIyX3IpCisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBT VE9QIDEwCisrICAgICAgICBtZF9yID0gTU9EVUxPKGFfaSwgYl9yKQorKyAgICAgICAgaWYgKGFi cyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMQorKyAgICAgICAgbWRfciA9IE1PRFVMTyhh X3IsIGJfaSkKKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTIK KysKKysgICAgICAgIGRfaSA9IERJTShhX2ksIGJfaSkKKysgICAgICAgIGlmIChkX2kgLm5lLiAx KSBTVE9QIDEzCisrICAgICAgICBkX2kgPSBESU0oYTJfaSwgYjJfaSkKKysgICAgICAgIGlmIChk X2kgLm5lLiAxKSBTVE9QIDE0CisrICAgICAgICBkX3IgPSBESU0oYV9yLCBiX3IpCisrICAgICAg ICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTUKKysgICAgICAgIGRfciA9IERJ TShhMl9yLCBiMl9yKQorKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDE2CisrICAgICAgICBkX3IgPSBESU0oYV9yLCBiX2kpCisrICAgICAgICBpZiAoYWJzKGRfciAt IDEuMCkgPiAxLjBELTYpIFNUT1AgMTcKKysgICAgICAgIGRfciA9IERJTShiX2ksIGFfcikKKysg ICAgICAgIGlmIChhYnMoZF9yKSA+IDEuMEQtNikgU1RPUCAxOAorKworKyAgICAgICAgc19pID0g U0lHTigtYV9pLCBiX2kpCisrICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxOQorKyAgICAg ICAgc19pID0gU0lHTigtYTJfaSwgYjJfaSkKKysgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9Q IDIwCisrICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJfcikKKysgICAgICAgIGlmIChhYnMoc19y IC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMQorKyAgICAgICAgc19yID0gU0lHTihhMl9yLCAt YjJfcikKKysgICAgICAgIGlmIChhYnMoc19yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMjIK KysgICAgICAgIHNfciA9IFNJR04oYV9yLCAtYl9pKQorKyAgICAgICAgaWYgKGFicyhzX3IgLSAo LWFfcikpID4gMS4wRC02KSBTVE9QIDIzCisrICAgICAgICBzX3IgPSBTSUdOKC1hX2ksIGJfcikK KysgICAgICAgIGlmIChhYnMoc19yIC0gYV9yKSA+IDEuMEQtNikgU1RPUCAyNAorKworKyAgICAg ICAgbXhfaSA9IE1BWCgtYV9pLCAtYl9pLCB4X2ksIHlfaSkKKysgICAgICAgIGlmIChteF9pIC5u ZS4geF9pKSBTVE9QIDI1CisrICAgICAgICBteF9pID0gTUFYKC1hMl9pLCAtYjJfaSwgeF9pLCB5 X2kpCisrICAgICAgICBpZiAobXhfaSAubmUuIHhfaSkgU1RPUCAyNgorKyAgICAgICAgbXhfciA9 IE1BWCgtYV9yLCAtYl9yLCB4X3IsIHlfcikKKysgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikg PiAxLjBELTYpIFNUT1AgMjcKKysgICAgICAgIG14X3IgPSBNQVgoLWFfciwgLWJfciwgeF9yLCB5 X3IpCisrICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI4CisrICAg ICAgICBteF9yID0gTUFYKC1hX2ksIC1iX3IsIHhfciwgeV9pKQorKyAgICAgICAgaWYgKGFicyht eF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyOQorKyAgICAgICAgbXhfaSA9IE1BWExPQyhhcnJh eV9uYW4sIDEpCisrICAgICAgICBpZiAobXhfaSAubmUuIDIpIFNUT1AgMzAKKysKKysgICAgICAg IG1uX2kgPSBNSU4oLWFfaSwgLWJfaSwgeF9pLCB5X2kpCisrICAgICAgICBpZiAobW5faSAubmUu IC1hX2kpIFNUT1AgMzEKKysgICAgICAgIG1uX2kgPSBNSU4oLWEyX2ksIC1iMl9pLCB4X2ksIHlf aSkKKysgICAgICAgIGlmIChtbl9pIC5uZS4gLWEyX2kpIFNUT1AgMzIKKysgICAgICAgIG1uX3Ig PSBNSU4oLWFfciwgLWJfciwgeF9yLCB5X3IpCisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFf cikpID4gMS4wRC02KSBTVE9QIDMzCisrICAgICAgICBtbl9yID0gTUlOKC1hMl9yLCAtYjJfciwg eF9yLCB5X3IpCisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWEyX3IpKSA+IDEuMEQtNikgU1RP UCAzNAorKyAgICAgICAgbW5fciA9IE1JTigtYV9pLCAtYl9yLCB4X3IsIHlfaSkKKysgICAgICAg IGlmIChhYnMobW5fciAtICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMzUKKysgICAgICAgIG1uX2kg PSBNSU5MT0MoYXJyYXlfbmFuLCAxKQorKyAgICAgICAgaWYgKG1uX2kgLm5lLiAxKSBTVE9QIDM2 CisrICAgICAgRU5EIFBST0dSQU0KK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFu LmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzMuZiBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fMy5mCituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLjA3MDhiNjY2NjMzCistLS0gL2Rldi9u dWxsCisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3Jl YWxfcHJvbW90aW9uXzMuZgorQEAgLTAsMCArMSwxMzAgQEAKKyshIHsgZGctZG8gY29tcGlsZSB9 CisrISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLXByb21vdGlvbiIgfQorKyEKKyshIFRl c3QgcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxzIGluIGludHJpbnNpYyBvcGVy YXRpb25zLgorKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1vZCwgbW9kdWxvLCBkaW0sIHNpZ24s IG1pbiwgbWF4LCBtaW5sb2MgYW5kCisrISBtYXhsb2MuCisrIQorKyEgQ29udHJpYnV0ZWQgYnkg RnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5tYXJjaGVuYUBjb2RldGhpbmsu Y28udWs+CisrISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPgorKyEg TW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+ CisrIQorKyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9yZWFsCisrICAgICAgICBSRUFMIGwv MC4wLworKyAgICAgICAgSU5URUdFUiBhX2kvNC8KKysgICAgICAgIElOVEVHRVIqNCBhMl9pLzQv CisrICAgICAgICBJTlRFR0VSIGJfaS8zLworKyAgICAgICAgSU5URUdFUio4IGIyX2kvMy8KKysg ICAgICAgIElOVEVHRVIgeF9pLzIvCisrICAgICAgICBJTlRFR0VSIHlfaS8xLworKyAgICAgICAg UkVBTCBhX3IvNC4wLworKyAgICAgICAgUkVBTCo0IGEyX3IvNC4wLworKyAgICAgICAgUkVBTCBi X3IvMy4wLworKyAgICAgICAgUkVBTCo4IGIyX3IvMy4wLworKyAgICAgICAgUkVBTCB4X3IvMi4w LworKyAgICAgICAgUkVBTCB5X3IvMS4wLworKworKyAgICAgICAgUkVBTCBhcnJheV9uYW4oNCkK KysgICAgICAgIERBVEEgYXJyYXlfbmFuKDEpLy00LjAvCisrICAgICAgICBEQVRBIGFycmF5X25h bigyKS8zLjAvCisrICAgICAgICBEQVRBIGFycmF5X25hbigzKS8tMi8KKysKKysgICAgICAgIElO VEVHRVIgbV9pLzAvCisrICAgICAgICBSRUFMIG1fci8wLjAvCisrCisrICAgICAgICBJTlRFR0VS IG1kX2kvMC8KKysgICAgICAgIFJFQUwgbWRfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIGRf aS8wLworKyAgICAgICAgUkVBTCBkX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBzX2kvMC8K KysgICAgICAgIFJFQUwgc19yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbW5faS8wLworKyAg ICAgICAgUkVBTCBtbl9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbXhfaS8wLworKyAgICAg ICAgUkVBTCBteF9yLzAuMC8KKysKKysgICAgICAgICEgYXJyYXlfbmFuIDR0aCBwb3NpdGlvbiB2 YWx1ZSBpcyBOQU4KKysgICAgICAgIGFycmF5X25hbig0KSA9IDAvbAorKworKyAgICAgICAgbV9p ID0gTU9EKGFfaSwgYl9pKQorKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQorKyAgICAg ICAgbV9pID0gTU9EKGEyX2ksIGIyX2kpCisrICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAy CisrICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX3IpCisrICAgICAgICBpZiAoYWJzKG1fciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgMworKyAgICAgICAgbV9yID0gTU9EKGEyX3IsIGIyX3IpCisrICAg ICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNAorKyAgICAgICAgbV9yID0g TU9EKGFfaSwgYl9yKSAhIHsgZGctZXJyb3IgIidhJyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQorKyAg ICAgICAgaWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDUKKysgICAgICAgIG1fciA9 IE1PRChhX3IsIGJfaSkgISB7IGRnLWVycm9yICInYScgYW5kICdwJyBhcmd1bWVudHMiIH0KKysg ICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2CisrCisrICAgICAgICBt ZF9pID0gTU9EVUxPKGFfaSwgYl9pKQorKyAgICAgICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDcK KysgICAgICAgIG1kX2kgPSBNT0RVTE8oYTJfaSwgYjJfaSkKKysgICAgICAgIGlmIChtZF9pIC5u ZS4gMSkgU1RPUCA4CisrICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwgYl9yKQorKyAgICAgICAg aWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA5CisrICAgICAgICBtZF9yID0gTU9E VUxPKGEyX3IsIGIyX3IpCisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBT VE9QIDEwCisrICAgICAgICBtZF9yID0gTU9EVUxPKGFfaSwgYl9yKSAhIHsgZGctZXJyb3IgIidh JyBhbmQgJ3AnIGFyZ3VtZW50cyIgfQorKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEu MEQtNikgU1RPUCAxMQorKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfaSkgISB7IGRnLWVy cm9yICInYScgYW5kICdwJyBhcmd1bWVudHMiIH0KKysgICAgICAgIGlmIChhYnMobWRfciAtIDEu MCkgPiAxLjBELTYpIFNUT1AgMTIKKysKKysgICAgICAgIGRfaSA9IERJTShhX2ksIGJfaSkKKysg ICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDEzCisrICAgICAgICBkX2kgPSBESU0oYTJfaSwg YjJfaSkKKysgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDE0CisrICAgICAgICBkX3IgPSBE SU0oYV9yLCBiX3IpCisrICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MTUKKysgICAgICAgIGRfciA9IERJTShhMl9yLCBiMl9yKQorKyAgICAgICAgaWYgKGFicyhkX3Ig LSAxLjApID4gMS4wRC02KSBTVE9QIDE2CisrICAgICAgICBkX3IgPSBESU0oYV9yLCBiX2kpICEg eyBkZy1lcnJvciAiJ3gnIGFuZCAneScgYXJndW1lbnRzIiB9CisrICAgICAgICBpZiAoYWJzKGRf ciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTcKKysgICAgICAgIGRfciA9IERJTShiX2ksIGFfcikg ISB7IGRnLWVycm9yICIneCcgYW5kICd5JyBhcmd1bWVudHMiIH0KKysgICAgICAgIGlmIChhYnMo ZF9yKSA+IDEuMEQtNikgU1RPUCAxOAorKworKyAgICAgICAgc19pID0gU0lHTigtYV9pLCBiX2kp CisrICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxOQorKyAgICAgICAgc19pID0gU0lHTigt YTJfaSwgYjJfaSkgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0KKysgICAgICAgIGlmIChz X2kgLm5lLiA0KSBTVE9QIDIwCisrICAgICAgICBzX3IgPSBTSUdOKGFfciwgLWJfcikKKysgICAg ICAgIGlmIChhYnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMQorKyAgICAgICAgc19y ID0gU0lHTihhMl9yLCAtYjJfcikgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0KKysgICAg ICAgIGlmIChhYnMoc19yIC0gKC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMjIKKysgICAgICAgIHNf ciA9IFNJR04oYV9yLCAtYl9pKSAhIHsgZGctZXJyb3IgIidiJyBhcmd1bWVudCIgfQorKyAgICAg ICAgaWYgKGFicyhzX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDIzCisrICAgICAgICBzX3Ig PSBTSUdOKC1hX2ksIGJfcikgISB7IGRnLWVycm9yICInYicgYXJndW1lbnQiIH0KKysgICAgICAg IGlmIChhYnMoc19yIC0gYV9yKSA+IDEuMEQtNikgU1RPUCAyNAorKworKyAgICAgICAgbXhfaSA9 IE1BWCgtYV9pLCAtYl9pLCB4X2ksIHlfaSkKKysgICAgICAgIGlmIChteF9pIC5uZS4geF9pKSBT VE9QIDI1CisrICAgICAgICBteF9pID0gTUFYKC1hMl9pLCAtYjJfaSwgeF9pLCB5X2kpCisrICAg ICAgICBpZiAobXhfaSAubmUuIHhfaSkgU1RPUCAyNgorKyAgICAgICAgbXhfciA9IE1BWCgtYV9y LCAtYl9yLCB4X3IsIHlfcikKKysgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYp IFNUT1AgMjcKKysgICAgICAgIG14X3IgPSBNQVgoLWFfciwgLWJfciwgeF9yLCB5X3IpCisrICAg ICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI4CisrICAgICAgICBteF9y ID0gTUFYKC1hX2ksIC1iX3IsIHhfciwgeV9pKSAhIHsgZGctZXJyb3IgIidhMicgYXJndW1lbnQi IH0KKysgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjkKKysgICAg ICAgIG14X2kgPSBNQVhMT0MoYXJyYXlfbmFuLCAxKQorKyAgICAgICAgaWYgKG14X2kgLm5lLiAy KSBTVE9QIDMwCisrCisrICAgICAgICBtbl9pID0gTUlOKC1hX2ksIC1iX2ksIHhfaSwgeV9pKQor KyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYV9pKSBTVE9QIDMxCisrICAgICAgICBtbl9pID0gTUlO KC1hMl9pLCAtYjJfaSwgeF9pLCB5X2kpCisrICAgICAgICBpZiAobW5faSAubmUuIC1hMl9pKSBT VE9QIDMyCisrICAgICAgICBtbl9yID0gTUlOKC1hX3IsIC1iX3IsIHhfciwgeV9yKQorKyAgICAg ICAgaWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAzMworKyAgICAgICAgbW5f ciA9IE1JTigtYTJfciwgLWIyX3IsIHhfciwgeV9yKQorKyAgICAgICAgaWYgKGFicyhtbl9yIC0g KC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMzQKKysgICAgICAgIG1uX3IgPSBNSU4oLWFfaSwgLWJf ciwgeF9yLCB5X2kpICEgeyBkZy1lcnJvciAiJ2EyJyBhcmd1bWVudCIgfQorKyAgICAgICAgaWYg KGFicyhtbl9yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAzNQorKyAgICAgICAgbW5faSA9IE1J TkxPQyhhcnJheV9uYW4sIDEpCisrICAgICAgICBpZiAobW5faSAubmUuIDEpIFNUT1AgMzYKKysg ICAgICBFTkQgUFJPR1JBTQorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNC5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl80LmYKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uZWZhNGYyMzY0MTAKKy0tLSAvZGV2L251bGwK KysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9w cm9tb3Rpb25fNC5mCitAQCAtMCwwICsxLDExOCBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKysh IHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0IHByb21vdGlvbiBiZXR3ZWVuIGlu dGVnZXJzIGFuZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4KKyshIFRoZXNlIG9wZXJh dGlvbnMgYXJlOiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1heCwgbWlubG9jIGFuZAor KyEgbWF4bG9jLgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNo ZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgorKyEgICAgICAgICAgICAg YW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVz dG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICBQUk9HUkFNIHBy b21vdGlvbl9pbnRfcmVhbAorKyAgICAgICAgUkVBTCBsLzAuMC8KKysgICAgICAgIExPR0lDQUwg YV9sCisrICAgICAgICBMT0dJQ0FMKjQgYTJfbAorKyAgICAgICAgTE9HSUNBTCBiX2wKKysgICAg ICAgIExPR0lDQUwqOCBiMl9sCisrICAgICAgICBMT0dJQ0FMIHhfbAorKyAgICAgICAgTE9HSUNB TCB5X2wKKysgICAgICAgIENIQVJBQ1RFUiBhX2MKKysgICAgICAgIENIQVJBQ1RFUio0IGEyX2MK KysgICAgICAgIENIQVJBQ1RFUiBiX2MKKysgICAgICAgIENIQVJBQ1RFUio4IGIyX2MKKysgICAg ICAgIENIQVJBQ1RFUiB4X2MKKysgICAgICAgIENIQVJBQ1RFUiB5X2MKKysKKysgICAgICAgIElO VEVHRVIgbV9pLzAvCisrICAgICAgICBSRUFMIG1fci8wLjAvCisrCisrICAgICAgICBJTlRFR0VS IG1kX2kvMC8KKysgICAgICAgIFJFQUwgbWRfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIGRf aS8wLworKyAgICAgICAgUkVBTCBkX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBzX2kvMC8K KysgICAgICAgIFJFQUwgc19yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbW5faS8wLworKyAg ICAgICAgUkVBTCBtbl9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbXhfaS8wLworKyAgICAg ICAgUkVBTCBteF9yLzAuMC8KKysKKysgICAgICAgIG1faSA9IE1PRChhX2wsIGJfbCkgICAgICAg ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKG1faSAubmUuIDEp IFNUT1AgMQorKyAgICAgICAgbV9pID0gTU9EKGEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAg ICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAyCisrICAg ICAgICBtX3IgPSBNT0QoYV9jLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAzCisrICAg ICAgICBtX3IgPSBNT0QoYTJfYywgYjJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA0CisrICAg ICAgICBtX3IgPSBNT0QoYV9sLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA1CisrICAg ICAgICBtX3IgPSBNT0QoYV9jLCBiX2wpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCA2CisrCisr ICAgICAgICBtZF9pID0gTU9EVUxPKGFfbCwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KKysgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA3CisrICAgICAgICBtZF9p ID0gTU9EVUxPKGEyX2wsIGIyX2wpICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysg ICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA4CisrICAgICAgICBtZF9yID0gTU9EVUxPKGFf YywgYl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChh YnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOQorKyAgICAgICAgbWRfciA9IE1PRFVMTyhh Ml9jLCBiMl9jKSAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAo YWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEwCisrICAgICAgICBtZF9yID0gTU9EVUxP KGFfbCwgYl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlm IChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTEKKysgICAgICAgIG1kX3IgPSBNT0RV TE8oYV9jLCBiX2wpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAg aWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMgorKworKyAgICAgICAgZF9pID0g RElNKGFfbCwgYl9sKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAg ICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxMworKyAgICAgICAgZF9pID0gRElNKGEyX2wsIGIy X2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoZF9p IC5uZS4gMSkgU1RPUCAxNAorKyAgICAgICAgZF9yID0gRElNKGFfYywgYl9jKSAgICAgICAgICAg ICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgMTUKKysgICAgICAgIGRfciA9IERJTShhMl9jLCBiMl9jKSAgICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjAp ID4gMS4wRC02KSBTVE9QIDE2CisrICAgICAgICBkX3IgPSBESU0oYV9jLCBiX2wpICAgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoZF9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAxNworKyAgICAgICAgZF9yID0gRElNKGJfbCwgYV9jKSAgICAgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKGRfcikgPiAx LjBELTYpIFNUT1AgMTgKKysKKysgICAgICAgIHNfaSA9IFNJR04oLWFfbCwgYl9sKSAgICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNU T1AgMTkKKysgICAgICAgIHNfaSA9IFNJR04oLWEyX2wsIGIyX2wpICAgICAgICAgICAgICAgICAh IHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMjAKKysgICAg ICAgIHNfciA9IFNJR04oYV9jLCAtYl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3Ig IiIgfQorKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDIxICEg eyBkZy1lcnJvciAiIiB9CisrICAgICAgICBzX3IgPSBTSUdOKGEyX2MsIC1iMl9jKSAgICAgICAg ICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoc19yIC0gKC1hMl9j KSkgPiAxLjBELTYpIFNUT1AgMjIgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIHNfciA9IFNJ R04oYV9jLCAtYl9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAg ICAgaWYgKGFicyhzX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9QIDIzICEgeyBkZy1lcnJvciAi IiB9CisrICAgICAgICBzX3IgPSBTSUdOKC1hX2wsIGJfYykgICAgICAgICAgICAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoc19yIC0gYV9jKSA+IDEuMEQtNikgU1RP UCAyNCAgICAhIHsgZGctZXJyb3IgIiIgfQorKworKyAgICAgICAgbXhfaSA9IE1BWCgtYV9sLCAt Yl9sLCB4X2wsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAobXhf aSAubmUuIHhfbCkgU1RPUCAyNSAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAg ICAgIG14X2kgPSBNQVgoLWEyX2wsIC1iMl9sLCB4X2wsIHlfbCkgICAgICAhIHsgZGctZXJyb3Ig IiIgfQorKyAgICAgICAgaWYgKG14X2kgLm5lLiB4X2wpIFNUT1AgMjYgICAgICAgICAgICAgICEg eyBkZy1lcnJvciAiIiB9CisrICAgICAgICBteF9yID0gTUFYKC1hX2MsIC1iX2MsIHhfYywgeV9j KSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobXhfciAtIHhfYykg PiAxLjBELTYpIFNUT1AgMjcgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgbXhfciA9IE1B WCgtYV9jLCAtYl9jLCB4X2MsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAg ICBpZiAoYWJzKG14X3IgLSB4X2MpID4gMS4wRC02KSBTVE9QIDI4ICAgISB7IGRnLWVycm9yICIi IH0KKysgICAgICAgIG14X3IgPSBNQVgoLWFfbCwgLWJfYywgeF9jLCB5X2wpICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9jKSA+IDEuMEQtNikgU1RP UCAyOSAgICEgeyBkZy1lcnJvciAiIiB9CisrCisrICAgICAgICBtbl9pID0gTUlOKC1hX2wsIC1i X2wsIHhfbCwgeV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChtbl9p IC5uZS4gLWFfbCkgU1RPUCAzMSAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAg ICAgbW5faSA9IE1JTigtYTJfbCwgLWIyX2wsIHhfbCwgeV9sKSAgICAgICEgeyBkZy1lcnJvciAi IiB9CisrICAgICAgICBpZiAobW5faSAubmUuIC1hMl9sKSBTVE9QIDMyICAgICAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KKysgICAgICAgIG1uX3IgPSBNSU4oLWFfYywgLWJfYywgeF9jLCB5X2Mp ICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhtbl9yIC0gKC1hX2Mp KSA+IDEuMEQtNikgU1RPUCAzMyAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgbW5fciA9IE1J TigtYTJfYywgLWIyX2MsIHhfYywgeV9jKSAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAg ICBpZiAoYWJzKG1uX3IgLSAoLWEyX2MpKSA+IDEuMEQtNikgU1RPUCAzNCAhIHsgZGctZXJyb3Ig IiIgfQorKyAgICAgICAgbW5fciA9IE1JTigtYV9sLCAtYl9jLCB4X2MsIHlfbCkgICAgICAgICEg eyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfYykpID4gMS4wRC02 KSBTVE9QIDM1ICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgRU5EIFBST0dSQU0KK2RpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJv bW90aW9uXzUuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRf cmVhbF9wcm9tb3Rpb25fNS5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAw MDAuLmQwMjNhZjUwODZkCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2RlY19pbnRyaW5zaWNfaW50X3JlYWxfcHJvbW90aW9uXzUuZgorQEAgLTAsMCArMSwx MTggQEAKKyshIHsgZGctZG8gY29tcGlsZSB9CisrISB7IGRnLW9wdGlvbnMgIi1mZGVjLXByb21v dGlvbiIgfQorKyEKKyshIFRlc3QgcHJvbW90aW9uIGJldHdlZW4gaW50ZWdlcnMgYW5kIHJlYWxz IGluIGludHJpbnNpYyBvcGVyYXRpb25zLgorKyEgVGhlc2Ugb3BlcmF0aW9ucyBhcmU6IG1vZCwg bW9kdWxvLCBkaW0sIHNpZ24sIG1pbiwgbWF4LCBtaW5sb2MgYW5kCisrISBtYXhsb2MuCisrIQor KyEgQ29udHJpYnV0ZWQgYnkgRnJhbmNpc2NvIFJlZG9uZG8gTWFyY2hlbmEgPGZyYW5jaXNjby5t YXJjaGVuYUBjb2RldGhpbmsuY28udWs+CisrISAgICAgICAgICAgICBhbmQgSmVmZiBMYXcgPGxh d0ByZWRoYXQuY29tPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVz dG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAgIFBST0dSQU0gcHJvbW90aW9uX2ludF9yZWFs CisrICAgICAgICBSRUFMIGwvMC4wLworKyAgICAgICAgTE9HSUNBTCBhX2wKKysgICAgICAgIExP R0lDQUwqNCBhMl9sCisrICAgICAgICBMT0dJQ0FMIGJfbAorKyAgICAgICAgTE9HSUNBTCo4IGIy X2wKKysgICAgICAgIExPR0lDQUwgeF9sCisrICAgICAgICBMT0dJQ0FMIHlfbAorKyAgICAgICAg Q0hBUkFDVEVSIGFfYworKyAgICAgICAgQ0hBUkFDVEVSKjQgYTJfYworKyAgICAgICAgQ0hBUkFD VEVSIGJfYworKyAgICAgICAgQ0hBUkFDVEVSKjggYjJfYworKyAgICAgICAgQ0hBUkFDVEVSIHhf YworKyAgICAgICAgQ0hBUkFDVEVSIHlfYworKworKyAgICAgICAgSU5URUdFUiBtX2kvMC8KKysg ICAgICAgIFJFQUwgbV9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgbWRfaS8wLworKyAgICAg ICAgUkVBTCBtZF9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgZF9pLzAvCisrICAgICAgICBS RUFMIGRfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIHNfaS8wLworKyAgICAgICAgUkVBTCBz X3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBtbl9pLzAvCisrICAgICAgICBSRUFMIG1uX3Iv MC4wLworKworKyAgICAgICAgSU5URUdFUiBteF9pLzAvCisrICAgICAgICBSRUFMIG14X3IvMC4w LworKworKyAgICAgICAgbV9pID0gTU9EKGFfbCwgYl9sKSAgICAgICAgICAgICAgICAgICAgICEg eyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAobV9pIC5uZS4gMSkgU1RPUCAxCisrICAgICAg ICBtX2kgPSBNT0QoYTJfbCwgYjJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIi IH0KKysgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDIKKysgICAgICAgIG1fciA9IE1PRChh X2MsIGJfYykgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAg aWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDMKKysgICAgICAgIG1fciA9IE1PRChh Ml9jLCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAg aWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDQKKysgICAgICAgIG1fciA9IE1PRChh X2wsIGJfYykgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAg aWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDUKKysgICAgICAgIG1fciA9IE1PRChh X2MsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAg aWYgKGFicyhtX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDYKKysKKysgICAgICAgIG1kX2kgPSBN T0RVTE8oYV9sLCBiX2wpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAg ICAgaWYgKG1kX2kgLm5lLiAxKSBTVE9QIDcKKysgICAgICAgIG1kX2kgPSBNT0RVTE8oYTJfbCwg YjJfbCkgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKG1kX2kg Lm5lLiAxKSBTVE9QIDgKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9jLCBiX2MpICAgICAgICAg ICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+ IDEuMEQtNikgU1RPUCA5CisrICAgICAgICBtZF9yID0gTU9EVUxPKGEyX2MsIGIyX2MpICAgICAg ICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkg PiAxLjBELTYpIFNUT1AgMTAKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9sLCBiX2MpICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAxMQorKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2MsIGJfbCkgICAg ICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAx LjApID4gMS4wRC02KSBTVE9QIDEyCisrCisrICAgICAgICBkX2kgPSBESU0oYV9sLCBiX2wpICAg ICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChkX2kgLm5l LiAxKSBTVE9QIDEzCisrICAgICAgICBkX2kgPSBESU0oYTJfbCwgYjJfbCkgICAgICAgICAgICAg ICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChkX2kgLm5lLiAxKSBTVE9QIDE0 CisrICAgICAgICBkX3IgPSBESU0oYV9jLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRn LWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAx NQorKyAgICAgICAgZF9yID0gRElNKGEyX2MsIGIyX2MpICAgICAgICAgICAgICAgICAgICEgeyBk Zy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MTYKKysgICAgICAgIGRfciA9IERJTShhX2MsIGJfbCkgICAgICAgICAgICAgICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9Q IDE3CisrICAgICAgICBkX3IgPSBESU0oYl9sLCBhX2MpICAgICAgICAgICAgICAgICAgICAgISB7 IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoZF9yKSA+IDEuMEQtNikgU1RPUCAxOAor KworKyAgICAgICAgc19pID0gU0lHTigtYV9sLCBiX2wpICAgICAgICAgICAgICAgICAgICEgeyBk Zy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAxOQorKyAgICAgICAg c19pID0gU0lHTigtYTJfbCwgYjJfbCkgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 CisrICAgICAgICBpZiAoc19pIC5uZS4gNCkgU1RPUCAyMAorKyAgICAgICAgc19yID0gU0lHTihh X2MsIC1iX2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBp ZiAoYWJzKHNfciAtICgtYV9jKSkgPiAxLjBELTYpIFNUT1AgMjEgISB7IGRnLWVycm9yICIiIH0K KysgICAgICAgIHNfciA9IFNJR04oYTJfYywgLWIyX2MpICAgICAgICAgICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWEyX2MpKSA+IDEuMEQtNikgU1RP UCAyMiAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgc19yID0gU0lHTihhX2MsIC1iX2wpICAg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKHNfciAt ICgtYV9jKSkgPiAxLjBELTYpIFNUT1AgMjMgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIHNf ciA9IFNJR04oLWFfbCwgYl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQor KyAgICAgICAgaWYgKGFicyhzX3IgLSBhX2MpID4gMS4wRC02KSBTVE9QIDI0ICAgICEgeyBkZy1l cnJvciAiIiB9CisrCisrICAgICAgICBteF9pID0gTUFYKC1hX2wsIC1iX2wsIHhfbCwgeV9sKSAg ICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChteF9pIC5uZS4geF9sKSBTVE9Q IDI1ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgbXhfaSA9IE1BWCgt YTJfbCwgLWIyX2wsIHhfbCwgeV9sKSAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBp ZiAobXhfaSAubmUuIHhfbCkgU1RPUCAyNiAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0K KysgICAgICAgIG14X3IgPSBNQVgoLWFfYywgLWJfYywgeF9jLCB5X2MpICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhteF9yIC0geF9jKSA+IDEuMEQtNikgU1RPUCAy NyAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBteF9yID0gTUFYKC1hX2MsIC1iX2MsIHhf YywgeV9jKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobXhfciAt IHhfYykgPiAxLjBELTYpIFNUT1AgMjggICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgbXhf ciA9IE1BWCgtYV9sLCAtYl9jLCB4X2MsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKG14X3IgLSB4X2MpID4gMS4wRC02KSBTVE9QIDI5ICAgISB7IGRnLWVy cm9yICIiIH0KKysKKysgICAgICAgIG1uX2kgPSBNSU4oLWFfbCwgLWJfbCwgeF9sLCB5X2wpICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYV9sKSBTVE9Q IDMxICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBtbl9pID0gTUlOKC1h Ml9sLCAtYjJfbCwgeF9sLCB5X2wpICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlm IChtbl9pIC5uZS4gLWEyX2wpIFNUT1AgMzIgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQor KyAgICAgICAgbW5fciA9IE1JTigtYV9jLCAtYl9jLCB4X2MsIHlfYykgICAgICAgICEgeyBkZy1l cnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfYykpID4gMS4wRC02KSBTVE9Q IDMzICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBtbl9yID0gTUlOKC1hMl9jLCAtYjJfYywg eF9jLCB5X2MpICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobW5fciAt ICgtYTJfYykpID4gMS4wRC02KSBTVE9QIDM0ICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBt bl9yID0gTUlOKC1hX2wsIC1iX2MsIHhfYywgeV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0K KysgICAgICAgIGlmIChhYnMobW5fciAtICgtYV9jKSkgPiAxLjBELTYpIFNUT1AgMzUgISB7IGRn LWVycm9yICIiIH0KKysgICAgICBFTkQgUFJPR1JBTQorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNi5mIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9yZWFsX3Byb21vdGlvbl82 LmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uMDBmOGZiODhmMWIK Ky0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJp bnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNi5mCitAQCAtMCwwICsxLDExOCBAQAorKyEgeyBkZy1k byBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0IHByb21v dGlvbiBiZXR3ZWVuIGludGVnZXJzIGFuZCByZWFscyBpbiBpbnRyaW5zaWMgb3BlcmF0aW9ucy4K KyshIFRoZXNlIG9wZXJhdGlvbnMgYXJlOiBtb2QsIG1vZHVsbywgZGltLCBzaWduLCBtaW4sIG1h eCwgbWlubG9jIGFuZAorKyEgbWF4bG9jLgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNj byBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgor KyEgICAgICAgICAgICAgYW5kIEplZmYgTGF3IDxsYXdAcmVkaGF0LmNvbT4KKyshIE1vZGlmaWVk IGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEKKysg ICAgICBQUk9HUkFNIHByb21vdGlvbl9pbnRfcmVhbAorKyAgICAgICAgUkVBTCBsLzAuMC8KKysg ICAgICAgIElOVEVHRVIgYV9pLzQvCisrICAgICAgICBJTlRFR0VSKjQgYTJfaS80LworKyAgICAg ICAgQ0hBUkFDVEVSIGJfYworKyAgICAgICAgQ0hBUkFDVEVSKjggYjJfYworKyAgICAgICAgSU5U RUdFUiB4X2kvMi8KKysgICAgICAgIENIQVJBQ1RFUiB5X2MKKysgICAgICAgIFJFQUwgYV9yLzQu MC8KKysgICAgICAgIFJFQUwqNCBhMl9yLzQuMC8KKysgICAgICAgIExPR0lDQUwgYl9sCisrICAg ICAgICBMT0dJQ0FMKjggYjJfbAorKyAgICAgICAgUkVBTCB4X3IvMi4wLworKyAgICAgICAgTE9H SUNBTCB5X2wKKysKKysgICAgICAgIElOVEVHRVIgbV9pLzAvCisrICAgICAgICBSRUFMIG1fci8w LjAvCisrCisrICAgICAgICBJTlRFR0VSIG1kX2kvMC8KKysgICAgICAgIFJFQUwgbWRfci8wLjAv CisrCisrICAgICAgICBJTlRFR0VSIGRfaS8wLworKyAgICAgICAgUkVBTCBkX3IvMC4wLworKwor KyAgICAgICAgSU5URUdFUiBzX2kvMC8KKysgICAgICAgIFJFQUwgc19yLzAuMC8KKysKKysgICAg ICAgIElOVEVHRVIgbW5faS8wLworKyAgICAgICAgUkVBTCBtbl9yLzAuMC8KKysKKysgICAgICAg IElOVEVHRVIgbXhfaS8wLworKyAgICAgICAgUkVBTCBteF9yLzAuMC8KKysKKysgICAgICAgIG1f aSA9IE1PRChhX2ksIGJfYykgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQor KyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMQorKyAgICAgICAgbV9pID0gTU9EKGEyX2ks IGIyX2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAo bV9pIC5uZS4gMSkgU1RPUCAyCisrICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX2wpICAgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCAzCisrICAgICAgICBtX3IgPSBNT0QoYTJfciwgYjJfbCkgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA0CisrICAgICAgICBtX3IgPSBNT0QoYV9pLCBiX2wpICAgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA1CisrICAgICAgICBtX3IgPSBNT0QoYV9yLCBiX2MpICAgICAgICAg ICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobV9yIC0gMS4w KSA+IDEuMEQtNikgU1RPUCA2CisrCisrICAgICAgICBtZF9pID0gTU9EVUxPKGFfaSwgYl9jKSAg ICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChtZF9pIC5uZS4g MSkgU1RPUCA3CisrICAgICAgICBtZF9pID0gTU9EVUxPKGEyX2ksIGIyX2MpICAgICAgICAgICAg ICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChtZF9pIC5uZS4gMSkgU1RPUCA4Cisr ICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgOQor KyAgICAgICAgbWRfciA9IE1PRFVMTyhhMl9yLCBiMl9sKSAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1kX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDEw CisrICAgICAgICBtZF9yID0gTU9EVUxPKGFfaSwgYl9sKSAgICAgICAgICAgICAgICAgISB7IGRn LWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1Ag MTEKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oYV9yLCBiX2MpICAgICAgICAgICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhtZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RP UCAxMgorKworKyAgICAgICAgZF9pID0gRElNKGFfaSwgYl9jKSAgICAgICAgICAgICAgICAgICAg ICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxMworKyAg ICAgICAgZF9pID0gRElNKGEyX2ksIGIyX2MpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJv ciAiIiB9CisrICAgICAgICBpZiAoZF9pIC5uZS4gMSkgU1RPUCAxNAorKyAgICAgICAgZF9yID0g RElNKGFfciwgYl9sKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAg ICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTUKKysgICAgICAgIGRfciA9 IERJTShhMl9yLCBiMl9sKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAg ICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDE2CisrICAgICAgICBkX3Ig PSBESU0oYV9yLCBiX2MpICAgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysg ICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxNworKyAgICAgICAgZF9y ID0gRElNKGJfYywgYV9yKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKGRfcikgPiAxLjBELTYpIFNUT1AgMTgKKysKKysgICAgICAgIHNfaSA9 IFNJR04oLWFfaSwgYl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAg ICAgICAgaWYgKHNfaSAubmUuIDQpIFNUT1AgMTkKKysgICAgICAgIHNfaSA9IFNJR04oLWEyX2ks IGIyX2MpICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKHNf aSAubmUuIDQpIFNUT1AgMjAKKysgICAgICAgIHNfciA9IFNJR04oYV9yLCAtYl9sKSAgICAgICAg ICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhzX3IgLSAoLWFf cikpID4gMS4wRC02KSBTVE9QIDIxCisrICAgICAgICBzX3IgPSBTSUdOKGEyX3IsIC1iMl9sKSAg ICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoc19yIC0g KC1hMl9yKSkgPiAxLjBELTYpIFNUT1AgMjIKKysgICAgICAgIHNfciA9IFNJR04oYV9yLCAtYl9j KSAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhz X3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDIzCisrICAgICAgICBzX3IgPSBTSUdOKC1hX2ks IGJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChh YnMoc19yIC0gYV9yKSA+IDEuMEQtNikgU1RPUCAyNAorKworKyAgICAgICAgbXhfaSA9IE1BWCgt YV9pLCAtYl9jLCB4X2ksIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBp ZiAobXhfaSAubmUuIHhfaSkgU1RPUCAyNQorKyAgICAgICAgbXhfaSA9IE1BWCgtYTJfaSwgLWIy X2MsIHhfaSwgeV9jKSAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAobXhfaSAu bmUuIHhfaSkgU1RPUCAyNgorKyAgICAgICAgbXhfciA9IE1BWCgtYV9yLCAtYl9sLCB4X3IsIHlf bCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3Ip ID4gMS4wRC02KSBTVE9QIDI3CisrICAgICAgICBteF9yID0gTUFYKC1hX3IsIC1iX2wsIHhfciwg eV9sKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobXhfciAtIHhf cikgPiAxLjBELTYpIFNUT1AgMjgKKysgICAgICAgIG14X3IgPSBNQVgoLWFfaSwgLWJfbCwgeF9y LCB5X2MpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhteF9yIC0g eF9yKSA+IDEuMEQtNikgU1RPUCAyOQorKworKyAgICAgICAgbW5faSA9IE1JTigtYV9pLCAtYl9j LCB4X2ksIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAobW5faSAu bmUuIC1hX2kpIFNUT1AgMzEKKysgICAgICAgIG1uX2kgPSBNSU4oLWEyX2ksIC1iMl9jLCB4X2ks IHlfYykgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYTJf aSkgU1RPUCAzMgorKyAgICAgICAgbW5fciA9IE1JTigtYV9yLCAtYl9sLCB4X3IsIHlfbCkgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfcikpID4g MS4wRC02KSBTVE9QIDMzCisrICAgICAgICBtbl9yID0gTUlOKC1hMl9yLCAtYjJfbCwgeF9yLCB5 X2wpICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobW5fciAtICgtYTJf cikpID4gMS4wRC02KSBTVE9QIDM0CisrICAgICAgICBtbl9yID0gTUlOKC1hX2ksIC1iX2wsIHhf ciwgeV9jKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMobW5fciAt ICgtYV9yKSkgPiAxLjBELTYpIFNUT1AgMzUKKysgICAgICBFTkQgUFJPR1JBTQorZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9t b3Rpb25fNy5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfaW50cmluc2ljX2ludF9y ZWFsX3Byb21vdGlvbl83LmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAw MC4uMWQ0MTUwZDgxYzAKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZGVjX2ludHJpbnNpY19pbnRfcmVhbF9wcm9tb3Rpb25fNy5mCitAQCAtMCwwICsxLDEx OCBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMtcHJvbW90 aW9uIiB9CisrIQorKyEgVGVzdCBwcm9tb3Rpb24gYmV0d2VlbiBpbnRlZ2VycyBhbmQgcmVhbHMg aW4gaW50cmluc2ljIG9wZXJhdGlvbnMuCisrISBUaGVzZSBvcGVyYXRpb25zIGFyZTogbW9kLCBt b2R1bG8sIGRpbSwgc2lnbiwgbWluLCBtYXgsIG1pbmxvYyBhbmQKKyshIG1heGxvYy4KKyshCisr ISBDb250cmlidXRlZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1h cmNoZW5hQGNvZGV0aGluay5jby51az4KKyshICAgICAgICAgICAgIGFuZCBKZWZmIExhdyA8bGF3 QHJlZGhhdC5jb20+CisrISBNb2RpZmllZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0 b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgUFJPR1JBTSBwcm9tb3Rpb25faW50X3JlYWwK KysgICAgICAgIFJFQUwgbC8wLjAvCisrICAgICAgICBJTlRFR0VSIGFfaS80LworKyAgICAgICAg SU5URUdFUio0IGEyX2kvNC8KKysgICAgICAgIENIQVJBQ1RFUiBiX2MKKysgICAgICAgIENIQVJB Q1RFUio4IGIyX2MKKysgICAgICAgIElOVEVHRVIgeF9pLzIvCisrICAgICAgICBDSEFSQUNURVIg eV9jCisrICAgICAgICBSRUFMIGFfci80LjAvCisrICAgICAgICBSRUFMKjQgYTJfci80LjAvCisr ICAgICAgICBMT0dJQ0FMIGJfbAorKyAgICAgICAgTE9HSUNBTCo4IGIyX2wKKysgICAgICAgIFJF QUwgeF9yLzIuMC8KKysgICAgICAgIExPR0lDQUwgeV9sCisrCisrICAgICAgICBJTlRFR0VSIG1f aS8wLworKyAgICAgICAgUkVBTCBtX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBtZF9pLzAv CisrICAgICAgICBSRUFMIG1kX3IvMC4wLworKworKyAgICAgICAgSU5URUdFUiBkX2kvMC8KKysg ICAgICAgIFJFQUwgZF9yLzAuMC8KKysKKysgICAgICAgIElOVEVHRVIgc19pLzAvCisrICAgICAg ICBSRUFMIHNfci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIG1uX2kvMC8KKysgICAgICAgIFJF QUwgbW5fci8wLjAvCisrCisrICAgICAgICBJTlRFR0VSIG14X2kvMC8KKysgICAgICAgIFJFQUwg bXhfci8wLjAvCisrCisrICAgICAgICBtX2kgPSBNT0QoYV9pLCBiX2MpICAgICAgICAgICAgICAg ICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChtX2kgLm5lLiAxKSBTVE9QIDEK KysgICAgICAgIG1faSA9IE1PRChhMl9pLCBiMl9jKSAgICAgICAgICAgICAgICAgICAhIHsgZGct ZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKG1faSAubmUuIDEpIFNUT1AgMgorKyAgICAgICAgbV9y ID0gTU9EKGFfciwgYl9sKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMworKyAgICAgICAgbV9y ID0gTU9EKGEyX3IsIGIyX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNAorKyAgICAgICAgbV9y ID0gTU9EKGFfaSwgYl9sKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNQorKyAgICAgICAgbV9y ID0gTU9EKGFfciwgYl9jKSAgICAgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKG1fciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgNgorKworKyAgICAgICAg bWRfaSA9IE1PRFVMTyhhX2ksIGJfYykgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 CisrICAgICAgICBpZiAobWRfaSAubmUuIDEpIFNUT1AgNworKyAgICAgICAgbWRfaSA9IE1PRFVM TyhhMl9pLCBiMl9jKSAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBp ZiAobWRfaSAubmUuIDEpIFNUT1AgOAorKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX3IsIGJfbCkg ICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1kX3Ig LSAxLjApID4gMS4wRC02KSBTVE9QIDkKKysgICAgICAgIG1kX3IgPSBNT0RVTE8oYTJfciwgYjJf bCkgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhtZF9y IC0gMS4wKSA+IDEuMEQtNikgU1RPUCAxMAorKyAgICAgICAgbWRfciA9IE1PRFVMTyhhX2ksIGJf bCkgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKG1k X3IgLSAxLjApID4gMS4wRC02KSBTVE9QIDExCisrICAgICAgICBtZF9yID0gTU9EVUxPKGFfciwg Yl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMo bWRfciAtIDEuMCkgPiAxLjBELTYpIFNUT1AgMTIKKysKKysgICAgICAgIGRfaSA9IERJTShhX2ks IGJfYykgICAgICAgICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYg KGRfaSAubmUuIDEpIFNUT1AgMTMKKysgICAgICAgIGRfaSA9IERJTShhMl9pLCBiMl9jKSAgICAg ICAgICAgICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGRfaSAubmUuIDEp IFNUT1AgMTQKKysgICAgICAgIGRfciA9IERJTShhX3IsIGJfbCkgICAgICAgICAgICAgICAgICAg ICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhkX3IgLSAxLjApID4gMS4wRC02 KSBTVE9QIDE1CisrICAgICAgICBkX3IgPSBESU0oYTJfciwgYjJfbCkgICAgICAgICAgICAgICAg ICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChhYnMoZF9yIC0gMS4wKSA+IDEuMEQt NikgU1RPUCAxNgorKyAgICAgICAgZF9yID0gRElNKGFfciwgYl9jKSAgICAgICAgICAgICAgICAg ICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKGRfciAtIDEuMCkgPiAxLjBE LTYpIFNUT1AgMTcKKysgICAgICAgIGRfciA9IERJTShiX2MsIGFfcikgICAgICAgICAgICAgICAg ICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKGFicyhkX3IpID4gMS4wRC02KSBT VE9QIDE4CisrCisrICAgICAgICBzX2kgPSBTSUdOKC1hX2ksIGJfYykgICAgICAgICAgICAgICAg ICAgISB7IGRnLWVycm9yICIiIH0KKysgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDE5Cisr ICAgICAgICBzX2kgPSBTSUdOKC1hMl9pLCBiMl9jKSAgICAgICAgICAgICAgICAgISB7IGRnLWVy cm9yICIiIH0KKysgICAgICAgIGlmIChzX2kgLm5lLiA0KSBTVE9QIDIwCisrICAgICAgICBzX3Ig PSBTSUdOKGFfciwgLWJfbCkgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9yICIiIH0KKysg ICAgICAgIGlmIChhYnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMQorKyAgICAgICAg c19yID0gU0lHTihhMl9yLCAtYjJfbCkgICAgICAgICAgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 CisrICAgICAgICBpZiAoYWJzKHNfciAtICgtYTJfcikpID4gMS4wRC02KSBTVE9QIDIyCisrICAg ICAgICBzX3IgPSBTSUdOKGFfciwgLWJfYykgICAgICAgICAgICAgICAgICAgISB7IGRnLWVycm9y ICIiIH0KKysgICAgICAgIGlmIChhYnMoc19yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAyMwor KyAgICAgICAgc19yID0gU0lHTigtYV9pLCBiX2wpICAgICAgICAgICAgICAgICAgICEgeyBkZy1l cnJvciAiIiB9CisrICAgICAgICBpZiAoYWJzKHNfciAtIGFfcikgPiAxLjBELTYpIFNUT1AgMjQK KysKKysgICAgICAgIG14X2kgPSBNQVgoLWFfaSwgLWJfYywgeF9pLCB5X2MpICAgICAgICAhIHsg ZGctZXJyb3IgIiIgfQorKyAgICAgICAgaWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjUKKysgICAg ICAgIG14X2kgPSBNQVgoLWEyX2ksIC1iMl9jLCB4X2ksIHlfYykgICAgICAhIHsgZGctZXJyb3Ig IiIgfQorKyAgICAgICAgaWYgKG14X2kgLm5lLiB4X2kpIFNUT1AgMjYKKysgICAgICAgIG14X3Ig PSBNQVgoLWFfciwgLWJfbCwgeF9yLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAg ICAgICAgaWYgKGFicyhteF9yIC0geF9yKSA+IDEuMEQtNikgU1RPUCAyNworKyAgICAgICAgbXhf ciA9IE1BWCgtYV9yLCAtYl9sLCB4X3IsIHlfbCkgICAgICAgICEgeyBkZy1lcnJvciAiIiB9Cisr ICAgICAgICBpZiAoYWJzKG14X3IgLSB4X3IpID4gMS4wRC02KSBTVE9QIDI4CisrICAgICAgICBt eF9yID0gTUFYKC1hX2ksIC1iX2wsIHhfciwgeV9jKSAgICAgICAgISB7IGRnLWVycm9yICIiIH0K KysgICAgICAgIGlmIChhYnMobXhfciAtIHhfcikgPiAxLjBELTYpIFNUT1AgMjkKKysKKysgICAg ICAgIG1uX2kgPSBNSU4oLWFfaSwgLWJfYywgeF9pLCB5X2MpICAgICAgICAhIHsgZGctZXJyb3Ig IiIgfQorKyAgICAgICAgaWYgKG1uX2kgLm5lLiAtYV9pKSBTVE9QIDMxCisrICAgICAgICBtbl9p ID0gTUlOKC1hMl9pLCAtYjJfYywgeF9pLCB5X2MpICAgICAgISB7IGRnLWVycm9yICIiIH0KKysg ICAgICAgIGlmIChtbl9pIC5uZS4gLWEyX2kpIFNUT1AgMzIKKysgICAgICAgIG1uX3IgPSBNSU4o LWFfciwgLWJfbCwgeF9yLCB5X2wpICAgICAgICAhIHsgZGctZXJyb3IgIiIgfQorKyAgICAgICAg aWYgKGFicyhtbl9yIC0gKC1hX3IpKSA+IDEuMEQtNikgU1RPUCAzMworKyAgICAgICAgbW5fciA9 IE1JTigtYTJfciwgLWIyX2wsIHhfciwgeV9sKSAgICAgICEgeyBkZy1lcnJvciAiIiB9CisrICAg ICAgICBpZiAoYWJzKG1uX3IgLSAoLWEyX3IpKSA+IDEuMEQtNikgU1RPUCAzNAorKyAgICAgICAg bW5fciA9IE1JTigtYV9pLCAtYl9sLCB4X3IsIHlfYykgICAgICAgICEgeyBkZy1lcnJvciAiIiB9 CisrICAgICAgICBpZiAoYWJzKG1uX3IgLSAoLWFfcikpID4gMS4wRC02KSBTVE9QIDM1CisrICAg ICAgRU5EIFBST0dSQU0KK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19raW5kX3Byb21vdGlvbi0xLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19raW5k X3Byb21vdGlvbi0xLmYKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4u NDM1YmY5ODM1MGMKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX2tpbmRfcHJvbW90aW9uLTEuZgorQEAgLTAsMCArMSw0MCBAQAorKyF7IGRnLWRvIHJ1 biB9CisrIXsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBpbnRlZ2VyIHR5cGVzIG9mIGEg c21hbGxlciBraW5kIHRoYW4gZXhwZWN0ZWQgc2hvdWxkIGJlCisrISBhY2NlcHRlZCBieSB0eXBl IHNwZWNpZmljIGludHJpbnNpYyBmdW5jdGlvbnMKKyshCisrISBDb250cmlidXRlZCBieSBNYXJr IEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAgICAgcHJv Z3JhbSB0ZXN0X3NtYWxsX3R5cGVfcHJvbXRpb24KKysgICAgICAgIGltcGxpY2l0IG5vbmUKKysg ICAgICAgIGludGVnZXIoMSkgOjogYSA9IDEKKysgICAgICAgIGludGVnZXIgOjogaQorKyAgICAg ICAgaWYgKGlpYWJzKC05XzEpLm5lLjkpIHN0b3AgMQorKyAgICAgICAgaWYgKGlhYnMoLTlfMSku bmUuOSkgc3RvcCAyCisrICAgICAgICBpZiAoaWFicygtOV8yKS5uZS45KSBzdG9wIDMKKysgICAg ICAgIGlmIChqaWFicygtOV8xKS5uZS45KSBzdG9wIDQKKysgICAgICAgIGlmIChqaWFicygtOV8y KS5uZS45KSBzdG9wIDUKKysgICAgICAgIGlmIChpaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDYK KysgICAgICAgIGlmIChqaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDcKKysgICAgICAgIGlmIChq aXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDgKKysgICAgICAgIGlmIChraXNoZnQoMV8xLCAyKS5u ZS40KSBzdG9wIDkKKysgICAgICAgIGlmIChraXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDEwCisr ICAgICAgICBpZiAoa2lzaGZ0KDFfNCwgMikubmUuNCkgc3RvcCAxMQorKyAgICAgICAgaWYgKGlt b2QoMTdfMSwgMykubmUuMikgc3RvcCAxMgorKyAgICAgICAgaWYgKGptb2QoMTdfMSwgMykubmUu Mikgc3RvcCAxMworKyAgICAgICAgaWYgKGptb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNAorKyAg ICAgICAgaWYgKGttb2QoMTdfMSwgMykubmUuMikgc3RvcCAxNQorKyAgICAgICAgaWYgKGttb2Qo MTdfMiwgMykubmUuMikgc3RvcCAxNgorKyAgICAgICAgaWYgKGttb2QoMTdfNCwgMykubmUuMikg c3RvcCAxNworKyAgICAgICAgaWYgKGlub3QoNV8xKS5uZS4tNikgc3RvcCAxOAorKyAgICAgICAg aWYgKGpub3QoNV8xKS5uZS4tNikgc3RvcCAxOQorKyAgICAgICAgaWYgKGpub3QoNV8yKS5uZS4t Nikgc3RvcCAyMAorKyAgICAgICAgaWYgKGtub3QoNV8xKS5uZS4tNikgc3RvcCAyMQorKyAgICAg ICAgaWYgKGtub3QoNV8yKS5uZS4tNikgc3RvcCAyMgorKyAgICAgICAgaWYgKGtub3QoNV80KS5u ZS4tNikgc3RvcCAyMworKyAgICAgICAgaWYgKGlzaWduKC03N18xLCAxKS5uZS43Nykgc3RvcCAy NAorKyAgICAgICAgaWYgKGlzaWduKC03N18xLCAtMSkubmUuLTc3KSBzdG9wIDI1CisrICAgICAg ICBpZiAoaXNpZ24oLTc3XzIsIDEpLm5lLjc3KSBzdG9wIDI2CisrICAgICAgICBpZiAoaXNpZ24o LTc3XzIsIC0xKS5uZS4tNzcpIHN0b3AgMjcKKysgICAgICBlbmQgcHJvZ3JhbQorZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTIuZiBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTIuZgorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi43YjE2OTdjYTY2NQorLS0tIC9kZXYvbnVs bAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rpb24tMi5m CitAQCAtMCwwICsxLDQwIEBACisrIXsgZGctZG8gcnVuIH0KKysheyBkZy1vcHRpb25zICItZmRl Yy1pbnRyaW5zaWMtaW50cyAtZmRlYy1wcm9tb3Rpb24iIH0KKyshCisrISBpbnRlZ2VyIHR5cGVz IG9mIGEgc21hbGxlciBraW5kIHRoYW4gZXhwZWN0ZWQgc2hvdWxkIGJlCisrISBhY2NlcHRlZCBi eSB0eXBlIHNwZWNpZmljIGludHJpbnNpYyBmdW5jdGlvbnMKKyshCisrISBDb250cmlidXRlZCBi eSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKyshCisrICAg ICAgcHJvZ3JhbSB0ZXN0X3NtYWxsX3R5cGVfcHJvbXRpb24KKysgICAgICAgIGltcGxpY2l0IG5v bmUKKysgICAgICAgIGludGVnZXIoMSkgOjogYSA9IDEKKysgICAgICAgIGludGVnZXIgOjogaQor KyAgICAgICAgaWYgKGlpYWJzKC05XzEpLm5lLjkpIHN0b3AgMQorKyAgICAgICAgaWYgKGlhYnMo LTlfMSkubmUuOSkgc3RvcCAyCisrICAgICAgICBpZiAoaWFicygtOV8yKS5uZS45KSBzdG9wIDMK KysgICAgICAgIGlmIChqaWFicygtOV8xKS5uZS45KSBzdG9wIDQKKysgICAgICAgIGlmIChqaWFi cygtOV8yKS5uZS45KSBzdG9wIDUKKysgICAgICAgIGlmIChpaXNoZnQoMV8xLCAyKS5uZS40KSBz dG9wIDYKKysgICAgICAgIGlmIChqaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDcKKysgICAgICAg IGlmIChqaXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDgKKysgICAgICAgIGlmIChraXNoZnQoMV8x LCAyKS5uZS40KSBzdG9wIDkKKysgICAgICAgIGlmIChraXNoZnQoMV8yLCAyKS5uZS40KSBzdG9w IDEwCisrICAgICAgICBpZiAoa2lzaGZ0KDFfNCwgMikubmUuNCkgc3RvcCAxMQorKyAgICAgICAg aWYgKGltb2QoMTdfMSwgMykubmUuMikgc3RvcCAxMgorKyAgICAgICAgaWYgKGptb2QoMTdfMSwg MykubmUuMikgc3RvcCAxMworKyAgICAgICAgaWYgKGptb2QoMTdfMiwgMykubmUuMikgc3RvcCAx NAorKyAgICAgICAgaWYgKGttb2QoMTdfMSwgMykubmUuMikgc3RvcCAxNQorKyAgICAgICAgaWYg KGttb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNgorKyAgICAgICAgaWYgKGttb2QoMTdfNCwgMyku bmUuMikgc3RvcCAxNworKyAgICAgICAgaWYgKGlub3QoNV8xKS5uZS4tNikgc3RvcCAxOAorKyAg ICAgICAgaWYgKGpub3QoNV8xKS5uZS4tNikgc3RvcCAxOQorKyAgICAgICAgaWYgKGpub3QoNV8y KS5uZS4tNikgc3RvcCAyMAorKyAgICAgICAgaWYgKGtub3QoNV8xKS5uZS4tNikgc3RvcCAyMQor KyAgICAgICAgaWYgKGtub3QoNV8yKS5uZS4tNikgc3RvcCAyMgorKyAgICAgICAgaWYgKGtub3Qo NV80KS5uZS4tNikgc3RvcCAyMworKyAgICAgICAgaWYgKGlzaWduKC03N18xLCAxKS5uZS43Nykg c3RvcCAyNAorKyAgICAgICAgaWYgKGlzaWduKC03N18xLCAtMSkubmUuLTc3KSBzdG9wIDI1Cisr ICAgICAgICBpZiAoaXNpZ24oLTc3XzIsIDEpLm5lLjc3KSBzdG9wIDI2CisrICAgICAgICBpZiAo aXNpZ24oLTc3XzIsIC0xKS5uZS4tNzcpIHN0b3AgMjcKKysgICAgICBlbmQgcHJvZ3JhbQorZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTMu ZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2tpbmRfcHJvbW90aW9uLTMuZgorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi5kYjhkZmY2YzU1ZAorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfa2luZF9wcm9tb3Rp b24tMy5mCitAQCAtMCwwICsxLDM5IEBACisrIXsgZGctZG8gY29tcGlsZSB9CisrIXsgZGctb3B0 aW9ucyAiLWZkZWMgLWZuby1kZWMtcHJvbW90aW9uIiB9CisrIQorKyEgaW50ZWdlciB0eXBlcyBv ZiBhIHNtYWxsZXIga2luZCB0aGFuIGV4cGVjdGVkIHNob3VsZCBiZQorKyEgYWNjZXB0ZWQgYnkg dHlwZSBzcGVjaWZpYyBpbnRyaW5zaWMgZnVuY3Rpb25zCisrIQorKyEgQ29udHJpYnV0ZWQgYnkg TWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAg IHByb2dyYW0gdGVzdF9zbWFsbF90eXBlX3Byb210aW9uCisrICAgICAgICBpbnRlZ2VyKDEpIDo6 IGEgPSAxCisrICAgICAgICBpbnRlZ2VyIDo6IGkKKysgICAgICAgIGlmIChpaWFicygtOV8xKS5u ZS45KSBzdG9wIDEKKysgICAgICAgIGlmIChpYWJzKC05XzEpLm5lLjkpIHN0b3AgMiAhIHsgZGct ZXJyb3IgInR5cGUgbWlzbWF0Y2ggaW4gYXJndW1lbnQiIH0KKysgICAgICAgIGlmIChpYWJzKC05 XzIpLm5lLjkpIHN0b3AgMyAhIHsgZGctZXJyb3IgInR5cGUgbWlzbWF0Y2ggaW4gYXJndW1lbnQi IH0KKysgICAgICAgIGlmIChqaWFicygtOV8xKS5uZS45KSBzdG9wIDQKKysgICAgICAgIGlmIChq aWFicygtOV8yKS5uZS45KSBzdG9wIDUKKysgICAgICAgIGlmIChpaXNoZnQoMV8xLCAyKS5uZS40 KSBzdG9wIDYKKysgICAgICAgIGlmIChqaXNoZnQoMV8xLCAyKS5uZS40KSBzdG9wIDcKKysgICAg ICAgIGlmIChqaXNoZnQoMV8yLCAyKS5uZS40KSBzdG9wIDgKKysgICAgICAgIGlmIChraXNoZnQo MV8xLCAyKS5uZS40KSBzdG9wIDkKKysgICAgICAgIGlmIChraXNoZnQoMV8yLCAyKS5uZS40KSBz dG9wIDEwCisrICAgICAgICBpZiAoa2lzaGZ0KDFfNCwgMikubmUuNCkgc3RvcCAxMQorKyAgICAg ICAgaWYgKGltb2QoMTdfMSwgMykubmUuMikgc3RvcCAxMgorKyAgICAgICAgaWYgKGptb2QoMTdf MSwgMykubmUuMikgc3RvcCAxMworKyAgICAgICAgaWYgKGptb2QoMTdfMiwgMykubmUuMikgc3Rv cCAxNAorKyAgICAgICAgaWYgKGttb2QoMTdfMSwgMykubmUuMikgc3RvcCAxNQorKyAgICAgICAg aWYgKGttb2QoMTdfMiwgMykubmUuMikgc3RvcCAxNgorKyAgICAgICAgaWYgKGttb2QoMTdfNCwg MykubmUuMikgc3RvcCAxNworKyAgICAgICAgaWYgKGlub3QoNV8xKS5uZS4tNikgc3RvcCAxOAor KyAgICAgICAgaWYgKGpub3QoNV8xKS5uZS4tNikgc3RvcCAxOQorKyAgICAgICAgaWYgKGpub3Qo NV8yKS5uZS4tNikgc3RvcCAyMAorKyAgICAgICAgaWYgKGtub3QoNV8xKS5uZS4tNikgc3RvcCAy MQorKyAgICAgICAgaWYgKGtub3QoNV8yKS5uZS4tNikgc3RvcCAyMgorKyAgICAgICAgaWYgKGtu b3QoNV80KS5uZS4tNikgc3RvcCAyMworKyAgICAgICAgaWYgKGlzaWduKC03N18xLCAxKS5uZS43 Nykgc3RvcCAyNCAhIHsgZGctZXJyb3IgInR5cGUgbWlzbWF0Y2ggaW4gYXJndW1lbnQiIH0KKysg ICAgICAgIGlmIChpc2lnbigtNzdfMSwgLTEpLm5lLi03Nykgc3RvcCAyNSAhIHsgZGctZXJyb3Ig InR5cGUgbWlzbWF0Y2ggaW4gYXJndW1lbnQiIH0KKysgICAgICAgIGlmIChpc2lnbigtNzdfMiwg MSkubmUuNzcpIHN0b3AgMjYgISB7IGRnLWVycm9yICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50 IiB9CisrICAgICAgICBpZiAoaXNpZ24oLTc3XzIsIC0xKS5uZS4tNzcpIHN0b3AgMjcgISB7IGRn LWVycm9yICJ0eXBlIG1pc21hdGNoIGluIGFyZ3VtZW50IiB9CisrICAgICAgZW5kIHByb2dyYW0K Ky0tIAorMi4yNy4wCisKCmRpZmYgLS1naXQgYS9nY2MxMi1mb3J0cmFuLWZkZWMtc2VxdWVuY2Uu cGF0Y2ggYi9nY2MxMi1mb3J0cmFuLWZkZWMtc2VxdWVuY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uN2I5Y2U3MQotLS0gL2Rldi9udWxsCisrKyBiL2djYzEyLWZv cnRyYW4tZmRlYy1zZXF1ZW5jZS5wYXRjaApAQCAtMCwwICsxLDI2MiBAQAorRnJvbSBiYjc2NDQ2 ZGIxMGMyMTg2MGE0ZTE5NTY5Y2UzZTM1MGQ4YTJiNTlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogTWFyayBFZ2dsZXN0b24gPG1hcmtlZ2dsZXN0b25AZ2NjLmdudS5vcmc+CitEYXRl OiBGcmksIDIyIEphbiAyMDIxIDE1OjAwOjQ0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDkvMTBd IEFkZCB0aGUgU0VRVUVOQ0UgYXR0cmlidXRlIGJ5IGRlZmF1bHQgaWYgaXQncyBub3QKKyBwcmVz ZW50LgorCitVc2UgLWZkZWMtc2VxdWVuY2UgdG8gZW5hYmxlIHRoaXMgZmVhdHVyZS4gQWxzbyBl bmFibGVkIGJ5IC1mZGVjLgorLS0tCisgZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKysKKyBnY2MvZm9ydHJhbi9vcHRpb25zLmMgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMSArCisgZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgMTMgKysrKy0KKyAuLi5kZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlf ZGVmYXVsdF8xLmYgfCA1NyArKysrKysrKysrKysrKysrKysrCisgLi4uZGRfU0VRVUVOQ0VfdG9f Q09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMi5mIHwgNTcgKysrKysrKysrKysrKysrKysrKworIC4u LmRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzMuZiB8IDU3ICsrKysrKysr KysrKysrKysrKysKKyA2IGZpbGVzIGNoYW5nZWQsIDE4NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Rl Y19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMS5mCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90b19D T01NT05fYmxvY2tfYnlfZGVmYXVsdF8yLmYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZh dWx0XzMuZgorCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJh bi9sYW5nLm9wdAoraW5kZXggNGNhMmY5M2YyZGYuLjAxOWM3OThjZjA5IDEwMDY0NAorLS0tIGEv Z2NjL2ZvcnRyYW4vbGFuZy5vcHQKKysrKyBiL2djYy9mb3J0cmFuL2xhbmcub3B0CitAQCAtNTA5 LDYgKzUwOSwxMCBAQCBmZGVjLXByb21vdGlvbgorIEZvcnRyYW4gVmFyKGZsYWdfZGVjX3Byb21v dGlvbikKKyBBZGQgc3VwcG9ydCBmb3IgdHlwZSBwcm9tb3Rpb24gaW4gaW50cmluc2ljIGFyZ3Vt ZW50cy4KKyAKKytmZGVjLXNlcXVlbmNlCisrRm9ydHJhbiBWYXIoZmxhZ19kZWNfc2VxdWVuY2Up CisrQWRkIHRoZSBTRVFVRU5DRSBhdHRyaWJ1dGUgYnkgZGVmYXVsdCBpZiBpdCdzIG5vdCBwcmVz ZW50LgorKworIGZkZWMtc3RydWN0dXJlCisgRm9ydHJhbiBWYXIoZmxhZ19kZWNfc3RydWN0dXJl KQorIEVuYWJsZSBzdXBwb3J0IGZvciBERUMgU1RSVUNUVVJFL1JFQ09SRC4KK2RpZmYgLS1naXQg YS9nY2MvZm9ydHJhbi9vcHRpb25zLmMgYi9nY2MvZm9ydHJhbi9vcHRpb25zLmMKK2luZGV4IDE1 MDc5YzdlOTVhLi4wNTBmNTZmZGMyNSAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMu YworKysrIGIvZ2NjL2ZvcnRyYW4vb3B0aW9ucy5jCitAQCAtODMsNiArODMsNyBAQCBzZXRfZGVj X2ZsYWdzIChpbnQgdmFsdWUpCisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfb3ZlcnJpZGVfa2lu ZCwgdmFsdWUsIHZhbHVlKTsKKyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19ub25fbG9naWNhbF9p ZiwgdmFsdWUsIHZhbHVlKTsKKyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19wcm9tb3Rpb24sIHZh bHVlLCB2YWx1ZSk7CisrICBTRVRfQklURkxBRyAoZmxhZ19kZWNfc2VxdWVuY2UsIHZhbHVlLCB2 YWx1ZSk7CisgfQorIAorIC8qIEZpbmFsaXplIERFQyBmbGFncy4gICovCitkaWZmIC0tZ2l0IGEv Z2NjL2ZvcnRyYW4vcmVzb2x2ZS5jIGIvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jCitpbmRleCAwN2Rk MDM5ZjNiZi4uZmU3ZDBjYzU5NDQgMTAwNjQ0CistLS0gYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmMK KysrKyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuYworQEAgLTk3OCw5ICs5NzgsMTYgQEAgcmVzb2x2 ZV9jb21tb25fdmFycyAoZ2ZjX2NvbW1vbl9oZWFkICpjb21tb25fYmxvY2ssIGJvb2wgbmFtZWRf Y29tbW9uKQorIAorICAgICAgIGlmICghKGNzeW0tPnRzLnUuZGVyaXZlZC0+YXR0ci5zZXF1ZW5j ZQorIAkgICAgfHwgY3N5bS0+dHMudS5kZXJpdmVkLT5hdHRyLmlzX2JpbmRfYykpCistCWdmY19l cnJvcl9ub3cgKCJEZXJpdmVkIHR5cGUgdmFyaWFibGUgJXFzIGluIENPTU1PTiBhdCAlTCAiCist CQkgICAgICAgImhhcyBuZWl0aGVyIHRoZSBTRVFVRU5DRSBub3IgdGhlIEJJTkQoQykgIgorLQkJ ICAgICAgICJhdHRyaWJ1dGUiLCBjc3ltLT5uYW1lLCAmY3N5bS0+ZGVjbGFyZWRfYXQpOworKwl7 CisrCSAgaWYgKGZsYWdfZGVjX3NlcXVlbmNlKQorKwkgICAgLyogQXNzdW1lIHNlcXVlbmNlLiAq LworKwkgICAgY3N5bS0+dHMudS5kZXJpdmVkLT5hdHRyLnNlcXVlbmNlID0gMTsKKysJICBlbHNl CisrCSAgICBnZmNfZXJyb3Jfbm93ICgiRGVyaXZlZCB0eXBlIHZhcmlhYmxlICclcycgaW4gQ09N TU9OIGF0ICVMICIKKysJCQkgICAiaGFzIG5laXRoZXIgdGhlIFNFUVVFTkNFIG5vciB0aGUgQklO RChDKSAiCisrCQkJICAgImF0dHJpYnV0ZSIsIGNzeW0tPm5hbWUsICZjc3ltLT5kZWNsYXJlZF9h dCk7CisrCX0KKysKKyAgICAgICBpZiAoY3N5bS0+dHMudS5kZXJpdmVkLT5hdHRyLmFsbG9jX2Nv bXApCisgCWdmY19lcnJvcl9ub3cgKCJEZXJpdmVkIHR5cGUgdmFyaWFibGUgJXFzIGluIENPTU1P TiBhdCAlTCAiCisgCQkgICAgICAgImhhcyBhbiB1bHRpbWF0ZSBjb21wb25lbnQgdGhhdCBpcyAi CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNF X3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzEuZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8xLmYKK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uZmU3YjM5NjI1ZWIKKy0tLSAvZGV2 L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90 b19DT01NT05fYmxvY2tfYnlfZGVmYXVsdF8xLmYKK0BAIC0wLDAgKzEsNTcgQEAKKyshIHsgZGct ZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0IGFkZCBkZWZh dWx0IFNFUVVFTkNFIGF0dHJpYnV0ZSBkZXJpdmVkIHR5cGVzIGFwcGVhcmluZyBpbgorKyEgQ09N TU9OIGJsb2NrcyBhbmQgRVFVSVZBTEVOQ0Ugc3RhdGVtZW50cy4KKyshCisrISBDb250cmlidXRl ZCBieSBGcmFuY2lzY28gUmVkb25kbyBNYXJjaGVuYSA8ZnJhbmNpc2NvLm1hcmNoZW5hQGNvZGV0 aGluay5jby51az4KKyshIE1vZGlmaWVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3Rv bkBjb2RldGhpbmsuY29tPgorKyEKKysgICAgICAgIE1PRFVMRSBTRVEKKysgICAgICAgICAgVFlQ RSBTVFJVQ1QxCisrICAgICAgICAgICAgSU5URUdFUio0ICAgICBJRAorKyAgICAgICAgICAgIElO VEVHRVIqNCAgICAgVFlQRQorKyAgICAgICAgICAgIElOVEVHRVIqOCAgICAgREVGVkFMCisrICAg ICAgICAgICAgQ0hBUkFDVEVSKig0KSBOQU1FCisrICAgICAgICAgICAgTE9HSUNBTCoxICAgICBO SUwKKysgICAgICAgICAgRU5EIFRZUEUgU1RSVUNUMQorKyAgICAgICAgRU5EIE1PRFVMRQorKwor KyAgICAgICAgU1VCUk9VVElORSBBCisrICAgICAgICAgIFVTRSBTRVEKKysgICAgICAgICAgVFlQ RSAoU1RSVUNUMSkgUworKyAgICAgICAgICBDT01NT04gL0JMT0NLMS8gUworKyAgICAgICAgICBJ RiAoUyVJRC5ORS41KSBTVE9QIDEKKysgICAgICAgICAgSUYgKFMlVFlQRS5ORS4xMDAwKSBTVE9Q IDIKKysgICAgICAgICAgSUYgKFMlREVGVkFMLk5FLi05OSkgU1RPUCAzCisrICAgICAgICAgIElG IChTJU5BTUUuTkUuIkpBTkUiKSBTVE9QIDQKKysgICAgICAgICAgSUYgKFMlTklMLk5FUVYuLkZB TFNFLikgU1RPUCA1CisrICAgICAgICBFTkQgU1VCUk9VVElORQorKworKyAgICAgICAgUFJPR1JB TSBzZXF1ZW5jZV9hdHRfY29tbW9uCisrICAgICAgICAgIFVTRSBTRVEKKysgICAgICAgICAgSU1Q TElDSVQgTk9ORQorKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMQorKyAgICAgICAgICBUWVBF IChTVFJVQ1QxKSBTMgorKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTMworKworKyAgICAgICAg ICBFUVVJVkFMRU5DRSAoUzEsUzIpCisrICAgICAgICAgIENPTU1PTiAvQkxPQ0sxLyBTMworKwor KyAgICAgICAgICBTMSVJRCA9IDUKKysgICAgICAgICAgUzElVFlQRSA9IDEwMDAKKysgICAgICAg ICAgUzElREVGVkFMID0gLTk5CisrICAgICAgICAgIFMxJU5BTUUgPSAiSkFORSIKKysgICAgICAg ICAgUzElTklMID0gLkZBTFNFLgorKworKyAgICAgICAgICBJRiAoUzIlSUQuTkUuNSkgU1RPUCAx CisrICAgICAgICAgIElGIChTMiVUWVBFLk5FLjEwMDApIFNUT1AgMgorKyAgICAgICAgICBJRiAo UzIlREVGVkFMLk5FLi05OSkgU1RPUCAzCisrICAgICAgICAgIElGIChTMiVOQU1FLk5FLiJKQU5F IikgU1RPUCA0CisrICAgICAgICAgIElGIChTMiVOSUwuTkVRVi4uRkFMU0UuKSBTVE9QIDUKKysK KysgICAgICAgICAgUzMgPSBTMQorKworKyAgICAgICAgICBDQUxMIEEKKysgICAgICAgICAgCisr ICAgICAgICBFTkQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19h ZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRfMi5mIGIvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kZWNfYWRkX1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0 XzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi44MzUxMmYwZjNh MgorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kZWNfYWRk X1NFUVVFTkNFX3RvX0NPTU1PTl9ibG9ja19ieV9kZWZhdWx0XzIuZgorQEAgLTAsMCArMSw1NyBA QAorKyEgeyBkZy1kbyBydW4gfQorKyEgeyBkZy1vcHRpb25zICItZmRlYy1zZXF1ZW5jZSIgfQor KyEKKyshIFRlc3QgYWRkIGRlZmF1bHQgU0VRVUVOQ0UgYXR0cmlidXRlIGRlcml2ZWQgdHlwZXMg YXBwZWFyaW5nIGluCisrISBDT01NT04gYmxvY2tzIGFuZCBFUVVJVkFMRU5DRSBzdGF0ZW1lbnRz LgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFu Y2lzY28ubWFyY2hlbmFAY29kZXRoaW5rLmNvLnVrPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2ds ZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+CisrIQorKyAgICAgICAgTU9EVUxF IFNFUQorKyAgICAgICAgICBUWVBFIFNUUlVDVDEKKysgICAgICAgICAgICBJTlRFR0VSKjQgICAg IElECisrICAgICAgICAgICAgSU5URUdFUio0ICAgICBUWVBFCisrICAgICAgICAgICAgSU5URUdF Uio4ICAgICBERUZWQUwKKysgICAgICAgICAgICBDSEFSQUNURVIqKDQpIE5BTUUKKysgICAgICAg ICAgICBMT0dJQ0FMKjEgICAgIE5JTAorKyAgICAgICAgICBFTkQgVFlQRSBTVFJVQ1QxCisrICAg ICAgICBFTkQgTU9EVUxFCisrCisrICAgICAgICBTVUJST1VUSU5FIEEKKysgICAgICAgICAgVVNF IFNFUQorKyAgICAgICAgICBUWVBFIChTVFJVQ1QxKSBTCisrICAgICAgICAgIENPTU1PTiAvQkxP Q0sxLyBTCisrICAgICAgICAgIElGIChTJUlELk5FLjUpIFNUT1AgMQorKyAgICAgICAgICBJRiAo UyVUWVBFLk5FLjEwMDApIFNUT1AgMgorKyAgICAgICAgICBJRiAoUyVERUZWQUwuTkUuLTk5KSBT VE9QIDMKKysgICAgICAgICAgSUYgKFMlTkFNRS5ORS4iSkFORSIpIFNUT1AgNAorKyAgICAgICAg ICBJRiAoUyVOSUwuTkVRVi4uRkFMU0UuKSBTVE9QIDUKKysgICAgICAgIEVORCBTVUJST1VUSU5F CisrCisrICAgICAgICBQUk9HUkFNIHNlcXVlbmNlX2F0dF9jb21tb24KKysgICAgICAgICAgVVNF IFNFUQorKyAgICAgICAgICBJTVBMSUNJVCBOT05FCisrICAgICAgICAgIFRZUEUgKFNUUlVDVDEp IFMxCisrICAgICAgICAgIFRZUEUgKFNUUlVDVDEpIFMyCisrICAgICAgICAgIFRZUEUgKFNUUlVD VDEpIFMzCisrCisrICAgICAgICAgIEVRVUlWQUxFTkNFIChTMSxTMikKKysgICAgICAgICAgQ09N TU9OIC9CTE9DSzEvIFMzCisrCisrICAgICAgICAgIFMxJUlEID0gNQorKyAgICAgICAgICBTMSVU WVBFID0gMTAwMAorKyAgICAgICAgICBTMSVERUZWQUwgPSAtOTkKKysgICAgICAgICAgUzElTkFN RSA9ICJKQU5FIgorKyAgICAgICAgICBTMSVOSUwgPSAuRkFMU0UuCisrCisrICAgICAgICAgIElG IChTMiVJRC5ORS41KSBTVE9QIDEKKysgICAgICAgICAgSUYgKFMyJVRZUEUuTkUuMTAwMCkgU1RP UCAyCisrICAgICAgICAgIElGIChTMiVERUZWQUwuTkUuLTk5KSBTVE9QIDMKKysgICAgICAgICAg SUYgKFMyJU5BTUUuTkUuIkpBTkUiKSBTVE9QIDQKKysgICAgICAgICAgSUYgKFMyJU5JTC5ORVFW Li5GQUxTRS4pIFNUT1AgNQorKworKyAgICAgICAgICBTMyA9IFMxCisrCisrICAgICAgICAgIENB TEwgQQorKyAgICAgICAgICAKKysgICAgICAgIEVORAorZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZGVjX2FkZF9TRVFVRU5DRV90b19DT01NT05fYmxvY2tfYnlfZGVmYXVs dF8zLmYgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09N TU9OX2Jsb2NrX2J5X2RlZmF1bHRfMy5mCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAwMDAuLjI2Y2Q1OWY5MDkwCistLS0gL2Rldi9udWxsCisrKysgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2RlY19hZGRfU0VRVUVOQ0VfdG9fQ09NTU9OX2Jsb2NrX2J5X2RlZmF1bHRf My5mCitAQCAtMCwwICsxLDU3IEBACisrISB7IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRp b25zICItZmRlYyAtZm5vLWRlYy1zZXF1ZW5jZSIgfQorKyEKKyshIFRlc3QgYWRkIGRlZmF1bHQg U0VRVUVOQ0UgYXR0cmlidXRlIGRlcml2ZWQgdHlwZXMgYXBwZWFyaW5nIGluCisrISBDT01NT04g YmxvY2tzIGFuZCBFUVVJVkFMRU5DRSBzdGF0ZW1lbnRzLgorKyEKKyshIENvbnRyaWJ1dGVkIGJ5 IEZyYW5jaXNjbyBSZWRvbmRvIE1hcmNoZW5hIDxmcmFuY2lzY28ubWFyY2hlbmFAY29kZXRoaW5r LmNvLnVrPgorKyEgTW9kaWZpZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNv ZGV0aGluay5jb20+CisrIQorKyAgICAgICAgTU9EVUxFIFNFUQorKyAgICAgICAgICBUWVBFIFNU UlVDVDEKKysgICAgICAgICAgICBJTlRFR0VSKjQgICAgIElECisrICAgICAgICAgICAgSU5URUdF Uio0ICAgICBUWVBFCisrICAgICAgICAgICAgSU5URUdFUio4ICAgICBERUZWQUwKKysgICAgICAg ICAgICBDSEFSQUNURVIqKDQpIE5BTUUKKysgICAgICAgICAgICBMT0dJQ0FMKjEgICAgIE5JTAor KyAgICAgICAgICBFTkQgVFlQRSBTVFJVQ1QxCisrICAgICAgICBFTkQgTU9EVUxFCisrCisrICAg ICAgICBTVUJST1VUSU5FIEEKKysgICAgICAgICAgVVNFIFNFUQorKyAgICAgICAgICBUWVBFIChT VFJVQ1QxKSBTICEgeyBkZy1lcnJvciAiRGVyaXZlZCB0eXBlIHZhcmlhYmxlIiB9CisrICAgICAg ICAgIENPTU1PTiAvQkxPQ0sxLyBTCisrICAgICAgICAgIElGIChTJUlELk5FLjUpIFNUT1AgMQor KyAgICAgICAgICBJRiAoUyVUWVBFLk5FLjEwMDApIFNUT1AgMgorKyAgICAgICAgICBJRiAoUyVE RUZWQUwuTkUuLTk5KSBTVE9QIDMKKysgICAgICAgICAgSUYgKFMlTkFNRS5ORS4iSkFORSIpIFNU T1AgNAorKyAgICAgICAgICBJRiAoUyVOSUwuTkVRVi4uRkFMU0UuKSBTVE9QIDUKKysgICAgICAg IEVORCBTVUJST1VUSU5FCisrCisrICAgICAgICBQUk9HUkFNIHNlcXVlbmNlX2F0dF9jb21tb24K KysgICAgICAgICAgVVNFIFNFUQorKyAgICAgICAgICBJTVBMSUNJVCBOT05FCisrICAgICAgICAg IFRZUEUgKFNUUlVDVDEpIFMxCisrICAgICAgICAgIFRZUEUgKFNUUlVDVDEpIFMyCisrICAgICAg ICAgIFRZUEUgKFNUUlVDVDEpIFMzICEgeyBkZy1lcnJvciAiRGVyaXZlZCB0eXBlIHZhcmlhYmxl IiB9CisrCisrICAgICAgICAgIEVRVUlWQUxFTkNFIChTMSxTMikgISB7IGRnLWVycm9yICJEZXJp dmVkIHR5cGUgdmFyaWFibGUiIH0KKysgICAgICAgICAgQ09NTU9OIC9CTE9DSzEvIFMzCisrCisr ICAgICAgICAgIFMxJUlEID0gNQorKyAgICAgICAgICBTMSVUWVBFID0gMTAwMAorKyAgICAgICAg ICBTMSVERUZWQUwgPSAtOTkKKysgICAgICAgICAgUzElTkFNRSA9ICJKQU5FIgorKyAgICAgICAg ICBTMSVOSUwgPSAuRkFMU0UuCisrCisrICAgICAgICAgIElGIChTMiVJRC5ORS41KSBTVE9QIDEK KysgICAgICAgICAgSUYgKFMyJVRZUEUuTkUuMTAwMCkgU1RPUCAyCisrICAgICAgICAgIElGIChT MiVERUZWQUwuTkUuLTk5KSBTVE9QIDMKKysgICAgICAgICAgSUYgKFMyJU5BTUUuTkUuIkpBTkUi KSBTVE9QIDQKKysgICAgICAgICAgSUYgKFMyJU5JTC5ORVFWLi5GQUxTRS4pIFNUT1AgNQorKwor KyAgICAgICAgICBTMyA9IFMxCisrCisrICAgICAgICAgIENBTEwgQQorKyAgICAgICAgICAKKysg ICAgICAgIEVORAorLS0gCisyLjI3LjAKKwoKZGlmZiAtLWdpdCBhL2djYzEyLWZvcnRyYW4tZmxv Z2ljYWwtYXMtaW50ZWdlci5wYXRjaCBiL2djYzEyLWZvcnRyYW4tZmxvZ2ljYWwtYXMtaW50ZWdl ci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWNiZjYwCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjMTItZm9ydHJhbi1mbG9naWNhbC1hcy1pbnRlZ2VyLnBhdGNoCkBA IC0wLDAgKzEsMzA1IEBACitGcm9tIDliNDVmMzA2M2RmZDJiODkzZTc5NjNhNDgyOGMxYjBhZmVj ZGM2OGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIEVnZ2xlc3RvbiA8bWFy a2VnZ2xlc3RvbkBnY2MuZ251Lm9yZz4KK0RhdGU6IEZyaSwgMjIgSmFuIDIwMjEgMTI6NDE6NDYg KzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwMi8xMF0gQ29udmVydCBMT0dJQ0FMIHRvIElOVEVHRVIg Zm9yIGFyaXRobWV0aWMgb3BzLCBhbmQgdmljZQorIHZlcnNhCisKK1dlIGFsbG93IGNvbnZlcnRp bmcgTE9HSUNBTCB0eXBlcyB0byBJTlRFR0VSIHdoZW4gZG9pbmcgYXJpdGhtZXRpYworb3BlcmF0 aW9ucywgYW5kIGNvbnZlcnRpbmcgSU5URUdFUiB0eXBlcyB0byBMT0dJQ0FMIGZvciB1c2UgaW4K K2Jvb2xlYW4gb3BlcmF0aW9ucy4KKworVGhpcyBmZWF0dXJlIGlzIGVuYWJsZWQgd2l0aCB0aGUg LWZsb2dpY2FsLWFzLWludGVnZXIgZmxhZy4KKworTm90ZTogdXNpbmcgdGhpcyBmZWF0dXJlIHdp bGwgZGlzYWJsZSBiaXR3aXNlIGxvZ2ljYWwgb3BlcmF0aW9ucyBlbmFibGVkIGJ5CistZmRlYy4K Ky0tLQorIGdjYy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0 ICsrCisgZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTUg KysrKysrKysrKysrKysrKysrLQorIC4uLi9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVy c2FfMS5mICAgICB8IDMxICsrKysrKysrKysrCisgLi4uL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRf dmljZV92ZXJzYV8yLmYgICAgIHwgMzEgKysrKysrKysrKysKKyAuLi4vbG9naWNhbF90b19pbnRl Z2VyX2FuZF92aWNlX3ZlcnNhXzMuZiAgICAgfCAzMyArKysrKysrKysrKworIC4uLi9sb2dpY2Fs X3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfNC5mICAgICB8IDMzICsrKysrKysrKysrCisgNiBm aWxlcyBjaGFuZ2VkLCAxODYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdlcl9h bmRfdmljZV92ZXJzYV8xLmYKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMi5mCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2Fu ZF92aWNlX3ZlcnNhXzMuZgorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV80LmYKKworZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL2xhbmcub3B0IGIvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKK2luZGV4IDUy YmQ1MjIwNTFlLi5jNGRhMjQ4ZjA3YyAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL2xhbmcub3B0 CisrKysgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAorQEAgLTQ5Nyw2ICs0OTcsMTAgQEAgZmRlYy1z dGF0aWMKKyBGb3J0cmFuIFZhcihmbGFnX2RlY19zdGF0aWMpCisgRW5hYmxlIERFQy1zdHlsZSBT VEFUSUMgYW5kIEFVVE9NQVRJQyBhdHRyaWJ1dGVzLgorIAorK2Zsb2dpY2FsLWFzLWludGVnZXIK KytGb3J0cmFuIFZhcihmbGFnX2xvZ2ljYWxfYXNfaW50ZWdlcikKKytDb252ZXJ0IGZyb20gaW50 ZWdlciB0byBsb2dpY2FsIG9yIGxvZ2ljYWwgdG8gaW50ZWdlciBmb3IgYXJpdGhtZXRpYyBvcGVy YXRpb25zLgorKworIGZkZWZhdWx0LWRvdWJsZS04CisgRm9ydHJhbiBWYXIoZmxhZ19kZWZhdWx0 X2RvdWJsZSkKKyBTZXQgdGhlIGRlZmF1bHQgZG91YmxlIHByZWNpc2lvbiBraW5kIHRvIGFuIDgg Ynl0ZSB3aWRlIHR5cGUuCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jIGIvZ2Nj L2ZvcnRyYW4vcmVzb2x2ZS5jCitpbmRleCBjMDc1ZDBmYTBjNC4uNGI5MGNiNTk5MDIgMTAwNjQ0 CistLS0gYS9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKKysrKyBiL2djYy9mb3J0cmFuL3Jlc29sdmUu YworQEAgLTM5MTUsNyArMzkxNSw2IEBAIGxvb2t1cF91b3BfZnV6enkgKGNvbnN0IGNoYXIgKm9w LCBnZmNfc3ltdHJlZSAqdW9wKQorICAgcmV0dXJuIGdmY19jbG9zZXN0X2Z1enp5X21hdGNoIChv cCwgY2FuZGlkYXRlcyk7CisgfQorIAorLQorIC8qIENhbGxiYWNrIGZpbmRpbmcgYW4gaW1wdXJl IGZ1bmN0aW9uIGFzIGFuIG9wZXJhbmQgdG8gYW4gLmFuZC4gb3IKKyAgICAub3IuICBleHByZXNz aW9uLiAgUmVtZW1iZXIgdGhlIGxhc3QgZnVuY3Rpb24gd2FybmVkIGFib3V0IHRvCisgICAgYXZv aWQgZG91YmxlIHdhcm5pbmdzIHdoZW4gcmVjdXJzaW5nLiAgKi8KK0BAIC0zOTc1LDYgKzM5NzQs MjIgQEAgY29udmVydF9ob2xsZXJpdGhfdG9fY2hhcmFjdGVyIChnZmNfZXhwciAqZSkKKyAgICAg fQorIH0KKyAKKysvKiBJZiBFIGlzIGEgbG9naWNhbCwgY29udmVydCBpdCB0byBhbiBpbnRlZ2Vy IGFuZCBpc3N1ZSBhIHdhcm5pbmcKKysgICBmb3IgdGhlIGNvbnZlcnNpb24uICAqLworKworK3N0 YXRpYyB2b2lkCisrY29udmVydF9pbnRlZ2VyX3RvX2xvZ2ljYWwgKGdmY19leHByICplKQorK3sK KysgIGlmIChlLT50cy50eXBlID09IEJUX0lOVEVHRVIpCisrICAgIHsKKysgICAgICAvKiBDb252 ZXJ0IHRvIExPR0lDQUwgKi8KKysgICAgICBnZmNfdHlwZXNwZWMgdDsKKysgICAgICB0LnR5cGUg PSBCVF9MT0dJQ0FMOworKyAgICAgIHQua2luZCA9IDE7CisrICAgICAgZ2ZjX2NvbnZlcnRfdHlw ZV93YXJuIChlLCAmdCwgMiwgMSk7CisrICAgIH0KKyt9CisrCisgLyogQ29udmVydCB0byBudW1l cmljIGFuZCBpc3N1ZSBhIHdhcm5pbmcgZm9yIHRoZSBjb252ZXJzaW9uLiAgKi8KKyAKKyBzdGF0 aWMgdm9pZAorQEAgLTM5ODcsNiArNDAwMiwyMiBAQCBjb252ZXJ0X3RvX251bWVyaWMgKGdmY19l eHByICphLCBnZmNfZXhwciAqYikKKyAgIGdmY19jb252ZXJ0X3R5cGVfd2FybiAoYSwgJnQsIDIs IDEpOworIH0KKyAKKysvKiBJZiBFIGlzIGEgbG9naWNhbCwgY29udmVydCBpdCB0byBhbiBpbnRl Z2VyIGFuZCBpc3N1ZSBhIHdhcm5pbmcKKysgICBmb3IgdGhlIGNvbnZlcnNpb24uICAqLworKwor K3N0YXRpYyB2b2lkCisrY29udmVydF9sb2dpY2FsX3RvX2ludGVnZXIgKGdmY19leHByICplKQor K3sKKysgIGlmIChlLT50cy50eXBlID09IEJUX0xPR0lDQUwpCisrICAgIHsKKysgICAgICAvKiBD b252ZXJ0IHRvIElOVEVHRVIgKi8KKysgICAgICBnZmNfdHlwZXNwZWMgdDsKKysgICAgICB0LnR5 cGUgPSBCVF9JTlRFR0VSOworKyAgICAgIHQua2luZCA9IDE7CisrICAgICAgZ2ZjX2NvbnZlcnRf dHlwZV93YXJuIChlLCAmdCwgMiwgMSk7CisrICAgIH0KKyt9CisrCisgLyogUmVzb2x2ZSBhbiBv cGVyYXRvciBleHByZXNzaW9uIG5vZGUuICBUaGlzIGNhbiBpbnZvbHZlIHJlcGxhY2luZyB0aGUK KyAgICBvcGVyYXRpb24gd2l0aCBhIHVzZXIgZGVmaW5lZCBmdW5jdGlvbiBjYWxsLiAgKi8KKyAK K0BAIC00MDcyLDYgKzQxMDMsMTIgQEAgcmVzb2x2ZV9vcGVyYXRvciAoZ2ZjX2V4cHIgKmUpCisg ICAgIGNhc2UgSU5UUklOU0lDX1RJTUVTOgorICAgICBjYXNlIElOVFJJTlNJQ19ESVZJREU6Cisg ICAgIGNhc2UgSU5UUklOU0lDX1BPV0VSOgorKyAgICAgIGlmIChmbGFnX2xvZ2ljYWxfYXNfaW50 ZWdlcikKKysJeworKwkgIGNvbnZlcnRfbG9naWNhbF90b19pbnRlZ2VyIChvcDEpOworKwkgIGNv bnZlcnRfbG9naWNhbF90b19pbnRlZ2VyIChvcDIpOworKwl9CisrCisgICAgICAgaWYgKGdmY19u dW1lcmljX3RzICgmb3AxLT50cykgJiYgZ2ZjX251bWVyaWNfdHMgKCZvcDItPnRzKSkKKyAJewor IAkgIGdmY190eXBlX2NvbnZlcnRfYmluYXJ5IChlLCAxKTsKK0BAIC00MTA4LDYgKzQxNDUsMTMg QEAgcmVzb2x2ZV9vcGVyYXRvciAoZ2ZjX2V4cHIgKmUpCisgICAgIGNhc2UgSU5UUklOU0lDX09S OgorICAgICBjYXNlIElOVFJJTlNJQ19FUVY6CisgICAgIGNhc2UgSU5UUklOU0lDX05FUVY6Cisr CisrICAgICAgaWYgKGZsYWdfbG9naWNhbF9hc19pbnRlZ2VyKQorKwl7CisrCSAgY29udmVydF9p bnRlZ2VyX3RvX2xvZ2ljYWwgKG9wMSk7CisrCSAgY29udmVydF9pbnRlZ2VyX3RvX2xvZ2ljYWwg KG9wMik7CisrCX0KKysKKyAgICAgICBpZiAob3AxLT50cy50eXBlID09IEJUX0xPR0lDQUwgJiYg b3AyLT50cy50eXBlID09IEJUX0xPR0lDQUwpCisgCXsKKyAJICBlLT50cy50eXBlID0gQlRfTE9H SUNBTDsKK0BAIC00MTU4LDYgKzQyMDIsOSBAQCByZXNvbHZlX29wZXJhdG9yIChnZmNfZXhwciAq ZSkKKyAJICBnb3RvIHNpbXBsaWZ5X29wOworIAl9CisgCisrICAgICAgaWYgKGZsYWdfbG9naWNh bF9hc19pbnRlZ2VyKQorKwljb252ZXJ0X2ludGVnZXJfdG9fbG9naWNhbCAob3AxKTsKKysKKyAg ICAgICBpZiAob3AxLT50cy50eXBlID09IEJUX0xPR0lDQUwpCisgCXsKKyAJICBlLT50cy50eXBl ID0gQlRfTE9HSUNBTDsKK0BAIC00MTk4LDYgKzQyNDUsMTIgQEAgcmVzb2x2ZV9vcGVyYXRvciAo Z2ZjX2V4cHIgKmUpCisgCSAgY29udmVydF9ob2xsZXJpdGhfdG9fY2hhcmFjdGVyIChvcDIpOwor IAl9CisgCisrICAgICAgaWYgKGZsYWdfbG9naWNhbF9hc19pbnRlZ2VyKQorKwl7CisrCSAgY29u dmVydF9sb2dpY2FsX3RvX2ludGVnZXIgKG9wMSk7CisrCSAgY29udmVydF9sb2dpY2FsX3RvX2lu dGVnZXIgKG9wMik7CisrCX0KKysKKyAgICAgICBpZiAob3AxLT50cy50eXBlID09IEJUX0NIQVJB Q1RFUiAmJiBvcDItPnRzLnR5cGUgPT0gQlRfQ0hBUkFDVEVSCisgCSAgJiYgb3AxLT50cy5raW5k ID09IG9wMi0+dHMua2luZCkKKyAJeworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzEuZiBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzEuZgorbmV3 IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi45MzhhOTFkOWU5YQorLS0tIC9k ZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9sb2dpY2FsX3RvX2ludGVn ZXJfYW5kX3ZpY2VfdmVyc2FfMS5mCitAQCAtMCwwICsxLDMxIEBACisrISB7IGRnLWRvIHJ1biB9 CisrISB7IGRnLW9wdGlvbnMgIi1zdGQ9bGVnYWN5IC1mbG9naWNhbC1hcy1pbnRlZ2VyIiB9Cisr IQorKyEgVGVzdCBjb252ZXJzaW9uIGJldHdlZW4gbG9naWNhbCBhbmQgaW50ZWdlciBmb3IgbG9n aWNhbCBvcGVyYXRvcnMKKyshCisrISBUZXN0IGNhc2UgY29udHJpYnV0ZWQgYnkgSmltIE1hY0Fy dGh1ciA8amltLm1hY2FydGh1ckBjb2RldGhpbmsuY28udWs+CisrISBNb2RpZmllZCBmb3IgLWZs b2dpY2FsLWFzLWludGVnZXIgYnkgTWFyayBFZ2dsZXN0b24KKyshIDxtYXJrLmVnZ2xlc3RvbkBj b2RldGhpbmsuY29tPgorKyEKKysgICAgICAgIFBST0dSQU0gbG9naWNhbF9pbnRlZ2VyX2NvbnZl cnNpb24KKysgICAgICAgICAgTE9HSUNBTCBscG9zIC8udHJ1ZS4vCisrICAgICAgICAgIElOVEVH RVIgaW5lZy8wLworKyAgICAgICAgICBJTlRFR0VSIGlyZXMKKysgICAgICAgICAgTE9HSUNBTCBs cmVzCisrCisrICAgICAgICAgICEgVGVzdCBMb2dpY2FscyBjb252ZXJ0ZWQgdG8gSW50ZWdlcnMK KysgICAgICAgICAgaWYgKChscG9zLkFORC5pbmVnKS5FUS4xKSBTVE9QIDMKKysgICAgICAgICAg aWYgKChpbmVnLkFORC5scG9zKS5ORS4wKSBTVE9QIDQKKysgICAgICAgICAgaXJlcyA9ICgudHJ1 ZS4uQU5ELjApCisrICAgICAgICAgIGlmIChpcmVzLk5FLjApIFNUT1AgNQorKyAgICAgICAgICBp cmVzID0gKDEuQU5ELi5mYWxzZS4pCisrICAgICAgICAgIGlmIChpcmVzLkVRLjEpIFNUT1AgNgor KworKyAgICAgICAgICAhIFRlc3QgSW50ZWdlcnMgY29udmVydGVkIHRvIExvZ2ljYWxzCisrICAg ICAgICAgIGlmIChscG9zLkVRLmluZWcpIFNUT1AgNworKyAgICAgICAgICBpZiAoaW5lZy5FUS5s cG9zKSBTVE9QIDgKKysgICAgICAgICAgbHJlcyA9ICgudHJ1ZS4uRVEuMCkKKysgICAgICAgICAg aWYgKGxyZXMpIFNUT1AgOQorKyAgICAgICAgICBscmVzID0gKDEuRVEuLmZhbHNlLikKKysgICAg ICAgICAgaWYgKGxyZXMpIFNUT1AgMTAKKysgICAgICAgIEVORAorZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzIu ZiBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19pbnRlZ2VyX2FuZF92aWNl X3ZlcnNhXzIuZgorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi45ZjE0 NjIwMmJhNQorLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9s b2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMi5mCitAQCAtMCwwICsxLDMxIEBACisr ISB7IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRpb25zICItc3RkPWxlZ2FjeSAtZmxvZ2lj YWwtYXMtaW50ZWdlciAtZm5vLWxvZ2ljYWwtYXMtaW50ZWdlciIgfQorKyEKKyshIEJhc2VkIG9u IGxvZ2ljYWxfdG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV8xLmYgYnV0IHdpdGggb3B0aW9uIGRp c2FibGVkCisrISB0byB0ZXN0IGZvciBlcnJvciBtZXNzYWdlcy4KKyshCisrISBUZXN0IGNhc2Ug Y29udHJpYnV0ZWQgYnkgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGlu ay5jb20+CisrIQorKyEKKysgICAgICAgIFBST0dSQU0gbG9naWNhbF9pbnRlZ2VyX2NvbnZlcnNp b24KKysgICAgICAgICAgTE9HSUNBTCBscG9zIC8udHJ1ZS4vCisrICAgICAgICAgIElOVEVHRVIg aW5lZy8wLworKyAgICAgICAgICBJTlRFR0VSIGlyZXMKKysgICAgICAgICAgTE9HSUNBTCBscmVz CisrCisrICAgICAgICAgICEgVGVzdCBMb2dpY2FscyBjb252ZXJ0ZWQgdG8gSW50ZWdlcnMKKysg ICAgICAgICAgaWYgKChscG9zLkFORC5pbmVnKS5FUS4xKSBTVE9QIDMgISB7IGRnLWVycm9yICJP cGVyYW5kcyBvZiBsb2dpY2FsIG9wZXJhdG9yIiB9CisrICAgICAgICAgIGlmICgoaW5lZy5BTkQu bHBvcykuTkUuMCkgU1RPUCA0ICEgeyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgbG9naWNhbCBvcGVy YXRvciIgfQorKyAgICAgICAgICBpcmVzID0gKC50cnVlLi5BTkQuMCkgISB7IGRnLWVycm9yICJP cGVyYW5kcyBvZiBsb2dpY2FsIG9wZXJhdG9yIiB9CisrICAgICAgICAgIGlmIChpcmVzLk5FLjAp IFNUT1AgNQorKyAgICAgICAgICBpcmVzID0gKDEuQU5ELi5mYWxzZS4pICEgeyBkZy1lcnJvciAi T3BlcmFuZHMgb2YgbG9naWNhbCBvcGVyYXRvciIgfQorKyAgICAgICAgICBpZiAoaXJlcy5FUS4x KSBTVE9QIDYKKysKKysgICAgICAgICAgISBUZXN0IEludGVnZXJzIGNvbnZlcnRlZCB0byBMb2dp Y2FscworKyAgICAgICAgICBpZiAobHBvcy5FUS5pbmVnKSBTVE9QIDcgISB7IGRnLWVycm9yICJP cGVyYW5kcyBvZiBjb21wYXJpc29uIG9wZXJhdG9yIiB9CisrICAgICAgICAgIGlmIChpbmVnLkVR Lmxwb3MpIFNUT1AgOCAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGNvbXBhcmlzb24gb3BlcmF0 b3IiIH0KKysgICAgICAgICAgbHJlcyA9ICgudHJ1ZS4uRVEuMCkgISB7IGRnLWVycm9yICJPcGVy YW5kcyBvZiBjb21wYXJpc29uIG9wZXJhdG9yIiB9CisrICAgICAgICAgIGlmIChscmVzKSBTVE9Q IDkKKysgICAgICAgICAgbHJlcyA9ICgxLkVRLi5mYWxzZS4pICEgeyBkZy1lcnJvciAiT3BlcmFu ZHMgb2YgY29tcGFyaXNvbiBvcGVyYXRvciIgfQorKyAgICAgICAgICBpZiAobHJlcykgU1RPUCAx MAorKyAgICAgICAgRU5ECitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9s b2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMy5mIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9sb2dpY2FsX3RvX2ludGVnZXJfYW5kX3ZpY2VfdmVyc2FfMy5mCituZXcgZmlsZSBt b2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMDAuLjQ0Njg3M2ViMmRjCistLS0gL2Rldi9udWxs CisrKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRf dmljZV92ZXJzYV8zLmYKK0BAIC0wLDAgKzEsMzMgQEAKKyshIHsgZGctZG8gY29tcGlsZSB9Cisr ISB7IGRnLW9wdGlvbnMgIi1zdGQ9bGVnYWN5IC1mbG9naWNhbC1hcy1pbnRlZ2VyIiB9CisrIQor KyEgVGVzdCBjb252ZXJzaW9uIGJldHdlZW4gbG9naWNhbCBhbmQgaW50ZWdlciBmb3IgbG9naWNh bCBvcGVyYXRvcnMKKyshCisrICAgICAgICBwcm9ncmFtIHRlc3QKKysgICAgICAgICAgbG9naWNh bCBmIC8uZmFsc2UuLworKyAgICAgICAgICBsb2dpY2FsIHQgLy50cnVlLi8KKysgICAgICAgICAg cmVhbCB4CisrCisrICAgICAgICAgIHggPSA3LjcKKysgICAgICAgICAgeCA9IHggKyB0KjMuMAor KyAgICAgICAgICBpZiAoYWJzKHggLSAxMC43KS5ndC4wLjAwMDAxKSBzdG9wIDEKKysgICAgICAg ICAgeCA9IHggKyAuZmFsc2UuKjUuMAorKyAgICAgICAgICBpZiAoYWJzKHggLSAxMC43KS5ndC4w LjAwMDAxKSBzdG9wIDIKKysgICAgICAgICAgeCA9IHggLSAudHJ1ZS4qNS4wCisrICAgICAgICAg IGlmIChhYnMoeCAtIDUuNykuZ3QuMC4wMDAwMSkgc3RvcCAzCisrICAgICAgICAgIHggPSB4ICsg dAorKyAgICAgICAgICBpZiAoYWJzKHggLSA2LjcpLmd0LjAuMDAwMDEpIHN0b3AgNAorKyAgICAg ICAgICB4ID0geCArIGYKKysgICAgICAgICAgaWYgKGFicyh4IC0gNi43KS5ndC4wLjAwMDAxKSBz dG9wIDUKKysgICAgICAgICAgeCA9IHggLSB0CisrICAgICAgICAgIGlmIChhYnMoeCAtIDUuNyku Z3QuMC4wMDAwMSkgc3RvcCA2CisrICAgICAgICAgIHggPSB4IC0gZgorKyAgICAgICAgICBpZiAo YWJzKHggLSA1LjcpLmd0LjAuMDAwMDEpIHN0b3AgNworKyAgICAgICAgICB4ID0geCoqLnRydWUu CisrICAgICAgICAgIGlmIChhYnMoeCAtIDUuNykuZ3QuMC4wMDAwMSkgc3RvcCA4CisrICAgICAg ICAgIHggPSB4KiouZmFsc2UuCisrICAgICAgICAgIGlmIChhYnMoeCAtIDEuMCkuZ3QuMC4wMDAw MSkgc3RvcCA5CisrICAgICAgICAgIHggPSB4L3QKKysgICAgICAgICAgaWYgKGFicyh4IC0gMS4w KS5ndC4wLjAwMDAxKSBzdG9wIDEwCisrICAgICAgICAgIGlmICgoeC8uZmFsc2UuKS5sZS5odWdl KHgpKSBzdG9wIDExCisrICAgICAgICBlbmQKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV80LmYgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2xvZ2ljYWxfdG9faW50ZWdlcl9hbmRfdmljZV92ZXJzYV80LmYK K25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uNDMwMWE0OTg4ZDgKKy0t LSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvbG9naWNhbF90b19p bnRlZ2VyX2FuZF92aWNlX3ZlcnNhXzQuZgorQEAgLTAsMCArMSwzMyBAQAorKyEgeyBkZy1kbyBj b21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLXN0ZD1sZWdhY3kgLWZsb2dpY2FsLWFzLWludGVn ZXIgLWZuby1sb2dpY2FsLWFzLWludGVnZXIiIH0KKyshCisrISBUZXN0IGNvbnZlcnNpb24gYmV0 d2VlbiBsb2dpY2FsIGFuZCBpbnRlZ2VyIGZvciBsb2dpY2FsIG9wZXJhdG9ycworKyEKKysgICAg ICAgIHByb2dyYW0gdGVzdAorKyAgICAgICAgICBsb2dpY2FsIGYgLy5mYWxzZS4vCisrICAgICAg ICAgIGxvZ2ljYWwgdCAvLnRydWUuLworKyAgICAgICAgICByZWFsIHgKKysKKysgICAgICAgICAg eCA9IDcuNworKyAgICAgICAgICB4ID0geCArIHQqMy4wICEgeyBkZy1lcnJvciAiT3BlcmFuZHMg b2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAgICAgICAgaWYgKGFicyh4IC0gMTAuNykuZ3QuMC4w MDAwMSkgc3RvcCAxCisrICAgICAgICAgIHggPSB4ICsgLmZhbHNlLio1LjAgISB7IGRnLWVycm9y ICJPcGVyYW5kcyBvZiBiaW5hcnkgbnVtZXJpYyIgfQorKyAgICAgICAgICBpZiAoYWJzKHggLSAx MC43KS5ndC4wLjAwMDAxKSBzdG9wIDIKKysgICAgICAgICAgeCA9IHggLSAudHJ1ZS4qNS4wICEg eyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAgICAgICAgaWYg KGFicyh4IC0gNS43KS5ndC4wLjAwMDAxKSBzdG9wIDMKKysgICAgICAgICAgeCA9IHggKyB0ICEg eyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAgICAgICAgaWYg KGFicyh4IC0gNi43KS5ndC4wLjAwMDAxKSBzdG9wIDQKKysgICAgICAgICAgeCA9IHggKyBmICEg eyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAgICAgICAgaWYg KGFicyh4IC0gNi43KS5ndC4wLjAwMDAxKSBzdG9wIDUKKysgICAgICAgICAgeCA9IHggLSB0ICEg eyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAgICAgICAgaWYg KGFicyh4IC0gNS43KS5ndC4wLjAwMDAxKSBzdG9wIDYKKysgICAgICAgICAgeCA9IHggLSBmICEg eyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAgICAgICAgaWYg KGFicyh4IC0gNS43KS5ndC4wLjAwMDAxKSBzdG9wIDcKKysgICAgICAgICAgeCA9IHgqKi50cnVl LiAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGJpbmFyeSBudW1lcmljIiB9CisrICAgICAgICAg IGlmIChhYnMoeCAtIDUuNykuZ3QuMC4wMDAwMSkgc3RvcCA4CisrICAgICAgICAgIHggPSB4Kiou ZmFsc2UuICEgeyBkZy1lcnJvciAiT3BlcmFuZHMgb2YgYmluYXJ5IG51bWVyaWMiIH0KKysgICAg ICAgICAgaWYgKGFicyh4IC0gMS4wKS5ndC4wLjAwMDAxKSBzdG9wIDkKKysgICAgICAgICAgeCA9 IHgvdCAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9mIGJpbmFyeSBudW1lcmljIiB9CisrICAgICAg ICAgIGlmIChhYnMoeCAtIDEuMCkuZ3QuMC4wMDAwMSkgc3RvcCAxMAorKyAgICAgICAgICBpZiAo KHgvLmZhbHNlLikubGUuaHVnZSh4KSkgc3RvcCAxMSAhIHsgZGctZXJyb3IgIk9wZXJhbmRzIG9m IGJpbmFyeSBudW1lcmljIiB9CisrICAgICAgICBlbmQKKy0tIAorMi4yNy4wCisKCmRpZmYgLS1n aXQgYS9nY2MxMi1oYWNrLnBhdGNoIGIvZ2NjMTItaGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi4zYTVmM2YzCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTItaGFj ay5wYXRjaApAQCAtMCwwICsxLDEyNiBAQAorLS0tIGxpYmFkYS9NYWtlZmlsZS5pbi5qagkyMDE5 LTAxLTA5IDEzOjAxOjE4LjAxNTYwODIwNSArMDEwMAorKysrIGxpYmFkYS9NYWtlZmlsZS5pbgky MDE5LTAxLTExIDE4OjE2OjIzLjQ0MTcyNjkzMSArMDEwMAorQEAgLTcxLDE4ICs3MSw0MCBAQCB2 ZXJzaW9uIDo9ICQoc2hlbGwgQGdldF9nY2NfYmFzZV92ZXJAICQoCisgbGlic3ViZGlyIDo9ICQo bGliZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2FsKS8kKHZlcnNpb24pJChNVUxUSVNVQkRJ UikKKyBBREFfUlRTX0RJUj0kKEdDQ19ESVIpL2FkYS9ydHMkKHN1YnN0IC8sXywkKE1VTFRJU1VC RElSKSkKKyAKKytERUZBVUxUTVVMVElGTEFHUyA6PQorK2lmZXEgKCQoTVVMVElTVUJESVIpLCkK Kyt0YXJnOj0kKHN1YnN0IC0sICwkKHRhcmdldCkpCisrYXJjaDo9JCh3b3JkIDEsJCh0YXJnKSkK KytpZmVxICgkKHdvcmRzICQodGFyZykpLDIpCisrb3N5czo9JCh3b3JkIDIsJCh0YXJnKSkKKytl bHNlCisrb3N5czo9JCh3b3JkIDMsJCh0YXJnKSkKKytlbmRpZgorK2lmZXEgKCQoc3RyaXAgJChm aWx0ZXItb3V0IGklODYgeDg2XzY0IHBvd2VycGMlIHBwYyUgczM5MCUgc3BhcmMlIGxpbnV4JSwg JChhcmNoKSAkKG9zeXMpKSksKQorK2lmZXEgKCQoc2hlbGwgJChDQykgJChDRkxBR1MpIC1wcmlu dC1tdWx0aS1vcy1kaXJlY3RvcnkpLC4uL2xpYjY0KQorK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1t NjQKKytlbHNlCisraWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgczM5MCUsICQoYXJjaCkpKSwp CisrREVGQVVMVE1VTFRJRkxBR1MgOj0gLW0zMQorK2Vsc2UKKytERUZBVUxUTVVMVElGTEFHUyA6 PSAtbTMyCisrZW5kaWYKKytlbmRpZgorK2VuZGlmCisrZW5kaWYKKysKKyAjIGV4ZWV4dCBzaG91 bGQgbm90IGJlIHVzZWQgYmVjYXVzZSBpdCdzIHRoZSAqaG9zdCogZXhlZXh0LiAgV2UncmUgYnVp bGRpbmcKKyAjIGEgKnRhcmdldCogbGlicmFyeSwgYXJlbid0IHdlPyE/ICBMaWtld2lzZSBmb3Ig Q0MuICBTdGlsbCwgcHJvdmlkZSBib2d1cworICMgZGVmaW5pdGlvbnMganVzdCBpbiBjYXNlIHNv bWV0aGluZyBzbGlwcyB0aHJvdWdoIHRoZSBzYWZldHkgbmV0IHByb3ZpZGVkCisgIyBieSByZWN1 cnNpdmUgbWFrZSBpbnZvY2F0aW9ucyBpbiBnY2MvYWRhL01ha2VmaWxlLmluCisgTElCQURBX0ZM QUdTX1RPX1BBU1MgPSBcCisgICAgICAgICAiTUFLRU9WRVJSSURFUz0iIFwKKy0gICAgICAgICJM REZMQUdTPSQoTERGTEFHUykiIFwKKysgICAgICAgICJMREZMQUdTPSQoTERGTEFHUykgJChERUZB VUxUTVVMVElGTEFHUykiIFwKKyAgICAgICAgICJMTl9TPSQoTE5fUykiIFwKKyAgICAgICAgICJT SEVMTD0kKFNIRUxMKSIgXAorLSAgICAgICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFHUykg JChNVUxUSUZMQUdTKSIgXAorLSAgICAgICAgIkdOQVRMSUJDRkxBR1M9JChHTkFUTElCQ0ZMQUdT KSAkKE1VTFRJRkxBR1MpIiBcCistICAgICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRM SUJDRkxBR1NfRk9SX0MpICQoTVVMVElGTEFHUykiIFwKKysgICAgICAgICJHTkFUTElCRkxBR1M9 JChHTkFUTElCRkxBR1MpICQoTVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKKysg ICAgICAgICJHTkFUTElCQ0ZMQUdTPSQoR05BVExJQkNGTEFHUykgJChNVUxUSUZMQUdTKSAkKERF RkFVTFRNVUxUSUZMQUdTKSIgXAorKyAgICAgICAgIkdOQVRMSUJDRkxBR1NfRk9SX0M9JChHTkFU TElCQ0ZMQUdTX0ZPUl9DKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1MpIiBcCisg ICAgICAgICAiUElDRkxBR19GT1JfVEFSR0VUPSQoUElDRkxBRykiIFwKKyAgICAgICAgICJUSFJF QURfS0lORD0kKFRIUkVBRF9LSU5EKSIgXAorICAgICAgICAgIlRSQUNFPSQoVFJBQ0UpIiBcCitA QCAtOTMsNyArMTE1LDcgQEAgTElCQURBX0ZMQUdTX1RPX1BBU1MgPSBcCisgICAgICAgICAiZXhl ZXh0PS5leGVleHQuc2hvdWxkLm5vdC5iZS51c2VkICIgXAorIAknQ0M9dGhlLmhvc3QuY29tcGls ZXIuc2hvdWxkLm5vdC5iZS5uZWVkZWQnIFwKKyAJIkdDQ19GT1JfVEFSR0VUPSQoQ0MpIiBcCist ICAgICAgICAiQ0ZMQUdTPSQoQ0ZMQUdTKSIKKysgICAgICAgICJDRkxBR1M9JChDRkxBR1MpICQo REVGQVVMVE1VTFRJRkxBR1MpIgorIAorIC5QSE9OWTogbGliYWRhIGduYXRsaWIgZ25hdGxpYi1z aGFyZWQgZ25hdGxpYi1zamxqIGduYXRsaWItemN4IG9zY29uc3Rvb2wKKyAKKy0tLSBjb25maWct bWwuaW4uamoJMjAxOS0wMS0wOSAxMjo1MDoxNi42NDY1MDE0NDggKzAxMDAKKysrKyBjb25maWct bWwuaW4JMjAxOS0wMS0xMSAxODoxNjoyMy40NDI3MjY5MTQgKzAxMDAKK0BAIC01MTEsNiArNTEx LDggQEAgbXVsdGktZG86CisgCQkJCUFEQUZMQUdTPSIkKEFEQUZMQUdTKSAkJHtmbGFnc30iIFwK KyAJCQkJcHJlZml4PSIkKHByZWZpeCkiIFwKKyAJCQkJZXhlY19wcmVmaXg9IiQoZXhlY19wcmVm aXgpIiBcCisrCQkJCW1hbmRpcj0iJChtYW5kaXIpIiBcCisrCQkJCWluZm9kaXI9IiQoaW5mb2Rp cikiIFwKKyAJCQkJR09DRkxBR1M9IiQoR09DRkxBR1MpICQke2ZsYWdzfSIgXAorIAkJCQlHRENG TEFHUz0iJChHRENGTEFHUykgJCR7ZmxhZ3N9IiBcCisgCQkJCUNYWEZMQUdTPSIkKENYWEZMQUdT KSAkJHtmbGFnc30iIFwKKy0tLSBsaWJjcHAvbWFjcm8uYy5qagkyMDE5LTAxLTA5IDEzOjAxOjIx LjQyMDU1MjEyMyArMDEwMAorKysrIGxpYmNwcC9tYWNyby5jCTIwMTktMDEtMTEgMTg6MTg6MTcu NzM2ODc2Mjg1ICswMTAwCitAQCAtMzI1Niw4ICszMjU2LDYgQEAgc3RhdGljIGNwcF9tYWNybyAq CisgY3JlYXRlX2lzb19kZWZpbml0aW9uIChjcHBfcmVhZGVyICpwZmlsZSkKKyB7CisgICBib29s IGZvbGxvd2luZ19wYXN0ZV9vcCA9IGZhbHNlOworLSAgY29uc3QgY2hhciAqcGFzdGVfb3BfZXJy b3JfbXNnID0KKy0gICAgTl8oIicjIycgY2Fubm90IGFwcGVhciBhdCBlaXRoZXIgZW5kIG9mIGEg bWFjcm8gZXhwYW5zaW9uIik7CisgICB1bnNpZ25lZCBpbnQgbnVtX2V4dHJhX3Rva2VucyA9IDA7 CisgICB1bnNpZ25lZCBucGFybXMgPSAwOworICAgY3BwX2hhc2hub2RlICoqcGFyYW1zID0gTlVM TDsKK0BAIC0zMzgyLDcgKzMzODAsOSBAQCBjcmVhdGVfaXNvX2RlZmluaXRpb24gKGNwcF9yZWFk ZXIgKnBmaWxlCisgCSAgICAgZnVuY3Rpb24tbGlrZSBtYWNyb3MsIGJ1dCBub3QgYXQgdGhlIGVu ZC4gICovCisgCSAgaWYgKGZvbGxvd2luZ19wYXN0ZV9vcCkKKyAJICAgIHsKKy0JICAgICAgY3Bw X2Vycm9yIChwZmlsZSwgQ1BQX0RMX0VSUk9SLCBwYXN0ZV9vcF9lcnJvcl9tc2cpOworKwkgICAg ICBjcHBfZXJyb3IgKHBmaWxlLCBDUFBfRExfRVJST1IsCisrCQkJICInIyMnIGNhbm5vdCBhcHBl YXIgYXQgZWl0aGVyIGVuZCBvZiBhIG1hY3JvICIKKysJCQkgImV4cGFuc2lvbiIpOworIAkgICAg ICBnb3RvIG91dDsKKyAJICAgIH0KKyAJICBpZiAoIXZhb3B0X3RyYWNrZXIuY29tcGxldGVkICgp KQorQEAgLTMzOTcsNyArMzM5Nyw5IEBAIGNyZWF0ZV9pc29fZGVmaW5pdGlvbiAoY3BwX3JlYWRl ciAqcGZpbGUKKyAJICAgICBmdW5jdGlvbi1saWtlIG1hY3JvcywgYnV0IG5vdCBhdCB0aGUgYmVn aW5uaW5nLiAgKi8KKyAJICBpZiAobWFjcm8tPmNvdW50ID09IDEpCisgCSAgICB7CistCSAgICAg IGNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwgcGFzdGVfb3BfZXJyb3JfbXNnKTsKKysJ ICAgICAgY3BwX2Vycm9yIChwZmlsZSwgQ1BQX0RMX0VSUk9SLAorKwkJCSAiJyMjJyBjYW5ub3Qg YXBwZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBtYWNybyAiCisrCQkJICJleHBhbnNpb24iKTsKKyAJ ICAgICAgZ290byBvdXQ7CisgCSAgICB9CisgCistLS0gbGliY3BwL2V4cHIuYy5qagkyMDE5LTAx LTA5IDEzOjAxOjIyLjQxNTUzNTczNCArMDEwMAorKysrIGxpYmNwcC9leHByLmMJMjAxOS0wMS0x MSAxODoxNjoyMy40NDQ3MjY4ODIgKzAxMDAKK0BAIC04MDMsMTYgKzgwMywxNyBAQCBjcHBfY2xh c3NpZnlfbnVtYmVyIChjcHBfcmVhZGVyICpwZmlsZSwKKyAgICAgICBpZiAoKHJlc3VsdCAmIENQ UF9OX1dJRFRIKSA9PSBDUFBfTl9MQVJHRQorIAkgICYmIENQUF9PUFRJT04gKHBmaWxlLCBjcHBf d2Fybl9sb25nX2xvbmcpKQorICAgICAgICAgeworLSAgICAgICAgICBjb25zdCBjaGFyICptZXNz YWdlID0gQ1BQX09QVElPTiAocGZpbGUsIGNwbHVzcGx1cykgCistCQkJCT8gTl8oInVzZSBvZiBD KysxMSBsb25nIGxvbmcgaW50ZWdlciBjb25zdGFudCIpCistCQkgICAgICAgICAgICAgICAgOiBO XygidXNlIG9mIEM5OSBsb25nIGxvbmcgaW50ZWdlciBjb25zdGFudCIpOworLQorIAkgIGlmIChD UFBfT1BUSU9OIChwZmlsZSwgYzk5KSkKKyAgICAgICAgICAgICBjcHBfd2FybmluZ193aXRoX2xp bmUgKHBmaWxlLCBDUFBfV19MT05HX0xPTkcsIHZpcnR1YWxfbG9jYXRpb24sCistCQkJCSAgIDAs IG1lc3NhZ2UpOworKwkJCQkgICAwLCBDUFBfT1BUSU9OIChwZmlsZSwgY3BsdXNwbHVzKQorKwkJ CQkgICAgICA/IE5fKCJ1c2Ugb2YgQysrMTEgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQiKQor KwkJCQkgICAgICA6IE5fKCJ1c2Ugb2YgQzk5IGxvbmcgbG9uZyBpbnRlZ2VyIGNvbnN0YW50Iikp OworICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgY3BwX3BlZHdhcm5pbmdfd2l0aF9saW5l IChwZmlsZSwgQ1BQX1dfTE9OR19MT05HLAorLQkJCQkgICAgICB2aXJ0dWFsX2xvY2F0aW9uLCAw LCBtZXNzYWdlKTsKKysJCQkJICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwKKysJCQkJICAgICAg Q1BQX09QVElPTiAocGZpbGUsIGNwbHVzcGx1cykKKysJCQkJICAgICAgPyBOXygidXNlIG9mIEMr KzExIGxvbmcgbG9uZyBpbnRlZ2VyIGNvbnN0YW50IikKKysJCQkJICAgICAgOiBOXygidXNlIG9m IEM5OSBsb25nIGxvbmcgaW50ZWdlciBjb25zdGFudCIpKTsKKyAgICAgICAgIH0KKyAKKyAgICAg ICBpZiAoKHJlc3VsdCAmIENQUF9OX1NJWkVfVCkgPT0gQ1BQX05fU0laRV9UCgpkaWZmIC0tZ2l0 IGEvZ2NjMTItaXNsLWRsLnBhdGNoIGIvZ2NjMTItaXNsLWRsLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzOTgyZjkKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MxMi1p c2wtZGwucGF0Y2gKQEAgLTAsMCArMSw3MTYgQEAKKy0tLSBnY2MvTWFrZWZpbGUuaW4uamoJMjAx NS0wNi0wNiAxMDowMDoyNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvTWFrZWZpbGUuaW4JMjAx NS0xMS0wNCAxNDo1NjowMi42NDM1MzY0MzcgKzAxMDAKK0BAIC0xMDYzLDcgKzEwNjMsNyBAQCBC VUlMRF9MSUJERVBTPSAkKEJVSUxEX0xJQklCRVJUWSkKKyAjIGFuZCB0aGUgc3lzdGVtJ3MgaW5z dGFsbGVkIGxpYnJhcmllcy4KKyBMSUJTID0gQExJQlNAIGxpYmNvbW1vbi5hICQoQ1BQTElCKSAk KExJQklOVEwpICQoTElCSUNPTlYpICQoTElCQkFDS1RSQUNFKSBcCisgCSQoTElCSUJFUlRZKSAk KExJQkRFQ05VTUJFUikgJChIT1NUX0xJQlMpCistQkFDS0VORExJQlMgPSAkKElTTExJQlMpICQo R01QTElCUykgJChQTFVHSU5MSUJTKSAkKEhPU1RfTElCUykgXAorK0JBQ0tFTkRMSUJTID0gJChp ZiAkKElTTExJQlMpLC1sZGwpICQoR01QTElCUykgJChQTFVHSU5MSUJTKSAkKEhPU1RfTElCUykg XAorIAkkKFpMSUIpICQoWlNURF9MSUIpCisgIyBBbnkgc3lzdGVtIGxpYnJhcmllcyBuZWVkZWQg anVzdCBmb3IgR05BVC4KKyBTWVNMSUJTID0gQEdOQVRfTElCRVhDQAorQEAgLTIzMDIsNiArMjMw MiwxNSBAQCAkKG91dF9vYmplY3RfZmlsZSk6ICQob3V0X2ZpbGUpCisgJChjb21tb25fb3V0X29i amVjdF9maWxlKTogJChjb21tb25fb3V0X2ZpbGUpCisgCSQoQ09NUElMRSkgJDwKKyAJJChQT1NU Q09NUElMRSkKKysKKytncmFwaGl0ZSUubyA6IFwKKysgIEFMTF9DRkxBR1MgOj0gLU8gJChmaWx0 ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DRkxBR1MpKQorK2dyYXBoaXRl Lm8gOiBcCisrICBBTExfQ0ZMQUdTIDo9IC1PICQoZmlsdGVyLW91dCAtZmtlZXAtaW5saW5lLWZ1 bmN0aW9ucywgJChBTExfQ0ZMQUdTKSkKKytncmFwaGl0ZSUubyA6IFwKKysgIEFMTF9DWFhGTEFH UyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NYWEZM QUdTKSkKKytncmFwaGl0ZS5vIDogXAorKyAgQUxMX0NYWEZMQUdTIDo9IC1PICQoZmlsdGVyLW91 dCAtZmtlZXAtaW5saW5lLWZ1bmN0aW9ucywgJChBTExfQ1hYRkxBR1MpKQorICMMCisgIyBHZW5l cmF0ZSBoZWFkZXIgYW5kIHNvdXJjZSBmaWxlcyBmcm9tIHRoZSBtYWNoaW5lIGRlc2NyaXB0aW9u LAorICMgYW5kIGNvbXBpbGUgdGhlbS4KKy0tLSBnY2MvZ3JhcGhpdGUuaC5qagkyMDE2LTAxLTI3 IDEyOjQ0OjA2LjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9ncmFwaGl0ZS5oCTIwMTYtMDEtMjcg MTM6MjY6MzguMzA5ODc2ODU2ICswMTAwCitAQCAtMjQsNiArMjQsNTkxIEBAIGFsb25nIHdpdGgg R0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuCisgCisgI2luY2x1ZGUgInNlc2UuaCIKKyAKKysj aW5jbHVkZSA8aXNsL3ZlcnNpb24uaD4KKysjaW5jbHVkZSA8ZGxmY24uaD4KKysKKysjZGVmaW5l IERZTlNZTVMgXAorKyAgRFlOU1lNIChpc2xfYWZmX2FkZF9jb2VmZmljaWVudF9zaSk7IFwKKysg IERZTlNZTSAoaXNsX2FmZl9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfYWZmX2dldF9zcGFjZSk7 IFwKKysgIERZTlNZTSAoaXNsX2FmZl9zZXRfY29lZmZpY2llbnRfc2kpOyBcCisrICBEWU5TWU0g KGlzbF9hZmZfc2V0X2NvbnN0YW50X3NpKTsgXAorKyAgRFlOU1lNIChpc2xfYWZmX3plcm9fb25f ZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xf YmFuZF9nZXRfY2hpbGRyZW4pOyBcCisrICBEWU5TWU0gKGlzbF9iYW5kX2dldF9wYXJ0aWFsX3Nj aGVkdWxlKTsgXAorKyAgRFlOU1lNIChpc2xfYmFuZF9oYXNfY2hpbGRyZW4pOyBcCisrICBEWU5T WU0gKGlzbF9iYW5kX2xpc3RfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX2JhbmRfbGlzdF9nZXRf YmFuZCk7IFwKKysgIERZTlNZTSAoaXNsX2JhbmRfbGlzdF9nZXRfY3R4KTsgXAorKyAgRFlOU1lN IChpc2xfYmFuZF9saXN0X25fYmFuZCk7IFwKKysgIERZTlNZTSAoaXNsX2JhbmRfbl9tZW1iZXIp OyBcCisrICBEWU5TWU0gKGlzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQpOyBcCisrICBEWU5T WU0gKGlzbF9iYXNpY19tYXBfcHJvamVjdF9vdXQpOyBcCisrICBEWU5TWU0gKGlzbF9iYXNpY19t YXBfdW5pdmVyc2UpOyBcCisrICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVu dF9zaSk7IFwKKysgIERZTlNZTSAoaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpKTsgXAor KyAgRFlOU1lNIChpc2xfY3R4X2FsbG9jKTsgXAorKyAgRFlOU1lNIChpc2xfY3R4X2ZyZWUpOyBc CisrICBEWU5TWU0gKGlzbF9lcXVhbGl0eV9hbGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX2lkX2Fs bG9jKTsgXAorKyAgRFlOU1lNIChpc2xfaWRfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX2lkX2Zy ZWUpOyBcCisrICBEWU5TWU0gKGlzbF9pbmVxdWFsaXR5X2FsbG9jKTsgXAorKyAgRFlOU1lNIChp c2xfbG9jYWxfc3BhY2VfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX2ZyZWUp OyBcCisrICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFjZV9mcm9tX3NwYWNlKTsgXAorKyAgRFlOU1lN IChpc2xfbG9jYWxfc3BhY2VfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfYWRkX2NvbnN0 cmFpbnQpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfYWRkX2RpbXMpOyBcCisrICBEWU5TWU0gKGlz bF9tYXBfYWxpZ25fcGFyYW1zKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2FwcGx5X3JhbmdlKTsg XAorKyAgRFlOU1lNIChpc2xfbWFwX2NvcHkpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZGltKTsg XAorKyAgRFlOU1lNIChpc2xfbWFwX2R1bXApOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZXF1YXRl KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2ZpeF9zaSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9m bGF0X3Byb2R1Y3QpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0KTsg XAorKyAgRFlOU1lNIChpc2xfbWFwX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZnJvbV9i YXNpY19tYXApOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZnJvbV9wd19hZmYpOyBcCisrICBEWU5T WU0gKGlzbF9tYXBfZnJvbV91bmlvbl9tYXApOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfZ2V0X2N0 eCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9nZXRfc3BhY2UpOyBcCisrICBEWU5TWU0gKGlzbF9t YXBfZ2V0X3R1cGxlX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2luc2VydF9kaW1zKTsgXAor KyAgRFlOU1lNIChpc2xfbWFwX2ludGVyc2VjdCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9pbnRl cnNlY3RfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2ludGVyc2VjdF9yYW5nZSk7IFwK KysgIERZTlNZTSAoaXNsX21hcF9pc19lbXB0eSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9sZXhf Z2UpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfbGV4X2xlKTsgXAorKyAgRFlOU1lNIChpc2xfbWFw X25fb3V0KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xf bWFwX3NldF90dXBsZV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF91bml2ZXJzZSk7IFwKKysg IERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X29uX2Vycm9yKTsgXAorKyAgRFlOU1lNIChpc2xfb3B0 aW9uc19zZXRfc2NoZWR1bGVfc2VyaWFsaXplX3NjY3MpOyBcCisrICBEWU5TWU0gKGlzbF9wcmlu dGVyX3NldF95YW1sX3N0eWxlKTsgXAorKyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRfc2NoZWR1 bGVfbWF4X2NvbnN0YW50X3Rlcm0pOyBcCisrICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hl ZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoKTsgXAorKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9mcmVl KTsgXAorKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9hZmYpOyBcCisrICBEWU5TWU0gKGlz bF9wcmludGVyX3ByaW50X2NvbnN0cmFpbnQpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX3By aW50X21hcCk7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfc2V0KTsgXAorKyAgRFlO U1lNIChpc2xfcHJpbnRlcl90b19maWxlKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2FkZCk7 IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9hbGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2Fm Zl9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2VxX3NldCk7IFwKKysgIERZTlNZTSAo aXNsX3B3X2FmZl9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2Zyb21fYWZmKTsgXAor KyAgRFlOU1lNIChpc2xfcHdfYWZmX2dlX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9n dF9zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfaXNfY3N0KTsgXAorKyAgRFlOU1lNIChp c2xfcHdfYWZmX2xlX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9sdF9zZXQpOyBcCisr ICBEWU5TWU0gKGlzbF9wd19hZmZfbXVsKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX25lX3Nl dCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9ub25uZWdfc2V0KTsgXAorKyAgRFlOU1lNIChp c2xfcHdfYWZmX3NldF90dXBsZV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9zdWIpOyBc CisrICBEWU5TWU0gKGlzbF9wd19hZmZfemVyb19zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hl ZHVsZV9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0KTsg XAorKyAgRFlOU1lNIChpc2xfc2V0X2FkZF9jb25zdHJhaW50KTsgXAorKyAgRFlOU1lNIChpc2xf c2V0X2FkZF9kaW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2FwcGx5KTsgXAorKyAgRFlOU1lN IChpc2xfc2V0X2NvYWxlc2NlKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2NvcHkpOyBcCisrICBE WU5TWU0gKGlzbF9zZXRfZGltKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2ZpeF9zaSk7IFwKKysg IERZTlNZTSAoaXNsX3NldF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2dldF9zcGFjZSk7 IFwKKysgIERZTlNZTSAoaXNsX3NldF9nZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9z ZXRfaW50ZXJzZWN0KTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2lzX2VtcHR5KTsgXAorKyAgRFlO U1lNIChpc2xfc2V0X25fZGltKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X25hdF91bml2ZXJzZSk7 IFwKKysgIERZTlNZTSAoaXNsX3NldF9wcm9qZWN0X291dCk7IFwKKysgIERZTlNZTSAoaXNsX3Nl dF9zZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfdW5pdmVyc2UpOyBcCisrICBE WU5TWU0gKGlzbF9zcGFjZV9hZGRfZGltcyk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX2FsbG9j KTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNl X2RpbSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNs X3NwYWNlX2ZpbmRfZGltX2J5X2lkKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZnJlZSk7IFwK KysgIERZTlNZTSAoaXNsX3NwYWNlX2Zyb21fZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfc3Bh Y2VfZ2V0X3R1cGxlX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfcGFyYW1zX2FsbG9jKTsg XAorKyAgRFlOU1lNIChpc2xfc3BhY2VfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9z ZXRfYWxsb2MpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9zZXRfZGltX2lkKTsgXAorKyAgRFlO U1lNIChpc2xfc3BhY2Vfc2V0X3R1cGxlX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFw X2FkZF9tYXApOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYWxpZ25fcGFyYW1zKTsgXAor KyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2FwcGx5X2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNs X3VuaW9uX21hcF9hcHBseV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9jb21w dXRlX2Zsb3cpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfY29weSk7IFwKKysgIERZTlNZ TSAoaXNsX3VuaW9uX21hcF9lbXB0eSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mbGF0 X3JhbmdlX3Byb2R1Y3QpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZm9yZWFjaF9tYXAp OyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX3Vu aW9uX21hcF9mcm9tX21hcCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9nZXRfY3R4KTsg XAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dldF9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNs X3VuaW9uX21hcF9naXN0X2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9naXN0 X3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2ludGVyc2VjdF9kb21haW4pOyBc CisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfaXNfZW1wdHkpOyBcCisrICBEWU5TWU0gKGlzbF91 bmlvbl9tYXBfc3VidHJhY3QpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfdW5pb24pOyBc CisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfYWRkX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3Vu aW9uX3NldF9jb21wdXRlX3NjaGVkdWxlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2Nv cHkpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfZW1wdHkpOyBcCisrICBEWU5TWU0gKGlz bF91bmlvbl9zZXRfZnJvbV9zZXQpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfYWRkX2NvbnN0YW50 X3ZhbCk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9nZXRfY29lZmZpY2llbnRfdmFsKTsgXAorKyAg RFlOU1lNIChpc2xfYWZmX2dldF9jdHgpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfbW9kX3ZhbCk7 IFwKKysgIERZTlNZTSAoaXNsX2FzdF9idWlsZF9hc3RfZnJvbV9zY2hlZHVsZSk7IFwKKysgIERZ TlNZTSAoaXNsX2FzdF9idWlsZF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX2Zy b21fY29udGV4dCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9idWlsZF9nZXRfY3R4KTsgXAorKyAg RFlOU1lNIChpc2xfYXN0X2J1aWxkX2dldF9zY2hlZHVsZSk7IFwKKysgIERZTlNZTSAoaXNsX2Fz dF9idWlsZF9nZXRfc2NoZWR1bGVfc3BhY2UpOyBcCisrICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRf c2V0X2JlZm9yZV9lYWNoX2Zvcik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9idWlsZF9zZXRfb3B0 aW9ucyk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlz bF9hc3RfZXhwcl9mcm9tX3ZhbCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9jdHgp OyBcCisrICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9h c3RfZXhwcl9nZXRfb3BfYXJnKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfZ2V0X29wX25f YXJnKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfZ2V0X29wX3R5cGUpOyBcCisrICBEWU5T WU0gKGlzbF9hc3RfZXhwcl9nZXRfdHlwZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX2dl dF92YWwpOyBcCisrICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9zdWIpOyBcCisrICBEWU5TWU0gKGlz bF9hc3Rfbm9kZV9ibG9ja19nZXRfY2hpbGRyZW4pOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9k ZV9mb3JfZ2V0X2JvZHkpOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2NvbmQp OyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2luYyk7IFwKKysgIERZTlNZTSAo aXNsX2FzdF9ub2RlX2Zvcl9nZXRfaW5pdCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2Zv cl9nZXRfaXRlcmF0b3IpOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9mcmVlKTsgXAorKyAg RFlOU1lNIChpc2xfYXN0X25vZGVfZ2V0X2Fubm90YXRpb24pOyBcCisrICBEWU5TWU0gKGlzbF9h c3Rfbm9kZV9nZXRfdHlwZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2lmX2dldF9jb25k KTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfaWZfZ2V0X2Vsc2UpOyBcCisrICBEWU5TWU0g KGlzbF9hc3Rfbm9kZV9pZl9nZXRfdGhlbik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2xp c3RfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2xpc3RfZ2V0X2FzdF9ub2RlKTsg XAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfbGlzdF9uX2FzdF9ub2RlKTsgXAorKyAgRFlOU1lN IChpc2xfYXN0X25vZGVfdXNlcl9nZXRfZXhwcik7IFwKKysgIERZTlNZTSAoaXNsX2NvbnN0cmFp bnRfc2V0X2NvZWZmaWNpZW50X3ZhbCk7IFwKKysgIERZTlNZTSAoaXNsX2NvbnN0cmFpbnRfc2V0 X2NvbnN0YW50X3ZhbCk7IFwKKysgIERZTlNZTSAoaXNsX2lkX2dldF91c2VyKTsgXAorKyAgRFlO U1lNIChpc2xfbG9jYWxfc3BhY2VfZ2V0X2N0eCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9maXhf dmFsKTsgXAorKyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRfYXN0X2J1aWxkX2F0b21pY191cHBl cl9ib3VuZCk7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfYXN0X25vZGUpOyBcCisr ICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X3N0cik7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50 ZXJfc2V0X291dHB1dF9mb3JtYXQpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfbW9kX3ZhbCk7 IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX2NvbXB1dGVfc2NoZWR1bGUp OyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19vbl9kb21haW4pOyBcCisr ICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19zZXRfY29pbmNpZGVuY2UpOyBcCisr ICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19zZXRfcHJveGltaXR5KTsgXAorKyAg RFlOU1lNIChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X3ZhbGlkaXR5KTsgXAorKyAgRFlO U1lNIChpc2xfc2V0X2dldF9kaW1faWQpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfbWF4X3ZhbCk7 IFwKKysgIERZTlNZTSAoaXNsX3NldF9taW5fdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X3Bh cmFtcyk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX2FsaWduX3BhcmFtcyk7IFwKKysgIERZTlNZ TSAoaXNsX3NwYWNlX21hcF9mcm9tX2RvbWFpbl9hbmRfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlz bF9zcGFjZV9zZXRfdHVwbGVfbmFtZSk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX3dyYXApOyBc CisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZnJvbV9kb21haW5fYW5kX3JhbmdlKTsgXAorKyAg RFlOU1lNIChpc2xfdW5pb25fbWFwX3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0 X3VuaW9uKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X3VuaXZlcnNlKTsgXAorKyAgRFlO U1lNIChpc2xfdmFsXzJleHApOyBcCisrICBEWU5TWU0gKGlzbF92YWxfYWRkX3VpKTsgXAorKyAg RFlOU1lNIChpc2xfdmFsX2NvcHkpOyBcCisrICBEWU5TWU0gKGlzbF92YWxfZnJlZSk7IFwKKysg IERZTlNZTSAoaXNsX3ZhbF9pbnRfZnJvbV9zaSk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9pbnRf ZnJvbV91aSk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9tdWwpOyBcCisrICBEWU5TWU0gKGlzbF92 YWxfbmVnKTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX3N1Yik7IFwKKysgIERZTlNZTSAoaXNsX3By aW50ZXJfcHJpbnRfdW5pb25fbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2dldF9jdHgp OyBcCisrICBEWU5TWU0gKGlzbF92YWxfaXNfaW50KTsgXAorKyAgRFlOU1lNIChpc2xfY3R4X2dl dF9tYXhfb3BlcmF0aW9ucyk7IFwKKysgIERZTlNZTSAoaXNsX2N0eF9zZXRfbWF4X29wZXJhdGlv bnMpOyBcCisrICBEWU5TWU0gKGlzbF9jdHhfbGFzdF9lcnJvcik7IFwKKysgIERZTlNZTSAoaXNs X2N0eF9yZXNldF9vcGVyYXRpb25zKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2NvYWxlc2NlKTsg XAorKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9zY2hlZHVsZSk7IFwKKysgIERZTlNZTSAo aXNsX3NldF9zZXRfZGltX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2NvYWxlc2Nl KTsgXAorKyAgRFlOU1lNIChpc2xfbXVsdGlfdmFsX3NldF92YWwpOyBcCisrICBEWU5TWU0gKGlz bF9tdWx0aV92YWxfemVybyk7IFwKKysgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxl X21heF9jb2VmZmljaWVudCk7IFwKKysgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3RpbGVfc2Nh bGVfdGlsZV9sb29wcyk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2NvcHkpOyBcCisrICBE WU5TWU0gKGlzbF9zY2hlZHVsZV9nZXRfbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVf bWFwX3NjaGVkdWxlX25vZGVfYm90dG9tX3VwKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVf bm9kZV9iYW5kX2dldF9wZXJtdXRhYmxlKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9k ZV9iYW5kX2dldF9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfYmFuZF90 aWxlKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9kZV9jaGlsZCk7IFwKKysgIERZTlNZ TSAoaXNsX3NjaGVkdWxlX25vZGVfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25v ZGVfZ2V0X2NoaWxkKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9kZV9nZXRfY3R4KTsg XAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9kZV9nZXRfdHlwZSk7IFwKKysgIERZTlNZTSAo aXNsX3NjaGVkdWxlX25vZGVfbl9jaGlsZHJlbik7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21h cF9pc19lcXVhbCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2NvbXB1dGVf Zmxvdyk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2Zyb21fc2luayk7IFwK KysgIERZTlNZTSAoaXNsX3VuaW9uX2FjY2Vzc19pbmZvX3NldF9tYXlfc291cmNlKTsgXAorKyAg RFlOU1lNIChpc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X211c3Rfc291cmNlKTsgXAorKyAgRFlO U1lNIChpc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X3NjaGVkdWxlKTsgXAorKyAgRFlOU1lNIChp c2xfdW5pb25fZmxvd19mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fZmxvd19nZXRfbWF5 X2RlcGVuZGVuY2UpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9mbG93X2dldF9tdXN0X2RlcGVu ZGVuY2UpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfdmFyX29uX2RvbWFpbik7IFwKKysgIERZTlNZ TSAoaXNsX211bHRpX2FmZl9mcm9tX2FmZik7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2dl dF9jdHgpOyBcCisrICBEWU5TWU0gKGlzbF9tdWx0aV9hZmZfc2V0X3R1cGxlX2lkKTsgXAorKyAg RFlOU1lNIChpc2xfbXVsdGlfYWZmX2RpbSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2dl dF9kb21haW4pOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfaXNfZW1wdHkpOyBcCisrICBE WU5TWU0gKGlzbF91bmlvbl9zZXRfZ2V0X3NwYWNlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25f cHdfbXVsdGlfYWZmX2VtcHR5KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2ZvcmVhY2hf c2V0KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2ZyZWUpOyBcCisrICBEWU5TWU0gKGlz bF9tdWx0aV91bmlvbl9wd19hZmZfZnJvbV91bmlvbl9wd19tdWx0aV9hZmYpOyBcCisrICBEWU5T WU0gKGlzbF9tdWx0aV91bmlvbl9wd19hZmZfYXBwbHlfbXVsdGlfYWZmKTsgXAorKyAgRFlOU1lN IChpc2xfc2NoZWR1bGVfaW5zZXJ0X3BhcnRpYWxfc2NoZWR1bGUpOyBcCisrICBEWU5TWU0gKGlz bF91bmlvbl9wd19tdWx0aV9hZmZfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX3B3X211bHRpX2Fm Zl9wcm9qZWN0X291dF9tYXApOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9wd19tdWx0aV9hZmZf YWRkX3B3X211bHRpX2FmZik7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2Zyb21fZG9tYWlu KTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfc2VxdWVuY2UpOyBcCisrICBEWU5TWU0gKGlz bF9hc3RfYnVpbGRfbm9kZV9mcm9tX3NjaGVkdWxlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25v ZGVfbWFya19nZXRfbm9kZSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9t ZW1iZXJfZ2V0X2FzdF9sb29wX3R5cGUpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2Rl X2JhbmRfbWVtYmVyX3NldF9hc3RfbG9vcF90eXBlKTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX25f YWJzX251bV9jaHVua3MpOyBcCisrICBEWU5TWU0gKGlzbF92YWxfZ2V0X2Fic19udW1fY2h1bmtz KTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX2ludF9mcm9tX2NodW5rcyk7IFwKKysgIERZTlNZTSAo aXNsX3ZhbF9pc19uZWcpOyBcCisrICBEWU5TWU0gKGlzbF92ZXJzaW9uKTsgXAorKyAgRFlOU1lN IChpc2xfb3B0aW9uc19nZXRfb25fZXJyb3IpOyBcCisrICBEWU5TWU0gKGlzbF9jdHhfcmVzZXRf ZXJyb3IpOworKworK2V4dGVybiBzdHJ1Y3QgaXNsX3BvaW50ZXJzX3NfXworK3sKKysgIGJvb2wg aW5pdGVkOworKyAgdm9pZCAqaDsKKysjZGVmaW5lIERZTlNZTSh4KSBfX3R5cGVvZiAoeCkgKnBf IyN4CisrICBEWU5TWU1TCisrI3VuZGVmIERZTlNZTQorK30gaXNsX3BvaW50ZXJzX187CisrCisr I2RlZmluZSBpc2xfYWZmX2FkZF9jb2VmZmljaWVudF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2FmZl9hZGRfY29lZmZpY2llbnRfc2kpCisrI2RlZmluZSBpc2xfYWZmX2ZyZWUgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9hZmZfZnJlZSkKKysjZGVmaW5lIGlzbF9hZmZfZ2V0X3NwYWNlICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfYWZmX2dldF9zcGFjZSkKKysjZGVmaW5lIGlzbF9hZmZfc2V0X2Nv ZWZmaWNpZW50X3NpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX3NldF9jb2VmZmljaWVudF9z aSkKKysjZGVmaW5lIGlzbF9hZmZfc2V0X2NvbnN0YW50X3NpICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfYWZmX3NldF9jb25zdGFudF9zaSkKKysjZGVmaW5lIGlzbF9hZmZfemVyb19vbl9kb21haW4g KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfemVyb19vbl9kb21haW4pCisrI2RlZmluZSBpc2xf YmFuZF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9mcmVlKQorKyNkZWZpbmUgaXNs X2JhbmRfZ2V0X2NoaWxkcmVuICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9nZXRfY2hpbGRy ZW4pCisrI2RlZmluZSBpc2xfYmFuZF9nZXRfcGFydGlhbF9zY2hlZHVsZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2JhbmRfZ2V0X3BhcnRpYWxfc2NoZWR1bGUpCisrI2RlZmluZSBpc2xfYmFuZF9o YXNfY2hpbGRyZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2hhc19jaGlsZHJlbikKKysj ZGVmaW5lIGlzbF9iYW5kX2xpc3RfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfbGlz dF9mcmVlKQorKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9nZXRfYmFuZCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX2JhbmRfbGlzdF9nZXRfYmFuZCkKKysjZGVmaW5lIGlzbF9iYW5kX2xpc3RfZ2V0X2N0 eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfbGlzdF9nZXRfY3R4KQorKyNkZWZpbmUgaXNs X2JhbmRfbGlzdF9uX2JhbmQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xpc3Rfbl9iYW5k KQorKyNkZWZpbmUgaXNsX2JhbmRfbl9tZW1iZXIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5k X25fbWVtYmVyKQorKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF9hZGRfY29uc3RyYWludCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX2Jhc2ljX21hcF9hZGRfY29uc3RyYWludCkKKysjZGVmaW5lIGlzbF9i YXNpY19tYXBfcHJvamVjdF9vdXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYXNpY19tYXBfcHJv amVjdF9vdXQpCisrI2RlZmluZSBpc2xfYmFzaWNfbWFwX3VuaXZlcnNlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfYmFzaWNfbWFwX3VuaXZlcnNlKQorKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0 X2NvZWZmaWNpZW50X3NpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29l ZmZpY2llbnRfc2kpCisrI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfc2kgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSkKKysjZGVmaW5l IGlzbF9jdHhfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfYWxsb2MpCisrI2RlZmlu ZSBpc2xfY3R4X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfZnJlZSkKKysjZGVmaW5l IGlzbF9lcXVhbGl0eV9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2VxdWFsaXR5X2FsbG9j KQorKyNkZWZpbmUgaXNsX2lkX2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfaWRfYWxsb2Mp CisrI2RlZmluZSBpc2xfaWRfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2NvcHkpCisr I2RlZmluZSBpc2xfaWRfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2ZyZWUpCisrI2Rl ZmluZSBpc2xfaW5lcXVhbGl0eV9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2luZXF1YWxp dHlfYWxsb2MpCisrI2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfY29weSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX2xvY2FsX3NwYWNlX2NvcHkpCisrI2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfZnJlZSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX2ZyZWUpCisrI2RlZmluZSBpc2xfbG9j YWxfc3BhY2VfZnJvbV9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX2Zy b21fc3BhY2UpCisrI2RlZmluZSBpc2xfbG9jYWxfc3BhY2VfcmFuZ2UgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9sb2NhbF9zcGFjZV9yYW5nZSkKKysjZGVmaW5lIGlzbF9tYXBfYWRkX2NvbnN0cmFp bnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2NvbnN0cmFpbnQpCisrI2RlZmluZSBp c2xfbWFwX2FkZF9kaW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2FkZF9kaW1zKQorKyNk ZWZpbmUgaXNsX21hcF9hbGlnbl9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWxp Z25fcGFyYW1zKQorKyNkZWZpbmUgaXNsX21hcF9hcHBseV9yYW5nZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX21hcF9hcHBseV9yYW5nZSkKKysjZGVmaW5lIGlzbF9tYXBfY29weSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX21hcF9jb3B5KQorKyNkZWZpbmUgaXNsX21hcF9kaW0gKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9tYXBfZGltKQorKyNkZWZpbmUgaXNsX21hcF9kdW1wICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfbWFwX2R1bXApCisrI2RlZmluZSBpc2xfbWFwX2VxdWF0ZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX21hcF9lcXVhdGUpCisrI2RlZmluZSBpc2xfbWFwX2ZpeF9zaSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX21hcF9maXhfc2kpCisrI2RlZmluZSBpc2xfbWFwX2ZsYXRfcHJvZHVjdCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mbGF0X3Byb2R1Y3QpCisrI2RlZmluZSBpc2xfbWFw X2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mbGF0X3Jhbmdl X3Byb2R1Y3QpCisrI2RlZmluZSBpc2xfbWFwX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9t YXBfZnJlZSkKKysjZGVmaW5lIGlzbF9tYXBfZnJvbV9iYXNpY19tYXAgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9tYXBfZnJvbV9iYXNpY19tYXApCisrI2RlZmluZSBpc2xfbWFwX2Zyb21fcHdfYWZm ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2Zyb21fcHdfYWZmKQorKyNkZWZpbmUgaXNsX21h cF9mcm9tX3VuaW9uX21hcCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mcm9tX3VuaW9uX21h cCkKKysjZGVmaW5lIGlzbF9tYXBfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9n ZXRfY3R4KQorKyNkZWZpbmUgaXNsX21hcF9nZXRfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9tYXBfZ2V0X3NwYWNlKQorKyNkZWZpbmUgaXNsX21hcF9nZXRfdHVwbGVfaWQgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9tYXBfZ2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX21hcF9pbnNlcnRf ZGltcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pbnNlcnRfZGltcykKKysjZGVmaW5lIGlz bF9tYXBfaW50ZXJzZWN0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ludGVyc2VjdCkKKysj ZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21h cF9pbnRlcnNlY3RfZG9tYWluKQorKyNkZWZpbmUgaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2UgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJzZWN0X3JhbmdlKQorKyNkZWZpbmUgaXNsX21h cF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pc19lbXB0eSkKKysjZGVmaW5l IGlzbF9tYXBfbGV4X2dlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2xleF9nZSkKKysjZGVm aW5lIGlzbF9tYXBfbGV4X2xlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2xleF9sZSkKKysj ZGVmaW5lIGlzbF9tYXBfbl9vdXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfbl9vdXQpCisr I2RlZmluZSBpc2xfbWFwX3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX3JhbmdlKQor KyNkZWZpbmUgaXNsX21hcF9zZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBf c2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX21hcF91bml2ZXJzZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX21hcF91bml2ZXJzZSkKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9vbl9lcnJvciAo KmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X29uX2Vycm9yKQorKyNkZWZpbmUgaXNs X29wdGlvbnNfc2V0X3NjaGVkdWxlX3NlcmlhbGl6ZV9zY2NzICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfc2VyaWFsaXplX3NjY3MpCisrI2RlZmluZSBpc2xfcHJp bnRlcl9zZXRfeWFtbF9zdHlsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfc2V0X3lh bWxfc3R5bGUpCisrI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4X2NvbnN0YW50 X3Rlcm0gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhfY29u c3RhbnRfdGVybSkKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhpbWl6ZV9i YW5kX2RlcHRoICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4 aW1pemVfYmFuZF9kZXB0aCkKKysjZGVmaW5lIGlzbF9wcmludGVyX2ZyZWUgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9wcmludGVyX2ZyZWUpCisrI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9hZmYg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X2FmZikKKysjZGVmaW5lIGlzbF9w cmludGVyX3ByaW50X2NvbnN0cmFpbnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3By aW50X2NvbnN0cmFpbnQpCisrI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9tYXAgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X21hcCkKKysjZGVmaW5lIGlzbF9wcmludGVyX3By aW50X3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfc2V0KQorKyNkZWZp bmUgaXNsX3ByaW50ZXJfdG9fZmlsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfdG9f ZmlsZSkKKysjZGVmaW5lIGlzbF9wd19hZmZfYWRkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdf YWZmX2FkZCkKKysjZGVmaW5lIGlzbF9wd19hZmZfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9wd19hZmZfYWxsb2MpCisrI2RlZmluZSBpc2xfcHdfYWZmX2NvcHkgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9wd19hZmZfY29weSkKKysjZGVmaW5lIGlzbF9wd19hZmZfZXFfc2V0ICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfcHdfYWZmX2VxX3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZfZnJlZSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9mcmVlKQorKyNkZWZpbmUgaXNsX3B3X2FmZl9m cm9tX2FmZiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9mcm9tX2FmZikKKysjZGVmaW5l IGlzbF9wd19hZmZfZ2Vfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2dlX3NldCkK KysjZGVmaW5lIGlzbF9wd19hZmZfZ3Rfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZm X2d0X3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZfaXNfY3N0ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfcHdfYWZmX2lzX2NzdCkKKysjZGVmaW5lIGlzbF9wd19hZmZfbGVfc2V0ICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfcHdfYWZmX2xlX3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZfbHRfc2V0ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2x0X3NldCkKKysjZGVmaW5lIGlzbF9wd19hZmZf bXVsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX211bCkKKysjZGVmaW5lIGlzbF9wd19h ZmZfbmVfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX25lX3NldCkKKysjZGVmaW5l IGlzbF9wd19hZmZfbm9ubmVnX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9ub25u ZWdfc2V0KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9zZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9wd19hZmZfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3B3X2FmZl9zdWIgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfc3ViKQorKyNkZWZpbmUgaXNsX3B3X2FmZl96ZXJv X3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl96ZXJvX3NldCkKKysjZGVmaW5lIGlz bF9zY2hlZHVsZV9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZnJlZSkKKysj ZGVmaW5lIGlzbF9zY2hlZHVsZV9nZXRfYmFuZF9mb3Jlc3QgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zY2hlZHVsZV9nZXRfYmFuZF9mb3Jlc3QpCisrI2RlZmluZSBpc2xfc2V0X2FkZF9jb25zdHJh aW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2FkZF9jb25zdHJhaW50KQorKyNkZWZpbmUg aXNsX3NldF9hZGRfZGltcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9hZGRfZGltcykKKysj ZGVmaW5lIGlzbF9zZXRfYXBwbHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYXBwbHkpCisr I2RlZmluZSBpc2xfc2V0X2NvYWxlc2NlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2NvYWxl c2NlKQorKyNkZWZpbmUgaXNsX3NldF9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2Nv cHkpCisrI2RlZmluZSBpc2xfc2V0X2RpbSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9kaW0p CisrI2RlZmluZSBpc2xfc2V0X2ZpeF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9maXhf c2kpCisrI2RlZmluZSBpc2xfc2V0X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZnJl ZSkKKysjZGVmaW5lIGlzbF9zZXRfZ2V0X3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0 X2dldF9zcGFjZSkKKysjZGVmaW5lIGlzbF9zZXRfZ2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfc2V0X2dldF90dXBsZV9pZCkKKysjZGVmaW5lIGlzbF9zZXRfaW50ZXJzZWN0ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2ludGVyc2VjdCkKKysjZGVmaW5lIGlzbF9zZXRfaXNf ZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfaXNfZW1wdHkpCisrI2RlZmluZSBpc2xf c2V0X25fZGltICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X25fZGltKQorKyNkZWZpbmUgaXNs X3NldF9uYXRfdW5pdmVyc2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbmF0X3VuaXZlcnNl KQorKyNkZWZpbmUgaXNsX3NldF9wcm9qZWN0X291dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nl dF9wcm9qZWN0X291dCkKKysjZGVmaW5lIGlzbF9zZXRfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfc2V0X3NldF90dXBsZV9pZCkKKysjZGVmaW5lIGlzbF9zZXRfdW5pdmVyc2Ug KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfdW5pdmVyc2UpCisrI2RlZmluZSBpc2xfc3BhY2Vf YWRkX2RpbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9hZGRfZGltcykKKysjZGVmaW5l IGlzbF9zcGFjZV9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2FsbG9jKQorKyNk ZWZpbmUgaXNsX3NwYWNlX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9jb3B5KQor KyNkZWZpbmUgaXNsX3NwYWNlX2RpbSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2RpbSkK KysjZGVmaW5lIGlzbF9zcGFjZV9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9k b21haW4pCisrI2RlZmluZSBpc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9zcGFjZV9maW5kX2RpbV9ieV9pZCkKKysjZGVmaW5lIGlzbF9zcGFjZV9mcmVlICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZnJlZSkKKysjZGVmaW5lIGlzbF9zcGFjZV9mcm9t X2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2Zyb21fZG9tYWluKQorKyNkZWZp bmUgaXNsX3NwYWNlX2dldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2dl dF90dXBsZV9pZCkKKysjZGVmaW5lIGlzbF9zcGFjZV9wYXJhbXNfYWxsb2MgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9zcGFjZV9wYXJhbXNfYWxsb2MpCisrI2RlZmluZSBpc2xfc3BhY2VfcmFuZ2Ug KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9yYW5nZSkKKysjZGVmaW5lIGlzbF9zcGFjZV9z ZXRfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9zZXRfYWxsb2MpCisrI2RlZmlu ZSBpc2xfc3BhY2Vfc2V0X2RpbV9pZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX3NldF9k aW1faWQpCisrI2RlZmluZSBpc2xfc3BhY2Vfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc3BhY2Vfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hZGRfbWFw ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2FkZF9tYXApCisrI2RlZmluZSBpc2xf dW5pb25fbWFwX2FsaWduX3BhcmFtcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9h bGlnbl9wYXJhbXMpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2FwcGx5X2RvbWFpbiAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4pCisrI2RlZmluZSBpc2xfdW5p b25fbWFwX2FwcGx5X3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2FwcGx5 X3JhbmdlKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9jb21wdXRlX2Zsb3cgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9tYXBfY29tcHV0ZV9mbG93KQorKyNkZWZpbmUgaXNsX3VuaW9uX21h cF9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvcHkpCisrI2RlZmluZSBp c2xfdW5pb25fbWFwX2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2VtcHR5 KQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9mbGF0X3JhbmdlX3Byb2R1Y3QgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF91bmlvbl9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0KQorKyNkZWZpbmUgaXNsX3Vu aW9uX21hcF9mb3JlYWNoX21hcCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9mb3Jl YWNoX21hcCkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3VuaW9uX21hcF9mcmVlKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9mcm9tX21hcCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9mcm9tX21hcCkKKysjZGVmaW5lIGlzbF91bmlv bl9tYXBfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9nZXRfY3R4KQor KyNkZWZpbmUgaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91 bmlvbl9tYXBfZ2V0X3NwYWNlKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9naXN0X2RvbWFpbiAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9naXN0X2RvbWFpbikKKysjZGVmaW5lIGlz bF91bmlvbl9tYXBfZ2lzdF9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9n aXN0X3JhbmdlKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWluICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ludGVyc2VjdF9kb21haW4pCisrI2RlZmluZSBp c2xfdW5pb25fbWFwX2lzX2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2lz X2VtcHR5KQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfdW5pb24g KCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfdW5pb24pCisrI2RlZmluZSBpc2xfdW5p b25fc2V0X2FkZF9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfYWRkX3NldCkK KysjZGVmaW5lIGlzbF91bmlvbl9zZXRfY29tcHV0ZV9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3VuaW9uX3NldF9jb21wdXRlX3NjaGVkdWxlKQorKyNkZWZpbmUgaXNsX3VuaW9uX3Nl dF9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2NvcHkpCisrI2RlZmluZSBp c2xfdW5pb25fc2V0X2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2VtcHR5 KQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9mcm9tX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3VuaW9uX3NldF9mcm9tX3NldCkKKysjZGVmaW5lIGlzbF9hZmZfYWRkX2NvbnN0YW50X3ZhbCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9hZGRfY29uc3RhbnRfdmFsKQorKyNkZWZpbmUgaXNs X2FmZl9nZXRfY29lZmZpY2llbnRfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX2dldF9j b2VmZmljaWVudF92YWwpCisrI2RlZmluZSBpc2xfYWZmX2dldF9jdHggKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9hZmZfZ2V0X2N0eCkKKysjZGVmaW5lIGlzbF9hZmZfbW9kX3ZhbCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX2FmZl9tb2RfdmFsKQorKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9hc3RfZnJv bV9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9hc3RfZnJvbV9zY2hl ZHVsZSkKKysjZGVmaW5lIGlzbF9hc3RfYnVpbGRfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2FzdF9idWlsZF9mcmVlKQorKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9mcm9tX2NvbnRleHQgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfZnJvbV9jb250ZXh0KQorKyNkZWZpbmUgaXNs X2FzdF9idWlsZF9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX2dldF9j dHgpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxkX2dldF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1bGUpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxkX2dl dF9zY2hlZHVsZV9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9nZXRfc2No ZWR1bGVfc3BhY2UpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxkX3NldF9iZWZvcmVfZWFjaF9mb3Ig KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfc2V0X2JlZm9yZV9lYWNoX2ZvcikKKysj ZGVmaW5lIGlzbF9hc3RfYnVpbGRfc2V0X29wdGlvbnMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9h c3RfYnVpbGRfc2V0X29wdGlvbnMpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZnJlZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX2FzdF9leHByX2ZyZWUpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZnJv bV92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9mcm9tX3ZhbCkKKysjZGVmaW5l IGlzbF9hc3RfZXhwcl9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0 X2N0eCkKKysjZGVmaW5lIGlzbF9hc3RfZXhwcl9nZXRfaWQgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9hc3RfZXhwcl9nZXRfaWQpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X29wX2FyZyAoKmlz bF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF9vcF9hcmcpCisrI2RlZmluZSBpc2xfYXN0 X2V4cHJfZ2V0X29wX25fYXJnICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0X29w X25fYXJnKQorKyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF9vcF90eXBlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfYXN0X2V4cHJfZ2V0X29wX3R5cGUpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0 X3R5cGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9nZXRfdHlwZSkKKysjZGVmaW5l IGlzbF9hc3RfZXhwcl9nZXRfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0 X3ZhbCkKKysjZGVmaW5lIGlzbF9hc3RfZXhwcl9zdWIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9h c3RfZXhwcl9zdWIpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfYmxvY2tfZ2V0X2NoaWxkcmVuICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfYmxvY2tfZ2V0X2NoaWxkcmVuKQorKyNkZWZp bmUgaXNsX2FzdF9ub2RlX2Zvcl9nZXRfYm9keSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9u b2RlX2Zvcl9nZXRfYm9keSkKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2NvbmQgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9mb3JfZ2V0X2NvbmQpCisrI2RlZmluZSBpc2xf YXN0X25vZGVfZm9yX2dldF9pbmMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9mb3Jf Z2V0X2luYykKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2luaXQgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9hc3Rfbm9kZV9mb3JfZ2V0X2luaXQpCisrI2RlZmluZSBpc2xfYXN0X25vZGVf Zm9yX2dldF9pdGVyYXRvciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2Zvcl9nZXRf aXRlcmF0b3IpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2FzdF9ub2RlX2ZyZWUpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfZ2V0X2Fubm90YXRpb24g KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9nZXRfYW5ub3RhdGlvbikKKysjZGVmaW5l IGlzbF9hc3Rfbm9kZV9nZXRfdHlwZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2dl dF90eXBlKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2lmX2dldF9jb25kICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfYXN0X25vZGVfaWZfZ2V0X2NvbmQpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfaWZf Z2V0X2Vsc2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9pZl9nZXRfZWxzZSkKKysj ZGVmaW5lIGlzbF9hc3Rfbm9kZV9pZl9nZXRfdGhlbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2Fz dF9ub2RlX2lmX2dldF90aGVuKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2xpc3RfZnJlZSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2xpc3RfZnJlZSkKKysjZGVmaW5lIGlzbF9hc3Rf bm9kZV9saXN0X2dldF9hc3Rfbm9kZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2xp c3RfZ2V0X2FzdF9ub2RlKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2xpc3Rfbl9hc3Rfbm9kZSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2xpc3Rfbl9hc3Rfbm9kZSkKKysjZGVmaW5l IGlzbF9hc3Rfbm9kZV91c2VyX2dldF9leHByICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25v ZGVfdXNlcl9nZXRfZXhwcikKKysjZGVmaW5lIGlzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVu dF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50X3NldF9jb2VmZmljaWVudF92 YWwpCisrI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfdmFsICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfdmFsKQorKyNkZWZpbmUgaXNsX2lk X2dldF91c2VyICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfaWRfZ2V0X3VzZXIpCisrI2RlZmluZSBp c2xfbG9jYWxfc3BhY2VfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNl X2dldF9jdHgpCisrI2RlZmluZSBpc2xfbWFwX2ZpeF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9tYXBfZml4X3ZhbCkKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9hc3RfYnVpbGRfYXRvbWlj X3VwcGVyX2JvdW5kICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfYXN0X2J1aWxk X2F0b21pY191cHBlcl9ib3VuZCkKKysjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X2FzdF9ub2Rl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9hc3Rfbm9kZSkKKysjZGVmaW5l IGlzbF9wcmludGVyX3ByaW50X3N0ciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJp bnRfc3RyKQorKyNkZWZpbmUgaXNsX3ByaW50ZXJfc2V0X291dHB1dF9mb3JtYXQgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9wcmludGVyX3NldF9vdXRwdXRfZm9ybWF0KQorKyNkZWZpbmUgaXNsX3B3 X2FmZl9tb2RfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX21vZF92YWwpCisrI2Rl ZmluZSBpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfY29tcHV0ZV9zY2hlZHVsZSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX2NvbXB1dGVfc2NoZWR1bGUpCisrI2Rl ZmluZSBpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfb25fZG9tYWluICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc2NoZWR1bGVfY29uc3RyYWludHNfb25fZG9tYWluKQorKyNkZWZpbmUgaXNsX3NjaGVk dWxlX2NvbnN0cmFpbnRzX3NldF9jb2luY2lkZW5jZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nj aGVkdWxlX2NvbnN0cmFpbnRzX3NldF9jb2luY2lkZW5jZSkKKysjZGVmaW5lIGlzbF9zY2hlZHVs ZV9jb25zdHJhaW50c19zZXRfcHJveGltaXR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1 bGVfY29uc3RyYWludHNfc2V0X3Byb3hpbWl0eSkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9jb25z dHJhaW50c19zZXRfdmFsaWRpdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9jb25z dHJhaW50c19zZXRfdmFsaWRpdHkpCisrI2RlZmluZSBpc2xfc2V0X2dldF9kaW1faWQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9zZXRfZ2V0X2RpbV9pZCkKKysjZGVmaW5lIGlzbF9zZXRfbWF4X3Zh bCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9tYXhfdmFsKQorKyNkZWZpbmUgaXNsX3NldF9t aW5fdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X21pbl92YWwpCisrI2RlZmluZSBpc2xf c2V0X3BhcmFtcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9wYXJhbXMpCisrI2RlZmluZSBp c2xfc3BhY2VfYWxpZ25fcGFyYW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfYWxpZ25f cGFyYW1zKQorKyNkZWZpbmUgaXNsX3NwYWNlX21hcF9mcm9tX2RvbWFpbl9hbmRfcmFuZ2UgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9tYXBfZnJvbV9kb21haW5fYW5kX3JhbmdlKQorKyNk ZWZpbmUgaXNsX3NwYWNlX3NldF90dXBsZV9uYW1lICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3Bh Y2Vfc2V0X3R1cGxlX25hbWUpCisrI2RlZmluZSBpc2xfc3BhY2Vfd3JhcCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3NwYWNlX3dyYXApCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2Zyb21fZG9tYWlu X2FuZF9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9mcm9tX2RvbWFpbl9h bmRfcmFuZ2UpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX3JhbmdlICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfdW5pb25fbWFwX3JhbmdlKQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF91bmlvbiAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF91bmlvbikKKysjZGVmaW5lIGlzbF91bmlvbl9z ZXRfdW5pdmVyc2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfdW5pdmVyc2UpCisr I2RlZmluZSBpc2xfdmFsXzJleHAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfMmV4cCkKKysj ZGVmaW5lIGlzbF92YWxfYWRkX3VpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2FkZF91aSkK KysjZGVmaW5lIGlzbF92YWxfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9jb3B5KQor KyNkZWZpbmUgaXNsX3ZhbF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2ZyZWUpCisr I2RlZmluZSBpc2xfdmFsX2ludF9mcm9tX3NpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2lu dF9mcm9tX3NpKQorKyNkZWZpbmUgaXNsX3ZhbF9pbnRfZnJvbV91aSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3ZhbF9pbnRfZnJvbV91aSkKKysjZGVmaW5lIGlzbF92YWxfbXVsICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdmFsX211bCkKKysjZGVmaW5lIGlzbF92YWxfbmVnICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfdmFsX25lZykKKysjZGVmaW5lIGlzbF92YWxfc3ViICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfdmFsX3N1YikKKysjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X3VuaW9uX21hcCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfdW5pb25fbWFwKQorKyNkZWZpbmUgaXNs X3B3X2FmZl9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2dldF9jdHgpCisr I2RlZmluZSBpc2xfdmFsX2lzX2ludCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9pc19pbnQp CisrI2RlZmluZSBpc2xfY3R4X2dldF9tYXhfb3BlcmF0aW9ucyAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2N0eF9nZXRfbWF4X29wZXJhdGlvbnMpCisrI2RlZmluZSBpc2xfY3R4X3NldF9tYXhfb3Bl cmF0aW9ucyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2N0eF9zZXRfbWF4X29wZXJhdGlvbnMpCisr I2RlZmluZSBpc2xfY3R4X2xhc3RfZXJyb3IgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfbGFz dF9lcnJvcikKKysjZGVmaW5lIGlzbF9jdHhfcmVzZXRfb3BlcmF0aW9ucyAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2N0eF9yZXNldF9vcGVyYXRpb25zKQorKyNkZWZpbmUgaXNsX21hcF9jb2FsZXNj ZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9jb2FsZXNjZSkKKysjZGVmaW5lIGlzbF9wcmlu dGVyX3ByaW50X3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9z Y2hlZHVsZSkKKysjZGVmaW5lIGlzbF9zZXRfc2V0X2RpbV9pZCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3NldF9zZXRfZGltX2lkKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9jb2FsZXNjZSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9jb2FsZXNjZSkKKysjZGVmaW5lIGlzbF9tdWx0 aV92YWxfc2V0X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX211bHRpX3ZhbF9zZXRfdmFsKQor KyNkZWZpbmUgaXNsX211bHRpX3ZhbF96ZXJvICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbXVsdGlf dmFsX3plcm8pCisrI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4X2NvZWZmaWNp ZW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4X2NvZWZm aWNpZW50KQorKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3RpbGVfc2NhbGVfdGlsZV9sb29wcyAo KmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3RpbGVfc2NhbGVfdGlsZV9sb29wcykK KysjZGVmaW5lIGlzbF9zY2hlZHVsZV9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1 bGVfY29weSkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9nZXRfbWFwICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc2NoZWR1bGVfZ2V0X21hcCkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9tYXBfc2NoZWR1 bGVfbm9kZV9ib3R0b21fdXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9tYXBfc2No ZWR1bGVfbm9kZV9ib3R0b21fdXApCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX2dl dF9wZXJtdXRhYmxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9iYW5kX2dl dF9wZXJtdXRhYmxlKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9nZXRfc3BhY2Ug KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX2JhbmRfZ2V0X3NwYWNlKQorKyNk ZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfYmFuZF90aWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2NoZWR1bGVfbm9kZV9iYW5kX3RpbGUpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9jaGls ZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfY2hpbGQpCisrI2RlZmluZSBp c2xfc2NoZWR1bGVfbm9kZV9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9k ZV9mcmVlKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfZ2V0X2NoaWxkICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9nZXRfY2hpbGQpCisrI2RlZmluZSBpc2xfc2NoZWR1 bGVfbm9kZV9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9nZXRf Y3R4KQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfZ2V0X3R5cGUgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9zY2hlZHVsZV9ub2RlX2dldF90eXBlKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25v ZGVfbl9jaGlsZHJlbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfbl9jaGls ZHJlbikKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfaXNfZXF1YWwgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF91bmlvbl9tYXBfaXNfZXF1YWwpCisrI2RlZmluZSBpc2xfdW5pb25fYWNjZXNzX2luZm9f Y29tcHV0ZV9mbG93ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fYWNjZXNzX2luZm9fY29t cHV0ZV9mbG93KQorKyNkZWZpbmUgaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2Zyb21fc2luayAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2Zyb21fc2luaykKKysjZGVmaW5l IGlzbF91bmlvbl9hY2Nlc3NfaW5mb19zZXRfbWF5X3NvdXJjZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3VuaW9uX2FjY2Vzc19pbmZvX3NldF9tYXlfc291cmNlKQorKyNkZWZpbmUgaXNsX3VuaW9u X2FjY2Vzc19pbmZvX3NldF9tdXN0X3NvdXJjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9u X2FjY2Vzc19pbmZvX3NldF9tdXN0X3NvdXJjZSkKKysjZGVmaW5lIGlzbF91bmlvbl9hY2Nlc3Nf aW5mb19zZXRfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9hY2Nlc3NfaW5m b19zZXRfc2NoZWR1bGUpCisrI2RlZmluZSBpc2xfdW5pb25fZmxvd19mcmVlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fZmxvd19mcmVlKQorKyNkZWZpbmUgaXNsX3VuaW9uX2Zsb3dfZ2V0 X21heV9kZXBlbmRlbmNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fZmxvd19nZXRfbWF5 X2RlcGVuZGVuY2UpCisrI2RlZmluZSBpc2xfdW5pb25fZmxvd19nZXRfbXVzdF9kZXBlbmRlbmNl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fZmxvd19nZXRfbXVzdF9kZXBlbmRlbmNlKQor KyNkZWZpbmUgaXNsX2FmZl92YXJfb25fZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYWZm X3Zhcl9vbl9kb21haW4pCisrI2RlZmluZSBpc2xfbXVsdGlfYWZmX2Zyb21fYWZmICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbXVsdGlfYWZmX2Zyb21fYWZmKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxl X2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9nZXRfY3R4KQorKyNkZWZp bmUgaXNsX211bHRpX2FmZl9zZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tdWx0 aV9hZmZfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX211bHRpX2FmZl9kaW0gKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9tdWx0aV9hZmZfZGltKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2dldF9k b21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9nZXRfZG9tYWluKQorKyNkZWZp bmUgaXNsX3VuaW9uX3NldF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3Nl dF9pc19lbXB0eSkKKysjZGVmaW5lIGlzbF91bmlvbl9zZXRfZ2V0X3NwYWNlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fc2V0X2dldF9zcGFjZSkKKysjZGVmaW5lIGlzbF91bmlvbl9wd19t dWx0aV9hZmZfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9wd19tdWx0aV9hZmZf ZW1wdHkpCisrI2RlZmluZSBpc2xfdW5pb25fc2V0X2ZvcmVhY2hfc2V0ICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfdW5pb25fc2V0X2ZvcmVhY2hfc2V0KQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9m cmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2ZyZWUpCisrI2RlZmluZSBpc2xf bXVsdGlfdW5pb25fcHdfYWZmX2Zyb21fdW5pb25fcHdfbXVsdGlfYWZmICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfbXVsdGlfdW5pb25fcHdfYWZmX2Zyb21fdW5pb25fcHdfbXVsdGlfYWZmKQorKyNk ZWZpbmUgaXNsX211bHRpX3VuaW9uX3B3X2FmZl9hcHBseV9tdWx0aV9hZmYgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9tdWx0aV91bmlvbl9wd19hZmZfYXBwbHlfbXVsdGlfYWZmKQorKyNkZWZpbmUg aXNsX3NjaGVkdWxlX2luc2VydF9wYXJ0aWFsX3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfc2NoZWR1bGVfaW5zZXJ0X3BhcnRpYWxfc2NoZWR1bGUpCisrI2RlZmluZSBpc2xfdW5pb25f cHdfbXVsdGlfYWZmX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9wd19tdWx0aV9h ZmZfZnJlZSkKKysjZGVmaW5lIGlzbF9wd19tdWx0aV9hZmZfcHJvamVjdF9vdXRfbWFwICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfcHdfbXVsdGlfYWZmX3Byb2plY3Rfb3V0X21hcCkKKysjZGVmaW5l IGlzbF91bmlvbl9wd19tdWx0aV9hZmZfYWRkX3B3X211bHRpX2FmZiAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3VuaW9uX3B3X211bHRpX2FmZl9hZGRfcHdfbXVsdGlfYWZmKQorKyNkZWZpbmUgaXNs X3NjaGVkdWxlX2Zyb21fZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZnJv bV9kb21haW4pCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfc2VxdWVuY2UgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9zY2hlZHVsZV9zZXF1ZW5jZSkKKysjZGVmaW5lIGlzbF9hc3RfYnVpbGRfbm9kZV9m cm9tX3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX25vZGVfZnJvbV9z Y2hlZHVsZSkKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9tYXJrX2dldF9ub2RlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X25vZGVfbWFya19nZXRfbm9kZSkKKysjZGVmaW5lIGlzbF9zY2hlZHVs ZV9ub2RlX2JhbmRfbWVtYmVyX2dldF9hc3RfbG9vcF90eXBlICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfc2NoZWR1bGVfbm9kZV9iYW5kX21lbWJlcl9nZXRfYXN0X2xvb3BfdHlwZSkKKysjZGVmaW5l IGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRfbWVtYmVyX3NldF9hc3RfbG9vcF90eXBlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9iYW5kX21lbWJlcl9zZXRfYXN0X2xvb3BfdHlw ZSkKKysjZGVmaW5lIGlzbF92YWxfbl9hYnNfbnVtX2NodW5rcyAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3ZhbF9uX2Fic19udW1fY2h1bmtzKQorKyNkZWZpbmUgaXNsX3ZhbF9nZXRfYWJzX251bV9j aHVua3MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfZ2V0X2Fic19udW1fY2h1bmtzKQorKyNk ZWZpbmUgaXNsX3ZhbF9pbnRfZnJvbV9jaHVua3MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxf aW50X2Zyb21fY2h1bmtzKQorKyNkZWZpbmUgaXNsX3ZhbF9pc19uZWcgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF92YWxfaXNfbmVnKQorKyNkZWZpbmUgaXNsX3ZlcnNpb24gKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF92ZXJzaW9uKQorKyNkZWZpbmUgaXNsX29wdGlvbnNfZ2V0X29uX2Vycm9yICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19nZXRfb25fZXJyb3IpCisrI2RlZmluZSBpc2xfY3R4 X3Jlc2V0X2Vycm9yICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X3Jlc2V0X2Vycm9yKQorKwor IHR5cGVkZWYgc3RydWN0IHBvbHlfZHIgKnBvbHlfZHJfcDsKKyAKKyB0eXBlZGVmIHN0cnVjdCBw b2x5X2JiICpwb2x5X2JiX3A7CitAQCAtNDQ4LDUgKzEwMzMsNiBAQCBleHRlcm4gdHJlZSBjYWNo ZWRfc2NhbGFyX2V2b2x1dGlvbl9pbl9yCisgZXh0ZXJuIHZvaWQgZG90X2FsbF9zZXNlIChGSUxF ICosIHZlYzxzZXNlX2w+ICYpOworIGV4dGVybiB2b2lkIGRvdF9zZXNlIChzZXNlX2wgJik7Cisg ZXh0ZXJuIHZvaWQgZG90X2NmZyAoKTsKKytleHRlcm4gY29uc3QgY2hhciAqZ2V0X2lzbF92ZXJz aW9uIChib29sKTsKKyAKKyAjZW5kaWYKKy0tLSBnY2MvZ3JhcGhpdGUuYy5qagkyMDE1LTExLTA0 IDE0OjE1OjMyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9ncmFwaGl0ZS5jCTIwMTUtMTEtMDQg MTQ6NTY6MDIuNjQ1NTM2NDA5ICswMTAwCitAQCAtNjAsNiArNjAsMzUgQEAgYWxvbmcgd2l0aCBH Q0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KKyAjaW5jbHVkZSAidHJlZS1pbnRvLXNzYS5oIgor ICNpbmNsdWRlICJncmFwaGl0ZS5oIgorIAorK19fdHlwZW9mIChpc2xfcG9pbnRlcnNfXykgaXNs X3BvaW50ZXJzX187CisrCisrc3RhdGljIGJvb2wKKytpbml0X2lzbF9wb2ludGVycyAodm9pZCkK Kyt7CisrICB2b2lkICpoOworKworKyAgaWYgKGlzbF9wb2ludGVyc19fLmluaXRlZCkKKysgICAg cmV0dXJuIGlzbF9wb2ludGVyc19fLmggIT0gTlVMTDsKKysgIGggPSBkbG9wZW4gKCJsaWJpc2wu c28uMTUiLCBSVExEX0xBWlkpOworKyAgaXNsX3BvaW50ZXJzX18uaCA9IGg7CisrICBpZiAoaCA9 PSBOVUxMKQorKyAgICByZXR1cm4gZmFsc2U7CisrI2RlZmluZSBEWU5TWU0oeCkgXAorKyAgZG8g XAorKyAgICB7IFwKKysgICAgICB1bmlvbiB7IF9fdHlwZW9mIChpc2xfcG9pbnRlcnNfXy5wXyMj eCkgcDsgdm9pZCAqcTsgfSB1OyBcCisrICAgICAgdS5xID0gZGxzeW0gKGgsICN4KTsgXAorKyAg ICAgIGlmICh1LnEgPT0gTlVMTCkgXAorKwlyZXR1cm4gZmFsc2U7IFwKKysgICAgICBpc2xfcG9p bnRlcnNfXy5wXyMjeCA9IHUucDsgXAorKyAgICB9IFwKKysgIHdoaWxlICgwKQorKyAgRFlOU1lN UworKyN1bmRlZiBEWU5TWU0KKysgIGlzbF9wb2ludGVyc19fLmluaXRlZCA9IHRydWU7CisrICBy ZXR1cm4gdHJ1ZTsKKyt9CisrCisgLyogUHJpbnQgZ2xvYmFsIHN0YXRpc3RpY3MgdG8gRklMRS4g ICovCisgCisgc3RhdGljIHZvaWQKK0BAIC0zNjUsNiArMzk0LDE1IEBAIGdyYXBoaXRlX3RyYW5z Zm9ybV9sb29wcyAodm9pZCkKKyAgIGlmIChwYXJhbGxlbGl6ZWRfZnVuY3Rpb25fcCAoY2Z1bi0+ ZGVjbCkpCisgICAgIHJldHVybjsKKyAKKysgIGlmIChudW1iZXJfb2ZfbG9vcHMgKGNmdW4pIDw9 IDEpCisrICAgIHJldHVybjsKKysKKysgIGlmICghaW5pdF9pc2xfcG9pbnRlcnMgKCkpCisrICAg IHsKKysgICAgICBzb3JyeSAoIkdyYXBoaXRlIGxvb3Agb3B0aW1pemF0aW9ucyBjYW5ub3QgYmUg dXNlZCIpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworICAgY2FsY3VsYXRlX2RvbWluYW5j ZV9pbmZvIChDRElfRE9NSU5BVE9SUyk7CisgCisgICAvKiBXZSByZWx5IG9uIHBvc3QtZG9taW5h dG9ycyBkdXJpbmcgbWVyZ2luZyBvZiBTRVNFIHJlZ2lvbnMgc28gdGhvc2UKK0BAIC00NTUsNiAr NDkzLDE0IEBAIGdyYXBoaXRlX3RyYW5zZm9ybV9sb29wcyAodm9pZCkKKyAgICAgfQorIH0KKyAK Kytjb25zdCBjaGFyICoKKytnZXRfaXNsX3ZlcnNpb24gKGJvb2wgZm9yY2UpCisreworKyAgaWYg KGZvcmNlKQorKyAgICBpbml0X2lzbF9wb2ludGVycyAoKTsKKysgIHJldHVybiAoaXNsX3BvaW50 ZXJzX18uaW5pdGVkICYmIGlzbF92ZXJzaW9uKSA/IGlzbF92ZXJzaW9uICgpIDogIm5vbmUiOwor K30KKysKKyAjZWxzZSAvKiBJZiBpc2wgaXMgbm90IGF2YWlsYWJsZTogI2lmbmRlZiBIQVZFX2lz bC4gICovCisgCisgc3RhdGljIHZvaWQKKy0tLSBnY2MvdG9wbGV2LmMuamoJMjAxNy0wMi0xOSAx MzowMjozMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvdG9wbGV2LmMJMjAxNy0wMi0xOSAxNjo1 MDoyNS41MzYzMDEzNTAgKzAxMDAKK0BAIC05NCw2ICs5NCw3IEBAIGFsb25nIHdpdGggR0NDOyBz ZWUgdGhlIGZpbGUgQ09QWUlORzMuCisgCisgI2lmZGVmIEhBVkVfaXNsCisgI2luY2x1ZGUgPGlz bC92ZXJzaW9uLmg+CisrZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9pc2xfdmVyc2lvbiAoYm9vbCk7 CisgI2VuZGlmCisgCisgc3RhdGljIHZvaWQgZ2VuZXJhbF9pbml0IChjb25zdCBjaGFyICosIGJv b2wpOworQEAgLTY4Myw3ICs2ODQsNyBAQCBwcmludF92ZXJzaW9uIChGSUxFICpmaWxlLCBjb25z dCBjaGFyICppCisgI2lmbmRlZiBIQVZFX2lzbAorIAkgICAibm9uZSIKKyAjZWxzZQorLQkgICBp c2xfdmVyc2lvbiAoKQorKwkgICBnZXRfaXNsX3ZlcnNpb24gKCppbmRlbnQgPT0gMCkKKyAjZW5k aWYKKyAJICAgKTsKKyAgIGlmIChzdHJjbXAgKEdDQ19HTVBfU1RSSU5HSUZZX1ZFUlNJT04sIGdt cF92ZXJzaW9uKSkKCmRpZmYgLS1naXQgYS9nY2MxMi1pc2wtZGwyLnBhdGNoIGIvZ2NjMTItaXNs LWRsMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTY2NzJjCi0t LSAvZGV2L251bGwKKysrIGIvZ2NjMTItaXNsLWRsMi5wYXRjaApAQCAtMCwwICsxLDcxIEBACisy MDExLTA0LTA0ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSogdG9wbGV2 LmMgKHRvcGxldl9tYWluX2FyZ3YpOiBOZXcgdmFyaWFibGUuCisJKHRvcGxldl9tYWluKTogSW5p dGlhbGl6ZSBpdC4KKwkqIGdyYXBoaXRlLmMgKGluaXRfaXNsX3BvaW50ZXJzKTogTG9hZCBsaWJp c2wuc28uMTUgZnJvbSBnY2MncyBwcml2YXRlCisJZGlyZWN0b3J5LgorCistLS0gZ2NjL3RvcGxl di5jLmpqCTIwMDgtMTItMDkgMjM6NTk6MTAuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL3RvcGxl di5jCTIwMDktMDEtMjcgMTQ6MzM6NTIuMDAwMDAwMDAwICswMTAwCitAQCAtMTEzLDYgKzExMyw4 IEBAIHN0YXRpYyB2b2lkIGZpbmFsaXplIChib29sKTsKKyBzdGF0aWMgdm9pZCBjcmFzaF9zaWdu YWwgKGludCkgQVRUUklCVVRFX05PUkVUVVJOOworIHN0YXRpYyB2b2lkIGNvbXBpbGVfZmlsZSAo dm9pZCk7CisgCisrY29uc3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7CisrCisgLyogRGVjb2Rl ZCBvcHRpb25zLCBhbmQgbnVtYmVyIG9mIHN1Y2ggb3B0aW9ucy4gICovCisgc3RydWN0IGNsX2Rl Y29kZWRfb3B0aW9uICpzYXZlX2RlY29kZWRfb3B0aW9uczsKKyB1bnNpZ25lZCBpbnQgc2F2ZV9k ZWNvZGVkX29wdGlvbnNfY291bnQ7CitAQCAtMjIzOSw2ICsyMjQxLDggQEAgdG9wbGV2OjptYWlu IChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgICBleHBhbmRhcmd2ICgmYXJnYywgJmFyZ3Yp OworIAorKyAgdG9wbGV2X21haW5fYXJndiA9IENPTlNUX0NBU1QyIChjb25zdCBjaGFyICoqLCBj aGFyICoqLCBhcmd2KTsKKysKKyAgIC8qIEluaXRpYWxpemF0aW9uIG9mIEdDQydzIGVudmlyb25t ZW50LCBhbmQgZGlhZ25vc3RpY3MuICAqLworICAgZ2VuZXJhbF9pbml0IChhcmd2WzBdLCBtX2lu aXRfc2lnbmFscyk7CisgCistLS0gZ2NjL2dyYXBoaXRlLmMuamoJMjAxMC0xMi0wMSAxMDoyNDoz Mi4wMDAwMDAwMDAgLTA1MDAKKysrKyBnY2MvZ3JhcGhpdGUuYwkyMDEwLTEyLTAxIDExOjQ2OjA3 LjgzMjExODE5MyAtMDUwMAorQEAgLTY0LDExICs2NCwzOSBAQCBfX3R5cGVvZiAoaXNsX3BvaW50 ZXJzX18pIGlzbF9wb2ludGVyc19fCisgc3RhdGljIGJvb2wKKyBpbml0X2lzbF9wb2ludGVycyAo dm9pZCkKKyB7CistICB2b2lkICpoOworKyAgdm9pZCAqaCA9IE5VTEw7CisrICBleHRlcm4gY29u c3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7CisrICBjaGFyICpidWYsICpwOworKyAgc2l6ZV90 IGxlbjsKKyAKKyAgIGlmIChpc2xfcG9pbnRlcnNfXy5pbml0ZWQpCisgICAgIHJldHVybiBpc2xf cG9pbnRlcnNfXy5oICE9IE5VTEw7CistICBoID0gZGxvcGVuICgibGliaXNsLnNvLjE1IiwgUlRM RF9MQVpZKTsKKysgIGxlbiA9IHByb2duYW1lIC0gdG9wbGV2X21haW5fYXJndlswXTsKKysgIGJ1 ZiA9IFhBTExPQ0FWQVIgKGNoYXIsIGxlbiArIHNpemVvZiAibGliaXNsLnNvLjE1Iik7CisrICBt ZW1jcHkgKGJ1ZiwgdG9wbGV2X21haW5fYXJndlswXSwgbGVuKTsKKysgIHN0cmNweSAoYnVmICsg bGVuLCAibGliaXNsLnNvLjE1Iik7CisrICBsZW4gKz0gc2l6ZW9mICJsaWJpc2wuc28uMTUiOwor KyAgcCA9IHN0cnN0ciAoYnVmLCAiL2xpYmV4ZWMvIik7CisrICBpZiAocCAhPSBOVUxMKQorKyAg ICB7CisrICAgICAgd2hpbGUgKDEpCisrCXsKKysJICBjaGFyICpxID0gc3Ryc3RyIChwICsgOCwg Ii9saWJleGVjLyIpOworKwkgIGlmIChxID09IE5VTEwpCisrCSAgICBicmVhazsKKysJICBwID0g cTsKKysJfQorKyAgICAgIG1lbW1vdmUgKHAgKyA0LCBwICsgOCwgbGVuIC0gKHAgKyA4IC0gYnVm KSk7CisrICAgICAgaCA9IGRsb3BlbiAoYnVmLCBSVExEX0xBWlkpOworKyAgICAgIGlmIChoID09 IE5VTEwpCisrCXsKKysJICBsZW4gPSBwcm9nbmFtZSAtIHRvcGxldl9tYWluX2FyZ3ZbMF07Cisr CSAgbWVtY3B5IChidWYsIHRvcGxldl9tYWluX2FyZ3ZbMF0sIGxlbik7CisrCSAgc3RyY3B5IChi dWYgKyBsZW4sICJsaWJpc2wuc28uMTUiKTsKKysJfQorKyAgICB9CisrICBpZiAoaCA9PSBOVUxM KQorKyAgICBoID0gZGxvcGVuIChidWYsIFJUTERfTEFaWSk7CisgICBpc2xfcG9pbnRlcnNfXy5o ID0gaDsKKyAgIGlmIChoID09IE5VTEwpCisgICAgIHJldHVybiBmYWxzZTsKCmRpZmYgLS1naXQg YS9nY2MxMi1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoIGIvZ2NjMTItbGliZ29tcC1vbXBf aC1tdWx0aWxpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGU5 OGQxCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTItbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRj aApAQCAtMCwwICsxLDE3IEBACisyMDA4LTA2LTA5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVk aGF0LmNvbT4KKworCSogb21wLmguaW4gKG9tcF9uZXN0X2xvY2tfdCk6IEZpeCB1cCBmb3IgTGlu dXggbXVsdGlsaWJzLgorCistLS0gbGliZ29tcC9vbXAuaC5pbi5qagkyMDA4LTA2LTA5IDEzOjM0 OjA1LjAwMDAwMDAwMCArMDIwMAorKysrIGxpYmdvbXAvb21wLmguaW4JMjAwOC0wNi0wOSAxMzoz NDo0OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC00Miw4ICs0Miw4IEBAIHR5cGVkZWYgc3RydWN0Cisg CisgdHlwZWRlZiBzdHJ1Y3QKKyB7CistICB1bnNpZ25lZCBjaGFyIF94W0BPTVBfTkVTVF9MT0NL X1NJWkVAXSAKKy0gICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oQE9NUF9ORVNUX0xPQ0tf QUxJR05AKSkpOworKyAgdW5zaWduZWQgY2hhciBfeFs4ICsgc2l6ZW9mICh2b2lkICopXSAKKysg ICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mICh2b2lkICopKSkpOworIH0gb21w X25lc3RfbG9ja190OworICNlbmRpZgorIAoKZGlmZiAtLWdpdCBhL2djYzEyLWxpYnN0ZGMrKy1k b2NzLnBhdGNoIGIvZ2NjMTItbGlic3RkYysrLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uMjVhYTcxOAotLS0gL2Rldi9udWxsCisrKyBiL2djYzEyLWxpYnN0 ZGMrKy1kb2NzLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKKy0tLSBsaWJzdGRjKystdjMvZG9jL2h0 bWwvaW5kZXguaHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjI4MjgyOTAxMCArMDEwMAorKysr IGxpYnN0ZGMrKy12My9kb2MvaHRtbC9pbmRleC5odG1sCTIwMTEtMDEtMDQgMTg6MDY6MjguOTk5 ODUxMTQ1ICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAgICAgICA8YSBjbGFzcz0ibGluayIgaHJl Zj0iaHR0cHM6Ly93d3cuZnNmLm9yZyIgdGFyZ2V0PSJfdG9wIj5GU0YKKyAgICAgICA8L2E+Cisg ICAgIDwvcD48cD4KKysgICAgICBSZWxlYXNlIDEyLjAuMAorKyAgICA8L3A+PHA+CisgICAgICAg UGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0 aGlzCisgICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1 bWVudGF0aW9uCisgICAgICAgTGljZW5zZSwgVmVyc2lvbiAxLjIgb3IgYW55IGxhdGVyIHZlcnNp b24gcHVibGlzaGVkIGJ5IHRoZQorLS0tIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9hcGkuaHRtbC5q agkyMDExLTAxLTAzIDEyOjUzOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYnN0ZGMrKy12My9k b2MvaHRtbC9hcGkuaHRtbAkyMDExLTAxLTA0IDE4OjEyOjAxLjY3Mjc1Nzc4NCArMDEwMAorQEAg LTIwLDcgKzIwLDkgQEAKKyAgIG1lbWJlciBmdW5jdGlvbnMgZm9yIHRoZSBsaWJyYXJ5IGNsYXNz ZXMsIGZpbmRpbmcgb3V0IHdoYXQgaXMgaW4gYQorICAgcGFydGljdWxhciBpbmNsdWRlIGZpbGUs IGxvb2tpbmcgYXQgaW5oZXJpdGFuY2UgZGlhZ3JhbXMsIGV0Yy4KKyA8L3A+PHA+CistICBUaGUg QVBJIGRvY3VtZW50YXRpb24sIHJlbmRlcmVkIGludG8gSFRNTCwgY2FuIGJlIHZpZXdlZCBvbmxp bmUKKysgIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBjYW4gYmUg dmlld2VkIGxvY2FsbHkKKysgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJhcGkvaW5kZXguaHRtbCIg dGFyZ2V0PSJfdG9wIj5mb3IgdGhlIDEyLjAuMCByZWxlYXNlPC9hPiwKKysgIG9ubGluZQorICAg PGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzLyIgdGFy Z2V0PSJfdG9wIj5mb3IgZWFjaCBHQ0MgcmVsZWFzZTwvYT4KKyAgIGFuZAorICAgPGEgY2xhc3M9 ImxpbmsiIGhyZWY9Imh0dHA6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2xpYnN0ZGMrKy9sYXRl c3QtZG94eWdlbi9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPgoKZGlmZiAtLWdpdCBhL2djYzEy LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2ggYi9nY2MxMi1saWJ0b29sLW5vLXJwYXRoLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NmM2NjEKLS0tIC9kZXYvbnVsbAor KysgYi9nY2MxMi1saWJ0b29sLW5vLXJwYXRoLnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK2xpYnRv b2wgc3Vja3MuCistLS0gbHRtYWluLnNoLmpqCTIwMDctMTItMDcgMTQ6NTM6MjEuMDAwMDAwMDAw ICswMTAwCisrKysgbHRtYWluLnNoCTIwMDgtMDktMDUgMjE6NTE6NDguMDAwMDAwMDAwICswMjAw CitAQCAtNTM5NCw2ICs1Mzk0LDcgQEAgRU9GCisgCSAgcnBhdGg9IiRmaW5hbGl6ZV9ycGF0aCIK KyAJICB0ZXN0ICIkbW9kZSIgIT0gcmVsaW5rICYmIHJwYXRoPSIkY29tcGlsZV9ycGF0aCRycGF0 aCIKKyAJICBmb3IgbGliZGlyIGluICRycGF0aDsgZG8KKysJICAgIGNhc2UgIiRsaWJkaXIiIGlu IC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGliLy4uL2xpYjY0KSBj b250aW51ZTs7IGVzYWMKKyAJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19z cGVjIjsgdGhlbgorIAkgICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRv ciI7IHRoZW4KKyAJCWlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorQEAgLTYw NzEsNiArNjA3Miw3IEBAIEVPRgorICAgICAgIHJwYXRoPQorICAgICAgIGhhcmRjb2RlX2xpYmRp cnM9CisgICAgICAgZm9yIGxpYmRpciBpbiAkY29tcGlsZV9ycGF0aCAkZmluYWxpemVfcnBhdGg7 IGRvCisrCWNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9saWIvLi4v bGlifC91c3IvbGliLy4uL2xpYjY0KSBjb250aW51ZTs7IGVzYWMKKyAJaWYgdGVzdCAtbiAiJGhh cmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2Rl X2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCisgCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGli ZGlycyI7IHRoZW4KK0BAIC02MTIwLDYgKzYxMjIsNyBAQCBFT0YKKyAgICAgICBycGF0aD0KKyAg ICAgICBoYXJkY29kZV9saWJkaXJzPQorICAgICAgIGZvciBsaWJkaXIgaW4gJGZpbmFsaXplX3Jw YXRoOyBkbworKwljYXNlICIkbGliZGlyIiBpbiAvdXNyL2xpYnwvdXNyL2xpYjY0fC91c3IvbGli Ly4uL2xpYnwvdXNyL2xpYi8uLi9saWI2NCkgY29udGludWU7OyBlc2FjCisgCWlmIHRlc3QgLW4g IiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgorIAkgIGlmIHRlc3QgLW4gIiRoYXJk Y29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorIAkgICAgaWYgdGVzdCAteiAiJGhhcmRjb2Rl X2xpYmRpcnMiOyB0aGVuCgpkaWZmIC0tZ2l0IGEvZ2NjMTItbm8tYWRkLW5lZWRlZC5wYXRjaCBi L2djYzEyLW5vLWFkZC1uZWVkZWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNTgxNzI5OQotLS0gL2Rldi9udWxsCisrKyBiL2djYzEyLW5vLWFkZC1uZWVkZWQucGF0 Y2gKQEAgLTAsMCArMSwzNyBAQAorMjAxMC0wMi0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRA cmVkaGF0LmNvbT4KKworCSogY29uZmlnL2dudS11c2VyLmggKExJTktfRUhfU1BFQyk6IFBhc3Mg LS1uby1hZGQtbmVlZGVkIHRvIHRoZSBsaW5rZXIuCisJKiBjb25maWcvYWxwaGEvZWxmLmggKExJ TktfRUhfU1BFQyk6IExpa2V3aXNlLgorCSogY29uZmlnL2lhNjQvbGludXguaCAoTElOS19FSF9T UEVDKTogTGlrZXdpc2UuCisKKy0tLSBnY2MvY29uZmlnL2FscGhhL2VsZi5oLmpqCTIwMTEtMDEt MDMgMTI6NTI6MzEuMTE4MDU2NzY0ICswMTAwCisrKysgZ2NjL2NvbmZpZy9hbHBoYS9lbGYuaAky MDExLTAxLTA0IDE4OjE0OjEwLjkzMTg3NDE2MCArMDEwMAorQEAgLTE2OCw1ICsxNjgsNSBAQCBl eHRlcm4gaW50IGFscGhhX3RoaXNfZ3BkaXNwX3NlcXVlbmNlX251CisgICAgSSBpbWFnaW5lIHRo YXQgb3RoZXIgc3lzdGVtcyB3aWxsIGNhdGNoIHVwLiAgSW4gdGhlIG1lYW50aW1lLCBpdAorICAg IGRvZXNuJ3QgaGFybSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZGF0YSBleGlzdHMgdG8gYmUgdXNl ZCBsYXRlci4gICovCisgI2lmIGRlZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIpCistI2RlZmlu ZSBMSU5LX0VIX1NQRUMgIiV7IXN0YXRpY3xzdGF0aWMtcGllOi0tZWgtZnJhbWUtaGRyfSAiCisr I2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWN8c3RhdGljLXBp ZTotLWVoLWZyYW1lLWhkcn0gIgorICNlbmRpZgorLS0tIGdjYy9jb25maWcvaWE2NC9saW51eC5o LmpqCTIwMTEtMDEtMDMgMTM6MDI6MTEuNDYyOTk0NTIyICswMTAwCisrKysgZ2NjL2NvbmZpZy9p YTY0L2xpbnV4LmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzE4NzQxNjAgKzAxMDAKK0BAIC03Niw3 ICs3Niw3IEBAIGRvIHsJCQkJCQlcCisgICAgU2lnbmFsaXplIHRoYXQgYmVjYXVzZSB3ZSBoYXZl IGZkZS1nbGliYywgd2UgZG9uJ3QgbmVlZCBhbGwgQyBzaGFyZWQgbGlicworICAgIGxpbmtlZCBh Z2FpbnN0IC1sZ2NjX3MuICAqLworICN1bmRlZiBMSU5LX0VIX1NQRUMKKy0jZGVmaW5lIExJTktf RUhfU1BFQyAiIgorKyNkZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVkZWQgIgorIAor ICN1bmRlZiBUQVJHRVRfSU5JVF9MSUJGVU5DUworICNkZWZpbmUgVEFSR0VUX0lOSVRfTElCRlVO Q1MgaWE2NF9zb2Z0X2ZwX2luaXRfbGliZnVuY3MKKy0tLSBnY2MvY29uZmlnL2dudS11c2VyLmgu amoJMjAxMS0wMS0wMyAxMjo1MzowMy43MzkwNTcyOTkgKzAxMDAKKysrKyBnY2MvY29uZmlnL2du dS11c2VyLmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzI4MTQ4ODQgKzAxMDAKK0BAIC0xMDYsNyAr MTA2LDcgQEAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USQorICNkZWZp bmUgTElCX1NQRUMgR05VX1VTRVJfVEFSR0VUX0xJQl9TUEVDCisgCisgI2lmIGRlZmluZWQoSEFW RV9MRF9FSF9GUkFNRV9IRFIpCistI2RlZmluZSBMSU5LX0VIX1NQRUMgIiV7IXN0YXRpY3xzdGF0 aWMtcGllOi0tZWgtZnJhbWUtaGRyfSAiCisrI2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRk LW5lZWRlZCAleyFzdGF0aWN8c3RhdGljLXBpZTotLWVoLWZyYW1lLWhkcn0gIgorICNlbmRpZgor IAorICNkZWZpbmUgR05VX1VTRVJfVEFSR0VUX0xJTktfR0NDX0NfU0VRVUVOQ0VfU1BFQyBcCgpk aWZmIC0tZ2l0IGEvZ2NjMTItcmgxNTc0OTM2LnBhdGNoIGIvZ2NjMTItcmgxNTc0OTM2LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiNGJlMGMKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MxMi1yaDE1NzQ5MzYucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorY3J0IGZpbGVz IGFuZCBzdGF0aWNhbGx5IGxpbmtlZCBsaWJnY2Mgb2JqZWN0cyBjYXVzZSBmYWxzZSBwb3NpdGl2 ZXMKK2luIGFubm9iaW4gY292ZXJhZ2UsIHNvIHdlIGFkZCB0aGUgYXNzZW1ibGVyIGZsYWcgdG8g Z2VuZXJhdGUgbm90ZXMKK2ZvciB0aGVtLgorCitUaGUgcGF0Y2ggYWxzbyBhZGRzIG5vdGVzIHRv IGxpYmdjY19zLnNvLCBidXQgdGhpcyBpcyBoYXJtbGVzcyBiZWNhdXNlCit0aGVzZSBub3RlcyBv bmx5IGNvbmZlciB0aGF0IHRoZXJlIGlzIG5vIG90aGVyIGFubm9iaW4gbWFya3VwLgorCisyMDE4 LTA3LTI1ICBGbG9yaWFuIFdlaW1lciAgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KKworCSogTWFrZWZp bGUuaW4gKExJQkdDQzJfQ0ZMQUdTLCBDUlRTVFVGRl9DRkxBR1MpOiBBZGQKKwktV2EsLS1nZW5l cmF0ZS1taXNzaW5nLWJ1aWxkLW5vdGVzPXllcy4KKworLS0tIGxpYmdjYy9NYWtlZmlsZS5pbgky MDE4LTAxLTEzIDEzOjA1OjQxLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYmdjYy9NYWtlZmlsZS5p bgkyMDE4LTA3LTI1IDEzOjE1OjAyLjAzNjIyNjk0MCArMDIwMAorQEAgLTI0Niw2ICsyNDYsNyBA QCBMSUJHQ0MyX0RFQlVHX0NGTEFHUyA9IC1nCisgTElCR0NDMl9DRkxBR1MgPSAtTzIgJChMSUJH Q0MyX0lOQ0xVREVTKSAkKEdDQ19DRkxBR1MpICQoSE9TVF9MSUJHQ0MyX0NGTEFHUykgXAorIAkJ ICQoTElCR0NDMl9ERUJVR19DRkxBR1MpIC1ESU5fTElCR0NDMiBcCisgCQkgLWZidWlsZGluZy1s aWJnY2MgLWZuby1zdGFjay1wcm90ZWN0b3IgXAorKwkJIC1XYSwtLWdlbmVyYXRlLW1pc3Npbmct YnVpbGQtbm90ZXM9eWVzIFwKKyAJCSAkKElOSElCSVRfTElCQ19DRkxBR1MpCisgCisgIyBBZGRp dGlvbmFsIG9wdGlvbnMgdG8gdXNlIHdoZW4gY29tcGlsaW5nIGxpYmdjYzIuYS4KK0BAIC0zMDEs NiArMzAyLDcgQEAgQ1JUU1RVRkZfQ0ZMQUdTID0gLU8yICQoR0NDX0NGTEFHUykgJChJTgorICAg JChOT19QSUVfQ0ZMQUdTKSAtZmluaGliaXQtc2l6ZS1kaXJlY3RpdmUgLWZuby1pbmxpbmUgLWZu by1leGNlcHRpb25zIFwKKyAgIC1mbm8temVyby1pbml0aWFsaXplZC1pbi1ic3MgLWZuby10b3Bs ZXZlbC1yZW9yZGVyIC1mbm8tdHJlZS12ZWN0b3JpemUgXAorICAgLWZidWlsZGluZy1saWJnY2Mg LWZuby1zdGFjay1wcm90ZWN0b3IgJChGT1JDRV9FWFBMSUNJVF9FSF9SRUdJU1RSWSkgXAorKyAg LVdhLC0tZ2VuZXJhdGUtbWlzc2luZy1idWlsZC1ub3Rlcz15ZXMgXAorICAgJChJTkhJQklUX0xJ QkNfQ0ZMQUdTKSAkKFVTRV9UTV9DTE9ORV9SRUdJU1RSWSkKKyAKKyAjIEV4dHJhIGZsYWdzIHRv IHVzZSB3aGVuIGNvbXBpbGluZyBjcnR7YmVnaW4sZW5kfS5vLgoKZGlmZiAtLWdpdCBhL2djYzEy LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2ggYi9nY2MxMi1zcGFyYy1jb25maWctZGV0ZWN0 aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMDZiMzUKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MxMi1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCkBAIC0w LDAgKzEsNDAgQEAKKy0tLSBnY2MvY29uZmlnLmdjYy5qagkyMDA4LTA0LTI0IDE1OjQyOjQ2LjAw MDAwMDAwMCAtMDUwMAorKysrIGdjYy9jb25maWcuZ2NjCTIwMDgtMDQtMjQgMTU6NDQ6NTEuMDAw MDAwMDAwIC0wNTAwCitAQCAtMjc5MCw3ICsyNzkwLDcgQEAgc3BhcmMtKi1ydGVtcyopCisgCXRt X2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBzcGFyYy9zeXN2NC5oIHNwYXJjL3Nw LWVsZi5oIHNwYXJjL3J0ZW1zZWxmLmggcnRlbXMuaCBuZXdsaWItc3RkaW50LmgiCisgCXRtYWtl X2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFyYyBzcGFyYy90LXJ0ZW1zIgorIAk7Owor LXNwYXJjLSotbGludXgqKQorK3NwYXJjLSotbGludXgqIHwgc3BhcmN2OS0qLWxpbnV4KikKKyAJ dG1fZmlsZT0iJHt0bV9maWxlfSBkYnhlbGYuaCBlbGZvcy5oIHNwYXJjL3N5c3Y0LmggZ251LXVz ZXIuaCBsaW51eC5oIGdsaWJjLXN0ZGludC5oIHNwYXJjL3Rzby5oIgorIAlleHRyYV9vcHRpb25z PSIke2V4dHJhX29wdGlvbnN9IHNwYXJjL2xvbmctZG91YmxlLXN3aXRjaC5vcHQiCisgCWNhc2Ug JHt0YXJnZXR9IGluCitAQCAtMjg0NCw3ICsyODQ0LDcgQEAgc3BhcmM2NC0qLXJ0ZW1zKikKKyAJ ZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSIKKyAJdG1ha2VfZmlsZT0iJHt0bWFrZV9m aWxlfSBzcGFyYy90LXNwYXJjIHNwYXJjL3QtcnRlbXMtNjQiCisgCTs7Cistc3BhcmM2NC0qLWxp bnV4KikKKytzcGFyYzY0Ki0qLWxpbnV4KikKKyAJdG1fZmlsZT0ic3BhcmMvYmlhcmNoNjQuaCAk e3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9zLmggc3BhcmMvc3lzdjQuaCBnbnUtdXNlci5oIGxpbnV4 LmggZ2xpYmMtc3RkaW50Lmggc3BhcmMvZGVmYXVsdDY0Lmggc3BhcmMvbGludXg2NC5oIHNwYXJj L3Rzby5oIgorIAlleHRyYV9vcHRpb25zPSIke2V4dHJhX29wdGlvbnN9IHNwYXJjL2xvbmctZG91 YmxlLXN3aXRjaC5vcHQiCisgCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFy YyBzcGFyYy90LWxpbnV4NjQiCistLS0gbGliZ2NjL2NvbmZpZy5ob3N0LmpqCTIwMDgtMDQtMjQg MTU6NDY6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbGliZ2NjL2NvbmZpZy5ob3N0CTIwMDgtMDQt MjQgMTU6NDY6NDkuMDAwMDAwMDAwIC0wNTAwCitAQCAtMTAwMiw3ICsxMDAyLDcgQEAgc3BhcmMt Ki1lbGYqKQorIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHQtZmRwYml0IHQtY3J0Zm0iCisg CWV4dHJhX3BhcnRzPSIkZXh0cmFfcGFydHMgY3J0aS5vIGNydG4ubyBjcnRmYXN0bWF0aC5vIgor IAk7OworLXNwYXJjLSotbGludXgqKQkJIyBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJj NgorK3NwYXJjLSotbGludXgqIHwgc3BhcmN2OS0qLWxpbnV4KikJCSMgU1BBUkMncyBydW5uaW5n IEdOVS9MaW51eCwgbGliYzYKKyAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSB0LWNydGZtIgor IAlpZiB0ZXN0ICIke2hvc3RfYWRkcmVzc30iID0gNjQ7IHRoZW4KKyAJCXRtYWtlX2ZpbGU9IiR0 bWFrZV9maWxlIHNwYXJjL3QtbGludXg2NCIKK0BAIC0xMDUwLDcgKzEwNTAsNyBAQCBzcGFyYzY0 LSotZnJlZWJzZCp8dWx0cmFzcGFyYy0qLWZyZWVic2QqCisgCXRtYWtlX2ZpbGU9IiR0bWFrZV9m aWxlIHQtY3J0Zm0iCisgCWV4dHJhX3BhcnRzPSIkZXh0cmFfcGFydHMgY3J0ZmFzdG1hdGgubyIK KyAJOzsKKy1zcGFyYzY0LSotbGludXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdOVS9M aW51eAorK3NwYXJjNjQqLSotbGludXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdOVS9M aW51eAorIAlleHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCisgCXRtYWtl X2ZpbGU9IiR7dG1ha2VfZmlsZX0gdC1jcnRmbSBzcGFyYy90LWxpbnV4IgorIAlpZiB0ZXN0ICIk e2hvc3RfYWRkcmVzc30iID0gNjQ7IHRoZW4KCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNl cwppbmRleCBhN2UwMTJiLi4xMDJkYWUxIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJj ZXMKQEAgLTEsNCArMSw0IEBACi1TSEE1MTIgKGdjYy0xMS4yLjEtMjAyMTEyMDMudGFyLnh6KSA9 IDNjZjY0ZDNhZjU0MWI5ZTgwYTJkNWRkOTVhMTI1N2FmZWZkYTU1NGNmYTE2Yjc1N2E3Zjg2MTcw MWUzZGEyZDY5MTdkYmIxZjRjZDc0MzAxZmZhZjQ1ZTkyYzQ0MTY0MmI4YzU4OWExMDY5OGE5MTAz YTIxNjYyMGYwODQ5NjI2CitTSEE1MTIgKGdjYy0xMi4wLjAtMjAyMjAxMDgudGFyLnh6KSA9IDQy NDgyMTFmZWFiMzk3MGQyNGIwODYyYWQ2MWY4YzA4OWFlMjEzMTFjMmI1NmIyYWMwYTI5OGNmOTEy NmIyMjU1YTRmOGJhNDQ2Nzc2ODNiYjU4NjJlMzRlMzRkNDMzZTNjNmEyMDc0N2I1NWUyNDJjNTc5 ODFmYWZjOWU5NjQxCiBTSEE1MTIgKGlzbC0wLjE4LnRhci5iejIpID0gODVkMGI0MGY0ZGJmMTRj Yjk5ZDE3YWEwNzA0OGNkY2FiMmRjM2ViNTI3ZDJmYmIxZTg0YzQxYjJkZTVmMzUxMDI1MzcwZTU3 NDQ4YjYzYjJiOGE4Y2Y4YTA4NDNhMDg5YzMyNjNmOWJhZWUxNTQyZDVjMmUxY2IzN2VkMzlkOTQK IFNIQTUxMiAobmV3bGliLWN5Z3dpbi01MGUyYTYzYjA0YmRkMDE4NDg0NjA1ZmJiOTU0ZmQxYmQ1 MTQ3ZmEwLnRhci54eikgPSAwMDJhNDhhN2I2ODlhODFhYmJmMTYxNjFiY2FlYzAwMWE4NDJlNjdk ZmJlMzcyZTllMTA5MDkyNzAzYmZjNjY2Njc1ZjE2MTk4ZjYwY2E0MjkzNzBlODg1MGQ1NjQ1NDdk YzUwNWRmODFiYzNhYWNhNGNlNmRlZmJjMDE0YWQ2YwogU0hBNTEyIChudnB0eC10b29scy01ZjZm MzQzYTMwMmQ2MjBiMDg2OGVkYWIzNzZjMDBiMTU3NDFlMzllLnRhci54eikgPSBmNmQxMGRiOTRm YTE1NzBhZTBmOTRkZjA3M2ZhM2M3M2M4ZTVlZTE2ZDU5MDcwYjUzZDk0ZjdkYjBkZThhMDMxYmM0 NGQ3ZjNmMTg1MjUzM2RhMDRiNjI1Y2U3NThlMDIyMjYzODU1ZWQ0M2NmYzY4NjdlMDcwOGQwMDFl NTNjNwoKZGlmZiAtLWdpdCBhL3VwZGF0ZS1nY2Muc2ggYi91cGRhdGUtZ2NjLnNoCmluZGV4IDY0 NGIyMDkuLjQ1OTIwNDggMTAwNzU1Ci0tLSBhL3VwZGF0ZS1nY2Muc2gKKysrIGIvdXBkYXRlLWdj Yy5zaApAQCAtMyw1ICszLDUgQEAKIGdpdCBjbG9uZSAtLWRlcHRoIDEgZ2l0Oi8vZ2NjLmdudS5v cmcvZ2l0L2djYy5naXQgZ2NjLWRpci50bXAKIGdpdCAtLWdpdC1kaXI9Z2NjLWRpci50bXAvLmdp dCBmZXRjaCAtLWRlcHRoIDEgb3JpZ2luICQxCiBkPWBkYXRlIC0taXNvIHwgc2VkICdzLy0vL2cn YAotZ2l0IC0tZ2l0LWRpcj1nY2MtZGlyLnRtcC8uZ2l0IGFyY2hpdmUgLS1wcmVmaXg9Z2NjLTEx LjIuMS0kZC8gJDEgfCB4eiAtOWUgPiBnY2MtMTEuMi4xLSRkLnRhci54egorZ2l0IC0tZ2l0LWRp cj1nY2MtZGlyLnRtcC8uZ2l0IGFyY2hpdmUgLS1wcmVmaXg9Z2NjLTEyLjAuMC0kZC8gJDEgfCB4 eiAtOWUgPiBnY2MtMTIuMC4wLSRkLnRhci54egogcm0gLXJmIGdjYy1kaXIudG1wCg==